ROS 为什么是一个垃圾的系统
接触ROS一年半,今天来吐槽一下它为什么这么拉垮
ROS 不应该叫 机器人操作系统, 只能算一个 "规则"。
系统进程消息通讯的鸡肋
这一点作为最大的缺陷拿出来讲,因为确实设计很菜。
怎么理解呢:
配置:我的笔记本,i5, 8G内存,
进程:开一个master node,开一个摄像头的node,开一个rqt_image_viewer, 开一个自己写的node (订阅摄像头图像j仅显示一下分辨率, 1080p的图)
消耗:CPU 70%, 系统内进程间I/O 50MBps 上下行
恐怖吧!!!
可以理解 ROS 不做系统的安全性,不做内存管理、不做磁盘管理。只是设计了一下进程通信的规则,进程管理都谈不上,做成什么样呢?垃圾!!!
提出的思路很好, topic模型(pub/sub),action模型,service模型。但是你的核心,消息广播通信怎么设计的这么欠考虑呢?
实时流数据传输作为众多硬件设备的基础传输方式,瞬间可以压满。视频流的多进程交互,有什么作为么!!!
来个实时点云,还玩什么哦
nodelet软件开发的鸡肋
package 基本依赖的CMakeList , 包装一下而已。 但是,自己引入了一堆的catkin 的玩意儿,又没有详细的说明和案例支持,鸡肋!!!
标准库接口的鸡肋
调几个接口举例:
TF坐标变换库,什么玩意儿!!
ros.spin spinOnce waitforService等几个类似于线程同步的玩意儿,什么东西....
大家不用怀疑自己理解能力不好, 当一个库的接口设计得让你很难理解的时候,退坑吧
案例软件的鸡肋
大家一定被小乌龟气昏了头吧, 哈哈哈来来回回就只有小乌龟。
topic模型(pub/sub),action模型,service模型 的例子算比较简单。
但是稍微深入一点 坐标变换呢?图像数据传输呢?这不应该是最基础的功能么,哪里有例子?
小乌龟对你理解TF有多大帮助?
生态圈的鸡肋
ROS的生态环境太混乱了,就跟安卓软件下载平台一样,但是ROS倒好,没有下载平台。大家都在玩自己的, 开源了的质量还不过关。
你看那个python 和 java 的支持,简直就是生硬,如鲠在喉。
人类距离机械智能还有十万八千里。。。linux的大佬快来设计一个专用的操作系统吧