当前位置: 首页 > news >正文

【ROS2】Ubuntu22.04安装ROS humble

一. ROS简介

1.1 什么是ROS

ROS 是一个适用于机器人的开源的元操作系统。它提供了操作系统应有的服务,包括硬件抽象,底层设备控制,常用函数的实现,进程间消息传递,以及包管理。ROS的核心思想就是将机器人的软件功能做成一个个节点,节点之间通过互相发送消息进行沟通。这些节点可以部署在同一台主机上,也可以部署在不同主机上,甚至还可以部署在互联网上。
请添加图片描述
自ROS诞生的十几年来,不管是机器人相关软件、硬件还是ROS社区都发生了天翻地覆的变化,加之原本的ROS存在一些设计上的先天性缺陷,在各种内外因素叠加下,导致老ROS在许多应用场景下都已经显得力不从心了。

此背景下,官方于2017正式推出了新一代机器人操作系统——ROS2(区别于老ROS,即ROS1),ROS2基于全新的设计框架,保留了ROS1的优点并改进其缺陷,以适应新时代的新需求。
在这里插入图片描述

本文简要介绍ROS2的安装教程。

1.2 ROS与ROS2的差别

ROS2作为ROS1的继任者,在保持ROS核心功能的基础上进行了诸多改进和优化。相较于ROS1,ROS2取消了ROS1中的Master中央节点,实现了节点的分布式发现、发布/订阅、请求/响应通讯。

  • ROS1使用自定义的中间件(roscore),而ROS2使用DDS中间件。
  • ROS1使用catkin作为构建系统,而ROS2使用colcon作为构建系统。

1.3 ROS2与Ubuntu版本对应

ROS2版本生命周期Ubuntu版本语言依赖
Foxy Fitzroy2020.5-2023.5Ubuntu Focal (20.04)C++ >=14、Python >= 3.7
Galactic Geochelone2021.5-2022.11Ubuntu Focal (20.04)C++ >=17、Python >=3.6
Humble Hawksbill2022.5-2027.5Ubuntu Jammy (22.04)/Ubuntu Focal (20.04)(只能源码安装)C++ >=17 、Python >=3.6
Iron Irwini2023.5-2024.11Ubuntu Jammy (22.04)C++ >=17 、Python >= 3.8
Jazzy Jalisco2024.5-2029.5Ubuntu Noble (24.04)C++ >=17 、Python >= 3.8

以下以 ubuntu 22.04 、ROS2 humble 为例

二. 安装ROS2

2.1 推荐小鱼工具一键安装

执行以下命令

wget http://fishros.com/install -O fishros && . fishros

执行后出现如下界面,按照步骤进行安装
在这里插入图片描述

输入1 一键安装
在这里插入图片描述

输入1 更换系统源再继续安装
在这里插入图片描述
输入1 humble
在这里插入图片描述

输入1 选择桌面版

2.2 安装rosdep

wget http://fishros.com/install -O fishros && . fishros

在这里插入图片描述

选择3 安装rosdep

安装好后再终端输入 rosdepc update 即可配置成功

三. 测试

打开两个终端分别输入以下命令 :

ros2 run demo_nodes_cpp talker

在另一个终端中,输入命令:

ros2 run demo_nodes_py listener  

显示如下即为成功
在这里插入图片描述

相关文章:

【ROS2】Ubuntu22.04安装ROS humble

一. ROS简介 1.1 什么是ROS ROS 是一个适用于机器人的开源的元操作系统。它提供了操作系统应有的服务,包括硬件抽象,底层设备控制,常用函数的实现,进程间消息传递,以及包管理。ROS的核心思想就是将机器人的软件功能做…...

cesium 3Dtiles变量

原本有一个变亮的属性luminanceAtZenith,但是新版本的cesium没有这个属性了。于是 let lightColor 3.0result._customShader new this.ffCesium.Cesium.CustomShader({fragmentShaderText:void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial mate…...

配置泛微e9后端开发环境

配置泛微e9的后端开发环境 1.安装jdk1.8(请自行安装并设置环境变量) 2.将服务器上的WEARVER文件夹拷贝到开发环境下(其中要包含ecology和Resin目录) 3.通过idea创建一个基础Java项目,将jdk设置为1.8 4.添加依赖,需要将3个文件夹的所有jar包添加到项目中…...

【Stable Diffusion】安装教程

目录 一、python 安装教程 二、windows cuda安装教程 三、Stable Diffusion下载 四、Stable Diffusion部署(重点) 一、python 安装教程 (1)第一步下载 打开python下载页面,找到python3.10.9,点击右边…...

USB Type-C一线通扩展屏:多场景应用,重塑高效办公与极致娱乐体验

在追求高效与便捷的时代,启明智显USB Type-C一线通扩展屏方案正以其独特的优势,成为众多职场人士、娱乐爱好者和游戏玩家的首选。这款扩展屏不仅具备卓越的性能和广泛的兼容性,更能在多个应用场景中发挥出其独特的价值。 USB2.0显卡&#xff…...

【力扣】541.反转字符串2

问题描述 思路解析 每当字符达到2*k的时候,判断,同时若剩余字符>k,只对前k个进行判断(这是重点)因为字符串是不可变变量,所以将其转化为字符串数组,最后才将结果重新转变为字符串 字符串->字符数组 …...

什么是防抖与节流

防抖(Debouncing)与节流(Throttling) 在前端开发中,尤其是在处理用户输入、窗口调整大小、滚动事件等高频率触发的事件时,防抖和节流是两种常用的技术手段。它们可以帮助我们优化性能,减少不必…...

springboot vue 开源 会员收银系统 (12)购物车关联服务人员 订单计算提成

前言 完整版演示 http://120.26.95.195/ 开发版演示 http://120.26.95.195:8889/ 在之前的开发进程中,我们完成订单的挂单和取单功能,今天我们完成购物车关联服务人员,用户计算门店服务人员的提成。 1.商品关联服务人员 服务人员可以选择 一…...

FFmpeg 推流给 FreeSWITCH

FFmpeg 推流&#xff0c;貌似不难&#xff0c;网上有很多资料, 接到一个任务&#xff0c;推流给 FreeSWITCH&#xff0c;最开始以为很容易&#xff0c; 实则不然&#xff0c;FreeSWITCH uuid_debug_media <uuid>&#xff0c; 一直没人任何反应 仔细一查&#xff0c;Fr…...

.npmrc文件的用途

.npmrc 文件是 npm&#xff08;Node.js 的包管理工具&#xff09;用于配置项目或用户的设置文件。它可以存储与 npm 相关的配置信息&#xff0c;如注册表地址、认证信息、代理设置、安装路径等。.npmrc 文件可以出现在不同的地方&#xff0c;具有不同的作用范围&#xff0c;通常…...

C++游戏开发入门:如何从零开始实现自己的游戏项目?

成长路上不孤单&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a; 【14后&#x1f60a;///C爱好者&#x1f60a;///持续分享所学&#x1f60a;///如有需要欢迎收藏转发///&#x1f60a;】 今日分享关于C游戏开发的相关内容&#xff01; 关于【…...

Redis设计与实现第16章 -- Sentinel 总结1(初始化、主从服务器获取信息、发送信息、接收信息)

Sentinel是Redis的高可用解决方案&#xff1a;由一个或多个Sentinel实例组成的Sentinel系统可以监视任意多个主服务器&#xff0c;以及这些主服务器属下的所有从服务器&#xff0c;被监视的主服务器进入下线状态时&#xff0c;自动将下线主服务器属下的某个从服务器升级为新的主…...

Windows10+VirtualBox+Ubuntu:安装虚拟机VirtualBox,虚拟机中安装Ubuntu

一、需求 在Windows10系统中&#xff0c;安装虚拟机VirtualBox&#xff0c;VirtualBox中安装Ubuntu桌面版。 二、环境准备 系统环境 Windows10 内存&#xff1a;8G 虚拟化 虚拟机的运行&#xff0c;如果需要Windows系统开启虚拟化&#xff0c;可以通过BIOS设置。 “虚拟…...

Torchtune在AMD GPU上的使用指南:利用多GPU能力进行LLM微调与扩展

Torchtune on AMD GPUs How-To Guide: Fine-tuning and Scaling LLMs with Multi-GPU Power — ROCm Blogs 这篇博客提供了一份详细的使用Torchtune在AMD GPU上微调和扩展大型语言模型&#xff08;LLM&#xff09;的指南。Torchtune 是一个PyTorch库&#xff0c;旨在让您轻松地…...

C底层 函数栈帧

文章目录 一&#xff0c;什么是寄存器 二&#xff0c;栈和帧 前言 我们在学习c语言程序的时候&#xff0c;是不是有很多的疑问&#xff0c;如 1&#xff0c;为什么形参不可以改变实参 2&#xff0c;为什么我们编写程序的时候会出现烫烫烫......这个乱码 3&#xff0c;那些局…...

【模块一】kubernetes容器编排进阶业务容器化案例

Kubernetes 实战案例 Kubernetes实战案例-规划(基于nerdctl buildkitdcontainerd构建容器镜像) 业务容器化优势&#xff1a; ① 提高资源利用率、节约部署IT成本。 ② 提高部署效率&#xff0c;基于kubernetes实现微服务的快速部署与交付、容器的批量调度与秒级启动。 ③…...

可视化建模以及UML期末复习篇----相关软件安装

作为一个过来人&#xff0c;我的建议是别过来。 一、可视化建模 <1>定义: 官方&#xff1a;一种使用图形符号来表示系统结构和行为的建模技术。 我&#xff1a;其实说白了就是把工作流程用图形画出来。懂不&#xff1f; <2>作用: 提高理解和分析复杂系统的能力。促…...

Appflyer记录卸载事件

Appflyer官方文档 1.原理 1.AppsFlyer每天向Firebase Cloud Messaging&#xff08;FCM&#xff09;和 Apple Push Notification Services&#xff08;APNS&#xff09;发送一次API请求。 2.然后FCM和APNS会发送一条静默推送消息&#xff0c;用于判断用户设备上是否仍装有相关应…...

JDK17 AbstractQueuedSynchronizer 二 条件队列

条件队列 同步队列中的线程是为了争抢锁&#xff0c;而条件队列中的线程是主动释放锁&#xff0c;挂起自己&#xff0c;等条件满足时被别的线程唤醒&#xff0c;继续工作。 AQS里只有1个同步队列&#xff0c;但可以有多个等待队列&#xff0c;每个等待队列对应一个ConditionO…...

8 设计模式之简单工厂模式

设计模式是软件开发中的一套通用解决方案&#xff0c;而简单工厂模式则是最基础、最常用的一种创建型模式。在这篇博客中&#xff0c;我将为大家详细介绍简单工厂模式的概念、优缺点&#xff0c;以及通过一个饮料制作的案例&#xff0c;帮助大家更好地理解和应用这种模式。 一、…...

mpv.net 高效配置实战:从媒体播放到专业调优的进阶指南

mpv.net 高效配置实战&#xff1a;从媒体播放到专业调优的进阶指南 【免费下载链接】mpv.net &#x1f39e; mpv.net is a media player for Windows with a modern GUI. 项目地址: https://gitcode.com/gh_mirrors/mp/mpv.net 作为一款基于mpv核心的现代化Windows媒体播…...

VoiceFixer终极指南:三分钟让模糊录音变清晰的免费语音修复神器

VoiceFixer终极指南&#xff1a;三分钟让模糊录音变清晰的免费语音修复神器 【免费下载链接】voicefixer General Speech Restoration 项目地址: https://gitcode.com/gh_mirrors/vo/voicefixer 你是否曾经因为一段珍贵的录音模糊不清而遗憾&#xff1f;也许是重要的会议…...

TegraRcmGUI终极指南:Windows上最简单的Switch注入工具

TegraRcmGUI终极指南&#xff1a;Windows上最简单的Switch注入工具 【免费下载链接】TegraRcmGUI C GUI for TegraRcmSmash (Fuse Gele exploit for Nintendo Switch) 项目地址: https://gitcode.com/gh_mirrors/te/TegraRcmGUI TegraRcmGUI是一款专为Nintendo Switch设…...

Legacy iOS Kit:让旧iPhone重获新生的终极降级工具

Legacy iOS Kit&#xff1a;让旧iPhone重获新生的终极降级工具 【免费下载链接】Legacy-iOS-Kit An all-in-one tool to restore/downgrade, save SHSH blobs, jailbreak legacy iOS devices, and more 项目地址: https://gitcode.com/gh_mirrors/le/Legacy-iOS-Kit 你是…...

ROS机器人仿真平台深度解析:从Gazebo集成到多模态感知系统架构设计

ROS机器人仿真平台深度解析&#xff1a;从Gazebo集成到多模态感知系统架构设计 【免费下载链接】wpr_simulation 项目地址: https://gitcode.com/gh_mirrors/wp/wpr_simulation 技术原理深度解析 ROS-Gazebo协同仿真架构 WPR仿真平台基于ROS&#xff08;Robot Operat…...

技术从业者的面试技巧:如何通过大厂的技术面试

在软件行业的招聘生态中&#xff0c;大厂的技术面试如同一场严苛的专业试炼&#xff0c;尤其对于软件测试从业者而言&#xff0c;不仅要展现扎实的技术功底&#xff0c;更要体现出符合大厂标准的工程思维与问题解决能力。想要在竞争激烈的面试中脱颖而出&#xff0c;需要从面试…...

ArcGIS点符号压盖标注看不清?试试‘合并图层+制图表达’这个组合拳

ArcGIS点符号压盖标注看不清&#xff1f;试试‘合并图层制图表达’这个组合拳 在GIS制图工作中&#xff0c;点位数据密集区域的标注压盖问题堪称"地图美学杀手"。想象一下这样的场景&#xff1a;某村庄同时存在水文站、水位站和雨量站三个监测点&#xff0c;由于地理…...

用STM32F103C8T6驱动Ra-01SC模组实现点对点通信(附完整代码与接线图)

STM32与Ra-01SC模组实战&#xff1a;从零搭建LoRa点对点通信系统 在物联网和远程监测领域&#xff0c;LoRa技术以其低功耗、远距离的特性成为无线通信的热门选择。Ra-01SC模组作为一款高性价比的LoRa模块&#xff0c;配合STM32F103C8T6这款经典MCU&#xff0c;能够快速构建稳定…...

N5105 4口2.5g V3 Intel i225 PVE 6.2下的Openclaw安装

一、Ubuntu 26.04安装 1. 从官网上下载ubuntu 26.04 LTS版本 下载地址&#xff1a;Download Ubuntu Desktop | Ubuntu 2. 将下载好的iso文件上传到pve中&#xff0c;登录PVE后台&#xff0c;点击local->ISO镜像->上传 3. 创建虚拟机 其他按默认配置即可。 4. 安装Ubu…...

DeepSeek LeetCode 2508.添加边使所有节点度数都为偶数 public boolean isPossible(int n, List<List<Integer>> edges)

问题分析我们需要判断能否添加至多两条边&#xff08;不能添加重复边&#xff0c;不能添加自环&#xff09;&#xff0c;使得图中所有节点的度数都为偶数。---思路步骤1. 统计每个节点的当前度数遍历给出的边&#xff0c;统计每个节点的度数。 2. 找出度数为奇数的节点设奇数度…...