For information about this project and the hardware/software platform view the wiki.
This project contains git submodules. To clone this repo and all of the submodules:
$ git clone ssh://[email protected]:290/robust_tracking/safe2ditch.git # Make sure to add an SSH key to gitlab
$ cd safe2ditch && git submodule update --init --recursive
After installing the dependencies listed below, you can build the ROS packages:
$ cd catkin_ws
$ catkin_make
The easiest way to setup the Safe2Ditch environment is by sourcing s2denv
. You can add it to your ~/.bashrc
for convenience, but beware: having multiple catkin workspaces sourced at once is generally a bad idea. This script is found in safe2ditch/startup/s2devnv
. See wiki/Software Setup for other helpful environment setup tips.
Make sure to setup the ardupilot_sim
package by following the instructions on its README. After you've installed all of its dependencies, make it run once (roslaunch ardupilot_sim copter.launch
) so that it builds everything and you can verify that it is working (you may get link down
errors, see the ardupilot_sim
README for info).
After doing all that, run the Safe2Ditch SIL:
roslaunch nasa_s2d_sim sim.launch
This uses gzsatellite
to pull down satellite imagery and build a world. On your first run, you will have to wait ~5 minutes for it to download.
If you get connection errors
in the xterm
window that pops up, go into nasa_s2d_sim/scripts/copter_sitl.sh
and increase the sleep
time -- there is a note about slower computers.
- Ubuntu 16.04.1 LTS (Xenial)
- ROS Kinetic
sudo apt-get install ros-kinetic-joy ros-kinetic-serial libncurses5-dev
For now, ueye_cam does not have a Jenkins job for armhf
in the ROS buildfarm. Until that gets resolved, I have added ueye_cam
as a git submodule. This package depends on having the IDS Software Suite and SDK installed on this machine, see here.
Update: You can now install armhf version of ueye_cam
through sudo apt install ros-kinetic-ueye-cam
There are three main launch files to work with in Safe2Ditch: hardware.launch
, sim.launch
, and review.launch
. The utility of each of these launch top-level launch files are shown pictorially below.
To achieve a consistent interface across simulation and hardware testing of Safe2Ditch, the following communication architecture is followed.
One of the core pieces of the Safe2Ditch project is choosing viable ditch sites or landing zones. The Ditch Site Selector (DSS) component (catkin_ws/src/dss/src
) is currently written in Python and is actively being worked on by Trish Glaab.
Because Mission Planner is built on Microsoft .NET, it is possible to run Mission Planner on Linux using the mono project. Install mono
, download Mission Planner, and then just run sudo mono MissionPlanner.exe
. See here.
In order for this to work, you must install mono
from the official ppa and not from the one packaged with Ubuntu. Follow the instructions at the mono
project website. Tested and works with Mission Planner 1.3.53 and mono
5.12.0.226 on Ubuntu 16.04 (and in Gnome).