Skip to content

Latest commit

 

History

History
70 lines (44 loc) · 4.23 KB

README.md

File metadata and controls

70 lines (44 loc) · 4.23 KB

NASA S2D2 Emergency Landing Project

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

Environment Setup

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.

Software-in-the-Loop (SIL)

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.

Dependencies

  • 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

Launch File Structure

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.

Consistent Hardware/Simulation Communications

To achieve a consistent interface across simulation and hardware testing of Safe2Ditch, the following communication architecture is followed.

Ditch Site Selector (DSS)

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.

Mission Planner

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).