mikrocontroller.net

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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Steffen &. (kuek)
Datum:
Angehängte Dateien:

Bewertung
1 lesenswert
nicht 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
Autor: pegel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wau!

Interessantes Thema. Aber:

Nach einem Blick auf die Preise nicht zum spielen geeignet.

Schade.

Autor: Steffen &. (kuek)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Dieter F. (Gast)
Datum:

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

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

Autor: Dieter F. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ...)

Autor: Honko Mat (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auf den Webseiten lese ich sowas wie
The software is provieded "as is" without any warrenty and comes only with hardware.
und
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.

Feel free to download and use it for your own purposes. Please take care of the library copyrights.

Please note:

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...

Autor: Steffen &. (kuek)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Steffen &. (kuek)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Rufus Τ. F. (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Dieter F. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ...

Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ...

Autor: Steffen &. (kuek)
Datum:

Bewertung
0 lesenswert
nicht 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
Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Steffen &. (kuek)
Datum:

Bewertung
0 lesenswert
nicht 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.
Autor: Julian W. (julian-w) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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
Autor: Nun (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: pegel (Gast)
Datum:

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

Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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/

Autor: Rufus Τ. F. (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Undank ist des.. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rufus Τ. F. schrieb:
> Kein Quelltext. Kein Schaltplan. Kein Layout.
kein Kochbuch

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

Autor: Tom (Gast)
Datum:

Bewertung
1 lesenswert
nicht 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.

Autor: Rufus Τ. F. (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Steffen &. (kuek)
Datum:

Bewertung
1 lesenswert
nicht 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!

Autor: Lachnusspapier (Gast)
Datum:

Bewertung
1 lesenswert
nicht 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?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.