We started using MDEK1001 for our research a couple of months ago and now are able to run custom multilateration algorithms on PANS. We wanted to further evaluate some algorithms utilizing CIR but found out that CIR information is not accessible while using PANS and we should build our own firmware to use DW1000 API. Would it be feasible building a new firmware to evaluate localization performance (not just ranging) ? How many man-hours would it approximately take to build a firmware that will support minimum number of anchors for localization ? I would really appreciate if anyone who has managed to do this shares their experience.
I have an answer to this but it depends on the quality level you need for that firmware.
If you’re only interested in a research, academic or DIY project, then you might be interested by the initiative I started to develop an open source positioning and diagnosis framework with RF REST, Python layer with unlimited responders. It targets UWB ranging but also diagnosis by retrieving the diagnostic info and even the CIR data and plot it. The idea is to provide a single node that can depending on the query adapt to play the role of initiator or responder with a dynamically created TDMA pattern.
My next goal is to develop a positioning algorithm that in case of limited ranges available, falls back on resolving the under defined space by using signal power info. e.g. Range from one anchor combined with power signal from two more anchors. I started this for the simple reason that when PANS does not work, you have no clue why, so I would envision a positioning frameworks that shows the status in case something is wrong that allows use cases where Anchors are not necessarily placed by specialists and in some home environment people could want to save costs on deploying less anchors in large spaces.
Now the catches.
I’m using a custom RF framework as backend, which is not mature enough, custom is need for guaranteed scheduling, and it is not yet expanded to mesh concept.
This would not work in case you need this for a commercial application or to sell, because of the complexity of verifying that all possible generated TDMA combinations might even be issued from Python and from the user, so no fixed TDMA pattern.
Last point about effort, if you need it to be certified, then we don’t talk man-hours but man-years, if no quality restrictions then you can survey existing code in about a day or two then you could estimate the effort better yourself. Note I have an uwb software survey
And last but not least, just yesterday, I connected the Python framework to a Graph display engine that has an MQTT interface to be updated in real time, can show either positions with edges info or a logical graph with multi edges info