laser.hpp
1 #ifndef NOOS_OBJECT_LASER
2 #define NOOS_OBJECT_LASER
3 /*
4  * LICENSE HERE
5  */
6 #include "includes.ihh"
7 #include "noos/objects/pose.hpp"
8 namespace noos {
10 namespace object {
17 struct laser
18 {
20  float aperture = 0.0;
22  uint64_t timestamp = 0;
24  float max_range = 0.0;
26  float std_error = 0.0;
28  bool right_to_left = true;
30  std::vector<float> ranges = {0.0};
32  std::vector<int> intensities = {0};
35 
37  laser() = default;
38 
40  json::object_t to_json() const;
41 
43  bool operator==(const noos::object::laser & rhs) const;
44 
45 };
46 }
47 }
48 #endif
float std_error
Statistical error of laser.
Definition: laser.hpp:26
float aperture
Aperture of the laser in radians.
Definition: laser.hpp:20
json::object_t to_json() const
laser()=default
Constructor.
std::vector< int > intensities
Intensity values of the scan.
Definition: laser.hpp:32
uint64_t timestamp
Time.
Definition: laser.hpp:22
noos::object::pose< float > pose3d
Sensor pose.
Definition: laser.hpp:34
describes a laser scan data
Definition: laser.hpp:17
Definition: asio_handler.hpp:14
std::vector< float > ranges
Measurements of distance.
Definition: laser.hpp:30
bool operator==(const noos::object::laser &rhs) const
Equality operator.
float max_range
Maximum distance of laser measurements in meters.
Definition: laser.hpp:24
bool right_to_left
The direction in which the laser rotates.
Definition: laser.hpp:28