树莓派4b+ubuntu22.04server安装ros2humble(代码片段)

faiyun11 faiyun11     2023-03-02     213

关键词:

树莓派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目前共有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

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

五、运行示例

以下要在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)。
以下是本文中提到的示例:

vmware虚拟机与树莓派4b安装ubuntu1804+ros遇到的问题(代码片段)

...apt源和ros源,然后安装ros,非常顺利,但是在树莓派4B上安装raspiberry系统就遇到了好多问题。  树莓派我烧录的是这个镜像:ubuntu-18.04.5-preinstalled-server-arm64+raspi4.img,推荐大家使用华为云的镜像地址,我以... 查看详情

树莓派c语言系列实验——实验一树莓派4b系统安装及使用

实验一 树莓派4B安装及使用目录实验一树莓派4B安装及使用...1目录...1一、      树莓派硬件资源介绍...2二、      烧录前的准备...31.      硬件准备...32.软件准备...3三、      烧录...41.      格式化SD卡...42.    ... 查看详情

树莓派4b使用winscp传输文件(sftp协议)(代码片段)

...器中的文本框为:sudo/usr/lib/openssh/sftp-server  输入树莓派的IP地址,用户名,密码就可以传输文件了。  查看详情

树莓派4b(ubuntu)无线网络配置(代码片段)

这两天移植程序到树莓派的时候遇到了一个网络方面的问题,树莓派的有线网用静态IP地址连接设备,无线网设置静态IP地址连接局域网,另一台主机wifi连接同一个局域网用ssh远程登录。树莓派wifi的连接设置网上有很... 查看详情

树莓派4b安装openmediavault(omv)搭建一个小型家用nas系统(代码片段)

树莓派4B安装OpenMediaVault(OMV)搭建一个小型家用NAS系统前言  手上有一块树莓派4B4GB版本的树莓派,折腾来折腾去,乱七八糟的总是不让他长久跑,做点有用的事情,,,于是这个想法就诞生了。。。。手上的清单 一.安装系... 查看详情

树莓派4b安装openmediavault(omv)搭建一个小型家用nas系统(代码片段)

树莓派4B安装OpenMediaVault(OMV)搭建一个小型家用NAS系统前言  手上有一块树莓派4B4GB版本的树莓派,折腾来折腾去,乱七八糟的总是不让他长久跑,做点有用的事情,,,于是这个想法就诞生了。。。。手上的清单 一.安装系... 查看详情

ubuntu22.04server机器学习环境安装(代码片段)

Ubuntu22.04Server机器学习环境安装1.安装操作系统https://ubuntu.com/download/server下载,写盘重启,最好备整张固态一路默认,连接主wifi,由于我是双系统不要覆盖已有系统盘直到[]SetupthisdiskasanLVMgroup,因为我就一个盘,这里不勾然后默... 查看详情

树莓派4b卡片电脑之初见--从零开始安装树莓派系统

树莓派,于嵌入式攻城师,如雷贯耳之大名;前些日reviewARM汇编,用qemu模拟的树莓派4,部分异常指令(数据对齐,timer中断触发等)在qemu无法真实模拟,遂想在真机耍玩一把。无奈电子玩具近期缺货异常,一拖再拖尔。机遇巧合... 查看详情

树莓派4b串口(uart)使用问题的解决方法-ubuntu21.04

参考技术A官方设计时都是将“硬件串口”分配给GPIO中的UART(GPIO14&GPIO15),因此可以独立调整串口的速率和模式添加下面两行参考下面内容修改打开terminal,使用minicom,走/dev/ttyUSB0 查看详情

树莓派(raspberrypi)4b无界面安装kali系统篇(代码片段)

树莓派4B这是一款基于ARM微型电脑主板,主要为学生编程教育而设计,别看外表“娇小”,但是内“心”强大!视频、音频等功能皆有,可谓麻雀虽小,五脏俱全。这边购买的一款应该是树莓派4代B型(RaspberryPi4ModelBRev1.2)。镜... 查看详情

树莓派4b安装raspbian系统图文教程

1.下载系统镜像官方下载地址为:https://www.raspberrypi.org/downloads/raspbian/解压镜像:将zip解压为img(路径不要有中文)2.格式化SD卡格式化工具:SDFormatter无需积分:https://download.csdn.net/download/m0_47958289/19562823 查看详情

树莓派4b对于failedtoexecutecommand的解决方案(代码片段)

前言因为树莓派4b是特例,到目前为止官方并没有提供可以直接安装在树莓派4b的系统镜像,而以前发布的版本对于4b这个新的型号也没有提供较好的支持。所以在更新插件或者更新系统可能会出现以下问题:Failedtoexecutecommand‘ex... 查看详情

树莓派(raspberrypi)4b使用摄像头拍照篇(代码片段)

前言首先呢你需要去购买下摄像头,毕竟树莓派默认不带摄像头_安装摄像头这是树莓派的板子,在红色CSI接口处插入摄像头配置安装完成后,就是配置了,由于我们下载的树莓派os是带有很多东西的,也就没必要在进行一些依赖... 查看详情

树莓派(raspberrypi)4b使用摄像头拍照篇(代码片段)

前言首先呢你需要去购买下摄像头,毕竟树莓派默认不带摄像头_安装摄像头这是树莓派的板子,在红色CSI接口处插入摄像头配置安装完成后,就是配置了,由于我们下载的树莓派os是带有很多东西的,也就没必要在进行一些依赖... 查看详情

树莓派4b部署lnmp+tor,搭建在darkweb上的网站(代码片段)

树莓派4b部署LNMP+Tor,搭建在Darkweb上的网站开始前的准备系统下载RaspberryPiOS烧录进TF卡SSH打开树莓派SSH功能用Putty连接树莓派修改SSH密码并启用rootSSH登录部署LNMP安装Nginx和PHP7安装软件包让Nginx能处理PHP安装配置MySQL安装软... 查看详情

禁用和卸载树莓派4b上avahi-daemon(代码片段)

关键词:树莓派、Linux、avahi、avahi-daemon、CPU如果移动端访问不佳,请访问–>GithubPage版背景在树莓派4B上安装了官方的Ubuntu系统,运行top指令,发现avahi-daemon占用CPU高,且对CPU的消耗波动比较大。查资料发现... 查看详情

禁用和卸载树莓派4b上avahi-daemon(代码片段)

关键词:树莓派、Linux、avahi、avahi-daemon、CPU如果移动端访问不佳,请访问–>GithubPage版背景在树莓派4B上安装了官方的Ubuntu系统,运行top指令,发现avahi-daemon占用CPU高,且对CPU的消耗波动比较大。查资料发现... 查看详情

树莓派(raspberrypi)4b无界面安装raspberrypi系统篇

前言如果看了上一篇kali无界面安装后,就会好奇为啥又要折腾一遍RaspberryPiOS,原因是这样的,买了个摄像头,在kali上有些指令执行不了,比如使用raspivid进行拍视频,使用raspistill拍照。虽然有解决方法,但是不想折腾那个了。... 查看详情