Operation Marshall is the central repository for all code for MIT's IARC mission 7 submission.
The vehicle used is a slightly modified 3DR Solo. It has been modified to add magnets on the bottom and the compass has been moved away from the magnets.
TODO insert picture
The project relies on the following pieces of software:
- Ardupilot, specifically ArduUAV, is the autopilot
- ROS Indigo is used for inter-process communication
- OpenCV 2.4 is used for computer vision
The code used to navigate the UAV is split into multiple ROS nodes which are each in their own folders. These packages are all written in python2.7, and rely on the following imports:
- rospy
- dronekit-python
- cv2
TODO sam insert flowchart
Each node has a different maintainer and purpose:
Tracks Roombas in the field of view of the camera.
Maintainer: Rohan Banerjee rohanb2018
Estimates the positions of the UAV and the Roombas.
Maintainer: Surya Bhupatiraju suryabhupa
Decides where the UAV goes.
Maintainer: Simanta Gautam SimsGautam
Communicates with the UAV using dronekit. Sends commands and receives telemetry.
Maintainer: Sebastian Quilter squilter
Draws all known information in a convenient GUI for easier testing.
Maintainer: Chris Sweeney ChristopherSweeney
Simulates the output of the camera, for use with SITL simulation.
Maintainer: Alan Cheng AlDCheng
Generates the location of fake roombas, for use with SITL simulation.
Maintainer: Brandon TODO todo
A list of all ROS messages for communication between ROS nodes.
Maintainer: Sam Udotong sudotong