This is the tutorial for setting-up a drone in an evironment with all its packages in ROS.
- ROS Melodic /Kinetic /Hydro
- Gazebo 8 or higher
- Rviz
- Existing catkin_ws
(Try this only if 1.1 does not work out for you)
- First delete all the residual drone packages that you cloned in 1.1
- Clone all the packages stated below in the src folder in your catkin_ws
$ cd catkin_ws/src
$ 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
- Compile the catkin_ws to build all the packages
$ cd catkin_ws
$ catkin_make
For a smooth interface launch only one of these environments at a time
- For outdoor navigation
$ roslaunch hector_quadrotor_demo outdoor_flight_gazebo.launch
- For indoor navigation
$ roslaunch hector_quadrotor_demo indoor_slam_gazebo.launch
This step can be skipped for most systems. But for the few exceptions, you have to manually turn on the motors for the flight simulation.
$ rosservice call /enable_motors "enable: true"
For navigation of the drone through terminal input, in a separate terminal enter
$ rosrun teleop_twist_keyboard teleop_twist_keyboard.py