Jack Crossfire's blog View Details
Archive for January, 2007 - Page 2
Posted by Jack Crossfire | Jan 04, 2007 @ 12:45 AM | 5,344 Views
So the PIC18F458 is officially disqualified from autopilot functions. It could probably do it if you spent years optimizing 16 bit fixed point math in assembly.

After an attempt to write 16 bit floating point routines and an encounter with exponential complexity, tried 32 bit fixed point floats for the math.

bits 31:16 -> whole part
bits 15:0 -> fractional part

That ended with a very hard problem with the square root function. Next came IEEE floating point with the pcc18 compiler.

The PIC didn't have enough memory for even the inertial navigation section. It would need at least 3k RAM to perform the inertial navigation, GPS, and flight rules. Math tests with smaller variables showed a 48Mhz PIC could probably run the autopilot loop 19 times/second. It was questionable if that integration step was fast enough for useful solutions.

The next solution will be an ARM9 board. Much heavier and more expensive.

Next was our first copter inversion. Inversion in a fixed pitch copter at low altitude is fatal. Was doing routine pirouettes, flying sideways faster and faster, when on one pass it seemed to resist sideways cyclic. Pushed a bit harder when for no apparent reason it suddenly inverted.

It was inverted, heading towards the pilot and down. Not enough room to pull up.

Finally dreamed about copters. Dreamed about riding with a professional pilot. For some reason the professional pilot started flying backwards real fast, right after takeoff.