hector_quadrotor: hector_quadrotor_demo | hector_quadrotor_gazebo | hector_quadrotor_gazebo_plugins | hector_quadrotor_teleop | hector_quadrotor_urdf
Package Summary
hector_quadrotor_gazebo_plugins provides gazebo plugins for using quadrotors in gazebo. The main plugin is a simple controller allowing to command the quadrotor's velocity using a geometry_msgs/Twist message for teleoperation. The hector_gazebo_ros_baro sensor plugin simulates an altimeter based on barometric pressure.
- Author: Johannes Meyer
- License: BSD
- Repository: tu-darmstadt-ros-pkg
- Source: svn http://tu-darmstadt-ros-pkg.googlecode.com/svn/trunk/hector_quadrotor/hector_quadrotor_gazebo_plugins
Contents
Available Plugins
GazeboQuadrotorSimpleController
The simple quadrotor plugin is a generic controller for quadrotors that enables teleoperated flying in Gazebo. PID controllers are used to control the velocities and yaw rate by calculating the necessary forces and torques acting on the body. It is called "simple controller" as it makes some assumptions that usually hold for quadrotors during hovering and non-aerobatic maneuvers.
The controller uses a cascade of two PID controllers for the horizontal movement and two separate PID controllers for the yaw rate and vertical velocity.
The plugin currently does not provide position, heading or altitude control. You can implement your own position controller on top of it.
Subscribed Topics
cmd_vel (geometry_msgs/Twist):
- The desired velocities and yaw rate of the quadrotor. The angular velocities around x- and y-axis are ignored.
XML Parameters
updateRate (double): output rate of the sensor in milliseconds
robotNamespace (string): namespace prefix for topic names
bodyName (string): name of the quadrotor body link in Gazebo
topicName (string): name of the twist command input topic (defaults to cmd_vel)
imuTopic (string): name of the imu topic (sensor_msgs/Imu) to be subscribed and used as current orientation and angular rates source. If empty, ground truth information from Gazebo is used for control (default).
stateTopic (string): name of the state topic (nav_msgs/Odometry) to be subscribed and used as current velocity and acceleration source. If empty, ground truth information from Gazebo is used for control (default).
maxForce (double): if greater than 0, upper limit of total thrust along the z-axis (defaults to unlimited)
Controller parameters
You can modify the dynamics of the controller by modifying the control parameters. See sample launch file in quadrotor_base.urdf.xacro for details.
GazeboRosBaro
This plugin simulates a sensor that measures the altitude of the vehicle based on barometric pressure according to the International Standard Atmosphere (ISA). See http://en.wikipedia.org/wiki/Atmospheric_pressure for details.
Published Topics
pressure_height (geometry_msgs/PointStamped):
- The z value of the Point contains the current altitude minus the configured elevation. x and y are always zero.
XML Parameters
updateRate (double): output rate of the sensor in milliseconds
robotNamespace (string): namespace prefix for topic names
frameId (string): frame_id included in the message header
topicName (string): name of the sensor output topic (defaults to pressure_height)
elevation (double): elevation of the ground or zero for altitude above Mean Sea Level MSL (defaults to 0.0)
qnh (double): barometric pressure adjusted to sea level in hPa/mbar (defaults to standard pressure 1013.25 hPa, see http://en.wikipedia.org/wiki/QNH)
offset (double): a constant offset added to the range
drift (double): standard deviation of the drift error
driftFrequency (double): mean frequency of the drift
gaussianNoise (double): standard deviation of the additive Gaussian noise
Notes:
mav_msgs/Height can be used as alternate message type if compiled with -DUSE_MAV_MSGS.
There is no direct output of the atmospheric pressure. The parameter qnh is currently unused.
The plugin uses the sensor error model from package hector_gazebo_plugins.






