base
Public Types | Public Member Functions | Public Attributes | List of all members
base::samples::LaserScan Struct Reference

#include <LaserScan.hpp>

Public Types

typedef boost::uint32_t uint32_t
 

Public Member Functions

 LaserScan ()
 
bool isValidBeam (const unsigned int i) const
 
void reset ()
 
bool isRangeValid (uint32_t range) const
 
template<typename T >
void convertScanToPointCloud (std::vector< T > &points, const Eigen::Affine3d &transform=Eigen::Affine3d::Identity(), bool skip_invalid_points=true) const
 
bool getPointFromScanBeamXForward (const unsigned int i, Eigen::Vector3d &point) const
 
bool getPointFromScanBeam (const unsigned int i, Eigen::Vector3d &point) const
 
std::vector< Eigen::Vector3dconvertScanToPointCloud (const Eigen::Affine3d &transform) const BASE_TYPES_DEPRECATED
 

Public Attributes

Time time
 
double start_angle
 
double angular_resolution
 
double speed
 
std::vector< uint32_tranges
 
uint32_t minRange
 
uint32_t maxRange
 
std::vector< float > remission
 

Member Typedef Documentation

◆ uint32_t

typedef boost::uint32_t base::samples::LaserScan::uint32_t

Constructor & Destructor Documentation

◆ LaserScan()

base::samples::LaserScan::LaserScan ( )
inline

Member Function Documentation

◆ convertScanToPointCloud() [1/2]

template<typename T >
void base::samples::LaserScan::convertScanToPointCloud ( std::vector< T > &  points,
const Eigen::Affine3d transform = Eigen::Affine3d::Identity(),
bool  skip_invalid_points = true 
) const
inline

converts the laser scan into a point cloud according to the given transformation matrix, the start_angle and the angular_resolution. If the transformation matrix is set to identity the laser scan is converted into the coordinate system of the sensor (x-axis = forward, y-axis = to the left, z-axis = upwards) If a scan point is outside of valid range all its coordinates are set to NaN. Unfortunately invalid scan points can not be skipped because this would invalidate the remission association

◆ convertScanToPointCloud() [2/2]

std::vector< Eigen::Vector3d > base::samples::LaserScan::convertScanToPointCloud ( const Eigen::Affine3d transform) const
Deprecated:
  • returns the points in a wrong coordinate system

◆ getPointFromScanBeam()

bool base::samples::LaserScan::getPointFromScanBeam ( const unsigned int  i,
Eigen::Vector3d point 
) const
Deprecated:
  • returns the points in a wrong coordinate system

◆ getPointFromScanBeamXForward()

bool base::samples::LaserScan::getPointFromScanBeamXForward ( const unsigned int  i,
Eigen::Vector3d point 
) const

Helper function that converts range 'i' to a point. The origin ot the point will be the laserScanner

◆ isRangeValid()

bool base::samples::LaserScan::isRangeValid ( LaserScan::uint32_t  range) const

◆ isValidBeam()

bool base::samples::LaserScan::isValidBeam ( const unsigned int  i) const

◆ reset()

void base::samples::LaserScan::reset ( )

Member Data Documentation

◆ angular_resolution

double base::samples::LaserScan::angular_resolution

Angle difference between two scan point in radians;

◆ maxRange

uint32_t base::samples::LaserScan::maxRange

maximal valid range returned by laserscanner

◆ minRange

uint32_t base::samples::LaserScan::minRange

minimal valid range returned by laserscanner

◆ ranges

std::vector<uint32_t> base::samples::LaserScan::ranges

The ranges themselves: the distance to obstacles in millimeters

◆ remission

std::vector<float> base::samples::LaserScan::remission

The remission value from the laserscan. This value is not normalised and depends on various factors, like distance, angle of incidence and reflectivity of object.

◆ speed

double base::samples::LaserScan::speed

The rotation speed of the laserbeam in radians/seconds

◆ start_angle

double base::samples::LaserScan::start_angle

The angle at which the range readings start. Zero is at the front of the device and turns counter-clockwise. This value is in radians

◆ time

Time base::samples::LaserScan::time

The timestamp of this reading. The timestamp is the time at which the laser passed the zero step (i.e. the step at the back of the device, which is distinct from the measurement 0)


The documentation for this struct was generated from the following files: