Autonomous Helicopter from M W on Vimeo.
Recently we've seen a couple of really interesting university projects where quadcopters are controlled in motion capture stages. The video above demonstrates my progress while working at the USC Institute for Creative Technologies this summer over the course of about 2-3 weeks, to show that even cheap models can be controlled in motion capture stages, and some progress toward innovative control mechanisms (following a gloved hand).
Technical:
The model is a HorizonHobby: Blade CX2 RTF Electric Coaxial Micro Helicopter controlled via a Spektrum DX5e receiving servo signals through an Endurance RC PCTx from a PC computer. The software running on the computer consists of a VRPN (Virtual Reality Peripheral Network) middle wear program that takes data from a Phase Space Motion Capture Stage OWL Server and outputs clean model position data (x,y,z and heading) to a VR engine written to Dr. Evan Suma. The model is controlled by 4 PID loops, one each for the X,Y,Z, and heading variables and includes adjustable clamps, offsets, ramps, throws, trims, and other functionality to make it easier to tune and adjust the control loops. All of these values are adjusted easily by editing a text document that is read-in to the software every time it is executed, to prevent a recompilation whenever any values need to be adjusted (Often when manually tuning a PID loop!). Also, included in the control code is a trapezoidal function that smooths
deltas to the PID loops to prevent shocks to the control system (thanks to Marc Bolas for that suggestion!).
The PID outputs are then sent over a USB Human Interface Device to the PCTx, converted to PWM and PPM signals, sent to the TX, through the RX and eventually arrive at the servos and motor controller and make the helicopter move as desired.
The oscillations you will see in the video footage indicate that the PID loops are NOT critically damped (ie they need to be better tuned). But I believe that for two weeks of work that's pretty good performance for an inexpensive single rotor helicopter.
Hope you enjoy!
P.S. With luck code and a build log may be released soon, stay tuned!