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)
86 Eigen::Vector3f platformPose;
88 getContext<CoupledInteractionGroupStatechartContext>();
91 platformPose(0) = poseRef->getDataField(
"positionX")->getFloat();
92 platformPose(1) = poseRef->getDataField(
"positionY")->getFloat();
93 platformPose(2) = poseRef->getDataField(
"rotation")->getFloat();
96 sqrt((platformPose(0) - tableTargetPose->x) * (platformPose(0) - tableTargetPose->x) +
97 (platformPose(1) - tableTargetPose->y) * (platformPose(1) - tableTargetPose->y));
98 float angleDistance = fabs(platformPose(2) - tableTargetPose->z);
100 ARMARX_INFO <<
"Robot Pose " << platformPose(0) <<
" " << platformPose(1) <<
" "
102 ARMARX_INFO <<
"Target Pose " << tableTargetPose->x <<
" " << tableTargetPose->y <<
" "
103 << tableTargetPose->z;
104 float distancetravelled = sqrt(
105 (platformPose(0) - in.getInitialPose()->x) * (platformPose(0) - in.getInitialPose()->x) +
106 (platformPose(1) - in.getInitialPose()->y) * (platformPose(1) - in.getInitialPose()->y));
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;
125 ARMARX_INFO <<
"Current platform pose: " << platformPose;
126 ARMARX_INFO <<
"Distance travelled: " << (initial - platformPose).
norm();
128 if ((initial - platformPose).
norm() < 500)
130 emitEvForcesTooHighNotReached();
133 emitEvTargetPoseReached();
137 emitEvTargetPoseNotReached();
custom implementation of the StatechartContext for a statechart
ForceTorqueUnitObserverInterfacePrx getForceTorqueUnitObserver()
ChannelRefPtr getChannelRef(const std::string &observerName, const std::string &channelName) override