ESP32 + UWB | Indoor Positioning + Unity Visualization

แชร์
ฝัง
  • เผยแพร่เมื่อ 12 มี.ค. 2022
  • The project to be shared this time is about Indoor Position with 3 UWB devices.
    The two UWB devices act as anchors and their positions are fixed.
    On the other hand, the tag device acquires the distance from these two anchors as it moves.
    Unity application uses the information obtained from the tag device, calculates the position on the x-z axis, and displays it in the virtual environment.
    [ESP32 + UWB | Warning sounds depending on the distance]
    • ESP32 + UWB + I2S "Voi...
    [ESP32 + UWB | How far can it go?]
    • ESP32 + UWB | How far ...
    [ESP32 + UWB | Not AirTag, But ESP32Tag]
    • ESP32 + UWB | Not AirT...
    [Makerfabs - ESP32 UWB Indoor Positioning Test]
    www.makerfabs.cc/article/esp3...
    [Project Github]
    github.com/0015/Unity_Project...
    #Visualization #Indoor #Position #UWB #ESP32 #ThatProject
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 108

  • @ThatProject
    @ThatProject  2 ปีที่แล้ว +1

    For more projects - th-cam.com/users/ThatProject
    That Project Github Repository - github.com/0015/ThatProject
    Join FB Group - facebook.com/groups/138965931539175

  • @advaitkulkarni8929
    @advaitkulkarni8929 2 ปีที่แล้ว

    Dudeeeee....🔥🔥🔥 Great one

  • @bisquestudio
    @bisquestudio 2 ปีที่แล้ว

    Amazing bro 💥🌟

  • @youliantroyanov2941
    @youliantroyanov2941 2 ปีที่แล้ว

    Too cool, u da man 👍

  • @bardenegri21
    @bardenegri21 2 ปีที่แล้ว

    Really cool.

  • @ientucamranh9270
    @ientucamranh9270 2 ปีที่แล้ว

    Thank you very much

  • @uview920
    @uview920 2 ปีที่แล้ว

    멋집니다! 혹시 관련 튜토리얼을 하실 생각은 없으신가요? 만들어보고싶네요!

  • @sjl4140
    @sjl4140 2 ปีที่แล้ว +1

    Awesome! How did you scale a signal strength to a meter? Is there any mathematical way to calculate it or just empirical?

    • @ThatProject
      @ThatProject  2 ปีที่แล้ว +1

      UWB uses the time of flight instead of signal strength for distance measurements. From this, you can figure out the distance between the Anchor device and the Tag device.

  • @yesiamadorito
    @yesiamadorito ปีที่แล้ว

    Hi, I have a project where I'm supposed to build an Indoor Positioning System for a small-scale production line (roughly about 30 workers in the whole production line). The room measures about 200m*200m. Is it possible to implement the UWB based technology to this? If so, what's the process like for adding more tags. If I were to create a web of beacons (> 2 anchors) in the manufacturing room (more than two to cover the entire room), how would that work? Thank you, your video's excellent!

    • @ThatProject
      @ThatProject  ปีที่แล้ว

      In order to do indoor tracking for a large number of people, is impossible with the library currently in use. Anchor devices can communicate with only one Tag device with this library. Without addressing this issue, a mass-tracking system cannot be implemented.

  • @mostafanfs
    @mostafanfs 2 ปีที่แล้ว

    Great work. Thanks. I just had one question. The UWB modules in both Anchor side and the tag are the same right? They just have different firmware inside, true?

    • @ThatProject
      @ThatProject  2 ปีที่แล้ว

      Yes, you're right.

    • @mostafanfs
      @mostafanfs 2 ปีที่แล้ว

      @@ThatProject sir any news of a better and or cheaper module? NXP has a chip but apparently there is no price. I wonder if BU01 has the original DW1000 chip or not

    • @ThatProject
      @ThatProject  2 ปีที่แล้ว

      @@mostafanfs I have no idea about NXP. And BU01 is a cloned version of DWM1000.

  • @speedgood1711
    @speedgood1711 8 หลายเดือนก่อน

    @ThatProject Thank you your excellent example. Are there any specific activate order suggestion? such as, start from two anchors, then start client, then start Unity in the end?
    And for two anchors' mac address BB:AA:5B:D5:A9:9A:E2:9C, should I have to change?

    • @ThatProject
      @ThatProject  8 หลายเดือนก่อน +1

      The MAC addresses of the two anchors must be different.
      BB:AA...
      DD:CC...

  • @smraro
    @smraro ปีที่แล้ว

    Amazing! Are the anchors aware of the positions of the tag too? Can the anchors be aware of an approximate location of the tag? What can I do si the anchors be aware of the tag location?

    • @ThatProject
      @ThatProject  ปีที่แล้ว

      You can also know the distance to the connected tag from the anchor. One thing is that you cannot connect multiple tag devices to one anchor with the library of the DWM1000 currently in use. Only one Tag can be connected at a time.

  • @user-sx3uh9fz5w
    @user-sx3uh9fz5w 7 หลายเดือนก่อน

    I would like to inquire about an issue where my tags do not move during Play mode.
    I have identified that this may be a problem with the Unity UDP server, as it doesn't seem to start properly or receive data.
    How can I resolve this issue?

    • @ThatProject
      @ThatProject  7 หลายเดือนก่อน

      Please check if the UDP port on your PC is being used by another process. If the port is already in use, please try using a different port.

  • @KengCat-kt6rt
    @KengCat-kt6rt 26 วันที่ผ่านมา

    hi, how hard would it be to add one more anchor and use mpu6050 to get orientation and rotate the tag based on that.. sorry if this is a dumb question.. i am new to unity

  • @hyemyoo8051
    @hyemyoo8051 9 หลายเดือนก่อน

    hello.
    I enjoyed the video.
    Is there any method you know that can make the reaction speed faster?
    I'm planning on using it as a game controller, so I need speed and accuracy.
    The accuracy seems to be okay, but the reaction speed seems slow.
    It doesn't matter if a person is holding something.
    thank you!

    • @ThatProject
      @ThatProject  9 หลายเดือนก่อน

      For faster speed, it seems that the speed of calculating the distance from UWB should be increased. But unfortunately, this requires modifying the UWB library, so there is nothing we can do without modifying it.

  • @jlcamry
    @jlcamry 2 ปีที่แล้ว +1

    well done!!
    impressed APP
    why your 3 lolin32 without battery connector??

    • @ThatProject
      @ThatProject  2 ปีที่แล้ว

      It was forcibly removed due to some past project.

    • @jlcamry
      @jlcamry 2 ปีที่แล้ว

      @@ThatProject i see
      i will give you 5 connectors

  • @megathilmi4074
    @megathilmi4074 ปีที่แล้ว

    hi, can I ask. after following your setup, why the tag in unity are not moving. seems like there is no error appear in my unity but still the tag are not moving after clicking play button? hope that you reply to this question. Thank you very much

    • @ThatProject
      @ThatProject  ปีที่แล้ว

      Make sure your ESP32 is not having problems sending data over UDP.

    • @megathilmi4074
      @megathilmi4074 ปีที่แล้ว

      @@ThatProject I already made a test using esp32 sending data over udp to my laptop using phyton and there is no problem with the hardware. May i know is there any extra settings for the unity that not shown in the video.

    • @ThatProject
      @ThatProject  ปีที่แล้ว

      @@megathilmi4074 You've tested it on a Python server, but haven't tested communicating with Unity UDP. Please check if the port is properly opened in Unity. I didn’t hide anything.

  • @siete8932
    @siete8932 11 หลายเดือนก่อน

    Hello thanks for this video. I would like to use this technology to track a robot mower on an 800m2 plot of land. Do the anchors have enough reach for an 800m2 plot?

    • @ThatProject
      @ThatProject  11 หลายเดือนก่อน

      Unless you force power up the UWB module, it seems difficult to cover all 800m2.

  • @erickfernandoortizmiranda8892
    @erickfernandoortizmiranda8892 6 หลายเดือนก่อน +1

    Would this work inside a house? Or would the walls not let it work?

    • @ThatProject
      @ThatProject  6 หลายเดือนก่อน

      It may vary depending on the environment. Therefore, environmental testing is absolutely necessary.

  • @yukizerotwo6815
    @yukizerotwo6815 2 ปีที่แล้ว

    Can I ask what framework did you use? Thank you

    • @ThatProject
      @ThatProject  2 ปีที่แล้ว

      The hardware used ESP32 and was implemented in the Arduino IDE framework. For visualization, I used the Unity Game Engine.

  • @LoneXRangerz
    @LoneXRangerz 2 ปีที่แล้ว

    Hello! I've recently started interfacing ESP32 UWB, any tips on how to interface multiple sensors with it? I'm also trying to do a similar project with Indoor positioning but with the tag having multiple sensors. (i.e., heart rate sensor, temp sensor...) The only problem is that I've only started interfacing with UWB. Kinda need some "professional" advice. Thanks!

    • @ThatProject
      @ThatProject  2 ปีที่แล้ว

      You can attach any sensor you need to the Tag device. The main problem is that the DW1000 library is out-of-date and not maintained, so you have to be very careful with your code. ISR conflicts can cause the system to malfunction.

    • @LoneXRangerz
      @LoneXRangerz 2 ปีที่แล้ว

      @@ThatProject Should we be careful with defining I/O pins? Recently, the output of the code similar to your project was not responding after I've added multiple sensor codes.

    • @ThatProject
      @ThatProject  2 ปีที่แล้ว

      @@LoneXRangerz I don't know how you added the sensor, but if data is fetched by interrupt, it may conflict with the UWB chip. Please find out about the ISR.

  • @jonathanr4242
    @jonathanr4242 2 ปีที่แล้ว

    Great project. What about lidar sensor in unity?

    • @ThatProject
      @ThatProject  2 ปีที่แล้ว +1

      I guess we can use Lidar Sensor with Arduino or ESP32 in Unity and the quality of the surface data obtained from it will be very good.

    • @jonathanr4242
      @jonathanr4242 2 ปีที่แล้ว

      @@ThatProject Yes. And you could use the unity models for collision and gravity etc...

  • @turinosastrawijaya3849
    @turinosastrawijaya3849 2 ปีที่แล้ว

    Very interesting experiment.
    In a 50 X 50 square meters room, how many anchors do we need and what is the maximum number of tags that are still allowed? thanks....

    • @ThatProject
      @ThatProject  2 ปีที่แล้ว

      A maximum of 16 anchors can exist in any one area… if you have > 16 and all of them are within range (i.e. if one anchor can hear the other 16, then you cannot add any more near that one anchor)
      In order to cover 50 meters x 50 meters, it must be delimited by a recognizable distance. For example, in my environment, it was possible to communicate with the Tag-Anchor at about 25 meters. In this case, it looks like I'll need an anchor every 25 meters.

  • @kodigudlasreenu8602
    @kodigudlasreenu8602 2 ปีที่แล้ว

    can we move the anchor position dynamically and still get the distance between anchor and tag

    • @ThatProject
      @ThatProject  2 ปีที่แล้ว

      Didn't you get my reply? Anyway, here you are again. Even if the anchor and tag move dynamically, the distance between the two devices can be measured continuously because they measure relative. (UWB uses the time of flight instead of signal strength for distance measurements.)

  • @meinsda5983
    @meinsda5983 2 ปีที่แล้ว

    Nice Project! I also searching für this chip? I found a DMW1000 and a BU01 board. Which one should i choose? Where can i find the esp32 Adapter?

    • @ThatProject
      @ThatProject  2 ปีที่แล้ว

      Well As I mentioned in the video BU01 is the clone version of DWM1000. DWM1000 has a way better antenna.

    • @meinsda5983
      @meinsda5983 2 ปีที่แล้ว

      @@ThatProject is the DWM1000 with the square antenna and a little bit longer?

    • @ThatProject
      @ThatProject  2 ปีที่แล้ว

      @@meinsda5983 Both DWM1000 and BU01 are the same size.

  • @shunds637
    @shunds637 2 ปีที่แล้ว

    Can multiple positioning base stations be added?

    • @ThatProject
      @ThatProject  2 ปีที่แล้ว

      As far as I know, you can install a lot of Anchors. However, it is questionable whether the DW1000 library currently in use can handle this.

  • @nolansamrajgodwin3710
    @nolansamrajgodwin3710 ปีที่แล้ว

    Hi, My Tag code is not connecting with the wifi. can you help in this?

    • @ThatProject
      @ThatProject  ปีที่แล้ว

      UWB and WIFI modules have nothing to do with each other. Please check your WIFI credentials.

  • @r.h.d9933
    @r.h.d9933 ปีที่แล้ว

    What are the codes you used in C#?

    • @ThatProject
      @ThatProject  ปีที่แล้ว

      You can find it in the video description.

    • @r.h.d9933
      @r.h.d9933 ปีที่แล้ว

      @@ThatProject is there guides on how to use unity? sorry I've done the project before but only using python and now I want to try using unity for my visualization

    • @ThatProject
      @ThatProject  ปีที่แล้ว

      @@r.h.d9933 Unfortunately, I stopped currently offering tutorials for Unity. Please googling or find a tutorial video that is best for you on TH-cam.

  • @kunalzshah
    @kunalzshah ปีที่แล้ว

    Can the system simultaneously track say 40 tags?

    • @ThatProject
      @ThatProject  ปีที่แล้ว +1

      No. This is not possible with currently published libraries.

    • @kunalzshah
      @kunalzshah ปีที่แล้ว

      @@ThatProject oh :(….. shame

  • @temmiethy166
    @temmiethy166 ปีที่แล้ว

    Hello, I am new to Unity and wanted to ask how do you create your UDP server in Unity? Thanks

    • @ThatProject
      @ThatProject  ปีที่แล้ว

      Everything for network communication is already included in Unity in the .Net Framework. Use this to build your own server. github.com/manlaig/basic_multiplayer_unity
      I used this UDP server. It's simple but works great on a local network.

    • @temmiethy166
      @temmiethy166 ปีที่แล้ว

      @@ThatProject Hi Eric, thanks for the information. I'll definitely check this out. When trying to connect my tag to the Unity Program, I'm faced with two errors.
      Before I press "play", a yellow error appears at the bottom of my Unity saying "Assets\Scripts\DataHandler.cs(23,29): warning CS0414: The field 'DataHandler.rightAnchorShortName' is assigned but its value is never used".
      Is this an issue?
      And when I press "play", a red error appears saying "SocketException: Only one usage of ach socket address(protocol/network address/port) is normally permitted."
      Have you faced these issues before? Thanks very much

    • @ThatProject
      @ThatProject  ปีที่แล้ว

      @@temmiethy166 You can ignore the first warning. It's just a warning about unused variables.
      Seems like the port in your program is already in use in another program, you should use another port or kill the active process to make the port free.
      I use port number 8080 in this project. Please try again after setting a port number other than this port number for Unity and your hardware respectively.

    • @temmiethy166
      @temmiethy166 ปีที่แล้ว

      @@ThatProject Hi, how do you check that the ESP32 is connected to the UDP port in Unity? I've seen that there are tests like HTTP GET and POST but I think those are for TCP right? Even after changing my port number on the tag and in the Unity editor, the "play" window just displays the server IP address and the port number and the tag cannot move. Thanks

    • @ThatProject
      @ThatProject  ปีที่แล้ว

      @@temmiethy166 If you look at my ESP32 code, you can see that I use #include . Please check my source code again.

  • @neilangelobellen7635
    @neilangelobellen7635 ปีที่แล้ว

    Hi! Is it possible to send the location via SMS messaging?

    • @ThatProject
      @ThatProject  ปีที่แล้ว +1

      You can send SMS using GSM module. If Wifi is available, you can send SMS via paid API. th-cam.com/video/SP4pvYCQAfc/w-d-xo.html

  • @user-xc6ph6dq8i
    @user-xc6ph6dq8i 5 หลายเดือนก่อน

    is there any unity project/code for "ESP32 DW3000"

    • @ThatProject
      @ThatProject  5 หลายเดือนก่อน

      I don't have a real project with DW3000 yet.

  • @deepthadinesh8096
    @deepthadinesh8096 ปีที่แล้ว

    can esp32 wrooms support this project

    • @ThatProject
      @ThatProject  ปีที่แล้ว

      It's not matter. All you need to run this project is to use a UWB chip (DWM1000).

  • @m4gg197
    @m4gg197 2 ปีที่แล้ว

    sir can you put 3 anchors for a 3rd dimension (altitude) there?

    • @ThatProject
      @ThatProject  2 ปีที่แล้ว

      It's still being prepared for testing. I need more BU01.

    • @SuperJoelgeorge
      @SuperJoelgeorge 8 หลายเดือนก่อน

      @@ThatProject even 2d requires 3 anchors, without 3 anchors how did you even triangulate your 2D position in this video. It should be on either side of the circle

    • @ThatProject
      @ThatProject  8 หลายเดือนก่อน

      @@SuperJoelgeorge You're talking about 3 devices for 2D position measurement, right? Here, two Anchor and one Tag devices were used.

    • @SuperJoelgeorge
      @SuperJoelgeorge 8 หลายเดือนก่อน

      @@ThatProject yes what I'm telling is, for triangulation itself 3 anchors will be required in a 2D space

    • @ThatProject
      @ThatProject  8 หลายเดือนก่อน

      @@SuperJoelgeorge Now I got it. Yes, we need 3 anchors for triangulation. So you will try it sooner or later?

  • @ientucamranh9270
    @ientucamranh9270 2 ปีที่แล้ว +2

    Please.3 axis dwm1000

    • @ThatProject
      @ThatProject  2 ปีที่แล้ว +1

      I'd like to try that too.

  • @KengCat-kt6rt
    @KengCat-kt6rt 4 หลายเดือนก่อน

    Hi, is there any readme files about how to run the unity file .

    • @ThatProject
      @ThatProject  4 หลายเดือนก่อน

      It doesn't have the specific readme file for that. Any issues while running the Unity project?

    • @KengCat-kt6rt
      @KengCat-kt6rt 4 หลายเดือนก่อน

      ​@@ThatProject yes. while running the unity project it wasnt receiving any data. udp.Available was always 0. i checked receiving the data in the same ip and port using a python file and it was successful but the unity file isnt receiving the data

    • @ThatProject
      @ThatProject  4 หลายเดือนก่อน

      @@KengCat-kt6rt Perhaps you need to open a specific port in the firewall of the system you are using. Do you use Windows?

    • @KengCat-kt6rt
      @KengCat-kt6rt 4 หลายเดือนก่อน

      @@ThatProject yes i use windows. I was able to get the data by receiving it via a python file and sending it again to the unity via localhost but communication between uwb and unity is blocked

    • @ThatProject
      @ThatProject  3 หลายเดือนก่อน

      @@KengCat-kt6rt Not sure this is for your case but check it out. forum.unity.com/threads/starting-host-server-shows-port-is-closed.1470026/

  • @user-so4ce5hr4w
    @user-so4ce5hr4w 9 หลายเดือนก่อน

    i had follow the video and i tried with esp32+BU01
    i got a msg was
    DW1000 initialized ...
    Committed configuration ...
    Device ID: FFFF - model: 0, version: 0, revision: 0
    Unique ID: FF:FF:FF:FF:FF:FF:FF:FF
    Network ID & Device Address: PAN: 0A, Short Address: 01
    Device mode: Data rate: 110 kb/s, PRF: 16 MHz, Preamble: 2048 symbols (code #4), Channel: #5
    can u give me more instructions about that !

    • @ThatProject
      @ThatProject  9 หลายเดือนก่อน

      That's the information about your DW1000 chip and settings. Also, you can change the Preamble length and Frequency for your environment.

    • @user-so4ce5hr4w
      @user-so4ce5hr4w 9 หลายเดือนก่อน

      @@ThatProject
      well . u mean that it is common to send this message and everything is in order. However, in this particular case, since I am using Unity, I'm not receiving any immediate response.
      I am interested to know if it would be possible for us to connect directly.

    • @ThatProject
      @ThatProject  9 หลายเดือนก่อน

      @@user-so4ce5hr4w That's weird. It's because UDP connection, you can get the packet as soon as the other one is sent in Unity. I think you need to check both of sender and receiver to address this issue and Your WiFi router too.

    • @user-so4ce5hr4w
      @user-so4ce5hr4w 8 หลายเดือนก่อน

      @@ThatProject
      Im using a grean board similar to the red one you had used it .
      It seems the i got same results when i connect the board without the Chip (bu01)
      So how can i make sure its working ?

    • @ThatProject
      @ThatProject  8 หลายเดือนก่อน

      @@user-so4ce5hr4w I'm not sure if you would have gotten the same results without Bu01.