30 using namespace CoupledInteractionGroup;
46 Eigen::Vector3f zeroVelVec;
47 zeroVelVec << 0.0, 0.0, 0.0;
50 std::string leftTcpName = in.getLeftHandName();
51 std::string rightTcpName = in.getRightHandName();
71 Eigen::Matrix4f leftTcpPoseBase = context->
getRobot()->getRobotNode(in.getLeftHandName())->getPoseInRootFrame();
72 Eigen::Matrix4f rightTcpPoseBase = context->
getRobot()->getRobotNode(in.getRightHandName())->getPoseInRootFrame();
74 Eigen::Vector3f desiredLeftRPY;
75 VirtualRobot::MathTools::eigen4f2rpy(leftTcpPoseBase, desiredLeftRPY);
76 Eigen::Vector3f desiredRightRPY;
77 VirtualRobot::MathTools::eigen4f2rpy(rightTcpPoseBase, desiredRightRPY);
81 platformPose(0) = poseRef->getDataField(
"positionX")->getFloat();
82 platformPose(1) = poseRef->getDataField(
"positionY")->getFloat();
83 platformPose(2) = poseRef->getDataField(
"rotation")->getFloat();
85 local.setDesiredLeftTcpPose(
FramedPose(leftTcpPoseBase,
"Armar3_Base",
"Armar3"));
86 local.setDesiredRightTcpPose(
FramedPose(rightTcpPoseBase,
"Armar3_Base",
"Armar3"));
87 local.setDesiredLeftTcpOrientation(
FramedDirection(desiredLeftRPY,
"Armar3_Base",
"Armar3"));
88 local.setDesiredRightTcpOrientation(
FramedDirection(desiredRightRPY,
"Armar3_Base",
"Armar3"));
89 local.setCurrentLeftTcpOriVelocity(
FramedDirection(zeroVelVec,
"Armar3_Base",
"Armar3"));
90 local.setCurrentLeftTcpPosVelocity(
FramedDirection(zeroVelVec,
"Armar3_Base",
"Armar3"));
91 local.setCurrentRightTcpOriVelocity(
FramedDirection(zeroVelVec,
"Armar3_Base",
"Armar3"));
92 local.setCurrentRightTcpPosVelocity(
FramedDirection(zeroVelVec,
"Armar3_Base",
"Armar3"));
93 local.setCurrentPlatformVelocity(
Vector3(zeroVelVec));
95 local.setinitialForcesReset(
true);
105 std::string leftTcpName = in.getLeftHandName();
106 std::string rightTcpName = in.getRightHandName();
124 return "MoveTableAdmittanceControl";