【配置Swarm-SLAM(swarm slam : 开源的多机器人协同CSLAM算法)更新中】

本文详细介绍了如何配置开源的Swarm-SLAM系统,这是一个针对多机器人系统的稀疏、分布式C-SLAM框架。配置过程涉及ROS2的安装、源码下载、conda环境搭建、gtsam和teaser++的安装以及ROS2依赖的处理。文章还提供了编译步骤和公共数据集的测试指南。
摘要由CSDN通过智能技术生成

配置Swarm-SLAM(swarm slam : 开源的多机器人协同CSLAM算法)

旨在记录Swarm-SLAM过程。

1 简介

Swarm-SLAM: Sparse Decentralized Collaborative Simultaneous Localization and Mapping Framework for Multi-Robot Systems
Swarm-SLAM 是一个开源的多机器人协同同时定位与建图(C-SLAM)系统,旨在可扩展,灵活,分散和稀疏,这些都是集群机器人的关键属性。其系统支持激光雷达、双目和RGB-D传感器,并包括一种新颖的机器人间闭环优先级技术,可减少机器人间通信并加速收敛。
论文地址
源码地址
官方启动指导


2 配置过程

首先,Ubuntu系统一定要是20.04!!
因为所需的ROS2-foxy是属于Ubuntu20.04的ROS2版本
博主用18.04安装ROS2想配置Swarm-SLAM,走了一大圈后发现源码依赖的Navigation2是ROS2-foxy专属的,是踩坑之一。

2.1 ROS2安装

最简便的ROS安装方法是采用鱼香ROS编写的fishROS一键安装脚本,使用过程如下
打开终端,运行以下代码:

sudo wget http://fishros.com/install -O fishros && sudo bash fishros

在这里插入图片描述

输入“1”以安装ROS,进到以下选择界面
在这里插入图片描述

如果自己换过源则选择“2”,未换过源的选择“1”自动换源(amd64为清华源)
按照指示换完源后到以下选择界面
在这里插入图片描述

选择“2”安装ROS2-foxy
如果你的选项里没有foxy说明你的ubuntu系统不为20.04
在这里插入图片描述

选择“1”桌面版,等待安装完成

安装完成后运行ros2测试如下
在这里插入图片描述

ros2安装完成

2.2 下载Swarm-SLAM源码

源码地址可进入链接下载,也可使用git下载:

sudo apt install git
git clone https://github.com/MISTLab/Swarm-SLAM.git

解压得到以下文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7dVcLe18-1686143012957)(vx_images/166183947190362.png =632x)]

安装vcstool

sudo apt install python3-vcstool

在你的swarm-slam文件夹新建src文件夹并通过.repos文件自动下载其他依赖源码

mkdir src
vcs import src < cslam.repos

等待下载完成,src会产生这三个包
在这里插入图片描述

2.3 miniconda安装

此链接下载miniconda
选择python3.9及以上的版本
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xoj97jmT-1686143012958)(vx_images/337901857639729.png =632x)]

运行下载的sh文件
在这里插入图片描述

一路默认进行 输入Enter或yes,直至安装成功
注意若默认安装位置在/root文件夹的话需要修改,/root文件夹需要权限过高,conda运行不起来
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ud8KRQDS-1686143012958)(vx_images/311287867055376.png =632x)]

成功安装后,启动终端会默认进入(base)环境
取消默认进入base方法:

conda config --set auto_activate_base false

2.4 配置python环境

创建用于c-slam的conda环境

conda create --name cslam python=3.9
conda activate cslam

进入2.2创建的Swarm-SLAM工作空间,运行

sudo apt install python3-pip
pip install -r requirements.txt 

(只用激光的话不需要安装torch)

如果安装速度太慢的话使用以下命令来使用清华源

pip install -r requirements.txt  -i https://pypi.tuna.tsinghua.edu.cn/simple

如果出现以下错误:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qHZ9yYHb-1686143012960)(vx_images/177786011625491.png)]

  • 可能原因1:没有启动创建的conda空间cslam
  • 可能原因2:创建cslam conda空间时python版本小于3.9

python3.9对应的pip是包含requirements.txt中所有版本的,所以出现以上问题说明python版本低

等待配置成功如下
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cqUvPGLK-1686143012961)(vx_images/401600908278877.png)]

2.5 安装gtsam

此网址下载安装包
推荐右侧Releases选择Swarm-SLAM测试过的4.1.1版本
解压后打开gtsam-4.1.1文件夹,运行命令

mkdir build
cd build
cmake ..
sudo make install

安装成功如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Tk4hb8D9-1686143012961)(vx_images/454091836400.png)]

2.6 安装teaser++ with python bindings(不使用激光不用装)

此地址安装

2.7 安装ROS2依赖向

sudo apt install python3-rosdep python3-colcon-common-extensions
sudo pip install rosdepc
sudo rosdepc init
rosdepc update
cd /YOUR_Swarm-SLAM_Workspace
rosdep install --from-paths src -y --ignore-src --rosdistro foxy

注意几点:

  • 这里使用的仍是鱼香ROS开发的rosdepc解决网络问题
  • 最后一个指令要在Swarm-SLAM存在的文件夹运行
    成功如下:
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QzZIiBuG-1686143012961)(vx_images/87426500625492.png)]

3 编译过程

在Swarm-SLAM目录下打开终端,目前该目录应该只有media和src两个文件夹
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-90rKkx47-1686143012962)(vx_images/526862931951243.png)]

激活conda

conda activate cslam

安装博主编译过程报错发现的额外依赖项catkin-pkg、empy、lark-parser

pip install catkin-pkg empy lark-parser -i https://pypi.tuna.tsinghua.edu.cn/simple

编译

colcon build

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xCwySblG-1686143012962)(vx_images/126301084817297.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wRynawUe-1686143012962)(vx_images/116150912532977.png)]

虽然三个包都Finished但是cslam出现了很多warning:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ltmreJWz-1686143012963)(vx_images/432651923658813.png)]

再次编译

colcon build

提示三个包全部成功编译
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SVfol3QO-1686143012963)(vx_images/567102070559353.png)]

编译完成

4 公开数据集测试

  • 6
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 22
    评论
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值