ubuntu 20.04 编译和运行SC-LeGo-LOAM

1.搭建文件目录和clone代码

复制代码
mkdir -p SC-LeGo-LOAM/src
cd SC-LeGo-LOAM/src
git clone https://github.com/AbangLZU/SC-LeGO-LOAM.git
cd ..

2.修改代码

需要注意的是原作者使用的是Ouster OS-64雷达,需要更改utility.h文件中适配自己的雷达类型,而本文采用velodyne 16线激光雷达,对utility.h文件要做以下修改

首先是pointCloudTopic

复制代码
extern const string pointCloudTopic = "/os1_points";

替换为

复制代码
extern const string pointCloudTopic = "/velodyne_points";

其次:

复制代码
Ouster OS1-64
extern const int N_SCAN = 64;
extern const int Horizon_SCAN = 1024;
extern const float ang_res_x = 360.0/float(Horizon_SCAN);
extern const float ang_res_y = 33.2/float(N_SCAN-1);
extern const float ang_bottom = 16.6+0.1;
extern const int groundScanInd = 15;

替换为

1)对于16线的VLP雷达,添加

复制代码
extern const int N_SCAN = 16;
extern const int Horizon_SCAN = 1800;
extern const float ang_res_x = 0.2;
extern const float ang_res_y = 2.0;
extern const float ang_bottom = 15.0+0.1;
extern const int groundScanInd = 7;

2)对于64线的VLP雷达,添加

复制代码
extern const int N_SCAN = 64;
extern const int Horizon_SCAN = 2083;
extern const float ang_res_x = 360.0/float(Horizon_SCAN);
extern const float ang_res_y = 26.8/float(N_SCAN-1);
extern const float ang_bottom = 24.8;
extern const int groundScanInd = 55;

最后:

注释掉:

复制代码
#include <opencv/cv.h>

加入:

复制代码
#include <opencv2/opencv.hpp>

并且将

复制代码
#include <pcl/kdtree/kdtree_flann.h>

剪切到#include <opencv2/opencv.hpp>前面去

3.编译和运行launch

复制代码
catkin_make

source ./devel/setup.bash
roslaunch lego_loam run.launch

运行launch的经验

1)包名不管是大写和小写,运行是都是小写

2)包名中的"-" 和"" 的区别,尽量运行 ""

4.下载数据包和运行

这里我使用的是LeGo-LOAM的数据包

数据包链接

运行

复制代码
rosbag play --clock ***.bag

5.效果图

相关推荐
coppher2 分钟前
Ubuntu 22.04 amd64 离线安装 Docker 完整教程
linux·docker
xyz59916 分钟前
如何在 WSL 中删除指定版本的 Ubuntu 以及安装
linux·运维·ubuntu
亚空间仓鼠43 分钟前
OpenEuler系统常用服务(五)
linux·运维·服务器·网络
minji...2 小时前
Linux 线程同步与互斥(二) 线程同步,条件变量,pthread_cond_init/wait/signal/broadcast
linux·运维·开发语言·jvm·数据结构·c++
chase。2 小时前
【学习笔记】让机器人“边想边动”——实时动作分块流策略的执行方法
笔记·学习·机器人
虚伪的空想家2 小时前
k8s集群configmap和secrets备份脚本
linux·容器·kubernetes
the sun342 小时前
从 QEMU 直接启动到 U-Boot 引导:嵌入式 Linux 启动流程的本质差异
linux·运维·服务器
草莓熊Lotso2 小时前
【Linux 线程进阶】进程 vs 线程资源划分 + 线程控制全详解
java·linux·运维·服务器·数据库·c++·mysql
ShineWinsu2 小时前
对于Linux:文件操作以及文件IO的解析
linux·c++·面试·笔试·io·shell·文件操作
-SGlow-2 小时前
Linux相关概念和易错知识点(52)(基于System V的信号量和消息队列)
linux·运维·服务器