Our avionics system will contain the following features:
- Autonomous navigation via waypoints
- No-fly zone enforcement
- Computer assisted obstacle avoidance
- Optional autonomous obstacle avoidance
We believe that abstraction and modularity are critical to any system, especially in the UAVForge competition. These concepts will allow us to be flexible in the event of a last minute airframe design (a likely event in such a short design and build period), if a hardware component fails, or if challenges arise during software development that necessitate a feature reduction. Last, modularity is especially applicable to the icarusLabs team; we need to integrate the efforts of team members spread across five different states.
In the spirit of the UAVForge competition, icarusLabs has decided to use open source products with large user bases whenever possible.
At the core of our avionics system is the ArduPilotMega autopilot hardware and ArduPlane and ArduCopter software systems from the DIYDrones community. The ArduPilotMega contains all the flight critical sensors, software, and hardware. If all other avionics components fail, the autopilot will still be able to safely land the airplane. The autopilot will also abstract away the flight dynamics from all other avionics components and allow the vehicle to be controlled in terms of waypoints and flight corridors.
Single Board Computer
If the ArduPilotMega can be viewed as our low level controller, our single board computer can be viewed as the high level controller. The BeagleBoard-xM will most likely be the hardware component chosen for the computer. This computer will be responsible primarily for vision processing to identify potential obstacles in the flight path of the vehicle. If an obstacle is detected, the computer will be responsible for planning a path around it. If the autonomous obstacle avoidance feature is enabled, the computer will automatically take control if the vehicle is in danger and navigate around obstacles. The computer will also be responsible for vision processing during landing to identify potential landing sites and ensure highly accurate landings.
The computer will relay waypoints and flight corridors to the autopilot for it to follow.
To many in the amateur UAV pilot community, it may seem unnecessary or overkill to include the amount of computing power provided by the BeagleBoard on our vehicle. Indeed, many UAVForge teams will not include such a device and will be very competitive teams. icarusLabs decided to include this computer for several reasons. First, we are unsatisfied with the status quo of UAVs having minimal onboard computing power and relying on ground stations for processor intensive tasks. Second, we want our vehicle to not only be safe during a communications blackout, but also still progress toward completing mission objectives. Third, our team has a number of members with specialties in robotics and computer science. In order to produce a vehicle that fulfills our high expectations of autonomous systems, we need a computer on board. Last, at our vehicle’s planned cruise speed we will not have much time to identify an obstacle and avoid it. Putting a computer on the vehicle will cut down on the latency between taking a picture and taking actions to avoid detected obstacles.
All communications with the UAV will be done using modified 802.11 wireless transcievers. The extended range needed for the competition requirements will be achieved through the use of directional high-gain antennas and amplifiers, if needed. Amateur Radio licensing allows these transcievers to be used at a higher power output than is normally allowed by unlicensed devices.