0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何才能讓機(jī)器人在預(yù)先定義的路徑上精確移動(dòng)

科技觀察員 ? 來(lái)源:hackster.io ? 作者:hackster.io ? 2022-06-07 11:24 ? 次閱讀

該項(xiàng)目旨在讓機(jī)器人在預(yù)先定義的路徑上精確移動(dòng),無(wú)需使用GPS或WiFi或藍(lán)牙進(jìn)行定位,甚至無(wú)需地圖或建筑布局規(guī)劃。并實(shí)時(shí)繪制其實(shí)際路徑(按比例)。藍(lán)牙可以代替有線,用于傳輸實(shí)時(shí)位置信息。

poYBAGKexECAQkEsAAXk1Nr4yXA055.png

背景

我們一直在為基于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ù)定義的路徑。

poYBAGKexDuASJyDAAJpqB8UR64588.png

機(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)建路徑如下所示:

pYYBAGKexDeAHOhuAAHx8ZAHyO4347.png

總而言之,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)行編程的方式。

pYYBAGKexDKAbP5lAAEH5tQ_73E653.png

同樣,任何作為一組直線段的路徑都可以在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中停止所有輸出

連接示意圖:

pYYBAGKexC6AclfeAAHaWZh_CmY969.png

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 機(jī)器人
    +關(guān)注

    關(guān)注

    210

    文章

    28011

    瀏覽量

    205605
  • Arduino
    +關(guān)注

    關(guān)注

    187

    文章

    6455

    瀏覽量

    186372
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    構(gòu)建語(yǔ)音控制機(jī)器人 - 線性模型和機(jī)器學(xué)習(xí)

    2024-07-31 |Annabel Ng 在該項(xiàng)目的[一篇博客文章]中,我介紹了運(yùn)行機(jī)器人電機(jī)、處理音頻信號(hào)和調(diào)節(jié)電壓所需的電路的基礎(chǔ)知識(shí)。然而,機(jī)器人還沒有完全完成!盡管機(jī)器人
    的頭像 發(fā)表于 10-02 16:31 ?128次閱讀
    構(gòu)建語(yǔ)音控制<b class='flag-5'>機(jī)器人</b> - 線性模型和<b class='flag-5'>機(jī)器</b>學(xué)習(xí)

    工業(yè)機(jī)器人控制器的主要功能有哪些

    的介紹: 運(yùn)動(dòng)控制 : 軌跡規(guī)劃 :控制器需要根據(jù)任務(wù)要求,規(guī)劃出機(jī)器人的運(yùn)動(dòng)軌跡,確保機(jī)器人能夠按照預(yù)定路徑移動(dòng)。 速度控制 :控制器要能夠精確
    的頭像 發(fā)表于 09-04 09:18 ?324次閱讀

    碼垛機(jī)器人在江西建材廠的應(yīng)用

    碼垛機(jī)器人在江西建材廠的應(yīng)用效果顯著。通過(guò)引進(jìn)立柱機(jī)器人進(jìn)行碼垛作業(yè),建材廠的碼垛效率得到了大幅提升,生產(chǎn)周期明顯縮短,整體生產(chǎn)效率顯著提高。機(jī)器人的高精度抓取和定位避免了碼垛過(guò)程中的錯(cuò)位和散落現(xiàn)象
    的頭像 發(fā)表于 07-26 16:22 ?234次閱讀

    自動(dòng)停車機(jī)器人,如何快速構(gòu)建?

    停車機(jī)器人是用于在停車場(chǎng)或車庫(kù)等場(chǎng)所中進(jìn)行車輛的自動(dòng)停放和取車操作。隨著智能交通和智能城市的發(fā)展,停車機(jī)器人在解決停車難、提高停車效率和減少停車空間浪費(fèi)等方面具有廣闊的應(yīng)用前景。 ▲停車移動(dòng)機(jī)器人
    的頭像 發(fā)表于 06-20 11:25 ?178次閱讀
    自動(dòng)停車<b class='flag-5'>機(jī)器人</b>,如何快速構(gòu)建?

    ABB工業(yè)機(jī)器人運(yùn)動(dòng)指令有哪幾個(gè)

    用于控制機(jī)器人的運(yùn)動(dòng)軌跡、速度和加速度等參數(shù),以實(shí)現(xiàn)精確的定位和操作。運(yùn)動(dòng)指令的種類繁多,可以根據(jù)不同的應(yīng)用場(chǎng)景和需求進(jìn)行選擇。 基本運(yùn)動(dòng)指令 2.1 直線運(yùn)動(dòng)(Lin) 直線運(yùn)動(dòng)指令用于控制機(jī)器人沿直線
    的頭像 發(fā)表于 06-16 16:15 ?1900次閱讀

    機(jī)器人在空間中運(yùn)動(dòng)指令主要有哪些

    在這篇文章中,我們將詳細(xì)探討機(jī)器人在空間中運(yùn)動(dòng)指令的各個(gè)方面。我們將從機(jī)器人運(yùn)動(dòng)的基本概念開始, 一、機(jī)器人運(yùn)動(dòng)的基本概念 機(jī)器人定義
    的頭像 發(fā)表于 06-16 15:39 ?792次閱讀

    海康機(jī)器人第100000臺(tái)移動(dòng)機(jī)器人下線

    ???b class='flag-5'>機(jī)器人第100000臺(tái)移動(dòng)機(jī)器人已經(jīng)成功下線 。這是一個(gè)重要的里程碑,標(biāo)志著海康機(jī)器人在全品類移動(dòng)機(jī)器人(AMR)領(lǐng)域取得了顯著的進(jìn)展。
    的頭像 發(fā)表于 05-24 14:43 ?952次閱讀

    協(xié)作機(jī)器人在食品和飲料中的的應(yīng)用

    富唯智能協(xié)作機(jī)器人在食品和飲料供應(yīng)鏈中廣泛應(yīng)用于包裝和機(jī)床管理等次級(jí)流程。協(xié)作機(jī)器人可以在潮濕的溫室、冷藏室、加熱爐等環(huán)境中工作,將員工從重復(fù)性工作中解放出來(lái),以免不利環(huán)境對(duì)人員造成傷害。
    的頭像 發(fā)表于 05-16 14:39 ?303次閱讀
    協(xié)作<b class='flag-5'>機(jī)器人在</b>食品和飲料中的的應(yīng)用

    【TE Perspective】協(xié)作機(jī)器人在工廠自動(dòng)化中日益增長(zhǎng)的作用

    機(jī)器人在工業(yè)領(lǐng)域已經(jīng)存在了幾十年的時(shí)間,但技術(shù)創(chuàng)新正在推動(dòng)全新一輪的工廠自動(dòng)化趨勢(shì)。對(duì)于那些曾經(jīng)負(fù)擔(dān)不起(或者不需要)工業(yè)機(jī)器人的小型企業(yè)而言,協(xié)作機(jī)器人和類似協(xié)作機(jī)器人大小的小型
    發(fā)表于 01-24 17:08 ?209次閱讀
    【TE Perspective】協(xié)作<b class='flag-5'>機(jī)器人在</b>工廠自動(dòng)化中日益增長(zhǎng)的作用

    科聰移動(dòng)機(jī)器人在線設(shè)計(jì)平臺(tái)Beta1.1正式上線!

    產(chǎn)品資料太難找了?產(chǎn)品選型拿捏不定怎么辦?不同系列產(chǎn)品的差異點(diǎn)是什么?……科聰移動(dòng)機(jī)器人設(shè)計(jì)平臺(tái)一站為您搞定搜型號(hào)、找資料、做方案查價(jià)格、下訂單……推薦設(shè)計(jì)庫(kù)推薦設(shè)計(jì)庫(kù)可以基于客戶對(duì)移動(dòng)機(jī)器人的整體
    的頭像 發(fā)表于 12-27 09:17 ?445次閱讀
    科聰<b class='flag-5'>移動(dòng)機(jī)器人在</b>線設(shè)計(jì)平臺(tái)Beta1.1正式上線!

    基于視覺的自主導(dǎo)航移動(dòng)抓取機(jī)器人搭建方案

    經(jīng)過(guò)以上對(duì)移動(dòng)抓取機(jī)器人系統(tǒng)詳細(xì)的剖析,我們可以知道移動(dòng)抓取機(jī)器人系統(tǒng)并不是簡(jiǎn)單的“堆料”,而是以移動(dòng)底盤的智能
    發(fā)表于 12-19 15:09 ?620次閱讀
    基于視覺的自主導(dǎo)航<b class='flag-5'>移動(dòng)</b>抓取<b class='flag-5'>機(jī)器人</b>搭建方案

    機(jī)器人實(shí)現(xiàn)開發(fā)自由,探索精密工藝的機(jī)器人關(guān)節(jié)模組

    機(jī)器人關(guān)節(jié)是作為機(jī)器人各個(gè)部件之間相互連接的節(jié)點(diǎn),提供了必要的運(yùn)動(dòng)自由度。關(guān)節(jié)模組用其精確度和可靠性,確保了機(jī)器人在各個(gè)領(lǐng)域的高效率和高質(zhì)量表現(xiàn)。一體化關(guān)節(jié)使得
    的頭像 發(fā)表于 12-08 15:35 ?434次閱讀

    科聰停車移動(dòng)機(jī)器人整體解決方案!

    解決方案:本方案中核心部分采用的是科聰通用移動(dòng)機(jī)器人控制器,導(dǎo)航方式一般選擇激光導(dǎo)航,用以實(shí)現(xiàn)行駛路徑可靈活多變和高精度導(dǎo)航的需求。以通用移動(dòng)機(jī)器人控制器為核心的整體解
    的頭像 發(fā)表于 11-30 10:45 ?605次閱讀
    科聰停車<b class='flag-5'>移動(dòng)機(jī)器人</b>整體解決方案!

    工業(yè)機(jī)器人在機(jī)械加工方面的應(yīng)用

    電子發(fā)燒友網(wǎng)站提供《工業(yè)機(jī)器人在機(jī)械加工方面的應(yīng)用.pdf》資料免費(fèi)下載
    發(fā)表于 11-03 10:39 ?0次下載
    工業(yè)<b class='flag-5'>機(jī)器人在</b>機(jī)械加工方面的應(yīng)用

    工業(yè)機(jī)器人在汽車焊接中的應(yīng)用

    電子發(fā)燒友網(wǎng)站提供《工業(yè)機(jī)器人在汽車焊接中的應(yīng)用.pdf》資料免費(fèi)下載
    發(fā)表于 11-01 09:55 ?0次下載
    工業(yè)<b class='flag-5'>機(jī)器人在</b>汽車焊接中的應(yīng)用