22 #include <RobotAPI/libraries/armem_robot/aron/Robot.aron.generated.h>
23 #include <RobotAPI/libraries/armem_robot/aron/RobotState.aron.generated.h>
27 #include <RobotAPI/libraries/armem_robot_state/aron/Proprioception.aron.generated.h>
28 #include <RobotAPI/libraries/armem_robot_state/aron/Transform.aron.generated.h>
29 #include <RobotAPI/libraries/armem_robot_state/aron/TransformHeader.aron.generated.h>
33 namespace fs = ::std::filesystem;
38 properties(r.properties), propertyPrefix(r.propertyPrefix), memoryWriter(r.memoryWriter)
79 update.entityID = entityID;
81 arondto::RobotDescription aronDescription;
82 toAron(aronDescription, description);
84 update.instancesData = {aronDescription.toAron()};
85 update.referencedTime = timestamp;
92 if (not updateResult.success)
103 const std::string& robotName,
108 const auto providerId =
111 .withTimestamp(timestamp);
114 update.entityID = entityID;
116 arondto::Transform aronTransform;
120 aronTransform.header.agent = robotName;
123 aronTransform.header.timestamp = timestamp;
125 aronTransform.transform = globalRootPose;
128 update.instancesData = {aronTransform.toAron()};
129 update.referencedTime = timestamp;
136 if (not updateResult.success)
147 const std::string& robotTypeName,
148 const std::string& robotName,
154 const auto entityID = providerId.withEntityName(robotName).withTimestamp(timestamp);
157 update.entityID = entityID;
159 arondto::Proprioception aronProprioception;
160 aronProprioception.joints.position = jointMap;
162 update.instancesData = {aronProprioception.toAron()};
163 update.referencedTime = timestamp;
170 if (not updateResult.success)
181 const std::string& robotTypeName,
182 const std::string& robotName,
187 const bool successProp =
190 return successLoc and successProp;