Abstract base class for representing mechanical transmissions. More...
#include <transmission.h>
Public Member Functions | |
virtual void | actuatorToJointEffort (const ActuatorData &act_data, JointData &jnt_data)=0 |
Transform effort variables from actuator to joint space. More... | |
virtual void | actuatorToJointPosition (const ActuatorData &act_data, JointData &jnt_data)=0 |
Transform position variables from actuator to joint space. More... | |
virtual void | actuatorToJointVelocity (const ActuatorData &act_data, JointData &jnt_data)=0 |
Transform velocity variables from actuator to joint space. More... | |
virtual void | jointToActuatorEffort (const JointData &jnt_data, ActuatorData &act_data)=0 |
Transform effort variables from joint to actuator space. More... | |
virtual void | jointToActuatorPosition (const JointData &jnt_data, ActuatorData &act_data)=0 |
Transform position variables from joint to actuator space. More... | |
virtual void | jointToActuatorVelocity (const JointData &jnt_data, ActuatorData &act_data)=0 |
Transform velocity variables from joint to actuator space. More... | |
virtual std::size_t | numActuators () const =0 |
virtual std::size_t | numJoints () const =0 |
virtual | ~Transmission () |
Abstract base class for representing mechanical transmissions.
Mechanical transmissions transform effort/flow variables such that their product (power) remains constant. Effort variables for linear and rotational domains are force and torque; while the flow variables are respectively linear velocity and angular velocity.
In robotics it is customary to place transmissions between actuators and joints. This interface adheres to this naming to identify the input and output spaces of the transformation. The provided interfaces allow bidirectional mappings between actuator and joint spaces for effort, velocity and position. Position is not a power variable, but the mappings can be implemented using the velocity map plus an integration constant representing the offset between actuator and joint zeros.
Definition at line 87 of file transmission.h.
|
inlinevirtual |
Definition at line 90 of file transmission.h.
|
pure virtual |
Transform effort variables from actuator to joint space.
[in] | act_data | Actuator-space variables. |
[out] | jnt_data | Joint-space variables. |
Implemented in transmission_interface::DifferentialTransmission, transmission_interface::FourBarLinkageTransmission, and transmission_interface::SimpleTransmission.
|
pure virtual |
Transform position variables from actuator to joint space.
[in] | act_data | Actuator-space variables. |
[out] | jnt_data | Joint-space variables. |
Implemented in transmission_interface::DifferentialTransmission, transmission_interface::FourBarLinkageTransmission, and transmission_interface::SimpleTransmission.
|
pure virtual |
Transform velocity variables from actuator to joint space.
[in] | act_data | Actuator-space variables. |
[out] | jnt_data | Joint-space variables. |
Implemented in transmission_interface::DifferentialTransmission, transmission_interface::FourBarLinkageTransmission, and transmission_interface::SimpleTransmission.
|
pure virtual |
Transform effort variables from joint to actuator space.
[in] | jnt_data | Joint-space variables. |
[out] | act_data | Actuator-space variables. |
Implemented in transmission_interface::DifferentialTransmission, transmission_interface::FourBarLinkageTransmission, and transmission_interface::SimpleTransmission.
|
pure virtual |
Transform position variables from joint to actuator space.
[in] | jnt_data | Joint-space variables. |
[out] | act_data | Actuator-space variables. |
Implemented in transmission_interface::DifferentialTransmission, transmission_interface::FourBarLinkageTransmission, and transmission_interface::SimpleTransmission.
|
pure virtual |
Transform velocity variables from joint to actuator space.
[in] | jnt_data | Joint-space variables. |
[out] | act_data | Actuator-space variables. |
Implemented in transmission_interface::DifferentialTransmission, transmission_interface::FourBarLinkageTransmission, and transmission_interface::SimpleTransmission.
|
pure virtual |
Implemented in transmission_interface::DifferentialTransmission, transmission_interface::FourBarLinkageTransmission, and transmission_interface::SimpleTransmission.
|
pure virtual |
Implemented in transmission_interface::DifferentialTransmission, transmission_interface::FourBarLinkageTransmission, and transmission_interface::SimpleTransmission.