Autoware.Auto
|
|
#include <ndt_map.hpp>
Public Types | |
using | Voxel = DynamicNDTVoxel |
using | Config = autoware::perception::filters::voxel_grid::Config |
using | Point = Eigen::Vector3d |
using | TimePoint = std::chrono::system_clock::time_point |
using | VoxelViewVector = std::vector< VoxelView< Voxel > > |
using | VoxelGrid = NDTGrid< Voxel >::Grid |
using | ConfigPoint = NDTGrid< Voxel >::ConfigPoint |
Public Member Functions | |
DynamicNDTMap (const Config &voxel_grid_config) | |
void | set (const sensor_msgs::msg::PointCloud2 &msg) |
Set the contents of the pointcloud as the new map. More... | |
void | insert (const sensor_msgs::msg::PointCloud2 &msg) |
template<typename DeserializingMapT > | |
void | serialize_as (sensor_msgs::msg::PointCloud2 &msg_out) const |
const VoxelViewVector & | cell (const Point &pt) const |
const VoxelViewVector & | cell (float32_t x, float32_t y, float32_t z) const |
const std::string & | frame_id () const noexcept |
TimePoint | stamp () const noexcept |
bool | valid () const noexcept |
Check if the map is valid. More... | |
const ConfigPoint & | cell_size () const noexcept |
std::size_t | size () const noexcept |
VoxelGrid::const_iterator | begin () const noexcept |
Returns an const iterator to the first element of the map. More... | |
VoxelGrid::const_iterator | end () const noexcept |
Returns a const iterator to one past the last element of the map. More... | |
void | clear () noexcept |
Clear all voxels in the map. More... | |
template<> | |
void | serialize_as (sensor_msgs::msg::PointCloud2 &msg_out) const |
Static Public Attributes | |
static constexpr uint32_t | kNumConfigPoints = 3U |
First 3 points of a serialized message will contain 3 extra points: Min point, max point and the voxel size. More... | |
Ndt Map for a dynamic voxel type. This map representation is only to be used when a dense point cloud is intended to be represented as a map. (i.e. by the map publisher)
using autoware::localization::ndt::DynamicNDTMap::Config = autoware::perception::filters::voxel_grid::Config |
using autoware::localization::ndt::DynamicNDTMap::Point = Eigen::Vector3d |
using autoware::localization::ndt::DynamicNDTMap::TimePoint = std::chrono::system_clock::time_point |
using autoware::localization::ndt::DynamicNDTMap::VoxelGrid = NDTGrid<Voxel>::Grid |
using autoware::localization::ndt::DynamicNDTMap::VoxelViewVector = std::vector<VoxelView<Voxel> > |
|
explicit |
|
noexcept |
Returns an const iterator to the first element of the map.
const DynamicNDTMap::VoxelViewVector & autoware::localization::ndt::DynamicNDTMap::cell | ( | const Point & | pt | ) | const |
Lookup the cell at location.
pt | point to lookup |
const DynamicNDTMap::VoxelViewVector & autoware::localization::ndt::DynamicNDTMap::cell | ( | float32_t | x, |
float32_t | y, | ||
float32_t | z | ||
) | const |
Lookup the cell at location.
x | x coordinate |
y | y coordinate |
z | z coordinate |
|
noexcept |
Get size of the cell.
|
noexcept |
Clear all voxels in the map.
|
noexcept |
Returns a const iterator to one past the last element of the map.
|
noexcept |
Get map's frame id.
void autoware::localization::ndt::DynamicNDTMap::insert | ( | const sensor_msgs::msg::PointCloud2 & | msg | ) |
Insert the dense point cloud to the map. This is intended for converting a dense point cloud into the ndt representation. Ideal for reading dense pcd files.
msg | PointCloud2 message to add. |
void autoware::localization::ndt::DynamicNDTMap::serialize_as | ( | sensor_msgs::msg::PointCloud2 & | msg_out | ) | const |
Iterate over the map representation and convert it into a PointCloud2 message where each voxel in the map corresponds to a single point in the PointCloud2 field.
DeserializingMapT | The map type that can deserialize the serialized message. |
msg_out | Reference to the initialized pointcloud message that will store the serialized map data. |
void autoware::localization::ndt::DynamicNDTMap::serialize_as | ( | sensor_msgs::msg::PointCloud2 & | msg_out | ) | const |
The resulting point cloud has the following fields: x, y, z, cov_xx, cov_xy, cov_xz, cov_yy, cov_yz, cov_zz, cell_id.
msg_out | Reference to the pointcloud message that will store the serialized map data. The message will be initialized before use. |
void autoware::localization::ndt::DynamicNDTMap::set | ( | const sensor_msgs::msg::PointCloud2 & | msg | ) |
Set the contents of the pointcloud as the new map.
msg | Pointcloud to be inserted. |
|
noexcept |
Get size of the map
|
noexcept |
Get map's time stamp.
|
noexcept |
Check if the map is valid.
|
staticconstexpr |
First 3 points of a serialized message will contain 3 extra points: Min point, max point and the voxel size.