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)
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];
std::vector< double > jnt_reduction_
void actuatorToJointEffort(const ActuatorData &act_data, JointData &jnt_data) override
Transform effort variables from actuator to joint space.
std::size_t numActuators() const override
bool hasActuatorToJointTorqueSensor() const override
std::vector< double * > absolute_position
std::vector< double * > velocity
const std::vector< double > & getActuatorReduction() const
std::vector< double * > absolute_position
Contains pointers to raw data representing the position, velocity and acceleration of a transmission'...
std::vector< double * > position
void actuatorToJointAbsolutePosition(const ActuatorData &act_data, JointData &jnt_data) override
Transform absolute encoder values from actuator to joint space.
std::vector< double > jnt_offset_
const std::vector< double > & getJointReduction() const
std::vector< double * > torque_sensor
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 actuatorToJointTorqueSensor(const ActuatorData &act_data, JointData &jnt_data) override
Transform torque sensor values from actuator to joint space.
void jointToActuatorPosition(const JointData &jnt_data, ActuatorData &act_data) override
Transform position variables from joint to actuator space.
bool hasActuatorToJointAbsolutePosition() const override
std::vector< double * > torque_sensor
Implementation of a four-bar-linkage transmission.
std::vector< double > act_reduction_
Contains pointers to raw data representing the position, velocity and acceleration of a transmission'...
void jointToActuatorEffort(const JointData &jnt_data, ActuatorData &act_data) override
Transform effort variables from joint to actuator space.
std::vector< double * > velocity
std::vector< double * > position
const std::vector< double > & getJointOffset() const
std::vector< double * > effort
void jointToActuatorVelocity(const JointData &jnt_data, ActuatorData &act_data) override
Transform velocity variables from joint to actuator space.
std::vector< double * > effort
void actuatorToJointVelocity(const ActuatorData &act_data, JointData &jnt_data) override
Transform velocity variables from actuator to joint space.
Abstract base class for representing mechanical transmissions.
void actuatorToJointPosition(const ActuatorData &act_data, JointData &jnt_data) override
Transform position variables from actuator to joint space.
std::size_t numJoints() const override