《 無人駕駛原理與實踐》一第2章ROS入門
第2章

ROS入門
ROS[1](Robot Operating System)是目前最廣泛使用的一種開源機器人軟件平臺,它的誕生極大地提升了機器人系統開發的效率[2]。目前,部分無人駕駛系統的軟件實現仍然依賴于ROS平臺。對于高速自動駕駛開發,ROS的實時性略顯不足,但由于ROS具有強大的系統底層通信功能,以及來自世界各地的優秀工程師的共同維護,在無人駕駛底層系統的實現上,ROS仍然是開源框架中最好的選擇,諸如百度Apollo、Autoware、Udacity等無人駕駛車輛原型都是基于ROS開發的。百度Apollo在ROS平臺的基礎上增加了實時性的框架,以滿足高速自動駕駛實時控制的需求。同時,ROS2已經開始在積極探索和開發實時性系統通信功能,以進一步滿足高速自動駕駛開發需求。
2.1ROS簡介〖*2〗
2.1.1ROS是什么
ROS即機器人操作系統,包括[6]:
? ? ▲ ?? 通信平臺:ROS提供了一種發布/訂閱式的通信框架,用以簡單、快速地構建分布式計算系統[3]。
? ? ▲ ?? 工具:ROS提供了大量可視化、調試等工具組合,用以配置、啟動、自檢、調試、可視化、仿真、登錄、測試、終止分布式計算系統。
? ? ▲ ?? 能力:具有控制、規劃、預測、定位操縱等功能。
? ? ▲ ?? 平臺支持:ROS的發展依托于一個強大的社區。wikirosorg尤其關注ROS的兼容性和支持文檔,它提供了一套“一站式”方案使得用戶能夠快速搜索并學習來自全球開發者數以千計的ROS程序包。
2.1.2ROS的歷史
ROS起源于2007年斯坦福大學人工智能實驗室的STAIR項目與機器人技術公司Willow Garage的個人機器人項目(Personal Robots Program)之間的合作,2008年之后由Willow Garage來推動,如今已被許多學校、公司研發機構等使用,為機器人編程提供了快速方法和標準。
2.1.3ROS的特性
ROS的特性如下:
? ? ▲ ?? 點對點設計:ROS的點對點設計,以及服務和節點管理器等機制,可以實現很好的分布式網絡運算拓撲結構,能夠適應多機器人遇到的挑戰。
? ? ▲ ?? 分布式設計:程序可以在多臺網絡計算機中運行和通信。
? ? ▲ ?? 多語言:ROS現在支持多種語言,如C++、Python、Octave和LISP,也包含其他語言的多種接口實現。語言無關的消息處理讓多種語言可以自由混合和匹配使用。
? ? ▲ ?? 輕量級:鼓勵將所有驅動和算法逐漸發展成為與ROS沒有依賴的單獨的庫。ROS建立的系統具有模塊化的特點,各模塊中的代碼可以單獨編譯,而且編譯使用的CMake工具使它很容易就實現精簡的理念。
? ? ▲ ?? 免費且開源:大多數的ROS源代碼都是公開發布的。
機器人 自動駕駛 華為開源鏡像站 Mirrors
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。