Tutorial 1: Landing Drone on an Aruco Marker - eYSIP-2017/eYSIP-2017_Indoor-Environments-Mapping-using-UAV GitHub Wiki
-
Required ROS Packages
- For simulation of ARDrone in Gazebo
- ardrone_simulator_gazebo7 [2] - [1]
- For Aruco marker detection and pose calculation
- marker_pose_detection - [1]
- aruco_ros - [1]
- pal_vision_segmentation - [1]
- For simulation of ARDrone in Gazebo
-
Required Files
- ardrone_testworld.launch (cvg_sim_gazebo/launch) - Launches a test world with the ARDrone in Gazebo
- keyboard.py (cvg_sim_gazebo/scripts) - Script to takeoff, reset, land and fly ARDrone using keyboard.
- aruco_land.py (cvg_sim_gazebo/scripts) - Script to start the required PID loops and control the drones position with respect to the aruco marker using the bottom camera feed from ARDrone.
-
PID Loops
- Four PID loops are used in the aruco_land.py script to control the drones position.
- Translation along X axis (Roll)
- Translation along Y axis (Pitch)
- Translation along Z axis (Altitude)
- Rotation along Z axis (Yaw)
- Four PID loops are used in the aruco_land.py script to control the drones position.
-
Procedure
- Launch the ardrone_testworld.launch present in cvg_sim_gazebo package inside ardrone_simulator_gazebo7 folder
- Drag and drop an aruco marker into the world from the insert tab in the left pane of Gazebo
- Start the ARDrone in simulation using the keyboard tele-op script (keyboard.py) present in cvg_sim_gazebo package and fly the drone until the the ArUco is visible in the bottom camera feed
- Start the aruco_land.py script to hover the drone directly above the ArUco marker
-
Appendix
- Github Link for packages - https://github.com/eYSIP-2017/eYSIP-2017_Indoor-Environments-Mapping-using-UAV
- Link to install Gazebo7 - https://github.com/eYSIP-2017/eYSIP-2017_Indoor-Environments-Mapping-using-UAV/blob/master/bash_scripts/install_gazebo7.sh