A Milestone for Java

On October 4, 2006, the JAviator team of the Computational Systems Group at the Department of Computer Sciences of the University of Salzburg, Austria, performed the first all-Java flight within the scope of a five-day visit of David Bacon and Joshua Auerbach from the IBM Thomas J. Watson Research Center in Hawthorne, New York, USA. The JAviator was controlled by software entirely written in Java running on top of IBM's Metronome-based Java virtual machine. An Atmega128 microcontroller, located onboard the helicopter on a Robostix, sends the sampled gyro and sonar data via a serial connection to a Linux system running the control software. This control software can be run either on some ground station, as done in the demos, or onboard the helicopter on an XScale processor located on a Gumstix. It computes the motor signals and sends them to the Atmega128 microcontroller that generates the corresponding PWM signals for the motors. The Java-based Control Terminal, used to manually navigate the JAviator and display its current attitude and altitude, is connected to the control software via Ethernet and can be run on any machine. The control software is instrumented with TuningFork instructions to enable real-time traces of the entire control system, usually displayed on a separate computer connected via Ethernet. In order to ensure sufficient protection against unexpected behavior of the JAviator, a very simple launching tower was used for the demos. This protection frame mainly consisted of four aluminum tubes that allowed only a small degree of freedom in the x-y-plane and approximately 80cm in the z-axis. The first picture was taken in Rainer's office after the first all-Java flight, the second one shows how the JAviator was clamped inside the protection frame, and the remaining pictures were taken during the final demo session performed in a larger room.


Video Clips

The first video was taken spontaneously while performing an initial test in Rainer's office. At that time, no one in the group knew whether our Java-based control system would work as expected. To our happiness, it worked properly in every aspect without showing any troubles, hence resulting in the first successful all-Java flight. So, everyone of us was very excited and looking forward to the actual demo session scheduled for the day after.


If your media player cannot interpret the video clips properly, you might need to install the freeware Xvid Video Codec from Xvid Solutions.

The protection frame used to restrict the JAviator's freedom of movement also raised a serious problem, specifically, the eight mounting clamps running over the four aluminum tubes incurred considerable resistance that influenced the control mechanism, and of course, primarily the altitude control. So we had to re-adjust the altitude controller to overcome this burden and enable faster response times. The short video clip shows the behavior gained from much too aggressive controller settings.

Acknowledgements

Many thanks to Bernhard Kast for taking pictures of this special event.