No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.

laser_localization package from laser_localization repo

laser_localization

Package Summary

Tags No category tags.
Version 0.0.0
License TODO: License declaration
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description laser localization base global map for robotics
Checkout URI https://github.com/linyicheng1/laser_localization.git
VCS Type git
VCS Version main
Last Updated 2023-01-15
Dev Status UNKNOWN
CI status No Continuous Integration
Released UNRELEASED
Tags localization mapping ros lidar slam
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

TODO: Package description

Additional Links

No additional links.

Maintainers

  • lyc

Authors

No additional authors.

laser_localization | CN

laser_localization is a 3D LiDAR localization algorithm applied to small area scenes, typical application scenarios are industrial parks, neighborhoods or substations, etc. It combines 3D laser point cloud, wheeled odometer and IMU angle information to achieve high precision real-time positioning. A branch-and-bound search algorithm is used for global positioning, while NDT matching is used for local point clouds and global maps. The wheeled odometer and IMU angle information are used as the motion a priori parameters of the matching algorithm to accelerate laser matching and avoid falling into local optimum.

效果展示

Demo Video

     
Scene Range 500m x 500m (without GPS) \ (with GPS case not tested, theoretical in 1km above.)
Speed less than 0.8m/s (only 3d laser) 1-2m/s (3d laser + Wheeled odometer)
Accuracy Typical 2-3cm Typical 2-3cm

1. Prerequisites

1.1 UbuntuROS,Ubuntu 18.04. ROS Dashing && Foxy

sudo apt install ros-YOUR_DISTRO-desktop ros-YOUR_DISTRO-pcl

ROS2 Install WIKI

2. build laser_localization on ROS2

Clone the repository and build:

cd ~/catkin_ws/src
git clone https://github.com/linyicheng1/laser_localization.git
cd ../
colcon build 
source ~/catkin_ws/install/setup.bash

3. Run with KITTI dataset

Download KITTI dataset: BaiDu Driver|Google Driver

Modify the path code in ./launch/kitti_test.py

61| parameters=[
62|     {"kitti_path": "${YOUR_PATH}"}, 
63| ]

40| {"global_map": "${YOUR_PATH}"},

run cmd in shell:

ros2 launch ~/catkin_ws/src/laser_localization/launch/kitti_test.py

4. Run with your device

4.0 Build point cloud map

Point cloud maps can be constructed using the current mainstream 3D laser SLAM algorithm and saved at . /map/map.pcd.

Recommended 3D point cloud algorithm: hdl_graph_slamALOAMLIO-SAM

4.1 Laser only mode

The single laser mode requires only one 3d radar and can be used for rapid deployment to operate in low speed carts. The relative transformation relationship of base_link->laser in the tf transformation tree needs to be provided, and the 3d point cloud data topic pointcloud2 needs to be provided.

run cmd:

ros2 launch ~/catkin_ws/src/laser_localization/launch/single_laser.py

4.2 Multi-sensor fusion localization

Multi-sensor fusion positioning mode improves accuracy and speed, but requires more information.

  1. The odometer data, odom->base_link in the tf transformation tree, is calculated for the wheel odometer. The calculation of the odometer requires calibration of the robot’s wheel radius, calibration of the wheel distance over 10m straight ahead, and multiple rotations and calibration of the axis distance.

Run in shell:

ros2 launch ~/catkin_ws/src/laser_localization/launch/localization.py

5. Advantages

  • Laser odometer + laser point cloud with map matching, laser positioning solution using only 3d radar, can reach about 10-15hz output, very easy to deploy at low speed using directly.

  • Laser positioning is separated from wheel odometer, which can selectively use wheel odometer information to provide a priori for laser matching, effectively avoiding the influence of wheel slip and other disturbances.

  • Provide matching confidence information and real-time feedback on current positioning status.

  • Provide global positioning to obtain the initial value method, and include the function of program power down to save the current position.

6. Licence

The source code is released under GPLv3 license.

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged laser_localization at Robotics Stack Exchange

No version for distro noetic. Known supported distros are highlighted in the buttons above.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro foxy. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.