30 #include <Eigen/Geometry>
32 #include <VirtualRobot/EndEffector/EndEffector.h>
33 #include <VirtualRobot/RobotConfig.h>
69 std::string myShapeName = shapeName;
79 if (!eef->hasPreshape(myShapeName))
81 ARMARX_INFO <<
"Shape with name " << myShapeName <<
" not known in eef "
82 << eef->getName() <<
". Looking for partial match";
84 bool foundMatch =
false;
86 for (std::string name : eef->getPreshapes())
88 if (name.find(myShapeName) != std::string::npos)
99 ARMARX_WARNING <<
"No match found for " << myShapeName <<
" in eef "
100 << eef->getName() <<
" available shapes: " << eef->getPreshapes();
105 VirtualRobot::RobotConfigPtr config = eef->getPreshape(myShapeName);
106 std::map<std::string, float>
jointAngles = config->getRobotNodeJointValueMap();
108 NameControlModeMap controlModes;
110 for (std::pair<std::string, float> pair :
jointAngles)
112 controlModes.insert(std::make_pair(pair.first, ePositionControl));
115 kinematicUnitPrx->switchControlMode(controlModes);
122 NameControlModeMap controlModes;
124 for (std::pair<std::string, float> pair :
jointAngles)
126 controlModes.insert(std::make_pair(pair.first, ePositionControl));
129 kinematicUnitPrx->switchControlMode(controlModes);