研究机器人如果不去学习「ROS」以后可能都不会使用机器人!

谈到操作系统,人们接触更多的可能是电脑操作系统,手机操作系统,windows,安卓,苹果的ios以及曾经的诺基亚塞班等等。那么现在炙手可热的机器人您知道都有哪些操作系统吗?

研究机器人如果不去学习「ROS」以后可能都不会使用机器人!

在国外科研机构中非常受欢迎的当属ROS了。那么究竟什么是ROS呢?ROS实际上是Robot Operating System的缩写,原本是斯坦福大学的一个机器人项目,后来由Willow Garage公司发展,目前由OSRF(Open Source Robotics Foundation, Inc)公司维护的开源项目。

研究机器人如果不去学习「ROS」以后可能都不会使用机器人!

计算机的操作系统将计算机硬件封装起来,而应用软件运行在操作系统之上,不用管计算机具体应用的是什么类型的硬件产品。这能大大提高软件开发效率(否则大家只能都写汇编了)。同理,ROS则是对机器人的硬件进行了封装,不同的机器人、不同的传感器,在ROS里可以用相同的方式表示(topic等),供上层应用程序(运动规划等)调用。

研究机器人如果不去学习「ROS」以后可能都不会使用机器人!

用过工业机器人的人肯定知道,不同工业机器人的开发系统基本都不一样,示教、编程方法也不同,一个熟练使用Motoman的工程师很可能并不会使用Kuka机械臂。就算是同种机器人,由于固件版本的更新换代,也可能造成程序的不兼容(我在UR上就遇到过这个问题)。这就大大影响了机器人的推广普及。

研究机器人如果不去学习「ROS」以后可能都不会使用机器人!

ROS可以用统一的方式来封装机器人(URDF模型+机器人驱动),用户只需要在ROS中编写应用程序,并不用关心机器人的控制方式。如果所有机器人都采用了这种方式,那么机器人必将得到更广泛地应用(对系统集成商的要求会降低)。现在越来越多机器人厂商开始尝试使用ROS,包括占据最多工业市场份额的机器人四大家族和各种流行的研究型机器人;甚至有如Rethink的Baxter,只能使用ROS控制。研究机器人的如果不去学习ROS的话,以后可能就会面临不会使用机器人的问题。

研究机器人如果不去学习「ROS」以后可能都不会使用机器人!

对于一个做上层规划的研究生,如果不用ROS的话,往往需要花费非常长时间用于搭建实验系统,从而大大挤压了真正用在发明新知识的时间。例如,我做运动规划,就必须先把机械臂运动学正逆解、物体识别算法、碰撞检测算法等完成才有可能开始做运动规划。造轮子的事就交给专业造轮子的人做吧。所以,对于科研人员来说,ROS可以帮助你快速搭建机器人软件系统,同时其模块化的设计可以让你方便地用自己的算法替换其中某一模块,让你专注于自己的研究点。

很多人在争论是否应该使用ROS、是否应该在产品上使用ROS、是否应该在工业中使用ROS。但是从我个人的角度上看,ROS对于服务机器人上层算法开发和研究而言是一个很棒的工具,作为学术研究使用的话,可以大大加快实验平台搭建过程。

文章数据来源“机器人产学研联盟”


分享到:


相關文章: