精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
創作
電子發燒友網>電子資料下載>電子資料>ESP32 UWB室內定位測試開源項目

ESP32 UWB室內定位測試開源項目

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

資料介紹

描述

我們做了一個 ESP32 UWB 室內定位測試,使用 2 個 UWB 錨點和 1 個 UWB 標簽,當標簽移動時,UWB 標簽的實時位置可以圖形顯示在 PC 上。

補給品

● ESP32 超寬帶 *3

● 移動電源

● 5v電源*2

第 1 步:概述

1.1 介紹

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

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

1.2 關于超寬帶

超寬帶是一種在寬帶寬(>500 MHz)上傳輸信息的技術。這允許傳輸大量的信號能量,而不會干擾相同頻帶中的傳統窄帶和載波傳輸。許多國家/地區的監管限制允許有效使用無線電帶寬,并實現高數據速率個人區域網絡 (PAN) 無線連接、遠程低數據速率應用以及雷達和成像系統,與現有的透明共存通訊系統。

pYYBAGNY3xuAe2FTAAA7iLkfxxc431.jpg
?

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

1.3 超寬帶測距

UWB 無線電系統可用于確定各種頻率下傳輸的“飛行時間”。當然,“飛行”的速度與光速一樣,所以核心問題是如何查看“飛行”的時間,從而計算出距離。

距離 = 光速 * Tprot

對于最基本的系統,至少有2項:Device_A(稱為A)和Device_B(稱為B), ?主要有2種測量方式:

  • 單面雙向測距
  • 雙面雙向測距

1.3.1 單面雙向測距

這是最基本的測量方法:

poYBAGNY3x2AIdjlAAAr4RIGGNA695.png
?

?

?
pYYBAGNY3yKAesUwAAAAbBl6Af8147.png
?

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

然后是飛行時間:

pYYBAGNY3ySAE8MYAAAKFJJ7FtA774.png
?

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

pYYBAGNY3yaABPWFAAAOjha3lgw043.png
?

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

1.3.2 雙面雙向測距

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

pYYBAGNY3yiAINcJAABQceLkOyQ488.png
?

這種測量我們稱為?3 消息模式

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

pYYBAGNY3yuAb7M4AABgDEsoWrk151.png
?

這種測量我們稱為?4 消息模式

在 3 條消息模式或 4 條消息模式下,飛行時間計算如下:

pYYBAGNY3y-AOhSgAAAaZOgkZ-w602.png
?

?

pYYBAGNY3zKAXh2mAAAhOoe-oog688.png
?

第 2 步:使用 ESP32 UWB 進行室內定位

2.1 查看

在這個應用中,我們使用了 3 個 Makerfabs ESP32 UWB 模塊,2 個模塊作為 UWB 錨點,1 個作為 UWB 標簽,在房間內移動。當標簽獲得其位置時,它會將其位置傳輸到設備(PC 瀏覽器、手機應用程序),以顯示實時位置。

pYYBAGNY3zSALSbtAABSrP8sKio860.jpg
?

2.2 平面定向算法

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

pYYBAGNY3zeAaRq1AAAYQn4eLxg681.png
?

兩個點“AB”分別是兩個錨點,“C”是標簽點。“c”是兩個anchor的距離,UWB會得到兩個長度“a”和“b”。標簽是“b”遠離點“A”和“a”遠離點“B”。

現在我們知道了三角形三邊之間的距離,我們可以計算點“C”的坐標。

我使用余弦定律計算角度“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)

如果我們將點“A”設置為坐標系的原點 (0, 0),那么我們得到點 C (bcosα, bsinα)。

第 3 步:代碼解釋

3.1 圖書館

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

請注意根據 Github 修改 DW1000 庫,否則無法編譯為 ESP32。ESP32 UWB GitHub 上的指南?

***此應用程序的完整代碼位于:? Makerfabs GitHub ***

3.2 Device_Anchor

由于系統中有 2 個錨點,我們需要為這兩個錨點設置不同的錨點地址。

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

該庫默認使用隨機短地址,我們需要將其設置為使用我們設置的靜態地址。所以我們需要將UWB模塊設置為Anchor模式,LONGDATA_RANGE_LOWPOWER模式,并關閉隨機短地址,通過以下代碼:

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

標簽需要讀取兩個錨點之間的距離,通過UDP協議發送給PC。

首先,設置 WiFi 和目標 IP 地址(PC)。

pYYBAGNY3z-AYRXzAAAex7iXnpA456.png
?

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

pYYBAGNY30GAN9vsAADEq9YJi_8000.png
?

并設置UWB工作在標簽模式。

poYBAGNY30SAAe92AAAn9gKDmbw973.png
?

我使用了一個鏈表來存儲檢測到的錨點,它非常適合 UWB 的工作方式。鏈表的內容被轉換成 JSON 格式。

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

pYYBAGNY30aAPAfpAAAXfcmJYBU980.png
?

最后通過UDP協議每秒向PC發送一次數據。

poYBAGNY30iABD4QAAAwWMpazf0895.png
?

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

3.4 Python代碼

一個簡單的演示,用于計算標簽的位置并以圖形方式顯示它。使用海龜繪制。

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

pYYBAGNY302AXpvrAABuOVSm-gI285.png
?

這是我的位置計算功能。

pYYBAGNY30-AE8vMAABEAd_5Jzw850.png
?

其實一開始我是用海倫公式計算坐標的,但是分不清三角形是銳角還是鈍角。

demo的功能是接收通過UDP協議傳輸的標簽的數據,計算出標簽的位置并繪制在屏幕上。

第四步:室內定位測試

在所有 UWB 錨點和標簽都編程 OK 后,首先我將兩個 UWB 錨點放在桌子的兩側。

poYBAGNY31GAFaFPAAGYu0BcKsw423.png
?

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

pYYBAGNY31SAXlJ0AACW6uWP044187.png
?

移動UWB標簽,在PC端可以實時監控標簽位置:

pYYBAGNY31qAVBlfAABwYi3GMiE713.jpg
?

?

pYYBAGNY31yAaAsTAABqLOMztns887.jpg
?

?


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

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費