研究機器人如果不去學習「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對於服務機器人上層算法開發和研究而言是一個很棒的工具,作為學術研究使用的話,可以大大加快實驗平臺搭建過程。

文章數據來源“機器人產學研聯盟”


分享到:


相關文章: