Guten Morgen zusammen,
ich weiß es gab eine ähnliche Frage schonmal hier:
Beitrag "Localino - Open Source UWB Indoor Location System"
Ich wollte nun (ein paar Jahre später) mal "in die Runde" fragen, ob
jemand heute noch irgendein "gemaintaintes" oder funktionierendes (oder
beides) Projekt kennt, mit dem man so eine Indoor Positioning Lösung
mittlerweile halbwegs gut nachbasteln kann.
Fiktivies Szenario:
Nehmen wir an, es gibt eine 100m x 100m Lagerhalle und man möchte
wissen, wo sich ein Gegenstand in der Halle auf 1 bis 2 Meter genau
befindet. Es soll UWB benutzt werden, damit Hindernisse (Aufbauten in
der Halle) möglichst wenig stören (Ultraschall + IR fällt damit weg).
Die ganzen vermeintlichen OpenSource/Community-Projekte (localino,
proxyz) gibt es irgendwie nicht mehr bzw. wurden kommerzialisiert bzw.
gab es wohl eh nie öffentlich (wenn ich die Kommentare im oben
verlinkten Thread richtig verstehe).
Bei https://github.com/schollz/find3 gibt es ein Projekt, das scheinbar
die Software-/Auswertung ermöglicht - aber dort findet man nichts zu
Hardware, außer die Aussage, das es mit allem geht...
Oft vorgeschlagen werden die Chips von Decawave. Dafür gibt es auch
Dev-Boards. Aber ich habe keine AOI-Kit gefunden, dass so einen Chip mit
Antennen und Strom-Versorgung halbwegs erschwinglich anbietet. Und ich
habe auch kein Projekt gefunden, das das mal end-2-end mit ein paar
Arduinos oder ggfs. auch Raspberrys durchspielt.
Zu guter Letzt habe ich noch das hier gefunden:
https://www.robotshop.com/de/de/marvelmind-starter-set-hw-v49-positionierungssystem-innennavigation-915-mhz.html
Aber das Frequenz-Band ist in Deutschland nicht erlaubt und außerdem
erscheint mir die Frequenz etwas zu "niedrig" (da könnte man dann ja
schon fast überlegen, es in Kombination mit LoRa-Gateways aufzubauen,
aber das drüfte deutlich ungenauer sein).
Ach ja: Anbieter, die so etwas kommerziell als Service anbieten, gibt es
wie Sand am Meer. Da kosten dann aber Starter Kits mit 4 Anchors gleich
mal 3000+ Euro. Ich würde es gerne für 500 Euro hinbekommen, aber ich
würde das Basteln gerne auf Basis von etwas bereits
Erporbtem/Dokumentiertem anfangen.
And schrieb:> Es soll UWB benutzt werden, damit Hindernisse (Aufbauten in der Halle)> möglichst wenig stören (Ultraschall + IR fällt damit weg).
In diesem Frequenzbereich stören Hindernisse bereits recht erheblich.
Außerdem ist bei UWB die Leistung recht stark limitiert (schließlich
haben sie ja ihre Genehmigung für so viel Spektrum nur bekommen, weil
sie aus Anwendersicht von Rauschen nicht unterscheidbar sein sollen),
sodass du mit Hindernissen kaum mit mehr als 20 m Reichweite rechnen
brauchst. Entsprechend viele Anker brauchst du also zur Abdeckung deiner
100 x 100 m²-
Bluetooth HADM könnte ein Ausweg sein, aber ich habe mir nicht
angesehen, wie weit die Standardisierung mittlerweile ist.
Jörg W. schrieb:> In diesem Frequenzbereich stören Hindernisse bereits recht erheblich.> Außerdem ist bei UWB die Leistung recht stark limitiert
Ok, dann ist das vielleicht nicht die beste Idee, aber dieser Decawave
Chip (DW1000), der oft referenziert wird, arbeitet in dem Bereich.
Deshalb dachte ich, das sei ein brauchbarer Ansatz
Jörg W. schrieb:> Bluetooth HADM könnte ein Ausweg sein, aber ich habe mir nicht> angesehen, wie weit die Standardisierung mittlerweile ist.
Habe das Video von Lambda4 angeschaut. Mir ist nicht klar, was hier die
Reichweite ist. In der Demo läuft er 7 Meter vom Auto weg. Das heißt,
das wären dann wohl noch mehr Anker (allerdings günstigere ;) )
Wenn jemand mit anderen Ansätzen/Technologien zum Thema Indoor Position
Tracking Erfahrungen gesammelt hat, wäre das genauso denkbar - ich hätte
mich anmelden sollen, damit ich den Titel ändern kann :)
And schrieb:> Jörg W. schrieb:>> In diesem Frequenzbereich stören Hindernisse bereits recht erheblich.>> Außerdem ist bei UWB die Leistung recht stark limitiert>> Ok, dann ist das vielleicht nicht die beste Idee, aber dieser Decawave> Chip (DW1000), der oft referenziert wird, arbeitet in dem Bereich.> Deshalb dachte ich, das sei ein brauchbarer Ansatz
Der Vorteil von UWB ist halt, dass man eine relativ große Bandbreite und
damit sehr gute zeitliche (und damit räumliche) Auflösung hat.
Der Nachteil ist eindeutig die Limitierung auf Rausch-Niveau (-41
dBm/MHz).
> Jörg W. schrieb:>> Bluetooth HADM könnte ein Ausweg sein, aber ich habe mir nicht>> angesehen, wie weit die Standardisierung mittlerweile ist.> Habe das Video von Lambda4 angeschaut. Mir ist nicht klar, was hier die> Reichweite ist.
Keine Ahnung, was sie jetzt bauen, aber ich glaube, das Ziel war es,
unter die frequency-hopping-Regulierung zu fallen, wie sie auch bei WiFi
benutzt wird. Da darf man dann mit 100 mW senden. Mit einer ähnlichen
Technologie (auch auf 2,4 GHz) und 100 mW Sendeleistung haben wir schon
mal 4,7 km weit gemessen …
Nachteil ist halt die geringe Bandbreite (ca. 80 MHz), insbesondere bei
Mehrwegeausbreitung ist dann die Genauigkeit nicht mehr so üppig. Bei
line of sight sollte man in den Bereich von 10 cm oder besser kommen.
Der Decawave Chip war einer der ersten Verfügbaren. Inzwischen gibt es
eigentlich von allen großen Herstellern Chips oder laufende
Entwicklungen. Apple hat seit dem Iphone 11 UWB verbaut und seit dem
12er kann man das auch nutzen. Samsung hat es im Note und 21er.
Die Genauigkeit hängt in erster Linie von der Quarzstabilität ab. Im
Mittel kannst du mit 30 cm Genauigkeit rechnen. Siehe Apple Airtags oder
aktuelle Golf 8 / ID Fahrzeuge von VW.
Bei freier Sicht reicht UWB schon so um die 20 Meter weit. Mit einem
Körper dazwischen ist man schnell runter auf 1 bis 2 Meter. Dann lebt
das System von Reflexionen, die natürlich die gemessene Distanz
verlängern.
Fazit. UWB ist ein Trend. UWB funktioniert. Mit Einschränkungen, wenn es
keine direkte Sichtverdingung gibt.
Jan schrieb:> Siehe Apple Airtags
Die Airtags wären technologisch wahrscheinlich gut für solche
Fragestellungen geeignet (drei Antennen, Spannungsversorgung) – wenn es
dafür eine nutzbare API gäbe. Die ist aber scheinbar (noch) nicht
geplant: https://developer.apple.com/forums/thread/678600
Es gibt nur die FindMy App.
Jan schrieb:> Die Genauigkeit hängt in erster Linie von der Quarzstabilität ab.
In den Ankern, damit die Zeitsynchronisation passt? Ich wüsste gerade
gar nicht, wie man diese überhaupt "synchron genug" bekommt.
Oder meinst du im zu trackendem device, damit dort die
Laufzeitunterschiede ausreichend akkurat gemessen werden?
Jan schrieb:> Inzwischen gibt es> eigentlich von allen großen Herstellern Chips oder laufende> Entwicklungen. Apple hat seit dem Iphone 11 UWB verbaut und seit dem> 12er kann man das auch nutzen. Samsung hat es im Note und 21er.
Kennst du zufällig ein Beispiel von einem Chip, an dem man als Consumer
rankommt bzw. der auf einem Breakout-Board oder ähnlichem aufgelötet
ist?
An die Apple WB API kommt man nur als "ausgewählter" Entwickler ran und
selbst dann ist der Support seitens Apple ein Abenteuer.
Bzgl. der Zeitsynchronisation. Im Grunde pro Anker ja. Der Quarztakt
geht in die PLL für die HF Erzeugung. Damit hat man einen Offset der
Frequenz pro Device in Abhängigkeit von der Quarzgenauigkeit. Ist der
Takt beim Empfänger versetzt, verschiebt sich im Korrelator die First
Path Erkennung im Zeitbereich. Das ergibt dann die Ungenauigkeit von x
cm. Mit guten Quarzen oder einer genauen PLL als Takereferenz kommmt man
realistisch auf 30 cm. Temperatur spielt da natürlich auch mit rein,
etc.
Dagegen kann man dann mit Triangulation arbeiten. Je mehr Knoten den
Sender sehen, desto genauer kann man seine Position bestimmmen. Hier ist
dann der Trick, wie man zwischen echten Line Of Sight Messungen und
solchen mit auf Reflexionen basierenden First Path Erkennungen
unterscheiden kann.
Hier ein paar Links zu UWB Chips
https://www.mouser.de/new/qorvo/qorvo-dw1000-ic/https://www.nxp.com/products/wireless/secure-ultra-wideband-uwb:UWB-TRIMENSIONhttps://www.st.com/en/wireless-connectivity/ultra-wideband-products.htmlhttps://www.murata.com/en-eu/news/connectivitymodule/ultra-wide-band/2021/1105
Jan schrieb:> Hier ein paar Links zu UWB Chips
Danke für die Links. Das B-UWB-MEK1 schaut ja irgendwie ziemlich
ready-to-use aus. Zumindest wenn man den Quick-Start-Guide anschaut:
https://www.st.com/resource/en/user_manual/um2798-buwbmek1-quick-start-guide-stmicroelectronics.pdf
Hier wird einem nach einer Referenzfahrt angeblich direkt die Position
mit x,y,z-Koordinaten angezeigt (kann man über serielle Schnittstelle
auslesen). Das wäre ja ziemlich cool.
Mir ist organisatorisch unklar, wo man es bestellen kann. Ein
Distributor war nicht verlinkt.
Technisch ist mir unklar, wie die Zeitstempel der einzelnen Anchors
gesynched werden. Müssen die nicht alle dieselbe Basis haben. Ich würde
vermuten, dass das genau wie bei GPS funktioniert (außer das Übertragen
von Satelliten-Bahn-Infromationen ;) ). Meine aktuelle Einschätzung ist,
dass man einen Anchor als Master konfigurieren muss, und alle anderne
Anchor, diesen Master "sehen" können müssen.
Ich habe mir auch mal das Whitepaper von Localino heruntergeladen. Die
halten sich da ziemlich bedeckt bzw. erzählen viel über Triangulation
via RSSI (und dass dies ungenau wäre). Stattdessen macht es Localino
time-based über UWB: Aber dem Teil widmen sie dann nur noch eine Seite.
Typisch technisches Marketing-Whitepaper halt. ;)
Interessant ist auch hier, das dem Thema Sync kein Wort spendiert wird:
"Localino [...] anchors have additional Wifi capability onboard to
minimize cabling efforts. Wifi can operate as a backhaul to send the
estimated position data to a PC application. Localino can also operate
without Wifi in case you cannot add additional Wifi transmitters in your
environment."
Wenn es keine Kabel gibt und kein Wifi, müssen sie ja trotzdem irgendwie
den Zeitstempel abgleichen. Wahrscheinlich machen sie es ähnlich (bauen
sie dann ein eigenes Wifi auf, um das Synching zu machen)
Es gibt keinen "sync" im Sinne eines gemeinsamen Zeitstempels. Wichtig
ist nur, dass die Verarbeitungszeit aller Komponenten bekannt und
konstant ist.
Der "Master" schickt ein Signal an einen ausgewählten "Slave". Das ist
der Start. Der Slave schickt das Signal zurück. Das ist das Ende. Die
Entfernung ist dann die Laufzeit - feste Bearbeitungszeit / 2.
Stichwort bei Google: round trip time und double sided measurememt.
Ah, jetzt lichtet sich der Nebel. Ich hatte hier definitiv einen
Denkfehler.
Ich dachte, dass der zu trackende Gegenstand als reiner Empfänger
fungiert und die Position genau via bei GPS über gemeinsame Zeitstempel
ermittelt wird. Aber das erscheint wenn man darüber nachdenkt schon
recht absurd: Bei GPS liegen die Signalwege im Bereich von 70 ms (und
diese Satelliten sind ja ca. 20000 km entfernt). Wenn man soetwas also
nun auf 20 m (Satelliten an der Decke einer Halle) herunterbrechen
würde, läge eine Signallaufzeit im Bereich von 70 ns ...und das misst
man nicht mehr einfach. Und wie gesagt: Der Synch wäre auch noch ein
gravierendes Problem ;)
Als Alternative zu UWB fallen mir gerade noch die Teile hier ein.
https://marvelmind.com/product/starter-set-hw-v4-9-nia/
Ist dann Triangulation via Ultraschall. Funktioniert aber sehr gut,
wobei unsere Fläche nur ungefähr 10x10 Meter groß war
Jan schrieb:> Als Alternative zu UWB fallen mir gerade noch die Teile hier ein.
Ja, die hatte ich bei der Recherche auch gefunden (siehe erster Post
ganz oben) - ich war nur verwirrt, weil die Rede von ISM-Bändern ist und
es sich so anhörte, als ob das Frequenz-Band in Deutschland nicht
erlaubt ist. Aber erstens gibt es wohl zwei Versionen (mit verschiedenen
Frequenzen) und zweitens würde ich davon ausgegangen, dass die
Frequenzband-Regulierungen der Bundesnetzagentur nur für
elektromagnetische Wellen gelten (und nicht für Ultraschall, was ja eine
mechanische Welle ist). Das ist natürlich nur eine Mutmaßung, die sich
über Bestätigung bzw. Falsizifierzung freuen würde ;)
Zum System an sich: Danke für den Erfahrungsbericht. 10x10m ist etwas zu
klein. Für 100x100 braucht man dann wahrscheinlich 10 bis 30 von diesen
Systemen (auch wenn der Radius eines Beacons dort als "bis zu 50m"
angegeben ist). Das könnte etwas teuer werden und am Ende hat man dann
so viele Reflexionen, dass es gar nicht mehr geht :)
Vielleicht ist BLE (Bluetooth) doch ein guter Kompromiss. Aber dazu muss
ich nochmal etwas recherchieren. Mein naiver Ansatz: Ich besorge mir ein
paar Beacons (z. B. diese
https://german.alibaba.com/p-detail/Bluetooth-1600406388163.html,
zufällige Suche), platziere diese halbwegs sinnvoll und versuche das mit
der oben erwähnten FIND library (https://github.com/schollz/find3)
auszuwerten (die Library hat wohl einen learning mode).
Wenn man das aber weiter durchdenkt wird es in einer Lagerhalle dennoch
immer wieder vorkommen, dass ein getaggtes Objekt "in einem falschen
Gang" eingeordnet wird (z. B. parallel zum eingetlichen Gang).
Das heißt, man bräuchte noch eine Zeit-Logik, die auswertet, in welcher
Reihenfolge Beacons gesehen wurden und gleichzeitig noch eine Karte der
Halle, die geweisse Bereiche komplett sperrt und andere logisch
miteinander verknüpft. Das hört sich wiederum nicht un-aufwändig an und
das ist beides kein Teil von der find3 library. Ohweia. Ich denke, um
Erfahrungen in dieser Richtung zu sammeln, muss ich ein neues Topic
aufmachen. Oder hast du das auch schon mal gesehen/genutzt @Jan? :D
Dein Problem ist die Annahme, dass du in einer Lagerhalle sinnvolle
Ausbreitungsbedingungen vorfindet.
Lokalisierung via Bluetooth klappt nur in reflexionsfreien Umgebungen.
Sonst hat man ganz schnell doppeldeutige RSSI Werte. Da haben sich schon
ganz andere die Zähne dran ausgebissen. Genauer als 1 Meter wird es
damit nicht.
Gleiches Spiel bei UWB. Durch Reflexionen bekommt man unterschiedliche
Laufzeiten. Damit kann der gemessene Wert für die Distanz zum Lokator
deutlich größer ausfallen, als sie eigentlich ist.
In diesen beiden Problemen steckt die eigentliche Ingenieursarbeit.
Machine learning leistet hier tolle Arbeit, ist aber auch alles andere
als Trivial.
Auch gibt es da so einige Anbieter, die bereits Lösungen für dein
Problem anbieten und dafür dann zum Beispiel zusätzlich auf Angle of
Arrival setzten.
Was du zum Beispiel noch gar nicht beschreiben hast, wie groß ist dein
Objekt? Wie sieht es mit der Energieversorgung für das "Tag" aus?
Lagerhalle kann auch vieles sein. Ein Hochregallager stellt ganz andere
Ansprüche, als eine leere Fläche.
Jan schrieb:> Lokalisierung via Bluetooth klappt nur in reflexionsfreien Umgebungen.
Nur, wenn man sie auf Basis von RSSI machen will.
Aber das ist eigentlich eh Käse.
> Gleiches Spiel bei UWB. Durch Reflexionen bekommt man unterschiedliche> Laufzeiten. Damit kann der gemessene Wert für die Distanz zum Lokator> deutlich größer ausfallen, als sie eigentlich ist.
Man misst ja nicht die Laufzeit als solche, sondern rechnet die Distanz
aus einer IFFT heraus. Die Annahme ist dann, dass der direkte Pfad immer
der kürzeste sein sollte, sodass man diesen Peak in der IFFT auch dann
noch "irgendwie" herausfindet, wenn er nun nicht der allerstärkste ist
(weil der direkte Pfad abgeschattet ist, die Reflektion stärker).
> In diesen beiden Problemen steckt die eigentliche Ingenieursarbeit.
So ist es.
Stimmt, BLE arbeitet da ja am HADM für den Standard. Ist dann halt
AoA/AoD, zusammen mit Phasenmessung, RSSI und ggf auch ToF. Hatte da
nicht TI schon was vorzeigbares?
Jan schrieb:> Hatte da nicht TI schon was vorzeigbares?
Den aktuellen Stand kenne ich leider nicht so gut. Habe mal eine
zeitlang an einem vergleichbaren System (aber nicht auf BLE-Basis)
mitgearbeitet, das funktionierte insgesamt so schlecht nicht. Wenn es
HADM auf ähnliche Ergebnisse bringt, wäre das eigentlich die Lösung für
den TE, allerdings halt sehr sicher kein Opensource. Dafür habe die
Beteiligten zu viel Arbeit reinstecken müssen, die sie sich bezahlen
lassen wollen.
Habt ihr denn konkrete Erfahrung mit Anbietern von solchen Services
gemacht bzw. könntet ihr etwas empfehlen? Die gibt es ja bei Google wie
Sand am Meer in allen Ländern. Bzw. darf man hier im Board
Firmenempfehlungen nennen? Ansonsten leg ich mir auch gern einen Account
an :)