System Architecture

I’m looking at designing a system with a large mobile robot and many cargo pods. I’d like to put four anchors on the robot (it’s large enough to have a good baseline for them) and then 2-4 tags on each cargo pod. I’d then like to get the distance to each tag on the robot so it can locate them. Reading through the documentation, it looks like this would generally be done using a gateway anchor, but I’d rather avoid that since I can’t guarantee that any particular point on the robot will always have the LoS required to ensure that the gateway will be able to see the tags, but I can guarantee that at least one of the anchors will.

Reading further into the documentation, it looks like using the backhaul system should allow for me to have each tag send it’s distance information back to the anchors.

  1. Does sending distance over the backhaul system seem reasonable/viable?
  2. The uui/udi shell command doesn’t seem to be working as I expect it to. Turning on udi on the anchor and then using uui on the tag to send a message doesn’t seem to do anything. Am I missing something?
dwm> udi
dl: show on
dwm> 
dwm> uui 11223344 100
ul: len=4 cnt=100 rv=4:  11 22 33 44
dwm> 

Thanks!

Hi @Milner
the gateway is probably the easies way how to gather data (location and IoT data) from TN - you can read it directly from the MQTT server in JSON format. The LOS it not always needed but it heavily depends on obstacle types and environment. But you can have also multiple gateways which will be redirecting the messages to the main gateway (see the daemon and proxy configuration).

UDI/UUI are meant for sending IoT data and it is not working without the gateway.

There is one possible workaround, you can add few more “anchors” which will be in passive mode (nmp command). With this passive anchors you can observe TN’s locations data with the les/lec/lep commands.

Cheers
JK

1 Like

Ok, thanks for the explanation.

With the passive mode anchors, how close could they be to the active anchors and still function without interfering? It would be nice if they could go in the same mounting pod.

Hi @Milner,

The node in passive mode is really only passive/listening on UWB, so they do not interfere with anything. You can have any amount of passive node as needed. You just need to ensure its range can cover the area of interest.

Cheers,
TDK

Thanks for the information. I think I’m getting closer. I tested passive mode, and I don’t seem to be getting good distance data from it.

Tag Output:

5330[0.00,0.00,0.00]=0.79 0F13[0.00,4.00,0.00]=1.72 
5330[0.00,0.00,0.00]=0.82 0F13[0.00,4.00,0.00]=1.71 
5330[0.00,0.00,0.00]=0.80 0F13[0.00,4.00,0.00]=1.71 

Passive Node Output:

[000107.460 INF] loc_data: 1
 0) 0DB7[nan,nan,nan,0,x09]

[000107.560 INF] loc_data: 1
 0) 0DB7[nan,nan,nan,0,x09]

[000107.660 INF] loc_data: 1
 0) 0DB7[nan,nan,nan,0,x09]

Also, I tried using the acas command to setup bridge mode, and they all failed.

dwm> acas 0 1 0 1 1 2 0
acas: failed
dwm> acas 0 1 0 1 1 1 1
acas: failed
dwm> acas 0 1 0 1 1 2 1
acas: failed
dwm> acas 1 1 0 1 1 2 0
acas: failed
dwm> acas 0 1 0 1 1 2 0

Hi @Milner
from the tag output you can see that the tag see only two anchors - 0x5330 and 0x0F13 but for the position calculation the tag must see at least 3 anchors The optimum / maximum is 4 anchors because it can calculate more positions and then it will pick up the best calculated position. So your tag cannot calculate its position and that it why it is reporting “nan”. Add one anchor and then you should receive the positions.

Cheers
JK

Is it possible to get just raw distances rather than positions?

Hi @Milner
sorry, with the listener this is not possible.

If you will use the gateway approach then you can write your user app which will collect the distances and send them out as IoT data.

Cheers
JK

Ok, great. That will work. How do I enter gateway more? The acas commands I was using all reported a failure.

acas: failed
dwm> acas 0 1 0 1 1 1 1
acas: failed
dwm> acas 0 1 0 1 1 2 1
acas: failed
dwm> acas 1 1 0 1 1 2 0
acas: failed
dwm> acas 0 1 0 1 1 2 0

Hi @Milner
for the gateway mode the BLE must be disabled. However the gateway mode is meant to be used with Raspberry Pi. Im not sure if Qorvo has released the gateway communication specification / protocol you need to check API documentation. It uses standart UART binary API abut there is very strict timing.

dwm> acas 0 1 0 1 0 2 1
acas: ok

Cheers
JK

1 Like