25 #include <Eigen/Geometry>
27 #include <SimoxUtility/math/convert/rpy_to_mat3f.h>
30 #include <RobotAPI/interface/core/GeometryBase.h>
40 usingProxy(getProperty<std::string>(
"RobotStateComponentName").getValue());
42 usingProxy(getProperty<std::string>(
"WorkingMemoryName").getValue());
43 usingTopic(getProperty<std::string>(
"PlatformTopicName").getValue());
50 getProperty<std::string>(
"RobotStateComponentName").getValue());
54 memoryPrx = getProxy<memoryx::WorkingMemoryInterfacePrx>(
55 getProperty<std::string>(
"WorkingMemoryName").getValue());
65 robotName = getProperty<std::string>(
"RobotName").getValue();
67 getProperty<float>(
"RobotPoseZ").isSet() ? getProperty<float>(
"RobotPoseZ").getValue() : 0;
69 std::string agentName = getProperty<std::string>(
"AgentName").isSet()
70 ? getProperty<std::string>(
"AgentName").getValue()
74 ARMARX_INFO <<
"Creating robot agent with name " << agentName;
79 robotAgent->setStringifiedSharedRobotInterfaceProxy(iceCommunicator->proxyToString(robot));
85 global_T_robot_initial.translation().x() =
86 getProperty<float>(
"InitialPlatformPoseX").getValue();
87 global_T_robot_initial.translation().y() =
88 getProperty<float>(
"InitialPlatformPoseY").getValue();
89 global_T_robot_initial.linear() =
90 simox::math::rpy_to_mat3f(0, 0, getProperty<float>(
"InitialPlatformPoseAngle").getValue());
92 TransformStamped transformStamped;
93 transformStamped.transform = global_T_robot_initial.matrix();
94 transformStamped.header.agent = agentName;
96 transformStamped.header.timestampInMicroSeconds =
TimeUtil::GetTime().toMicroSeconds();
113 "KinematicSelfLocalizationCalculation");
115 execTask->setDelayWarningTolerance(100);
165 const ::Ice::Current&)
169 Eigen::Isometry3f global_T_robot(transformStamped.transform);
170 global_T_robot.translation().z() =
robotPoseZ;