37 const NJointKinematicUnitPassThroughControllerConfigPtr& cfg,
44 if (ct->
isA<ControlTarget1DoFActuatorPosition>())
47 sensor._float = &(sv->
asA<SensorValue1DoFActuatorPosition>()->position);
49 target._float = &(ct->
asA<ControlTarget1DoFActuatorPosition>()->position);
52 else if (ct->
isA<ControlTarget1DoFActuatorVelocity>())
55 sensor._float = &(sv->
asA<SensorValue1DoFActuatorVelocity>()->velocity);
57 target._float = &(ct->
asA<ControlTarget1DoFActuatorVelocity>()->velocity);
61 else if (ct->
isA<ControlTarget1DoFActuatorTorque>())
64 sensor._float = &(sv->
asA<SensorValue1DoFActuatorTorque>()->torque);
66 target._float = &(ct->
asA<ControlTarget1DoFActuatorTorque>()->torque);
72 sensor._int16 = &(sv->
asA<SensorValue1DoFMotorPWM>()->motorPWM);
79 throw InvalidArgumentException{
"Unsupported control mode: " + cfg->controlMode};