1、确定要安装的 ROS 版本
要安装的ROS的版本要根据Ubuntu系统的版本来确定,目前常用的为ROS1,更新的版本还有ROS2,其中ROS1又分为 Melodic 和 Noetic 等多个版本,其中 Melodic 和 Noetic 应用较为广泛。Ubuntu系统版本和ROS版本的对应关系如下:
Ubuntu版本 | ROS 版本 |
---|---|
18.04 | Melodic |
20.04 | Noetic |
2、安装 ROS
建议安装ROS过程中参考ROS的官方步骤,本文以Ubuntu20.04系统下安装 ROS Noetic 版本为例参考官方安装步骤来撰写。
2.0、确保Ubuntu系统接入网络
在安装ROS前确保自己的电脑接入网线/WiFi。
2.1、检查系统设置
从Ubuntu应用中,找到 Software & Updates 设置,勾选如下的选项:
Software & Updates >> Ubuntu Software >>
[√] Community-maintained free and open-source softwate (universe)
[√] Proprietary drivers for device (restricted)
[√] Software restricted by copyright or legal issues (multiverse)
2.2、设置系统 sources.list
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
2.3、设置 keys
1)安装 curl (已经安装curl可直接进行步骤 2))
sudo apt install curl
2)设置 keys
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
2.4、安装 ROS Noetic
1) 更新 Debian package
sudo apt update
2)安装 ROS Noetic (Desktop-Full Install)
sudo apt install ros-noetic-desktop-full
3)当前命令行终端( terminal )加载 ROS 环境变量
source /opt/ros/noetic/setup.bash
注意:该命令行仅仅在当前命令行终端(terminal)加载了 ROS 的相关环境变量,如果重新打开一个命令行终端(terminal)还需要重新执行上述命令才可以运行 ROS 的相关命令。为了避免每次重复执行上述过程,可以安装 4)步骤进行设置,这样每次打开新的命令行终端就可以直接运行 ROS 的相关命令了。
4)设置命令行终端( terminal )自动加载 ROS 环境变量
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
2.5、安装相关依赖包
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
2.6、初始化 rosdep
sudo rosdep init
rosdep update
3、测试 ROS Noetic
3.1、启动 ROS
roscore
3.2、运行小海龟节点
rosrun turtlesim turtlesim_node
3.3、如果出现小海龟的图窗就证明安装完成
4、安装过程中部分错误及解决方法
【错误1】
在运行 2.3 节的步骤 2)时
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
出现错误:
Unable to locate package, no valid OpenPGP data
【错误1】 解决办法
使用如下命令进行替代
wget http://packages.ros.org/ros.key
sudo apt-key add ros.key
sudo apt-get update
然后跳转至 2.4 节步骤 2) 继续安装
[错误2]
在运行 2.6 节如下命令时,由于网络问题出错
sudo rosdep init
rosdep update
【错误2】 解决办法
大家可以去搜索下针对上述问题的解法方法,具体就是手动下载相关文件,然后手动修改脚本中的文件地址。如果实在有需要,请大家评论,我开一个博客来记录下怎么操作。