types.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <filesystem>
4 #include <map>
5 #include <vector>
6 
7 #include <Eigen/Geometry>
8 
11 
13 #include <RobotAPI/libraries/armem_robot_state/aron/Proprioception.aron.generated.h>
14 
15 namespace armarx::armem::robot
16 {
18  {
19  // DateTime timestamp;
20 
21  std::string name;
22  PackagePath xml{"", std::filesystem::path("")};
23  };
24 
25 
26  struct Twist
27  {
28  Eigen::Vector3f linear{Eigen::Vector3f::Zero()};
29  Eigen::Vector3f angular{Eigen::Vector3f::Zero()};
30  };
31 
33  {
35  };
36 
37  struct ForceTorque
38  {
39  Eigen::Vector3f force;
40  Eigen::Vector3f gravityCompensatedForce;
41  Eigen::Vector3f torque;
42  Eigen::Vector3f gravityCompensatedTorque;
43  };
44 
45  using ToFArray = Eigen::MatrixXf;
46 
47  struct ToF
48  {
50  std::string frame;
51  };
52 
53 
54  struct RobotState
55  {
56  using JointMap = std::map<std::string, float>;
57  using Pose = Eigen::Affine3f;
58 
60 
63 
64  std::optional<armarx::armem::arondto::Proprioception> proprioception;
65  };
66 
67 
68  struct Robot
69  {
71  std::string instance;
72 
74 
76 
77  std::string name() const;
78  };
79 
80  using Robots = std::vector<Robot>;
81  using RobotDescriptions = std::vector<RobotDescription>;
82  using RobotStates = std::vector<RobotState>;
83 
84  std::ostream& operator<<(std::ostream &os, const RobotDescription &rhs);
85 
86 } // namespace armarx::armem::robot
armarx::armem::robot::Robots
std::vector< Robot > Robots
Definition: types.h:80
armarx::armem::robot
Definition: aron_conversions.cpp:10
armarx::armem::robot::ForceTorque::gravityCompensatedTorque
Eigen::Vector3f gravityCompensatedTorque
Definition: types.h:42
armarx::armem::robot::RobotStates
std::vector< RobotState > RobotStates
Definition: types.h:82
armarx::armem::robot::ForceTorque::force
Eigen::Vector3f force
Definition: types.h:39
armarx::armem::robot::ForceTorque::gravityCompensatedForce
Eigen::Vector3f gravityCompensatedForce
Definition: types.h:40
armarx::armem::robot::Robot
Definition: types.h:68
armarx::armem::robot::Twist::angular
Eigen::Vector3f angular
Definition: types.h:29
DateTime.h
armarx::armem::robot::Twist
Definition: types.h:26
armarx::armem::robot::operator<<
std::ostream & operator<<(std::ostream &os, const RobotDescription &rhs)
Definition: types.cpp:9
armarx::armem::robot::RobotDescriptions
std::vector< RobotDescription > RobotDescriptions
Definition: types.h:81
armarx::armem::robot::RobotState::proprioception
std::optional< armarx::armem::arondto::Proprioception > proprioception
Definition: types.h:64
armarx::armem::robot::Robot::name
std::string name() const
Definition: types.cpp:16
armarx::armem::robot::ToFArray
Eigen::MatrixXf ToFArray
Definition: types.h:45
armarx::armem::robot::RobotState
Definition: types.h:54
armarx::armem::robot::Twist::linear
Eigen::Vector3f linear
Definition: types.h:28
armarx::armem::robot::RobotDescription
Definition: types.h:17
armarx::armem::robot::Robot::description
RobotDescription description
Definition: types.h:70
ObjectID.h
armarx::armem::robot::ForceTorque::torque
Eigen::Vector3f torque
Definition: types.h:41
armarx::armem::robot::Robot::instance
std::string instance
Definition: types.h:71
armarx::armem::robot::ToF::array
ToFArray array
Definition: types.h:49
armarx::armem::robot::RobotState::JointMap
std::map< std::string, float > JointMap
Definition: types.h:56
armarx::armem::robot::RobotDescription::xml
PackagePath xml
Definition: types.h:22
armarx::armem::robot::Robot::timestamp
DateTime timestamp
Definition: types.h:75
armarx::armem::robot::ToF
Definition: types.h:47
armarx::core::time::DateTime
Represents a point in time.
Definition: DateTime.h:24
armarx::armem::robot::RobotDescription::name
std::string name
Definition: types.h:21
armarx::armem::robot::PlatformState::twist
Twist twist
Definition: types.h:34
armarx::armem::robot::ForceTorque
Definition: types.h:37
armarx::armem::robot::RobotState::jointMap
JointMap jointMap
Definition: types.h:62
armarx::armem::robot::RobotState::globalPose
Pose globalPose
Definition: types.h:61
armarx::PackagePath
Definition: PackagePath.h:55
armarx::armem::robot::Robot::config
RobotState config
Definition: types.h:73
armarx::armem::robot::RobotState::timestamp
DateTime timestamp
Definition: types.h:59
armarx::armem::robot::PlatformState
Definition: types.h:32
armarx::armem::robot::RobotState::Pose
Eigen::Affine3f Pose
Definition: types.h:57
PackagePath.h
armarx::armem::robot::ToF::frame
std::string frame
Definition: types.h:50