Compact ROS 2 package for 2D LIDAR localization within a reference map with an NDT matcher.
- Publishes a PCD map (full cloud + 2D slice)
- Converts
/scanto 2DPointCloud2 - Relays
/odominto the map frame - Estimates pose via NDT
maps/ should contain the reference PCD map (cf. maps/README.md)
This package expects your system to provide /scan, /odom and /initialpose topics.
Launch: launch/launch_pkg.launch.py
- Starts
pcd_publisher,scan_to_pcd2d,odom_ndt_relay,ndt_2d_matcher. - Args:
pcd_file,initial_tx,initial_ty,initial_theta,scan_topic,height,use_sim_time.
Inputs:
/scan(sensor_msgs/LaserScan)/odom(nav_msgs/Odometry)/initialpose(geometry_msgs/PoseWithCovarianceStamped)
Outputs:
PCD MAP
/localization/map/cloud(sensor_msgs/PointCloud2)/localization/map/cloud_2d(sensor_msgs/PointCloud2)
LOCALIZATION
/localization/ndt/pose(geometry_msgs/PoseWithCovarianceStamped)/localization/ndt/pose_stamped(geometry_msgs/PoseStamped)/localization/ndt/reference_cloud(sensor_msgs/PointCloud2) - visualization/localization/ndt/aligned_scan(sensor_msgs/PointCloud2) - visualization/localization/ndt/transform_arrow(visualization_msgs/Marker) - visualization
ODOMETRY & LASER ADJUSTMENTS
/localization/scan_pcd2d(sensor_msgs/PointCloud2)/localization/odom_ndt(nav_msgs/Odometry)