Code Monkey home page Code Monkey logo

s-loam's Introduction

S-LOAM

1、S-LOAM概述

S-LOAM(Simple LOAM) 是一种简单易学的激光SLAM算法,主要**来源于LOAM算法系列(LOAM,A-LOAM,LEGO-LOAM)。

S-LOAM利用多种工具库(Eigen,PCL,ROS,Ceres,Gtsam)简化了SLAM程序,整个程序只有几百行代码,十分方便学习与试验分析。

S-LOAM主要包括5个部分,内容如下。

(1)点云索引重建

(2)点云特征提取

(3)里程计计算

(4)里程计因子图优化

(5)里程计闭环优化

S-LOAM的效果如下图所示。

eloam

2、环境依赖

环境配置往往是一件让人头痛的事情,有时会出现版本不兼容,有时会出现下载失败的情况。S-LOAM的运行环境与A-LOAM和LEGO-LOAM相同。主要包含下面5种依赖。

(1)Ubuntu 16.04

(2)ROS Kinetic (里面包含ROS,TF,PCL,Eigen,rviz,rqt等)

(3)Eigen 3.3.7

(4)Gtsam 4.0.0

(5)Ceres 2.0.0

3、测试数据

这里提供了3个测试数据(如下),已经放到我的百度网盘中。

百度网盘地址(https://pan.baidu.com/s/1EUNOlCNct71_4_OF0STjuA)。

提取码(dydg)。

(1)kitti_loop_eloam.bag(6G,64线)

(2)kitti_small_eloam.bag(300M,64线)

(3)nsh_indoor_outdoor.bag(700M,16线)

第一个数据是最主要的测试数据,就是上面效果图所用数据,能够满足建图与闭环优化。

第二个数据是从第一个数据中截取的小数据,方便网速不好的同学可以快速下载使用(无闭环)。

第三个数据是LOAM中最常使用的16线数据(无闭环)。

4、编译运行

下载S-LOAM工程,并将此文件夹作为ROS功能包,放入自己建立的ROS工程中,编译并运行。

代码地址为(https://github.com/haocaichao/S-LOAM)。

打开一个终端,输入下面两条命令,启动sloam程序。

source devel/setup.bash
roslaunch sloam run.launch

打开另一个终端,输入下面命令,运行数据。

rosbag play kitti_loop_eloam.bag

5、S-LOAM的优缺点

优点:简单,全面,方便学习与修改。

缺点:点云特征点单一,相关处理过少,在有的数据上运行效果不佳。

S-LOAM作为一个简单激光SLAM框架,对于学习和试验分析来说,它的优点远大于缺点,值得大家关注。

S-LOAM的改进版本正在路上。

6、相关网站

关于S-LOAM更多信息,可以关注下面的网站。

网站一:个人csdn博客

S-LOAM 最简单的激光SLAM

https://blog.csdn.net/hccmap/article/details/119984889

运行S-LOAM激光SLAM程序

https://blog.csdn.net/hccmap/article/details/120626920

激光SLAM源码解析S-LOAM(一)点云特征提取

https://blog.csdn.net/hccmap/article/details/120630700

激光SLAM源码解析S-LOAM(二)激光里程计的计算

https://blog.csdn.net/hccmap/article/details/120630796

激光SLAM源码解析S-LOAM(三)里程计图优化

https://blog.csdn.net/hccmap/article/details/120630836

网站二:这个是个人网站,内容包括python和slam,将在至少5年内持续维护。

http://www.pythonck.com/archives/docs/slam

s-loam's People

Contributors

haocaichao avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.