在ROS中进行SLAM和Gazebo的联合仿真

本文详细介绍了在Ubuntu18.04和ROSMelodic版本下,如何安装和配置Loam、Lego-Loam、LIO-SAM以及A-Loam等SLAM算法,并处理了Gazebo启动问题和CeresSolver的安装。指南还包括了联合仿真步骤和使用RVIZ观察建图效果。
摘要由CSDN通过智能技术生成

1. 环境准备

Ubuntu 版本18.04

ROS版本 melodic

一般来说 安装好ROS之后都会自带gazebo 如果发现gazebo打不开的情况 可以试试看是不是自己的虚拟机是不是没有关闭加速3D图形这个设置

通常要关闭3D图形加速才能正常打开Gazebo

2.  SLAM准备

这里我们列举了多种SLAM算法进行测试

Loam

github上Loam的资源比较多 但是在踩过很多次坑以后 我还是最后选择了这个资源

//安装
mkdir -p Loam_ws/src
cd Loam_ws/src
git clone https://github.com/laboshinl/loam_velodyne.git
 
//编译
cd Loam_ws
catkin_make 
source devel/setup.bash

//运行
roslaunch loam_velodyne loam_velodyne.launch
Lego-Loam

这里我们参考了https://blog.csdn.net/weixin_53141548/article/details/120796664

首先要安装依赖项gtsam 值得注意的是 这里的build文件是建立在clone的gtsam文件下的

git clone https://bitbucket.org/gtborg/gtsam.git
mkdir build  
cd build
make ..
sudo make install

接着安装编译并运行Lego-Loam

//安装
mkdir -p Lego_loam_ws/src
cd Lego_loam_ws/src
git clone https://gitee.com/Yeah2333/LeGO-LOAM.git
 
//编译
cd Lego_loam_ws
catkin_make 
source devel/setup.bash

//运行
roslaunch lego_loam run.launch
LIO_SAM

lio_sam与Lego_loam相同,都需要因子图优化库gtsam所以在安装前需要先安装gtsam 安装gtsam的步骤已经在Lego_loam中进行了说明

以下是LIO-SAM的安装编译运行过程

//安装
mkdir -p LIOSAM_ws/src
cd LIOSAM_ws/src
git clone https://github.com/TixiaoShan/LIO-SAM.git
 
//编译
cd LIOSAM_ws
catkin_make 
source devel/setup.bash

//运行
roslaunch lio-sam run.launch

在运动LIO-SAM时可能会报错[lio_sam_imuPreintegration-2] process has died,[lio_sam_mapOptmization-5] process has died

这里我们参考了https://blog.csdn.net/mars9711/article/details/121795261

使用如下命令解决了问题

cd /usr/local/lib/
sudo mv libmetis.so /opt/ros/melodic/lib/
A-Loam

这里我们参考了https://blog.csdn.net/weixin_43807148/article/details/113739347

mkdir ~/A_LOAM_ws
cd ~/A_LOAM_ws
mkdir src
cd ~/A_LOAM_ws/src/
git clone https://github.com/HKUST-Aerial-Robotics/A-LOAM.git
cd ~/A_LOAM_ws
catkin_make

在编译过程中,我们由于没有提前安装Ceres Solver 所以编译失败

Ceres Solver的安装过程我们参考了https://blog.csdn.net/weixin_44190648/article/details/125277120 

wget ceres-solver.org/ceres-solver-1.13.0.tar.gz
tar xvf ceres-solver-1.13.0.tar.gz
cd ceres-solver-1.13.0
mkdir build
cd build
cmake ..
//这一步会花费几分钟时间
make -j4

但是我们发现在进行 cmake .. 时报错找不到glog

在这里我们参考了https://blog.csdn.net/weixin_44120025/article/details/128053713顺利解决

之后正常编译

刷新环境变量之后 就可以正常使用A-Loam了

source devel/setup.bash
roslaunch aloam_velodyne aloam_velodyne_VLP_16.launch

3. Gazebo准备

这一部分我们参考了https://blog.csdn.net/weixin_43807148/article/details/113739347​​​​​​该博客借鉴的clearpath公司开发的huskyA200的ROS和gazebo文件

根据博客中的步骤安装好后 当我们需要使用自定义场景时 只需要将自己搭建的gazebo环境复制到husky_gazebo中即可

在安装过程中要注意的是:启动时报错缺什么库 自己对应安装就可以了 

 将launch文件中的world_name 修改为自己的模型名字即可 

需要修改的launch文件在husky_gazebo下

测试时我们使用以下命令

roslaunch husky_gazebo husky_playpen.launch

4.联合仿真

步骤:任意启动一种SLAM算法 接着启动配置好的gazebo 通过键盘控制小车移动 就可以在RVIZ中看到建图效果了

以A-LOAM为例  启动命令为

#在A-LOAM工作空间下
source devel/setup.bash
roslaunch aloam_velodyne aloam_velodyne_VLP_16.launch

#在husky工作空间下
source devel/setup.bash
roslaunch husky_gazebo husky_playpen.launch

这里我们自己搭建了一种环境

在Gazebo中控制小车运动 RVIZ是启动SLAM后自动开启的 可以在里面看到点云信息

  • 24
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值