/home/runner/work/beluga/beluga/beluga_ros/include/beluga_ros/ndt_ellipsoid.hpp File Reference

/home/runner/work/beluga/beluga/beluga_ros/include/beluga_ros/ndt_ellipsoid.hpp File Reference#

Beluga ROS: /home/runner/work/beluga/beluga/beluga_ros/include/beluga_ros/ndt_ellipsoid.hpp File Reference
Beluga ROS
ndt_ellipsoid.hpp File Reference

Utilities for NDT I/O over ROS interfaces. More...

#include <beluga_ros/messages.hpp>
#include <Eigen/Core>
#include <beluga/eigen_compatibility.hpp>
#include <range/v3/view/enumerate.hpp>
#include <beluga/sensor/data/ndt_cell.hpp>
#include <beluga/sensor/data/sparse_value_grid.hpp>
Include dependency graph for ndt_ellipsoid.hpp:

Go to the source code of this file.

Namespaces

 beluga_ros
 The main Beluga ROS namespace.
 

Functions

bool beluga_ros::detail::use_mean_covariance (Eigen::SelfAdjointEigenSolver< Eigen::Matrix< double, 3, 3 >> &eigen_solver, beluga::NDTCell< 3 > cell, beluga_ros::msg::Marker &marker)
 Create an ellipoid based on NDT cell data (eigenvalues and eigenvectors) contained in the received marker. More...
 
void beluga_ros::detail::use_cell_size (const Eigen::Vector< int, 3 > &position, double size, beluga_ros::msg::Marker &marker)
 Create a cube contained in the received marker. More...
 
template<typename MapType , int NDim>
std::pair< beluga_ros::msg::MarkerArray, bool > beluga_ros::assign_obstacle_map (const beluga::SparseValueGrid< MapType, NDim > &grid, beluga_ros::msg::MarkerArray &message)
 

Detailed Description

Utilities for NDT I/O over ROS interfaces.

Function Documentation

◆ use_cell_size()

void beluga_ros::detail::use_cell_size ( const Eigen::Vector< int, 3 > &  position,
double  size,
beluga_ros::msg::Marker &  marker 
)

Create a cube contained in the received marker.

Parameters
positionCenter of the cube.
sizeSize of the edges.
markerMarker that will contain the message.

◆ use_mean_covariance()

bool beluga_ros::detail::use_mean_covariance ( Eigen::SelfAdjointEigenSolver< Eigen::Matrix< double, 3, 3 >> &  eigen_solver,
beluga::NDTCell< 3 >  cell,
beluga_ros::msg::Marker &  marker 
)

Create an ellipoid based on NDT cell data (eigenvalues and eigenvectors) contained in the received marker.

Parameters
eigen_solverPrecreated eigen solver of the NDT cell.
cellNDT cell.
markerMarker that will contain the message.
Returns
A boolean set to false if the ellipsoid could not be created (because the covariances are non-diagonalizable).