資料介紹
描述
我們做了一個 ESP32 UWB 室內(nèi)定位測試,使用 2 個 UWB 錨點(diǎn)和 1 個 UWB 標(biāo)簽,當(dāng)標(biāo)簽移動時,UWB 標(biāo)簽的實(shí)時位置可以圖形顯示在 PC 上。
補(bǔ)給品
● ESP32 超寬帶 *3
● 移動電源
● 5v電源*2
第 1 步:概述
1.1 介紹
DW1000 是世界上第一款基于超寬帶技術(shù)的單芯片無線收發(fā)器。它為實(shí)時定位和室內(nèi)定位系統(tǒng)、基于位置的服務(wù)、無線傳感器網(wǎng)絡(luò)提供了一種新方法。它能夠開發(fā)具有成本效益的 RTLS 解決方案,其室內(nèi)和室外定位精確到 10 厘米以內(nèi)。
Makerfabs ESP32 UWB基于 ESP32 和 DW1000 解決方案,它就像一個連續(xù)掃描雷達(dá),精確鎖定另一個設(shè)備并與之通信,從而計(jì)算自己的位置,配合 ESP32 WiFi/藍(lán)牙,它可能是無線解決方案室內(nèi)定位。
1.2 關(guān)于超寬帶
超寬帶是一種在寬帶寬(>500 MHz)上傳輸信息的技術(shù)。這允許傳輸大量的信號能量,而不會干擾相同頻帶中的傳統(tǒng)窄帶和載波傳輸。許多國家/地區(qū)的監(jiān)管限制允許有效使用無線電帶寬,并實(shí)現(xiàn)高數(shù)據(jù)速率個人區(qū)域網(wǎng)絡(luò) (PAN) 無線連接、遠(yuǎn)程低數(shù)據(jù)速率應(yīng)用以及雷達(dá)和成像系統(tǒng),與現(xiàn)有的透明共存通訊系統(tǒng)。

傳統(tǒng)無線電傳輸和 UWB 之間的顯著區(qū)別在于,傳統(tǒng)系統(tǒng)通過改變正弦波的功率水平、頻率和/或相位來傳輸信息。UWB 傳輸通過在特定時間間隔產(chǎn)生無線電能量并占用大帶寬來傳輸信息,從而實(shí)現(xiàn)脈沖位置或時間調(diào)制。通過編碼脈沖的極性、其幅度和/或通過使用正交脈沖,也可以在 UWB 信號(脈沖)上調(diào)制信息。UWB 脈沖可以以相對較低的脈沖速率偶爾發(fā)送以支持時間或位置調(diào)制,但也可以以高達(dá) UWB 脈沖帶寬的倒數(shù)的速率發(fā)送。Pulse-UWB 系統(tǒng)已在超過 1 的通道脈沖速率下得到證明。
1.3 超寬帶測距
UWB 無線電系統(tǒng)可用于確定各種頻率下傳輸?shù)摹帮w行時間”。當(dāng)然,“飛行”的速度與光速一樣,所以核心問題是如何查看“飛行”的時間,從而計(jì)算出距離。
距離 = 光速 * Tprot
對于最基本的系統(tǒng),至少有2項(xiàng):Device_A(稱為A)和Device_B(稱為B), ?主要有2種測量方式:
- 單面雙向測距
- 雙面雙向測距
1.3.1 單面雙向測距
這是最基本的測量方法:

?

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

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

也就是說,誤差與 Treply 是線性的。所以這種方式并不普及,只適用于很短距離的測量。
1.3.2 雙面雙向測距
“單面雙向測距”后,如果 A 再次反饋給 B,則為:

這種測量我們稱為?3 消息模式。
在“單邊雙向測距”之后,如果 B 再次發(fā)起另一條消息和 A 反饋,則為:

這種測量我們稱為?4 消息模式。
在 3 條消息模式或 4 條消息模式下,飛行時間計(jì)算如下:

?

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

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

兩個點(diǎn)“AB”分別是兩個錨點(diǎn),“C”是標(biāo)簽點(diǎn)。“c”是兩個anchor的距離,UWB會得到兩個長度“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”的余弦:

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

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 庫)
請注意根據(jù) Github 修改 DW1000 庫,否則無法編譯為 ESP32。ESP32 UWB GitHub 上的指南?
***此應(yīng)用程序的完整代碼位于:? Makerfabs GitHub ***
3.2 Device_Anchor
由于系統(tǒng)中有 2 個錨點(diǎn),我們需要為這兩個錨點(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è)置為使用我們設(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)簽需要讀取兩個錨點(diǎn)之間的距離,通過UDP協(xié)議發(fā)送給PC。
首先,設(shè)置 WiFi 和目標(biāo) IP 地址(PC)。

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

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

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

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

標(biāo)簽代碼位于:? https ://github.com/Makerfabs/Makerfabs-ESP32-UWB/tree/main/example/IndoorPositioning/udp_uwb_tag
3.4 Python代碼
一個簡單的演示,用于計(jì)算標(biāo)簽的位置并以圖形方式顯示它。使用海龜繪制。
一開始想用Matplotlib,但是有點(diǎn)復(fù)雜。Turtle 很簡單,但提供的功能很簡陋。我自己添加了一些繪圖功能來快速繪制線條、圓形、矩形等。

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

其實(shí)一開始我是用海倫公式計(jì)算坐標(biāo)的,但是分不清三角形是銳角還是鈍角。
demo的功能是接收通過UDP協(xié)議傳輸?shù)臉?biāo)簽的數(shù)據(jù),計(jì)算出標(biāo)簽的位置并繪制在屏幕上。
第四步:室內(nèi)定位測試
在所有 UWB 錨點(diǎn)和標(biāo)簽都編程 OK 后,首先我將兩個 UWB 錨點(diǎn)放在桌子的兩側(cè)。

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

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

?

?
- ESP32開源項(xiàng)目
- 基于ESP32的開源項(xiàng)目
- ESP32開源項(xiàng)目分享
- ESP32低成本板開源項(xiàng)目
- ESP32/STM32電源系統(tǒng)開源項(xiàng)目
- ESP32物聯(lián)網(wǎng)小工具開源項(xiàng)目
- MINI型 UWB 室內(nèi)定位開發(fā)模塊電路圖及PCB和源碼開源
- 基于UWB、里程計(jì)和RGB-D融合的室內(nèi)定位方法 14次下載
- UWB與藍(lán)牙及RFID和WIFI的室內(nèi)定位技術(shù)詳細(xì)比較 40次下載
- 室內(nèi)定位技術(shù)的應(yīng)用領(lǐng)域詳解 30次下載
- UWB超寬帶室內(nèi)定位系統(tǒng)的介紹和應(yīng)用框圖的詳細(xì)資料概述 42次下載
- UWB超寬帶室內(nèi)定位和藍(lán)牙室內(nèi)定位介紹pdf資料下載 52次下載
- 室內(nèi)定位方案哪家強(qiáng)?藍(lán)牙網(wǎng)關(guān)顯神通 1次下載
- 基于STM32的室內(nèi)定位系統(tǒng)設(shè)計(jì) 37次下載
- CC2431的室內(nèi)定位系統(tǒng)設(shè)計(jì)
- 一文介紹:UWB定位基站種類及選擇 904次閱讀
- 目前的室內(nèi)定位算法有什么優(yōu)勢 751次閱讀
- 九種室內(nèi)定位技術(shù)概覽 室內(nèi)定位技術(shù)的原理和應(yīng)用場景 1.9w次閱讀
- UWB室內(nèi)定位系統(tǒng)的優(yōu)勢與好處 2183次閱讀
- 對于UWB技術(shù)基礎(chǔ)詳解 8.7w次閱讀
- 藍(lán)牙室內(nèi)定位技術(shù)的特點(diǎn)優(yōu)勢及工作原理 1.3w次閱讀
- WiFi、藍(lán)牙、UWB常見的三種室內(nèi)定位技術(shù)探討 3881次閱讀
- 藍(lán)牙網(wǎng)關(guān)在室內(nèi)定位是如何運(yùn)用的 2580次閱讀
- 探究基于RFID技術(shù)的室內(nèi)定位方法 8345次閱讀
- UWB定位技術(shù)與其他定位技術(shù)比較 6411次閱讀
- 六種室內(nèi)定位技術(shù)的優(yōu)劣勢分析 2.7w次閱讀
- 室內(nèi)定位技術(shù)有哪些_七大室內(nèi)定位技術(shù)詳解 5.2w次閱讀
- 室內(nèi)定位解決方案廠商有哪些_十大室內(nèi)定位解決方案廠商匯總 2w次閱讀
- 深度解析室內(nèi)定位和室外定位技術(shù) 6.1w次閱讀
- 介紹UWB技術(shù)的由來、優(yōu)點(diǎn)、應(yīng)用場景以及應(yīng)用價值、發(fā)展中的問題 1.6w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評論