33 using namespace CoupledInteractionGroup;
36 CheckTargetPoseReached::SubClassRegistry
50 float forceThreshhold,
51 float torqueThreshhold)
54 getContext<CoupledInteractionGroupStatechartContext>();
68 float deviationForce = (curForce->toEigen() - refForces->toEigen()).
norm();
69 float deviationTorque = (curTorque->
toEigen() - refTorques->toEigen()).
norm();
70 ARMARX_INFO <<
"dev Force Torque " << deviationForce <<
" " << deviationTorque;
72 if (deviationForce > forceThreshhold && deviationTorque > torqueThreshhold)
88 getContext<CoupledInteractionGroupStatechartContext>();
91 platformPose(0) = poseRef->getDataField(
"positionX")->getFloat();
92 platformPose(1) = poseRef->getDataField(
"positionY")->getFloat();
93 platformPose(2) = poseRef->getDataField(
"rotation")->getFloat();
102 ARMARX_INFO <<
"Target Pose " << tableTargetPose->x <<
" " << tableTargetPose->y <<
" "
103 << tableTargetPose->z;
104 float distancetravelled =
sqrt(
107 ARMARX_INFO <<
"Distance travelled " << distancetravelled;
108 std::string leftTcpName(
"TCP L");
109 std::string rightTcpName(
"TCP R");
110 Eigen::Vector3f nullVec;
120 platformPrx->move(0, 0, 0);
123 Eigen::Vector3f initial = in.getInitialPose()->toEigen();
124 ARMARX_INFO <<
"Initial platform pose: " << initial;
130 emitEvForcesTooHighNotReached();
133 emitEvTargetPoseReached();
137 emitEvTargetPoseNotReached();
161 getContext<CoupledInteractionGroupStatechartContext>();
171 return "CheckTargetPoseReached";