# A-LOAM
## Advanced implementation of LOAM
A-LOAM is an Advanced implementation of LOAM (J. Zhang and S. Singh. LOAM: Lidar Odometry and Mapping in Real-time), which uses Eigen and Ceres Solver to simplify code structure. This code is modified from LOAM and [LOAM_NOTED](https://github.com/cuitaixiang/LOAM_NOTED). This code is clean and simple without complicated mathematical derivation and redundant operations. It is a good learning material for SLAM beginners.
<img src="https://github.com/HKUST-Aerial-Robotics/A-LOAM/blob/devel/picture/kitti.png" width = 55% height = 55%/>
**Modifier:** [Tong Qin](http://www.qintonguav.com), [Shaozu Cao](https://github.com/shaozu)
## 1. Prerequisites
### 1.1 **Ubuntu** and **ROS**
Ubuntu 64-bit 16.04 or 18.04.
ROS Kinetic or Melodic. [ROS Installation](http://wiki.ros.org/ROS/Installation)
### 1.2. **Ceres Solver**
Follow [Ceres Installation](http://ceres-solver.org/installation.html).
### 1.3. **PCL**
Follow [PCL Installation](http://www.pointclouds.org/downloads/linux.html).
## 2. Build A-LOAM
Clone the repository and catkin_make:
```
cd ~/catkin_ws/src
git clone https://github.com/HKUST-Aerial-Robotics/A-LOAM.git
cd ../
catkin_make
source ~/catkin_ws/devel/setup.bash
```
## 3. Velodyne VLP-16 Example
Download [NSH indoor outdoor](https://drive.google.com/file/d/1s05tBQOLNEDDurlg48KiUWxCp-YqYyGH/view) to YOUR_DATASET_FOLDER.
```
roslaunch aloam_velodyne aloam_velodyne_VLP_16.launch
rosbag play YOUR_DATASET_FOLDER/nsh_indoor_outdoor.bag
```
## 4. KITTI Example (Velodyne HDL-64)
Download [KITTI Odometry dataset](http://www.cvlibs.net/datasets/kitti/eval_odometry.php) to YOUR_DATASET_FOLDER and set the `dataset_folder` and `sequence_number` parameters in `kitti_helper.launch` file. Note you also convert KITTI dataset to bag file for easy use by setting proper parameters in `kitti_helper.launch`.
```
roslaunch aloam_velodyne aloam_velodyne_HDL_64.launch
roslaunch aloam_velodyne kitti_helper.launch
```
<img src="https://github.com/HKUST-Aerial-Robotics/A-LOAM/blob/devel/picture/kitti_gif.gif" width = 720 height = 351 />
## 5. Docker Support
To further facilitate the building process, we add docker in our code. Docker environment is like a sandbox, thus makes our code environment-independent. To run with docker, first make sure [ros](http://wiki.ros.org/ROS/Installation) and [docker](https://docs.docker.com/install/linux/docker-ce/ubuntu/) are installed on your machine. Then add your account to `docker` group by `sudo usermod -aG docker $YOUR_USER_NAME`. **Relaunch the terminal or logout and re-login if you get `Permission denied` error**, type:
```
cd ~/catkin_ws/src/A-LOAM/docker
make build
```
The build process may take a while depends on your machine. After that, run `./run.sh 16` or `./run.sh 64` to launch A-LOAM, then you should be able to see the result.
## 6.Acknowledgements
Thanks for LOAM(J. Zhang and S. Singh. LOAM: Lidar Odometry and Mapping in Real-time) and [LOAM_NOTED](https://github.com/cuitaixiang/LOAM_NOTED).
没有合适的资源?快使用搜索试试~ 我知道了~
A-LOAM算法完全注释
共47个文件
sample:11个
cpp:4个
launch:4个
5星 · 超过95%的资源 需积分: 5 17 下载量 36 浏览量
2023-05-18
19:46:06
上传
评论
收藏 30.66MB ZIP 举报
温馨提示
A-LOAM算法是LOAM算法的开源版本,非常适合新手入门激光SLAM。本人(985控制硕士)花了一个月时间仔细研读了A-LOAM算法的3大核心模块:点云预处理(scanRegistration.cpp)、雷达里程计(laserOdometry.cpp)以及建图(laserOdometry.cpp)。并且给出了该算法每个模块乃至每句话的详细注释,希望对你入门LOAM,入门激光SLAM有所帮助。
资源推荐
资源详情
资源评论
收起资源包目录
A-LOAM完全注释.zip (47个子文件)
include
aloam_velodyne
common.h 940B
tic_toc.h 601B
CMakeLists.txt 1KB
.vscode
settings.json 226B
picture
kitti.png 836KB
kitti_gif.gif 5.99MB
src
laserOdometry.cpp 33KB
laserMapping.cpp 43KB
scanRegistration.cpp 26KB
lidarFactor.hpp 6KB
kittiHelper.cpp 7KB
LICENSE 2KB
rviz_cfg
aloam_velodyne.rviz 21KB
package.xml 1KB
docker
Makefile 335B
Dockerfile 2KB
run.sh 2KB
.git
index 2KB
HEAD 22B
refs
heads
devel 41B
tags
remotes
origin
HEAD 31B
objects
pack
pack-3b8f13f1e96ad0ff61a7af9c843b8ab409894a3c.pack 23.95MB
pack-3b8f13f1e96ad0ff61a7af9c843b8ab409894a3c.idx 14KB
info
description 73B
packed-refs 113B
info
exclude 240B
logs
HEAD 185B
refs
heads
devel 185B
remotes
origin
HEAD 185B
hooks
post-update.sample 189B
prepare-commit-msg.sample 1KB
commit-msg.sample 896B
pre-receive.sample 544B
update.sample 4KB
pre-commit.sample 2KB
pre-rebase.sample 5KB
applypatch-msg.sample 478B
fsmonitor-watchman.sample 3KB
pre-applypatch.sample 424B
pre-push.sample 1KB
config 274B
branches
launch
aloam_velodyne_HDL_32.launch 1004B
kitti_helper.launch 510B
aloam_velodyne_HDL_64.launch 1002B
aloam_velodyne_VLP_16.launch 1004B
.gitignore 8B
README.md 3KB
共 47 条
- 1
资源评论
- 忧伤的石一2023-07-24这份文件对A-LOAM算法进行了全面的注释,让人非常容易理解和上手。
- whph2023-07-24这是一份很实用的文件,对A-LOAM算法的解释很详细,不仅适合专业人士,也对初学者来说很友好。
- 爱设计的唐老鸭2023-07-24这份文件的注释清晰易懂,用词简练,能够帮助读者快速了解A-LOAM算法的原理和实现。
- 小崔个人精进录2023-07-24这是一份针对A-LOAM算法的优秀注释,准确描述了算法的每个细节,让读者对其运行机制有了更深入的理解。
- 半清斋2023-07-24作者对A-LOAM算法的注释非常细致,内容全面,是学习和研究该算法的很好参考资料。
CPP中文网
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功