23 #ifndef CLOE_COMPONENT_OBJECT_HPP_ 24 #define CLOE_COMPONENT_OBJECT_HPP_ 29 #include <Eigen/Geometry> 52 enum class Type { Unknown, Static, Dynamic };
54 enum class Class { Unknown, Pedestrian, Bike, Motorbike, Car, Truck, Trailer };
69 Eigen::Isometry3d
pose{Eigen::Isometry3d()};
78 Eigen::Vector3d
velocity{Eigen::Vector3d::Zero()};
88 friend void to_json(Json& j,
const Object& o) {
98 {
"velocity_norm",
static_cast<double>(o.
velocity.norm())},
111 using Objects = std::vector<std::shared_ptr<Object>>;
113 inline void to_json(Json& j,
const Objects& os) {
115 for (
const auto& o : os) {
116 assert(o !=
nullptr);
123 {Object::Type::Static,
"static"},
124 {Object::Type::Dynamic,
"dynamic"},
125 {Object::Type::Unknown,
"unknown"},
129 {Object::Class::Unknown,
"unknown"},
130 {Object::Class::Pedestrian,
"pedestrian"},
131 {Object::Class::Bike,
"bicycle"},
132 {Object::Class::Motorbike,
"motorcycle"},
133 {Object::Class::Car,
"car"},
134 {Object::Class::Truck,
"truck"},
135 {Object::Class::Trailer,
"trailer"},
141 #endif // CLOE_COMPONENT_OBJECT_HPP_ Eigen::Vector3d cog_offset
Center of geometry offset in [m].
Definition: object.hpp:75
Eigen::Isometry3d pose
Pose in [m] and [rad].
Definition: object.hpp:69
Type type
Type of object.
Definition: object.hpp:63
Eigen::Vector3d angular_velocity
Angular velocity in [rad/s].
Definition: object.hpp:84
double exist_prob
Object existence probability.
Definition: object.hpp:60
int id
ID of object, should be unique.
Definition: object.hpp:57
Definition: object.hpp:51
Eigen::Vector3d acceleration
Absolute acceleration in [m/(s*s)].
Definition: object.hpp:81
std::vector< std::shared_ptr< Object > > Objects
Definition: object.hpp:111
Definition: coordinator.hpp:36
#define ENUM_SERIALIZATION(xType, xMap)
Definition: enum.hpp:52
Eigen::Vector3d dimensions
Dimensions in [m].
Definition: object.hpp:72
Eigen::Vector3d velocity
Absolute velocity in [m/s].
Definition: object.hpp:78
Class classification
Classification of object.
Definition: object.hpp:66