robot_conversions.cpp
Go to the documentation of this file.
1#include "robot_conversions.h"
2
3#include <filesystem>
4
6
9#include <RobotAPI/libraries/armem_robot_state/aron/RobotDescription.aron.generated.h>
12
13
14namespace fs = ::std::filesystem;
15
17{
18
19 std::optional<description::RobotDescription>
21 {
22 arondto::RobotDescription aronRobotDescription;
23 try
24 {
25 aronRobotDescription.fromAron(instance.data());
26 }
27 catch (...)
28 {
29 ARMARX_WARNING << "Conversion to RobotDescription failed!";
30 return std::nullopt;
31 }
32
33 description::RobotDescription robotDescription{
34 .name = "",
35 .xml = ::armarx::PackagePath("", fs::path("")), // initialize empty, no default c'tor
36 .visualization = {},
37 .info = {}};
38
39 fromAron(aronRobotDescription, robotDescription);
40
41 return robotDescription;
42 }
43
44 std::optional<RobotState>
46 {
47 arondto::Robot aronRobot;
48 try
49 {
50 aronRobot.fromAron(instance.data());
51 }
52 catch (...)
53 {
54 ARMARX_WARNING << "Conversion to RobotState failed!";
55 return std::nullopt;
56 }
57
58 RobotState robotState;
59 fromAron(aronRobot.state, robotState);
60
61 return robotState;
62 }
63
64} // namespace armarx::armem::robot_state
Client-side working entity instance.
#define ARMARX_WARNING
The logging level for unexpected behaviour, but not a serious problem.
Definition Logging.h:193
std::optional< description::RobotDescription > convertRobotDescription(const armem::wm::EntityInstance &instance)
std::optional< RobotState > convertRobotState(const armem::wm::EntityInstance &instance)
void fromAron(const arondto::ObjectInstance &dto, RobotState &bo)