31 #ifndef TRANSMISSION_INTERFACE_FOUR_BAR_LINKAGE_TRANSMISSION_H 32 #define TRANSMISSION_INTERFACE_FOUR_BAR_LINKAGE_TRANSMISSION_H 127 const std::vector<double>& joint_reduction,
128 const std::vector<double>& joint_offset = std::vector<double>(2, 0.0));
204 const std::vector<double>& joint_reduction,
205 const std::vector<double>& joint_offset)
235 *jnt_data.
effort[0] = jr[0] * (*act_data.
effort[0] * ar[0]);
236 *jnt_data.
effort[1] = jr[1] * (*act_data.
effort[1] * ar[1] - *act_data.
effort[0] * ar[0] * jr[0]);
275 *act_data.
effort[0] = *jnt_data.
effort[0] / (ar[0] * jr[0]);
303 *act_data.
position[0] = jnt_pos_off[0] * jr[0] * ar[0];
304 *act_data.
position[1] = (jnt_pos_off[0] + jnt_pos_off[1] * jr[1]) * ar[1];
309 #endif // TRANSMISSION_INTERFACE_FOUR_BAR_LINKAGE_TRANSMISSION_H std::vector< double > jnt_reduction_
std::vector< double * > velocity
void actuatorToJointPosition(const ActuatorData &act_data, JointData &jnt_data)
Transform position variables from actuator to joint space.
std::size_t numJoints() const
Contains pointers to raw data representing the position, velocity and acceleration of a transmission'...
std::vector< double * > position
std::vector< double > jnt_offset_
FourBarLinkageTransmission(const std::vector< double > &actuator_reduction, const std::vector< double > &joint_reduction, const std::vector< double > &joint_offset=std::vector< double >(2, 0.0))
void actuatorToJointVelocity(const ActuatorData &act_data, JointData &jnt_data)
Transform velocity variables from actuator to joint space.
const std::vector< double > & getActuatorReduction() const
void actuatorToJointEffort(const ActuatorData &act_data, JointData &jnt_data)
Transform effort variables from actuator to joint space.
Implementation of a four-bar-linkage transmission.
std::vector< double > act_reduction_
void jointToActuatorVelocity(const JointData &jnt_data, ActuatorData &act_data)
Transform velocity variables from joint to actuator space.
Contains pointers to raw data representing the position, velocity and acceleration of a transmission'...
const std::vector< double > & getJointReduction() const
std::vector< double * > velocity
void jointToActuatorEffort(const JointData &jnt_data, ActuatorData &act_data)
Transform effort variables from joint to actuator space.
std::vector< double * > position
std::vector< double * > effort
std::vector< double * > effort
Abstract base class for representing mechanical transmissions.
std::size_t numActuators() const
void jointToActuatorPosition(const JointData &jnt_data, ActuatorData &act_data)
Transform position variables from joint to actuator space.
const std::vector< double > & getJointOffset() const