ros2和ros的差异

一、属性对比

属性ros1ros2
支持的平台仅linux

Linux、windows,Max,嵌入式RTOS

源码语言c++03,它的api没有使用c++11主要使用c++11
python版本Python 2>= Python 3.5
中间件

基于TCP/UDP实现,使用

自定义的序列化格式,

实时性差、系统开销大

基于DDS实现,实时性、可靠性好
通信可靠性

差,不考虑可靠性,可能出现重传输和延迟

优,同时通过配置不同的服务质量策略(Quality of service policy),ROS2可以像TCP一样可靠,也可以像UDP那样尽力而为

   master节点

无,摒弃了对master节点的依赖,各个节点可以直接通过DDS进行节点通讯,每个节点都是平等的,可以1对1、1对多,多对多进行互相通信

roslaunch定义为XML文件中,扩写修改比较麻烦定义为python文件,更易于扩写修改

生态系统和社区支持

很完善相对较少

二、ROS2的LifecycleNode

        为了解决ROS1中节点启动顺序无法控制的问题,ROS2 新引入了生命周期节点的概念。

        ROS2中提供了两种节点类型,Node() 是和ROS1中一样的节点基类,LifecycleNode() 是可管理状态的节点基类,它包含具有一组预定义状态的状态机(如下图),这些状态可以通过调用函数或者输入外部指令来实现切换。

  • 14
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值