• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Little-Potato-1990/lidar_localization: A framework of lidar mapping and localiza ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称(OpenSource Name):

Little-Potato-1990/lidar_localization

开源软件地址(OpenSource Url):

https://github.com/Little-Potato-1990/lidar_localization

开源编程语言(OpenSource Language):

C++ 95.3%

开源软件介绍(OpenSource Introduction):

Extensible framework of lidar mapping and localization

This is a framework of lidar mapping and localization with strong extensibility. Mapping and matching are separate parts of the framework. Mapping contains data pretreat, front end, back end, loop closing and viewer. Matching contains data pretreat and map matching. The characteristic of this framework is that most of it's modules can be replaced very easily with the help of polymorphism in c++. For example, you can replace ndt with icp in the front end, or replace g2o with gtsam in the back end without change code in the flow. Therefor, it is a good framework for research.

Modifier: Qian Ren

1. Prerequisites

1.1 Ubuntu and ROS

Ubuntu 64-bit 16.04. ROS Kinetic.

sudo apt-get install ros-kinetic-desktop-full

1.2. G2O

To avoid version problems, we provide the setup file of g2o in the setup_file directory. Install it follow the readme in G2O Installation

1.3. PCL

sudo apt-get install libpcl-all

1.4. kitti2bag

sudo pip install -U numpy
sudo pip install kitti2bag

2. Build lidar_localization

Clone the repository and catkin_make:

    cd ~/catkin_ws/src
    git clone https://github.com/Little-Potato-1990/lidar_localization
    cd ../
    catkin_make
    source ~/catkin_ws/devel/setup.bash

4. KITTI Example (Velodyne HDL-64)

4.1 KITTI Data to Bagfile

Download KITTI raw_data dataset to DATASET_PATH.
For example “2011_10_03_drive_0027_sync.zip” and “2011_10_03_calib.zip”(the calibration file is necessary), unzip the files and put them according to this

then run

cd DATASET_PATH
kitti2bag -t 2011_10_03 -r 0027 raw_synced

then we will get kitti_2011_10_03_drive_0027_synced.bag in the directory.

4.2 Mapping

run

roslaunch lidar_localization mapping.launch
rosbag play kitti_2011_10_03_drive_0027_synced.bag

then mapping begin

when the saw mapping is over in rviz, run

rosservice call /optimize_map

then the full cloud map will display in rviz.
to save map to pcd file, run

rosservice call /save_map

then "map.pcd" and "filtered_map.pcd" will be saved in the directory "lidar_localization/slam_data/map"

4.3 Matching

input the path of "filtered_map.pcd" in "config/matching/matching.yaml" with the param "map_path",run

roslaunch lidar_localization matching.launch
rosbag play kitti_2011_10_03_drive_0027_synced.bag

then the matching begin

5. Extend the Framework

5.1 Replace Module

the modules of the mapping part is separate, we can replace anyone of them. For example, the front end module can be replaced with A-LOAM, when you have compile the project of A-LOAM, you can run

roslaunch lidar_localization mapping_with_aloam.launch

in this project. Further more, you can replace it with any other lidar odom.

5.2 Add New Algorithms

the pointcloud registration is NDT in the frong end, if you want use ICP, you can add another child class of the virtual base class named "PointCloudInterface". Follow this method, you can add many other algorithms in the directory "lidar_localization/models".




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap