127 const std::vector<double>& joint_reduction,
128 const std::vector<double>& joint_offset);
138 const std::vector<double>& joint_reduction,
139 bool ignore_transmission_for_absolute_encoders =
false,
140 const std::vector<double>& joint_offset = std::vector<double>(2, 0.0));
239 const std::vector<double>& joint_reduction,
240 const std::vector<double>& joint_offset)
245 const std::vector<double>& joint_reduction,
246 const bool ignore_transmission_for_absolute_encoders,
247 const std::vector<double>& joint_offset)
278 *jnt_data.
effort[0] = jr[0] * (*act_data.
effort[0] * ar[0] + *act_data.
effort[1] * ar[1]);
279 *jnt_data.
effort[1] = jr[1] * (*act_data.
effort[0] * ar[0] - *act_data.
effort[1] * ar[1]);
351 *act_data.
effort[0] = (*jnt_data.
effort[0] / jr[0] + *jnt_data.
effort[1] / jr[1]) / (2.0 * ar[0]);
352 *act_data.
effort[1] = (*jnt_data.
effort[0] / jr[0] - *jnt_data.
effort[1] / jr[1]) / (2.0 * ar[1]);
379 *act_data.
position[0] = (jnt_pos_off[0] * jr[0] + jnt_pos_off[1] * jr[1]) * ar[0];
380 *act_data.
position[1] = (jnt_pos_off[0] * jr[0] - jnt_pos_off[1] * jr[1]) * ar[1];
std::vector< double * > absolute_position
std::vector< double * > velocity
void actuatorToJointTorqueSensor(const ActuatorData &act_data, JointData &jnt_data) override
Transform torque sensor values from actuator to joint space.
std::vector< double * > absolute_position
void jointToActuatorEffort(const JointData &jnt_data, ActuatorData &act_data) override
Transform effort variables from joint to actuator space.
Contains pointers to raw data representing the position, velocity and acceleration of a transmission'...
void jointToActuatorVelocity(const JointData &jnt_data, ActuatorData &act_data) override
Transform velocity variables from joint to actuator space.
const std::vector< double > & getJointReduction() const
std::vector< double * > position
void jointToActuatorPosition(const JointData &jnt_data, ActuatorData &act_data) override
Transform position variables from joint to actuator space.
std::size_t numJoints() const override
bool hasActuatorToJointTorqueSensor() const override
const std::vector< double > & getJointOffset() const
std::vector< double * > torque_sensor
std::size_t numActuators() const override
std::vector< double > jnt_offset_
std::vector< double * > torque_sensor
void actuatorToJointVelocity(const ActuatorData &act_data, JointData &jnt_data) override
Transform velocity variables from actuator to joint space.
void actuatorToJointAbsolutePosition(const ActuatorData &act_data, JointData &jnt_data) override
Transform absolute encoder values from actuator to joint space.
bool ignore_transmission_for_absolute_encoders_
void actuatorToJointEffort(const ActuatorData &act_data, JointData &jnt_data) override
Transform effort variables from actuator to joint space.
bool hasActuatorToJointAbsolutePosition() const override
const std::vector< double > & getActuatorReduction() const
Contains pointers to raw data representing the position, velocity and acceleration of a transmission'...
std::vector< double * > velocity
std::vector< double * > position
std::vector< double * > effort
std::vector< double * > effort
Abstract base class for representing mechanical transmissions.
DifferentialTransmission(const std::vector< double > &actuator_reduction, const std::vector< double > &joint_reduction, const std::vector< double > &joint_offset)
Implementation of a differential transmission.
std::vector< double > act_reduction_
void actuatorToJointPosition(const ActuatorData &act_data, JointData &jnt_data) override
Transform position variables from actuator to joint space.
std::vector< double > jnt_reduction_