The project creates an Unmanned Autonomous Vehicle (UAV) capable of landing on stationary and moving target. The UAV is maneuvered through a controller and has the ability to optimally track, detect and land on the target.
Keywords: moving target, stationary target, landing
- Robot Operating System (ROS) (middleware for robotics),
- hector_quadrotor (quadcopter used for the project)
- hector_gazebo (gazebo support for hector quadrotor)
- tf_velocity_estimator (A ROS package that helps estimate the veolocity of a TF frame)
- ar_helipad (A ROS package that is used to detect helipads (landing zones) that have one or two (bundled) AR tags)
- ar_track_alvar
To build from source, clone the latest version from this repository into your catkin workspace and compile the package using
cd catkin_workspace/src
git clone https://github.com/suveergarg/uav_landing
cd ../
rosdep install --from-paths . --ignore-src
catkin_make
Run the main node with
roslaunch uav_landing main.launch
python src/exploration_node.py
python src/controller1.py
-
/action/pose/goal
([hector_uav_msgs/PoseActionGoal]) Sends the target position to acheive for the platform -
/cmd_vel
([geometry_msgs/Twist ])
/gazebo/model_states
([gazebo_msgs /ModelStates]) Gets the ground truth value for the position of platform
/gazebo/set_model_state
([gazebo_msgs /ModelState]) Sets the ground truth value for the position of platform
/tf
([tf2_msgs/TFMessage])
/pad_velocity
([tf_velocity_estimator/PosesAndVelocities]) Send the platform velocity and position
/ground_truth/state
([nav_msgs/Odometry])
/pid_tuner
([std_msgs/Bool]) Send the platform velocity and position
-
/ground_truth/state
([nav_msgs /Odometry]) -
/pad_velocity
([tf_velocity_estimator /PosesAndVelocities ]) Gets the estimated landing platform velocity
-
/command/pose
([geometry_msgs/PoseStamped ]) -
/command/twist
([geometry_msgs /TwistStamped ]) Send commands to be executed for the quadrotor -
/cmd_vel
([geometry_msgs /Twist ]) -
/pid_tuner
([std_msgs /Bool ]) Informs pid when to start/stop recording the trajectory being generated
Results for the trajectory generated for the following tasks -
Please report bugs and request features using the Issue Tracker.