ROS 作為一個工具,能夠快速搭建起機器人應用的原型。用於機器人學習科研是特別適合的,如果你非要用它去做一些工業產品的話,還是需要慎重。

那麼回到有沒有必要學習的問題上,我個人還是推薦學習下。主要原因如下:

  • 對於零基礎的新手,ROS 的學習難度較低,適合入門。現在官方教程和資料也比較多,選擇一個不錯的教程一直學下去,基本就可以達到入門水平。
  • 對於窮學生黨,沒有實驗平臺,又要做研究。ROS 的開源模擬機器人模型簡直就是福音。
  • 對於要做產品的,利用 ROS 快速做些 Demo 進行驗證試錯,成本不要太低。要做實打實的真實產品,還是需要重新掂量。因為穩定性、實時性的問題可能不太好用。

綜上,不管你是機器人科研人員還是開發人員,建議都還是應該學習下 ROS。畢竟 ROS 的入門學習成本並不是很高,而且作為工具也是很有用處的。是一件投入產出比很高的事情。

最後送上一份整理 ROS 學習相關的資料,希望對學習有所助益。


技多不壓身,何況ROS入門的學習成本也不高。

ROS無論對於機器人科研人員還是開發人員,都屬於應該掌握的工具。


有,絕對有。

如果你翻開那本售價10000+歐,匯聚各個機器人界大牛研究成果的 springer handbook of robotics, 你會發現裡面有一節講機器人系統架構,ROS是則是機器人系統架構的經典例子之一。

ROS為何經典,原因有三:

  • ROS本身架構是低耦合分散式架構,開發難度低,且開發調試工具完善
  • 目前功能包覆蓋機器人需要的方方面面,且代碼開源,可以魔改,不需要自己造輪子
  • 教程很豐富,且有自己的問答社區http://answer.ros.org,學習難度低

如果你是機器人零基礎但又很喜歡想做點東西的,ROS有很多手把手的教程,跟著教程走,你可以做出很多酷炫的小東西,比如自己在gazebo裏搭個環境放個機械臂玩pick and place,又或者是做一個鍵盤控制的小車,在模擬環境運行,玩法很多。

如果你是做產品的,想快速做一些demo,利用ROS功能包的源碼可以幫你快速減少軟體的開發時間。做機械臂的創業公司,拿moveit的源碼,自己寫個GUI,做可視化抓取控制,可以很快的開發出一個能跑起來的demo。(做實打實的產品可能不太好用,穩定性、實時性還是有點差的)

如果你是做科研的,又沒有實驗平臺,利用ROS開源的模擬機器人模型,在gazebo或者V-REP裡面跑跑,工作量也是有的。ROS-industrial項目下面能找著了大部分廠家的機械臂模型,真的是很方便了。

吹了那麼多,也講講ROS的一些缺點,ROS因為是開源的,所以ROS的穩定性是一大問題,master經常莫名奇妙掛,用功能包也有可能出現各種各樣的bug,實時性也是個問題,為此還有大神發了一篇文章吐槽:

Top Liu:我為什麼不使用ROS??

zhuanlan.zhihu.com圖標

所以ROS這個東西也是讓人又愛又恨的。總的來說,ROS拿來做工業產品是不靠譜的,但是用於機器人學習科研或者是一些要求不太高的開發,ROS無疑是非常優秀的一個平臺。

碼字不易,點個贊吧~


ROS是一個很好的系統,並且集成了很多庫文件,對於入門機器人與嵌入式系統學習十分重要。

ROS是建立在linux系統之上的,ROS2也可以在windows系統上運行。因此學習ROS能夠很好的鍛煉編程語言與系統,同時,ROS系統十分便利的查看信息傳送關係,所以對於入門十分友好。但是ROS是一種實驗室產物,非產品,所以ROS系統的穩定性和實時性還存在一定問題。

ROS系統具有很好的擴展性,可以方便調試、驗證控制演算法,進行半實物模擬實驗。

ROS的入門也不是很難,多學點,多動手練習還是很好的。


小編認為還是有必須要學習一下的


看你的需求,絕大多數的機器人都有自己的package,ros把所有的底層都封裝好了,讓你可以保持一致的代碼風格和運行形式。從我個人經歷來說,ros是一羣不懂軟體的機械工程師做出來的,先不吐槽其通行機制,單單其安裝平臺,只支持ubuntu,我就對它沒有好感,其次它的包管理,各種軟體的特定版本的依賴,讓我覺得不堪,要麼你把所有依賴都封裝好,其次它不支持py3,所以現在它還會活一段時間。ros2,更是讓人啼笑皆非,終於release出了支持全平臺,然後對於macos,它只支持10.12和10.13,部分mojave有人裝成功,最新版的catalina雖然屬於重大更新,目前不支持。官方release的issue裏,目前還在集中精力計劃給mojave提供支持。

真希望,Google收了這個項目,overwrite所有的現有功能。

Gazebo目前也是被webot和vrep吊打。


ros在真機上是沒有必要的,但在開發前期,尤其是對演算法沒有底的情況下,總需要模擬一下的。這時候,ros提供了一個選項,你可以在gazebo或rviz看看效果,免得上了真機一頓亂跳,賠了機器又傷人。

模擬方法其實選項挺多的,尤其是matlab工科必備,我們先不說哪個效果最好。

等就業的時候,如果有一個模擬任務,要求快、準、易,然後各位同事各自都有自己的模擬方法選項,提出各式各樣的組合,而且聽起來都非常符合快、準、易的要求,但問題在於各自的方法不是其他人會用的,吵吵的不可開交。

這時候有人說要不還是ros吧,所有人都嘆口氣說,唉,那行吧。


推薦閱讀:
相關文章