一、操作系统与ROS版本选择
ROS目前主要支持Ubuntu操作系统,其他操作系统可查看相应wiki的安装说明。
目前,ROS已经发布了如下多个版本,安装时一定要注意版本对应关系。由于我是Ubuntu20.04系统,所以选择安装noetic。
ROS安装方式有两种:1、软件源安装,只需简单的命令即可从仓库中找到需要的软件并完成下载安装;2、源码编译方法,相对复杂,需要自己解决繁杂的软件依赖关系。这里通过软件源的方法安装。
二、添加ROS软件源
sources.list是Ubuntu系统保存软件源地址的文件,需要在其中添加ROS软件源地址。打开终端输入如下命令:
sudo sh -c'echo“ deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc)main”> /etc/apt/sources.list.d/ros-latest.list'
上面使用的是ROS官网的镜像,如果速度慢可以换成国内镜像源。
三、添加密钥
为从ROS软件源下载功能包,需要添加密钥:
sudo apt-key adv --keyserver'hkp://keyserver.ubuntu.com:80'--recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
四、ROS安装
首先需要更新软件源的修改,使用如下命令:
sudo apt update
接下来选择ROS的安装版本:
(1)Desktop-Full(推荐),在Desktop的基础上加了2D/3D仿真、2D/3D感知等功能
sudo apt install ros-noetic-desktop-full
(2)Desktop,在ROS-Base的基础上加了rqt、rviz等工具
sudo apt install ros-noetic-desktop
(3)ROS-Base,精简了机器人通用函数库、功能包和工具,仅保留了没有GUI的基础功能
sudo apt install ros-noetic-ros-base
如果还想安装其他ROS功能包,可以使用如下命令安装特定功能包(PACKAGE是包名):
sudo apt install ros-noetic-PACKAGE
e.g.
sudo apt install ros-noetic-slam-gmapping
五、初始化rosdep
rosdep是ROS中自带的工具,它主要是为某些功能包安装系统依赖,也是某些核心功能包所必须的工具。其初始化命令入下:
sudo rosdep init
rosdep update
这里可能会报错,提示
sudo: rosdep:找不到命令
或者
ERROR: cannot download default sources list from:
https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
Website may be down.
解决方案见ROS踩坑 - sudo rosdep init失败
六、设置环境变量
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
七、安装完成
打开终端,输入roscore命令,可以发现ros已经运行起来了,大功告成!