MecanumDrive Class Reference
  Mecanum drive controller which can be attached to a model with any number of front/back left/right wheels. More...
#include <MecanumDrive.hh>
| Public Member Functions | |
| MecanumDrive () | |
| Constructor.  More... | |
| ~MecanumDrive () 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 UpdateInfo &_info, EntityComponentManager &_ecm) override | 
|  Public Member Functions inherited from System | |
| System ()=default | |
| Constructor.  More... | |
| virtual | ~System ()=default | 
| Destructor.  More... | |
| Additional Inherited Members | |
|  Public Types inherited from System | |
| using | PriorityType = int32_t | 
| Signed integer type used for specifying priority of the execution order of PreUpdate and Update phases.  More... | |
|  Static Public Attributes inherited from System | |
| constexpr static PriorityType | kDefaultPriority = {0} | 
| Default priority value for execution order of the PreUpdate and Update phases.  More... | |
| constexpr static std::string_view | kPriorityElementName | 
| Name of the XML element from which the priority value will be parsed.  More... | |
Detailed Description
Mecanum drive controller which can be attached to a model with any number of front/back left/right wheels.
System Parameters
- <front_left_joint>: Name of a joint that controls a front left wheel. This element can appear multiple times, and must appear at least once.
- <front_right_joint>: Name of a joint that controls a front right wheel. This element can appear multiple times, and must appear at least once.
- <back_left_joint>: Name of a joint that controls a back left wheel. This element can appear multiple times, and must appear at least once.
- <back_right_joint>: Name of a joint that controls a back right wheel. This element can appear multiple times, and must appear at least once.
- <wheelbase>: Longitudinal distance between front and back 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_separation>: Lateral distance between left and right 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_idto- child_frame_id. This element if optional, and the default value is- /model/{name_of_model}/tf.
- <frame_id>: Custom- frame_idfield that this system will use as the origin of the odometry transform in both the- <tf_topic>- gz.msgs.Pose_Vmessage and the- <odom_topic>- gz.msgs.Odometrymessage. This element if optional, and the default value is- {name_of_model}/odom.
- <child_frame_id>: Custom- child_frame_idthat this system will use as the target of the odometry trasnform in both the- <tf_topic>- gz.msgs.Pose_Vmessage and the- <odom_topic>- gz.msgs.Odometrymessage. This element if optional, and the default value is- {name_of_model}/{name_of_link}.
Constructor & Destructor Documentation
◆ MecanumDrive()
| MecanumDrive | ( | ) | 
Constructor.
◆ ~MecanumDrive()
| 
 | 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: