Implementation of a differential transmission. More...
#include <differential_transmission.h>

Public Member Functions | |
| void | actuatorToJointAbsolutePosition (const ActuatorData &act_data, JointData &jnt_data) override |
| Transform absolute encoder values from actuator to joint space. More... | |
| void | actuatorToJointEffort (const ActuatorData &act_data, JointData &jnt_data) override |
| Transform effort variables from actuator to joint space. More... | |
| void | actuatorToJointPosition (const ActuatorData &act_data, JointData &jnt_data) override |
| Transform position variables from actuator to joint space. More... | |
| void | actuatorToJointTorqueSensor (const ActuatorData &act_data, JointData &jnt_data) override |
| Transform torque sensor values from actuator to joint space. More... | |
| void | actuatorToJointVelocity (const ActuatorData &act_data, JointData &jnt_data) override |
| Transform velocity variables from actuator to joint space. More... | |
| DifferentialTransmission (const std::vector< double > &actuator_reduction, const std::vector< double > &joint_reduction, bool ignore_transmission_for_absolute_encoders=false, const std::vector< double > &joint_offset=std::vector< double >(2, 0.0)) | |
| DifferentialTransmission (const std::vector< double > &actuator_reduction, const std::vector< double > &joint_reduction, const std::vector< double > &joint_offset) | |
| const std::vector< double > & | getActuatorReduction () const |
| const std::vector< double > & | getJointOffset () const |
| const std::vector< double > & | getJointReduction () const |
| bool | hasActuatorToJointAbsolutePosition () const override |
| bool | hasActuatorToJointTorqueSensor () const override |
| void | jointToActuatorEffort (const JointData &jnt_data, ActuatorData &act_data) override |
| Transform effort variables from joint to actuator space. More... | |
| void | jointToActuatorPosition (const JointData &jnt_data, ActuatorData &act_data) override |
| Transform position variables from joint to actuator space. More... | |
| void | jointToActuatorVelocity (const JointData &jnt_data, ActuatorData &act_data) override |
| Transform velocity variables from joint to actuator space. More... | |
| std::size_t | numActuators () const override |
| std::size_t | numJoints () const override |
Public Member Functions inherited from transmission_interface::Transmission | |
| virtual | ~Transmission ()=default |
Protected Attributes | |
| std::vector< double > | act_reduction_ |
| bool | ignore_transmission_for_absolute_encoders_ |
| std::vector< double > | jnt_offset_ |
| std::vector< double > | jnt_reduction_ |
Implementation of a differential transmission.
This transmission relates two actuators and two joints through a differential mechanism, as 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 (cf. SimpleTransmission class documentation for a more detailed description of this variable).
represents a transmission ratio. Reducers/amplifiers are allowed on both the actuator and joint sides (depicted as timing belts in the figure). A transmission ratio can take any real value except zero. In particular:
it's a velocity amplifier / effort reducer.Definition at line 117 of file differential_transmission.h.
|
inline |
| actuator_reduction | Reduction ratio of actuators. |
| joint_reduction | Reduction ratio of joints. |
| joint_offset | Joint position offset used in the position mappings. |
Definition at line 238 of file differential_transmission.h.
|
inline |
| actuator_reduction | Reduction ratio of actuators. |
| joint_reduction | Reduction ratio of joints. |
| ignore_transmission_for_absolute_encoders | Whether to take the data directly from absolute encoders instead of calculating through transmission. |
| joint_offset | Joint position offset used in the position mappings. |
Definition at line 244 of file differential_transmission.h.
|
inlineoverridevirtual |
Transform absolute encoder values from actuator to joint space.
| [in] | act_data | Actuator-space variables. |
| [out] | jnt_data | Joint-space variables. |
Reimplemented from transmission_interface::Transmission.
Definition at line 308 of file differential_transmission.h.
|
inlineoverridevirtual |
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 269 of file differential_transmission.h.
|
inlineoverridevirtual |
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 295 of file differential_transmission.h.
|
inlineoverridevirtual |
Transform torque sensor values from actuator to joint space.
| [in] | act_data | Actuator-space variables. |
| [out] | jnt_data | Joint-space variables. |
Reimplemented from transmission_interface::Transmission.
Definition at line 329 of file differential_transmission.h.
|
inlineoverridevirtual |
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 282 of file differential_transmission.h.
|
inline |
Definition at line 227 of file differential_transmission.h.
|
inline |
Definition at line 229 of file differential_transmission.h.
|
inline |
Definition at line 228 of file differential_transmission.h.
|
inlineoverridevirtual |
Reimplemented from transmission_interface::Transmission.
Definition at line 224 of file differential_transmission.h.
|
inlineoverridevirtual |
Reimplemented from transmission_interface::Transmission.
Definition at line 225 of file differential_transmission.h.
|
inlineoverridevirtual |
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 342 of file differential_transmission.h.
|
inlineoverridevirtual |
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 368 of file differential_transmission.h.
|
inlineoverridevirtual |
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 355 of file differential_transmission.h.
|
inlineoverridevirtual |
Implements transmission_interface::Transmission.
Definition at line 222 of file differential_transmission.h.
|
inlineoverridevirtual |
Implements transmission_interface::Transmission.
Definition at line 223 of file differential_transmission.h.
|
protected |
Definition at line 232 of file differential_transmission.h.
|
protected |
Definition at line 235 of file differential_transmission.h.
|
protected |
Definition at line 234 of file differential_transmission.h.
|
protected |
Definition at line 233 of file differential_transmission.h.