Forum: PC-Programmierung Senderstärke mit Raspberry messen


von Stephan B. (roboterman1980)


Lesenswert?

Hallo zusammen!

Ich hoffe, dass ich in diesem Teil des Forums bei Euch richtig bin.

Ein neues Projekt von mir ist ein Saugroboter. Allerdings entsprechen 
die auf dem Markt befindlichen Geräte nicht meinem Anspruch, so dass ich 
mir selbst Gedanken gemacht habe, wie ich ein Gerät konstruieren könnte, 
der ein brauchbares Ergebnis liefert. Die Problematik bei kaufbaren 
Geräten liegt einfach in der genauen Positionierung. Eine Idee, die mir 
spontan einfiel: in jeder Raumecke wird einer kleiner 9V Frequenzsender 
installiert. Jeder Sender hat eine andere Frequenz. Bei einem 
gewöhnlichen Raum von vier Ecken, würden sich die 4 Frequenzen in der 
Mitte  treffen. Dies wäre ein Ansatz, wie eine genaue Positionierung 
bestimmt werden könnte. Denn je nachdem, in welche Richtung der Roboter 
sich bewegt, werden 2 Frequenzen stärker, die anderen schwächer.
Hier gerate ich allerdings an meine fachlichen Grenzen. Wie werte ich 
sinnvollerweise mit einem Rasperry Pi die Frequenzen aus?

Wäre über Ratschläge, Tipps und Tricks echt dankbar.

LG

Steph

von Noch einer (Gast)


Lesenswert?

Bevor du in diesen Ansatz Arbeit rein steckst...  Zuerst mit Antenne und 
Oszilloskop die Annahme überprüfen, die Stärke würde mit der Nähe zum 
Sender zunehmen.

Wahrscheinlich wird dir danach klar, warum Saugroboter ohne genaue 
Positionsbestimmung arbeiten.

von Md M. (Firma: Potilatormanufaktur) (mdma)


Lesenswert?

Nur so als Gedanke, ohne jetzt gerechnet zu haben, wie gut das 
funktioneren könnte: Wie wär's mit Laufzeiten von akustischen Signalen?

von Noch einer (Gast)


Lesenswert?

>Laufzeiten von akustischen Signalen?

Eine Fledermaus kann sich alleine durch die Laufzeiten der Echos 
orientieren. Erkennt sogar Entfernung und Bewegung von Insekten.

"Einfach" 2 Mikrofone und Deep-Learning auf dem Raspi :-)

von Md M. (Firma: Potilatormanufaktur) (mdma)


Lesenswert?

Noch einer schrieb:
> Eine Fledermaus kann sich alleine durch die Laufzeiten der Echos
> orientieren. Erkennt sogar Entfernung und Bewegung von Insekten.

Sie kann damit erkennen, wo sie sich befindet?

> "Einfach" 2 Mikrofone und Deep-Learning auf dem Raspi :-)

Noch einfacher: Mehrere Signalquellen im Raum, die einfach im gleichen 
Takt eine Sinus-Bake, jede mit einer anderen Frequenz senden. Dann 
reicht ein Mikro auf dem Rob. Dann per Software filtern und schauen, 
wie die Signale zeitlich zueinander stehen.

Edit:
Muss ja auch gar nicht mit Filtern und verschiedenen Frequenzen sein. 
Man kann statt dessen auch ein geschicktes Timing verwenden.

: Bearbeitet durch User
von holger (Gast)


Lesenswert?

>Wäre über Ratschläge, Tipps und Tricks echt dankbar.

Findest du doch alles hier im Forum. Deine Idee kommt
ungefähr ein mal pro Monat auf den Tisch. Eine Lösung
wurde bisher nicht gefunden.

von Md M. (Firma: Potilatormanufaktur) (mdma)


Lesenswert?

Simplest: Kamera und farbiger Marker auf dem Rob.

von Noch einer (Gast)


Lesenswert?

> Sie kann damit erkennen, wo sie sich befindet?

Wie kann sie 40 km zu ihrer Höhle zurück finden, wenn sie nicht weiss, 
wo sie sich befindet?

> und schauen, wie die Signale zeitlich zueinander stehen.

Damit hast du noch nicht die Position. Kann ja ein Möbelstück zwischen 
Quelle und Mikro stehen. Du empfängst nur das verzögerte Echo der Wand.

von Horst (Gast)


Lesenswert?

Nimm einen Eimer Farbe und mal eine lange Linie durch die Wohnung. Die 
kann er dann abfahren. Falls du eine Fußbodenheizung hast, kannst du 
auch einen Magnet ranhängen, dann fährt er die Rohre ab.
https://de.wikipedia.org/wiki/Datei:Underfloor_heating_pipes.jpg


Deine Bastelei mit Sendern ist Schrott. Auf so kurze Entfernungen ändern 
sich die Felder nur unwesentlich. Nichts was man am RPi leicht messen 
kann. Falls du das aber wirklich weiter verfolgen willst, mach es wie 
GPS: Die Sender senden eine Zeit mit.

von Noch einer (Gast)


Lesenswert?

> Eine Lösung wurde bisher nicht gefunden.

Aber sicher doch! Die gefundene Lösung wird Putzfrau genannt.

Es wird zwar noch darüber diskutiert, ob diese Lösung mit 
Darwinistischer Evolution oder Intelligent Design gefunden wurde. Es 
gilt aber als bewiesen -- mindestens eine Lösung des Problems existiert.

von Murkser (Gast)


Lesenswert?

Dyson 360 Eye 
(http://www.dyson.co.uk/mobile/vacuums/robot/360-eye-robot.aspx) hat 
eine Kamera und nutzt SLAM (Simultaneous Localisation and Mapping) als 
Teil des Computer Vision Algorithmus.

von Mmmhm (Gast)


Lesenswert?

Horst schrieb:
> Deine Bastelei mit Sendern ist Schrott. Auf so kurze Entfernungen ändern
> sich die Felder nur unwesentlich. Nichts was man am RPi leicht messen
> kann.

Was? Die ändern sich schon. Und zwar stark. Wenn WLAN verwendet wird, 
haben wir eine Wellenlänge so 12,5cm. Bis 4 Lambda sind wir im Nahfeld, 
darüber schon im Fernfeld. THEORETISCH ginge das also sehr schön.

Praktisch kann man sagen:
Das hilft alles aber nicht, man bekommt überall Reflexionen und 
Überlagerungen, und Möbelstücke im Raum dämpfen das Signal, Der Nachbar 
hat auch ein WLAN, und so weiter.
Der reine RSSI-Wert ist kein gutes Maß für eine genaue Positionierung.

Es GIBT Lösungen für Indoor-Navigation, aber mehr als 1-3m Genauigkeit 
erreicht man damit kaum, und das ist für deinen Saugroboter untauglich.
Und selbst das ist vile, viel komplizierter als du glaubst.

Ich war mal bei Messungen zu dem Thema dabei, und die sind an 
Reflexionen gescheitert. In deiner richtigen, dafür konstruierten 
Schirmkabine. Wenn das da schon nicht klappt, dann viel Spass in deinem 
Wohnzimmer. Und dabei ist über die ungenaue Richtcharakteristik von 
handelsüblichen WLAN-Modulen noch nichts gesagt.

Selbiges gilt selbstverständlich für Akustische Systeme. Auch da - 
überall Reflexionen, Dämpfung und so weiter.

Ein Eigenbau muss also einen möglichst einfachen Ansatz verfolgen.

von Roomba (Gast)


Lesenswert?

Stephan B. schrieb:
> Allerdings entsprechen die auf dem Markt befindlichen Geräte nicht meinem 
Anspruch.

Du mußt deine Ansprüche zurückschrauben. Ich glaube nicht, daß ein 
roboterman1980 Firmen und Forschungsinstitute, die an dem Thema seit 
Jahren arbeiten das Wasser reichen kann. Leider gibt es einen 
Unterschied zwischen Theorie und Praxis und daran wirst du leider 
letztendlich scheitern.
Ergo: Ansprüche zurückschrauben oder konventionell saugen.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Noch einer schrieb:
> Eine Fledermaus kann sich alleine durch die Laufzeiten der Echos
> orientieren. Erkennt sogar Entfernung und Bewegung von Insekten.

Die Rechenleistung einer Fledermaus ist allerdings um etliche 
Größenordnungen der eines Raspberry Pi überlegen.

von Md M. (Firma: Potilatormanufaktur) (mdma)


Lesenswert?

Noch einer schrieb:
>> Sie kann damit erkennen, wo sie sich befindet?
>
> Wie kann sie 40 km zu ihrer Höhle zurück finden, wenn sie nicht weiss,
> wo sie sich befindet?

Ja schon. Aber das hat ja nichts direkt mit den Laufzeiten der Echos zu 
tun sondern damit, dass das Tier damit sehen kann und dass das Tier eine 
Karte im Kopf hat und weiß, wo sie ist, weil sie weiß, wie sie da hin 
gekommen ist. Findet eine Fledermaus zurück, wenn ich sie in einen Sack 
stecke und 40km in zufälliger Richtung wieder aussetze?

Noch einer schrieb:
> Damit hast du noch nicht die Position. Kann ja ein Möbelstück zwischen
> Quelle und Mikro stehen. Du empfängst nur das verzögerte Echo der Wand.

Alles ein Frage der Anzahl der Signalquellen. Und dann Stichwort 
Monte-Carlo-Lokalisation.

von (º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· (Gast)


Lesenswert?

Wenn der Roboter nur vorwaerts und rueckwaerts faehrt, hat Mann
das Problem um eine Dimension reduziert.

von Stephan B. (roboterman1980)


Lesenswert?

Erst mal vielen Dank für die vielen Antworten in so einer kurzen Zeit. 
WOW!!

Gut, es war erst mal eine Idee. Denke aber schon, dass es mit ein 
bisschen bastellei möglich ist. Ich für mich erwarte bei dem Thema nicht 
von heute auf morgen eine Lösung. Soll ja auch ein wenig Spaß beim 
Frickeln sein. ;-)

Mit vier Sendern in einem Raum, die nur wenige Meter Reichweite haben, 
wäre eine Positionsbestimmung wie beim GPS möglich. Ich meine mich auch 
daran zu erinnern, dass es sowas ähnliches schon mal in einem anderem 
Zusammenhang gegeben hat.

Mein Gedanke basiert auf ein Modell, welches die vier Ecken des Raumes 
darstellen. In der Mitte eine Pinboardnadel, die mit vier Gummis jeweils 
zu den vier Ecken verbunden sind. Bewegt man nun die Nadel, ändern sich 
die Längen der Gummis zu den Ecken. Natürlich dämpfen Möbel die 
Senderfrequenzen ab. Aber dies würde ja sich nicht fortlaufend ändern. 
Das heißt, es müsste doch möglich sein, dass der Rob sich in der 
Anlernphase diese Gegebenheiten merkt. Heißt: Der Rob eckt am Standort 
A1,B5,C3,D4 an und speichert diesen Wert.

So ganz unerfahren bin ich mit Robotern nicht. Hatte in meiner 
beruflichen Laufbahn viel mit Industrierobotern zu tun. Gut, die 
Positionsbestimmung läuft da  etwas anders ab (Absolutwertgeber in einem 
fest definierten Raum). Aber, man kann sich ja die Erfahrungen und das 
Wissen darüber zu nutze machen....

von Georg (Gast)


Lesenswert?

Mmmhm schrieb:
> Ein Eigenbau muss also einen möglichst einfachen Ansatz verfolgen.

Z.B. alle Möbel rausräumen und Fenster zumauern. Für den Fortschritt 
muss man halt Opfer bringen.

Georg

von Flummi (Gast)


Lesenswert?

Horst schrieb:
> Nimm einen Eimer Farbe und mal eine lange Linie durch die Wohnung.
> Die kann er dann abfahren.
...weil es ja auch nur einen möglichen Weg gibt. Ob du vom Arbeitszimmer 
in die Küche willst, ist das gleiche wie vom Wohnzimmer ins 
Schlafzimmer... :-)

> Falls du eine Fußbodenheizung hast, kannst du
> auch einen Magnet ranhängen, dann fährt er die Rohre ab.
Aber nur, wenn die Heizungsrohre aus Eisen sind :-)
Zur Aufklärung: Früher waren die aus Kupfer, mittlerweile sind sie aus 
Kunststoff. Du brauchst also einen Kupfermagnet bzw. einen Plastikmagnet 
:-)
> https://de.wikipedia.org/wiki/Datei:Underfloor_hea...
>
> Deine Bastelei mit Sendern ist Schrott.
So wie das von dir gesagte...

> Auf so kurze Entfernungen ändern sich die Felder nur unwesentlich.
Und wie die sich ändern! Aber eben nicht ausschliesslich mit der 
Entfernung, sondern auch durch Dämpfung und Abschirmung (Wände, 
Schränke, Personen...) und durch Mehrwege-Empfang (Reflexionen, damit 
verbunden Verstärkung oder Auslöschung durch Interferenz)...

von Flummi (Gast)


Lesenswert?

(º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· schrieb im Beitrag 
#5017149:
> Wenn der Roboter nur vorwaerts und rueckwaerts faehrt, hat Mann
> das Problem um eine Dimension reduziert.

Und Frauen dürfen auch seitlich? :-)))

von Friedrich (Gast)


Lesenswert?

So ein Projekt ist für eine Einzelperson denke etwas zu umfangreich. 
Müsste ich das realisieren würde ich als Basis zuerst ein odometrisches 
System mit Traktionskontrolle und Lage/Beschleunigungssensoren zum 
interpolieren entwerfen. So kann man mit definierten t=0 und x=0 mit 
über die Zeit abnehmender Genauigkeit sagen wo man sich befindet. Auf 
dass würde ich dann ein optisches System setzen, am besten ein 
stereoskopisches Kamerasystem. Dieses sucht nach Marken für besondere 
Punkte im Raum(z.B. QR Code an Ladestation) und berechnet Raumpunkte, 
welche in einem Oktotree gespeichert werden. Somit wird ein 3D Modell 
des Raumes erstellt. Schwierig daran ist es entsprechende Pattern 
matching Algorithmen zu entwickeln, das 3D Modell dynamisch anzupassen, 
wenn Gegenstände verschoben werden und gleichzeitig konstante Elemente 
zu präzisieren. Im relativ freien Räumen könnte man auch das einfachere 
Prinzip der optischen Peilung verwenden. Man hat mehrere IR Sender (z.B 
Tischtennisbälle mit IR Dioden), jeder Sender sendet einen bestimmten 
Code. Position von allen Sendern ist bekannt. Nun braucht man nur noch 
ein mechanisches Drehsystem welches die Sender mit einer Richtoptik und 
einer Photodiode erfasst und anhand mehrerer eine Kreuzpeilung 
durchführt/ das odometetrische System updatet. Für Kolisionserkennung 
könnte man dann zusätzlich auf Ultraschallsensoren setzen.

Wie gesagt sehr aufwändig und anspruchsvoll, aber das ganze ist nunmal 
ein ziemlich anspruchsvolles Thema. :)

Viele Grüße Friedrich

von Jens G. (jensig)


Lesenswert?

>> Nimm einen Eimer Farbe und mal eine lange Linie durch die Wohnung.
>> Die kann er dann abfahren.
>...weil es ja auch nur einen möglichen Weg gibt. Ob du vom Arbeitszimmer
>in die Küche willst, ist das gleiche wie vom Wohnzimmer ins
>Schlafzimmer... :-)

Man kann ja auch ein Raster auf den Fußboden malen - bei einem 
1cm-Raster hat man dann auch eine entsprechende Auflösung/Genauigkeit 
;-)
Abtastung dann optisch, wie eine optische Maus

von Noch einer (Gast)


Lesenswert?

>dass das Tier damit sehen kann und dass das Tier eine
>Karte im Kopf hat und weiß, wo sie ist, weil sie weiß, wie
>sie da hin gekommen ist

Wahrscheinlich geht es nicht primitiver. Du musst für den Saugroboter 
diese ganze aufwendige Strategie umsetzen, mit der Lebewesen ihre 
Position bestimmen.

Da brauchst du einfach nur hartnäckig genug dran bleiben.

Zur Zeit werden ja mit Hochdruck Systeme für selbst fahrende Autos 
entwickelt. Die Strategien und Algorithmen lassen sich nicht geheim 
halten. Und die Raspi-Nachfolger werden immer leistungsfähiger. 
Irgendwann kannst du dir so etwas aus Open-Source auf einem 
Spielzeugrechner zusammenstellen.

von Georg (Gast)


Lesenswert?

Jens G. schrieb:
> Man kann ja auch ein Raster auf den Fußboden malen

Ich würde jedes Rasterfeld mit einem QRCode ausstatten, der die 
Koordinaten enthält, dann wird die Positionserfassung ganz trivial.

Georg

von Adolph Knigge (Gast)


Lesenswert?

>> Man kann ja auch ein Raster auf den Fußboden malen
>Ich würde jedes Rasterfeld mit einem QRCode ausstatten

Keine gute Idee. Da findest du nie wieder einen Ersatz für die 
weggelaufene Freundin.

von Oliver S. (oliverso)


Lesenswert?

Stephan B. schrieb:
> Allerdings entsprechen
> die auf dem Markt befindlichen Geräte nicht meinem Anspruch,

Hm.

https://youtu.be/v-NryhEb1C8

Oliver

von Old P. (Gast)


Lesenswert?

Stephan B. schrieb:
> ...
> So ganz unerfahren bin ich mit Robotern nicht. Hatte in meiner
> beruflichen Laufbahn viel mit Industrierobotern zu tun.

Dann lerne jetzt noch das nicht ganz leichte Thema Hochfrequenz und 
sammel damit zunächst Erfahrungen.

> Gut, die
> Positionsbestimmung läuft da  etwas anders ab (Absolutwertgeber in einem
> fest definierten Raum). Aber, man kann sich ja die Erfahrungen und das
> Wissen darüber zu nutze machen....

"Funk" und Absolutwertgeber sind aber ganz unterschiedliche Themen.
Ich setzte mal ein Jahr Experiemte und noch mehr bis zu einem ersten 
Prototyp an. Diesen stellst Du hier dann vor....
Zu lange? Dann miete eine Putzfrau.

Old-Papa

von Noch einer (Gast)


Lesenswert?

> Dann miete eine Putzfrau.

Hat auch andere Vorteile. Das alte lateinische Wort "focaria" bedeutet 
nicht nur Haushälterin und Küchenmädchen, sondern auch Konkubine und 
Nebenfrau.

von Mmmhm (Gast)


Lesenswert?

Noch einer schrieb:
>>dass das Tier damit sehen kann und dass das Tier eine
>>Karte im Kopf hat und weiß, wo sie ist, weil sie weiß, wie
>>sie da hin gekommen ist
>
> Wahrscheinlich geht es nicht primitiver. Du musst für den Saugroboter
> diese ganze aufwendige Strategie umsetzen, mit der Lebewesen ihre
> Position bestimmen.

Selbst die haben Probleme...

Schau einem Insekt zu, selbst das hat mehr Rechenleistung als ein 
Raspberry PI. Und wie navigiert dass? Bsss bump Bsss bump. Und wehe, 
es kommt ein Hindernis (Fensterscheibe). Dann gibts Bss bump bis das 
Viech tot ist.

Wirklich ohne überall anzurennen navigieren können das nur Viecher der 
Kategorie Hund oder Katze. Also mit viel Rechenleistung und 
3D-Bilderkennung.

Also den Funkansatz verfolgen und dann hoffen, das mit RSSI hinzubringen 
ist naiv. Da kenne ich Firmen, die haben Millionen darin versenkt, und 
EINFACHE Lösungen mit mehr als 1m Genauigkeit kenne ich auch keine.

Einfallen würde mir höchstens UWB. Aber mit Bluetooth oder WLAN wird das 
nix.

Hier kannst du mal nachlsen, wie gut man so hinkommt:
https://www.infsoft.de/loesungen/indoor-navigation?gclid=CNCzvcqhhdQCFUQW0wodYqACLA

von Md M. (Firma: Potilatormanufaktur) (mdma)


Lesenswert?

Nach "acoustic indoor positioning" suchen.
Z.B. http://www.mdpi.com/1424-8220/13/3/3501/htm

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.