Tutorial 1: Landing Drone on an Aruco Marker - eYSIP-2017/eYSIP-2017_Indoor-Environments-Mapping-using-UAV GitHub Wiki

Indoor Environment Mapping Tutorials

Landing drone on ArUco marker

  • Required ROS Packages

    • For simulation of ARDrone in Gazebo
      1. ardrone_simulator_gazebo7 [2] - [1]
    • For Aruco marker detection and pose calculation
      1. marker_pose_detection - [1]
      2. aruco_ros - [1]
      3. pal_vision_segmentation - [1]
  • 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.
      1. Translation along X axis (Roll)
      2. Translation along Y axis (Pitch)
      3. Translation along Z axis (Altitude)
      4. Rotation along Z axis (Yaw)
  • 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

  1. Github Link for packages - https://github.com/eYSIP-2017/eYSIP-2017_Indoor-Environments-Mapping-using-UAV
  2. Link to install Gazebo7 - https://github.com/eYSIP-2017/eYSIP-2017_Indoor-Environments-Mapping-using-UAV/blob/master/bash_scripts/install_gazebo7.sh
⚠️ **GitHub.com Fallback** ⚠️