• Stars
    star
    172
  • Rank 221,201 (Top 5 %)
  • Language
    C++
  • License
    Apache License 2.0
  • Created almost 6 years ago
  • Updated 12 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

lidar localizer in Autoware AI

lidar_localizer

CI
This is the exraction of the localization and mapping packages from the Autoware AI
I am not the original author on this software and the license is in accordance with Autoware.

Overview

lidar_localizer package

IO

ndt_mapping

  • input
    /points_raw (sensor_msgs/PointCloud2)
  • output
    /ndt_map (sensor_msgs/PointCloud2)
    /curent_pose (geometry_msgs/PoseStamped)

ndt_matching

  • input
    /filtered_points (sensor_msgs/PointCloud2)
    /points_map (sensor_msgs/PointCloud2)
    /initialpose (geometry_msgs/PoseWithCovarianceStamped)

  • output
    /curent_pose (geometry_msgs/PoseStamped)

Parameter

ndt

Name Type Description Default value
max_iter int max iteration for alignment 25
step_size double step_size maximum step length[m] 0.1
ndt_res double resolution side length of voxels[m] 1.0
transform_epsilon double transform epsilon to stop iteration 0.1
voxel_leaf_size double a down sample size of a input cloud[m] 0.2

ndt_mapping

Name Type Description Default value
min_add_scan_shift double a moving distance of a map update[m] 1.5

Usage

Mapping

rviz -d src/lidar_localizer/config/mapping.rviz
roslaunch lidar_localizer ndt_mapping.launch

to save a map

rosrun pcl_ros pointcloud_to_pcd input:=/ndt_map prefix:=map

When processing long distance data, it is recommended to use ndt_mapping_submaps instead of ndt_mapping.

Matching

rviz -d src/lidar_localizer/config/matching.rviz
roslaunch lidar_localizer ndt_matching.launch
rostopic pub /initialpose geometry_msgs/PoseWithCovarianceStamped '{header:{frame_id: "map"},pose: {pose: {position: {x: 0, y: 0, z: 0}, orientation: {z: 0, w: 1}}}}'
rosrun pcl_ros pcd_to_pointcloud map_0.pcd /cloud_pcd:=/points_map _frame_id:=map

More Repositories

1

lidarslam_ros2

ROS 2 package of 3D lidar slam using ndt/gicp registration and pose-optimization
C++
506
star
2

li_slam_ros2

ROS 2 package of tightly-coupled lidar inertial ndt/gicp slam
C++
292
star
3

lidar_localization_ros2

3D LIDAR Localization using NDT/GICP and pointcloud map in ROS 2 (Not SLAM)
C++
244
star
4

kalman_filter_localization

kalmal filter localization
C++
219
star
5

rust_robotics

Rust implementation of PythonRobotics such as EKF, DWA, Pure Pursuit, LQR.
Rust
133
star
6

PoseOptimizationSLAM3D

Python sample code of 3D pose optimization SLAM
Python
72
star
7

NormalDistributionTransform2D

Python sample code of 2D NDT Scan Matching
Python
28
star
8

littleslam_ros2

A ROS2 Wrapper for LittleSLAM, which is a 2D-LiDAR SLAM for educational use
C++
27
star
9

ensemble_kalman_filter

Python sample code of robot localization with ensemble kalman filter and landmarks
Python
25
star
10

laser_deskew

ros1 package for 2d laser deskew using tf.
C++
20
star
11

imu_estimator

attitude estimator with gyro bias correction
C++
16
star
12

lidar_undistortion

A header-only program of 3d rotary lidar undistortion using 9-axis imu
C++
16
star
13

gaussian_particle_filter

Python sample of Gaussian Particle Filter localization
Python
13
star
14

transfrom_velocity

C++ program for performing 3D and 2D velocity transformations using Lie algebra.
C++
9
star
15

particle_filtering_model_predictive_control

Particle filtering model predictive control simulation.
Python
6
star
16

pygnss

pygnss is a gnss analysis library
Python
5
star
17

quaternion-based_kalman_filter

Python
4
star
18

q-method

estimator to minimize Wahba's loss function for satellite attitude
Python
3
star