智能網(wǎng)聯(lián)汽車裝調(diào)與測試(彩色版配實訓(xùn)工單)課件 任務(wù)2.2 ROS系統(tǒng)安裝與基本使用_第1頁
智能網(wǎng)聯(lián)汽車裝調(diào)與測試(彩色版配實訓(xùn)工單)課件 任務(wù)2.2 ROS系統(tǒng)安裝與基本使用_第2頁
智能網(wǎng)聯(lián)汽車裝調(diào)與測試(彩色版配實訓(xùn)工單)課件 任務(wù)2.2 ROS系統(tǒng)安裝與基本使用_第3頁
智能網(wǎng)聯(lián)汽車裝調(diào)與測試(彩色版配實訓(xùn)工單)課件 任務(wù)2.2 ROS系統(tǒng)安裝與基本使用_第4頁
智能網(wǎng)聯(lián)汽車裝調(diào)與測試(彩色版配實訓(xùn)工單)課件 任務(wù)2.2 ROS系統(tǒng)安裝與基本使用_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

任務(wù)2.2ROS系統(tǒng)安裝與基本使用學習目標CONTENTE01知識目標:掌握ROS系統(tǒng)的安裝和各個組件使用方法;熟悉ROS系統(tǒng)的架構(gòu)、文件系統(tǒng)和常用命令的含義。02學習目標CONTENTE能力目標:能熟悉使用ROS的常用命令完成代碼編譯、功能節(jié)點啟動、ROS組件啟動和功能調(diào)試;能熟悉使用rqt、rviz和gazebo等ROS組件完成數(shù)據(jù)可視化、功能調(diào)試和功能仿真*。01ROS

系統(tǒng)認知ROS安裝與基本使用02學習內(nèi)容CONTENTE01 ROS系統(tǒng)認知任務(wù)2.2ROS系統(tǒng)安裝與基本使用RobotOperating

System--機器人操作系統(tǒng)

(ROS)是編寫機器人軟件的靈活框架。它是工具、庫和慣例的集合,旨在簡化在各種機器人平臺上創(chuàng)建復(fù)雜而強大的機器人行為的任務(wù)。簡介1.ROS認知機器人操作系統(tǒng)(

R

o

b

o

tOperating

System),即ROS本身,

它是一個元操作系統(tǒng),提供了硬件抽象、設(shè)備控制、功能實現(xiàn)、進程間通信和包管理等服務(wù)簡介1.ROS認知ROS是適用于機器人的開源元操作系統(tǒng)ROS集成了大量的工具,庫,協(xié)議,提供類似OS所提供的功能,簡化對機器人的控制還提供了用于在多臺計算機上獲取,構(gòu)建,編寫和運行代碼的工具和庫,ROS在某些方面類似于“機器人框架”ROS設(shè)計者將ROS表述為“ROS

=

Plumbing+Tools+Capabilities+Ecosystem”,即ROS是通訊機制、工具軟件包、機器人高層技能以及機器人生態(tài)系統(tǒng)的集合體簡介1.ROS認知;ROS最大的貢獻就是制定了機器人開發(fā)的統(tǒng)一接口標準,提高研發(fā)過程中的軟件復(fù)用率和提供一個協(xié)作平臺。1.提高軟件復(fù)用率:ROS

被設(shè)計成一種分布式的結(jié)構(gòu),框架中的每個功能模塊都可以被單獨的設(shè)計、編譯,并且在運行的時候以松耦合的方式結(jié)合起來。2.提供協(xié)作平臺:

ROS

也是一個協(xié)作平臺。例如:建圖專家可以發(fā)布一個先進的地圖建模系統(tǒng);導(dǎo)航專家可以在地圖建模系統(tǒng)上進行機器人導(dǎo)航視覺專家可以開發(fā)出一個物體識別的模塊。特點1.ROS認知簡介1.ROS認知3.支持多種編程語言ROS

使用了中立的定義語言描述模塊之間的消息接口,支持在編譯過程中產(chǎn)生目標語言的目標文件。目前支持的語言有

Python、C++、Java、Octave

Lisp

多種語言。換句話說,您可以使用熟悉的語言開發(fā)ROS程序。簡介1.ROS認知uROS特點:4.

ROS中集成眾多開源項目5.工具包豐富3D可視化工具----RVIZ物理仿真環(huán)境----Gazebo數(shù)據(jù)記錄工具----rosbagQt工具箱----rqt_*簡介1.ROS認知組件1.ROS認知uRVIZRViz(the

Robit

Visualization

tool),機器人可視化工具,可視化的作用是直觀的,它極大的方便了監(jiān)控和調(diào)試等操作。組件1.ROS認知uGazeboGazebo是一個機器人仿真工具,模擬器,也是一個獨立的開源機器人仿真平臺。當今市面上還有其他的仿真工具例如V—Rep、Webots等等。但是Gazebo不僅開源,也是是兼容ROS最好的仿真工具。組件1.ROS認知uRqtrqt是一個基于qt開發(fā)的可視化工具,擁有擴展性好、靈活易用、跨平臺等特點,它集成了30多種工具,可以作為一個綜合的GUI工具來使用。另外,RViz也被集成到rqt的插件中,這使rqt成為ROS的一個不可缺少的GUI工具運行rqt將顯示rqt的GUI界面,如所示。如果是第一次,它將只顯示菜單,此外沒有任何內(nèi)容。這是因為還沒有指定rqt直接運行的插件程序.組件1.ROS認知uRosbagrosbag

ROS

的一個工具包,它可以用來錄制、回放、查看、過濾和壓縮

ROS

的消息6.開源免費與活躍的社區(qū)ROS

遵照

BSD

許可證,使用者可以修改和重寫發(fā)布其中的應(yīng)用代碼,可以進行商業(yè)化的開發(fā)和銷售。簡介1.ROS認知自動駕駛開源項目Autoware基金會自動駕駛1.ROS認知AutowareAutoware基金會是一個非盈利組織,旨在發(fā)起,發(fā)展和資助開源協(xié)作Autoware的項目工程,該工程創(chuàng)建了Autoware.AI,Autoware.Auto和Autoware.IO三個部分。Autoware.AI是第一個版本,它基于ROS

1,提供了從定位和物體檢測到路徑規(guī)劃和控制的所有必要功能。Autoware.Auto是對Autoware.AI的全新改寫,它基于ROS

2,采用了現(xiàn)代無人汽車自動駕駛領(lǐng)域軟件工程的最佳實踐。Baidu

Apollo是由百度發(fā)布全球最大自動駕駛開放平臺,包括開放平臺及企業(yè)版解決方案,Apollo開放平臺是面向所有開發(fā)者提供最開放、完整、安全的自動駕駛開源平臺。Apollo已形成自動駕駛、車路協(xié)同、智能車聯(lián)大開放平臺。自動駕駛1.ROS認知Apollo百度

Apollo

在最初的版本中使用了

ROS

作為自動駕駛系統(tǒng)的框架,后在此基礎(chǔ)上推出CyberRTWorkSpace---

自定義的工作空間|---

build:編譯空間,用于存放CMake和catkin的緩存信息、配置信息和其他中間文件。|---

devel:開發(fā)空間,用于存放編譯后生成的目標文件,包括頭文件、動態(tài)&靜態(tài)鏈接庫、可執(zhí)行文件等。|---

src:

源碼|--

package:功能包(ROS基本單元)包含多個節(jié)點、庫與配置文件,包名所有字母小寫,只能由字母、數(shù)字與下劃線組成文件系統(tǒng)1.ROS認知WorkSpace---

自定義的工作空間|---

build:編譯空間,用于存放CMake和catkin的緩存信息、配置信息和其他中間文件。|---

devel:開發(fā)空間,用于存放編譯后生成的目標文件,包括頭文件、動態(tài)&靜態(tài)鏈接庫、可執(zhí)行文件等。|---

src:

源碼|--

package:功能包(ROS基本單元)包含多個節(jié)點、庫與配置文件,包名所有字母小寫,只能由字母、數(shù)字與下劃線組成文件系統(tǒng)1.ROS認知|--

CMakeLists.txt

配置編譯規(guī)則,比如源文件、依賴項、目標文件|--

package.xml包信息,比如:包名、版本、作者、依賴項…|--

scripts

存儲python文件|--

src

存儲C++源文件|--

include

頭文件|--

msg

消息通信格式文件|--

srv

服務(wù)通信格式文件|--

action

動作格式文件|--

launch

可一次性運行多個節(jié)點|--

config

配置信息|--

CMakeLists.txt:

編譯的基本配置文件系統(tǒng)1.ROS認知通信架構(gòu)1.ROS認知uNode在ROS的世界里,最小的進程單元就是節(jié)點(node)。一個軟件包里可以有多個可執(zhí)行文件,可執(zhí)行文件在運行之后就成了一個進程(process),這個進程在ROS中就叫做節(jié)點。從程序角度來說,node就是一個可執(zhí)行文件(通常為C++編譯生成的可執(zhí)行文件、Python腳本)被執(zhí)行,加載到了內(nèi)存之中。從功能角度來說,通常一個node負責者機器人的某一個單獨的功能。例如:有一個node來控制底盤輪子的運動,有一個node驅(qū)動攝像頭獲取圖像,有一個node驅(qū)動激光雷達,有一個node根據(jù)傳感器信息進行路徑規(guī)劃……這樣做可以降低程序發(fā)生崩潰的可能性,試想一下如果把所有功能都寫到一個程序中,模塊間的通信、異常處理將會很麻煩。通信架構(gòu)1.ROS認知uMastermaster在整個網(wǎng)絡(luò)通信架構(gòu)里相當于管理中心,管理著各個node。node首先在master處進行注冊,之后master會將該node納入整個ROS程序中。node之間的通信也是先由master進行“牽線”,才能兩兩的進行點對點通信。當ROS程序啟動時,

第一步首先啟動master,由節(jié)點管理器處理依次啟動node。通信架構(gòu)1.ROS認知u通信方式ROS的通信方式是ROS最為核心的概念,ROS系統(tǒng)的精髓就在于它提供的通信架構(gòu)。ROS的通信方式有以下四種:Topic

主題Service

服務(wù)Parameter

Service

參數(shù)服務(wù)器Actionlib

動作庫通信架構(gòu)1.ROS認知uTopic通信ROS中的通信方式中,topic是常用的一種。對于實時性、周期性的消息,使用topic來傳輸是最佳的選擇。topic通信屬于一種異步的通信方式Node間進行通訊,其中發(fā)送消息的一方,ROS將其定義為Publisher(發(fā)布者),將接收消息的一方定義為Subscriber(訂閱者)??紤]到消息需要廣泛傳播,ROS沒有將其設(shè)計為點對點的單一傳遞,而是由Publisher將信息發(fā)布到Topic(主題)中,想要獲得消息的任何一方都可以到這個Topic中去取數(shù)據(jù)。通信架構(gòu)1.ROS認知uTopic通信Message按照定義解釋就是topic內(nèi)容的數(shù)據(jù)類型,也稱之為topic的格式標準。例如:烏龜?shù)姆抡嬷衪urtlesim節(jié)點訂閱的話題/turtle1/cmd_vel的消息類型如下所示。通信架構(gòu)1.ROS認知uService通信ROS提供了節(jié)點與節(jié)點間通訊的另外一種方式:service通訊。Service通訊分為client端和server端。Service通訊的特點:同步數(shù)據(jù)訪問具有響應(yīng)反饋機制一個server多個client注重業(yè)務(wù)邏輯處理通信架構(gòu)1.ROS認知uService通信ROS提供了節(jié)點與節(jié)點間通訊的另外一種方式:service通訊。Service通訊分為client端和server端。Service通訊的特點:同步數(shù)據(jù)訪問具有響應(yīng)反饋機制一個server多個client注重業(yè)務(wù)邏輯處理通信架構(gòu)1.ROS認知uParameterService與前兩種通信方式不同,參數(shù)服務(wù)器也可以說是特殊的“通信方式”。特殊點在于參數(shù)服務(wù)器是節(jié)點存儲參數(shù)的地方、用于配置參數(shù),全局共享參數(shù)。參數(shù)服務(wù)器使用互聯(lián)網(wǎng)傳輸,在節(jié)點管理器中運行,實現(xiàn)整個通信過程。參數(shù)服務(wù)器的維護方式,總的來講有三種方式:命令行維護launch文件內(nèi)讀寫node源碼通信架構(gòu)1.ROS認知uActionlibAction的工作原理是client-server模式,也是一個雙向的通信模式。Action通訊分為Client端和Server端,Client端負責給Server端發(fā)送指令,Server端接收到指令,根據(jù)自身的業(yè)務(wù)邏輯進行處理指令,處理過程中,可以反饋進度給為Client端,處理結(jié)束后將結(jié)構(gòu)反饋給Client端通信架構(gòu)1.ROS認知uActi

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論