文章目录
- 前言
- 安装
- STEP-1: 配置Ubuntu软件仓库
- STEP-2: 设置sources.list
- STEP-3: 设置密钥
- STEP-4: 更新Ubuntu软件包确保安装索引是最新的
- STEP-5: 执行安装命令
- STEP-6: 配置ROS环境
- 测试ROS
前言
ROS
是Robot Operating System的缩写, 即机器人操作系统, ROS是一组软件库和工具,可帮助您构建机器人应用程序, 从驱动程序到最先进的算法, 以及强大的开发工具, ROS拥有您下一个机器人项目所需的一切, 而且都是开源的. ROS由柳树车库(Willow Garage)
和斯坦福人工智能实验室(Stanford Artificial Intelligence Laboratory)
联合开发的, 目前最新的长期支持版是(截至2023年7月2日)ROS Noetics Ninjemys
。ROS Noetics Ninjemys适配的最佳操作系统就是Ubuntu 20.04
. 因此, 建议需要安装ROS的你直接安装Ubuntu 20.04 + ROS Noetic Ninjemys
这个组合即可!🚀🚀🚀
官方建议的安装组合是: Ubuntu 20.04 + ROS Noetic Ninjemys
⭐️⭐️, Ubuntu 18.04 + ROS ROS Melodic Morenia
, 其中ROS Kinetic Kame
已不再支持, 不推荐安装.
ROS的安装在其官网有很详细的教程, 但是很不幸的是我们国人不太容易获取到官网信息. 因此结合了官网安装教程和博主自己的安装经验整理出了下面的安装教程以供参考.
有条件的同学可自行前往ROS官网, 查阅相关教程和学习资料, 下方给出了几个常用的ROS官方网页:
- ROS官网: https://www.ros.org/
- ROS中文文档: http://wiki.ros.org/cn
- ROS安装中文教程: http://wiki.ros.org/cn/noetic/Installation/Ubuntu
- ROS使用中文教程: http://wiki.ros.org/cn/ROS/Tutorials
安装
ROS的安装大致可分为以下6个步骤:
STEP-1: 配置Ubuntu软件仓库
配置你的Ubuntu软件仓库(Software & Updates)以允许使用“restricted”“universe”和“multiverse”存储库, 即确保勾选上community-maintained free and open-source software (universe)
和Software restricted by copyright or legal issues (multiverse)
。然后, 我们需要在设置一下软件下载源, 即设置Download from
, 选择国内的下载源.
↓
\downarrow
↓
↓
\downarrow
↓
↓
\downarrow
↓
↓
\downarrow
↓
STEP-2: 设置sources.list
将ROS的安装源写入到/etc/apt/sources.list.d/ros-latest.list
中, 确保后面安装指令可以正常安装来自packages.ros.org的软件. (选择下面安装源, 在终端中执行对应写入指令即可, 任选一个即可.)
如下:
可在下面网址查看ROS支持的源: http://wiki.ros.org/ROS/Installation/UbuntuMirrors
国内镜像源: 中国科技大学源:
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'
国内镜像源: 清华大学源:
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'
国内镜像源: 北京外国语大学:
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.bfsu.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
国内镜像源: 上海交通大学源:
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.sjtug.sjtu.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
国内镜像源: 浙江大学源:
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.zju.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
ROS官方安装源(国内用户不推荐😥😥)
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
STEP-3: 设置密钥
在终端执行下面命令即可:
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 -
STEP-4: 更新Ubuntu软件包确保安装索引是最新的
依次执行下面终端指令, 确保Debian软件包索引是最新的:
sudo apt update
apt list --upgradable
sudo apt upgrade
↓
\downarrow
↓
↓
\downarrow
↓
STEP-5: 执行安装命令
根据自身需要选择需要安装的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
STEP-6: 配置ROS环境
在终端中使用ROS时需要提前使用一下命令source一下ROS的setup.bash脚本, 才能正常使用ROS指令。
source /opt/ros/noetic/setup.bash
如果不想每一次打开终端, 想要使用ROS都要提取source一下setup.bash脚本, 则可以依次执行下面命令在每次启动新的shell窗口时自动source这个脚本:
Bash
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
如果同时安装了好几个ROS发行版,~/.bashrc只会生效你当前使用的这个版本的setup.bash。
测试ROS
依次打开三个终端, 分别执行下面三条指令. 出现如下画面, 并且可以使用上下左右
键控制小乌龟则说明ROS安装成功. (PS: ROS会随机选择一种乌龟样式, 因此你的乌龟可能和现在的画风不一致, 这并不表示安装失败.)
roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key
收集整理和创作不易, 若有帮助🉑, 请帮忙点赞
👍➕收藏
❤️, 谢谢!✨✨🚀🚀