本文使用ubuntu20.04版本操作系统
一、安装ROS Noetic
参考官方链接:
http://wiki.ros.org/cn/noetic/Installation/Ubuntu
参考链接
https://blog.csdn.net/Leslie___Cheung/article/details/109591426
https://blog.csdn.net/weixin_42525601/article/details/112198438
1.更新软件源
打开一个终端(快捷键 ctrl+Alt+t)
输入:
sudo gedit /etc/apt/sources.list
对于官网的源,不可以删掉,在下面添加这些源:
# 阿里源
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
#清华源
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
#中科大源
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
添加完后,保存并关闭该文档。
在终端输入:
sudo apt update
sudo apt upgrade
2.安装ROS
使用清华的镜像源:
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
设置密钥:
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
更新安装:
sudo apt update
sudo apt install ros-noetic-desktop-full
设置环境变量:
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
安装完成!!!!
3.测试ROS是否安装成功
下面测试一下ROS是否安装成功:
参考:
https://www.cnblogs.com/linuxAndMcu/p/10564875.html
https://blog.csdn.net/shanpenghui/article/details/89041359
在终端输入:
roscore
要新开启一个终端,运行turtlesim功能包,输入:
rosrun turtlesim turtlesim_node
再新开启一个终端,运行键盘控制,输入:
rosrun turtlesim turtle_teleop_key
如果这些步骤能正常启动和小乌龟可以由键盘正常控制行走,就安装成功了,如下图:
二、安装Cartographer
官方链接:https://google-cartographer-ros.readthedocs.io/en/latest/
1.先安装一些工具:wstool,rosdep和Ninja:
在终端输入:
sudo apt-get update
sudo apt-get install -y python3-wstool python3-rosdep ninja-build stow
2. 加入谷歌服务器域名
由于从google直接下载代码包可能会访问失败,所以需要做如下修改:
sudo gedit /etc/resolv.conf
将原有的nameserver这一行注释,并添加以下两行:
nameserver 8.8.8.8
nameserver 8.8.4.4
然后保存并关闭文件。(更改后,浏览器可能无法正常访问网页)
3.下载三个代码包
创建一个cartographer_ros 的工作空间,名字叫作 ‘catkin_ws‘:
mkdir catkin_ws
cd catkin_ws
wstool init src
由于我按照官方教程在使用wstool工具下载安装包时,使用命令
wstool merge -t src https://raw.githubusercontent.com/cartographer-project/cartographer_ros/master/cartographer_ros.rosinstall
会报错(访问被拒绝)。于是选择分别从git地址clone三个代码包:
cd src
git clone https://github.com/googlecartographer/cartographer_ros.git
git clone https://github.com/googlecartographer/cartographer.git
git clone https://github.com/ceres-solver/ceres-solver.git
使用以上方法可以下载成功
在src文件夹下面可以看到三个代码包
4.安装依赖项:
sudo rosdep init
rosdep update
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y
执行完可能会报错,但是这个错误可以忽略不管。
安装abseil-cpp 库
继续输入以下命令:
src/cartographer/scripts/install_abseil.sh
sudo apt-get remove ros-${ROS_DISTRO}-abseil-cpp
5.编译链接
catkin_make_isolated --install --use-ninja
链接成功后,即可下载cartographer 例子数据包进行测试
6.下载cartographer 例子数据包
2D数据包下载的命令如下:
wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/backpack_2d/cartographer_paper_deutsches_museum.bag
3D数据包下载的命令如下:
wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/backpack_3d/with_intensities/b3-2016-04-05-14-14-00.bag
7. launch数据包
直接执行launch语句来run数据包,可能会报错,所以通常加一句:
source install_isolated/setup.bash
launch 2D:
roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=${HOME}/Downloads/cartographer_paper_deutsches_museum.bag
launch 3D:
roslaunch cartographer_ros demo_backpack_3d.launch bag_filename:=${HOME}/Downloads/b3-2016-04-05-14-14-00.bag
执行成功后,3D效果如下:
8.将服务器域名恢复原状
输入命令:
sudo gedit /etc/resolv.conf
将原来注释掉的nameserver这一行,把注释去掉
将后来加入的
nameserver 8.8.8.8
nameserver 8.8.4.4
注释起来。
这样,浏览器又可以正常访问网页了。