Installation

This section will cover installing ROS as well as the required packages for the project.

Table of contents
  1. Getting ROS
  2. Installing the Packages
  3. Getting the Code

Getting ROS

Follow the instructions in one of the links to install the full version of ROS Kinetic or Melodic and make a catkin_ws folder.

Installing the Packages

Clone the hector_quadrotor, hector_localization, hector_models, and hector_gazebo stacks into your ~/catkin_ws/src folder:

 # Required for the drone model.
 git clone https://github.com/tu-darmstadt-ros-pkg/hector_quadrotor.git
 git clone https://github.com/tu-darmstadt-ros-pkg/hector_localization.git
 git clone https://github.com/tu-darmstadt-ros-pkg/hector_models.git
 git clone https://github.com/tu-darmstadt-ros-pkg/hector_gazebo.git

Clone the rrt_exploration package into your ~/catkin_ws/src folder:

# Used for frontier exploration
 git clone https://github.com/hasauino/rrt_exploration.git

Install the gmapping, amcl, and move_base packages required for this project:

 # Packages for mapping, localization, and navigation, respectively
 sudo apt-get install ros-${ROS_DISTRO}-gmapping ros-${ROS_DISTRO}-amcl ros-${ROS_DISTRO}-move-base

Follow these instructions to get google cartographer (ROS Melodic only). Do not forget to source your terminal if using cartographer:

 # Run command in every terminal you want to use cartographer in
 source install_isolated/setup.bash

You may also need to install these packages (ROS Melodic):

sudo apt-get install ros-melodic-map-server
sudo apt-get install ros-indigo-dwa-local-planner

Getting the Code

Clone this quad_sim package into your ~/catkin_ws/src folder:

 # This package contains all the code required for mapping and navigation of the drone.
 git clone https://github.com/rumaisaabdulhai/quad_sim.git

Make sure the catkin_ws builds successfully (can also use catkin_make):

 cd ~/catkin_ws
 catkin build

Don’t forget to source your terminal now, and every time you open a new terminal tab:

 source ~/catkin_ws/devel/setup.bash