Very new to all of this and just want some basic advice to help focus my learning.
I’d like to build a system that can monitor the location of 40-50 dancers performing a choreography on a ~6mx12m platform. The system would be used to drive a number of effects, some of which would be wearable on the dancer. I’ve outlined a few questions below. I have browsed the documentation and FAQs but don’t feel like I’m able to get a high level perspective yet:
Update interval - The choreography is very dynamic with dancers at times running at full clip. If location is feeding effects, we would probably need a minimum of 4Hz update interval per dancer/tag. With up to 50 dancers on the stage at one time, it seems a single TWR system would struggle to keep up. True? Could i split it across two systems (maybe on different channels/frequencies) to improve that?
Tag awareness of location - I would like to inform a wearable microcontroller the location of the dancer. I would prefer to interrogate the tag for this information rather than send it out of band, but am not sure if all of the location strategies TWR/TDoA/PDoA in the Decawave products support this. Any suggestions there?
Application data - Does the DWM have any facility for passing application data to the tags (~512 byte updates) or would i have to do that out of band (presumably via wifi)?
Proximity - This is a concern at two levels. Will these systems operate reasonably well within such a small area (6mx12m)? Also, are there any likely issues with so many tags operating in that area (particularly when they are attached to RF-absorbing bags of meat)
Portability - This is a travelling show and there will be set up/tear down. Ideally we’d operate with zero cables and everything running on battery (happy to build that myself). The stage will give us a fairly rigid reference point for locating anchors if we can run the system with the potential for tags to run right next to an anchor our outside the ‘box’ they create. If we run the anchors off stage, we’re not going to have a stable reference and they will potentially have to change locations. We could figure out a way to re-calibrate but i’m not sure how well the software would adjust the ‘grid’ to suit. (Maybe we have tags at fixed locations on the stage for calibration, dunno) Again any suggestions here are welcome.
I think that’s it. Thanks in advance for any advice you may have!
Update interval: 50 dancer @4Hz is doable with DW1000 chip. Either TDoA or TWR can reach this capacity. However, the existing product MDEK1001 only support up to 50@3Hz. This is because MDEK1001 reserved ~1/3 time slots for backhaul function. If you are trying to design your own system, you can make full use of all the time slots. And yes, if you design a new system, you can make use of different channels to improve the capacity of the system.
Tag awareness of location: in a TWR/PDoA based system, such as MDEK1001, the tag (wearable) can easily get the location of itself. In a TDoA system, this navigation functionality can be achieved by extra data downlink through either UWB message or other radio.
Application data: specifically for DWM1001, the current release doesn’t support any data downlink from the central device to the Tags. In the upcoming release, the data between the central device and the Tags is possible, but limited to ~30 bytes per packet. Generally in an IOT system, data transmitted in the air is kept as short as possible for time/power saving purpose.
Proximity: 6m x 12m wouldn’t be too small. But 50 people will certainly bring a lot of blocking/attenuation in signal receiving and will create a lot of NLOS cases. In a TDoA system, this can be solved by adding more anchors into the system. In TWR systems, this may need optimized algorithm in Anchor selection. Unfortunately we haven’t done any experiment in such specific use case so I cannot give you any statistical suggestions.
Portability: I don’t think this is an issue. Every time when you setup a new system (or setup the ‘old’ system in a new place/stage), you’ll need to measure precisely the position of the Anchors so the positioning system can work properly. Battery should be OK because the time requirement in your use case is (normally) less than 4 hours.
In conclusion, if you are looking to design a new system, most of your questions/concerns can be solved. If you are looking to use DWM1001 as the solution, the compromise comes from the update rate and the downlink data to the Tag.
Do you really need the location of all the dancers?
Or do you just need to know when two dancers are next to each other or when one is standing in a certain location?
If you just need is within a certain distance of a certain point or person then rather than location all you will need is a TWR between two devices. That makes things a lot easier.
If you need location then you need location but don’t make life harder if you don’t need to,.
Do you really need the location of all the dancers?
That’s my starting goal, but to your point, the idea with approaching the forum for advice is I don’t know what kind of hill I’ve given myself to climb. This year’s season just started competition so I’ve got ~9 months to hatch something. If this idea starts to look rough by summer I’ll pivot to something more attainable. If history is any guide, regardless of what end up the director will still turn it into something pretty amazing.
@Weibo_Pan, thanks for all of the info, it’s super helpful! Based on what you’ve described I think I would start with MDEK1001 just to get a feel for the system and start tinkering with the wearable mcu integration. As mentioned above I only have about 9 months to get something production-ready so I want to keep it relatively straightforward. If I can get a basic capability up in the next 2-3 months I can test for RF dropouts and other NLOS issues with the current troop.
Overall i’m very excited about the prospects of this product and really appreciate the opportunity that the MDEK kit provides to dip into it as a hobbyist. Even if this doesn’t work out i’ve got some drone swarm ideas that I could reuse it for.
I’m working on a similar project and would like to clarify the capabilities of the DWM1001-Dev. Is it possible to have a wired connection between the Dev board and a local, separate microprocessor, an ESP32 for example, to have a tag tell the microprocessor its current location?