ros的初衷是做为一个统一的标准来开发机器人相关的模块,设定了统一的接口,这样开发者可以很快很方便的继承前人的开发成果并应用于自己的机器人上。比如,我想做个自动导航的机器人,需要用到路径规划控制器,底层控制驱动,SLAM算法,根据SLAM的算法维度又要用到雷达(二维)或者摄像头(三维),通过开源社区获得相关开发人员开发的SLAM程序节点,雷达信号采集节点,摄像头驱动节点,我就不需要自己再开发一遍了,这些基于ros开发出来的程序通过简单的调试(一般同样的机器人硬件平台根本不需要调试,可以直接使用)就可以纳为己用,现在市面上很多ros相关的机器人开发大部分都是基于开源代码做出来的产品。正是因为ros极大程度的方便了代码的继承和集成。
ros现在分为1.0和2.0,1.0是面向初学者和教育行业的,2.0面向工业开发,2.0主要是解决1.0最大弊端——非实时控制系统,这在工业生产中是不允许的,有极大的不安全行性。
如果你是初学者我建议从1.0入手(大部分和2.0是想通的,更容易上手),对于工业企业开发者建议2.0入手
对于ros的前景我个人还是比较看好的。