1 前言
ROS知识自学,现有博文比较多,而且参差不齐,为了梳理自己的学习思路,形成自身的知识体系,撰写自己的学习日志文档,参考文章及链接均在文章末尾显示。
2 主要安装步骤
2.1 更换源文件
- 添加软件源文件则是将国外服务器的下载地址更改为国内服务器的下载地址,以提高软件安装和更新的速度。
sudo vim /etc/apt/sources.list //打开源文件地址,并用下述内容将源文件内容替换
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src 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-src 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-src 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-src 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-proposed main restricted universe multiverse
2.2 添加ROS软件源文件
- ROS软件源可以理解为ROS的下载地址,类比于在浏览器中下载电影,源即是存放电影的服务器对外提供的下载地址。
- 复制以下命令到ubuntu终端,并执行。
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
2.3 添加密钥
- 建立本地主机系统和服务器的匹配关系,本地主机通过密钥登录并且在服务器中下载数据。
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
2.4 更新软件源
- 更新本地主机软件下载的地址列表
sudo apt update //访问源列表中的网址,并读取软件列表到本地主机
sudo apt-get upgrade //将新的软件列表与旧的软件列表比较,需要更高版本的软件就会升级。
2.5 安装ROS noetic
- 不同版本的ubuntu安装不同版本的ROS,确保ROS版本正确
sudo apt install ros-noetic-desktop-full
2.6 ROS初始化
- 构建ros的工作空间
sudo rosdep init
2.7 更新rosdep
sudo rosdep update
2.8 设置环境变量并使脚本生效
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
2.9 启动ROS节点
roscore
2.10 启动海龟节点进行测试
- 新建第一个终端启动海龟节点(输入第一行命令),新建第二个终端启动控制器(输入第二行命令),移动键盘的上下左右,海龟移动即说明安装成功
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key
3 主要问题记录
3.1 sudo apt install ros-noetic-desktop-full 报错 软件无法定位(换源)
- 打开ubuntu软件和更新窗口
- 点击选择“最佳服务器”,选完后点击选择的服务器
- 点击关闭,自动重新载入软件列表
3.2 sudo apt install ros-noetic-desktop-full 报错 软件包缺少依赖
- 打开软件中心,把Subscribed to:设置成 all updates,关闭并自动更新
- 重新输入 sudo apt install ros-noetic-desktop-full
3.3 软件自动设置最佳服务器和设置个人热点,下载依然很慢
- 国内常见源地址,依次尝试,总归会有一个合适的
3.4 源文件被多次配置
- 删除所有源文件,重新添加源文件
3.5 sudo rosdep init 无法找到rosdep命令
- 以下代码二选一,
sudo apt install python-rosdep2//
sudo apt install python3-rosdep2
3.6 ROS rosdep失败
- 使用国内搭好的源进行初始化
sudo apt-get install python3-pip
sudo pip install rosdepc
sudo rosdepc init
rosdepc update
3.7 小结
不同的主机下存在不同的问题,这里主要记录自己在安装中遇到的实际问题。遇到问题之处最好是先去弄明白问题发生的根源是什么,然后再去寻找解决方案,不要各种方案来回试,效率反而更低。
4 参考文章
[4] 详细介绍如何在ubuntu20.04中安装ROS系统,超快完成安装 [5] 本文之后,世上再无rosdep更新失败问题!