I was able to (finally) get the Drone into the air last week and it went very well!
The control system successfully stabilised the plane and directed it towards the desired waypoints.
The flight time was cut short at around 11 minutes due to rain however this short flight has demonstrated the core capabilities of the control system.
Lots of progress since the last update.
- The Ground Station is now mostly working.
- The FPGA based autopilot is now at a stage where it is ready for gain tuning, ground testing and semi autonomous flight.
- Interface electronics has been debugged and is almost complete.
I put the drone in the back of the car and took it for a ride around the block. Everything seems to be working which is fantastic!
Screen shot of the ground station, there seems to be some discrepancy between what the GPS is telling me and the location shown Google Earth. I am fairly confident that the GPS is reading correctly so I have a feeling that this could be an inaccuracy in Google Earth (more investigation needed though).
Mounted autopilot, the bottom board is the NI-sbRIO 9606 and the top board is the custom interface daughter card that has:
- Four RS232 ports
- Four I2C
- Eight 12 Bit A to D converters
- 10 PWM in
- 10 PWM out (with high current 6V rail)
- Dual redundant power supply inputs
- Digi 9Xtend 1W RF modem
- 5 High current relay outputs
- 25 General 5V IO
So far I have been working on the general architecture of the ground station as well as some Google Earth functionality.
The ground station's architecture is centered around "missions", a mission is a collection of information pertaining to a single flight.
A mission currently contains the following information.
- Flight initialisation information (i.e. where do you want to start from).
- Flight waypoints.
- Mission Boundaries.
- Points of interest.
- Recorded flight data (recorded path, speed etc).
The following series of screen shots shows the flow of the ground station program from initialisation to main interface.
Single Board RIO 9606
National Instruments is providing Rescue Robotics with a sbRIO-9606 embedded computer & software for the 2011/12 Outback UAV Challenge.
The main features of the 9606:
- 400 MHz processor with real time OS.
- 512 MB nonvolatile storage, 256 MB DRAM.
- Xilinx Spartan-6 LX45 FPGA.
- 96 3.3 V configurable DIO lines.
- Mezzanine connector to interface FPGA with custom daughter board.
- 10.3cm x 9.65cm dimensions.
- Can be fully programmed in LabVIEW
More on product page here: http://sine.ni.com/nips/cds/view/p/lang/en/nid/210003
Just a quick update on the status of the IP camera vision software. I have added/fixed the following things:
- Will now auto re-establish connection between the camera/ground station if the link is lost and then found again.
- Any footage being recorded will continue once camera connection is re-established.
- User inputs required for initialisation have been moved to a dialog box that is shown only at program start.
- General interface neatening.
- Cleanup of the code.
Here are some screen shots:
This is the main interface, i have cleaned up and re-styled it. The empty white box on the left is where the controls/indicators for the target acquisition system will be going.
I have knocked up a quick little labVIEW app to do the following things:
- Acquire images from a Axis 207MW IP camera (wireless).
- Snap photos and save them to file with a meaningful name.
- Option to automatically save each frame as a .jpg (to create mosaics).
- Record .AVI files of live flights to disk.
- Perform target acquisition (for the OBC).