




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
ROS通信機(jī)制進(jìn)階汽車計(jì)算機(jī)基礎(chǔ)一、課程導(dǎo)入上一個(gè)任務(wù)主要介紹了ROS通信的實(shí)現(xiàn),內(nèi)容偏向于粗粒度的通信框架的講解,沒有詳細(xì)介紹涉及的API,也沒有封裝代碼??偨Y(jié)課程導(dǎo)入ROS中的頭文件與源文件常用API一、課程導(dǎo)入ROS有哪些常用API?總結(jié)課程導(dǎo)入ROS中的頭文件與源文件常用API二、常用API2.1初始化(1)ROS初始化函數(shù)ROS初始化函數(shù)可以解析并使用節(jié)點(diǎn)啟動(dòng)時(shí)傳入的參數(shù)(通過參數(shù)設(shè)置節(jié)點(diǎn)名稱、命名空間...)。該函數(shù)有多個(gè)重載版本,如果使用NodeHandle建議調(diào)用該版本。函數(shù)原型:(2)函數(shù)參數(shù)參數(shù)說明paramargc參數(shù)個(gè)數(shù)paramargv參數(shù)列表paramname節(jié)點(diǎn)名稱,需要保證其唯一性,不允許包含命名空間paramoptions節(jié)點(diǎn)啟動(dòng)選項(xiàng),被封裝進(jìn)了ros::init_options總結(jié)課程導(dǎo)入ROS中的頭文件與源文件常用API二、常用API2.2話題與服務(wù)相關(guān)對(duì)象(1)發(fā)布對(duì)象話題發(fā)布對(duì)象是ROS的話題通信中的發(fā)布方,也就是發(fā)出信息的一方。在獲取該對(duì)象時(shí),會(huì)通過RPC在ROSMaster中注冊(cè)自身信息,其中包含所發(fā)布消息的話題名稱話題發(fā)布者對(duì)象為ros命名空間下的Publisher類,通過NodeHandle類中的advertise函數(shù)初始化。①函數(shù)說明根據(jù)話題生成發(fā)布對(duì)象,在ROSmaster注冊(cè)并返回一個(gè)發(fā)布者對(duì)象,該對(duì)象可以發(fā)布消息。②函數(shù)原型總結(jié)課程導(dǎo)入ROS中的頭文件與源文件常用API二、常用API2.2話題與服務(wù)相關(guān)對(duì)象(1)發(fā)布對(duì)象③函數(shù)參數(shù)d.函數(shù)返回值return調(diào)用成功時(shí),會(huì)返回一個(gè)發(fā)布對(duì)象。參數(shù)說明paramtopic發(fā)布消息使用的話題paramqueue_size等待發(fā)送給訂閱者的最大消息數(shù)量paramlatch(optional)如果為true,該話題發(fā)布的最后一條消息將被保存,并且后期當(dāng)有訂閱者連接時(shí)會(huì)將該消息發(fā)送給訂閱者總結(jié)課程導(dǎo)入ROS中的頭文件與源文件常用API二、常用API2.2話題與服務(wù)相關(guān)對(duì)象(1)發(fā)布對(duì)象④Publisher對(duì)象發(fā)布消息函數(shù)該函數(shù)將數(shù)據(jù)message發(fā)送到已連接的訂閱者,message類型可以為任意類型。總結(jié)課程導(dǎo)入ROS中的頭文件與源文件常用API二、常用API2.3回旋函數(shù)回旋函數(shù)是ROS中非常常用的功能函數(shù),作用是處理程序中的所有可用的回調(diào)函數(shù),當(dāng)函數(shù)執(zhí)行條件觸發(fā)時(shí),就去執(zhí)行函數(shù)。(1)單次回旋函數(shù)spinOnce()用于處理一輪回調(diào),一般應(yīng)用在循環(huán)體內(nèi),處理所有可用的回調(diào)函數(shù),函數(shù)格式:總結(jié)課程導(dǎo)入ROS中的頭文件與源文件常用API二、常用API2.3回旋函數(shù)(2)spin()無限回旋函數(shù)進(jìn)入循環(huán)處理回調(diào),一般格式為:總結(jié)課程導(dǎo)入ROS中的頭文件與源文件常用API二、常用API2.3回旋函數(shù)(3)二者比較相同點(diǎn):二者都用于處理回調(diào)函數(shù);不同點(diǎn):ros::spin()是進(jìn)入了循環(huán)執(zhí)行回調(diào)函數(shù),而ros::spinOnce()只會(huì)執(zhí)行一次回調(diào)函數(shù)(沒有循環(huán)),在ros::spin()后的語句不會(huì)執(zhí)行到,而ros::spinOnce()后的語句可以執(zhí)行??偨Y(jié)課程導(dǎo)入ROS中的頭文件與源文件常用API二、常用API2.4時(shí)間(1)時(shí)刻獲取時(shí)刻,或是設(shè)置指定時(shí)刻:總結(jié)課程導(dǎo)入ROS中的頭文件與源文件常用API二、常用API2.4時(shí)間(2)持續(xù)時(shí)間設(shè)置一個(gè)時(shí)間區(qū)間(間隔):總結(jié)課程導(dǎo)入ROS中的頭文件與源文件常用API二、常用API2.4時(shí)間(3)持續(xù)時(shí)間與時(shí)刻運(yùn)算為了方便使用,ROS中提供了時(shí)間與時(shí)刻的運(yùn)算:總結(jié)課程導(dǎo)入ROS中的頭文件與源文件常用API二、常用API2.4時(shí)間(4)設(shè)置運(yùn)行頻率總結(jié)課程導(dǎo)入ROS中的頭文件與源文件常用API二、常用API2.4時(shí)間(5)定時(shí)器①函數(shù)說明ROS中內(nèi)置了專門的定時(shí)器,定時(shí)器相當(dāng)于一個(gè)鬧鐘,隔一段時(shí)間響一次(執(zhí)行回調(diào)函數(shù)),成功返回一個(gè)定時(shí)器對(duì)象。②函數(shù)原型總結(jié)課程導(dǎo)入ROS中的頭文件與源文件常用API二、常用API2.4時(shí)間(5)定時(shí)器③函數(shù)參數(shù)參數(shù)說明period時(shí)間間隔(Duration類型)callback回調(diào)函數(shù)(函數(shù)指針)oneshot如果設(shè)置為true,只執(zhí)行一次回調(diào)函數(shù),設(shè)置為false,就循環(huán)執(zhí)行autostart如果為true,返回已經(jīng)啟動(dòng)的定時(shí)器,設(shè)置為false,需要手動(dòng)啟動(dòng)總結(jié)課程導(dǎo)入ROS中的頭文件與源文件常用API二、常用API2.5其他函數(shù)(1)節(jié)點(diǎn)關(guān)閉函數(shù)總結(jié)課程導(dǎo)入ROS中的頭文件與源文件常用API二、常用API2.5其他函數(shù)(2)節(jié)點(diǎn)狀態(tài)判斷函數(shù)總結(jié)課程導(dǎo)入ROS中的頭文件與源文件常用API二、常用API2.5其他函數(shù)(3)日志函數(shù)總結(jié)課程導(dǎo)入ROS中的頭文件與源文件常用API三、ROS中的頭文件與源文件3.1自定義頭文件調(diào)用(1)頭文件在功能包下的include/功能包名目錄下新建頭文件:hello.h,示例內(nèi)容如下:總結(jié)課程導(dǎo)入ROS中的頭文件與源文件常用API三、ROS中的頭文件與源文件3.1自定義頭文件調(diào)用(2)可執(zhí)行文件在src目錄下新建文件:hello.cpp,示例內(nèi)容如下:總結(jié)課程導(dǎo)入ROS中的頭文件與源文件常用API三、ROS中的頭文件與源文件3.1自定義頭文件調(diào)用(3)配置文件①配置CMakeLists.txt文件,頭文件相關(guān)配置如下:總結(jié)課程導(dǎo)入ROS中的頭文件與源文件常用API三、ROS中的頭文件與源文件3.1自定義頭文件調(diào)用(3)配置文件②可執(zhí)行配置文件配置方式與之前一致:總結(jié)課程導(dǎo)入ROS中的頭文件與源文件常用API三、ROS中的頭文件與源文件3.1自定義頭文件調(diào)用(3)配置文件②可執(zhí)行配置文件配置方式與之前一致:最后,編譯并執(zhí)行,控制臺(tái)可以輸出自定義的文本信息??偨Y(jié)課程導(dǎo)入ROS中的頭文件與源文件常用API三、ROS中的頭文件與源文件3.2自定義源文件調(diào)用(1)頭文件頭文件設(shè)置與前面類似,在功能包下的include/功能包名目錄下新建頭文件:haha.h,示例內(nèi)容如下:總結(jié)課程導(dǎo)入ROS中的頭文件與源文件常用API三、ROS中的頭文件與源文件3.2自定義源文件調(diào)用(2)源文件在src目錄下新建文件:haha.cpp,示例內(nèi)容如下:總結(jié)課程導(dǎo)入ROS中的頭文件與源文件常用API三、ROS中的頭文件與源文件3.2自定義源文件調(diào)用(3)可執(zhí)行文件在src目錄下新建文件:use_head.cpp,示例內(nèi)容如下:總結(jié)課程導(dǎo)入ROS中的頭文件與源文件常用API三、ROS中的頭文件與源文件3.2自定義源文件調(diào)用(4)配置文件①頭文件與源文件相關(guān)配置:總結(jié)課程導(dǎo)入ROS中的頭文件與源文件常用API三、ROS中的頭文件與源文件3.2自定義源文件調(diào)用(4)配置文件②可執(zhí)行文件配置:總結(jié)課程導(dǎo)入ROS中的頭文件與源文件常用API1.ROS常用API有:ROS節(jié)點(diǎn)的初始化相關(guān)API、NodeHandle的基本使用相關(guān)API、話題的發(fā)布方,訂閱方對(duì)象相關(guān)API、服務(wù)的服務(wù)端,客戶端對(duì)象相關(guān)API、回旋函數(shù)相關(guān)API、時(shí)間相關(guān)API。2.ROS初始化函數(shù):可以解析并使用節(jié)點(diǎn)啟動(dòng)時(shí)傳入的參數(shù)。3.在roscpp中
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二維多項(xiàng)式微分系統(tǒng)的中心判定與jerk混沌系統(tǒng)的分析
- GSH-近紅外響應(yīng)烯啶蟲胺納米控釋劑的制備及生物活性
- 非遺主題動(dòng)畫的角色動(dòng)作設(shè)計(jì)及其文化傳承研究
- 幼兒大班健康教育教案
- 關(guān)于我區(qū)根治欠薪工作堵點(diǎn)、難點(diǎn)問題的調(diào)研報(bào)告
- 新能源汽車分時(shí)租賃平臺(tái)服務(wù)協(xié)議模板
- 物流年中工作總結(jié)
- 藍(lán)色企業(yè)會(huì)議紀(jì)要培訓(xùn)
- 硝酸鑭鐠釹企業(yè)縣域市場(chǎng)拓展與下沉戰(zhàn)略研究報(bào)告
- 智能熱成像監(jiān)控器行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報(bào)告
- 天堂旅行團(tuán)讀書分享
- 室內(nèi)裝潢與裝修的危險(xiǎn)源辨識(shí)與風(fēng)險(xiǎn)評(píng)估
- 護(hù)理安全警示教育案例完整版
- 醫(yī)療保險(xiǎn)異地就醫(yī)登記備案表
- MAXIMO系統(tǒng)介紹課件
- 《雇主責(zé)任險(xiǎn)》課件
- 煙花爆竹經(jīng)營(yíng)安全培訓(xùn)課件
- 人為因素和航空法規(guī)-第二版-第1章
- 動(dòng)漫設(shè)計(jì)與制作專業(yè)實(shí)訓(xùn)室建設(shè)方案
- 初中英語翻譯專題訓(xùn)練題100題含答案
- 教科版科學(xué)五年級(jí)下冊(cè)第一單元《生物與環(huán)境》測(cè)試卷含答案(精練)
評(píng)論
0/150
提交評(píng)論