Autoware.Auto
|
|
Namespaces | |
traits | |
transform_adapters | |
Classes | |
class | DynamicNDTMap |
class | DynamicNDTVoxel |
struct | geocentric_pose_t |
struct | geodetic_pose_t |
class | NDTGrid |
A voxel grid implementation for normal distribution transform. More... | |
class | NDTLocalizerBase |
class | NDTLocalizerConfigBase |
class | NDTScanBase |
class | P2DNDTLocalizer |
class | P2DNDTLocalizerConfig |
config class for p2d ndt localizer More... | |
class | P2DNDTObjective |
class | P2DNDTOptimizationConfig |
Config class for p2d optimziation problem. More... | |
class | P2DNDTScan |
struct | PointWithCovariances |
class | StaticNDTMap |
class | StaticNDTVoxel |
class | VoxelView< DynamicNDTVoxel > |
class | VoxelView< StaticNDTVoxel > |
VoxelViewBase implementation for StaticNDTVoxel . It's just a pure wrapper. More... | |
class | VoxelViewBase |
Typedefs | |
using | Real = float64_t |
using | CloudT = sensor_msgs::msg::PointCloud2 |
template<typename MapT > | |
using | P2DNDTOptimizationProblem = common::optimization::UnconstrainedOptimizationProblem< P2DNDTObjective< MapT >, EigenPose< Real >, 6U > |
using | PointWithCovariancesFieldGenerators = std::tuple< point_cloud_msg_wrapper::field_x_generator, point_cloud_msg_wrapper::field_y_generator, point_cloud_msg_wrapper::field_z_generator, field_icov_xx_generator, field_icov_xy_generator, field_icov_xz_generator, field_icov_yy_generator, field_icov_yz_generator, field_icov_zz_generator > |
using | NdtMapCloudModifier = point_cloud_msg_wrapper::PointCloud2Modifier< PointWithCovariances, PointWithCovariancesFieldGenerators > |
using | NdtMapCloudView = point_cloud_msg_wrapper::PointCloud2View< PointWithCovariances, PointWithCovariancesFieldGenerators > |
template<typename T > | |
using | EigenPose = Eigen::Matrix< T, 6U, 1U > |
template<typename T > | |
using | EigenTransform = Eigen::Transform< T, 3, Eigen::Affine, Eigen::ColMajor > |
using | RosTransform = geometry_msgs::msg::Transform |
using | RosPose = geometry_msgs::msg::Pose |
using | StaticView = VoxelView< StaticNDTVoxel > |
using | DynamicView = VoxelView< DynamicNDTVoxel > |
Enumerations | |
enum | Requires |
enum | Invertibility { Invertibility::INVERTIBLE, Invertibility::NOT_INVERTIBLE, Invertibility::UNKNOWN } |
Functions | |
void NDT_PUBLIC | read_from_yaml (const std::string &yaml_file_name, geodetic_pose_t *geo_pose) |
void NDT_PUBLIC | read_from_pcd (const std::string &file_name, sensor_msgs::msg::PointCloud2 *msg) |
geocentric_pose_t NDT_PUBLIC | load_map (const std::string &yaml_file_name, const std::string &pcl_file_name, sensor_msgs::msg::PointCloud2 &pc_out) |
Read the pcd file with filename into a PointCloud2 message, transform it into an NDT representation and then serialize the ndt representation back into a PointCloud2 message that can be published. More... | |
template<typename ScalarT > | |
bool8_t | is_valid_probability (ScalarT p) |
LIDAR_UTILS__DEFINE_FIELD_GENERATOR_FOR_MEMBER (icov_xx) | |
LIDAR_UTILS__DEFINE_FIELD_GENERATOR_FOR_MEMBER (icov_xy) | |
LIDAR_UTILS__DEFINE_FIELD_GENERATOR_FOR_MEMBER (icov_xz) | |
LIDAR_UTILS__DEFINE_FIELD_GENERATOR_FOR_MEMBER (icov_yy) | |
LIDAR_UTILS__DEFINE_FIELD_GENERATOR_FOR_MEMBER (icov_yz) | |
LIDAR_UTILS__DEFINE_FIELD_GENERATOR_FOR_MEMBER (icov_zz) | |
template<typename Derived > | |
bool | try_stabilize_covariance (Eigen::MatrixBase< Derived > &covariance, typename Derived::PlainMatrix::Scalar scaling_factor=0.1) |
Variables | |
template<typename VoxelT > | |
class NDT_PUBLIC | VoxelView |
using autoware::localization::ndt::CloudT = typedef sensor_msgs::msg::PointCloud2 |
using autoware::localization::ndt::DynamicView = typedef VoxelView<DynamicNDTVoxel> |
using autoware::localization::ndt::EigenPose = typedef Eigen::Matrix<T, 6U, 1U> |
using autoware::localization::ndt::EigenTransform = typedef Eigen::Transform<T, 3, Eigen::Affine, Eigen::ColMajor> |
using autoware::localization::ndt::NdtMapCloudModifier = typedef point_cloud_msg_wrapper::PointCloud2Modifier<PointWithCovariances, PointWithCovariancesFieldGenerators> |
using autoware::localization::ndt::NdtMapCloudView = typedef point_cloud_msg_wrapper::PointCloud2View<PointWithCovariances, PointWithCovariancesFieldGenerators> |
using autoware::localization::ndt::P2DNDTOptimizationProblem = typedef common::optimization::UnconstrainedOptimizationProblem<P2DNDTObjective<MapT>, EigenPose<Real>, 6U> |
using autoware::localization::ndt::PointWithCovariancesFieldGenerators = typedef std::tuple< point_cloud_msg_wrapper::field_x_generator, point_cloud_msg_wrapper::field_y_generator, point_cloud_msg_wrapper::field_z_generator, field_icov_xx_generator, field_icov_xy_generator, field_icov_xz_generator, field_icov_yy_generator, field_icov_yz_generator, field_icov_zz_generator> |
using autoware::localization::ndt::Real = typedef float64_t |
using autoware::localization::ndt::RosPose = typedef geometry_msgs::msg::Pose |
using autoware::localization::ndt::RosTransform = typedef geometry_msgs::msg::Transform |
using autoware::localization::ndt::StaticView = typedef VoxelView<StaticNDTVoxel> |
|
strong |
|
strong |
bool8_t autoware::localization::ndt::is_valid_probability | ( | ScalarT | p | ) |
autoware::localization::ndt::LIDAR_UTILS__DEFINE_FIELD_GENERATOR_FOR_MEMBER | ( | icov_xx | ) |
autoware::localization::ndt::LIDAR_UTILS__DEFINE_FIELD_GENERATOR_FOR_MEMBER | ( | icov_xy | ) |
autoware::localization::ndt::LIDAR_UTILS__DEFINE_FIELD_GENERATOR_FOR_MEMBER | ( | icov_xz | ) |
autoware::localization::ndt::LIDAR_UTILS__DEFINE_FIELD_GENERATOR_FOR_MEMBER | ( | icov_yy | ) |
autoware::localization::ndt::LIDAR_UTILS__DEFINE_FIELD_GENERATOR_FOR_MEMBER | ( | icov_yz | ) |
autoware::localization::ndt::LIDAR_UTILS__DEFINE_FIELD_GENERATOR_FOR_MEMBER | ( | icov_zz | ) |
geocentric_pose_t autoware::localization::ndt::load_map | ( | const std::string & | yaml_file_name, |
const std::string & | pcl_file_name, | ||
sensor_msgs::msg::PointCloud2 & | pc_out | ||
) |
Read the pcd file with filename into a PointCloud2 message, transform it into an NDT representation and then serialize the ndt representation back into a PointCloud2 message that can be published.
yaml_file_name | File name of the yaml file. |
pcl_file_name | File name of the pcd file. |
pc_out | Reference to the pointcloud message that will be populated from the data on the disk. |
void autoware::localization::ndt::read_from_pcd | ( | const std::string & | file_name, |
sensor_msgs::msg::PointCloud2 * | msg | ||
) |
Read the pcd file into a PointCloud2 message. Throws if the file cannot be read. The returned point cloud has float fields x, y, z, intensity, all of type float32_t, with the default intensity value being 0.0.
[in] | file_name | Name of the pcd file. |
[out] | msg | Pointer to PointCloud2 message |
void autoware::localization::ndt::read_from_yaml | ( | const std::string & | yaml_file_name, |
geodetic_pose_t * | geo_pose | ||
) |
Read the map info from a yaml file. Throws if the file cannot be read.
[in] | yaml_file_name | Name of the ymal file. |
[out] | geo_pose | Geodetic pose describing map orgin |
bool autoware::localization::ndt::try_stabilize_covariance | ( | Eigen::MatrixBase< Derived > & | covariance, |
typename Derived::PlainMatrix::Scalar | scaling_factor = 0.1 |
||
) |
This function will check if the covariance is valid based on its eigenvalues. If the covariance is valid, eigen values smaller than a fraction of the biggest eigen value will be capped to the threshold. Covariance then will be reconstructed from the modified set of eigen values and vectors. This should result in increased numerical stability as stated in [Magnusson 2009]. If the covariance is invalid, it will not be updated and false will be returned.
Derived | Deduced Eigen Matrix type. |
covariance | [in, out] Covariance matrix to get stabilized. |
scaling_factor | [in] The ratio between the max. eigen value and the minimum allowed eigenvalue. Default value is 0.01 as suggested in [Magnusson 2009], page 60. |
class NDT_PUBLIC autoware::localization::ndt::VoxelView |