6#include <VirtualRobot/XML/BaseIO.h>
7#include <VirtualRobot/XML/RobotIO.h>
16#include <RobotAPI/libraries/ArmarXObjects/aron/ObjectPose.aron.generated.h>
22#include <RobotAPI/libraries/armem_robot_state/aron/Robot.aron.generated.h>
32 const std::optional<std::string>& providerName,
33 const std::string& instanceName,
34 VirtualRobot::RobotIO::RobotDescription loadMode)
36 ARMARX_VERBOSE <<
"Getting `" << typeName +
"/" + instanceName <<
"`";
38 const std::optional<ArticulatedObject> articulatedObjectDescription =
39 get(typeName +
"/" + instanceName,
timestamp, providerName);
41 <<
"Failed to get articulated object `" << typeName <<
"/" << instanceName <<
"`";
43 auto obj = VirtualRobot::RobotIO::loadRobot(
44 articulatedObjectDescription->description.xml.toSystemPath(), loadMode);
48 ARMARX_WARNING <<
"Failed to load articulated object `" << typeName <<
"/"
49 << instanceName <<
"` from file `"
50 << articulatedObjectDescription->description.xml.toSystemPath() <<
"`.";
55 obj->setName(instanceName);
56 obj->setType(typeName);
63 VirtualRobot::Robot&
object,
65 const std::optional<std::string>& providerName)
67 const auto objectState =
72 <<
object.getName() <<
"` "
73 <<
"(type `" <<
object.getType() <<
"`)!";
77 object.setJointValues(objectState->jointMap);
78 object.setGlobalPose(objectState->globalPose.matrix());
SpamFilterDataPtr deactivateSpam(SpamFilterDataPtr const &spamFilter, float deactivationDurationSec, const std::string &identifier, bool deactivate)
VirtualRobot::RobotPtr getArticulatedObject(const std::string &typeName, const armem::Time ×tamp, const std::optional< std::string > &providerName, const std::string &instanceName="", VirtualRobot::RobotIO::RobotDescription loadMode=VirtualRobot::RobotIO::eStructure)
bool synchronizeArticulatedObject(VirtualRobot::Robot &object, const armem::Time ×tamp, const std::optional< std::string > &providerName)
std::optional< robot_state::RobotState > queryState(const std::string &instanceName, const armem::Time ×tamp, const std::optional< std::string > &providerName) const
std::optional< ArticulatedObject > get(const std::string &name, const armem::Time ×tamp, const std::optional< std::string > &providerName) const override
#define ARMARX_CHECK_NOT_NULL(ptr)
This macro evaluates whether ptr is not null and if it turns out to be false it will throw an Express...
#define ARMARX_WARNING
The logging level for unexpected behaviour, but not a serious problem.
#define ARMARX_VERBOSE
The logging level for verbose information.
std::shared_ptr< class Robot > RobotPtr
armarx::core::time::DateTime Time