Differential drive controller which can be attached to a model with any number of left and right wheels. More...
#include <DiffDrive.hh>
| Public Member Functions | |
| DiffDrive () | |
| Constructor.  More... | |
| ~DiffDrive () override=default | |
| Destructor.  More... | |
| void | Configure (const Entity &_entity, const std::shared_ptr< const sdf::Element > &_sdf, EntityComponentManager &_ecm, EventManager &_eventMgr) override | 
| Configure the system.  More... | |
| void | PostUpdate (const UpdateInfo &_info, const EntityComponentManager &_ecm) override | 
| void | PreUpdate (const gz::sim::UpdateInfo &_info, gz::sim::EntityComponentManager &_ecm) override | 
|  Public Member Functions inherited from System | |
| System ()=default | |
| Constructor.  More... | |
| virtual | ~System ()=default | 
| Destructor.  More... | |
Detailed Description
Differential drive controller which can be attached to a model with any number of left and right wheels.
System Parameters
<left_joint>: Name of a joint that controls a left wheel. This element can appear multiple times, and must appear at least once.
<right_joint>: Name of a joint that controls a right wheel. This element can appear multiple times, and must appear at least once.
<wheel_separation>: Distance between wheels, in meters. This element is optional, although it is recommended to be included with an appropriate value. The default value is 1.0m.
<wheel_radius>: Wheel radius in meters. This element is optional, although it is recommended to be included with an appropriate value. The default value is 0.2m.
<odom_publish_frequency>: Odometry publication frequency. This element is optional, and the default value is 50Hz.
<topic>: Custom topic that this system will subscribe to in order to receive command velocity messages. This element if optional, and the default value is /model/{name_of_model}/cmd_vel.
<odom_topic>: Custom topic on which this system will publish odometry messages. This element if optional, and the default value is /model/{name_of_model}/odometry.
<tf_topic>: Custom topic on which this system will publish the transform from frame_id to child_frame_id. This element is optional, and the default value is /model/{name_of_model}/tf.
<frame_id>: Custom frame_id field that this system will use as the origin of the odometry transform in both the <tf_topic> ignition.msgs.Pose_V message and the <odom_topic> ignition.msgs.Odometry message. This element if optional, and the default value is {name_of_model}/odom.
<child_frame_id>: Custom child_frame_id that this system will use as the target of the odometry transform in both the <tf_topic> ignition.msgs.Pose_V message and the <odom_topic> ignition.msgs.Odometry message. This element if optional, and the default value is {name_of_model}/{name_of_link}.
<min_velocity>: Sets both the minimum linear and minimum angular velocity.
<max_velocity>: Sets both the maximum linear and maximum angular velocity.
<min_acceleration>: Sets both the minimum linear and minimum angular acceleration.
<max_acceleration>: Sets both the maximum linear and maximum angular acceleration.
<min_jerk>: Sets both the minimum linear and minimum angular jerk.
<max_jerk>: Sets both the maximum linear and maximum angular jerk.
<min_linear_velocity>: Sets the minimum linear velocity. Overrides <min_velocity> if set.
<max_linear_velocity>: Sets the maximum linear velocity. Overrides <max_velocity> if set.
<min_angular_velocity>: Sets the minimum angular velocity. Overrides <min_velocity> if set.
<max_angular_velocity>: Sets the maximum angular velocity. Overrides <max_velocity> if set.
<min_linear_acceleration>: Sets the minimum linear acceleration. Overrides <min_acceleration> if set.
<max_linear_acceleration>: Sets the maximum linear acceleration. Overrides <max_acceleration> if set.
<min_angular_acceleration>: Sets the minimum angular acceleration. Overrides <min_acceleration> if set.
<max_angular_acceleration>: Sets the maximum angular acceleration. Overrides <max_acceleration> if set.
<min_linear_jerk>: Sets the minimum linear jerk. Overrides <min_jerk> if set.
<max_linear_jerk>: Sets the maximum linear jerk. Overrides <max_jerk> if set.
<min_angular_jerk>: Sets the minimum angular jerk. Overrides <min_jerk> if set.
<max_angular_jerk>: Sets the maximum angular jerk. Overrides <max_jerk> if set. 
Constructor & Destructor Documentation
◆ DiffDrive()
| DiffDrive | ( | ) | 
Constructor.
◆ ~DiffDrive()
| 
 | overridedefault | 
Destructor.
Member Function Documentation
◆ Configure()
| 
 | overridevirtual | 
Configure the system.
- Parameters
- 
  [in] _entity The entity this plugin is attached to. [in] _sdf The SDF Element associated with this system plugin. [in] _ecm The EntityComponentManager of the given simulation instance. [in] _eventMgr The EventManager of the given simulation instance. 
Implements ISystemConfigure.
◆ PostUpdate()
| 
 | overridevirtual | 
Implements ISystemPostUpdate.
◆ PreUpdate()
| 
 | overridevirtual | 
Implements ISystemPreUpdate.
The documentation for this class was generated from the following file: