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

ROS1和ROS2的区别autoware.ai和autoware.universe的区别

文章目录

  • 前言
  • 一、ROS1和ROS2的区别
    • 一、ROS2通讯实时性比ROS1强
    • 二、ROS1官方不再维护了
    • 三、ROS2的可靠性比ros1强
    • 四、ROS2的安全性比ros1强
    • 五、ROS2资源占用低
    • 六、等等等等
  • 二、autoware.ai和autoware.universe的区别
    • 一、autoware.ai不维护了
    • 二、autoware.universe功能多,算法新
    • 三、autoware.ai所需算力低
  • 总结


前言

在工作过程中,领导问了我一个问题:ROS1和ROS2的区别是什么?而这个问题是基于“项目到底是选择是autoware.ai版本还是autoware.universe版本?”这个问题的延伸。
我回答的并不全面,所以在此整理一下这两个问题。

首先需要注意的是,autoware的两个版本是两套智驾代码版本,其中ai版本是基于ros1而搭建的,而universe是基于ros2搭建的。


一、ROS1和ROS2的区别

说白了,ROS1发明的时候,无人驾驶和机器人还没像现在这么成熟落地,所以ros1主要适用的还是实验室,否则百度apollo后面几个版本也不会放弃ros1而研发自己的框架。
而ros2就不同了,它就是看到了ros1在无人驾驶和机器人领域所表现的各种不足,进行的改进。

所以在无人驾驶和机器人领域,ros2全面优于ros1.

具体有哪些优势:

一、ROS2通讯实时性比ROS1强

这个是在做无人驾驶和机器人领域非常非常看重的一点,也是ros2对于ros1的大改进。

通讯实时性根据场景可以分为两种。
一种是传感器和主机之间的通讯实时性。
一种是同一台电脑上的两个节点的通讯实时性。

这两种情况ros2的通讯实时性比ros1好的原因都是一样的。
是ros1是基于集中式的 ROS Master,用于节点发现和服务管理。而ROS2采用 DDS(Data Distribution Service) 作为通信中间件,分布式架构,无需 ROS Master。

再具体的原因如下(这部分可以不用看了,都是grok回答的):
ROS1:TCP 通信在网络抖动或丢包时会重传,导致延迟不可预测;UDPROS 虽快但不可靠,数据丢失会影响实时性。
集中式 ROS Master 需处理节点发现,增加通信开销,尤其在网络不稳定时,延迟和抖动更明显。
缺乏 QoS(服务质量)机制,无法优先处理关键数据,难以保证实时性。
单机通信仍通过 TCPROS(基于 TCP 的本地回环)或 UDPROS,涉及消息序列化/反序列化和网络栈处理,增加微秒级到毫秒级的开销。
消息传递没有优先级机制,高频或大数据量消息可能阻塞关键消息,导致延迟抖动。
通信栈未针对低延迟优化,性能受限于通用网络协议栈。

ROS2:使用 DDS 作为通信中间件,支持分布式节点发现,无需 ROS Master,减少了网络通信的额外开销。
DDS 的 QoS 策略(如可靠性、截止时间、优先级)可优化消息传递,确保关键数据低延迟传输,即使在网络不稳定时也能维持实时性。
DDS 的高效序列化和网络容错机制,适合多设备协作的实时场景(如机器人群或传感器网络)。
单机通信可使用 DDS 的 共享内存传输(如 Fast DDS 的共享内存传输层),避免网络栈开销,显著降低延迟(通常在微秒级)。
DDS 提供高效的消息序列化/反序列化,减少 CPU 开销。
QoS 策略仍适用(如 Deadline 和 Liveliness),可确保关键消息优先处理,降低延迟抖动。

二、ROS1官方不再维护了

这是一个致命的问题,ros1跟不上节奏了,并且一个官方不维护的版本,难以支撑后续的ros生态。
现在主流都在使用ros2,如果继续使用ros1,那一些新品牌的雷达等传感器,不一定有ros1的驱动。

三、ROS2的可靠性比ros1强

原因也是因为两者的基础架构,ros1依赖于ros master,如果master崩了就全崩了,但是ros2是分布式的,其中一个崩了其他的还能继续。

四、ROS2的安全性比ros1强

ros2支持消息加密,节点认证等,安全性较高。
这个原因我也不太懂,通讯方面的,反正记得这个好处就行。

五、ROS2资源占用低

ROS 2 资源占用低主要指的是运行时资源(如 CPU、内存、带宽等),而非下载或安装环境所需的存储空间。

六、等等等等

ros2现在就用在各种工业落地中,所以遇到的各种实时性问题官方或者社区都会积极的维护改进。

二、autoware.ai和autoware.universe的区别

上面讲了ros1和ros2的区别,而这两个版本前者依赖ros1,后者依赖ros2,自然后者就有天然的优势。

一、autoware.ai不维护了

这玩意儿最新的版本都是22年的版本了。
像是机床这种已经完全成熟的产品,几年不维护还好说,但是像无人驾驶这种每天都在高速发展的产品,三年不维护已经很难跟上时代了。
各种模块拓展,各种场景,那都得是新版本才能跟的上。

二、autoware.universe功能多,算法新

ai有的功能universe都由,然后又更新了三年,所以功能多,算法新,以此带来的各种优势。

三、autoware.ai所需算力低

这里是不是很反常识,明明ros2比ros1强很多,为什么现在又说ai的算力需求比universe版本低。

因为功能少啊,因为算法旧啊,ai用的还是传统的感知算法,那肯定比universe用的深度学习模型,多传感器融合等算法消耗的算力就少。

毕竟现在各种算法和框架越研究,对工控机算力的依赖越大。


总结

ros选择能选2不选1,autoware也是能选新的不选旧的,但是要硬件限制,那就另当别论了。

相关文章:

ROS1和ROS2的区别autoware.ai和autoware.universe的区别

文章目录 前言一、ROS1和ROS2的区别一、ROS2通讯实时性比ROS1强二、ROS1官方不再维护了三、ROS2的可靠性比ros1强四、ROS2的安全性比ros1强五、ROS2资源占用低六、等等等等 二、autoware.ai和autoware.universe的区别一、autoware.ai不维护了二、autoware.universe功能多&#…...

如何使用 Docker 部署grafana和loki收集vllm日志?

环境: Ubuntu20.04 grafana loki 3.4.1 问题描述: 如何使用 Docker 部署grafana和loki收集vllm日志? 解决方案: 1.创建一个名为 loki 的目录。将 loki 设为当前工作目录: mkdir loki cd loki2.将以下命令复制并粘贴到您的命令行中,以将 loki-local-config.yaml …...

Kafka入门- 基础命令操作指南

基础命令 主题 参数含义–bootstrap-server连接的Broker主机名称以及端口号–topic操作的topic–create创建主题–delete删除主题–alter修改主题–list查看所有主题–describe查看主题的详细描述–partitions设置分区数–replication-factor设置分区副本–config更新系统默认…...

目标检测我来惹1 R-CNN

目标检测算法: 识别图像中有哪些物体和位置 目标检测算法原理: 记住算法的识别流程、解决问题用到的关键技术 目标检测算法分类: 两阶段:先区域推荐ROI,再目标分类 region proposalCNN提取分类的目标检测框架 RC…...

lua的笔记记录

类似python的eval和exec 可以伪装成其他格式的文件,比如.dll 希望在异常发生时,能够让其沉默,即异常捕获。而在 Lua 中实现异常捕获的话,需要使用函数 pcall,假设要执行一段 Lua 代码并捕获里面出现的所有错误&#xf…...

智能进化论:AI必须跨越的四大认知鸿沟

1. 智能缺口:AI进化中的四大认知鸿沟 1.1 理解物理世界:从像素到因果的跨越 想象一个AI看着一杯倒下的水,它能描述“水滴形状”却无法预测“桌面会湿”。这正是当前AI的典型困境——缺乏对物理世界的因果理解。主流模型依赖海量图像或视频数…...

L2-056 被n整除的n位数 - java

L2-056 被n整除的n位数 语言时间限制内存限制代码长度限制栈限制Java (javac)400 ms512 MB16KB8192 KBPython (python3)400 ms256 MB16KB8192 KB其他编译器400 ms64 MB16KB8192 KB 题目描述: “被 n n n 整除的 n n n 位数”是这样定义的:记这个 n n…...

传统足浴行业数字化转型:线上预约平台的技术架构与商业逻辑

上门按摩服务系统开发正成为行业新风口,这绝不是盲目跟风而是实实在在的市场趋势。随着现代人生活节奏加快,时间成本越来越高,传统到店消费模式已经无法满足消费者对便捷服务的需求。我们的团队深耕上门按摩系统开发领域五年,深刻…...

Java-IO流之字节输入流详解

Java-IO流之字节输入流详解 一、Java IO体系与字节输入流概述1.1 Java IO体系结构1.2 字节输入流的核心类层次1.3 字节输入流的基本工作模式 二、InputStream类的核心方法2.1 int read()2.2 int read(byte[] b)2.3 int read(byte[] b, int off, int len)2.4 long skip(long n)2…...

从OCR到Document Parsing,AI时代的非结构化数据处理发生了什么改变?

智能文档处理:非结构化数据提出的挑战 在这个时代的每一天,无论是个人处理账单,还是企业处理合同、保险单、发票、报告或成堆的简历,我们都深陷在海量的非结构化数据之中。这类数据不像整齐排列的数据库表格那样规整,…...

【C/C++】入门grpc的idl

文章目录 grpc idl 简单介绍1. 文件结构组织规范文件命名包结构:推荐:一个文件只定义一个 service,如果 service 很复杂,可拆分多个 proto 文件。 2. 消息定义规范命名风格字段编号:示例: 3. 服务与 RPC 设…...

【Java实用工具类】手撸SqlBuilder工具类,优雅拼接动态SQL,MyBatisPlus同款风格!

📌 正文: 有时候我们项目底层是 JdbcTemplate 查询,没法像 MyBatisPlus 一样用 Wrapper 拼接条件,但我们又不想手撸字符串。那怎么办?我今天就给你整了个 SqlBuilder 工具类,支持 eq、ne、like、in、gt、l…...

宇树科技更名“股份有限公司”深度解析:机器人企业IPO前奏与资本化路径

从技术落地到资本跃迁,拆解股改背后的上市逻辑与行业启示 核心事件:股改释放的上市信号 2025年5月28日,杭州宇树科技有限公司正式更名“杭州宇树科技股份有限公司”,市场主体类型变更为“股份有限公司”。尽管官方称为常规运营调…...

Inno Setup 安装向导各个页面详解

概览 表中描述了使用Inno Setup生成的安装包在安装过程中各个页面的字段和对应的说明信息。后文会对各个页面的参数做进一步解释说明。 字段说明wpWelcome欢迎页wpLicense许可协议wpPassword密码wpInfoBefore信息wpUserInfo用户信息wpSelectDir选择目标位置wpSelectComponent…...

转战web3远程工作的英语学习的路线规划

目录 一、明确学习目标与定位 二、基础阶段(0 - 6个月) (一)词汇积累 (二)语法学习 (三)听力与口语 三、进阶阶段(6 - 18个月) (一&#xf…...

OPENCV重点结构体Mat的讲解

一、Opencv的作用 OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 它轻量级而且高效——由一系列 C 函数和少量 C 类构成,同时提供了Pytho…...

Java 创建线程池的几种方式

在 Java 中创建线程池主要通过 java.util.concurrent 包下的 ExecutorService 接口及其实现类。以下是创建线程池的几种常见方式: ✅ 1. 使用 Executors 工具类(最简单) ExecutorService executor Executors.newFixedThreadPool(10);常用方…...

【趣味Html】第11课:动态闪烁发光粒子五角星

打造炫酷的动态闪烁发光粒子五角星效果 前言 在现代Web开发中,视觉效果的重要性不言而喻。今天我们将深入探讨如何使用HTML5 Canvas和JavaScript创建一个令人惊艳的动态闪烁发光粒子五角星效果。这个项目不仅展示了Canvas的强大功能,还涉及了粒子系统、…...

AnyIO Event:异步编程中的同步利器

在异步编程的世界里,任务之间的通信和协调是一个常见的需求。AnyIO 提供的 Event 类,为这一需求提供了一个强大而简洁的解决方案。本文将深入探讨 anyio.Event 的使用方法、特点以及在实际应用中的最佳实践。 一、AnyIO Event 概述 anyio.Event 是 Any…...

CFTel:一种基于云雾自动化的鲁棒且可扩展的远程机器人架构

中文标题: CFTel:一种基于云雾自动化的鲁棒且可扩展的远程机器人架构 英文标题: CFTel: A Practical Architecture for Robust and Scalable Telerobotics with Cloud-Fog Automation 作者信息 Thien Tran, Jonathan Kua, Minh Tran, Hongh…...

Educational Codeforces Round 179 (Rated for Div. 2)

CF2111,简单手速场 A. Energy Crystals 贪心&#xff0c;每次最小值会乘2&#xff0c;直接模拟即可&#xff0c;复杂度 O ( log ⁡ n ) O(\log n) O(logn) void solve(){int x;cin>>x;multiset<int> s{0,0,0};int res0;while(*s.begin()<x){int x*s.begin();s…...

完成一个可交互的k8s管理平台的页面开发

使用deepseek完成设计一个k8s管理平台&#xff0c;关键词如下&#xff1a; 完成一个可交互的k8s管理平台的页面开发Kubernetes 管理平台页面设计 下面是一个基于现代Web技术的可交互Kubernetes管理平台的页面设计方案&#xff0c;使用React作为前端框架&#xff0c;配合Ant De…...

多线程编程技术解析及示例:pthread_cond_timedwait、pthread_mutex_lock 和 pthread_mutex_trylock

多线程编程技术解析及示例&#xff1a;pthread_cond_timedwait、pthread_mutex_lock 和 pthread_mutex_trylock 摘要 本文深入解析了多线程编程中 pthread_cond_timedwait、pthread_mutex_lock 和 pthread_mutex_trylock 三个函数的功能、使用场景及注意事项&#xff0c;并通…...

vue实现点击单选或者多选模式

toggleSelect(item) { if (!this.single) { // 多选模式 const itemIndex this.selectedItems.findIndex( (selectedItem) > selectedItem.userId item.userId ); // 假设每个对象都有一个唯一的id属性 if (itemIndex ! -1) { this.selectedItems.splice(itemIndex, 1); }…...

Windows系统工具:WinToolsPlus 之 SQL Server 日志清理

使用软件时提示数据库事务日志已满&#xff0c; 使用WinToolsPlus 数据库页签 先设置 数据源 &#xff0c; 选择 需要清理日志的数据库&#xff0c; 点击 数据库日志清理 即可。 下载地址&#xff1a; http://v.s3.sh.cn/archives/2279.html...

在Windows11上安装 Ubuntu WSL

不想安装虚拟机,想在Windows11上运行Linux。网上虽有教程,但是图片明显都是老图,与Windows11还是有些差异。网上缺乏一个齐全的真正的Windows11运行Linux的教程。 一、在Windows上的设置 1. 在window11的搜索框内(所有你找不到的应用都可以用这个搜索功能)&#xff0c;搜索&q…...

嵌入式Linux之RK3568

系统烧写镜像。 1、直接使用正点原子官方的updata.img(MIDP) 进入瑞芯微发开工具RKDevTool&#xff0c;选择升级固件&#xff0c;上传到固件&#xff0c;记住这里要进入maskrom模式或者是loader模式&#xff0c;进入该模式之后点击升级即可。 2、烧入自己制作的镜像(单独、一…...

Elasticsearch的插件(Plugin)系统介绍

Elasticsearch的插件(Plugin)系统是一种扩展机制,允许用户通过添加自定义功能来增强默认功能,而无需修改核心代码。插件可以提供从分析器、存储后端到安全认证、机器学习等各种功能,使Elasticsearch能够灵活适应不同的应用场景和业务需求。 一、插件的核心特点 模块化扩展…...

提取 PDF 文件中的文字以及图片中的文字

Adobe 提供了多种方案可以快速提取 PDF 文件中的文字以及图片中的文字&#xff0c;主要依赖其 Acrobat 系列产品和 OCR&#xff08;光学字符识别&#xff09;技术。以下是具体解决方案的概述&#xff0c;涵盖了文字和图片文字的提取方法&#xff1a; 1. 提取 PDF 中的文字 如果…...

JavaScript性能优化实战技术

目录 性能优化核心原则 代码层面优化 加载优化策略 内存管理实践 及时解除事件监听 避免内存泄漏模式 渲染性能调优 使用requestAnimationFrame优化动画 批量DOM操作减少回流 性能监控工具 现代API应用 缓存策略实施 性能优化核心原则 减少资源加载时间 避免阻塞主…...