ROS1和ROS2的区别
前言
有句话说的好,ROS2的出现就是为了解决ROS1现有的问题。
没毛病,不然开发者也不会闲的没事瞎折腾搞个二代。
显而易见,ROS1和ROS2的区别就是解决的这些问题。
一、ROS1有哪些局限?
- 有一个master节点管理所有的节点,一旦它挂了,就都崩了。系统可靠性不高。
- ROS1只能在linux上跑,在其他平台上使用不友好。也限制了自身发展。
- 节点的通讯方式是基于TCP/IP,不能进行数据加密,网络安全性不高。
- 等……
二、ROS2是如何改进的?
- 取消了master节点,采用分布式通讯方式,专业点叫做DDS,自我发现机制,相当于各个节点自己和需要沟通的节点进行连接即可,不需要通过master这个“大媒人”。
- ROS2支持的操作系统更多,linux,windows,Mac甚至嵌入式板子也可以。
- 通讯协议换成了DDS系统,它是物联网中广泛应用的一种通讯协议。
- ROS2的编程更倾向于面向对象的实现方法和语言特性,使得程序更具可读性和可移植性。
内容总结于古月居网站,仅用于学习总结。