官网教程
ROS1 官网安装教程:http://wiki.ros.org/noetic/Installation
ROS1的二进制包支持Ubuntu和Debian,我使用的时Linux Mint,基于ubuntu,所以选择了Ubuntu系统(http://wiki.ros.org/noetic/Installation/Ubuntu)
软件源设置
建议选择速度较快的软件源,注意打开源代码等选项。
设置apt仓库
这一步按照官网说明操作即可,建议使用镜像,ros默认的那个仓库速度较慢;USTC和tuna选其一就可以了
📌 关键来了! 如果你用的不是标准的Ubuntu系统,比如Ubuntu的衍生系统Linux Mint,那么按照官网给的命令,执行后添加的ros仓库是有问题的。
在你后续执行sudo apt update
时会发现添加的ros仓库缺少 Release文件,后续apt install
时无法找到ros包。
📌问题原因:
以添加清华源ros仓库为例,官网给的命令为
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
这个命令主要的动作是向/etc/apt/sources.list.d/ros-latest.list
文件中写入tuna的ros仓库信息,让apt
知道能够去tuna仓库中下载ros包;其中的lsb_release -cs
会获取系统的code。
linux mint20.04的code是Ulyana,但是其PACKAGE BASE却是Ubuntu Focal,也就是说lsb_release -cs
应该是focal
,但是由于mint不是标准的Ubuntu系统,所以被识别为ulyana
,导致后续无法找到ulyana
对应的ubuntu使用的ros包。
📌解决方案:
- 在执行命令时直接将相关位置替换为ubuntu的code:
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ focal main" > /etc/apt/sources.list.d/ros-latest.list'
- 或者在执行完命令后,手动修改
/etc/apt/sources.list.d/ros-latest.list
文件内的系统code信息,注意需要sudo权限。以下是修改好的文件示例:
deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ focal main
你可以从https://www.linuxmint.com/download_all.php 网站获取各个版本的mint对应的ubuntu系统code:
开心地安装ros吧
接下来就按照官网教程安装ros即可~
依次是 添加source.lsit -> 添加keys -> apt update -> apt install。
上述步骤执行完后即完成了ros的基础环境的安装。