Hi friends How are you?
I come to tell you and discuss a problem that you may have in the future.
First of all I am going to tell you a little, I am working on a project to calculate the position of soccer players in real time. I am using 3 anchors and a tag for a 92x70 meter field.
For the calculation of trilateralization I am using a program that develops in visual basic. Sending the data over WiFi over UDP. My basic configuration is DWM1000 —> ESP8266 —> WiFi (UDP).
I use the arduino library:
The problem I am having is the following. When testing with a player the system responds OK. But at the time of an 11vs11 match, the other players’ bodies cover the anchors, thus breaking the communication between the tag and the anchor.
So far I did not find any information about this problem, so it was interesting to comment and discuss it in this forum. I hope your answers, Thank you very much!
Welcome to the Decawave forum.
Your use-case is pretty interesting, but indeed human bodies can mess up the line of sight and thus UWB ranging since they are mostly composed of water, and water blocks most radio waves.
Note that the radio performance will be heavily impacted by the antenna, PCB design and firmware. Since you seem to be using your own design, we don’t know what could be impacting you the most.
At the risk of sounding like a sales person: I suggest having a look at our MDEK1001 Development Kit. This kit comes complete with multiple nodes and the PANS 2 software stack, providing an advanced RTLS solution based on TWR. The PANS system allows to send tag positions over UWB, so WiFi would not be needed and battery life can be improved. The tag locations can be retrieved using a “bridge” based on a Raspberry Pi and can be sent to your own system over e.g MQTT.
Some other remarks that might help:
- You might just be seeing interference. Having multiple tags ranging at the same time won’t work, this is why we implemented a TDMA system in PANS. I don’t know how you solved this problem, but having multiple UWB radios operating at the same time on the same channel won’t work.
- Try to add more anchors. I believe we recommend an anchor every ~35m but I ca’t seem to find where this is mentioned.
- Place the anchors above the head of the players and place the UWB antennas as high as possible on the players
- Note that the driver you mentioned is not officially supported by Decawave (and seems to be even not actively maintained by the creator). The performance of this driver and the TWR implemetation might be worse
- You can have a look at TN006, Effects of Reflections from Distant Objects and APS006 Part 2 NLOS Operation and Optimizations and Part 3 DW1000 Diagnostics for NLOS Channels for more information on interference and NLOS (Non-Line Of Sight). For a full list of application notes see the application notes overview page, there might be more relevant info.
I had considered the modules MDEK1001 but due to the high import costs in Argentina it is impossible for me to buy them at this time. I can provide you with information about the design of my board if you want.
Regarding the points you have highlighted:
At the moment I am only testing the system with a single tag, that is, a single monitored player.
I will buy some anchors for next year. But in the tests I had the problem was always adding more unmonitored players. What I was thinking about is raising the anchor.
The system works perfectly until there is some human obstruction between the anchor and the tag. So I don’t think it’s the hardware configuration.
I will read the documents you mention carefully to see what I can get out of there.
I will share all the tests you do in this medium to see if we can get something useful to contribute to the group.
@tinchox3524 thanks for the clarification. I assumed by “adding more players” you meant adding more tracked players, not just extra bodies blocking the radio :). In this case I think it would definitely help to raise the anchor antennas above the heads of the players and mount the antenna of the tag as high as possible.
I don’t know if there is a lot of interference with 2.4GHz WiFi, but this might also be something that is contributing to the issue you are experiencing if the WiFi and UWB antennas are close together. It might be interesting to send the data over UWB instead of WiFi or to have a coexistence interface to prevent interference.
Assuming you want to track multiple players looking into the DWM1001 modules running the PANS stack or a different of-the-shelf solutions might be interesting, unless you want to develop your own RTLS system.
As others have said, the simple option would be to raise the antennas around the edge of the pitch to minimize the blockage. It wouldn’t help when players are grouped close together but would help a lot when they are spread out more.
A second option would be to increase the number of anchors. You need 3 range measurements to calculate a location. Try to measure to 5 or 6 different anchors, that way if half of them are blocked you still get enough data to calculate a position. This adds some complexity on the PC side to work out which measurements to use but complexity on the PC is better than complexity on the arduino.
As a future improvement if you get to the point where you are tracking all the players you could work out which anchors will be blocked and instruct the tag to not use those.
Very interested in your project, can you tell us how it’s going?