Implementation of a simple reducer transmission. More...
#include <simple_transmission.h>

Public Member Functions | |
| void | actuatorToJointEffort (const ActuatorData &act_data, JointData &jnt_data) |
| Transform effort variables from actuator to joint space. | |
| void | actuatorToJointPosition (const ActuatorData &act_data, JointData &jnt_data) |
| Transform position variables from actuator to joint space. | |
| void | actuatorToJointVelocity (const ActuatorData &act_data, JointData &jnt_data) |
| Transform velocity variables from actuator to joint space. | |
| double | getActuatorReduction () const |
| double | getJointOffset () const |
| void | jointToActuatorEffort (const JointData &jnt_data, ActuatorData &act_data) |
| Transform effort variables from joint to actuator space. | |
| void | jointToActuatorPosition (const JointData &jnt_data, ActuatorData &act_data) |
| Transform position variables from joint to actuator space. | |
| void | jointToActuatorVelocity (const JointData &jnt_data, ActuatorData &act_data) |
| Transform velocity variables from joint to actuator space. | |
| std::size_t | numActuators () const |
| std::size_t | numJoints () const |
| SimpleTransmission (const double reduction, const double joint_offset=0.0) | |
Private Attributes | |
| double | jnt_offset_ |
| double | reduction_ |
Implementation of a simple reducer transmission.
This transmission relates one actuator and one joint through a reductor (or amplifier). Timing belts and gears are examples of this transmission type, and are illustrated below.
| Actuator to joint |
|
|
|
| Joint to actuator |
|
|
|
where:
,
and
are position, velocity and effort variables, respectively.
and
are used to represent actuator-space and joint-space variables, respectively.
represents the offset between motor and joint zeros, expressed in joint position coordinates.
is the transmission ratio, and can be computed as the ratio between the output and input pulley radii for the timing belt; or the ratio between output and input teeth for the gear system. The transmission ratio can take any real value except zero. In particular:
it's a velocity amplifier / effort reducer.Definition at line 95 of file simple_transmission.h.
| transmission_interface::SimpleTransmission::SimpleTransmission | ( | const double | reduction, |
| const double | joint_offset = 0.0 |
||
| ) | [inline] |
| reduction | Reduction ratio. |
| joint_offset | Joint position offset used in the position mappings. |
Definition at line 177 of file simple_transmission.h.
| void transmission_interface::SimpleTransmission::actuatorToJointEffort | ( | const ActuatorData & | act_data, |
| JointData & | jnt_data | ||
| ) | [inline, virtual] |
Transform effort variables from actuator to joint space.
| [in] | act_data | Actuator-space variables. |
| [out] | jnt_data | Joint-space variables. |
Implements transmission_interface::Transmission.
Definition at line 189 of file simple_transmission.h.
| void transmission_interface::SimpleTransmission::actuatorToJointPosition | ( | const ActuatorData & | act_data, |
| JointData & | jnt_data | ||
| ) | [inline, virtual] |
Transform position variables from actuator to joint space.
| [in] | act_data | Actuator-space variables. |
| [out] | jnt_data | Joint-space variables. |
Implements transmission_interface::Transmission.
Definition at line 207 of file simple_transmission.h.
| void transmission_interface::SimpleTransmission::actuatorToJointVelocity | ( | const ActuatorData & | act_data, |
| JointData & | jnt_data | ||
| ) | [inline, virtual] |
Transform velocity variables from actuator to joint space.
| [in] | act_data | Actuator-space variables. |
| [out] | jnt_data | Joint-space variables. |
Implements transmission_interface::Transmission.
Definition at line 198 of file simple_transmission.h.
| double transmission_interface::SimpleTransmission::getActuatorReduction | ( | ) | const [inline] |
Definition at line 169 of file simple_transmission.h.
| double transmission_interface::SimpleTransmission::getJointOffset | ( | ) | const [inline] |
Definition at line 170 of file simple_transmission.h.
| void transmission_interface::SimpleTransmission::jointToActuatorEffort | ( | const JointData & | jnt_data, |
| ActuatorData & | act_data | ||
| ) | [inline, virtual] |
Transform effort variables from joint to actuator space.
| [in] | jnt_data | Joint-space variables. |
| [out] | act_data | Actuator-space variables. |
Implements transmission_interface::Transmission.
Definition at line 216 of file simple_transmission.h.
| void transmission_interface::SimpleTransmission::jointToActuatorPosition | ( | const JointData & | jnt_data, |
| ActuatorData & | act_data | ||
| ) | [inline, virtual] |
Transform position variables from joint to actuator space.
| [in] | jnt_data | Joint-space variables. |
| [out] | act_data | Actuator-space variables. |
Implements transmission_interface::Transmission.
Definition at line 234 of file simple_transmission.h.
| void transmission_interface::SimpleTransmission::jointToActuatorVelocity | ( | const JointData & | jnt_data, |
| ActuatorData & | act_data | ||
| ) | [inline, virtual] |
Transform velocity variables from joint to actuator space.
| [in] | jnt_data | Joint-space variables. |
| [out] | act_data | Actuator-space variables. |
Implements transmission_interface::Transmission.
Definition at line 225 of file simple_transmission.h.
| std::size_t transmission_interface::SimpleTransmission::numActuators | ( | ) | const [inline, virtual] |
Implements transmission_interface::Transmission.
Definition at line 166 of file simple_transmission.h.
| std::size_t transmission_interface::SimpleTransmission::numJoints | ( | ) | const [inline, virtual] |
Implements transmission_interface::Transmission.
Definition at line 167 of file simple_transmission.h.
double transmission_interface::SimpleTransmission::jnt_offset_ [private] |
Definition at line 174 of file simple_transmission.h.
double transmission_interface::SimpleTransmission::reduction_ [private] |
Definition at line 173 of file simple_transmission.h.