在Ubuntu上安装ROS Noetic
ROS编译站为几个Ubuntu平台编译了Debian软件包。这些软件包可以直接使用,因此不必从源代码安装。你可以在这里查看各个包的状态。
请注意,Ubuntu上游也提供了一些软件包。参见UpstreamPackages了解两者的区别。
如果这些软件包对你帮助很大,请支持开源机器人基金会(OSRF)。
这些软件包是在由开源机器人基金会(OSRF,一个501(c)(3)非盈利组织)维护及支付的基础设施上构建并托管的。如果在两个月内每下载一个软件包OSRF就可以得到一分钱的话,我们就能负担得起该年度管理、更新和托管所有在线服务的成本花销。请考虑现在就为OSRF捐款。
Contents
安装
配置Ubuntu软件仓库
配置你的Ubuntu软件仓库(repositories)以允许使用“restricted”“universe”和“multiverse”存储库。你可以根据Ubuntu软件仓库指南来完成这项工作。
设置sources.list
设置电脑以安装来自packages.ros.org的软件。
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
若下载速度缓慢,推荐就近选择一个镜像源替换上面的命令。例如,Tsinghua University为:
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'
如果依旧遇到连接问题,请尝试为Ubuntu apt换源(非ROS网站)。
设置密钥
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
若无法连接到密钥服务器,可以尝试替换上面命令中的 hkp://keyserver.ubuntu.com:80 为 hkp://pgp.mit.edu:80 。
你也可以使用curl命令替换apt-key命令,这在使用代理服务器的情况下比较有用:
curl -sSL 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xC1CF6E31E6BADE8868B172B4F42ED6FBAB17C654' | sudo apt-key add -
开始安装
首先,确保你的Debian软件包索引是最新的:
sudo apt update
然后选择你想安装“多少部分”的ROS:
完整桌面版安装(Desktop-Full,推荐):除了桌面版的全部组件外,还包括2D/3D模拟器(simulator)和2D/3D 感知包(perception package)。
sudo apt install ros-noetic-desktop-full
或 点这里
桌面版(Desktop):包括了ROS-Base的全部组件,还有一些工具,比如rqt和rviz。
sudo apt install ros-noetic-desktop
或 点这里
ROS-Base(仅含骨架):ROS packaging,build,和communication库。没有图形界面(GUI)工具。
sudo apt install ros-noetic-ros-base
或 点这里
在ROS中还有更多可用的软件包。你可以直接安装一个特定的软件包。
sudo apt install ros-noetic-PACKAGE
例如,sudo apt install ros-noetic-slam-gmapping
要查看或搜索所有可用的软件包,请参见ROS Index或使用:
apt search ros-noetic
设置环境
你需要在使用ROS的每个bash终端中source这个脚本。
source /opt/ros/noetic/setup.bash
而下面这些命令可以在每次启动新的shell窗口时很方便地为你自动source一下这个脚本:
Bash
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc source ~/.bashrc
如果同时安装了好几个ROS发行版,~/.bashrc只会生效你当前使用的这个版本的setup.bash。
zsh
echo "source /opt/ros/noetic/setup.zsh" >> ~/.zshrc source ~/.zshrc