This project involves the development of a simulation model for the autonomous landing of a multirotor unmanned aerial vehicle (UAV) on a moving landing platform. The simulation utilizes Aruco fractal marker pose estimation and ultra-wideband technology, and infrared optical beacons for precise landing. This work is part of my bachelor thesis.
- PX4 Autopilot (v1.13.1)
- Gazebo
- ROS1
- OpenCV
- Aruco Library
camera_calibration/
- Contains calibration files for the camera used in the simulation.drone_fsm.yaml
- Configuration for the drone finite state machine.landing_controller.yaml
- Configuration for the landing controller.aruco_estimator.yaml
- Configuration for Aruco marker estimation.infra_optical_estimator.yaml
- Configuration for infrared optical estimation.uwb_lqr_vanc_estimator.yaml
- Configuration for UWB estimation.infra_optical_simulator.yaml
- Configuration for the infrared optical simulator.uwb_simulator.yaml
- Configuration for the UWB simulator.ugv_control.yaml
- Configuration for the unmanned ground vehicle.
drone_fsm.launch
- Launch file for the drone finite state machine.landing_controller.launch
- Launch file for the landing controller.aruco_estimator.launch
- Launch file for the Aruco marker estimator.infra_optical_estimator.launch
- Launch file for the infrared optical estimator.uwb_lqr_vanc_estimator.launch
- Launch file for the UWB estimator.infra_optical_simulator.launch
- Launch file for the infrared optical simulator.uwb_simulator.launch
- Launch file for the UWB simulator.spawn_husky.launch
- Launch file for spawning the Husky model.spawn_iris.launch
- Launch file for spawning the Iris model.ugv_control.launch
- Launch file for UGV control.mp_uav_landing_sim.launch
- Main launch file for the UAV landing simulation.
Intensity.msg
- Message definition for infrared beacon light intensity.UWBRange.msg
- Message definition for UWB range.
drone_fsm.py
- Script for the drone finite state machine.landing_controller.py
- Script for the landing controller.
aruco_estimator.py
- Script for Aruco marker estimation.infra_optical_estimator.py
- Script for infrared optical estimation.uwb_lqr_vanc_estimator.py
- Script for UWB estimation.
infra_optical_simulator.py
- Script for the infrared optical simulator.uwb_simulator.py
- Script for the UWB simulator.
ugv_control.py
- Script for UGV control.
sim_windy_world/
- Gazebo world files for simulating windy conditions.sim_world/
- General Gazebo world files.
The simulation employs the following technologies for accurate landing:
- Aruco Fractal Marker Pose Estimation: Utilizes Aruco fractal markers to determine the precise position and orientation of the landing platform.
- Ultra-Wideband Technology: Uses and simulates UWB signals for accurate distance measurement and positioning.
- Infrared Optical Beacons: Uses and simulates infrared optical beacons to aid in precise positioning and landing of the UAV.
- Bachelor thesis
- Anikin Dmitry, et al. "Autonomous landing algorithm for UAV on a mobile robotic platform with a fractal marker." International Conference on Interactive Collaborative Robotics. Cham: Springer Nature Switzerland, 2023.
- Ryabinov Artyom Valer'evich, Anton Igorevich Saveliev, and Dmitriy Andreevich Anikin. "Modeling the influence of external influences on the process of automated landing of a UAV-quadcopter on a moving platform using technical vision." Modelirovanie i Analiz Informatsionnykh Sistem 30.4 (2023): 366-381.