赞
踩
说在前面:在安装cartographer的时候,一直各种报错,断断续续花了快一个星期时间才装好。期间试过各种教程,整个系统也重装了好几遍,都没有成功。后面发现了一个视频,跟着安装竟然成功了,而且是我见过的教程中最简单的。记录下自己安装的过程,以供后来者参考借鉴。原安装视频如下:
目录
建议是刚装好的系统,避免以前安装的一些依赖产生冲突。
基于ubuntu20.04,安装ROS noetic版,这里采用的是小鱼的一行代码安装系列:
如何一行代码安装ROS|2022最新版|一行代码安装ROS2|一行代码解决rosdep|一行代码配置多ROS环境
执行以下命令安装:
wget http://fishros.com/install -O fishros && bash fishros
安装过程中有可能会报出以下错误:
这是源的问题。
将源文件做备份:
sudo cp /etc/apt/sources.list /etc/apt/sources_copy.list
打开文件:
sudo gedit /etc/apt/sources.list
换源:将以下代码复制到打开的文件里面,保存并退出。(若还是无法安装ROS,仅保留复制的部分,删除其他部分。)
- # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
- deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
- # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
- deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
- # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
- deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
- # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
- deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
- # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
-
- # 预发布软件源,不建议启用
- # deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
- # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
执行以下命令,进行更新:
sudo apt-get update
sudo apt-get upgrade
再次安装,安装成功ROS noetic版本。
执行以下命令,打开.bashrc文件:
gedit ~/.bashrc
在文件的末尾添加以下代码(其中noetic可根据自己的ROS版本进行更改):
source /opt/ros/noetic/setup.bash
保存并退出,然后执行以下命令,刷新下环境。
source ~/.bashrc
这里也建议用小鱼老师的一键配置 rosdep
一键安装
然后依次执行以下命令:
rosdepc update
rosdepc install -r --from-paths src --ignore-src --rosdistro $ROS_DISTRO -y
安装配置成功界面如下:
最后执行以下命令,刷新下环境。
source ~/.bashrc
通过以下链接下载安装包,数据集也可一并下载方便后面测试。
链接:https://pan.baidu.com/s/1TWZKW4U51I5jGIjvs_qG4A
提取码:em60
解压至home下,然后进入cartographer_install文件夹。
注意:若你的ubuntu系统为18.04及以下,可直接执行脚本。若系统版本为20.04以上,需打开auto-carto-build.sh脚本文件,并做出如下修改:
- python-wstool \
- python-rosdep \
- python-sphinx \
改为如下:
- python3-wstool \
- python3-rosdep \
- python3-sphinx \
终端执行以下命令,执行脚本文件。
./auto-carto-build.sh
这个脚本会自动将所需的依赖库安装完成(包括abseil\ceres\protobuf)。
如果提示脚本不是一个可执行的文件,终端先执行以下命令:
chmod +x auto-carto-build.sh
然后执行上面提到的脚本文件。
在home下新建文件夹,命名为carto_ws。在carto_ws文件夹下,执行以下指令:
git clone https://github.com/xiangli0608/cartographer_detailed_comments_ws.git
进入cartographer_detailed_comments_ws文件夹下,执行以下命令,执行脚本文件:
./catkin_make.sh
执行成功后,结果如下:
至此cartographer安装成功。
执行以下命令,打开.bashrc文件:
gedit ~/.bashrc
在文件的末尾添加以下代码(路径可根据自己文件夹实际命名更改):
source ~/carto_ws/cartographer_detailed_comments_ws/install_isolated/setup.bash
注:source命令是设置当前的终端,可以执行的包与节点的地址集合的,若不执行source install_isolated/setup.bash 这个命令,直接启动roslaunch 时就会出现,找不到包或找不到节点的错误提示。为了防止每次启动终端都要执行一次 source install_isolated/setup.bash 这个指令,我们可以将这个指令写到 ~/.bashrc 文件中,每次启动终端时,会自动source ~/.bashrc 这个文件,这个文件中的所有内容都会被source一遍。
在home下新建文件夹,命名为bagfiles。将下载好的数据集解压缩至bagfiles文件夹下。
执行以下命令:
rospack profile
这是为了将新ros包或工作空间加入ros中 否则会找不到ros包或launch文件。执行后,终端界面如下:
在cartographer_detailed_comments_ws文件夹下,执行以下命令:
roslaunch cartographer_ros lx_rs16_2d_outdoor.launch
成功出现建图结果,如下所示:
另外再打开一个终端,接下来准备把图保存(共两种方法):
方法一:执行以下命令可将图保存(保存位置为当前所在的文件夹位置):
rosrun map_server map_saver
若出现以下情况:
输入以下指令,将其安装即可(其中noetic为相对应的ROS版本):
sudo apt-get install ros-noetic-map-server
方法二:也可执行以下命令,通过执行脚本文件来保存:
./finish_slam_2d.sh
会在carto_ws文件夹下新建一个map文件夹,并将图保存在里面。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。