The result of a day of software head-bashing: getting your alleged air vehicle to behave like an awkward robot on barbiturates.

Only the Z-axis yaw controller is complete at the moment, and it still needs some tuning. The job of this controller is to keep the yaw rate of the vehicle under pilot control – such that it doesn’t spin in place and can track (relatively) straight. It adds an equal constant offset to the tilt angle of all the fans as to induce a spin about the vehicle’s vertical axis. This has a few issues – namely the gyro is a 300 degree per second full scale type, and this vehicle should never, ever be going 300 degrees per second in any direction. Hence, I really get to use only a few least-significant-bits (LSBs) of the analog reading from the sensor, making the control a little granular. I still need to play with filter speeds and gains as a result, but it’s kind of working.

The fans are otherwise controlled open-loop by the aileron and elevator sticks of a standard airplane radio. The Z command is mixed into the directional command. Otherwise, I haven’t coded up the pitch and roll controllers yet – hence my desire to stick to the ground and apply just barely enough throttle for the vehicle to break friction. The vehicle’s controls were therefore a rotation rate on the Rudder stick, and two planar translations using the right stick.

As seen in the video, it’s distinctly right-side heavy, so I’ll shuffle batteries around until it’s mostly balanced without a controller.

Tomorrow comes diddling with the Two Orthogonal Segways part of a quadrotor: Two Orthogonal Segways and a Robot.