該項(xiàng)目旨在讓機(jī)器人在預(yù)先定義的路徑上精確移動(dòng),無(wú)需使用GPS或WiFi或藍(lán)牙進(jìn)行定位,甚至無(wú)需地圖或建筑布局規(guī)劃。并實(shí)時(shí)繪制其實(shí)際路徑(按比例)。藍(lán)牙可以代替有線,用于傳輸實(shí)時(shí)位置信息。
背景
我們一直在為基于Arduino的機(jī)器人的室內(nèi)導(dǎo)航尋找強(qiáng)大的解決方案。在為此應(yīng)用選擇正確的運(yùn)動(dòng)傳感解決方案時(shí),我們考慮了Oblu(一種開源IMU)。它的低成本和開源性質(zhì)使其成為可能的候選者。這里棘手的部分是oblu的開源程序適用于腳踏式室內(nèi)行人航位推算(PDR)或行人導(dǎo)航,簡(jiǎn)而言之。Oblu作為一款腳裝式IMU在室內(nèi)的PDR性能令人印象深刻。一個(gè)很大的優(yōu)點(diǎn)是免費(fèi)的Android應(yīng)用程序(Xblu)的實(shí)時(shí)位置跟蹤。但是,我們不確定如何利用其現(xiàn)有的基于人類步行模型的行人導(dǎo)航算法。
Oblu的內(nèi)部計(jì)算基于人類行走。Oblu給出兩個(gè)連續(xù)步驟之間的位移和航向變化。當(dāng)腳與地面接觸時(shí),鞋底的速度為零,即鞋底處于靜止?fàn)顟B(tài)。這樣,Oblu可以檢測(cè)“步驟”并糾正一些內(nèi)部錯(cuò)誤。這種頻繁的錯(cuò)誤糾正會(huì)帶來(lái)出色的跟蹤性能。所以我們的機(jī)器人也以同樣的方式行走——移動(dòng)、停止、移動(dòng)、停止。
我們選擇了Oblu,很快我們就可以組裝我們的機(jī)器人和跟蹤系統(tǒng)。
它是如何工作的:
機(jī)器人以預(yù)先編程的路徑移動(dòng),并將其實(shí)際移動(dòng)信息(通過(guò)藍(lán)牙)傳輸?shù)?a target="_blank">手機(jī)以進(jìn)行實(shí)時(shí)跟蹤。
Arduino預(yù)編程了路徑,oblu用于感知機(jī)器人的運(yùn)動(dòng)。oblu定期向Arduino傳輸運(yùn)動(dòng)信息。在此基礎(chǔ)上,Arduino控制輪子的運(yùn)動(dòng),讓機(jī)器人遵循預(yù)定義的路徑。
機(jī)器人的路徑被編程為一組直線段。每個(gè)線段由其長(zhǎng)度和相對(duì)于前一個(gè)線段的方向定義。機(jī)器人的運(yùn)動(dòng)保持謹(jǐn)慎,即它以直線運(yùn)動(dòng),但在較小的部分(為簡(jiǎn)單起見,我們稱之為“步幅”)。在每一步結(jié)束時(shí),oblu將步長(zhǎng)和偏離程度(方向變化)從直線傳輸?shù)紸rduino。如果Arduino發(fā)現(xiàn)與預(yù)定義的直線有偏差,則Arduino在收到此類信息的每一步都會(huì)糾正機(jī)器人的對(duì)齊方式。
根據(jù)程序,機(jī)器人總是應(yīng)該直線移動(dòng)。但是,由于表面不平整、機(jī)器人裝配質(zhì)量不平衡、直流電機(jī)的結(jié)構(gòu)或電氣不平衡或前自由運(yùn)轉(zhuǎn)輪的隨機(jī)方向等非理想情況,它可能會(huì)偏離直線,并可能以一定的角度或傾斜的路徑行走。
邁出一步→糾正你的前進(jìn)方向→前進(jìn)
如果機(jī)器人的行程超過(guò)該特定線段的編程長(zhǎng)度,它也會(huì)向后移動(dòng)。
下一個(gè)步長(zhǎng)取決于該特定直線段要覆蓋的剩余距離。當(dāng)要行進(jìn)的距離較大時(shí),機(jī)器人會(huì)大步走,而在接近目的地(即每個(gè)直線段的末端)時(shí),機(jī)器人會(huì)小步走。
IMUOblu同時(shí)將數(shù)據(jù)傳輸?shù)紸rduino和手機(jī)(通過(guò)藍(lán)牙)。Xblu(Android應(yīng)用程序)根據(jù)從機(jī)器人接收到的運(yùn)動(dòng)信息執(zhí)行一些簡(jiǎn)單的計(jì)算來(lái)構(gòu)建路徑,用于在手機(jī)上進(jìn)行實(shí)時(shí)跟蹤。使用Xblu構(gòu)建路徑如下所示:
總而言之,Obl可以感知運(yùn)動(dòng)并定期將運(yùn)動(dòng)信息傳達(dá)給Arduino和手機(jī)。根據(jù)編程路徑和運(yùn)動(dòng)信息(由oblu發(fā)送),Arduino控制車輪的運(yùn)動(dòng)。除啟動(dòng)/停止命令外,機(jī)器人的運(yùn)動(dòng)不受遠(yuǎn)程控制。
路徑建模:
如果機(jī)器人只在直線段上行走,它可能會(huì)最容易控制。因此,必須首先將路徑建模為一組直線段。下面的圖片包含幾個(gè)示例路徑及其在位移和方向方面的表示。這就是在Arduino中對(duì)路徑進(jìn)行編程的方式。
同樣,任何作為一組直線段的路徑都可以在Arduino中定義和編程。
通訊協(xié)議:
第1步:Xoblu向oblu發(fā)送START命令
第2步:oblu通過(guò)向Xblu發(fā)送適當(dāng)?shù)?a target="_blank">ACK來(lái)確認(rèn)接收命令
第3步:oblu在每一步向Xoblu發(fā)送包含每個(gè)步幅的位移和方向信息的DATA包。(步驟=每當(dāng)檢測(cè)到零運(yùn)動(dòng)或檢測(cè)到靜止時(shí))。
第4步:Xblu通過(guò)向oblu發(fā)送適當(dāng)?shù)腁CK來(lái)確認(rèn)接收到最后一個(gè)DATA數(shù)據(jù)包。(重復(fù)第3步和第4步的循環(huán),直到Xblu發(fā)送STOP。收到STOP命令后,oblu執(zhí)行第5步)
第5步:停止-(i)在oblu中停止處理(ii)在oblu中停止所有輸出
連接示意圖:
-
機(jī)器人
+關(guān)注
關(guān)注
211文章
28711瀏覽量
208711 -
Arduino
+關(guān)注
關(guān)注
188文章
6477瀏覽量
187978
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
伺服電動(dòng)缸在人形機(jī)器人中的應(yīng)用
【「具身智能機(jī)器人系統(tǒng)」閱讀體驗(yàn)】2.具身智能機(jī)器人的基礎(chǔ)模塊
開源項(xiàng)目!能夠精確地行走、跳舞和執(zhí)行復(fù)雜動(dòng)作的機(jī)器人—Tillu
移動(dòng)機(jī)器人核心科技解碼:導(dǎo)航、感知與掌控力的深度剖析
【「具身智能機(jī)器人系統(tǒng)」閱讀體驗(yàn)】2.具身智能機(jī)器人大模型
從市場(chǎng)角度對(duì)機(jī)器人的基本解讀
![從市場(chǎng)角度對(duì)<b class='flag-5'>機(jī)器人</b>的基本解讀](https://file.elecfans.com/web2/M00/30/4C/poYBAGIJsSmACi3tAAFuCnhoP8I446.png)
復(fù)合機(jī)器人在3c電子行業(yè)的應(yīng)用
![復(fù)合<b class='flag-5'>機(jī)器人在</b>3c電子行業(yè)的應(yīng)用](https://file1.elecfans.com/web3/M00/01/62/wKgZO2dSzaWAS_p-AAoKuDtAdwQ984.png)
焊接機(jī)器人在航天領(lǐng)域的應(yīng)用
焊接機(jī)器人編程技巧與注意事項(xiàng)
構(gòu)建語(yǔ)音控制機(jī)器人 - 線性模型和機(jī)器學(xué)習(xí)
![構(gòu)建語(yǔ)音控制<b class='flag-5'>機(jī)器人</b> - 線性模型和<b class='flag-5'>機(jī)器</b>學(xué)習(xí)](https://file1.elecfans.com/web2/M00/04/DA/wKgZombUJe-AGQFLAAAcFz0Pgic973.jpg)
工業(yè)機(jī)器人控制器的主要功能有哪些
自動(dòng)停車機(jī)器人,如何快速構(gòu)建?
![自動(dòng)停車<b class='flag-5'>機(jī)器人</b>,如何快速構(gòu)建?](https://file1.elecfans.com/web2/M00/B3/A7/wKgZomVn9PyAP1icAD2samlrtws709.png)
機(jī)器人在空間中運(yùn)動(dòng)指令主要有哪些
海康機(jī)器人第100000臺(tái)移動(dòng)機(jī)器人下線
協(xié)作機(jī)器人在食品和飲料中的的應(yīng)用
![協(xié)作<b class='flag-5'>機(jī)器人在</b>食品和飲料中的的應(yīng)用](https://file1.elecfans.com/web2/M00/E6/DC/wKgaomZFqYWAOAB4AAqnxZe7tiA744.png)
評(píng)論