Exposes transport topics and SDF params for applying forces and torques to links in simulation. It should be attached to a world. More...
#include <ApplyLinkWrench.hh>
Public Member Functions | |
ApplyLinkWrench () | |
Constructor. More... | |
~ApplyLinkWrench () 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 | 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
Exposes transport topics and SDF params for applying forces and torques to links in simulation. It should be attached to a world.
The target link is defined in each message. If a link entity is provided, that will receive a wrench. If a model is provided, its canonical link will receive it. No other entity types are supported.
Forces and torques are expressed in world coordinates, and the force offset is expressed in the link frame.
Topics
- /world/<world_name>/wrench
- Message type: msgs::EntityWrench
- Effect: Applies the given wrench during a single time step.
- /world/<world_name>/wrench/persistent
- Message type: msgs::EntityWrench
- Effect: Keeps applying the given wrench every time step. Persistent wrenches can be applied to entities that aren't in simulation yet, and will start taking effect once they do.
- /world/<world_name>/wrench/clear
- Message type: msgs::Entity
- Effect: Clears any persistent wrenches that are being applied to the given entity.
System Parameters
Persistent wrenches can be defined from SDF, for example:
Constructor & Destructor Documentation
◆ ApplyLinkWrench()
ApplyLinkWrench | ( | ) |
Constructor.
◆ ~ApplyLinkWrench()
|
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.
◆ PreUpdate()
|
overridevirtual |
Implements ISystemPreUpdate.
The documentation for this class was generated from the following file: