當前位置: 華文問答 > 數位

高手可以談談ROS機器人操作平台開發的一些經驗嗎?

2013-11-04數位

低手來關註這個問題,順便談談自己的一些看法。

我感覺了解ROS作為一個工程技術,不把握「big picture」(全貌)的話很難理解進去。

按照我讀的教程

http:// courses.cs.washington.edu /courses/cse466/11au/calendar/ros_cc_1_intro-jrsedit.pdf

來說,ROS不是一個作業系統,雖然他號稱作業系統……他只是一個通訊的架構、一個程式碼管理的框架。作業系統的功能:任務的時序規劃和CPU資源分配等等工作都是依靠linux來實作的,因此ROS不可能脫離linux,他們是一體的。

另一點可以幫助了解ROS的方法是,學習者必須有機器人套用方面的開發經驗。做過機器人,就會明白機器人的核心平台需要什麽——多傳感器和處理器之間的通訊、處理器和執行器之間的通訊,這些通訊必須有統一的時鐘,比如做傳感器數據融合,如果從傳感器抓回來的數據時間上都不同步,那融合根本沒法做。ROS的通訊架構,主要解決的就是這個問題:讓裝置之間的通訊有一個統一的排程中樞(roscore),透過這個排程中樞不但可以讓訊號傳遞更好控制,還能夠透過構建通訊裝置之間的關系來讓開發者明白自己的機器人內部在幹什麽。而ROS的另一個特點:程式碼管理的框架,這個就不多說了,做軟體的都懂得……

以上的回答不能讓你成為ROS的高手,但是我覺得帶著這種"big picture"的理解再去學他應該會快很多。