6 #include <VirtualRobot/XML/RobotIO.h>
14 #include <RobotAPI/libraries/ArmarXObjects/aron/ObjectPose.aron.generated.h>
20 #include <RobotAPI/libraries/armem_robot/aron/Robot.aron.generated.h>
30 const std::optional<std::string>& providerName,
31 const std::string& instanceName)
35 ARMARX_INFO <<
"Found " << descriptions.size() <<
" articulated object descriptions";
37 const auto it = std::find_if(
41 { return desc.name == typeName; });
43 if (it == descriptions.end())
45 ARMARX_WARNING <<
"Description for articulate object with type <" << typeName
46 <<
"> not (yet) available!";
50 ARMARX_DEBUG <<
"Description for articulate object with type <" << typeName
53 auto obj = VirtualRobot::RobotIO::loadRobot(it->xml.toSystemPath(),
54 VirtualRobot::RobotIO::eStructure);
58 ARMARX_WARNING <<
"Failed to load description for articulated object <" << typeName
63 obj->setName(instanceName);
64 obj->setType(it->name);
73 const std::optional<std::string>& providerName)
75 const auto objectState =
76 queryState(
object.getType() +
"/" +
object.getName(), timestamp, providerName);
80 <<
object.getName() <<
"` "
81 <<
"(type `" <<
object.getType() <<
"`)!";
85 object.setJointValues(objectState->jointMap);
86 object.setGlobalPose(objectState->globalPose.matrix());