28 #include <RobotAPI/interface/units/TCPControlUnit.h>
31 using namespace MotionControlGroup;
48 std::string kinematicChain = in.getKinematicChainName();
50 if (!context->
getRobot()->hasRobotNodeSet(kinematicChain))
56 std::string endEffectorName = context->
getRobot()->getRobotNodeSet(kinematicChain)->getTCP()->getName();
59 orientationVelocity->frame = endEffectorName;
60 orientationVelocity->x = orientationVelocity->y = orientationVelocity->z = 0;
63 positionVelocity->frame = endEffectorName;
64 positionVelocity->x = positionVelocity->y = positionVelocity->z = 0;
66 if (isInputParameterSet(
"TargetTcpOrientationVelocity"))
68 orientationVelocity = in.getTargetTcpOrientationVelocity();
71 if (isInputParameterSet(
"TargetTcpPositionVelocity"))
73 positionVelocity = in.getTargetTcpPositionVelocity();
81 context->
getTCPControlUnit()->setTCPVelocity(in.getKinematicChainName(), endEffectorName, positionVelocity, orientationVelocity);
84 setTimeoutEvent(in.getWaitTimeUntilTransition(), createEventSuccess());