国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知(項(xiàng)目2)day03【機(jī)器人簡(jiǎn)介與ROS基礎(chǔ)】

這篇具有很好參考價(jià)值的文章主要介紹了仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知(項(xiàng)目2)day03【機(jī)器人簡(jiǎn)介與ROS基礎(chǔ)】。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

前言

??你好,我是辰chen,本文旨在準(zhǔn)備考研復(fù)試或就業(yè)
??本文內(nèi)容是我為復(fù)試準(zhǔn)備的第二個(gè)項(xiàng)目
??歡迎大家的關(guān)注,我的博客主要關(guān)注于考研408以及AIoT的內(nèi)容
?? 預(yù)置知識(shí):基本Python語法,基本linux命令行使用

以下的幾個(gè)專欄是本人比較滿意的專欄(大部分專欄仍在持續(xù)更新),歡迎大家的關(guān)注:

??ACM-ICPC算法匯總【基礎(chǔ)篇】
??ACM-ICPC算法匯總【提高篇】
??AIoT(人工智能+物聯(lián)網(wǎng))
??考研
??CSP認(rèn)證考試歷年題解

機(jī)器人簡(jiǎn)介

機(jī)器人應(yīng)用與前景

生活中的應(yīng)用:

仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知(項(xiàng)目2)day03【機(jī)器人簡(jiǎn)介與ROS基礎(chǔ)】,仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知,考研,# 復(fù)試項(xiàng)目,機(jī)器人,ROS,深度學(xué)習(xí),CV,考研,自動(dòng)駕駛,復(fù)試
工業(yè)應(yīng)用:

仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知(項(xiàng)目2)day03【機(jī)器人簡(jiǎn)介與ROS基礎(chǔ)】,仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知,考研,# 復(fù)試項(xiàng)目,機(jī)器人,ROS,深度學(xué)習(xí),CV,考研,自動(dòng)駕駛,復(fù)試
ROS元老機(jī)器人 – PR2:

仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知(項(xiàng)目2)day03【機(jī)器人簡(jiǎn)介與ROS基礎(chǔ)】,仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知,考研,# 復(fù)試項(xiàng)目,機(jī)器人,ROS,深度學(xué)習(xí),CV,考研,自動(dòng)駕駛,復(fù)試

NASA 將機(jī)器人部署到空間站:

仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知(項(xiàng)目2)day03【機(jī)器人簡(jiǎn)介與ROS基礎(chǔ)】,仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知,考研,# 復(fù)試項(xiàng)目,機(jī)器人,ROS,深度學(xué)習(xí),CV,考研,自動(dòng)駕駛,復(fù)試

智駕成為汽車核心賣點(diǎn)之一:

仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知(項(xiàng)目2)day03【機(jī)器人簡(jiǎn)介與ROS基礎(chǔ)】,仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知,考研,# 復(fù)試項(xiàng)目,機(jī)器人,ROS,深度學(xué)習(xí),CV,考研,自動(dòng)駕駛,復(fù)試

仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知(項(xiàng)目2)day03【機(jī)器人簡(jiǎn)介與ROS基礎(chǔ)】,仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知,考研,# 復(fù)試項(xiàng)目,機(jī)器人,ROS,深度學(xué)習(xí),CV,考研,自動(dòng)駕駛,復(fù)試

機(jī)器人形態(tài)

輪式機(jī)器人:

仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知(項(xiàng)目2)day03【機(jī)器人簡(jiǎn)介與ROS基礎(chǔ)】,仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知,考研,# 復(fù)試項(xiàng)目,機(jī)器人,ROS,深度學(xué)習(xí),CV,考研,自動(dòng)駕駛,復(fù)試
腿式機(jī)器人:
仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知(項(xiàng)目2)day03【機(jī)器人簡(jiǎn)介與ROS基礎(chǔ)】,仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知,考研,# 復(fù)試項(xiàng)目,機(jī)器人,ROS,深度學(xué)習(xí),CV,考研,自動(dòng)駕駛,復(fù)試
輪腿機(jī)器人:
仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知(項(xiàng)目2)day03【機(jī)器人簡(jiǎn)介與ROS基礎(chǔ)】,仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知,考研,# 復(fù)試項(xiàng)目,機(jī)器人,ROS,深度學(xué)習(xí),CV,考研,自動(dòng)駕駛,復(fù)試
無人機(jī):
仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知(項(xiàng)目2)day03【機(jī)器人簡(jiǎn)介與ROS基礎(chǔ)】,仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知,考研,# 復(fù)試項(xiàng)目,機(jī)器人,ROS,深度學(xué)習(xí),CV,考研,自動(dòng)駕駛,復(fù)試
機(jī)械臂:
仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知(項(xiàng)目2)day03【機(jī)器人簡(jiǎn)介與ROS基礎(chǔ)】,仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知,考研,# 復(fù)試項(xiàng)目,機(jī)器人,ROS,深度學(xué)習(xí),CV,考研,自動(dòng)駕駛,復(fù)試

機(jī)器人的構(gòu)成

? 傳感器:機(jī)器人的感官,決定了能獲取到哪些外部信息。類比人的視覺、觸覺、聽覺等。
? 算法和邏輯:內(nèi)部的數(shù)據(jù)處理。比如用深度學(xué)習(xí)算法識(shí)別物體、傳感器融合定位、業(yè)務(wù)邏輯等。
? 執(zhí)行器:機(jī)器人向外的輸出,決定了能完成哪些任務(wù)。類比人的手、腳、語言、動(dòng)作等。

仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知(項(xiàng)目2)day03【機(jī)器人簡(jiǎn)介與ROS基礎(chǔ)】,仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知,考研,# 復(fù)試項(xiàng)目,機(jī)器人,ROS,深度學(xué)習(xí),CV,考研,自動(dòng)駕駛,復(fù)試
? 機(jī)器人是復(fù)雜系統(tǒng),包含一系列協(xié)同工作的軟件硬件。各個(gè)傳感器、算法、業(yè)務(wù)邏輯、執(zhí)行器之間,有復(fù)雜的依賴關(guān)系。

仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知(項(xiàng)目2)day03【機(jī)器人簡(jiǎn)介與ROS基礎(chǔ)】,仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知,考研,# 復(fù)試項(xiàng)目,機(jī)器人,ROS,深度學(xué)習(xí),CV,考研,自動(dòng)駕駛,復(fù)試

ROS基礎(chǔ)

ROS的作用和特點(diǎn)


機(jī)器人開發(fā)的難題

  1. 組件眾多,依賴關(guān)系復(fù)雜。如何兼顧靈活性、魯棒性和性能?
  2. 組件可能由不同語言編寫,如何協(xié)同運(yùn)行?
  3. 某些功能(如建圖、導(dǎo)航等)很多機(jī)器人都需要有,如何方便的復(fù)用?
  4. 如何調(diào)試、記錄機(jī)器人運(yùn)行時(shí)的大量數(shù)據(jù)?

ROS的作用-提高軟件復(fù)用

  1. 點(diǎn)對(duì)點(diǎn)的設(shè)計(jì)
  2. 多語言支持
  3. 豐富的工具包

點(diǎn)對(duì)點(diǎn)的設(shè)計(jì):

? 分布式的節(jié)點(diǎn)單元
? RPC + TCP/UDP 通信系統(tǒng)
? 支持多機(jī)器協(xié)同(分布式系統(tǒng))
? 各個(gè)節(jié)點(diǎn)獨(dú)立編譯、啟動(dòng)

遠(yuǎn)程過程調(diào)用(英語:Remote Procedure Call,RPC)是一個(gè)計(jì)算機(jī)通信協(xié)議。該協(xié)議允許運(yùn)行于一臺(tái)計(jì)算機(jī)的程序調(diào)用另一個(gè)地址空間(通常為一個(gè)開放網(wǎng)絡(luò)的一臺(tái)計(jì)算機(jī))的子程序,而程序員就像調(diào)用本地程序一樣,無需額外地為這個(gè)交互作用編程(無需關(guān)注細(xì)節(jié))。

仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知(項(xiàng)目2)day03【機(jī)器人簡(jiǎn)介與ROS基礎(chǔ)】,仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知,考研,# 復(fù)試項(xiàng)目,機(jī)器人,ROS,深度學(xué)習(xí),CV,考研,自動(dòng)駕駛,復(fù)試

點(diǎn)對(duì)點(diǎn)的設(shè)計(jì)是ROS中最重要的一個(gè)概念,其中關(guān)鍵在于節(jié)點(diǎn)。一個(gè)系統(tǒng)可能由多個(gè)節(jié)點(diǎn)構(gòu)成,我們可以理解成每一個(gè)程序都是一個(gè)節(jié)點(diǎn),或者說每一個(gè)主函數(shù)都是一個(gè)節(jié)點(diǎn),節(jié)點(diǎn)之間是相互獨(dú)立的,節(jié)點(diǎn)和節(jié)點(diǎn)之間,不一定運(yùn)行在同一個(gè)物理機(jī)器上,它可以是一個(gè)分布式的系統(tǒng),對(duì)于分布式系統(tǒng)而言,通信就是重中之重。如上圖所示,有三大塊,代表著不同的設(shè)備:用戶電腦,服務(wù)器,機(jī)器人;其中每一個(gè)橢圓都代表著一個(gè)節(jié)點(diǎn),他們是可以跑在不同的電腦上的。

比如我給出一個(gè)導(dǎo)航任務(wù),簡(jiǎn)單說明其部分運(yùn)作流程:在我們的用戶電腦上運(yùn)行一個(gè)節(jié)點(diǎn),這個(gè)節(jié)點(diǎn)用來獲取用戶的輸入,比如輸入一個(gè)坐標(biāo),這就是這個(gè)節(jié)點(diǎn)的作用,當(dāng)我們獲得了這個(gè)輸入之后,我們可以把該坐標(biāo)傳遞給下一個(gè)節(jié)點(diǎn),也就是進(jìn)行節(jié)點(diǎn)間的通信,如上圖所示,下一個(gè)節(jié)點(diǎn)為路徑規(guī)劃算法,它拿到了坐標(biāo)之后還不夠,還需要地圖,地圖服務(wù)器也就另一個(gè)節(jié)點(diǎn),這兩個(gè)節(jié)點(diǎn)就不是運(yùn)行在用戶電腦上了,而是運(yùn)行在服務(wù)器上,它們之間就是網(wǎng)絡(luò)通信,所以即便不在一個(gè)機(jī)器上,我們也可以通過網(wǎng)絡(luò)來進(jìn)行協(xié)同的工作,也就是運(yùn)行在一個(gè)分布式系統(tǒng)中。

簡(jiǎn)而言之,可以理解成為各自都有一個(gè)主函數(shù),各自是獨(dú)立運(yùn)行的,它們都會(huì)去遵循同一個(gè)通訊協(xié)議,所以說它們之間能夠傳遞信息。這就是ROS的點(diǎn)對(duì)點(diǎn)設(shè)計(jì)。

多語言支持:

? 支持 Python,C++,Java等語言
? 提供語言無關(guān)的數(shù)據(jù)接口定義

仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知(項(xiàng)目2)day03【機(jī)器人簡(jiǎn)介與ROS基礎(chǔ)】,仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知,考研,# 復(fù)試項(xiàng)目,機(jī)器人,ROS,深度學(xué)習(xí),CV,考研,自動(dòng)駕駛,復(fù)試
所謂語言無關(guān),如上圖所示,它是一個(gè)Image(圖像)的數(shù)據(jù)格式,我們知道,在cpp中,如果要存儲(chǔ)一個(gè)圖像,可以用數(shù)組或者vector來存,但這些東西在Python中是沒有的,所謂語言無關(guān)的數(shù)據(jù)定義接口,就是更為抽象的一層,就是用它來標(biāo)識(shí)我這個(gè)圖像里面有何種信息。

比如上圖中有圖像的高度、圖像的寬度…并且也說明了信息是哪種數(shù)據(jù)類型,如 uint32, string, uint8...,但這些數(shù)據(jù)類型并不是具體的某一種語言里面的數(shù)據(jù)類型,而是ROS提供的一種語言無關(guān)的數(shù)據(jù)類型,在之后編譯中會(huì)根據(jù)不同的語言轉(zhuǎn)換成為對(duì)應(yīng)語言的相應(yīng)數(shù)據(jù)類型,ROS幫我們實(shí)現(xiàn)了其中的數(shù)據(jù)轉(zhuǎn)換

豐富的工具包:

? 3D數(shù)據(jù)可視化:Rviz
? 物理環(huán)境仿真:Gazebo
? Qt可視化工具箱:rqt_*

仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知(項(xiàng)目2)day03【機(jī)器人簡(jiǎn)介與ROS基礎(chǔ)】,仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知,考研,# 復(fù)試項(xiàng)目,機(jī)器人,ROS,深度學(xué)習(xí),CV,考研,自動(dòng)駕駛,復(fù)試
以上工具包我們很快就會(huì)用到,先簡(jiǎn)單略過

ROS的運(yùn)行機(jī)制

ROS機(jī)制-計(jì)算圖

? 節(jié)點(diǎn):軟件模塊,可以訂閱/發(fā)布 Topic,調(diào)用/創(chuàng)建 Service
? ROS Master:控制中心,整個(gè)系統(tǒng)有且只有一個(gè)。負(fù)責(zé)鏈接各個(gè)節(jié)點(diǎn)、管理參數(shù)等
? Topic:異步通信,傳輸消息
? Service:同步通信,類似函數(shù)調(diào)用

我們說過,最重要的就是點(diǎn)對(duì)點(diǎn)通信,這是如何實(shí)現(xiàn)的呢?下作介紹:

先來補(bǔ)充一個(gè)概念:計(jì)算圖,上面提到的圖:
仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知(項(xiàng)目2)day03【機(jī)器人簡(jiǎn)介與ROS基礎(chǔ)】,仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知,考研,# 復(fù)試項(xiàng)目,機(jī)器人,ROS,深度學(xué)習(xí),CV,考研,自動(dòng)駕駛,復(fù)試
也可以看做成一個(gè)計(jì)算圖。


下面我們拿下圖舉例:
仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知(項(xiàng)目2)day03【機(jī)器人簡(jiǎn)介與ROS基礎(chǔ)】,仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知,考研,# 復(fù)試項(xiàng)目,機(jī)器人,ROS,深度學(xué)習(xí),CV,考研,自動(dòng)駕駛,復(fù)試
該圖中的每一個(gè)橢圓都是ROS rqt_*的工具箱自動(dòng)生成的,一些節(jié)點(diǎn)之間的通信關(guān)系可以自動(dòng)的生成這樣的圖來給我們查看,每個(gè)橢圓都是一個(gè)節(jié)點(diǎn),一個(gè)箭頭就代表著他們之間有一個(gè)消息的通信。

已經(jīng)講過,每一個(gè)橢圓都代表著一個(gè)節(jié)點(diǎn),每一個(gè)節(jié)點(diǎn)都可以訂閱或者發(fā)布一個(gè) Topic,也可以調(diào)用或者創(chuàng)建一個(gè) Service,下面分別介紹 Topic 與 Service:

Topic 和 Service 都是節(jié)點(diǎn)之間的通訊方式

? Topic:
是一種傳輸信息的異步通信
仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知(項(xiàng)目2)day03【機(jī)器人簡(jiǎn)介與ROS基礎(chǔ)】,仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知,考研,# 復(fù)試項(xiàng)目,機(jī)器人,ROS,深度學(xué)習(xí),CV,考研,自動(dòng)駕駛,復(fù)試
Publisher就是Topic的發(fā)布者,如上圖所示,Topic的名字(example),它會(huì)有一個(gè)數(shù)據(jù)類型(String),這里就是語言無關(guān)的數(shù)據(jù)類型,它會(huì)有一些 Subscriber 也就是接收者(可以有多個(gè)接收者),這些接收者只需要訂閱了名字為 example 的這個(gè) Topic,它就與 Publisher 建立連接了,此后 Publisher 每次發(fā)送消息,Subscriber 都會(huì)收到,即其實(shí)是一個(gè)單向的連接,該連接是異步的,也就是 Publisher 發(fā)出去就發(fā)出去了,至于 Subscriber 收到與否,處理速度的快慢,有沒有及時(shí)收到,都不會(huì)給 Publisher 進(jìn)行反饋,類似一種廣播。

? Service:
類似函數(shù)調(diào)用,是一種同步通信
仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知(項(xiàng)目2)day03【機(jī)器人簡(jiǎn)介與ROS基礎(chǔ)】,仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知,考研,# 復(fù)試項(xiàng)目,機(jī)器人,ROS,深度學(xué)習(xí),CV,考研,自動(dòng)駕駛,復(fù)試
和我們請(qǐng)求服務(wù)器一樣,它有一個(gè) Service Server,有一個(gè) Service Client,Client 發(fā)送請(qǐng)求,然后 Server 再返回請(qǐng)求,是一個(gè)同步的通信模式。

ROS機(jī)制-Topic

? 指定名稱和數(shù)據(jù)類型
? 創(chuàng)建流程

  1. Talker、Listener 向 Master 注冊(cè)(發(fā)布/訂閱哪個(gè)Topic)
  2. Master 向 Listener 發(fā)送 Talker 信息
  3. Listener 向 Talker 建立網(wǎng)絡(luò)連接
  4. Talker 向 Listener 發(fā)布數(shù)據(jù)

? 一個(gè) Topic 可以有多個(gè)發(fā)布者,也可以有多個(gè)訂閱者。如多個(gè)節(jié)點(diǎn)都可以向“警告” Topic 發(fā)布信息;定位節(jié)點(diǎn)和路徑規(guī)劃節(jié)點(diǎn)同時(shí)訂閱“地圖”Topic
? 同一個(gè) Topic 的所有發(fā)布和訂閱,都要用同一種數(shù)據(jù)類型
仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知(項(xiàng)目2)day03【機(jī)器人簡(jiǎn)介與ROS基礎(chǔ)】,仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知,考研,# 復(fù)試項(xiàng)目,機(jī)器人,ROS,深度學(xué)習(xí),CV,考研,自動(dòng)駕駛,復(fù)試

繼續(xù)介紹一下建立一次 Topic 的通信流程:

首先,我們要指定這個(gè) Topic 的名稱和數(shù)據(jù)類型,這兩個(gè)是必須要定義的,假設(shè)有一個(gè) Talker 一個(gè) Listener,其實(shí)就是上述中的 Publisher 和 Subscriber,它們會(huì)向 ROS Master 進(jìn)行注冊(cè),也就是上述的全局唯一的控制節(jié)點(diǎn),Talker 會(huì)告訴 Master,現(xiàn)在想要接收一個(gè) Topic 并且告訴這個(gè) Topic 叫什么以及數(shù)據(jù)類型是什么,Master 會(huì)記住這些信息,當(dāng)它收到 Listener 向它發(fā)布的請(qǐng)求,即想要獲得哪個(gè) Topic 的時(shí)候,如果 Topic 已經(jīng)存在,如已有一各 Talker 發(fā)布了,Master 會(huì)把 Talker 的信息發(fā)送給 Listener,此時(shí) Listener 就知道了 Talker 的信息,如知道了 Talker 的 IP 地址,端口號(hào)是什么,Listener 就可以主動(dòng)地去聯(lián)系 Talker,告訴我要訂閱你發(fā)布的 Topic,同時(shí) Talker 也會(huì)記下來 Listener,這樣下一次 Talker 發(fā)布數(shù)據(jù)的時(shí)候就會(huì)直接把數(shù)據(jù)傳遞給 Listener。對(duì)于同一個(gè) Topic,所有的發(fā)布和訂閱都必須用同一種數(shù)據(jù)類型,不然的話就會(huì)報(bào)錯(cuò):Master 會(huì)告訴你,這個(gè) Topic 不是這個(gè)類型的,并拒絕你的請(qǐng)求。

每個(gè) Topic 可以有多個(gè)發(fā)布者 Talker(Publisher),也可以有多個(gè)訂閱者 Listener(Subscriber),多個(gè)訂閱者是比較常見的,舉一個(gè)多個(gè)發(fā)布者的例子:系統(tǒng)中可能有一個(gè) Topic 叫警告,觸發(fā)警告可能有多種:溫度過高,速度過快…,有的節(jié)點(diǎn)是用來測(cè)量溫度的,有的節(jié)點(diǎn)是用來測(cè)量速度的,那么這些節(jié)點(diǎn)都可以向警告這個(gè) Topic 發(fā)布信息。
多個(gè)訂閱者的例子:比如 地圖Topic,它可以同時(shí)被定位和路徑規(guī)劃的節(jié)點(diǎn)所訂閱。

ROS機(jī)制-Service

? 指定名稱和 Service 類型,Service 類型中指定了調(diào)用數(shù)據(jù)類型和返回?cái)?shù)據(jù)類型
? 調(diào)用流程

  1. Talker 向 Master 注冊(cè) Service
  2. Listener 向 Master 請(qǐng)求 Service
  3. Master 向 Listener 發(fā)送 Talker 信息
  4. Listener 向 Talker 請(qǐng)求 Service,傳遞調(diào)用參數(shù)
  5. Talker 返回?cái)?shù)據(jù)

仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知(項(xiàng)目2)day03【機(jī)器人簡(jiǎn)介與ROS基礎(chǔ)】,仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知,考研,# 復(fù)試項(xiàng)目,機(jī)器人,ROS,深度學(xué)習(xí),CV,考研,自動(dòng)駕駛,復(fù)試
首先也是要指定,指定名稱和 Service 類型,注意 Service 類型,因?yàn)樗怯衼碛谢氐模淮握{(diào)用就是一個(gè)過程,不像 Topic,只要建立了連接,每一次talker有新的數(shù)據(jù),都會(huì)發(fā)送給 Listener(Topic :假如 talker 是一個(gè)攝像頭,幀率是三十幀每秒,那么一旦有了一個(gè) Listener,就會(huì)以每秒 30次的速率向 Listener 發(fā)送信息;Service :只是一次調(diào)用過程)

一個(gè)調(diào)用的數(shù)據(jù)類型就類似于函數(shù)的一個(gè)參數(shù),與此還會(huì)有一個(gè)返回?cái)?shù)據(jù)類型即返回值,這兩個(gè)一起組成了一個(gè) Service 類型

調(diào)用流程與 Topic 類似,首先是注冊(cè),Talker 也就是 Service Server,Listener 也就是 Service Client,它們?cè)趧?chuàng)建的時(shí)候都需要向 Master 注冊(cè),Master 就會(huì)記住,誰定義了哪個(gè) Service,誰要請(qǐng)求哪個(gè) Service,當(dāng)有請(qǐng)求的時(shí)候,Master 會(huì)向 Listener 發(fā)送 Talker 的信息,Listener 就知道了 Talker 的信息,就可以直接和 Talker 建立通信,來完成一次請(qǐng)求。

可以把 Service 類比為函數(shù)調(diào)用,一次調(diào)用就是傳入一次參數(shù),返回一次數(shù)據(jù)。Service 主要作用并不是傳遞數(shù)據(jù),而是觸發(fā)/調(diào)用某些邏輯之類的作用

話題 Topic 服務(wù) Service
同步性 異步 同步
通信模型 發(fā)布/訂閱 服務(wù)器/客戶端
底層協(xié)議 ROSTCP/ROSUDP ROSTCP/ROSUDP
反饋機(jī)制
緩沖區(qū)
實(shí)時(shí)性 強(qiáng)
節(jié)點(diǎn)關(guān)系 多對(duì)多 一對(duì)多(一個(gè) Service Server)
適用場(chǎng)景 數(shù)據(jù)傳輸 邏輯處理

ROS機(jī)制-參數(shù)

  1. Talker 向 Master 設(shè)置參數(shù)
  2. Master 存儲(chǔ)參數(shù)
  3. Listener 向 Master 查詢參數(shù)
  4. Master 返回參數(shù)

仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知(項(xiàng)目2)day03【機(jī)器人簡(jiǎn)介與ROS基礎(chǔ)】,仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知,考研,# 復(fù)試項(xiàng)目,機(jī)器人,ROS,深度學(xué)習(xí),CV,考研,自動(dòng)駕駛,復(fù)試

ROS機(jī)制-文件系統(tǒng)

?xxx_ws:工作空間根目錄,項(xiàng)目的基本單位
?xxx_ws/src:各種代碼存放位置,我們只需要修改src中的文件
? xxx_ws/build 和 xxx_ws/devel:編譯生成的文件夾,存放目標(biāo)文件、依賴項(xiàng)等,開發(fā)時(shí)一般不用管
? src中每個(gè)功能包:

  1. package.xml:功能包的元數(shù)據(jù)(名稱、版本、作者、依賴項(xiàng)等)
  2. CMakeLists.txt:編譯配置文件
  3. 其他可選文件夾(src, msg, srv, launch等)

仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知(項(xiàng)目2)day03【機(jī)器人簡(jiǎn)介與ROS基礎(chǔ)】,仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知,考研,# 復(fù)試項(xiàng)目,機(jī)器人,ROS,深度學(xué)習(xí),CV,考研,自動(dòng)駕駛,復(fù)試

ROS常用命令

命令 作用
catkin_create_pkg 創(chuàng)建功能包
rospack 獲取功能包的信息
catkin_make 編譯工作空間的功能包
rosdep 自動(dòng)安裝功能包依賴的其他包
roscd 功能包目錄跳轉(zhuǎn)
roscp 拷貝功能包中的文件
rosed 編譯功能包中的文件
rosrun 運(yùn)行功能包中的可執(zhí)行文件
roslaunch 運(yùn)行啟動(dòng)文件

加 -h 參數(shù)查看幫助,如 rosrun -h


上述所有內(nèi)容出處如下,博主在此基礎(chǔ)上僅為添加個(gè)人理解:
本項(xiàng)目為北大團(tuán)隊(duì)出品【項(xiàng)目三:深度學(xué)習(xí)&仿真機(jī)器人 - 丘丘老師】原創(chuàng)(部分代碼為開源代碼)。課程團(tuán)隊(duì):B站ID【M學(xué)長的考研top幫】UID【3546580235848566】復(fù)試項(xiàng)目班QQ大群:885884619,負(fù)責(zé)人QQ:674799975文章來源地址http://www.zghlxwxcb.cn/news/detail-805329.html

到了這里,關(guān)于仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知(項(xiàng)目2)day03【機(jī)器人簡(jiǎn)介與ROS基礎(chǔ)】的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 強(qiáng)化學(xué)習(xí):MuJoCo機(jī)器人強(qiáng)化學(xué)習(xí)仿真入門(1)

    強(qiáng)化學(xué)習(xí):MuJoCo機(jī)器人強(qiáng)化學(xué)習(xí)仿真入門(1)

    ? ? 聲明 :我們跳過mujoco環(huán)境的搭建,搭建環(huán)境不難,可自行百度 下面開始進(jìn)入正題(需要有一定的python基礎(chǔ)與xml基礎(chǔ)): ?下面進(jìn)入到建立機(jī)器人模型的部分: 需要先介紹URDF模型文件和導(dǎo)出MJCF格式 ?介紹完畢,下面開始進(jìn)行mujoco仿真: 首先將這4個(gè)文件復(fù)制到.mujoco/muj

    2024年01月24日
    瀏覽(25)
  • [機(jī)器人相關(guān)學(xué)習(xí)記錄] KUKA 的仿真工具

    [機(jī)器人相關(guān)學(xué)習(xí)記錄] KUKA 的仿真工具

    KUKA Sim Pro v3.1.2 和 Workvisual 的區(qū)別 項(xiàng)目 KUKA Sim Pro v3.1.2 Workvisual 功能 專注于機(jī)器人仿真和編程 集成機(jī)器人仿真、編程和監(jiān)控 適用場(chǎng)景 適用于機(jī)器人研發(fā)、調(diào)試和教育 適用于機(jī)器人生產(chǎn)、調(diào)試、維修和管理 界面 簡(jiǎn)潔,側(cè)重于機(jī)器人仿真和編程操作 更為全面,包含機(jī)器人狀態(tài)

    2024年04月27日
    瀏覽(61)
  • ROS學(xué)習(xí)筆記16:機(jī)器人系統(tǒng)建模與仿真

    ROS學(xué)習(xí)筆記16:機(jī)器人系統(tǒng)建模與仿真

    一、概述: 1.機(jī)器人系統(tǒng)仿真: ??????? 是通過計(jì)算機(jī)對(duì)實(shí)體機(jī)器人系統(tǒng)進(jìn)行模擬的技術(shù),在 ROS 中,仿真實(shí)現(xiàn)涉及的內(nèi)容主要有三:對(duì)機(jī)器人建模(URDF)、創(chuàng)建仿真環(huán)境(Gazebo)以及感知環(huán)境(Rviz)等系統(tǒng)性實(shí)現(xiàn)。 (1)仿真優(yōu)勢(shì):低成本、高效、高安全性。 (2)仿真缺陷:仿

    2024年02月09日
    瀏覽(43)
  • (無人機(jī)方向)ros學(xué)習(xí)之路ROS 機(jī)器人系統(tǒng)仿真_導(dǎo)航仿真概述

    (無人機(jī)方向)ros學(xué)習(xí)之路ROS 機(jī)器人系統(tǒng)仿真_導(dǎo)航仿真概述

    一:導(dǎo)航仿真概述 導(dǎo)航是機(jī)器人系統(tǒng)中最重要的模塊之一,比如現(xiàn)在較為流行的服務(wù)型室內(nèi)機(jī)器人,就是依賴于機(jī)器人導(dǎo)航來實(shí)現(xiàn)室內(nèi)自主移動(dòng)的,本章主要就是介紹仿真環(huán)境下的導(dǎo)航實(shí)現(xiàn),主要內(nèi)容有: 導(dǎo)航相關(guān)概念 導(dǎo)航實(shí)現(xiàn):機(jī)器人建圖(SLAM)、地圖服務(wù)、定位、路徑規(guī)劃…

    2024年02月02日
    瀏覽(19)
  • 干貨 | 淺談機(jī)器人強(qiáng)化學(xué)習(xí)--從仿真到真機(jī)遷移

    干貨 | 淺談機(jī)器人強(qiáng)化學(xué)習(xí)--從仿真到真機(jī)遷移

    “ 對(duì)于機(jī)器人的運(yùn)動(dòng)控制,強(qiáng)化學(xué)習(xí)是廣受關(guān)注的方法。本期技術(shù)干貨,我們邀請(qǐng)到了小米工程師——?jiǎng)⑻炝郑瑸榇蠹医榻B機(jī)器人(以足式機(jī)器人為主)強(qiáng)化學(xué)習(xí)中的sim-to-real問題及一些主流方法。 ” 一、前言 設(shè)計(jì)并制造可以靈活運(yùn)動(dòng)的足式機(jī)器人,一直是工程師追逐的夢(mèng)

    2024年02月05日
    瀏覽(71)
  • 機(jī)器人仿真-gazebo學(xué)習(xí)筆記(4)xacro和傳感器添加

    機(jī)器人仿真-gazebo學(xué)習(xí)筆記(4)xacro和傳感器添加

    URDF文件不具備代碼復(fù)用的特性(在上一篇文章也能發(fā)現(xiàn),其實(shí)左右輪是極其相似的但還是要單獨(dú)描述),一個(gè)復(fù)雜的機(jī)器人模型會(huì)擁有大量了的傳感器和關(guān)節(jié)組件,這時(shí)候使用URDF文件就太難閱讀了。精簡(jiǎn)化、可復(fù)用、模塊化的xacro文件來了。 1.優(yōu)勢(shì): ·精簡(jiǎn)模型代碼: xacro是一

    2024年02月06日
    瀏覽(101)
  • 大象機(jī)器人人工智能套裝2023版深度學(xué)習(xí)協(xié)作機(jī)器人、先進(jìn)機(jī)器視覺與應(yīng)用場(chǎng)景

    大象機(jī)器人人工智能套裝2023版深度學(xué)習(xí)協(xié)作機(jī)器人、先進(jìn)機(jī)器視覺與應(yīng)用場(chǎng)景

    介紹當(dāng)前的版本 今天我們要介紹的是aikit2023,aikit2023是aikit的全新升級(jí)版。 AIkit 2023 是一套集視覺,定位抓取、自動(dòng)分揀模塊為一體的入門級(jí)人工智能套裝。 該套裝基于python平臺(tái),可通過開發(fā)軟件實(shí)現(xiàn)機(jī)械臂的控制,簡(jiǎn)單易學(xué),能夠快速入門學(xué)習(xí)人工智能基礎(chǔ)知識(shí),啟發(fā)創(chuàng)新

    2024年02月13日
    瀏覽(34)
  • 競(jìng)賽項(xiàng)目 深度學(xué)習(xí)的智能中文對(duì)話問答機(jī)器人

    競(jìng)賽項(xiàng)目 深度學(xué)習(xí)的智能中文對(duì)話問答機(jī)器人

    ?? 優(yōu)質(zhì)競(jìng)賽項(xiàng)目系列,今天要分享的是 基于深度學(xué)習(xí)的中文對(duì)話問答機(jī)器人 該項(xiàng)目較為新穎,適合作為競(jìng)賽課題方向,學(xué)長非常推薦! ?? 更多資料, 項(xiàng)目分享: https://gitee.com/dancheng-senior/postgraduate 整個(gè)項(xiàng)目分為 數(shù)據(jù)清洗 和 建立模型兩個(gè)部分。 (1)主要定義了seq2seq這樣

    2024年02月13日
    瀏覽(21)
  • 【深度學(xué)習(xí)】大模型卷到機(jī)器人上了

    【深度學(xué)習(xí)】大模型卷到機(jī)器人上了

    當(dāng)一項(xiàng)變革性技術(shù)出現(xiàn)后,以此為基礎(chǔ)的技術(shù)就會(huì)像雨后春筍般蔓延。 就像Transformer出現(xiàn)后,以此為基礎(chǔ)的大語言模型ChatGPT,視覺基礎(chǔ)模型Segment Anything相繼橫空出世,并展現(xiàn)出強(qiáng)大的涌現(xiàn)能力。生成式AI可謂百花齊鳴,爭(zhēng)相綻放。 繼純語言,純視覺大模型后,多模態(tài)大模型

    2024年02月07日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包