Go Down

Topic: Roboterprojekt (Read 2 times) previous topic - next topic

AnNaAF79

Aug 03, 2012, 10:54 pm Last Edit: Aug 04, 2012, 04:54 pm by AnNaAF79 Reason: 1
Hi Leute,

ich stecke gerade in der Mitte der Planung für mein Roboterprojekt.
Der Roboter soll in 2 Phasen entwickelt werden und über 2 Hauptmodi verfügen.


Phase 1:
Der Roboter soll sich Remote (von einem PC oder Smartphone) steuern lassen, dh auf Kommandos wie VOR, ZURÜCK, RECHTS, LINKS und Geschwindigkeitsanpassungen etc. reagieren.
Die Kommunikation (Empfang der Kommandos) soll dabei über eine WiFi Verbindung (alternativ später vllt irgendwann mal 3G) erfolgen.
Normalerweise würde ich hier auf etwas wie HTTP basierte Kommunikation zurückgreifen, bin mir aber noch unsicher welche Optionen es gibt.
Während der Roboter gesteuert wird soll er fahrbare Wege "lernen" (auf einer virtuellen Karte "speichern") und Hindernisse erkennen (und ebenfalls "abspeichern").
Kernfrage ist ob diese Karte auf dem Roboter hinterlegt wird oder auch auf dem Rechner/Smartphone welches steuert. Tendenz ist dies auch auf dem Roboter zu hinterlegen.
Eine Idee wäre daher auf dem Roboter einen kleinen Webserver, evtl. mit PHP laufen zu lassen so dass die Kommandos zB via REST gesendet werden können und die Karte via REST abgefragt oder HTML visualisiert werden kann; Frage ist nat. ob hierzu die Rechenpower ausreicht.
Während der Fahrt kann eine Kamera und ein Mikrofon zugeschaltet werden um die Fahrt live zu verfolgen.
Dies also erstmal die Grundidee.

Phase 2:
Der Roboter der nun virtuelle Karten gelernt hat soll nun von einem beliebigen Punkt A nach B geschickt werden können und den Weg ohne aktive Steuerung selbst zurücklegen.

So, dies also er Plan.
Vorweg: Informatiker, etwas Elektronik/Digitaltechnikkenntnisse, aber noch nicht viel mit Robotik und/oder Arduino gemacht.
Aber ich habe Zeit und bin experimentierfreudig :)


Nun, zum Equipment:

1) Chassis/Fahrzeug
Ich benötige ein Chassis und denke dabei an ein geräumiges Fahrzeug in/auf dem ich problemlos mein Equipment unterbekomme; evtl. falls die Rechenleistung nicht reicht auch ein zweites Board etc.
Das Chassis sollte schon mit ansteuerbaren Antrieb (optimal auch Geschwindigkeitsregelbar) ausgestatt sein.
Es gibt dafür ja fertige Kits; manche nehmen aber wohl auch Kinderspielzeug und bauen es um.
Empfehlungen?
VIelleicht sowas?: http://www.amazon.de/Amewi-22053-Monstertruck-farbich-sortiert/dp/B002AR0LUU

2) Board
Für Phase 1 würde ich als Board erstmal das Mega ins Visier nehmen.
Im Auge habe ich: http://www.watterott.com/de/Arduino-Mega-2560 oder http://www.watterott.com/de/Arduino-Mega-ADK (siehe unten)

3) Shields
a) WiFi - doch welches und warum?
WiFi sollte sich eine IP über DHCP holen können; Verschlüsselung wie WEP und WPA1/2 wäre toll.
Im Auge habe ich: http://www.watterott.com/de/Arduino-RedFly-Shield oder http://www.watterott.com/de/SparkFun-WiFly-Shield

b) Entfernungs/Hindernisssensor?
IR/Ultrasonic? Was ist besser?
Ich bräuchte ja vermutlich min. 4 (für jede Seite einen)
Empfehlungen?
Im Auge habe ich: http://www.watterott.com/de/Ultraschall-Entfernungsmesser

c) "Webserver"?
Empfehlungen?

d) Speicher für die Karte?
Evtl. für Speicherung auf SD Karte?
Empfehlungen?
Im Auge habe ich: http://www.watterott.com/de/MicroSD-card-breakout-board-v1
Macht das Sinn: http://www.watterott.com/de/Adafruit-Data-Logging-Shield

e) Video/Audio?
Empfehlungen?
Audio: http://www.watterott.com/de/Breakout-Board-mit-ADMP401-MEMS-Mikrofon oder http://www.watterott.com/de/Breakout-Board-mit-Kondensatormikrofon
Was ist ein Breakoutboard? :)

Video: http://www.watterott.com/de/LinkSprite-JPEG-Color-Camera-TTL-Interface

Für Phase 2 bräuchte ich dann wohl noch mehr Sensoren, insb. Geschwindigkeitssensoren, Hindernisssensoren, etc.
Was denkt Ihr würde man da normalerweise brauchen?
Sicher mal irgendwas um die Richtung festzustellen: http://www.watterott.com/de/MicroMag-3-Achsen-Magnetometer
Und die Geschwindigkeit: Mit was misst man die?
Oder eben GPS, aber ds geht ja dann in der Wohnung nicht.

Update (Danke ans Forum für diese Tipps!):
Encoderset: http://www.watterott.com/de/Pololu-42x19mm-Rad-Encoder-Set
Oder über Lichtschrankenansatz

Reicht die Power eines Mega für das Projekt aus bzw. welche Alternativen (2 Boards etc.) gibt es?
Eine Idee wäre es sonst mein Android Smartphone für den Empfang der Kommandos, Abspeicherung der virtuellen Karte und Anzapfung von Video/Audio irgendwie mit dem Board zu verbinden.


Um am Anfang etwas mit dem Arduino warm zu werden, gibt es da gute "Lernkits" mit dem notwendigen Anfangsequipment wie "Steckplatinen", "Gekabel", paar LEDs und Widerstände etc.?
Und noch eine ganz dumme Frage hinterher? Wie verbinde ich die Shields am besten mit dem Board?


Danke!


michael_x

Quote
...die Karte via REST abgefragt oder HTML visualisiert werden kann; Frage ist nat. ob hierzu die Rechenpower ausreicht.
Während der Fahrt kann eine Kamera und ein Mikrofon zugeschaltet werden um die Fahrt live zu verfolgen.

"HTML visualiseren" braucht keine Rechenpower auf dem Server, solange du an Text denkst. Vergiss Grafik, HTML = ASCII Text.
Wenn wie Verbindung zwischen webcam und Arduino aus einem digital Signal oder meinetwegen einem http GET oder POST  für (Kamera an / Kamera  aus) besteht, kein Problem. Für alles andere bin ich auf deine Projektvorstellung gespannt.


Quote
Phase 2:
Der Roboter der nun virtuelle Karten gelernt hat soll nun von einem beliebigen Punkt A nach B geschickt werden können und den Weg ohne aktive Steuerung selbst zurücklegen.

Was versehst du unter "gelernt" ? In Phase 1 hast du etwas gespeichert, was man "Karte" nennen kann. Unklar ist mir, wie daraus "eigene" Aktionen entstehen können. Aber ich bin kein AI Experte...

Wenn du sagst, das ist alles kein Problem für mein Android, nur die Räder und Motoren fehlen, dann ist ein Arduino auf jeden Fall richtig.


Quote
d) Speicher für die Karte?
Evtl. für Speicherung auf SD Karte?
Empfehlungen?
Im Auge habe ich: http://www.watterott.com/de/MicroSD-card-breakout-board-v1
Macht das Sinn: http://www.watterott.com/de/Adafruit-Data-Logging-Shield

Der eine kann microSD, der andere hat eine DS1307 Uhr, was für data logging sehr sinnvoll ist.

Quote
Und noch eine ganz dumme Frage hinterher? Wie verbinde ich die Shields am besten mit dem Board?
Du nimmst den Arduino in eine Hand, das Shield in die andere, und steckst beide so zusammen, dass es passt. Wie Lego, nur in einem anderen Rastermaß und elektrisch.
Bei einem Breakout Board (statt Shield) ist es etwas komplizierter. Da ist evtl. nur das Rastermass passend und du brauchst noch ein bisschen Bastel-Draht und ein Steckbrett für den Start. Ein paar LED / Widerstände sollte man auch zur Hand haben. Ob man sich ein Lernkit zulegt, in dem noch ein paar Spielsensoren sind, oder ob man gleich mit den Sensoren, die man kennenlernen will, spielt, ist eher Geschmackssache. 

mkl0815

Klingt nach einem spannenden Projekt. Ich hoffe Du hältst durch, denn es wird ein sehr langer Weg.
Als Webserver würde sich vermutlich der Raspberry Pi anbieten der dann via UART (serielle Schnittstelle) die Steuerbefehle an einen Arduino weiterleitet. Ggf. reicht der Raspberry auch allein, allerdings ist da die Zahl der GPIOs recht klein.

AnNaAF79

Danke.
Ich werde sicher einen Blog einrichten und Euch gerne an dem Verlauf teilhaben lassen.
Die Idee mit dem Rasperry kam mir auch schonml.

Hat jmd noch Antworten/Empfehlungen zu meinen Fragen oben?
Chassis, Sensoren, Berechnung der zurückgelegten Entfernung (Geschwindigkeit) etc?

Megaionstorm

#4
Aug 04, 2012, 10:56 am Last Edit: Aug 04, 2012, 11:02 am by Megaionstorm Reason: 1
Quote
Während der Fahrt kann eine Kamera und ein Mikrofon zugeschaltet werden um die Fahrt live zu verfolgen. Dies also erstmal die Grundidee.


Bei all den von dir geplanten Features würde ich mich selber wahrscheinlich für einen STM32F4 Discovery und nicht für einen Arduino entscheiden !

STM32F4 Discovery:
http://www.watterott.com/de/STM32F4Discovery
Mein Arduino Projekte Blog:
http://ardu-megatank.blogspot.de/

Go Up