ROS 安装详细教程 —— Ubuntu20.04 LTS 安装

ROS 安装详细教程 —— Ubuntu20.04 LTS 安装

ROS 简介

官方文档对 ROS 的介绍如下:

The Robot Operating System (ROS) is a set of software libraries and tools that help you build robot applications. From drivers to state-of-the-art algorithms, and with powerful developer tools, ROS has what you need for your next robotics project. And it's all open source.

简单来说 ROS 就是一款开源的机器人操作系统,可以实现在 Linux 或 Dock 下安装并进行使用。这里我们选择在 Ubuntu 22.04LTS 下进行安装。

版本选择

ROS 目前主要支持 Linux 和 MacOS 系统,新发布的 ROS2 也支持 Windows 和 RTOS 系统。

对 ROS 兼容性最好的当属 Ubuntu 系统。从 ROS 发布以来,每版的 Ubuntu 系统版本都有与之对应 ROS 版本的,每一版 ROS 都有其对应版本的 Ubuntu 版本,切记不可随便装。

ROS 和 Ubuntu 之间的版本对应关系如下:

Ubuntu ROS 1.0 ROS 2.0
16.04 LTS Kinetic LTS Ardent
18.04 LTS Melodic LTS Dashing LTS
20.04 LTS Noetic LTS Foxy LTS
22.04 LTS Noetic Ninjemys Humble Hawksbill

我们使用的系统是 ubuntu 20.04 LTS ,所以这里选择对应的版本

安装

这里推荐安装 apt-fast 进行多线程下载,节约下载时间,安装教程:Ubuntu 下的多线程 apt-get

配置镜像源

这里选择配置清华大学镜像源:清华大学开源软件镜像站

我们进入清华大学镜像源官网,进入 ubuntu 对应的帮助页面:

这里选择我们所使用的系统版本:

然后我们按照提示,配置好镜像源即可

这里使用清华源会比ROS官方源下载快一些

这里也可以直接通过 ubuntu 自动使用下载最快的源

配置及更换最佳软件源:

打开设置,进入关于页面,找到软件更新选项,在下载自一栏中选择其它,然后点击选择最佳服务器即可


这里系统将会自动匹配最佳下载服务器

如果报错显示无法验证数字签名,直接使用以下命令添加公钥即可:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654

ROS1 安装

配置公钥:

钥是 Ubuntu 系统的一种安全机制,配置公钥让系统信任,命令如下:

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

添加 ROS 软件源

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

然后需要更新软件源

sudo apt-get update

安装 ROS :

# Ubuntu 20.04 
sudo apt-get install ros-noetic-desktop-full

初始化 rosdep

直接使用初始化命令:

sudo rosdep init && rosdep update

如果出现错误或者找不到命令,请看报错解决方案部分

环境变量设置

注意对应自己的版本修改目录名,如果使用 Ubuntu 20.04 直接使用即可:

echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

安装 rosinstall

sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool build-essential

示例测试

ROS1 示例测试

运行 roscore

直接运行如下命令即可:

roscore

注意:这里不要使用 sudo 权限执行

如果这里提示命令为找到,直接运行如下命令进行安装:

sudo apt install python3-roslaunch

如果再次运行 roscore 还是报错,可以参考后面的报错解决部分

如果运行 roscore 显示如下说明运行成功:

运行小海龟

这里需要三个 terminal 窗口:

第一个窗口运行 roscore

第二个窗口运行如下命令:

rosrun turtlesim turtlesim_node

这样我们就已经得到了小海龟的画面:

第三个窗口运行如下命令:

rosrun turtlesim  turtle_teleop_key

这是我们就可以通过键盘控制小海龟移动了,这就说明我们已经成功安装了 ROS1 并成功运行了示例

报错解决方案

ROS1 相关报错解决方案

初始化 rosdep 提示找不到命令

如果这里提示找不到命令,就需要手动安装以下 rosdep:

sudo apt install python3-rosdep2

安装成功后再次执行即可

执行初始化命令报错

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教程中的使用 rosdepc 安装

这里是由于代理的问题,我们需要将 raw.githubcontent.com 的 ip 添加到 hosts 文件中

使用如下命令打开 hosts 文件

sudo gedit /etc/hosts

添加如下字段:

185.199.109.133 raw.githubusercontent.com

再次执行初始化命令就可以

如果这样还是不能够下载,可以尝试使用手机热点,这里推荐采用以为国内大佬 鱼香ROS 的方法,安装 rosdepc ,一个专门为国内开发的 rosdep ,教程直接参考大神的文章:本文之后,世上再无rosdep更新失败问题!如果有....小鱼就...

这位大神曾开发一行命令安装 ROS ,现在还在使用,感兴趣可以关注他的网站:http://fishros.com

运行 roscore 报错

Resource not found: roslaunch
ROS path [0]=/opt/ros/noetic/share/ros
ROS path [1]=/opt/ros/noetic/share
The traceback for the exception was written to the log file

注意将 noetic 替换为对应版本

sudo apt-get install ros-noetic-roslaunch

运行 rosrun 报错

Command 'rosrun' not found, but can be installed with:

sudo apt install rosbash

一般情况下这里按照报错提示,直接安装即可,但是这里并不起作用,我们需要注意将 noetic 替换为对应版本

sudo apt install ros-noetic-rosbash

这里运行命令没有问题了,但是会出现第二个报错:

[rospack] Error: package 'turtlesim' not found

直接执行如下命令可以解决:

sudo apt-get install ros-noetic-turtlesim
posted @ 2023-02-03 07:23  ppqppl  阅读(2170)  评论(0编辑  收藏  举报