一、学习目标
通过本章学习,了解ROS2相关版本,能够熟练掌握ROS2安装相关操作,最终让
Talker-listener
实例跑起来。
参考网站:
- ROS2官网:https://www.ros.org/
- ROS2 Humble版本:https://docs.ros.org/en/humble/Installation.html
二、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目前共有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)。
以下是本文中提到的示例:文章来源:https://www.toymoban.com/news/detail-669694.html
文章来源地址https://www.toymoban.com/news/detail-669694.html
到了这里,关于树莓派4B+Ubuntu22.04 Server安装ROS2 Humble的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!