No version for distro humble showing github. Known supported distros are highlighted in the buttons above.
Package symbol

spl_lio_sam package from simple-lio-sam repo

spl_lio_sam

ROS Distro
github

Package Summary

Version 1.0.0
License TODO
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/zeal-up/simple-lio-sam.git
VCS Type git
VCS Version main
Last Updated 2023-11-13
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Lidar Odometry

Maintainers

  • Zeal

Authors

  • Zeal
  • Tixiao Shan

文章解读

  • :heart_decoration: Blog
  • :six_pointed_star: 知乎

本项目目的及特点介绍

[LIOSAM]源代码虽然不能说庞大,甚至可以说简单,因为整个代码库主要只要5个文件。 原始src目录 但是里面每个模块都通过ROS的topic与其他模块有紧密的联系。 整个的流程对新手十分不友好,下图是[LIOSAM]原本运行时的rqt_graph

原始rqt_graph

第二个复杂之处在与LIOSAM框架设计到的知识点和工具较多,至少要熟悉ROS,gtsam,pcl几个库,算法层面需要熟悉点云匹配、IMU积分、因子图、三维转换等。 对于熟悉SLAM的人来说可能较为简单上手,但是对于新入门的人来说则一开始会一头雾水。

基于上述这些原因,笔者进行了SPL-LIO-SAM项目,希望能够以最大幅度帮助初学者理解[LIOSAM]框架及里面的算法细节。 本项目对[LIOSAM]做了如下改进

基于ROS2-humble实现

虽然LIOSAM源码中有一个ros2分支,但该分支的维护者并不是原作者,而且已经长时间没有人维护,且该分支存在一些bug没有被修复。为了能够在进行本项目的学习过程中 熟悉最新的ROS2框架,笔者在LIOSAM的ros2分支基础上,修复了存在的bug,同时将功能较为独立的Transformfusion类抽取成独立的类。

为了便于上手及部署,笔者同时准备了适配的docker镜像供学习者使用。

简化

话题发布的简化

[LIOSAM]原始代码中有很多中间结果的发布,这些中间结果可以用来可视化及调试程序,但是对于学习者和开发者而言不仅意义不大,而且会在初始学习源码阶段误导学习者。 本项目在话题发布上进行大幅度简化,简化后的设计如下: 节点及话题设计

简化后运行时的rqt_graph: 简化后的ros—grpah

坐标系简化

[LIOSAM]中实用的坐标系并不复杂,但是作者提供的urdf包含了太多为了兼容性考虑的坐标系,这些坐标系对于实际运行和理解并没有用。因此,本项目基于ROS对坐标系的约束,将 坐标系关系树简化为如下: 简化后的坐标系关系

保留算法及定义完整性

虽然本项目去除了很多非必要话题,同时对于一些非必要代码也进行了简化,但对一些学习算法有帮助的细节依旧保留。比如激光里程计在发布的时候有mapping/odometry和mapping/odometry_incremental两个话题,两个话题虽然类似但是背后却有很不同的函数,但同时两者合一又不影响算法的运行。因此采取的做法时在代码中保留这部分代码,同时加以解释,但发布时只发布其中一个话题。

完善的注释及流程图

网上其实对[LIOSAM]源码的注释并不少,比如[LIO-SAM-note]和[LIO-SAM-DetailedNote],还有一些blog也对源码做了解释,但是都不太完美,同时缺少流程性的组织。本项目借鉴了一些开源项目的注释,并加以完善,可以说,本项目是目前对[LIOSAM]注释最完善的开源项目。 部分注释图

为了最为清晰的展示[LIOSAM]算法不同模块的流程,该项目还对各个模块流程进行梳理,建立了完善的流程图设计 Pipeline imageProjection_top0 imageProjection_top0

运行环境搭建

本项目提供基于ROS2-humble的镜像,并提供脚本可直接在镜像中启动可视化程序

数据

本项目同时提供转为rosbag2格式的数据包 链接:https://pan.baidu.com/s/1hhHvn96uEsDYJNss3Z209Q 提取码:2478

export DATA_DIR=/path/to/download/ros2bag/dir

本项目中默认的配置文件params_default.yaml可以直接运行下面的数据:

  • park_dataset
  • walking_dataset
  • garden_dataset

环境部署

git clone git@github.com:zeal-up/Simple-LIO-SAM.git
cd Simple-LIO-SAM
./docker_run.sh -h  # show help message
./docker_run.sh -c /path/to/code/repo -d $DATA_DIR

# ./docker_into.sh  # enter the container next time

编译

cd Simple-LIO-SAM
./docker_into.sh

# 下面命令在镜像中执行
cd ~/ros_ws/
mkdir src && cd src &&ln -s /home/splsam/codes ./
cd ..
source /opt/ros/humble/setup.bash
colcon build --packages-select spl_lio_sam

运行

```bash

docker镜像下运行

cd ~/ros_ws source ./install/setup.bash ros2 launch spl_lio_sam run.launch.py

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

Services

Plugins

No plugins found.

Recent questions tagged spl_lio_sam at Robotics Stack Exchange

No version for distro jazzy showing github. Known supported distros are highlighted in the buttons above.
Package symbol

spl_lio_sam package from simple-lio-sam repo

spl_lio_sam

ROS Distro
github

Package Summary

Version 1.0.0
License TODO
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/zeal-up/simple-lio-sam.git
VCS Type git
VCS Version main
Last Updated 2023-11-13
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Lidar Odometry

Maintainers

  • Zeal

Authors

  • Zeal
  • Tixiao Shan

文章解读

  • :heart_decoration: Blog
  • :six_pointed_star: 知乎

本项目目的及特点介绍

[LIOSAM]源代码虽然不能说庞大,甚至可以说简单,因为整个代码库主要只要5个文件。 原始src目录 但是里面每个模块都通过ROS的topic与其他模块有紧密的联系。 整个的流程对新手十分不友好,下图是[LIOSAM]原本运行时的rqt_graph

原始rqt_graph

第二个复杂之处在与LIOSAM框架设计到的知识点和工具较多,至少要熟悉ROS,gtsam,pcl几个库,算法层面需要熟悉点云匹配、IMU积分、因子图、三维转换等。 对于熟悉SLAM的人来说可能较为简单上手,但是对于新入门的人来说则一开始会一头雾水。

基于上述这些原因,笔者进行了SPL-LIO-SAM项目,希望能够以最大幅度帮助初学者理解[LIOSAM]框架及里面的算法细节。 本项目对[LIOSAM]做了如下改进

基于ROS2-humble实现

虽然LIOSAM源码中有一个ros2分支,但该分支的维护者并不是原作者,而且已经长时间没有人维护,且该分支存在一些bug没有被修复。为了能够在进行本项目的学习过程中 熟悉最新的ROS2框架,笔者在LIOSAM的ros2分支基础上,修复了存在的bug,同时将功能较为独立的Transformfusion类抽取成独立的类。

为了便于上手及部署,笔者同时准备了适配的docker镜像供学习者使用。

简化

话题发布的简化

[LIOSAM]原始代码中有很多中间结果的发布,这些中间结果可以用来可视化及调试程序,但是对于学习者和开发者而言不仅意义不大,而且会在初始学习源码阶段误导学习者。 本项目在话题发布上进行大幅度简化,简化后的设计如下: 节点及话题设计

简化后运行时的rqt_graph: 简化后的ros—grpah

坐标系简化

[LIOSAM]中实用的坐标系并不复杂,但是作者提供的urdf包含了太多为了兼容性考虑的坐标系,这些坐标系对于实际运行和理解并没有用。因此,本项目基于ROS对坐标系的约束,将 坐标系关系树简化为如下: 简化后的坐标系关系

保留算法及定义完整性

虽然本项目去除了很多非必要话题,同时对于一些非必要代码也进行了简化,但对一些学习算法有帮助的细节依旧保留。比如激光里程计在发布的时候有mapping/odometry和mapping/odometry_incremental两个话题,两个话题虽然类似但是背后却有很不同的函数,但同时两者合一又不影响算法的运行。因此采取的做法时在代码中保留这部分代码,同时加以解释,但发布时只发布其中一个话题。

完善的注释及流程图

网上其实对[LIOSAM]源码的注释并不少,比如[LIO-SAM-note]和[LIO-SAM-DetailedNote],还有一些blog也对源码做了解释,但是都不太完美,同时缺少流程性的组织。本项目借鉴了一些开源项目的注释,并加以完善,可以说,本项目是目前对[LIOSAM]注释最完善的开源项目。 部分注释图

为了最为清晰的展示[LIOSAM]算法不同模块的流程,该项目还对各个模块流程进行梳理,建立了完善的流程图设计 Pipeline imageProjection_top0 imageProjection_top0

运行环境搭建

本项目提供基于ROS2-humble的镜像,并提供脚本可直接在镜像中启动可视化程序

数据

本项目同时提供转为rosbag2格式的数据包 链接:https://pan.baidu.com/s/1hhHvn96uEsDYJNss3Z209Q 提取码:2478

export DATA_DIR=/path/to/download/ros2bag/dir

本项目中默认的配置文件params_default.yaml可以直接运行下面的数据:

  • park_dataset
  • walking_dataset
  • garden_dataset

环境部署

git clone git@github.com:zeal-up/Simple-LIO-SAM.git
cd Simple-LIO-SAM
./docker_run.sh -h  # show help message
./docker_run.sh -c /path/to/code/repo -d $DATA_DIR

# ./docker_into.sh  # enter the container next time

编译

cd Simple-LIO-SAM
./docker_into.sh

# 下面命令在镜像中执行
cd ~/ros_ws/
mkdir src && cd src &&ln -s /home/splsam/codes ./
cd ..
source /opt/ros/humble/setup.bash
colcon build --packages-select spl_lio_sam

运行

```bash

docker镜像下运行

cd ~/ros_ws source ./install/setup.bash ros2 launch spl_lio_sam run.launch.py

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

Services

Plugins

No plugins found.

Recent questions tagged spl_lio_sam at Robotics Stack Exchange

No version for distro kilted showing github. Known supported distros are highlighted in the buttons above.
Package symbol

spl_lio_sam package from simple-lio-sam repo

spl_lio_sam

ROS Distro
github

Package Summary

Version 1.0.0
License TODO
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/zeal-up/simple-lio-sam.git
VCS Type git
VCS Version main
Last Updated 2023-11-13
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Lidar Odometry

Maintainers

  • Zeal

Authors

  • Zeal
  • Tixiao Shan

文章解读

  • :heart_decoration: Blog
  • :six_pointed_star: 知乎

本项目目的及特点介绍

[LIOSAM]源代码虽然不能说庞大,甚至可以说简单,因为整个代码库主要只要5个文件。 原始src目录 但是里面每个模块都通过ROS的topic与其他模块有紧密的联系。 整个的流程对新手十分不友好,下图是[LIOSAM]原本运行时的rqt_graph

原始rqt_graph

第二个复杂之处在与LIOSAM框架设计到的知识点和工具较多,至少要熟悉ROS,gtsam,pcl几个库,算法层面需要熟悉点云匹配、IMU积分、因子图、三维转换等。 对于熟悉SLAM的人来说可能较为简单上手,但是对于新入门的人来说则一开始会一头雾水。

基于上述这些原因,笔者进行了SPL-LIO-SAM项目,希望能够以最大幅度帮助初学者理解[LIOSAM]框架及里面的算法细节。 本项目对[LIOSAM]做了如下改进

基于ROS2-humble实现

虽然LIOSAM源码中有一个ros2分支,但该分支的维护者并不是原作者,而且已经长时间没有人维护,且该分支存在一些bug没有被修复。为了能够在进行本项目的学习过程中 熟悉最新的ROS2框架,笔者在LIOSAM的ros2分支基础上,修复了存在的bug,同时将功能较为独立的Transformfusion类抽取成独立的类。

为了便于上手及部署,笔者同时准备了适配的docker镜像供学习者使用。

简化

话题发布的简化

[LIOSAM]原始代码中有很多中间结果的发布,这些中间结果可以用来可视化及调试程序,但是对于学习者和开发者而言不仅意义不大,而且会在初始学习源码阶段误导学习者。 本项目在话题发布上进行大幅度简化,简化后的设计如下: 节点及话题设计

简化后运行时的rqt_graph: 简化后的ros—grpah

坐标系简化

[LIOSAM]中实用的坐标系并不复杂,但是作者提供的urdf包含了太多为了兼容性考虑的坐标系,这些坐标系对于实际运行和理解并没有用。因此,本项目基于ROS对坐标系的约束,将 坐标系关系树简化为如下: 简化后的坐标系关系

保留算法及定义完整性

虽然本项目去除了很多非必要话题,同时对于一些非必要代码也进行了简化,但对一些学习算法有帮助的细节依旧保留。比如激光里程计在发布的时候有mapping/odometry和mapping/odometry_incremental两个话题,两个话题虽然类似但是背后却有很不同的函数,但同时两者合一又不影响算法的运行。因此采取的做法时在代码中保留这部分代码,同时加以解释,但发布时只发布其中一个话题。

完善的注释及流程图

网上其实对[LIOSAM]源码的注释并不少,比如[LIO-SAM-note]和[LIO-SAM-DetailedNote],还有一些blog也对源码做了解释,但是都不太完美,同时缺少流程性的组织。本项目借鉴了一些开源项目的注释,并加以完善,可以说,本项目是目前对[LIOSAM]注释最完善的开源项目。 部分注释图

为了最为清晰的展示[LIOSAM]算法不同模块的流程,该项目还对各个模块流程进行梳理,建立了完善的流程图设计 Pipeline imageProjection_top0 imageProjection_top0

运行环境搭建

本项目提供基于ROS2-humble的镜像,并提供脚本可直接在镜像中启动可视化程序

数据

本项目同时提供转为rosbag2格式的数据包 链接:https://pan.baidu.com/s/1hhHvn96uEsDYJNss3Z209Q 提取码:2478

export DATA_DIR=/path/to/download/ros2bag/dir

本项目中默认的配置文件params_default.yaml可以直接运行下面的数据:

  • park_dataset
  • walking_dataset
  • garden_dataset

环境部署

git clone git@github.com:zeal-up/Simple-LIO-SAM.git
cd Simple-LIO-SAM
./docker_run.sh -h  # show help message
./docker_run.sh -c /path/to/code/repo -d $DATA_DIR

# ./docker_into.sh  # enter the container next time

编译

cd Simple-LIO-SAM
./docker_into.sh

# 下面命令在镜像中执行
cd ~/ros_ws/
mkdir src && cd src &&ln -s /home/splsam/codes ./
cd ..
source /opt/ros/humble/setup.bash
colcon build --packages-select spl_lio_sam

运行

```bash

docker镜像下运行

cd ~/ros_ws source ./install/setup.bash ros2 launch spl_lio_sam run.launch.py

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

Services

Plugins

No plugins found.

Recent questions tagged spl_lio_sam at Robotics Stack Exchange

No version for distro lyrical showing github. Known supported distros are highlighted in the buttons above.
Package symbol

spl_lio_sam package from simple-lio-sam repo

spl_lio_sam

ROS Distro
github

Package Summary

Version 1.0.0
License TODO
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/zeal-up/simple-lio-sam.git
VCS Type git
VCS Version main
Last Updated 2023-11-13
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Lidar Odometry

Maintainers

  • Zeal

Authors

  • Zeal
  • Tixiao Shan

文章解读

  • :heart_decoration: Blog
  • :six_pointed_star: 知乎

本项目目的及特点介绍

[LIOSAM]源代码虽然不能说庞大,甚至可以说简单,因为整个代码库主要只要5个文件。 原始src目录 但是里面每个模块都通过ROS的topic与其他模块有紧密的联系。 整个的流程对新手十分不友好,下图是[LIOSAM]原本运行时的rqt_graph

原始rqt_graph

第二个复杂之处在与LIOSAM框架设计到的知识点和工具较多,至少要熟悉ROS,gtsam,pcl几个库,算法层面需要熟悉点云匹配、IMU积分、因子图、三维转换等。 对于熟悉SLAM的人来说可能较为简单上手,但是对于新入门的人来说则一开始会一头雾水。

基于上述这些原因,笔者进行了SPL-LIO-SAM项目,希望能够以最大幅度帮助初学者理解[LIOSAM]框架及里面的算法细节。 本项目对[LIOSAM]做了如下改进

基于ROS2-humble实现

虽然LIOSAM源码中有一个ros2分支,但该分支的维护者并不是原作者,而且已经长时间没有人维护,且该分支存在一些bug没有被修复。为了能够在进行本项目的学习过程中 熟悉最新的ROS2框架,笔者在LIOSAM的ros2分支基础上,修复了存在的bug,同时将功能较为独立的Transformfusion类抽取成独立的类。

为了便于上手及部署,笔者同时准备了适配的docker镜像供学习者使用。

简化

话题发布的简化

[LIOSAM]原始代码中有很多中间结果的发布,这些中间结果可以用来可视化及调试程序,但是对于学习者和开发者而言不仅意义不大,而且会在初始学习源码阶段误导学习者。 本项目在话题发布上进行大幅度简化,简化后的设计如下: 节点及话题设计

简化后运行时的rqt_graph: 简化后的ros—grpah

坐标系简化

[LIOSAM]中实用的坐标系并不复杂,但是作者提供的urdf包含了太多为了兼容性考虑的坐标系,这些坐标系对于实际运行和理解并没有用。因此,本项目基于ROS对坐标系的约束,将 坐标系关系树简化为如下: 简化后的坐标系关系

保留算法及定义完整性

虽然本项目去除了很多非必要话题,同时对于一些非必要代码也进行了简化,但对一些学习算法有帮助的细节依旧保留。比如激光里程计在发布的时候有mapping/odometry和mapping/odometry_incremental两个话题,两个话题虽然类似但是背后却有很不同的函数,但同时两者合一又不影响算法的运行。因此采取的做法时在代码中保留这部分代码,同时加以解释,但发布时只发布其中一个话题。

完善的注释及流程图

网上其实对[LIOSAM]源码的注释并不少,比如[LIO-SAM-note]和[LIO-SAM-DetailedNote],还有一些blog也对源码做了解释,但是都不太完美,同时缺少流程性的组织。本项目借鉴了一些开源项目的注释,并加以完善,可以说,本项目是目前对[LIOSAM]注释最完善的开源项目。 部分注释图

为了最为清晰的展示[LIOSAM]算法不同模块的流程,该项目还对各个模块流程进行梳理,建立了完善的流程图设计 Pipeline imageProjection_top0 imageProjection_top0

运行环境搭建

本项目提供基于ROS2-humble的镜像,并提供脚本可直接在镜像中启动可视化程序

数据

本项目同时提供转为rosbag2格式的数据包 链接:https://pan.baidu.com/s/1hhHvn96uEsDYJNss3Z209Q 提取码:2478

export DATA_DIR=/path/to/download/ros2bag/dir

本项目中默认的配置文件params_default.yaml可以直接运行下面的数据:

  • park_dataset
  • walking_dataset
  • garden_dataset

环境部署

git clone git@github.com:zeal-up/Simple-LIO-SAM.git
cd Simple-LIO-SAM
./docker_run.sh -h  # show help message
./docker_run.sh -c /path/to/code/repo -d $DATA_DIR

# ./docker_into.sh  # enter the container next time

编译

cd Simple-LIO-SAM
./docker_into.sh

# 下面命令在镜像中执行
cd ~/ros_ws/
mkdir src && cd src &&ln -s /home/splsam/codes ./
cd ..
source /opt/ros/humble/setup.bash
colcon build --packages-select spl_lio_sam

运行

```bash

docker镜像下运行

cd ~/ros_ws source ./install/setup.bash ros2 launch spl_lio_sam run.launch.py

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

Services

Plugins

No plugins found.

Recent questions tagged spl_lio_sam at Robotics Stack Exchange

No version for distro rolling showing github. Known supported distros are highlighted in the buttons above.
Package symbol

spl_lio_sam package from simple-lio-sam repo

spl_lio_sam

ROS Distro
github

Package Summary

Version 1.0.0
License TODO
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/zeal-up/simple-lio-sam.git
VCS Type git
VCS Version main
Last Updated 2023-11-13
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Lidar Odometry

Maintainers

  • Zeal

Authors

  • Zeal
  • Tixiao Shan

文章解读

  • :heart_decoration: Blog
  • :six_pointed_star: 知乎

本项目目的及特点介绍

[LIOSAM]源代码虽然不能说庞大,甚至可以说简单,因为整个代码库主要只要5个文件。 原始src目录 但是里面每个模块都通过ROS的topic与其他模块有紧密的联系。 整个的流程对新手十分不友好,下图是[LIOSAM]原本运行时的rqt_graph

原始rqt_graph

第二个复杂之处在与LIOSAM框架设计到的知识点和工具较多,至少要熟悉ROS,gtsam,pcl几个库,算法层面需要熟悉点云匹配、IMU积分、因子图、三维转换等。 对于熟悉SLAM的人来说可能较为简单上手,但是对于新入门的人来说则一开始会一头雾水。

基于上述这些原因,笔者进行了SPL-LIO-SAM项目,希望能够以最大幅度帮助初学者理解[LIOSAM]框架及里面的算法细节。 本项目对[LIOSAM]做了如下改进

基于ROS2-humble实现

虽然LIOSAM源码中有一个ros2分支,但该分支的维护者并不是原作者,而且已经长时间没有人维护,且该分支存在一些bug没有被修复。为了能够在进行本项目的学习过程中 熟悉最新的ROS2框架,笔者在LIOSAM的ros2分支基础上,修复了存在的bug,同时将功能较为独立的Transformfusion类抽取成独立的类。

为了便于上手及部署,笔者同时准备了适配的docker镜像供学习者使用。

简化

话题发布的简化

[LIOSAM]原始代码中有很多中间结果的发布,这些中间结果可以用来可视化及调试程序,但是对于学习者和开发者而言不仅意义不大,而且会在初始学习源码阶段误导学习者。 本项目在话题发布上进行大幅度简化,简化后的设计如下: 节点及话题设计

简化后运行时的rqt_graph: 简化后的ros—grpah

坐标系简化

[LIOSAM]中实用的坐标系并不复杂,但是作者提供的urdf包含了太多为了兼容性考虑的坐标系,这些坐标系对于实际运行和理解并没有用。因此,本项目基于ROS对坐标系的约束,将 坐标系关系树简化为如下: 简化后的坐标系关系

保留算法及定义完整性

虽然本项目去除了很多非必要话题,同时对于一些非必要代码也进行了简化,但对一些学习算法有帮助的细节依旧保留。比如激光里程计在发布的时候有mapping/odometry和mapping/odometry_incremental两个话题,两个话题虽然类似但是背后却有很不同的函数,但同时两者合一又不影响算法的运行。因此采取的做法时在代码中保留这部分代码,同时加以解释,但发布时只发布其中一个话题。

完善的注释及流程图

网上其实对[LIOSAM]源码的注释并不少,比如[LIO-SAM-note]和[LIO-SAM-DetailedNote],还有一些blog也对源码做了解释,但是都不太完美,同时缺少流程性的组织。本项目借鉴了一些开源项目的注释,并加以完善,可以说,本项目是目前对[LIOSAM]注释最完善的开源项目。 部分注释图

为了最为清晰的展示[LIOSAM]算法不同模块的流程,该项目还对各个模块流程进行梳理,建立了完善的流程图设计 Pipeline imageProjection_top0 imageProjection_top0

运行环境搭建

本项目提供基于ROS2-humble的镜像,并提供脚本可直接在镜像中启动可视化程序

数据

本项目同时提供转为rosbag2格式的数据包 链接:https://pan.baidu.com/s/1hhHvn96uEsDYJNss3Z209Q 提取码:2478

export DATA_DIR=/path/to/download/ros2bag/dir

本项目中默认的配置文件params_default.yaml可以直接运行下面的数据:

  • park_dataset
  • walking_dataset
  • garden_dataset

环境部署

git clone git@github.com:zeal-up/Simple-LIO-SAM.git
cd Simple-LIO-SAM
./docker_run.sh -h  # show help message
./docker_run.sh -c /path/to/code/repo -d $DATA_DIR

# ./docker_into.sh  # enter the container next time

编译

cd Simple-LIO-SAM
./docker_into.sh

# 下面命令在镜像中执行
cd ~/ros_ws/
mkdir src && cd src &&ln -s /home/splsam/codes ./
cd ..
source /opt/ros/humble/setup.bash
colcon build --packages-select spl_lio_sam

运行

```bash

docker镜像下运行

cd ~/ros_ws source ./install/setup.bash ros2 launch spl_lio_sam run.launch.py

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

Services

Plugins

No plugins found.

Recent questions tagged spl_lio_sam at Robotics Stack Exchange

Package symbol

spl_lio_sam package from simple-lio-sam repo

spl_lio_sam

ROS Distro
github

Package Summary

Version 1.0.0
License TODO
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/zeal-up/simple-lio-sam.git
VCS Type git
VCS Version main
Last Updated 2023-11-13
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Lidar Odometry

Maintainers

  • Zeal

Authors

  • Zeal
  • Tixiao Shan

文章解读

  • :heart_decoration: Blog
  • :six_pointed_star: 知乎

本项目目的及特点介绍

[LIOSAM]源代码虽然不能说庞大,甚至可以说简单,因为整个代码库主要只要5个文件。 原始src目录 但是里面每个模块都通过ROS的topic与其他模块有紧密的联系。 整个的流程对新手十分不友好,下图是[LIOSAM]原本运行时的rqt_graph

原始rqt_graph

第二个复杂之处在与LIOSAM框架设计到的知识点和工具较多,至少要熟悉ROS,gtsam,pcl几个库,算法层面需要熟悉点云匹配、IMU积分、因子图、三维转换等。 对于熟悉SLAM的人来说可能较为简单上手,但是对于新入门的人来说则一开始会一头雾水。

基于上述这些原因,笔者进行了SPL-LIO-SAM项目,希望能够以最大幅度帮助初学者理解[LIOSAM]框架及里面的算法细节。 本项目对[LIOSAM]做了如下改进

基于ROS2-humble实现

虽然LIOSAM源码中有一个ros2分支,但该分支的维护者并不是原作者,而且已经长时间没有人维护,且该分支存在一些bug没有被修复。为了能够在进行本项目的学习过程中 熟悉最新的ROS2框架,笔者在LIOSAM的ros2分支基础上,修复了存在的bug,同时将功能较为独立的Transformfusion类抽取成独立的类。

为了便于上手及部署,笔者同时准备了适配的docker镜像供学习者使用。

简化

话题发布的简化

[LIOSAM]原始代码中有很多中间结果的发布,这些中间结果可以用来可视化及调试程序,但是对于学习者和开发者而言不仅意义不大,而且会在初始学习源码阶段误导学习者。 本项目在话题发布上进行大幅度简化,简化后的设计如下: 节点及话题设计

简化后运行时的rqt_graph: 简化后的ros—grpah

坐标系简化

[LIOSAM]中实用的坐标系并不复杂,但是作者提供的urdf包含了太多为了兼容性考虑的坐标系,这些坐标系对于实际运行和理解并没有用。因此,本项目基于ROS对坐标系的约束,将 坐标系关系树简化为如下: 简化后的坐标系关系

保留算法及定义完整性

虽然本项目去除了很多非必要话题,同时对于一些非必要代码也进行了简化,但对一些学习算法有帮助的细节依旧保留。比如激光里程计在发布的时候有mapping/odometry和mapping/odometry_incremental两个话题,两个话题虽然类似但是背后却有很不同的函数,但同时两者合一又不影响算法的运行。因此采取的做法时在代码中保留这部分代码,同时加以解释,但发布时只发布其中一个话题。

完善的注释及流程图

网上其实对[LIOSAM]源码的注释并不少,比如[LIO-SAM-note]和[LIO-SAM-DetailedNote],还有一些blog也对源码做了解释,但是都不太完美,同时缺少流程性的组织。本项目借鉴了一些开源项目的注释,并加以完善,可以说,本项目是目前对[LIOSAM]注释最完善的开源项目。 部分注释图

为了最为清晰的展示[LIOSAM]算法不同模块的流程,该项目还对各个模块流程进行梳理,建立了完善的流程图设计 Pipeline imageProjection_top0 imageProjection_top0

运行环境搭建

本项目提供基于ROS2-humble的镜像,并提供脚本可直接在镜像中启动可视化程序

数据

本项目同时提供转为rosbag2格式的数据包 链接:https://pan.baidu.com/s/1hhHvn96uEsDYJNss3Z209Q 提取码:2478

export DATA_DIR=/path/to/download/ros2bag/dir

本项目中默认的配置文件params_default.yaml可以直接运行下面的数据:

  • park_dataset
  • walking_dataset
  • garden_dataset

环境部署

git clone git@github.com:zeal-up/Simple-LIO-SAM.git
cd Simple-LIO-SAM
./docker_run.sh -h  # show help message
./docker_run.sh -c /path/to/code/repo -d $DATA_DIR

# ./docker_into.sh  # enter the container next time

编译

cd Simple-LIO-SAM
./docker_into.sh

# 下面命令在镜像中执行
cd ~/ros_ws/
mkdir src && cd src &&ln -s /home/splsam/codes ./
cd ..
source /opt/ros/humble/setup.bash
colcon build --packages-select spl_lio_sam

运行

```bash

docker镜像下运行

cd ~/ros_ws source ./install/setup.bash ros2 launch spl_lio_sam run.launch.py

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

Services

Plugins

No plugins found.

Recent questions tagged spl_lio_sam at Robotics Stack Exchange

No version for distro galactic showing github. Known supported distros are highlighted in the buttons above.
Package symbol

spl_lio_sam package from simple-lio-sam repo

spl_lio_sam

ROS Distro
github

Package Summary

Version 1.0.0
License TODO
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/zeal-up/simple-lio-sam.git
VCS Type git
VCS Version main
Last Updated 2023-11-13
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Lidar Odometry

Maintainers

  • Zeal

Authors

  • Zeal
  • Tixiao Shan

文章解读

  • :heart_decoration: Blog
  • :six_pointed_star: 知乎

本项目目的及特点介绍

[LIOSAM]源代码虽然不能说庞大,甚至可以说简单,因为整个代码库主要只要5个文件。 原始src目录 但是里面每个模块都通过ROS的topic与其他模块有紧密的联系。 整个的流程对新手十分不友好,下图是[LIOSAM]原本运行时的rqt_graph

原始rqt_graph

第二个复杂之处在与LIOSAM框架设计到的知识点和工具较多,至少要熟悉ROS,gtsam,pcl几个库,算法层面需要熟悉点云匹配、IMU积分、因子图、三维转换等。 对于熟悉SLAM的人来说可能较为简单上手,但是对于新入门的人来说则一开始会一头雾水。

基于上述这些原因,笔者进行了SPL-LIO-SAM项目,希望能够以最大幅度帮助初学者理解[LIOSAM]框架及里面的算法细节。 本项目对[LIOSAM]做了如下改进

基于ROS2-humble实现

虽然LIOSAM源码中有一个ros2分支,但该分支的维护者并不是原作者,而且已经长时间没有人维护,且该分支存在一些bug没有被修复。为了能够在进行本项目的学习过程中 熟悉最新的ROS2框架,笔者在LIOSAM的ros2分支基础上,修复了存在的bug,同时将功能较为独立的Transformfusion类抽取成独立的类。

为了便于上手及部署,笔者同时准备了适配的docker镜像供学习者使用。

简化

话题发布的简化

[LIOSAM]原始代码中有很多中间结果的发布,这些中间结果可以用来可视化及调试程序,但是对于学习者和开发者而言不仅意义不大,而且会在初始学习源码阶段误导学习者。 本项目在话题发布上进行大幅度简化,简化后的设计如下: 节点及话题设计

简化后运行时的rqt_graph: 简化后的ros—grpah

坐标系简化

[LIOSAM]中实用的坐标系并不复杂,但是作者提供的urdf包含了太多为了兼容性考虑的坐标系,这些坐标系对于实际运行和理解并没有用。因此,本项目基于ROS对坐标系的约束,将 坐标系关系树简化为如下: 简化后的坐标系关系

保留算法及定义完整性

虽然本项目去除了很多非必要话题,同时对于一些非必要代码也进行了简化,但对一些学习算法有帮助的细节依旧保留。比如激光里程计在发布的时候有mapping/odometry和mapping/odometry_incremental两个话题,两个话题虽然类似但是背后却有很不同的函数,但同时两者合一又不影响算法的运行。因此采取的做法时在代码中保留这部分代码,同时加以解释,但发布时只发布其中一个话题。

完善的注释及流程图

网上其实对[LIOSAM]源码的注释并不少,比如[LIO-SAM-note]和[LIO-SAM-DetailedNote],还有一些blog也对源码做了解释,但是都不太完美,同时缺少流程性的组织。本项目借鉴了一些开源项目的注释,并加以完善,可以说,本项目是目前对[LIOSAM]注释最完善的开源项目。 部分注释图

为了最为清晰的展示[LIOSAM]算法不同模块的流程,该项目还对各个模块流程进行梳理,建立了完善的流程图设计 Pipeline imageProjection_top0 imageProjection_top0

运行环境搭建

本项目提供基于ROS2-humble的镜像,并提供脚本可直接在镜像中启动可视化程序

数据

本项目同时提供转为rosbag2格式的数据包 链接:https://pan.baidu.com/s/1hhHvn96uEsDYJNss3Z209Q 提取码:2478

export DATA_DIR=/path/to/download/ros2bag/dir

本项目中默认的配置文件params_default.yaml可以直接运行下面的数据:

  • park_dataset
  • walking_dataset
  • garden_dataset

环境部署

git clone git@github.com:zeal-up/Simple-LIO-SAM.git
cd Simple-LIO-SAM
./docker_run.sh -h  # show help message
./docker_run.sh -c /path/to/code/repo -d $DATA_DIR

# ./docker_into.sh  # enter the container next time

编译

cd Simple-LIO-SAM
./docker_into.sh

# 下面命令在镜像中执行
cd ~/ros_ws/
mkdir src && cd src &&ln -s /home/splsam/codes ./
cd ..
source /opt/ros/humble/setup.bash
colcon build --packages-select spl_lio_sam

运行

```bash

docker镜像下运行

cd ~/ros_ws source ./install/setup.bash ros2 launch spl_lio_sam run.launch.py

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

Services

Plugins

No plugins found.

Recent questions tagged spl_lio_sam at Robotics Stack Exchange

No version for distro iron showing github. Known supported distros are highlighted in the buttons above.
Package symbol

spl_lio_sam package from simple-lio-sam repo

spl_lio_sam

ROS Distro
github

Package Summary

Version 1.0.0
License TODO
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/zeal-up/simple-lio-sam.git
VCS Type git
VCS Version main
Last Updated 2023-11-13
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Lidar Odometry

Maintainers

  • Zeal

Authors

  • Zeal
  • Tixiao Shan

文章解读

  • :heart_decoration: Blog
  • :six_pointed_star: 知乎

本项目目的及特点介绍

[LIOSAM]源代码虽然不能说庞大,甚至可以说简单,因为整个代码库主要只要5个文件。 原始src目录 但是里面每个模块都通过ROS的topic与其他模块有紧密的联系。 整个的流程对新手十分不友好,下图是[LIOSAM]原本运行时的rqt_graph

原始rqt_graph

第二个复杂之处在与LIOSAM框架设计到的知识点和工具较多,至少要熟悉ROS,gtsam,pcl几个库,算法层面需要熟悉点云匹配、IMU积分、因子图、三维转换等。 对于熟悉SLAM的人来说可能较为简单上手,但是对于新入门的人来说则一开始会一头雾水。

基于上述这些原因,笔者进行了SPL-LIO-SAM项目,希望能够以最大幅度帮助初学者理解[LIOSAM]框架及里面的算法细节。 本项目对[LIOSAM]做了如下改进

基于ROS2-humble实现

虽然LIOSAM源码中有一个ros2分支,但该分支的维护者并不是原作者,而且已经长时间没有人维护,且该分支存在一些bug没有被修复。为了能够在进行本项目的学习过程中 熟悉最新的ROS2框架,笔者在LIOSAM的ros2分支基础上,修复了存在的bug,同时将功能较为独立的Transformfusion类抽取成独立的类。

为了便于上手及部署,笔者同时准备了适配的docker镜像供学习者使用。

简化

话题发布的简化

[LIOSAM]原始代码中有很多中间结果的发布,这些中间结果可以用来可视化及调试程序,但是对于学习者和开发者而言不仅意义不大,而且会在初始学习源码阶段误导学习者。 本项目在话题发布上进行大幅度简化,简化后的设计如下: 节点及话题设计

简化后运行时的rqt_graph: 简化后的ros—grpah

坐标系简化

[LIOSAM]中实用的坐标系并不复杂,但是作者提供的urdf包含了太多为了兼容性考虑的坐标系,这些坐标系对于实际运行和理解并没有用。因此,本项目基于ROS对坐标系的约束,将 坐标系关系树简化为如下: 简化后的坐标系关系

保留算法及定义完整性

虽然本项目去除了很多非必要话题,同时对于一些非必要代码也进行了简化,但对一些学习算法有帮助的细节依旧保留。比如激光里程计在发布的时候有mapping/odometry和mapping/odometry_incremental两个话题,两个话题虽然类似但是背后却有很不同的函数,但同时两者合一又不影响算法的运行。因此采取的做法时在代码中保留这部分代码,同时加以解释,但发布时只发布其中一个话题。

完善的注释及流程图

网上其实对[LIOSAM]源码的注释并不少,比如[LIO-SAM-note]和[LIO-SAM-DetailedNote],还有一些blog也对源码做了解释,但是都不太完美,同时缺少流程性的组织。本项目借鉴了一些开源项目的注释,并加以完善,可以说,本项目是目前对[LIOSAM]注释最完善的开源项目。 部分注释图

为了最为清晰的展示[LIOSAM]算法不同模块的流程,该项目还对各个模块流程进行梳理,建立了完善的流程图设计 Pipeline imageProjection_top0 imageProjection_top0

运行环境搭建

本项目提供基于ROS2-humble的镜像,并提供脚本可直接在镜像中启动可视化程序

数据

本项目同时提供转为rosbag2格式的数据包 链接:https://pan.baidu.com/s/1hhHvn96uEsDYJNss3Z209Q 提取码:2478

export DATA_DIR=/path/to/download/ros2bag/dir

本项目中默认的配置文件params_default.yaml可以直接运行下面的数据:

  • park_dataset
  • walking_dataset
  • garden_dataset

环境部署

git clone git@github.com:zeal-up/Simple-LIO-SAM.git
cd Simple-LIO-SAM
./docker_run.sh -h  # show help message
./docker_run.sh -c /path/to/code/repo -d $DATA_DIR

# ./docker_into.sh  # enter the container next time

编译

cd Simple-LIO-SAM
./docker_into.sh

# 下面命令在镜像中执行
cd ~/ros_ws/
mkdir src && cd src &&ln -s /home/splsam/codes ./
cd ..
source /opt/ros/humble/setup.bash
colcon build --packages-select spl_lio_sam

运行

```bash

docker镜像下运行

cd ~/ros_ws source ./install/setup.bash ros2 launch spl_lio_sam run.launch.py

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

Services

Plugins

No plugins found.

Recent questions tagged spl_lio_sam at Robotics Stack Exchange

No version for distro melodic showing github. Known supported distros are highlighted in the buttons above.
Package symbol

spl_lio_sam package from simple-lio-sam repo

spl_lio_sam

ROS Distro
github

Package Summary

Version 1.0.0
License TODO
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/zeal-up/simple-lio-sam.git
VCS Type git
VCS Version main
Last Updated 2023-11-13
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Lidar Odometry

Maintainers

  • Zeal

Authors

  • Zeal
  • Tixiao Shan

文章解读

  • :heart_decoration: Blog
  • :six_pointed_star: 知乎

本项目目的及特点介绍

[LIOSAM]源代码虽然不能说庞大,甚至可以说简单,因为整个代码库主要只要5个文件。 原始src目录 但是里面每个模块都通过ROS的topic与其他模块有紧密的联系。 整个的流程对新手十分不友好,下图是[LIOSAM]原本运行时的rqt_graph

原始rqt_graph

第二个复杂之处在与LIOSAM框架设计到的知识点和工具较多,至少要熟悉ROS,gtsam,pcl几个库,算法层面需要熟悉点云匹配、IMU积分、因子图、三维转换等。 对于熟悉SLAM的人来说可能较为简单上手,但是对于新入门的人来说则一开始会一头雾水。

基于上述这些原因,笔者进行了SPL-LIO-SAM项目,希望能够以最大幅度帮助初学者理解[LIOSAM]框架及里面的算法细节。 本项目对[LIOSAM]做了如下改进

基于ROS2-humble实现

虽然LIOSAM源码中有一个ros2分支,但该分支的维护者并不是原作者,而且已经长时间没有人维护,且该分支存在一些bug没有被修复。为了能够在进行本项目的学习过程中 熟悉最新的ROS2框架,笔者在LIOSAM的ros2分支基础上,修复了存在的bug,同时将功能较为独立的Transformfusion类抽取成独立的类。

为了便于上手及部署,笔者同时准备了适配的docker镜像供学习者使用。

简化

话题发布的简化

[LIOSAM]原始代码中有很多中间结果的发布,这些中间结果可以用来可视化及调试程序,但是对于学习者和开发者而言不仅意义不大,而且会在初始学习源码阶段误导学习者。 本项目在话题发布上进行大幅度简化,简化后的设计如下: 节点及话题设计

简化后运行时的rqt_graph: 简化后的ros—grpah

坐标系简化

[LIOSAM]中实用的坐标系并不复杂,但是作者提供的urdf包含了太多为了兼容性考虑的坐标系,这些坐标系对于实际运行和理解并没有用。因此,本项目基于ROS对坐标系的约束,将 坐标系关系树简化为如下: 简化后的坐标系关系

保留算法及定义完整性

虽然本项目去除了很多非必要话题,同时对于一些非必要代码也进行了简化,但对一些学习算法有帮助的细节依旧保留。比如激光里程计在发布的时候有mapping/odometry和mapping/odometry_incremental两个话题,两个话题虽然类似但是背后却有很不同的函数,但同时两者合一又不影响算法的运行。因此采取的做法时在代码中保留这部分代码,同时加以解释,但发布时只发布其中一个话题。

完善的注释及流程图

网上其实对[LIOSAM]源码的注释并不少,比如[LIO-SAM-note]和[LIO-SAM-DetailedNote],还有一些blog也对源码做了解释,但是都不太完美,同时缺少流程性的组织。本项目借鉴了一些开源项目的注释,并加以完善,可以说,本项目是目前对[LIOSAM]注释最完善的开源项目。 部分注释图

为了最为清晰的展示[LIOSAM]算法不同模块的流程,该项目还对各个模块流程进行梳理,建立了完善的流程图设计 Pipeline imageProjection_top0 imageProjection_top0

运行环境搭建

本项目提供基于ROS2-humble的镜像,并提供脚本可直接在镜像中启动可视化程序

数据

本项目同时提供转为rosbag2格式的数据包 链接:https://pan.baidu.com/s/1hhHvn96uEsDYJNss3Z209Q 提取码:2478

export DATA_DIR=/path/to/download/ros2bag/dir

本项目中默认的配置文件params_default.yaml可以直接运行下面的数据:

  • park_dataset
  • walking_dataset
  • garden_dataset

环境部署

git clone git@github.com:zeal-up/Simple-LIO-SAM.git
cd Simple-LIO-SAM
./docker_run.sh -h  # show help message
./docker_run.sh -c /path/to/code/repo -d $DATA_DIR

# ./docker_into.sh  # enter the container next time

编译

cd Simple-LIO-SAM
./docker_into.sh

# 下面命令在镜像中执行
cd ~/ros_ws/
mkdir src && cd src &&ln -s /home/splsam/codes ./
cd ..
source /opt/ros/humble/setup.bash
colcon build --packages-select spl_lio_sam

运行

```bash

docker镜像下运行

cd ~/ros_ws source ./install/setup.bash ros2 launch spl_lio_sam run.launch.py

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

Services

Plugins

No plugins found.

Recent questions tagged spl_lio_sam at Robotics Stack Exchange

No version for distro noetic showing github. Known supported distros are highlighted in the buttons above.
Package symbol

spl_lio_sam package from simple-lio-sam repo

spl_lio_sam

ROS Distro
github

Package Summary

Version 1.0.0
License TODO
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/zeal-up/simple-lio-sam.git
VCS Type git
VCS Version main
Last Updated 2023-11-13
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Lidar Odometry

Maintainers

  • Zeal

Authors

  • Zeal
  • Tixiao Shan

文章解读

  • :heart_decoration: Blog
  • :six_pointed_star: 知乎

本项目目的及特点介绍

[LIOSAM]源代码虽然不能说庞大,甚至可以说简单,因为整个代码库主要只要5个文件。 原始src目录 但是里面每个模块都通过ROS的topic与其他模块有紧密的联系。 整个的流程对新手十分不友好,下图是[LIOSAM]原本运行时的rqt_graph

原始rqt_graph

第二个复杂之处在与LIOSAM框架设计到的知识点和工具较多,至少要熟悉ROS,gtsam,pcl几个库,算法层面需要熟悉点云匹配、IMU积分、因子图、三维转换等。 对于熟悉SLAM的人来说可能较为简单上手,但是对于新入门的人来说则一开始会一头雾水。

基于上述这些原因,笔者进行了SPL-LIO-SAM项目,希望能够以最大幅度帮助初学者理解[LIOSAM]框架及里面的算法细节。 本项目对[LIOSAM]做了如下改进

基于ROS2-humble实现

虽然LIOSAM源码中有一个ros2分支,但该分支的维护者并不是原作者,而且已经长时间没有人维护,且该分支存在一些bug没有被修复。为了能够在进行本项目的学习过程中 熟悉最新的ROS2框架,笔者在LIOSAM的ros2分支基础上,修复了存在的bug,同时将功能较为独立的Transformfusion类抽取成独立的类。

为了便于上手及部署,笔者同时准备了适配的docker镜像供学习者使用。

简化

话题发布的简化

[LIOSAM]原始代码中有很多中间结果的发布,这些中间结果可以用来可视化及调试程序,但是对于学习者和开发者而言不仅意义不大,而且会在初始学习源码阶段误导学习者。 本项目在话题发布上进行大幅度简化,简化后的设计如下: 节点及话题设计

简化后运行时的rqt_graph: 简化后的ros—grpah

坐标系简化

[LIOSAM]中实用的坐标系并不复杂,但是作者提供的urdf包含了太多为了兼容性考虑的坐标系,这些坐标系对于实际运行和理解并没有用。因此,本项目基于ROS对坐标系的约束,将 坐标系关系树简化为如下: 简化后的坐标系关系

保留算法及定义完整性

虽然本项目去除了很多非必要话题,同时对于一些非必要代码也进行了简化,但对一些学习算法有帮助的细节依旧保留。比如激光里程计在发布的时候有mapping/odometry和mapping/odometry_incremental两个话题,两个话题虽然类似但是背后却有很不同的函数,但同时两者合一又不影响算法的运行。因此采取的做法时在代码中保留这部分代码,同时加以解释,但发布时只发布其中一个话题。

完善的注释及流程图

网上其实对[LIOSAM]源码的注释并不少,比如[LIO-SAM-note]和[LIO-SAM-DetailedNote],还有一些blog也对源码做了解释,但是都不太完美,同时缺少流程性的组织。本项目借鉴了一些开源项目的注释,并加以完善,可以说,本项目是目前对[LIOSAM]注释最完善的开源项目。 部分注释图

为了最为清晰的展示[LIOSAM]算法不同模块的流程,该项目还对各个模块流程进行梳理,建立了完善的流程图设计 Pipeline imageProjection_top0 imageProjection_top0

运行环境搭建

本项目提供基于ROS2-humble的镜像,并提供脚本可直接在镜像中启动可视化程序

数据

本项目同时提供转为rosbag2格式的数据包 链接:https://pan.baidu.com/s/1hhHvn96uEsDYJNss3Z209Q 提取码:2478

export DATA_DIR=/path/to/download/ros2bag/dir

本项目中默认的配置文件params_default.yaml可以直接运行下面的数据:

  • park_dataset
  • walking_dataset
  • garden_dataset

环境部署

git clone git@github.com:zeal-up/Simple-LIO-SAM.git
cd Simple-LIO-SAM
./docker_run.sh -h  # show help message
./docker_run.sh -c /path/to/code/repo -d $DATA_DIR

# ./docker_into.sh  # enter the container next time

编译

cd Simple-LIO-SAM
./docker_into.sh

# 下面命令在镜像中执行
cd ~/ros_ws/
mkdir src && cd src &&ln -s /home/splsam/codes ./
cd ..
source /opt/ros/humble/setup.bash
colcon build --packages-select spl_lio_sam

运行

```bash

docker镜像下运行

cd ~/ros_ws source ./install/setup.bash ros2 launch spl_lio_sam run.launch.py

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

Services

Plugins

No plugins found.

Recent questions tagged spl_lio_sam at Robotics Stack Exchange