31 using namespace CoupledInteractionGroup;
46 getContext<CoupledInteractionGroupStatechartContext>();
53 std::string leftTcpName = in.getLeftHandName();
54 std::string rightTcpName = in.getRightHandName();
68 forceRefLeft = DatafieldRefPtr::dynamicCast(
70 forceRefRight = DatafieldRefPtr::dynamicCast(
72 torqueRefLeft = DatafieldRefPtr::dynamicCast(
74 torqueRefRight = DatafieldRefPtr::dynamicCast(
88 Eigen::Vector3f zeroVelVec;
89 zeroVelVec << 0.0, 0.0, 0.0;
96 context->
getRobot()->getRobotNode(in.getLeftHandName())->getPoseInRootFrame();
98 context->
getRobot()->getRobotNode(in.getRightHandName())->getPoseInRootFrame();
100 Eigen::Vector3f leftTcpPos;
101 leftTcpPos << leftTcpPoseBase(0, 3), leftTcpPoseBase(1, 3), leftTcpPoseBase(2, 3);
102 Eigen::Vector3f rightTcpPos;
103 rightTcpPos << rightTcpPoseBase(0, 3), rightTcpPoseBase(1, 3), rightTcpPoseBase(2, 3);
105 local.setCurrentRightHandPosition(
FramedPosition(rightTcpPos,
"Armar3_Base",
"Armar3"));
106 local.setCurrentLeftHandPosition(
FramedPosition(leftTcpPos,
"Armar3_Base",
"Armar3"));
107 float velInMillimeterSecond = 20.0;
110 local.setCurrentLeftHandForces(curForceLeft);
111 local.setCurrentRightHandForces(curForceRight);
112 local.setCurrentRightHandTorques(curTorqueRight);
113 local.setCurrentLeftHandTorques(curTorqueLeft);
114 local.setVelocityInMillimetersSecond(velInMillimeterSecond);
115 local.setCurrentLeftTcpOriVelocity(curVelOriLeft);
116 local.setCurrentRightTcpOriVelocity(curVelOriRight);
117 local.setCurrentLeftTcpPosVelocity(curVelLeft);
118 local.setCurrentRightTcpPosVelocity(curVelRight);
119 local.setLeftHandStopped(
false);
120 local.setRightHandStopped(
false);
121 local.setLeftHandChecked(
false);
122 local.setRightHandChecked(
false);
145 getContext<CoupledInteractionGroupStatechartContext>();
149 std::string leftTcpName = in.getLeftHandName();
150 std::string rightTcpName = in.getRightHandName();