11#include <transmission_interface/transmission.h>
12#include <transmission_interface/transmission_interface_exception.h>
20 double joint_reduction,
double joint_offset = 0.0);
59 std::vector<double> actuator_reduction,
double joint_reduction,
61 : act_reduction_(std::move(actuator_reduction)), jnt_reduction_(joint_reduction), jnt_offset_(joint_offset)
67 throw TransmissionInterfaceException(
"Transmission actuators reduction ratios cannot be zero.");
70 throw TransmissionInterfaceException(
"Transmission joint reduction ratios cannot be zero.");
75 double ad = (*act_data.effort[0] * ar[0]);
78 ad = ad + (*act_data.effort[i] * ar[i]);
87 double ad = (*act_data.velocity[0] / ar[0]);
90 ad = ad + (*act_data.velocity[i] / ar[i]);
Definition multi_actuator_transmission.h:17
double jnt_offset_
Definition multi_actuator_transmission.h:54
void jointToActuatorVelocity(const JointData &jnt_data, ActuatorData &act_data) override
Definition multi_actuator_transmission.h:26
double getJointReduction() const
Definition multi_actuator_transmission.h:42
void actuatorToJointPosition(const ActuatorData &act_data, JointData &jnt_data) override
Definition multi_actuator_transmission.h:95
const std::vector< double > & getActuatorReduction() const
Definition multi_actuator_transmission.h:38
void actuatorToJointVelocity(const ActuatorData &act_data, JointData &jnt_data) override
Definition multi_actuator_transmission.h:83
double jnt_reduction_
Definition multi_actuator_transmission.h:53
std::size_t numJoints() const override
Definition multi_actuator_transmission.h:33
std::size_t numActuators() const override
Definition multi_actuator_transmission.h:29
void actuatorToJointEffort(const ActuatorData &act_data, JointData &jnt_data) override
Definition multi_actuator_transmission.h:72
void jointToActuatorEffort(const JointData &jnt_data, ActuatorData &act_data) override
Definition multi_actuator_transmission.h:102
double getJointOffset() const
Definition multi_actuator_transmission.h:46
std::vector< double > act_reduction_
Definition multi_actuator_transmission.h:52
void jointToActuatorPosition(const JointData &jnt_data, ActuatorData &act_data) override
Definition multi_actuator_transmission.h:27
MultiActuatorTransmission(const TransmissionInfo &transmission_info, std::vector< double > actuator_reduction, double joint_reduction, double joint_offset=0.0)
Definition multi_actuator_transmission.h:58
int act_number_
Definition multi_actuator_transmission.h:55
Definition multi_actuator_transmission.h:15