Go to the documentation of this file.
127 const std::vector<double>& joint_reduction,
128 const std::vector<double>& joint_offset = std::vector<double>(2, 0.0));
225 const std::vector<double>& joint_reduction,
226 const std::vector<double>& joint_offset)
227 : act_reduction_(actuator_reduction),
228 jnt_reduction_(joint_reduction),
229 jnt_offset_(joint_offset)
255 *jnt_data.
effort[0] = jr[0] * (*act_data.
effort[0] * ar[0]);
256 *jnt_data.
effort[1] = jr[1] * (*act_data.
effort[1] * ar[1] - *act_data.
effort[0] * ar[0] * jr[0]);
325 *act_data.
effort[0] = *jnt_data.
effort[0] / (ar[0] * jr[0]);
353 *act_data.
position[0] = jnt_pos_off[0] * jr[0] * ar[0];
354 *act_data.
position[1] = (jnt_pos_off[0] + jnt_pos_off[1] * jr[1]) * ar[1];
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))
std::vector< double * > velocity
std::size_t numJoints() const override
std::vector< double > jnt_offset_
Implementation of a four-bar-linkage transmission.
void actuatorToJointAbsolutePosition(const ActuatorData &act_data, JointData &jnt_data) override
Transform absolute encoder values from actuator to joint space.
void actuatorToJointPosition(const ActuatorData &act_data, JointData &jnt_data) override
Transform position variables from actuator to joint space.
bool hasActuatorToJointTorqueSensor() const override
std::vector< double * > position
const std::vector< double > & getActuatorReduction() const
Contains pointers to raw data representing the position, velocity and acceleration of a transmission'...
std::size_t numActuators() const override
std::vector< double > jnt_reduction_
std::vector< double * > torque_sensor
std::vector< double * > effort
Abstract base class for representing mechanical transmissions.
std::vector< double * > position
std::vector< double * > absolute_position
const std::vector< double > & getJointOffset() const
std::vector< double * > effort
std::vector< double * > torque_sensor
const std::vector< double > & getJointReduction() const
std::vector< double * > velocity
void jointToActuatorEffort(const JointData &jnt_data, ActuatorData &act_data) override
Transform effort variables from joint to actuator space.
std::vector< double > act_reduction_
void jointToActuatorVelocity(const JointData &jnt_data, ActuatorData &act_data) override
Transform velocity variables from joint to actuator space.
std::vector< double * > absolute_position
void actuatorToJointEffort(const ActuatorData &act_data, JointData &jnt_data) override
Transform effort variables from actuator to joint space.
void jointToActuatorPosition(const JointData &jnt_data, ActuatorData &act_data) override
Transform position variables from joint to actuator space.
Contains pointers to raw data representing the position, velocity and acceleration of a transmission'...
void actuatorToJointTorqueSensor(const ActuatorData &act_data, JointData &jnt_data) override
Transform torque sensor values from actuator to joint space.
void actuatorToJointVelocity(const ActuatorData &act_data, JointData &jnt_data) override
Transform velocity variables from actuator to joint space.
bool hasActuatorToJointAbsolutePosition() const override