




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
機器人操作系統(tǒng)(ROS)機器人操作系統(tǒng)(ROS)ROS初識1.1機器人操作系統(tǒng)(ROS)1.1.1ROS是什么ROS是機器人操作系統(tǒng)(RobotOperatingSystem)的英文縮寫。ROS起源于2007年斯坦福大學人工智能實驗室的STAIR項目與機器人技術公司W(wǎng)illowGarage的個人機器人項目(PR)之間的合作,2008年之后就由WillowGarage來進行推動。最初人們希望設計一個可以像人一樣能夠感知,并實現(xiàn)自我控制從而完成一些復雜工作的機器人。隨著機器人領域的快速發(fā)展,代碼的復用性和模塊化的需求原來越強烈,急需一個能夠整合現(xiàn)有資源的框架和接口。2010年WillowGarage公司發(fā)布了開源機器人操作系統(tǒng)ROS,很快在機器人研究領域展開了學習和使用ROS的熱潮。ROS起源發(fā)展機器人操作系統(tǒng)(ROS)1.1.1ROS是什么ROS是用于機器人編程的開放、靈活的軟件框架。它提供類似操作系統(tǒng)所提供的功能,包含硬件抽象描述、底層驅動程序管理、共用功能的執(zhí)行、程序間的消息傳遞、程序發(fā)行包管理等,它也提供一些可視化和調試機器人數(shù)據(jù)的軟件工具。ROS框架的核心是消息傳遞,即使在不同的機器上運行,進程之間也可以相互通信和交換數(shù)據(jù)。ROS消息傳遞可以是同步的,也可以是異步的。事實上,ROS的主要目的就是為機器人研究和開發(fā)提供代碼復用的支持。ROS是一種分布式處理框架,這使可執(zhí)行文件能被單獨設計,并且在運行時松散耦合。這些過程可以封裝到數(shù)據(jù)包(Packages)和堆棧(Stacks)中,以便于共享和分發(fā)。ROS還支持代碼庫的聯(lián)合系統(tǒng),使得協(xié)作亦能被分發(fā)。上述所有功能都能由ROS的基礎工具實現(xiàn)。設計者將ROS表述為“ROS=Plumbing+Tools+Capabilities+Ecosystem”,即ROS是通訊機制、工具軟件包、機器人高層技能以及機器人生態(tài)系統(tǒng)的集合體。ROS的表述機器人操作系統(tǒng)(ROS)1.1.2ROS的特點點對點的設計:節(jié)點是ROS編程基礎中一個重要的概念,在ROS中每個進程都以一個節(jié)點的形式運行,可以分布于多個不同的主機。節(jié)點間的消息通過一個帶有發(fā)布和訂閱功能的傳輸系統(tǒng)從發(fā)布節(jié)點傳送到接收節(jié)點。這種點對點的設計可以分散實現(xiàn)復雜功能時帶來的實時計算的壓力。多語言支持:為了支持更多應用的移植和開發(fā),ROS通信框架可以輕松地以各種現(xiàn)有的編程語言實現(xiàn)。ROS中使用簡潔、中立的定義語言描述模塊之間的消息接口,同時也允許消息接口的嵌套使用。目前已經(jīng)支持Python、C++、Java、Octave和LISP等多種不同的語言。庫集成:ROS具有許多第三方機器人庫的接口,如開源計算機視覺(Open-CV)、點云庫(PCL)、Open-NI、Open-Rave和Orocos。開發(fā)人員可以沒有顧慮的使用這些庫。組件化工具包豐富:ROS可采用組件化方式集成一些工具和軟件到系統(tǒng)中并作為一個組件直接使用,如RVIZ(3D可視化工具),開發(fā)者根據(jù)ROS定義的接口在其中顯示機器人模型等,組件還包括仿真環(huán)境和消息查看工具等。協(xié)作開發(fā):ROS是開源的,遵照的BSD許可給使用者較大的自由,允許修改和重新發(fā)布其中的應用代碼,開發(fā)人員可以通過添加功能包來擴展ROS的功能。幾乎所有的ROS包都在硬件抽象層上工作,可以輕松地為其他機器人所用。機器人操作系統(tǒng)(ROS)1.1.3ROS的發(fā)行版ROS的發(fā)行版本ROS發(fā)行版是一組版本化的ROS包,這些類似于Linux發(fā)行版(例如Ubuntu)。ROS發(fā)行版的目的是讓開發(fā)人員在相對穩(wěn)定的代碼庫上工作,直到他們準備好推進所有事情。因此,一旦發(fā)布發(fā)行版,我們就會嘗試限制對核心包(ros-desktop-full下的所有內容)的錯誤修復和非破壞性改進的更改。到2022年為止,ROS已經(jīng)發(fā)布了如表1-1所示的多個版本。本書選擇的ROS版本是2018年發(fā)布的長期支持版本ROSMelodicMorenia,這也是ROS發(fā)布的第12個版本,ROS官方稱將為該版本提供長達5年的支持與服務,并保證其與Ubuntu18.04長期支持版的生命周期同步。機器人操作系統(tǒng)(ROS)本書的ROS資源1.2機器人操作系統(tǒng)(ROS)1.2本書的ROS資源本書涉及到的代碼以及相關資料均放在GitHub中托管,鏈接:/FieldRoboticsLaboratory/ROS_book可以使用以下命令下載源碼以開始后續(xù)的學習。$gitclone/FieldRoboticsLaboratory/ROS_book.git機器人
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 供應合同范本寫
- 240鉆機租賃合同范本
- epc工程合同使用合同范本
- 人工加材料合同范本
- 全新貨車購車合同范例
- 保險公司擔保貸款合同范本
- it 顧問合同范本
- 分公司發(fā)票合同范本
- 代招合同范本
- 出租摩托協(xié)議合同范本
- 《公路智慧養(yǎng)護信息化建設指南(征求意見稿)》
- 《書籍裝幀設計》 課件 項目4 書籍裝幀版式設計
- 作物栽培學課件
- 2024年遼寧大連中遠海運川崎船舶工程有限公司招聘筆試參考題庫含答案解析
- 《單層廠房鋼結構》
- 人音版二年級上冊第六課《跳起舞》 單元作業(yè)設計
- 第43講閉合電路歐姆定律(講義)
- 在社區(qū)結對共建簽約儀式上的講話3篇
- 2023年湖北省煙草專賣局(公司)考試真題
- 小班社會《多喝水身體好》課件
- 資產(chǎn)盤點方案策劃
評論
0/150
提交評論