25 #include <VirtualRobot/Robot.h>
31 NJointControllerRegistration<NJointKinematicUnitPassThroughController>
33 "NJointKinematicUnitPassThroughController");
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>())
79 throw InvalidArgumentException{
"Unsupported control mode: " + cfg->controlMode};