伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

電子發(fā)燒友App

硬聲App

掃碼添加小助手

加入工程師交流群

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>ESP32 UWB室內(nèi)定位測(cè)試開源項(xiàng)目

ESP32 UWB室內(nèi)定位測(cè)試開源項(xiàng)目

2023-06-14 | zip | 0.00 MB | 次下載 | 2積分

資料介紹

描述

我們做了一個(gè) ESP32 UWB 室內(nèi)定位測(cè)試,使用 2 個(gè) UWB 錨點(diǎn)和 1 個(gè) UWB 標(biāo)簽,當(dāng)標(biāo)簽移動(dòng)時(shí),UWB 標(biāo)簽的實(shí)時(shí)位置可以圖形顯示在 PC 上。

補(bǔ)給品

● ESP32 超寬帶 *3

● 移動(dòng)電源

● 5v電源*2

第 1 步:概述

1.1 介紹

DW1000 是世界上第一款基于超寬帶技術(shù)的單芯片無線收發(fā)器。它為實(shí)時(shí)定位和室內(nèi)定位系統(tǒng)、基于位置的服務(wù)、無線傳感器網(wǎng)絡(luò)提供了一種新方法。它能夠開發(fā)具有成本效益的 RTLS 解決方案,其室內(nèi)和室外定位精確到 10 厘米以內(nèi)。

Makerfabs ESP32 UWB基于 ESP32 和 DW1000 解決方案,它就像一個(gè)連續(xù)掃描雷達(dá),精確鎖定另一個(gè)設(shè)備并與之通信,從而計(jì)算自己的位置,配合 ESP32 WiFi/藍(lán)牙,它可能是無線解決方案室內(nèi)定位。

1.2 關(guān)于超寬帶

超寬帶是一種在寬帶寬(>500 MHz)上傳輸信息的技術(shù)。這允許傳輸大量的信號(hào)能量,而不會(huì)干擾相同頻帶中的傳統(tǒng)窄帶和載波傳輸。許多國家/地區(qū)的監(jiān)管限制允許有效使用無線電帶寬,并實(shí)現(xiàn)高數(shù)據(jù)速率個(gè)人區(qū)域網(wǎng)絡(luò) (PAN) 無線連接、遠(yuǎn)程低數(shù)據(jù)速率應(yīng)用以及雷達(dá)和成像系統(tǒng),與現(xiàn)有的透明共存通訊系統(tǒng)。

pYYBAGNY3xuAe2FTAAA7iLkfxxc431.jpg
?

傳統(tǒng)無線電傳輸和 UWB 之間的顯著區(qū)別在于,傳統(tǒng)系統(tǒng)通過改變正弦波的功率水平、頻率和/或相位來傳輸信息。UWB 傳輸通過在特定時(shí)間間隔產(chǎn)生無線電能量并占用大帶寬來傳輸信息,從而實(shí)現(xiàn)脈沖位置或時(shí)間調(diào)制。通過編碼脈沖的極性、其幅度和/或通過使用正交脈沖,也可以在 UWB 信號(hào)(脈沖)上調(diào)制信息。UWB 脈沖可以以相對(duì)較低的脈沖速率偶爾發(fā)送以支持時(shí)間或位置調(diào)制,但也可以以高達(dá) UWB 脈沖帶寬的倒數(shù)的速率發(fā)送。Pulse-UWB 系統(tǒng)已在超過 1 的通道脈沖速率下得到證明。

1.3 超寬帶測(cè)距

UWB 無線電系統(tǒng)可用于確定各種頻率下傳輸?shù)摹帮w行時(shí)間”。當(dāng)然,“飛行”的速度與光速一樣,所以核心問題是如何查看“飛行”的時(shí)間,從而計(jì)算出距離。

距離 = 光速 * Tprot

對(duì)于最基本的系統(tǒng),至少有2項(xiàng):Device_A(稱為A)和Device_B(稱為B), ?主要有2種測(cè)量方式:

  • 單面雙向測(cè)距
  • 雙面雙向測(cè)距

1.3.1 單面雙向測(cè)距

這是最基本的測(cè)量方法:

poYBAGNY3x2AIdjlAAAr4RIGGNA695.png
?

?

?
pYYBAGNY3yKAesUwAAAAbBl6Af8147.png
?

首先A發(fā)送消息(TX)并記錄時(shí)間標(biāo)記,B收到消息,記錄時(shí)間標(biāo)記,延遲(Treplay)后,B發(fā)送消息(TX)并記錄時(shí)間標(biāo)記時(shí)間標(biāo)記,最后A收到消息,并有時(shí)間標(biāo)記的記錄。

然后是飛行時(shí)間:

pYYBAGNY3ySAE8MYAAAKFJJ7FtA774.png
?

由于 Tround 和 Treply 存儲(chǔ)在同一個(gè)設(shè)備上,所以時(shí)間誤差偏移;當(dāng)然,A(eA) 和 B(eB) 之間存在誤差,誤差是:

pYYBAGNY3yaABPWFAAAOjha3lgw043.png
?

也就是說,誤差與 Treply 是線性的。所以這種方式并不普及,只適用于很短距離的測(cè)量。

1.3.2 雙面雙向測(cè)距

“單面雙向測(cè)距”后,如果 A 再次反饋給 B,則為:

pYYBAGNY3yiAINcJAABQceLkOyQ488.png
?

這種測(cè)量我們稱為?3 消息模式

在“單邊雙向測(cè)距”之后,如果 B 再次發(fā)起另一條消息和 A 反饋,則為:

pYYBAGNY3yuAb7M4AABgDEsoWrk151.png
?

這種測(cè)量我們稱為?4 消息模式

在 3 條消息模式或 4 條消息模式下,飛行時(shí)間計(jì)算如下:

pYYBAGNY3y-AOhSgAAAaZOgkZ-w602.png
?

?

pYYBAGNY3zKAXh2mAAAhOoe-oog688.png
?

第 2 步:使用 ESP32 UWB 進(jìn)行室內(nèi)定位

2.1 查看

在這個(gè)應(yīng)用中,我們使用了 3 個(gè) Makerfabs ESP32 UWB 模塊,2 個(gè)模塊作為 UWB 錨點(diǎn),1 個(gè)作為 UWB 標(biāo)簽,在房間內(nèi)移動(dòng)。當(dāng)標(biāo)簽獲得其位置時(shí),它會(huì)將其位置傳輸?shù)皆O(shè)備(PC 瀏覽器、手機(jī)應(yīng)用程序),以顯示實(shí)時(shí)位置。

pYYBAGNY3zSALSbtAABSrP8sKio860.jpg
?

2.2 平面定向算法

假設(shè)所有三個(gè) UWB 模塊都處于相同的水平高度。UWB可以得到Tag和兩個(gè)anchor的距離,再加上預(yù)先設(shè)置的兩個(gè)anchor的距離,就可以得到一個(gè)三角形三邊的長度。

pYYBAGNY3zeAaRq1AAAYQn4eLxg681.png
?

兩個(gè)點(diǎn)“AB”分別是兩個(gè)錨點(diǎn),“C”是標(biāo)簽點(diǎn)。“c”是兩個(gè)anchor的距離,UWB會(huì)得到兩個(gè)長度“a”和“b”。標(biāo)簽是“b”遠(yuǎn)離點(diǎn)“A”和“a”遠(yuǎn)離點(diǎn)“B”。

現(xiàn)在我們知道了三角形三邊之間的距離,我們可以計(jì)算點(diǎn)“C”的坐標(biāo)。

我使用余弦定律計(jì)算角度“A”的余弦:

pYYBAGNY3zmAJyo9AAAHnIkoZ0Y504.jpg
?

我有勾股定理,它給了我角度“A”的正弦:

pYYBAGNY3zuAboSGAAAHZfJyw3A193.png
?

cos_a = (b * b + c * c - a * a) / (2 * b * c) sin_a = sqrt(1 - cos_a * cos_a)

如果我們將點(diǎn)“A”設(shè)置為坐標(biāo)系的原點(diǎn) (0, 0),那么我們得到點(diǎn) C (bcosα, bsinα)。

第 3 步:代碼解釋

3.1 圖書館

我們使用?arduino-dw1000庫。提供基本功能的庫,可將 Decawave 的 DW1000 芯片/模塊與 Arduino 一起使用(arduino-dw1000 庫)

請(qǐng)注意根據(jù) Github 修改 DW1000 庫,否則無法編譯為 ESP32。ESP32 UWB GitHub 上的指南?

***此應(yīng)用程序的完整代碼位于:? Makerfabs GitHub ***

3.2 Device_Anchor

由于系統(tǒng)中有 2 個(gè)錨點(diǎn),我們需要為這兩個(gè)錨點(diǎn)設(shè)置不同的錨點(diǎn)地址。

#define ANCHOR_ADD "83:17:5B:D5:A9:9A:E2:9C"// modify the address when multiple anchors, such as 83/82.

該庫默認(rèn)使用隨機(jī)短地址,我們需要將其設(shè)置為使用我們?cè)O(shè)置的靜態(tài)地址。所以我們需要將UWB模塊設(shè)置為Anchor模式,LONGDATA_RANGE_LOWPOWER模式,并關(guān)閉隨機(jī)短地址,通過以下代碼:

DW1000Ranging.startAsAnchor(ANCHOR_ADD,
DW1000.MODE_LONGDATA_RANGE_LOWPOWER, false);

Anchor 代碼位于:? https ://github.com/Makerfabs/Makerfabs-ESP32-UWB/tree/main/example/anchor

3.3 Device_Tag

標(biāo)簽需要讀取兩個(gè)錨點(diǎn)之間的距離,通過UDP協(xié)議發(fā)送給PC。

首先,設(shè)置 WiFi 和目標(biāo) IP 地址(PC)。

pYYBAGNY3z-AYRXzAAAex7iXnpA456.png
?

在 Windows cmd 中,使用“ipconfig”檢查 PC 本地 IP。

pYYBAGNY30GAN9vsAADEq9YJi_8000.png
?

并設(shè)置UWB工作在標(biāo)簽?zāi)J健?/font>

poYBAGNY30SAAe92AAAn9gKDmbw973.png
?

我使用了一個(gè)鏈表來存儲(chǔ)檢測(cè)到的錨點(diǎn),它非常適合 UWB 的工作方式。鏈表的內(nèi)容被轉(zhuǎn)換成 JSON 格式。

得到的JSON字符串格式如下:

pYYBAGNY30aAPAfpAAAXfcmJYBU980.png
?

最后通過UDP協(xié)議每秒向PC發(fā)送一次數(shù)據(jù)。

poYBAGNY30iABD4QAAAwWMpazf0895.png
?

標(biāo)簽代碼位于:? https ://github.com/Makerfabs/Makerfabs-ESP32-UWB/tree/main/example/IndoorPositioning/udp_uwb_tag

3.4 Python代碼

一個(gè)簡單的演示,用于計(jì)算標(biāo)簽的位置并以圖形方式顯示它。使用海龜繪制。

一開始想用Matplotlib,但是有點(diǎn)復(fù)雜。Turtle 很簡單,但提供的功能很簡陋。我自己添加了一些繪圖功能來快速繪制線條、圓形、矩形等。

pYYBAGNY302AXpvrAABuOVSm-gI285.png
?

這是我的位置計(jì)算功能。

pYYBAGNY30-AE8vMAABEAd_5Jzw850.png
?

其實(shí)一開始我是用海倫公式計(jì)算坐標(biāo)的,但是分不清三角形是銳角還是鈍角。

demo的功能是接收通過UDP協(xié)議傳輸?shù)臉?biāo)簽的數(shù)據(jù),計(jì)算出標(biāo)簽的位置并繪制在屏幕上。

第四步:室內(nèi)定位測(cè)試

在所有 UWB 錨點(diǎn)和標(biāo)簽都編程 OK 后,首先我將兩個(gè) UWB 錨點(diǎn)放在桌子的兩側(cè)。

poYBAGNY31GAFaFPAAGYu0BcKsw423.png
?

并在PC端運(yùn)行Python程序。將 UWB 標(biāo)簽貼到移動(dòng)電源上,等待它連接到房間里的 WiFi。Tag連接PC后,彈出圖形界面。

pYYBAGNY31SAXlJ0AACW6uWP044187.png
?

移動(dòng)UWB標(biāo)簽,在PC端可以實(shí)時(shí)監(jiān)控標(biāo)簽位置:

pYYBAGNY31qAVBlfAABwYi3GMiE713.jpg
?

?

pYYBAGNY31yAaAsTAABqLOMztns887.jpg
?

?


UWB 室內(nèi)定位 ESP32
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1PD取電芯片 ECP5702規(guī)格書
  2. 0.88 MB   |  3次下載  |  免費(fèi)
  3. 2氮化鎵GaN FET/GaN HEMT 功率驅(qū)動(dòng)電路選型表
  4. 0.10 MB   |  2次下載  |  免費(fèi)
  5. 3EMC PCB設(shè)計(jì)總結(jié)
  6. 0.33 MB   |  2次下載  |  免費(fèi)
  7. 4PD取電芯片,可取5/9/12/15/20V電壓ECP5702數(shù)據(jù)手冊(cè)
  8. 0.88 MB   |  1次下載  |  免費(fèi)
  9. 5飛騰FT2000-4 COM Express核心板技術(shù)手冊(cè)0603
  10. 1.22 MB  |  1次下載  |  免費(fèi)
  11. 6飛騰S5000C-64雙路服務(wù)器系列應(yīng)用宣傳冊(cè)--一乘科技
  12. 945.81 KB  |  1次下載  |  免費(fèi)
  13. 7瑞薩系列-米爾RZ/T2H核心板開發(fā)板 高端MPU,驅(qū)控一體單芯片方案
  14. 3.07 MB  |  次下載  |  免費(fèi)
  15. 8在應(yīng)用中使用VEML6031X00芯片
  16. 0.84 MB   |  次下載  |  2 積分

本月

  1. 1美的電磁爐電路原理圖資料
  2. 4.39 MB   |  22次下載  |  10 積分
  3. 2反激式開關(guān)電源設(shè)計(jì)解析
  4. 0.89 MB   |  16次下載  |  5 積分
  5. 3耗盡型MOS FET產(chǎn)品目錄選型表
  6. 0.14 MB   |  3次下載  |  免費(fèi)
  7. 4PD取電芯片 ECP5702規(guī)格書
  8. 0.88 MB   |  3次下載  |  免費(fèi)
  9. 5氮化鎵GaN FET/GaN HEMT 功率驅(qū)動(dòng)電路選型表
  10. 0.10 MB   |  2次下載  |  免費(fèi)
  11. 6EMC PCB設(shè)計(jì)總結(jié)
  12. 0.33 MB   |  2次下載  |  免費(fèi)
  13. 7PC5200 700V_10A GaN HEMT驅(qū)動(dòng)器數(shù)據(jù)手冊(cè)
  14. 1.63 MB   |  1次下載  |  免費(fèi)
  15. 81節(jié)電池用電池保護(hù)IC S-8261D系列數(shù)據(jù)手冊(cè)
  16. 3.07 MB   |  1次下載  |  1 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935137次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233095次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費(fèi)下載
  8. 340992  |  191457次下載  |  10 積分
  9. 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  10. 158M  |  183360次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81605次下載  |  10 積分
  13. 7Keil工具M(jìn)DK-Arm免費(fèi)下載
  14. 0.02 MB  |  73831次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65991次下載  |  10 積分