Forum: Projekte & Code Localino - Open Source UWB Indoor Location System


von Steffen &. (kuek)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich möchte Euch mein Indoor Lokalisierungsprojekt vorstellen. Nachdem
mich eine Anfrage zu dem Thema erreicht hatte, war mein Interesse
geweckt. Allerdings schien das keine so einfache Aufgabe zu sein...
Da die meisten Möglichkeiten, wie WLAN, Bluetooth, RFID meist auf
Fingerprinting und RSSI Messungen basieren (manche nutzen das WLAN CSI,
aber das scheint recht aufwändig zu sein, da man Chipzugriff benötigt),
habe ich mich für UWB entschieden. Zumal die Signalbandbreite deutlich
genauere Messwerte verspricht.

Interessanterweise kam zu einem ähnlichen Zeitpunkt der DWM1000 Chip von
Decawave auf den Markt, sodass "nur" noch eine Platine und Software für
den Chip fehlte. Da dieser direkt über SPI angesteuert werden kann,
erwies sich das recht einfach. Zudem gab es schon auf github einige
Projekte, wo Software entsteht. Darauf konnte ich zurück greifen.

Das entworfene System besteht auf Anchor (fixe Knoten) und Tags (mobile
Knoten). Die Tags senden ein Broadcast Signal aus, welches die Anchor
mit einem Zeitstempel erwidern. Nach einer kurzen Unterhaltung
(Two-Way-Ranging) und dem Austausch von Zeitstempeln wissen sowohl
Anchor und Tag, wie weit sich voneinander entfernt sind. Die Genauigkeit
ist im cm Bereich und hat mich erstaunt. Aber gut - UWB - was will man
bei der riesigen Bandbreite auch erwarten?
Die Signale habe ich mal mit einem Rohde & Schwarz FSW Signal und
Spektrum Analysator und der Realtime Funktion vermessen. Ich kann mal
bei Zeiten ein paar Bilder hochladen...

Jedem Anchor habe ich zudem ein ESP8266 WLAN Modul spendiert, wodurch
die Daten an den Server geschickt werden können. Jeder Anchor sendet
nach einem erfolgreichen Rangingprozess seine ID, die Tag ID, Range,
Leistung an den Server. Dieser kann dann die Position im Raum berechnen

Ich habe nach einigen Tests dann eine Platine entworfen, da ich mehrere
Anchor brauchte und das manuelle Aufbauen viel zu aufwändig und
fehleranfällig war. Auf die Anchor wird ein Arduino Pro Mini gesteckt.
Nachdem das problemlos ging, habe ich eine zweite Platine entworfen,
welche den Atmega328p Chip direkt integriert hat. Die Platinen habe ich
jeweils fertigen lassen und in meinem eigenen Reflow-Ofen gebacken
(danke 0xPIT für die Platine). Ergebnis: perfekt!

Die Bilder zeigen einen Anchor, ein Tag, und ein paar Ergebnisse, die
über UART ausgelesen wurden.
Das Youtube video zeigt die Ergebnisse, die die Echtzeitverarbeitung mit 
Python erreichen kann. Lediglich die Nutzung der matplotlib war etwas 
zickig. video: youtube.com/watch?v=t1kuF8y7Lwg

Falls ihr vor ähnlichen Aufgaben steht, teile ich meine Erfahrungen
gerne. Einige Informationen habe ich bereits online gestellt.

: Bearbeitet durch User
von pegel (Gast)


Lesenswert?

Wau!

Interessantes Thema. Aber:

Nach einem Blick auf die Preise nicht zum spielen geeignet.

Schade.

von Steffen &. (kuek)


Lesenswert?

Leider sind die Decawave chips mit ca 25 EUR netto (Stand: 2017) 
wirklich teuer. Jede alternative kaufbare Lösung schied allerdings aus, 
da dort sofort vierstellige Preise für ein Mini System verlangt werden.

Wenn Du ein paar vorbestückte SMD Platinen haben möchtest, freue ich 
mich über eine Nachricht.

Vorallem jede Unterstützung die Arduino Library rund zu machen bringt 
das Projekt weiter!

von Dieter F. (Gast)


Lesenswert?

Steffen &. schrieb:
> Die Genauigkeit
> ist im cm Bereich und hat mich erstaunt.

Kannst Du da bitte präziser werden? Wieviel cm?

von Dieter F. (Gast)


Lesenswert?

Steffen &. schrieb:
> Nach einer kurzen Unterhaltung
> (Two-Way-Ranging) und dem Austausch von Zeitstempeln wissen sowohl
> Anchor und Tag, wie weit sich voneinander entfernt sind.

Wie genau werden die Zeitstempel denn synchronisiert? (Entschuldige 
bitte, ich bin Laie ...)

von Honko Mat (Gast)


Lesenswert?

Auf den Webseiten lese ich sowas wie
1
The software is provieded "as is" without any warrenty and comes only with hardware.
und
1
Our firmware is based on thotros source. The file comes as an atmel studio project and does not require SPI to communicate with the wifi chip. It is most convenient to be used with one of our anchor kits.
2
3
Feel free to download and use it for your own purposes. Please take care of the library copyrights.
4
5
Please note:
6
7
You can place the firmware into your cart and proceed checkout. Once we reviewed your order you are able to login and download the firmware . (login -> downloads).

Allzu "open" scheint mir das nicht...

von Steffen &. (kuek)


Lesenswert?

Dieter F. schrieb:
> Steffen &. schrieb:
>> Nach einer kurzen Unterhaltung
>> (Two-Way-Ranging) und dem Austausch von Zeitstempeln wissen sowohl
>> Anchor und Tag, wie weit sich voneinander entfernt sind.
>
> Wie genau werden die Zeitstempel denn synchronisiert? (Entschuldige
> bitte, ich bin Laie ...)

Die Zeitstempel brauchen keinen sync. Da jeweils der eigene Zeitstempel 
zwei mal übertragen wird, kennt der Partner die Zeiten und kann aus der 
Differenz die Entfernung bestimmen.

von Steffen &. (kuek)


Lesenswert?

Dieter F. schrieb:

> Kannst Du da bitte präziser werden? Wieviel cm?

Die varianz ist <1cm bei line of sight. Der Fehler liegt bei <<10cm.

Nlos Szenarien haben eine etwas grössere Varianz, aber immer noch <10 cm 
nach meinen Messungen.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Steffen &. schrieb:
> ich möchte Euch mein Indoor Lokalisierungsprojekt vorstellen.

Das ist schön. Damit es in "Projekte & Code" passt, fehlt aber noch was.

von Dieter F. (Gast)


Lesenswert?

Steffen &. schrieb:
> Die varianz ist <1cm bei line of sight. Der Fehler liegt bei <<10cm.

D. h. max. 0,3 nS (NanoSekunden) eher besser, welche das Teil irgendwie 
gemessen bekommt - oder? Spannend.

Steffen &. schrieb:
> Da jeweils der eigene Zeitstempel
> zwei mal übertragen wird, kennt der Partner die Zeiten und kann aus der
> Differenz die Entfernung bestimmen.

Kannst Du das bitte etwas näher erläutern? Doof wie ich bin sende ich 
zweimal 0,0000000... und der Partner kann aus der Entfernung die Zeiten 
bestimmen? Wie geht das?
Oder ich sende 0,0000000... und dann 1,0000000... und der Partner weiß 
dann, wie weit ich weg bin? Bitte erkläre das mal ...

von Wolfgang (Gast)


Lesenswert?

Dieter F. schrieb:
> D. h. max. 0,3 nS (NanoSekunden) eher besser, welche das Teil irgendwie
> gemessen bekommt - oder? Spannend.

Und das bei einer Wellenlänge von 5cm ...

von Steffen &. (kuek)


Lesenswert?

Wolfgang schrieb:
> Dieter F. schrieb:
>> D. h. max. 0,3 nS (NanoSekunden) eher besser, welche das Teil irgendwie
>> gemessen bekommt - oder? Spannend.
>
> Und das bei einer Wellenlänge von 5cm ...

Die Wellenlänge hat hier weder mit der Genauigkeit noch Auflösung für 
eine range messung zu tun.
Bei einem Radar hat das Einfluss, wobei die range Auflösung auch hier 
nur von der Bandbreite abhängt...
Die Wellenlänge hat Einfluss auf die dopplermessung. Aber hier läuft das 
anders.

es wird ein two way ranging verwendet,
siehe hier:
wikipedia.org/wiki/Symmetrical_double-sided_two-way_ranging

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

Steffen &. schrieb:
> Die Wellenlänge hat weder mit der Genauigkeit noch Auflösung fur eine
> range messung zu tun.

Dann guck dir mal GPS an. Der gemeine Empfänger macht eine 
Laufzeitmessung und kommt dann mit EGNOS/DPGS in den Genauigkeitsbereich 
1..3m, RTK macht Phasenmessung bezogen auf Referenzstation und liegt 
dann um 1cm.

von Steffen &. (kuek)


Lesenswert?

Jo, allerdings werden hier die timestamps auch nicht absichtlich 
"verschmiert" wie es bei zivilem GPS der Fall ist und auch die 
Luftschichten in einem raum haben weniger Einfluss als bei GPS, was 
durch die Atmosphären muss...

Wie auch immer, wollte das Projekt vorstellen...

: Bearbeitet durch User
Beitrag #4956328 wurde von einem Moderator gelöscht.
von Julian W. (julian-w) Benutzerseite


Lesenswert?

Rufus Τ. F. schrieb:
> Steffen &. schrieb:
>> ich möchte Euch mein Indoor Lokalisierungsprojekt vorstellen.
>
> Das ist schön. Damit es in "Projekte & Code" passt, fehlt aber noch was.

Hier könnt ihr eure Projekte, Schaltungen oder Codeschnipsel vorstellen 
und diskutieren. Bitte hier keine Fragen posten!

Wieso fehlt da noch was? Von EleLa gibt es ja auch keinen SourceCode 
oder was meinst du? Sein Projekt stellt er ja vor.

Davon ab schönes Projekt, bin richtig überrascht von der Genauigkeit. 
Ich selbst habe bisher nur mit Quuppa gearbeitet und das hat deutlich 
größere Abweichungen und ist ein kommerziell erhältliches Produkt 
(arbeitet aber mit Bluetooth, kann daher z.B.ffast jedes Bluetooth 
Smartphone tracken).

Aber ja, etwas mehr Erklärung, Dokumenation hier im Forum wäre schon 
nett, bin gar nicht erst darauf gekommen das es eine Website dafür gibt, 
erst durch die Beschreibung im YouTube Video.

: Bearbeitet durch User
von Nun (Gast)


Lesenswert?

Julian W. schrieb:
> Wieso fehlt da noch was? Von EleLa gibt es ja auch keinen SourceCode
> oder was meinst du? Sein Projekt stellt er ja vor.


Der Autor von EleLa behauptet aber auch nicht, dass es open source wäre 
bzw. verneint dies sogar explizit. Es ist Freeware.
Hier steht "Open Source" direkt im Titel. Es gibt den Quellcode, der in 
wesentlichen Teilen auf anderem (wirklich frei verfügbarem) Open Source 
Code basiert, aber nur beim Kauf.
Ja ich weiss, Lizenztechnisch ist das völlig OK so.

von pegel (Gast)


Lesenswert?

Ist eben noch ein teures Pflaster.
Warten wir bis der Chinamann gnädiger gestimmt ist, oder was ähnliches 
erfindet.

von Wolfgang (Gast)


Lesenswert?

Steffen &. schrieb:
> Jo, allerdings werden hier die timestamps auch nicht absichtlich
> "verschmiert" wie es bei zivilem GPS der Fall ist

...war.

Die "Verschmierung", i.e. SA wurde am 2.Mai 2000 um 04:00 UTC 
abgeschaltet.
http://www.gps.gov/systems/gps/modernization/sa/

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Julian W. schrieb:
> Wieso fehlt da noch was? Von EleLa gibt es ja auch keinen SourceCode
> oder was meinst du? Sein Projekt stellt er ja vor.

Das Ding ist eine uralte Ausnahme, die nach zig Jahren Anwesenheit hier 
'rauszuwerfen nicht zu rechtfertigen wäre.
Obendrein ist bei "Elela" wenigstens das Binary verlinkt, so etwas habe 
ich in Deinen Beiträgen auch nicht gesehen.

Bei neu hier eingestellten Beiträgen sehen wir Moderatoren das anders; 
dieser Forenteil dient nicht der Selbstbeweihräucherung, und noch vermag 
ich in Deinen Beiträgen wenig mehr zu erahnen.

Kein Quelltext. Kein Schaltplan. Kein Layout. Und auch kein irgendwo 
irgendwie ausführbares Programm, sondern nur Bilder und Youtube-Links.

Und Du suggerierst mit "Open Source" auch noch mehr.

von Undank ist des.. (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> Kein Quelltext. Kein Schaltplan. Kein Layout.
kein Kochbuch

Kein Wunder, wenn "Projekte und Code" stagniert..

von Tom (Gast)


Lesenswert?

Schönes Projekt und preislich völlig in Ordnung. Wenn ich die Hardware 
selbst machen müsste, kostet das viel mehr Zeit und Geld. Hier hat man 
bereits ein getestetes system inkl freier Software, was will man mehr?

Leider scheint das durch die vielen unqualifizierten Beiträge eher eine 
Grundsatzdiskussion zu werden. Schade.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Der Threadstarter hätte wenigstens die URL seiner Webseite nennen 
können. Die sieht man aber nur, wenn man sich das Youtube-Filmchen 
ansieht.

Das ist unterirdisch schlechter Stil.

von Steffen &. (kuek)


Lesenswert?

Rufus Τ. F. schrieb:
> Der Threadstarter hätte wenigstens die URL seiner Webseite nennen
> können. Die sieht man aber nur, wenn man sich das Youtube-Filmchen
> ansieht.
>

da hast Du recht. Hatte meinen Beitrag an einem anderen in dieser 
Kategorie angelehnt, da mir eine Anleitung fehlte. Von einem Moderator 
hätte ich mir dennoch eine Empfehlung bzw. Änderungswünsche erhofft, 
statt dieser saloppen Art.

Trotzdem scheinen die meisten die Information ja gefunden zu haben und 
auch eine interessante Diskussion zustande gekommen zu sein.

TWR ist sicherlich ein Verfahren, was nicht nur über UWB genutzt werden 
kann. Vermutlich ließe sich auch ein WLAN MAC (ESP8266?) derart 
manipulieren, dass Timestamps und TWR die Positionsbestimmung 
ermöglichen. Damit wären wir bei einer <5 EUR Lösung!

von Lachnusspapier (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> Der Threadstarter hätte wenigstens die URL seiner Webseite nennen
> können. Die sieht man aber nur, wenn man sich das Youtube-Filmchen
> ansieht.
>
> Das ist unterirdisch schlechter Stil.

localino.net

Komisch, warum sehe ich es nur?

von RolandRemmer (Gast)


Lesenswert?

OpenSource ist hier wohl nix mehr :-|

von Karl (Gast)


Lesenswert?

RolandRemmer schrieb:
> OpenSource ist hier wohl nix mehr :-|

War es offenbar auch nie. Seltsam. Sonst löschen die Mods so ziemlich 
alles, was nicht Niet- und Nagelfest ist. Nur wenn es mal sinnvoll wäre, 
dann drückt natürlich keiner den Knopf.

von James (Gast)


Lesenswert?

Karl schrieb:
> RolandRemmer schrieb:
>> OpenSource ist hier wohl nix mehr :-|
>
> War es offenbar auch nie. Seltsam. Sonst löschen die Mods so ziemlich
> alles, was nicht Niet- und Nagelfest ist. Nur wenn es mal sinnvoll wäre,
> dann drückt natürlich keiner den Knopf.

vermutlich bist du einfach ~3 Jahre zu spät RolandRemmer.

von Karl (Gast)


Lesenswert?

James schrieb:
> vermutlich bist du einfach ~3 Jahre zu spät RolandRemmer.

Nö. Auch vor drei Jahren gabs ausser den Bildern im ersten Beitrag und 
der zugehörigen Selbstbeweihräucherung nix zu sehen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.