PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie könnte man ein Objekt genau orten und dann selbstständig zum Ziel fahren? Mit ein



the_droid
19.09.2012, 21:32
Hallo zusammen, =)

Gibt es eine Möglichkeit ein Objekt präzise zu Orten und anschliessend Automatisch zu diesem Objekt zu fahren? Mit einem Arduinoroboter.

Danke jetzt schon

Valen
19.09.2012, 22:07
Eine Möglichkeit gibt es, Statistisch gesehen, jedenfalls. Aber was ist nach deiner Meinung ein "Objekt". Und was ist "präzise". Deine Frage ist jedenfalls nicht präzise. Erkläre dich weiter.

Jaecko
19.09.2012, 22:12
Kommt drauf an, wie viel Aufwand man reinstecken will und wie teuer es werden darf.
Eine durchaus mögliche Möglichkeit:
"Objekt" kriegt einen GPS-Empfänger und sendet die Daten dann per WLAN/GSM/RFM12/Bluetooth/... an den Roboter, der ebenfalls GPS hat und dann einfach die Koordinaten berechnet. Teuer, und funktioniert nicht innerhalb von Gebäuden bzw. auf "kleinem" Raum.

the_droid
19.09.2012, 22:33
Ich möchte zum Beispiel eine Pflanze orten, diese ist mit einem Modul bestückt. Einem RF Transmitter der Messwerte an ein sich auf einem Arduino befinden RF Reciever schickt. Wie kann der Arduino nun die Position genau bestimmen und anschliessend zu dieser Pflanze fahren um sie zu giessen?

Thoralf
21.09.2012, 10:42
Wenn dir ein Ortungsbereich von 100m im Umkreis genügt, wäre die billigste Lösung wie du schon gesagt hast: einenRF-Transmitter an die Pflanze und 2 Empfängermodule mit RSSI-Ausgang auf den Roboter. Dann löte dir ein T-Stück aus ca 10cm breitem Blech mit Seitenlängen von vllt. 10cm (Maße Testen, kann man nicht genau vorher festlegen. Und in die Ecken positioniere die beiden Empfänger:

|
|
|
|
|
|
Receiver 1 | Receiver 2
|
|
__________________________________________________ ___

Nur wenn beide Receiver den Sender sehen, geben sie ein Signal ab, das die max. Feldstärke darstellt (manche Module geben eine min. Spannung ab bei max. Feldstärke!). ich hoffe die Anordnung ist aus meiner Skizze deutlich geworden.
Zur genauigkeit: eigentlich ist eine genaue Peilung egal. Der Robbi "eiert" entweder oder fährt in einer "Hundekurve" aufs Ziel zu. Wichtig ist nur, dass er genug Raum zum Manövrieren hat.

Thoralf
21.09.2012, 10:51
Mist, die Skizze ist misslungen, mal sehen obs jetzt geht:

|
|
|
|
|
|
| Receiver 1
|
|
---------------------------
|
|
| Receiver 2
|
|
|
|
|
|


vG Thoralf

Thoralf
21.09.2012, 15:14
Der RSSI-Ausgang gibt eine feldstärkeproportionale Spannung ab (direkt oder indirekt proportional)
RSSI = received signal strength indication

Das mittlere Blech (muß kein Kupfer sein) bewirkt, dass wenn der Sender seitlich zum Peiler steht, ein Empfänger im Schatten des Blechs liegt. Er sieht ihn also nicht. Der andere Receiver hat dagegen volle Sicht. Der eine RSSI-Out zeigt also volle Feldstärke an und der andere keine oder niedrige an. Der µC misst mit 2 Analogeingängen diese feldstärkeabhängige Spannung und steuert den Roboter so, dass beide Empfänger den Sender sehen = beide RSSIs zeigen die gleiche Feldstärke (= gleiche Spannung an).
Ist es jetzt klarer? Evtl. mach ich noch einemal ein richtiges Bild dazu.

VG Thoralf

the_droid
21.09.2012, 17:24
vielen dank, ja nun ist es etwas besser verständlich für mich.. ein Bild würde mich freuen :)

Thoralf
26.09.2012, 09:33
hier mal ein Bild:23330

Chris266
26.09.2012, 15:49
Um beim Beispiel Pflanze zu bleiben:
Pflanzen haben die Eigenschaft ihren Ort nicht zu verlassen (außer jemand trägt den Topf, in dem die Pflanze wächst, herum).
Daraus wären zumindest die Zielkoordinaten für diese Pflanze immer konstant.
Wenn der Sender der Pflanze eine ID mitsendet, weiß der Roboter welche Zielkoordinaten anzufahren sind.

Der Roboter könnte dann beispielsweise von der Ladestation (=Startkoordinaten) aus zu den Zielkoordinaten fahren.

Es bleibt natürlich dabei den Blumentopf auf die letzten Metern zu "orten", da durch Schlupf der Roboterräder sicher eine Ungenauigkeit zustande kommt. Hierdurch werden die Zielkoordinaten nicht 100% anfahrbar sein.

Die letzten cm/meter können dann beispielsweise optisch erfasst werden. Beispielsweise durch eine IR Lichtquelle die vom Blumentopf aus gesendet wird. Ähnlich macht es auch der Roomba (das Ding dass den Fußboden Staubsaugt und so seine Ladestation findet).

Sofern Blumentopf und Ladestation immer an der selben stelle sind, würde dies einiges vereinfachen.

Vitis
26.09.2012, 20:38
Bleibt das Problem der Stromversorgung des Blumenkübels.

Warum nicht einfach jedem Kübel nen RFID-tag verpassen und den Roboter ne Route abfahren lassen bis der passende Tag vorbei kommt ...
andere Alternative wär dann noch Infrarotbake, der anfordernde Blumenkübel sendet wenn er was braucht einfach modulierte IR-Signale aus, die Bauteile sind preiswert und haben ne recht ordentliche Reichweite 5m sind da schon locker drin, am Empfänger kann man recht gut schirmen, sodass man ne gute Richtcharakteristik bekommt, das erleichtert die Zielfindung ungemein.

the_droid
08.10.2012, 16:33
Vielen Dank für eure Antworten. Ich werde wahrscheinlich die Variante mit dem modulierten IR-Signal in Kombination mit dem RF-Modul testen. Und Vitis -> Stromversorgung durch Solar.

the_droid
09.10.2012, 19:57
Ich habe noch eine Frage zum RSSI-Ausgang. Was ist das genau, also Hardware mässig? Thoralf hat mir bereits eine kurze Beschreibung zur Funktion gegeben. Im Netz habe ich kombinationen aus Transmitter und solchen RSSI-Ausgängen gefunden. Ich kann mir einfach noch nicht vorstellen was das ist.. ein Sensor oder was? :)

the_droid
09.10.2012, 19:58
Beim NFC ist nur eine geringe Reichweite möglich, das heisst maximal 10 cm. Dies wiederum bedeutet, dass die Pflanze nicht selbstständig Kontakt mit dem Roboter aufnehmen kann. Das NFC-Tag ist passiv. Man hätte also keine Probleme mit der Stromversorgung, denn der benötigte Strom wird durch Induktion zur Verfügung gestellt. Ein Nachteil des passiven NFC-Tag ist aber, dass es die auf ihm gespeicherten Daten nicht selbständig ändern und es nur von einem aktiven Lesegerät gelesen werden kann. Man würde deshalb ein NFC-Tag vorprogrammieren und zwar für jede einzelne Pflanze ein eigenes. Darauf sind dann die notwendigen Informationen, wie benötigte Wassermenge, gespeichert. Dies hat den Nachteil, dass das System nicht auf Umwelteinflüsse wie Regen, ungleichmässige Verdunstung oder lange Trockenzeit reagieren kann. Für eine optimale Bewässerung ist dies also nicht die richtige Variante. Das Problem Reichweite könnte durch das Austauschen des NFC-Tag durch einen RFID-Tag gelöst werden. Aber auch dieses ist passiv und es bleiben die gleichen Nachteile bei der RFID-Technologie wie schon bei der NFC-Technologie. Beides sind eigentlich Identifikationstechniken die auf RF (Radio Frequency) basieren.

the_droid
09.10.2012, 20:01
da ich bereits ein paar Module gekauft habe, frage ich mich ob man einen RSSI_output auch nachträglich hinzufügen kann. Denn soweit ich weiss haben meine Module keinen solchen Ausgang.
New 433Mhz RF transmitter module and receiver link kit for Arduino/ARM/MCU WL

TX Technical Specifications:

1. Working voltage: 3V~12V
2. Working current: max≤40mA (12V), min≤9mA(3V)
3. Resonance mode: sound wave resonance (SAW)
4. Modulation mode: ASK /OOK
5. Working frequency: 315MHz-433.92MHz, customized frequency is available.
6. Transmission power: 25mW (315MHz at 12V)
7. Frequency error: +150kHz (max)
8. Velocity: ≤10Kbps
9. Self-owned codes: negative

RX Technical Specifications:

1. Working voltage: 5.0VDC +0.5V
2. Working current:≤5.5mA (5.0VDC)
3. Working principle: single chip superregeneration receiving
4. Working method: OOK/ASK
5. Working frequency: 315MHz-433.92MHz, customized frequency is available.
6. Bandwidth: 2MHz (315MHz, having result from testing at lowing the sensitivity 3dBm)
7. Sensitivity: excel –100dBm (50ω)
8. Transmitting velocity: <9.6Kbps (at 315MHz and -95dBm)

Thoralf
10.10.2012, 07:23
der RSSI-Ausgang ist ein feldstärkeproportionales Signal:

- hohe Feldstärke = hohe Spannung
- niedrige Feldstärke = niedrige Spannung

Mitunter ist es auch genau umgekehrt. Egal, zumindest ist es immer eine direkte Proportionalität, aus der sich die Feldstärke ableiten läßt.
Intern im Receiver- oder Transmittermodul läuft das so ab, dass das HF-Trägersignal (z.B. 433 MHz oder 2,4 GHz) mit dem aufmodulierten Datensignal gleichgerichtet wird und mittels Tiefpass geglättet wird. Diese am Ausgang anstehende Gleichspannung geht auf das RSSI-Pin und signaliesiert die Stärke der hochfrequenten Trägerfrequenz.
So einen Ausgang kann man nicht nachrüsten. Dazu müßte man den gekapselten Funkmodul knacken und versuchen, das HF-Signal bzw. die Zwischenfrequenz (Superheterodyn, googeln) zu finden und dort eine Strippe anzulöten. Meist verstimmst du den Modul so, dass es garnichtmehr geht oder es Ärger mit Störstrahlung gibt oder beides.
Das digitale Ausgangssignal ist zu so einer Feldstärkeanzeige nicht zu gebrauchen, da im Modul das Signal auch bei schwacher Feldstärke soweit nachgeregelt wird, dass sich noch ein auswertbares Datensignal ergibt. Erst wenn die HF sehr schwach geworden ist, schaltet der Modul die Datenausgabe einfach ab. Mit so einem Verhalten ist keine analoge Feldstärkeindikation möglich.

the_droid
10.10.2012, 10:45
also muss ich ein solches Modul nehmen? -> http://www.made-in-china.com/showroom/schichin/product-detailnqKmQRvOafpX/China-434MHZ-ASK-Superheterodyne-RSSI-Receiver.html
hättest du eine andere Idee wie ich mit meinen oben angegebenen Modulen eine solche ortung aufgrund der Signalstärke durchführen könnte?
Hier mal ein kleines Video dazu -> http://www.youtube.com/watch?feature=endscreen&v=nTrnYhIXzGc&NR=1 oder http://www.youtube.com/watch?v=lGA4d292vNw&feature=related

Thoralf
10.10.2012, 12:44
ja, die Module sind geeignet. Guck aber unbedingt ins Datenblatt, ob direkte oder umgekehrte Proportionalität (RSSI = f(Feldstärke) oder RSSI = f(1/Feldstärke) vorliegt.
Bei der Auswertung ist das keine Problem, man muß es nur wissen...:-)

Im Freifeld (also ungestört durch weitere Sender bzw. keinerlei Hindernisse) ist eine Entfernungsmessung grundsätzlich möglich. Ich persönlich würde auch nach gründlicher Kalibrierung mit Bandmaß und RSSI-messung nicht unbedingt Zentimetergenauigkeit annehmen.

Und zur Richtungsbestimmung sollte man eine Scanmethode benutzen: Roboter drehen bis beide RSSIs in etwa dasselbe anzeigen, Roboter dorthin fahren lassen, Kurs immer wieder ändern, bis RSSI-Ausgänge gleich sind. Mit so einer einfachen Regelung gelangt man bis in Sendernähe.

Wenn du einen bestimmten Blumentopp anfahren willst, sollte nur dessen Sender aktiv sein. Das kann man mit Aussendung einer Kennung realisieren.

Valen
10.10.2012, 12:53
also muss ich ein solches Modul nehmen? -> http://www.made-in-china.com/showroom/schichin/product-detailnqKmQRvOafpX/China-434MHZ-ASK-Superheterodyne-RSSI-Receiver.html
hättest du eine andere Idee wie ich mit meinen oben angegebenen Modulen eine solche ortung aufgrund der Signalstärke durchführen könnte?
...Ich habe for einige Wochen ein Blog auf das Internet angesehen uber diese 433MHz AM modulen. Ein RSSI output gibt es oft nicht. Aber wenn die Empfanger eine analoge Ausgang hat, könnte das ein Indikation der Feldstarke enthalten. Die Empfänger hat meist einer automatische Verstarkungreglung. Wenn es Langweilig die Sender empfangt soll die Ausgang der Empfänger leicht senken. Die Rampe sollte ein maß für die Feld-starke sein. Leider kann ich die Internet Seiten nicht wieder finden. Ich werde gleich weiter suchen.

the_droid
10.10.2012, 13:36
danke euch beiden, jetzt habe ich das ganze langsam aber sicher kappiert :) und habe dem Hersteller auch schon eine E-mail geschrieben ob er mir mal so ein paar Müsterschen schicken kann. ^^
Das mit dem einzellnen Blumentopf ist durch Aussendung einer Kennung zu realisieren.. wie geht das genau und was versteht man darunter?

Thoralf
10.10.2012, 14:23
Möglichkeit 1:
Die Empfänger aller Blumentöpfe sind ständig hörbereit. Der Roboter funkt einen Befehl, der aus einer bestimmten Zahl oder einem Buchstaben besteht (im ASCII-Code).
wenn nun ein Blumentopf hört, mensch meine Nummer kommt gerade, dann sendet er bis zum eintreffen eines Stopsignals. Der Roboter stoppt das sende, da ja ein Blumentopf im Raum rumschreit und peilt den an, fährt entlang der Peillinie zum Topp. Ist er da, sendet der Roboter ein Stoppsingnal und beendet das senden des Topfes.

Möglichkeit 2:
Alle Töppe senden in einem Zeitraster ihre Kennungen. Empfängt der Roboter die Kennung des Topfes mit der richtigen Kennung, wertet er in dem Moment die RSSI-Signale aus (Peilt dadurch den Topf an) und fährt auf der Peillinie los.

Möglichkeit 2 ist schwieriger zu realisieren, da jeder Topf wissen muß, wann er senden darf. Prinzipiell könnte er durch ein Funkuhr-Signal mikrosekundengenau senden. Aber einfache Funkuhrmodule geben nur ein Sekundensignal aus. Bei 20 Töpfen wäre jeder aller 20 Sekuneden auf Sendung. Das ist für eine Kursregelung zu ungenau.
Mögl. 1 ist da schon besser. Da jeder Topf individuell Sendeerlaubnis bekommt, kann er bis zum Eintreffen des Robbis auf Sendung bleiben.

Valen
10.10.2012, 14:29
Ich habe for einige Wochen ein Blog auf das Internet angesehen uber diese 433MHz AM modulen. Ein RSSI output gibt es oft nicht. Aber wenn die Empfanger eine analoge Ausgang hat, könnte das ein Indikation der Feldstarke enthalten. Die Empfänger hat meist einer automatische Verstarkungreglung. Wenn es Langweilig die Sender empfangt soll die Ausgang der Empfänger leicht senken. Die Rampe sollte ein maß für die Feld-starke sein. Leider kann ich die Internet Seiten nicht wieder finden. Ich werde gleich weiter suchen.Habe es gefunden:

http://davehouston.org/RFTipsTricks.htm

the_droid
10.10.2012, 14:59
Irgendwie ist deine 1. Möglichkeit verkehrt. Es ist ja die Pflanze die von sich aus sendet wenn sie wasser benötigt. oder? Aber vielleicht könnte sie auch in intervallen die Messwerte des Feuchtigkeitssensors schicken und der Robi beurteilt dann ob die Pflanze wasser braucht oder nicht. erst dann sendet der Blumentopf ein entsprechendes spezielles nur ihm gehörendes Signal. so etwa? Und bei deiner 1. Möglichkeit müssten es Transreciever sein... Senden und empfangen oder? Eventuell könnte man auch den Feuchtigkeitssensor und den Transmitter an einen Microcontroller anschliessen..der Sender sendet dann so lange bis sich der Wert des Feuchtigkeitssensor wieder um einen gewissen Prozentsatz verändert hat... sehr wahrscheinlich muss dann noch die eindeutige identifizierung ins Spiel kommen falls mehrere gleichzeitg senden..

Thoralf
10.10.2012, 15:20
zu Mögl. 1:
wie wäre es, wenn der Robbi zyklisch die Töpfe abfragt, ob sie Wasser benötigen. Braucht einer was, fährt der Robbi hin und gießt. Danach fragt er den nächsten Topf ab usw. bis er durch ist.
Die Töpfe brauchten dann Transceiver.

Eine andere variante wäre, daß ein Zentralcontroller oder PC die Töpfe abfragt und den Roboter den Startbefehl erteilt. Der PC schaltet dann den Topfsender ein und der Roboter ermittelt eigenständig den Kurs und fährt autark hin.