A demo project for various uav tasks such as scanning and tracking
The project is a simulation project based on Gazebo and ROS (Melodic or higher version). It uses the hector_quadrotor, a ROS package, for simulating the UAV, with a depth camera for capturing data.
-
Gazebo-ROS packages (on Melodic for example)
- ros-melodic-gazebo-ros-pkgs
- ros-melodic-gazebo-ros-control
- ros-melodic-effort-controllers
- ros-melodic-joint-state-controller
- ros-melodic-controller-manager
- ros-melodic-geographic-msgs
- ros-melodic-sensor-msgs
-
ROS packages
-
Vision packages
-
Point Cloud Library (Optional, only for 3D point cloud process)
- uav_task_gazebo, gazebo simulation of environment and quadrotor, including models and launch files.
- uav_task_description, urdf description of quadrotor and camera.
- uav_task_control, control settings for the quadrotor and camera.
- Start environment with a mobile ugv and launch double quadrotors
roslaunch uav_task_gazebo double_uav_tracking.launch
- GOAL: use two quadrotors to track the random moving UGV.
- mission 1: create a package for UAV tracking.
- mission 2: control the quadrotors to takeoff, flying, and landing using the related ROS topics.
- mission 3: write a script to autonomously control the quadrotors to track the moving UGV while maintaining distance between the quadrotors to the UGV (avoiding collision), and display the captured image of each quadrotor.
- Start environment with a target airplane and launch a single quadrotor
roslaunch uav_task_gazebo double_uav_scanning.launch
- GOAL: use multiple quadrotors to inspect the large airplane.
- mission 1: create a package for UAV scanning.
- mission 2: control the quadrotors to takeoff, flying, and landing using the related ROS topics.
- mission 3: write a script to autonomously flying multiple quadrotors to do cooperative scanning while avoiding collision, and display the captured image of pointcloud data of each quadrotor.