Ubuntu20.04一键安装ROS脚本指南
目录
对于很多新手小白来说安装ROS是一件非常苦恼的事情,本篇文章主要写安装ROS的主要解析,再文章的最后面附带一个自动安装ROS脚本,本脚本仅适用Ubuntu20.04版本的用户,可根据原理自行更改、修订脚本。
引言
安装前准备
安装步骤
设置软件源
添加密钥
更新软件包列表
安装 ROS Noetic
初始化 rosdep
设置环境变量
安装 ROS 工具和依赖项
验证安装
启动 ROS 核心
运行示例节点
一键安装脚本
总结
对于很多新手小白来说安装ROS是一件非常苦恼的事情,本篇文章主要写安装ROS的主要解析,再文章的最后面附带一个自动安装ROS脚本,本脚本仅适用Ubuntu20.04版本的用户,可根据原理自行更改、修订脚本。
引言
ROS(Robot Operating System)是一个广泛应用于机器人开发的开源元操作系统,它提供了丰富的工具、库和约定,大大简化了机器人软件开发的过程。Ubuntu 20.04 作为一款稳定且功能强大的操作系统,与 ROS 的结合能为机器人开发者打造出高效的开发环境。本文将详细介绍在 Ubuntu 20.04 上安装 ROS 的全过程。
安装前准备
在开始安装之前,请确保你的系统满足以下条件:
- 系统版本:确保你使用的是 Ubuntu 20.04 版本,其他版本可能不适用于本文的安装步骤。
- 网络连接:稳定的网络连接是顺利下载 ROS 相关软件包的必要条件。由于安装过程中需要下载大量文件,建议使用高速网络。
安装步骤
设置软件源
要从 ROS 软件源获取软件包,我们首先需要将 ROS 软件源添加到系统的软件源列表中。在终端中输入以下命令:
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
这条命令的作用是在/etc/apt/sources.list.d/目录下创建一个名为ros - latest.list的文件,并向其中写入 ROS 软件源的地址。$(lsb_release -sc)会自动获取当前 Ubuntu 系统的版本代号,对于 Ubuntu 20.04 来说,版本代号为focal。
添加密钥
为了保证下载的软件包来源可靠,防止软件包在传输过程中被篡改,我们需要添加 ROS 官方的 GPG 密钥。执行以下命令:
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C65
此命令通过指定的密钥服务器获取 ROS 官方的 GPG 密钥,并将其添加到系统的密钥环中。
更新软件包列表
在添加了软件源和密钥之后,我们需要更新系统的软件包列表,以便让系统识别新添加的 ROS 软件源。在终端中输入:
sudo apt update
这个命令会让系统从各个软件源(包括刚刚添加的 ROS 软件源)下载最新的软件包索引信息,为后续安装 ROS 软件包做好准备。
安装 ROS Noetic
ROS 有多个版本可供选择,对于 Ubuntu 20.04,推荐安装 ROS Noetic 版本,它是专门为 Ubuntu 20.04 设计的长期支持版本,功能稳定且完善。我们可以根据自己的需求选择不同的安装方式,这里推荐安装完整桌面版,它包含了 ROS、rqt、rviz、通用机器人库、2D/3D 模拟器、导航以及 2D/3D 感知等丰富的功能。执行以下安装命令:
sudo apt install ros-noetic-desktop-full
由于完整桌面版包含的软件包较多,安装过程可能需要一些时间,请耐心等待。在安装过程中,系统可能会提示你确认是否安装某些依赖项,输入Y并回车继续安装。
初始化 rosdep
rosdep 是 ROS 中的一个重要工具,它可以帮助我们在编译 ROS 代码之前轻松安装系统依赖项,同时在创建 ROS 软件包时也非常有用。初始化 rosdep 的命令如下:
sudo rosdep init
rosdep update
rosdep init命令会初始化 rosdep 数据库,而rosdep update命令则会从网络上下载最新的依赖项信息,更新 rosdep 数据库。需要注意的是,rosdep update这一步有时可能会因为网络原因失败。如果遇到这种情况,可以多尝试几次,或者根据错误提示更换网络环境(比如使用代理服务器)。
设置环境变量
每次打开新的终端时,都需要加载 ROS 的环境变量,这样才能在终端中使用 ROS 的命令和工具。为了让环境变量设置在每次打开终端时自动生效,我们将相关设置添加到.bashrc文件中。在终端中输入:
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
第一条命令将source /opt/ros/noetic/setup.bash这一行内容追加到.bashrc文件中,第二条命令则是立即让.bashrc文件中的设置生效。这样,在以后打开的每个新终端中,ROS 的环境变量都会自动加载。
安装 ROS 工具和依赖项
为了更方便地进行 ROS 开发,我们还需要安装一些常用的 ROS 工具和依赖项。执行以下命令:
sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
python3-rosinstall和python3-rosinstall-generator是用于从版本控制系统中下载 ROS 软件包的工具,python3-wstool则是一个用于管理工作空间的工具,build-essential包则包含了编译 C/C++ 代码所需的基本工具。
验证安装
安装完成后,我们可以通过运行一些简单的 ROS 命令来验证安装是否成功。打开两个终端,分别执行以下操作:
启动 ROS 核心
在第一个终端中输入:
roscore
roscore命令会启动 ROS 的核心服务,包括参数服务器、命名服务等,为其他 ROS 节点的运行提供基础支持。如果 ROS 核心成功启动,终端会显示一些相关的日志信息。
运行示例节点
在第二个终端中输入:
rosrun turtlesim turtlesim_node
rosrun命令用于运行一个 ROS 节点,这里我们运行的是turtlesim包中的turtlesim_node节点。这个节点会启动一个小乌龟的仿真窗口,如果窗口成功弹出,并且显示出一个小乌龟在一个白色的画布上,那就说明 ROS 安装成功了。
一键安装脚本
#!/bin/bash
echo "--------------------Notice:-------------------------------"
echo "本脚本将会安装ROS环境,适合刚刚安装完系统的用户"
echo "----------designed by CTwinkle 2025.03.15----------v1.0---"
echo "按下回车建开始安装"
read -n 1
ec
# 设置软件源
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
# 添加密钥
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C65
# 更新软件包列表
sudo apt update
# 安装ROS Noetic完整桌面版
sudo apt install ros-noetic-desktop-full -y
# 初始化rosdep
sudo rosdep init
rosdep update
# 设置环境变量
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
# 安装ROS工具和依赖项
sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool build-essential -y
# 提示安装完成
echo "ROS Noetic has been installed successfully. You can now test it by running 'roscore' and then 'rosrun turtlesim turtlesim_node' in separate terminals."
使用说明:在Home下新建一个文件夹,在文件夹里面建立文件,命名“ros”,在ros文件夹中新建一个文件命名demo.sh,将上面代码粘贴到demo.sh文件中进行保存,cd进入到ros文件夹中,输入./demo.sh方可一键安装ros环境。
经过本人测试,可以正常使用,下面是在使用过程中遇到的问题以及解决方案。
1.运行脚本前,请确保你对脚本的内容有充分了解,并且已经备份好重要数据。虽然这个脚本主要是进行软件安装,但仍有可能因网络问题或其他意外情况导致安装失败或出现其他问题。
2.脚本中 sudo命令需要你输入当前用户的密码,脚本运行过程中请根据提示进行操作。
3.rosdep update这一步有时可能会因为网络原因失败,你可以多尝试几次,或者根据错误提示进行相应的网络设置(比如更换镜像源等)。
总结
通过以上步骤,我们成功在 Ubuntu 20.04 上安装了 ROS Noetic。在安装过程中,请务必仔细按照每一步的说明进行操作。如果遇到问题,可以参考 ROS 官方文档或者在相关的技术论坛上寻求帮助。安装完成后,你就可以开始利用 ROS 强大的功能进行机器人项目的开发了,祝你在机器人开发的道路上取得成功!