使用自己的激光雷达/数据集运行lego_loam,修改代码教程

1 安装gtsam

1.1 安装环境

sudo apt-get install libboost-all-dev
sudo apt-get install cmake

1.2 下载gtsam

cd ~
git clone https://bitbucket.org/gtborg/gtsam.git

1.3 编译

cd ~/gtsam
mkdir build
cd build
cmake ..
make check   #可选的,运行单元测试
sudo  make install

2 下载并编译lego_loam

在home目录下打开终端

cd ~/gtsam
mkdir build
cd build
cmake ..
make check   #可选的,运行单元测试
sudo  make install

当第一次编译代码时,需要在“catkin_make”后面添加“-j1”以生成一些消息类型。将来的编译不需要“-j1”.

3 运行

3.1 修改程序

3.1.1 utility.h文件中:

修改雷达话题,对于镭神c16线,启动驱动后,输出点云话题为:/points_raw

对应程序中修改为:

extern const string pointCloudTopic = "/points_raw";
extern const string imuTopic = "/imu/data";

注:imu话题可以没有,有建图效果会更好

修改雷达参数:

// ls-c16 线
extern const int N_SCAN = 16;
extern const int Horizon_SCAN = 2000;
extern const float ang_res_x = 0.18;
extern const float ang_res_y = 2.0;
extern const float ang_bottom = 15.0+0.1;
extern const int groundScanInd = 7;

3.1.2 修改imageProjection.cpp

找到copyPointCloud函数

cloudHeader.stamp = ros::Time::now();这一行的注释去掉

3.1.3 修改run.launch文件

修改value

<!--- Sim Time -->
<param name="/use_sim_time" value="true" />

注意:

播放bag包时:

设置value="true",默认使用系统的模拟时间。

此时对应播放bag包指令要加—clock,即:

rosbag play --clock *.bag

 使用雷达实时建图时:

设置value = "false",使用系统时间.

3.2 运行程序建图

3.2.1 运行c16驱动

进入c16驱动文件目录下打开终端

source devel/setup.bash
roslaunch lslidar_c16_decoder lslidar_c16.launch

3.2.2 启动lego_loam

进入lego_loam目录下打开终端

source devel/setup.bash
roslaunch lego_loam run.launch

如下图所示,则程序运行成功:

 3.2.3 播放bag包时

如果是雷达实时建图,则3.2.2步执行完成后,就可以在rviz窗口看到雷达点云,并已经开始建图。

如果需要播放bag包建图:

切换到bag所在目录文件下重新打开终端:

rosbag play --clock *.bag

就可以在rviz窗口看到点云,并开始建图.

4 效果

  • 2
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

和道一文字_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值