aron_conversions.cpp
Go to the documentation of this file.
1 #include "aron_conversions.h"
2 
3 #include <string>
4 
6 
7 #include <RobotAPI/libraries/armem_robot_state/aron/Proprioception.aron.generated.h>
8 #include <RobotAPI/libraries/armem_robot_state/aron/Exteroception.aron.generated.h>
9 #include <RobotAPI/libraries/armem_robot_state/aron/Transform.aron.generated.h>
12 
13 
14 namespace armarx::armem
15 {
16 
17  /* Transform */
18 
19  void
20  fromAron(const arondto::Transform& dto, robot_state::Transform& bo)
21  {
22  fromAron(dto.header, bo.header);
23  aron::fromAron(dto.transform, bo.transform);
24  }
25 
26  void
27  toAron(arondto::Transform& dto, const robot_state::Transform& bo)
28  {
29  toAron(dto.header, bo.header);
30  aron::toAron(dto.transform, bo.transform);
31  }
32 
33  /* TransformHeader */
34 
35  void
36  toAron(arondto::TransformHeader& dto, const robot_state::TransformHeader& bo)
37  {
38  aron::toAron(dto.parentFrame, bo.parentFrame);
39  aron::toAron(dto.frame, bo.frame);
40  aron::toAron(dto.agent, bo.agent);
41  aron::toAron(dto.timestamp, bo.timestamp);
42  }
43 
44  void
45  fromAron(const arondto::TransformHeader& dto, robot_state::TransformHeader& bo)
46  {
47  aron::fromAron(dto.parentFrame, bo.parentFrame);
48  aron::fromAron(dto.frame, bo.frame);
49  aron::fromAron(dto.agent, bo.agent);
50  aron::fromAron(dto.timestamp, bo.timestamp);
51  }
52 
53  void
54  fromAron(const armarx::armem::prop::arondto::Platform& dto, robot::PlatformState& bo)
55  {
56  bo.twist.linear.setZero();
57  bo.twist.linear.head<2>() = dto.velocity.head<2>(); // x and y
58 
59  bo.twist.angular.setZero();
60  bo.twist.angular.z() = dto.velocity.z(); // yaw
61  }
62 
63  void
64  toAron(armarx::armem::prop::arondto::Platform& dto, const robot::PlatformState& bo)
65  {
66  ARMARX_ERROR << "Not implemented yet.";
67  }
68 
69  void
70  fromAron(const armarx::armem::prop::arondto::ForceTorque& dto, robot::ForceTorque& bo)
71  {
72  aron::fromAron(dto.force, bo.force);
73  aron::fromAron(dto.gravityCompensationForce, bo.gravityCompensatedForce);
74  aron::fromAron(dto.torque, bo.torque);
75  aron::fromAron(dto.gravityCompensationTorque, bo.gravityCompensatedTorque);
76  }
77 
78  void
79  toAron(armarx::armem::prop::arondto::ForceTorque& dto, const robot::ForceTorque& bo)
80  {
81  aron::toAron(dto.force, bo.force);
82  aron::toAron(dto.gravityCompensationForce, bo.gravityCompensatedForce);
83  aron::toAron(dto.torque, bo.torque);
84  aron::toAron(dto.gravityCompensationTorque, bo.gravityCompensatedTorque);
85  }
86 
87 
88  void fromAron(const armarx::armem::exteroception::arondto::ToF& dto, robot::ToFArray& bo){
89  bo = dto.array;
90  }
91 
92  void toAron(armarx::armem::exteroception::arondto::ToF& dto, const robot::ToFArray& bo){
93  dto.array = bo;
94  }
95 
96 
97 } // namespace armarx::armem
armarx::armem::toAron
void toAron(arondto::MemoryID &dto, const MemoryID &bo)
Definition: aron_conversions.cpp:19
armarx::armem
Definition: LegacyRobotStateMemoryAdapter.cpp:31
armarx::armem::robot_state::TransformHeader
Definition: types.h:31
armarx::armem::robot::ToFArray
Eigen::MatrixXf ToFArray
Definition: types.h:45
armarx::armem::robot_state::Transform
Definition: types.h:41
aron_conversions.h
ARMARX_ERROR
#define ARMARX_ERROR
Definition: Logging.h:189
types.h
aron_conversions.h
armarx::armem::fromAron
void fromAron(const arondto::MemoryID &dto, MemoryID &bo)
Definition: aron_conversions.cpp:8
armarx::armem::robot::ForceTorque
Definition: types.h:37
armarx::aron::toAron
void toAron(T &dto, const T &bo)
Framework for converting ARON DTOs (Data Transfer Objects) to C++ BOs (Business Objects) and back.
Definition: aron_conversions.h:74
Logging.h
armarx::aron::fromAron
void fromAron(const T &dto, T &bo)
Definition: aron_conversions.h:79
armarx::armem::robot::PlatformState
Definition: types.h:32
armarx::aron::bo
const std::optional< BoT > & bo
Definition: aron_conversions.h:166