Skip to content
Lucas Young edited this page Oct 13, 2018 · 5 revisions

Concept

  • Quick Scan - A vehicle flies over the entire search area, finds POIs, and sends POIs to Mission Control. We are aiming for this vehicle to be a VTOL.
  • Detailed Search - A vehicle (likely quadcopter) receives POIs from MissionControl, flies directly to them, and hovers to perform a detailed search of the POI. This detailed search verifies whether the POI is a false positive and finds descriptive features about the POI (length/width/height).

Hardware

  • VTOL - A Vertical Takeoff and Landing vehicle. A VTOL combines the functionality of a quadcopter with a fixed-wing airplane. It takes off vertically using rotors and then transitions to a fixed-wing plane once it reaches altitude.
  • Raspberry Pi - A cheap, low-power ARM computer carried on the VTOL. Has multiple USB ports and pins used to drive hardware. All of our software is developed with the intention of being run on a Raspberry Pi.
  • RasPiCam - The camera that connects to a Raspberry Pi. Comes along with an easy-to-use Python API.
  • Pixhawk - A microcontroller that controls the VTOL's sensors and actuators. Used to run autopilot software (ArduPilot). Our software communicates with the Pixhawk to control the vehicle at a high-level with limited aerospace knowledge.
  • Xbee - A programmable USB radio carried on VTOL used to communicate with Mission Control.

Autonomy

  • DroneKit - A third party library used to communicate with the Pixhawk.
  • MAVlink - The communication protocol for messages sent to/from the Pixhawk. DroneKit is used to send and receive these MAVlink messages.
  • ArduPilot - The firmware running on the Pixhawk. Each type of aerial vehicle (quadcopter, quadplane, tricopter, etc.) has its own firmware.
  • Vehicle simulation - Rather than connecting to a Pixhawk and controlling a vehicle, the program connects to a fake vehicle to simulate the functionality of the program without the manual labor involved with a flight test.

Computer Vision

  • OpenCV - Open Source Computer Vision Library. Comes with plenty of useful computer vision methods in a Python API.
  • Image stiching - The process of combining multiple photographic images with overlapping fields of view to produce a segmented panorama or high-resolution image (copied from Wikipedia).
  • Point of interest (POI) - Something that looks like a target, payload, or obstacle. POIs can be false positives and need to be verified via a detailed search.
  • CV simulation - Rather than connecting to a RasPiCam and taking pictures, the program uses predefined images and processes them to simulate the functionality of the program's CV without the manual labor involved with a flight test.

Communications

  • Xbee Python Library - Third party library used to control the Xbee radio. Contains methods for sending messages and also allows us to link a callback function to the radio for receiving messages.
  • Callback function - A function that is triggered later at some other point. In the case of VTOL, the callback function is triggered whenever the Xbee radio receives a message.
  • Mission Control - A web application developed by another team in NGCP. Used as a central hub of communication between all vehicles (both Pomona and SLO), displays realtime information about the vehicles, and sends some messages that controls vehicles (e.g. "start" and "stop").
  • Comms simulation - Rather than connecting to an Xbee and sending/receiving messages, the program reads from predefined messages to be received, specified in an input file and does not send any messages. This simulates the functionality of the program without the manual labor involved with a flight test.

Tools

  • XCTU - Tool used for configuring Xbee radios. Can also be used to manually send/receive messages with the radios, which can be used for some tests.
  • QGroundControl - Tool used to configure Pixhawk flight controller. Can be used to load ArduPilot firmware onto the Pixhawk and calibrate the vehicle's sensors/motors.