James P Houghton

# Monocopter Avionics

01 Aug 2012

In a previous post, I wrote about the control mechanism that Woody and I put together to control the monocopter. In the end, we were able to simplify our control algorithm enough to control the vehicle with only a single axis magnetometer, and some clever math. As we went along, though, it was never clear to us exactly what we would need to measure, and what sensors we would need to do so. Our first thought was to see if we could determine instantaneous orientation and angular velocities for the vehicle. Assuming that the bulk of the angular velocity would be about the axis of rotation, we reasoned we could do this with two three axis accelerometers at a known separation on the vehicle's radius,and a three axis magnetometer. Calculating the angular velocity about the primary axis is along the lines of:
Based upon this measurement plan we put together a set of sensors and microprocessors that would allow us to read in all 9 channels of data from the sensors, four channels of input from the pilot, and two channels of actuation - one for the motor, and one for the aileron servo.
We needed to have precise control over the location of the accelerometers relative to one another, and so we laid out a pcb designed just as much for its size and mass properties as for the circuits. This image is the sensor board on top, and a 'light bar' that we used to signal the forward position down below.
We did the vast majority of our development and testing on a rotating platform that we could use to simulate the behavior of the monocopter, but still attach oscilloscope probes to when necessary. We made it from non-ferrous materials (except for the drive motor or bearings) so as not to interfere with the magnetometer signal, mostly acrylic and aluminum. To get signal from the rotating platform to the test equipment, we actually used a telephone handset swivel. The old joke 'If the answer to your question is to use a slip ring, then you're asking the wrong question...' came to mind rather frequently.
Through some experimentation, we learned that we could actually do without one of the accelerometers altogether. The oscillatory signal from one accelerometer provides enough information over a full period to predict once a period what the orientation is. The dynamics after that are predictable enough that we didn't need to measure them instantaneously:
Of course, the challenge with integrating angular velocity is that you still need to anchor the integration every revolution or so to combat drift (which was the whole point). In the end, we found that identifying 'north' once per revolution was enough for us to estimate the angular velocity, as it changes slowly relative to the number of times we find north. We then integrated from north according to the angular velocity we had backed out of the last several revolutions, and eliminated the need for accelerometers altogether (for our particular flight vehicle).

The pilot sent signals to the using a standard hobby aircraft transmitter and receiver, and we put the signal from the onboard reciever through a circuit that converted PWM signal to an analog voltage, which we put through analog and digital filters onboard the vehicle to get pitch, roll, yaw, and throttle commands. This image shows the results of an in-flight set of commands to the vehicle after analog and digital filtering, squaring the signal and minimizing noise with a deadband:
Our final control strategy looked mostly like this diagram, if you ignore the accelerometer pathways: