types.h
Go to the documentation of this file.
1 #pragma once
2 
3 
4 #include <map>
5 #include <optional>
6 
7 #include <Eigen/Core>
8 
10 
12 
13 namespace armarx::armem::human
14 {
15 
16  struct PoseKeypoint
17  {
18  std::string label;
19  float confidence;
20 
22  std::optional<armarx::FramedOrientation> orientationCamera = std::nullopt;
23  std::optional<armarx::FramedPosition> positionRobot = std::nullopt;
24  std::optional<armarx::FramedOrientation> orientationRobot = std::nullopt;
25  std::optional<armarx::FramedPosition> positionGlobal = std::nullopt;
26  std::optional<armarx::FramedOrientation> orientationGlobal = std::nullopt;
27  };
28 
29  struct HumanPose
30  {
31  std::string poseModelId;
32 
33  using KeyPointMap = std::map<std::string, PoseKeypoint>;
35  std::optional<std::string> humanTrackingId = std::nullopt;
37  std::string cameraFrameName;
38  };
39 
41  {
42  std::string label;
43 
44  float confidence;
45 
46  Eigen::Vector2f position;
47  };
48 
49  struct HumanPose2D
50  {
51  std::string poseModelId;
52  std::map<std::string, PoseKeypoint2D> keypoints;
53  std::optional<std::string> humanTrackingId = std::nullopt;
55  std::string cameraFrameName;
56  };
57 
58 } // namespace armarx::armem::human
armarx::armem::human::PoseKeypoint2D::label
std::string label
Definition: types.h:42
DateTime.h
armarx::armem::human::PoseKeypoint::orientationGlobal
std::optional< armarx::FramedOrientation > orientationGlobal
Definition: types.h:26
armarx::armem::human::HumanPose2D
Definition: types.h:49
armarx::armem::human::PoseKeypoint::label
std::string label
Definition: types.h:18
armarx::armem::human::HumanPose2D::humanTrackingId
std::optional< std::string > humanTrackingId
Definition: types.h:53
armarx::armem::human::HumanPose2D::timestamp
DateTime timestamp
Definition: types.h:54
armarx::armem::human::HumanPose2D::poseModelId
std::string poseModelId
Definition: types.h:51
armarx::armem::human::HumanPose2D::keypoints
std::map< std::string, PoseKeypoint2D > keypoints
Definition: types.h:52
armarx::armem::human::HumanPose2D::cameraFrameName
std::string cameraFrameName
Definition: types.h:55
armarx::armem::human::PoseKeypoint2D::confidence
float confidence
Definition: types.h:44
armarx::armem::human::HumanPose::poseModelId
std::string poseModelId
Definition: types.h:31
armarx::armem::human::PoseKeypoint::positionRobot
std::optional< armarx::FramedPosition > positionRobot
Definition: types.h:23
armarx::armem::human::PoseKeypoint
Definition: types.h:16
FramedPose.h
armarx::armem::human::HumanPose::timestamp
DateTime timestamp
Definition: types.h:36
armarx::FramedPosition
The FramedPosition class.
Definition: FramedPose.h:142
armarx::armem::human::HumanPose::cameraFrameName
std::string cameraFrameName
Definition: types.h:37
armarx::armem::human::PoseKeypoint::confidence
float confidence
Definition: types.h:19
armarx::armem::human::PoseKeypoint::orientationRobot
std::optional< armarx::FramedOrientation > orientationRobot
Definition: types.h:24
armarx::armem::human::PoseKeypoint::positionCamera
armarx::FramedPosition positionCamera
Definition: types.h:21
armarx::armem::human::PoseKeypoint2D
Definition: types.h:40
armarx::armem::human::PoseKeypoint::orientationCamera
std::optional< armarx::FramedOrientation > orientationCamera
Definition: types.h:22
armarx::armem::human::HumanPose::KeyPointMap
std::map< std::string, PoseKeypoint > KeyPointMap
Definition: types.h:33
armarx::armem::human::PoseKeypoint2D::position
Eigen::Vector2f position
Definition: types.h:46
armarx::armem::human::HumanPose
Definition: types.h:29
armarx::armem::human::HumanPose::humanTrackingId
std::optional< std::string > humanTrackingId
Definition: types.h:35
armarx::core::time::DateTime
Represents a point in time.
Definition: DateTime.h:24
armarx::armem::human::PoseKeypoint::positionGlobal
std::optional< armarx::FramedPosition > positionGlobal
Definition: types.h:25
armarx::armem::human::HumanPose::keypoints
KeyPointMap keypoints
Definition: types.h:34
armarx::armem::human
Definition: aron_conversions.cpp:15