1 #ifndef BASE_SAMPLES_LASER_H__ 2 #define BASE_SAMPLES_LASER_H__ 5 #include <Eigen/Geometry> 6 #include <base/Float.hpp> 7 #include <boost/cstdint.hpp> 8 #include <base/Time.hpp> 9 #include <base/Deprecated.hpp> 11 namespace base {
namespace samples {
63 : start_angle(0), angular_resolution(0), speed(0), minRange(0), maxRange(0) {}
82 bool skip_invalid_points =
true)
const 87 points.reserve(ranges.size());
93 if(!skip_invalid_points)
95 for(
unsigned int i = 0; i < ranges.size(); i++) {
98 point = transform * point;
99 points.push_back(point);
101 points.push_back(
Eigen::Vector3d(base::unknown<double>(), base::unknown<double>(), base::unknown<double>()));
105 for(
unsigned int i = 0; i < ranges.size(); i++) {
108 point = transform * point;
109 points.push_back(point);
bool getPointFromScanBeam(const unsigned int i, Eigen::Vector3d &point) const
Definition: LaserScan.cpp:44
Definition: LaserScan.hpp:20
#define BASE_TYPES_DEPRECATED
Definition: Deprecated.hpp:5
Definition: LaserScan.hpp:23
boost::uint32_t uint32_t
Definition: LaserScan.hpp:24
bool isRangeValid(uint32_t range) const
Definition: LaserScan.cpp:24
bool isValidBeam(const unsigned int i) const
Definition: LaserScan.cpp:7
Definition: LaserScan.hpp:16
uint32_t minRange
Definition: LaserScan.hpp:51
double angular_resolution
Definition: LaserScan.hpp:40
double speed
Definition: LaserScan.hpp:44
double start_angle
Definition: LaserScan.hpp:36
std::vector< uint32_t > ranges
Definition: LaserScan.hpp:48
Definition: LaserScan.hpp:15
bool getPointFromScanBeamXForward(const unsigned int i, Eigen::Vector3d &point) const
Definition: LaserScan.cpp:31
Definition: LinearAngular6DCommand.hpp:8
Definition: LaserScan.hpp:18
LaserScan()
Definition: LaserScan.hpp:62
Eigen::Matrix< double, 3, 1, Eigen::DontAlign > Vector3d
Definition: Eigen.cpp:12
void reset()
Definition: LaserScan.cpp:14
LASER_RANGE_ERRORS
Definition: LaserScan.hpp:14
Eigen::Transform< double, 3, Eigen::Affine > Affine3d
Definition: Eigen.cpp:20
Definition: LaserScan.hpp:19
void convertScanToPointCloud(std::vector< T > &points, const Eigen::Affine3d &transform=Eigen::Affine3d::Identity(), bool skip_invalid_points=true) const
Definition: LaserScan.hpp:80
uint32_t maxRange
Definition: LaserScan.hpp:54
std::vector< float > remission
Definition: LaserScan.hpp:60
Definition: LaserScan.hpp:17
Time time
Definition: LaserScan.hpp:30