Last week I got paid! And immediately blew a hundred quid on parts for the UAV project.
I’ve already got an airframe, speed controller, and a Turnigy 9x TX/RX pair. Unfortunately the Turnigy is bust (thanks, China!) so I needed a better solution. Rather than go crazy and buy an expensive RX/TX paid I decided I’d roll my own solution using some off the shelf parts. The core of this is a board from Adafruit which will drive 12 PWM or servo outputs from I2C, plus a Raspberry Pi SBC and an XMOS XC-1A development board.
The basic idea is this – the Raspberry Pi will be handling overall flight planning, network interfacing (via 802.11 wireless) and communications with the ground station. It will also handle processing of filtered sensor data. It will communicate via UART with the XMOS silicon device, which will be handling the sensor filtering and the actual flight control loop. The XMOS silicon (a 4-core, 1200 MIPS chip) is fast and should be able to produce a really, really tightly managed control loop for flight dynamics (control surface management vs incoming sensor data etc). The XMOS gets told what heading to fly and speed, altitude etc by the Raspberry Pi.
It’s a bit of an odd approach but I have high hopes for it (if I can get it all to fit in the fuselage without too much bodging). The split architecture will let me do some complex stuff in the flight planning side of things with a simple API to the flight dynamics done in the XMOS chip, so much of my project can be in higher level languages like Python rather than messing around in C all the time.
Once I get the parts and integrate it all on the bench I’ll post an update here – should be fun!