Public Member Functions | Private Attributes | List of all members
transmission_interface::SimpleTransmission Class Reference

Implementation of a simple reducer transmission. More...

#include <simple_transmission.h>

Inheritance diagram for transmission_interface::SimpleTransmission:
Inheritance graph
[legend]

Public Member Functions

void actuatorToJointAbsolutePosition (const ActuatorData &act_data, JointData &jnt_data) override
 
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
 
void actuatorToJointVelocity (const ActuatorData &act_data, JointData &jnt_data) override
 Transform velocity variables from actuator to joint space. More...
 
double getActuatorReduction () const
 
double getJointOffset () 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
 
 SimpleTransmission (const double reduction, const double joint_offset=0.0)
 
- Public Member Functions inherited from transmission_interface::Transmission
virtual ~Transmission ()=default
 

Private Attributes

double jnt_offset_
 
double reduction_
 

Detailed Description

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.

simple_transmission.png
Effort
Velocity
Position
Actuator to joint

\[ \tau_j = n \tau_a \]

\[ \dot{x}_j = \dot{x}_a / n \]

\[ x_j = x_a / n + x_{off} \]

Joint to actuator

\[ \tau_a = \tau_j / n\]

\[ \dot{x}_a = n \dot{x}_j \]

\[ x_a = n (x_j - x_{off}) \]

where:

Definition at line 95 of file simple_transmission.h.

Constructor & Destructor Documentation

◆ SimpleTransmission()

transmission_interface::SimpleTransmission::SimpleTransmission ( const double  reduction,
const double  joint_offset = 0.0 
)
inline
Parameters
reductionReduction ratio.
joint_offsetJoint position offset used in the position mappings.
Precondition
Nonzero reduction value.

Definition at line 186 of file simple_transmission.h.

Member Function Documentation

◆ actuatorToJointAbsolutePosition()

void transmission_interface::SimpleTransmission::actuatorToJointAbsolutePosition ( const ActuatorData act_data,
JointData jnt_data 
)
inlineoverridevirtual

Reimplemented from transmission_interface::Transmission.

Definition at line 224 of file simple_transmission.h.

◆ actuatorToJointEffort()

void transmission_interface::SimpleTransmission::actuatorToJointEffort ( const ActuatorData act_data,
JointData jnt_data 
)
inlineoverridevirtual

Transform effort variables from actuator to joint space.

Parameters
[in]act_dataActuator-space variables.
[out]jnt_dataJoint-space variables.
Precondition
Actuator and joint effort vectors must have size 1 and point to valid data. To call this method it is not required that all other data vectors contain valid data, and can even remain empty.

Implements transmission_interface::Transmission.

Definition at line 197 of file simple_transmission.h.

◆ actuatorToJointPosition()

void transmission_interface::SimpleTransmission::actuatorToJointPosition ( const ActuatorData act_data,
JointData jnt_data 
)
inlineoverridevirtual

Transform position variables from actuator to joint space.

Parameters
[in]act_dataActuator-space variables.
[out]jnt_dataJoint-space variables.
Precondition
Actuator and joint position vectors must have size 1 and point to valid data. To call this method it is not required that all other data vectors contain valid data, and can even remain empty.

Implements transmission_interface::Transmission.

Definition at line 215 of file simple_transmission.h.

◆ actuatorToJointTorqueSensor()

void transmission_interface::SimpleTransmission::actuatorToJointTorqueSensor ( const ActuatorData act_data,
JointData jnt_data 
)
inlineoverridevirtual

Reimplemented from transmission_interface::Transmission.

Definition at line 234 of file simple_transmission.h.

◆ actuatorToJointVelocity()

void transmission_interface::SimpleTransmission::actuatorToJointVelocity ( const ActuatorData act_data,
JointData jnt_data 
)
inlineoverridevirtual

Transform velocity variables from actuator to joint space.

Parameters
[in]act_dataActuator-space variables.
[out]jnt_dataJoint-space variables.
Precondition
Actuator and joint velocity vectors must have size 1 and point to valid data. To call this method it is not required that all other data vectors contain valid data, and can even remain empty.

Implements transmission_interface::Transmission.

Definition at line 206 of file simple_transmission.h.

◆ getActuatorReduction()

double transmission_interface::SimpleTransmission::getActuatorReduction ( ) const
inline

Definition at line 177 of file simple_transmission.h.

◆ getJointOffset()

double transmission_interface::SimpleTransmission::getJointOffset ( ) const
inline

Definition at line 178 of file simple_transmission.h.

◆ hasActuatorToJointAbsolutePosition()

bool transmission_interface::SimpleTransmission::hasActuatorToJointAbsolutePosition ( ) const
inlineoverridevirtual

Reimplemented from transmission_interface::Transmission.

Definition at line 174 of file simple_transmission.h.

◆ hasActuatorToJointTorqueSensor()

bool transmission_interface::SimpleTransmission::hasActuatorToJointTorqueSensor ( ) const
inlineoverridevirtual

Reimplemented from transmission_interface::Transmission.

Definition at line 175 of file simple_transmission.h.

◆ jointToActuatorEffort()

void transmission_interface::SimpleTransmission::jointToActuatorEffort ( const JointData jnt_data,
ActuatorData act_data 
)
inlineoverridevirtual

Transform effort variables from joint to actuator space.

Parameters
[in]jnt_dataJoint-space variables.
[out]act_dataActuator-space variables.
Precondition
Actuator and joint effort vectors must have size 1 and point to valid data. To call this method it is not required that all other data vectors contain valid data, and can even remain empty.

Implements transmission_interface::Transmission.

Definition at line 245 of file simple_transmission.h.

◆ jointToActuatorPosition()

void transmission_interface::SimpleTransmission::jointToActuatorPosition ( const JointData jnt_data,
ActuatorData act_data 
)
inlineoverridevirtual

Transform position variables from joint to actuator space.

Parameters
[in]jnt_dataJoint-space variables.
[out]act_dataActuator-space variables.
Precondition
Actuator and joint position vectors must have size 1 and point to valid data. To call this method it is not required that all other data vectors contain valid data, and can even remain empty.

Implements transmission_interface::Transmission.

Definition at line 263 of file simple_transmission.h.

◆ jointToActuatorVelocity()

void transmission_interface::SimpleTransmission::jointToActuatorVelocity ( const JointData jnt_data,
ActuatorData act_data 
)
inlineoverridevirtual

Transform velocity variables from joint to actuator space.

Parameters
[in]jnt_dataJoint-space variables.
[out]act_dataActuator-space variables.
Precondition
Actuator and joint velocity vectors must have size 1 and point to valid data. To call this method it is not required that all other data vectors contain valid data, and can even remain empty.

Implements transmission_interface::Transmission.

Definition at line 254 of file simple_transmission.h.

◆ numActuators()

std::size_t transmission_interface::SimpleTransmission::numActuators ( ) const
inlineoverridevirtual
Returns
Number of actuators managed by transmission, ie. the dimension of the actuator space.

Implements transmission_interface::Transmission.

Definition at line 172 of file simple_transmission.h.

◆ numJoints()

std::size_t transmission_interface::SimpleTransmission::numJoints ( ) const
inlineoverridevirtual
Returns
Number of joints managed by transmission, ie. the dimension of the joint space.

Implements transmission_interface::Transmission.

Definition at line 173 of file simple_transmission.h.

Member Data Documentation

◆ jnt_offset_

double transmission_interface::SimpleTransmission::jnt_offset_
private

Definition at line 183 of file simple_transmission.h.

◆ reduction_

double transmission_interface::SimpleTransmission::reduction_
private

Definition at line 182 of file simple_transmission.h.


The documentation for this class was generated from the following file:


transmission_interface
Author(s): Adolfo Rodriguez Tsouroukdissian
autogenerated on Mon Feb 28 2022 23:30:26