树莓派4B+Ubuntu22.04 Server安装ROS2 Humble


一、学习目标

通过本章学习,了解ROS2相关版本,能够熟练掌握ROS2安装相关操作,最终让Talker-listener实例跑起来。

参考网站:

二、ROS介绍

注意:如果对ROS已经有一定的了解,可以忽略此章节。

1、ROS能做啥

更多更具体的ROS介绍请查看官网Why ROS:https://www.ros.org/blog/why-ros/。我挑了一些重点内容百度翻译给大家:

  • 综述:ROS (Robot Operating System) 是一个用于机器人应用的开源软件开发工具包。ROS为各个行业的开发人员提供了一个标准的软件平台,将他们从研究和原型设计一直到部署和生产。
    人家的口号:不要重新发明轮子。通过建立ROS,创造新的东西,更快更好地完成!
  • 已在实践中被使用:整个机器人行业都依赖ROS。这是机器人教学的常态。它是大多数机器人研究的基础,从单个学生项目到多机构合作和大型比赛。如今,全世界都在生产机器人。仅在自主移动机器人(AMR)方面,ROS就帮助创造了数十亿美元的价值。
  • 缩短上市时间:ROS提供了开发机器人应用程序所需的工具、库和功能,允许您将更多的时间花在对业务至关重要的工作上。因为它是开源的,所以您可以灵活地决定在何处以及如何使用ROS,也可以根据您的需要自由定制ROS。此外,ROS不是排他性的,您不需要在ROS或其他软件堆栈之间进行选择;ROS可以轻松地与您的现有软件集成,将其工具应用于您的问题。
  • 跨平台支持:ROS 2在Linux、Windows和macOS以及各种嵌入式平台上得到支持和测试(通过micro-ROS)。(本人注:这里面提到的micro-ROS非常重要,以后的章节会重点介绍。)
  • 对领域支持:ROS可用于各种机器人应用,从室内到室外,从家庭到汽车,从水下到太空,从消费者到工业。据说某汽车的自动驾驶也是用的ROS,github上还有开源代码。

2、ROS2版本

ROS2版本

  • ROS2目前共有7个版本,最新版本是Humble,我们一般学习最好使用最新版,但网上资料最多的是Foxy版本的,大部分都是通用的,在学习Humble时,可以参考网上Foxy版本的资料。
  • 题外话:网上还有很多ROS的资料(如果不带版本号,那就是ROS1的版本),由于ROS1和ROS2区别很大,所以就不建议新手(本人也是新手( ̄▽ ̄)")学习使用ROS1了,除非工作需要,因为很多存量机器人使用的时ROS1。

三、准备工作

前提条件:树莓派上已经安装了Ubuntu 22.04 Server 64-bit。可以参考文章《保姆级教程:树莓派4B 安装Ubuntu 22.04 Server操作系统

修改Ubuntu Hosts文件:这项工作非常重要,如果不修改,ROS 2 GPG key无法安装,无法进行ROS2的安装。(可能跟网络限制有关,也许哪天就不用添加这个hosts了)

在终端执行命令:

 sudo gedit /etc/hosts

在打开的gedit上添加hosts如下,记得保存:

185.199.108.133	raw.githubusercontent.com
185.199.109.133	raw.githubusercontent.com
185.199.110.133	raw.githubusercontent.com
185.199.111.133	raw.githubusercontent.com

四、安装ROS2

ROS2安装有很多种方式,我们使用:**Ubuntu (Debian)**方式进行安装

按照Ros2官网地址https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html#一步一步安装,注意严格按照步骤执行。

需要注意的是,如果在安装过程中出现以下错误信息:

W: GPG error: http://packages.ros.org/ros2/ubuntu jammy InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F42ED6FBAB17C654
E: The repository 'http://packages.ros.org/ros2/ubuntu jammy InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

有可能ROS 2 GPG key安装有问题,或者上面说的hosts文件修改有问题,检查hosts文件,确保hosts已经添加相关映射,然后再在终端上执行以下命令:

sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

注意:有可能依然报错,则需要删除:/etc/apt/sources.list.d/ros2.list,然后重新执行上述命令(可能需要多试几次)。

安装完成后,就可以运行以下示例了。

五、运行示例

以下要在2个terminal终端上运行:

#第一个terminal:运行talker
source /opt/ros/humble/setup.bash
ros2 run demo_nodes_cpp talker
#第二个terminal:运行listener
source /opt/ros/humble/setup.bash
ros2 run demo_nodes_py listener

运行结果
在这里插入图片描述

扩展知识

我们经常遇到一些国外的网站打不开,可以尝试添加hosts,一般情况下就能访问了,如果还访问不了,那就是不允许访问,也别向其他办法了,弄不好就违法了。
在添加hosts时,如何找到网站的IP地址呢?可以访问https://www.ipaddress.com/,把无法访问的网站网址输入进去,进行搜索,能查看到和这个网站映射的所有IP(当然,也可以使用ping,只能查看到一个IP)。
以下是本文中提到的示例:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值