配置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
解压得到以下文件
安装vcstool
sudo apt install python3-vcstool
在你的swarm-slam文件夹新建src文件夹并通过.repos文件自动下载其他依赖源码
mkdir src
vcs import src < cslam.repos
等待下载完成,src会产生这三个包
2.3 miniconda安装
在此链接下载miniconda
选择python3.9及以上的版本
运行下载的sh文件
一路默认进行 输入Enter或yes,直至安装成功
注意若默认安装位置在/root文件夹的话需要修改,/root文件夹需要权限过高,conda运行不起来
成功安装后,启动终端会默认进入(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
如果出现以下错误:
- 可能原因1:没有启动创建的conda空间cslam
- 可能原因2:创建cslam conda空间时python版本小于3.9
python3.9对应的pip是包含requirements.txt中所有版本的,所以出现以上问题说明python版本低
等待配置成功如下
2.5 安装gtsam
此网址下载安装包
推荐右侧Releases选择Swarm-SLAM测试过的4.1.1版本
解压后打开gtsam-4.1.1文件夹,运行命令
mkdir build
cd build
cmake ..
sudo make install
安装成功如下:
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存在的文件夹运行
成功如下:
3 编译过程
在Swarm-SLAM目录下打开终端,目前该目录应该只有media和src两个文件夹
激活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
虽然三个包都Finished但是cslam出现了很多warning:
再次编译
colcon build
提示三个包全部成功编译
文章来源:https://www.toymoban.com/news/detail-743172.html
编译完成文章来源地址https://www.toymoban.com/news/detail-743172.html
4 公开数据集测试
到了这里,关于【配置跑通Swarm-SLAM(swarm slam : 开源的多机器人协同CSLAM算法)(持续更新中......)】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!