27 #include <sol/sol.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()};
98 {
"velocity_norm",
static_cast<double>(o.
velocity.norm())},
103 friend void to_lua(sol::state_view view, Object* ) {
104 sol::usertype<Object> usertype_table = view.new_usertype<Object>(
"Object");
115 usertype_table[
"ego_position"] = +[](
const Object &
self,
const Eigen::Isometry3d &sensorMountPose) {
116 Eigen::Vector3d pos = sensorMountPose *
self.pose *
self.cog_offset;
128 using Objects = std::vector<std::shared_ptr<Object>>;
131 j = fable::Json::array();
132 for (
const auto& o : os) {
133 assert(o !=
nullptr);
140 {Object::Type::Static,
"static"},
141 {Object::Type::Dynamic,
"dynamic"},
142 {Object::Type::Unknown,
"unknown"},
146 {Object::Class::Unknown,
"unknown"},
147 {Object::Class::Pedestrian,
"pedestrian"},
148 {Object::Class::Bike,
"bicycle"},
149 {Object::Class::Motorbike,
"motorcycle"},
150 {Object::Class::Car,
"car"},
151 {Object::Class::Truck,
"truck"},
152 {Object::Class::Trailer,
"trailer"},
#define ENUM_SERIALIZATION(xType, xMap)
Definition: enum.hpp:51
nlohmann::json Json
Definition: fable_fwd.hpp:35
std::vector< std::shared_ptr< Object > > Objects
Definition: object.hpp:128
Definition: object.hpp:51
Eigen::Vector3d dimensions
Dimensions in [m].
Definition: object.hpp:72
Eigen::Vector3d acceleration
Absolute acceleration in [m/(s*s)].
Definition: object.hpp:81
double exist_prob
Object existence probability.
Definition: object.hpp:60
Type type
Type of object.
Definition: object.hpp:63
Eigen::Vector3d angular_velocity
Angular velocity in [rad/s].
Definition: object.hpp:84
Eigen::Vector3d cog_offset
Center of geometry offset in [m].
Definition: object.hpp:75
Class classification
Classification of object.
Definition: object.hpp:66
Eigen::Isometry3d pose
Pose in [m] and [rad].
Definition: object.hpp:69
int id
ID of object, should be unique.
Definition: object.hpp:57
Eigen::Vector3d velocity
Absolute velocity in [m/s].
Definition: object.hpp:78