PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Projekt-Arbeit 2006/2007



Vectra--b
06.03.2007, 18:13
Hi...

In diesem Schuljahr 2006/2007 unserer Techniker Schule werden wir ein Projekt mit einem mobilen Roboter machen. Der Roboter soll eine 2D Karte einer unbekannten Umgebung auf dem Bildschirm ausgeben. Vor ca. einem Monat haben wir das Projekt gestartet und bisher nur reine Planung gemacht und an Schlatplänen gebastelt.

Im Lastenheft sind folgende Punkte:

Der Roboter soll mit absolut messenden Positionssensoren arbeiten ohne GPS, Funkpeilung usw.

Dabei treten 2 Probleme auf:

1.Lokalisierung
Die Position muß geschätzt werden. Dazu werden Massdaten verwendet, die den Zustand des Roboters beschreiben wie zum Beispiel Odometrie. Die Sensoren sollen intrementell arbeiten.

2. Kartenerstellung
Die Karte wird aus Messdaten erstellt, die während der Fahrt aufgenommen werden. Es ist erforderlich, den Ort zum Zeitpunkt der Messung zu erhalten; dazu ist eine gut arbeitene Lokalisierung erforderlich.

Projektauftrag:

Hardware

Steuerung

Soll mit einem Microcontroller realisiert werden aus der Atmel AVR Familie. Es sind Schaltung und Platine zu entwickeln. Antrieb Über 2 Getriebemotoren mit Ansteuerung über einen L293 oder L298 Lokaliesierung über Inkrementalgeber. Entweder IR-Reflektor oder Gabellichtschranke.

Kartenerstellung:

Zur Erkennung von Hindernissen und Abstandmessung sollen PSD Sensoren eingesetzt werden. Entweder variabe oder feste Sensoren. Funkschnittstelle Roboter soll über eine Funkschnittstelle verfügen, über die vom PC aus gesteuert werden kann und Messdaten zum PC übermittelt werden. Es soll 433MHz Funkmodul verwendet werden, das über die RS232 Schnittstelle des Controllers bzw. des PC betrieben wird.

Software Anforderungen MC-Software

Die Motoren sollen unabhängig voneinander sein. Über die Inkrementalgeber soll die Postion genügend genau bestimmt werden. Zur Kartographierung soll das unbekannte Gebiet mit einem Gitternetz belegt werden und mit Hilfe der Sensoren erkannte Hindernisse eingetragen werden.. Der Roboter soll auch in der Lage sein nach einer fertigen Karte fahren zu können.

Software

Anforderung PC-Software

Es soll eine graphische Oberfläche bereitstellen mit der sich der Roboter steuern läßt. Der aktuelle Betriebszustand soll angezeigt werden. Die Messdaten sollen auf dem PC angezeigt werden. Eventuell kann auch eine Karte auf dem PC erstellt werden und an den Roboter übertragen werden. Für die Kommunikation zwischen PC und Microcontroller soll ein erweiterbares ASCII-Protokoll entwickelt werden. Der Aufbau und die verfügbaren Befehle dieses Protokolls sind ausführlich zu dokumentieren.

Aufbau und Dokumentation der Software

Dei Software soll strukturiert und modular aufgebaut werden. Der Quelltext soll übersichtlich eingerückt und ausreichend kommentiert werden. Es ist darauf zu achten, dass Teilproblem in wieder verwendbaren Funktionen ausgegliedert werden. Für Variable sollen "sprechende Namen" verwendet werden, aus denen auch der Datentyp erkennbar ist. Wichtige Programmabläufe müssen durch Struktprogramme bzw. Programmabläufe (PAP) dokumentiert werden.


Bei Anregungen und Tipps könnt ihr uns gerne weiter helfen... für uns ist das alles Neuland!!!

Bluesmash
06.03.2007, 18:33
vielleicht gibt euch mein bot einwenig anregungen... er ist noch lange nicht fertig aber schon recht weit...
z.b. können umgebaute servos für den antrieb gut herhalten und mit ein bisschen bastlegeschick kann man auch gleich nen impulsgeber einbauen... link ist in der signatur... *werbung für meine page* ;)

gruss bluesmash

HannoHupmann
07.03.2007, 10:04
Tja da haben die euch einen orgendtlichen Brocken hingeworfen. Das mit den 2D Karte ham nämlich bisher die wenigstens hier hinbekommen.
Aber gehen wir mal davon aus, dass diese nicht 100% genau sein muss (was sie auch nie werden wird) dann kann man das Problem schon recht gut Lösen.

Schritt eins ist also einen geeigneten Roboter bauen (mechanisch) und dann die Software zu optimieren bis das gewünschte Ergebnis erziehlt wird.

jeffrey
07.03.2007, 10:59
hallo,
es wär noch interessant zu wissen, welche fläche vermessen werden soll, mit welcher auflösung und in welcher zeit. ist von der umgebung irgendetwas bekannt? z.b. ist das ganze ein zimmer mit hindernissen, dann kann man davon ausgehen, dass winkel 90!°, oder andere zusätzliche informationen, z.b. gerade wände. damit kann mann dann messfehler rausrechen.
mfg jeffrey

Vectra--b
07.03.2007, 19:19
Hallo zusammen...

Erst mal vielen dank für die schnllen Antworten. Wir 3 sind ja nun in der Schule schon seit über einen Monat am planen und basteln (3 Tage in der Woche á 180min). Natürlich hat sich schon ein wenig getan. Wollten DIESE Woche eigentlich schon einen fahrbaren Roboter haben der geradeaus fahren kann aber damit werden wir wohl erst nächste Woche ferig sein.

Foldende Dinge wurden schon umgesetzt...

1. Bei dem Microcontroller haben wir uns für ein fertiges Board mit einem Atmel128 entschieden und setzten da erst mal auf funktonierende Technik!!! Wir haben uns für das RN-Mega128Funk von Robotikhardware.de entschieden Wenn zeitlich nach hinten noch Luft ist wird ein eigenes noch entwickelt.

2. Das Fahrwerk mit einer runden 225mm großen Plexiglasplatte ist angefertigt. Darunter sind 2 Getriebemotoren mit Inkrementalgeber und beweglichen "Stützrad" hinten ran.

3. Die Prototypplatine mit dem L298 Motortreibern ist fertig und einsatzbereit. Für die Entstörung werden Optokoppler verwendet und um gefährliche induktionsspannungen zu verhindern werden vor den Motoren Freilaufdioden verwendet.

In den nächsten Wochen werden Kompass, LCD, Sensoren, RS232 Funkschnittstelle PC seitig entwickelt. aber zunächst müssen die 3 fertigen Teile zusammengebaut werden!!!

@ Bluesmash
Danke für die Anregung... du kannst uns sicher hier und da gut weiterhelfen!!! Wir wollten auf feste Sensoren setzten... haben die beweglichen einen Vorteil??? Ist das nich schwerer umzusetzten???

@HannoHupmann
Wir haben auch ganz gut gestaunt als das wir das Lastenheft gesehen haben. Aber man muß ja das Rad nicht neu erfinden!!! Deswegen haben wir uns hier mal angemeldet um schnell an Tipps zu kommen. So genau muß die Karte sicher nicht sein. Im Prinzip geht es erstmal darum dass es möglich ist sowas umzusetzten. Feinheiten kommen irgendwann vielleicht mal. Der Roboter soll im ersten Schritt einfach nur geradeaus fahren können. Wir bauen Teil für Teil dran.

@jeffrey
Es sollen Räume beim fahren gemessen werden die so in der Größe eines Klassenzimmers liegen soll (ca. +/- 50m²). Es kommt nicht auf den Zentimeter an und der kleine Robi kriegt alle Zeit der Welt. Hindernisse können alle möglichen sein... so wie Stuhl, Tisch, Schrank oder einfache Dinge die im Weg liegen. Der Raum soll beim Start total unbekannt sein... in jeder hinsicht. Später können ihm aber auch bekannte Räume vorgegeben werden wonach er fährt.

MfG

STS Team

PS: Vielleicht kommen bald ein paar Bilder

HannoHupmann
08.03.2007, 07:05
@Vectra-b seid euch bewusst, wenn es um Karten erstellung geht, dann gibts reichlich wenige Nutzer, die auf diesem Gebiet, das Rad bereits erfunden haben.
Aber es gibt einiges an guter Literatur zum Thema Mapmaking für Roboter und es ist auch kein unlösbares Problem. Damit will ich euch nur darauf hinweisen, dass dieser Punkt sehr viel Zeit in Anspruch nehmen kann.
Es mag vielleicht algorithmen im Netz geben die sich bereits mit Karten ausseinander gesetzt haben, dann müsst ihr noch weniger selber entwickeln.

plusminus
08.03.2007, 08:39
also sich bei der Kartenerstellung nur auf die Odometrie-Daten zu verlassen ist ziemlich ungenau, vor allem wenn sich der Roboter 3-4x gedreht hat und schwups hattet ihr ein bisschen Schlupf drin und schon steht der Roboter 5° anders als erwartet.

Irgendwo hier im Forum hatte ich jemand mit einem SLAM-Ansatz gesehen... weiß nimmer genau wo... hatte nen rotierenden IR-Sensor oben drauf...

STS-Robotics
08.03.2007, 18:07
Wir haben unseren Benutzernamen geändert!!!

Die Kiste soll kein ausgereiftes super modernes Hitech Gerät sein, sondern im großen und ganzen soll die Idee einfach nur umgesetzt werden. Es kommt nicht auf den Zentimeter an und es müssen keine verläßlichen Daten sein. Wir hoffen mit hilfe des Kompasses die Fehler zu verringern und Fahrtrichtungen besser steuern zu können. Über jeden Tipp für die Software wären wir glücklich!!!

STS-Robotics
08.06.2007, 13:35
Hallo zusammen...

Nach langer langer Zeit meld ich mich noch mal. Es hat verdammt viel Zeit gekostet die Idee und das Projekt umzusetzten, aber im großen und ganzen hat dann doch geklappt. Leider läuft alles noch nicht ganz rund und es sind noch einige Fehler in der Software, aber man kann als absolute Roboter Neulinge recht Stolz auf das sein was man sich erarbeitet hat. In 1 1/2 Wochen ist Abgabe der Projektarbeit.... zumindest für die Dokumentation. Und nach den Sommerferien muß eine Präsentation über das Projekt gemacht werden. Werd die Tage ein paar Bilder hoch laden...!!!

mfg

...STS-Team

HannoHupmann
12.06.2007, 18:48
cool freu mich schon auf bilder

STS-Robotics
30.06.2007, 19:15
Hallo zusammen...

Hab jetzt mal ein wenig Zeit gefunden den kleinen Roboter vorzustellen...


STS R1/V10
http://www.silver-vectra.de/roboter.jpg

Maße:
- 300mm Roboterdurchmesser (inkl. Bumperleiste)
- 235mm Höhe über alles
- 2,5kg Gesamtgewicht

Versorung:
- Empfohlene Nennspannung 12V
- Minimale Nennspannung 7,5V
- Maximale Nennspannung 15V
- Stromaufnahme im Standby max. 0,29A
- Stromaufnahme bei Volllast max.1,2A
- Maximale Ladezeit bei vollständig entladenem Akku 10 std.
- Maximale Einsatzzeit bei vollständig geladenem Akku 4 - 8 std.

Eigenschaften:
- Maximale Geschwindigkeit 9cm/s
- Hinderniserkennung bis max. 260mm
- Max. Abstand zum PC ohne Antenne max. 5m
- Max. Abstand zum PC mit Antenne max. 200m

Module:
- Microcontrollerboard (ATmega128+RS232 Funk)
- 12V Akku (4Ah)
- Spannungsversorgung (12V/5V/0V)
- Motortreiber (für 2 Getriebmotoren)
- Kompass
- 4 IR-Sensoren (analog)
- Filterplatine für IR Sensoren
- 4 Bumper
- LCD
- 2 Inkrementalgeber
- über Bootloader programmierbar

http://www.silver-vectra.de/programm.jpg

Software:
- Schnittstelle öffnen/schließen (RS232- Funk)
- 2 Betriebsarten
Handbetieb mit Ferbedienung
Automatikbetrieb Erstellung einer Karte
- Hinderniserkennung durch vier Infrarotsensoren und Bumperleiste
- Roboterpositionsbestimmung mittels Kompass und Inkrementalgeber
- Ausgabe der 4 Sensor AD-Werte, aktuelle X/Y Position, gefahrene Strecke, Kompassrichtung
- Anzeige der empfangenen Daten

http://www.silver-vectra.de/stslogo.jpg

Die Dokumentation über den Roboter wurde 287 Seiten lang und alles wurde so zusammengestellt dass der Roboter quasi nachbebaut werden könnte. Nach den Sommerferien müssen wir den STS R1/V10 noch bei einer Präsention in der Schule vorstellen. Was es für eine Note gab, kann ich erst in ein paar Wochen sagen.


Erstes Präsentionslayout...
http://www.silver-vectra.de/Prasentation.jpg