Download - Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

Transcript
Page 1: Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

Praktikum „Mobile Roboter“Roboter „Profi“Gruppe APatrick Fleischmann Jonas MitschangRobert Becker Marcel ZimmerThomas Pfister Luc Heischbourg

TU KaiserslauternFebruar 2007

Page 2: Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

2

Hardware

Verkürzung des Roboterchassis um 5cm um die Beweglichkeit des Roboters zu verbessern

Page 3: Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

3

Hardware

Teilweise Tieferlegung der oberen Plattform zu besseren Unterbringung des Mini-PC und der Akkus, sowie zur Verlagerung des Schwerpunktes

Page 4: Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

4

IR-Sensoren - Hardware

Short-Range IR-Sensoren, Long-Range IR-Sensoren

Page 5: Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

5

Hardware

Mini-PC

Kamerasystem

DSP-Boards

Akkus

P.R.O.F.I.Profi

RobotObservation andForkliftingIndividual

Page 6: Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

6

Übersicht

SensorsAuswertung TasterAuswertung IR-SensorenOdometrie

Camera

Objekterkennung

Mapping

Aufbau globaler Karte

GUIDarstellung KarteDarstellung ParameternEingaben

VehicleControlWegfindungKollisionsvermeidungHardwareansteurerung

MasterControl

Verhaltenssteuerung

ForkControl

Ansteuerung Gabelhw.

Page 7: Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

7

Camera

Camera

Objekterkennung

Mapping

Aufbau globaler Karte

BlackboardMapObjectType type; float pos1_angle; float pos1_distance; float pos2_angle;

float pos2_distance;

Page 8: Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

8

Kamerasystem / „Omnivision“ - Camera

• Technik– Indirektes Kamerabild über

Spiegelung an einer Kugel (Suppenkelle)

– Auflösung 640x480 Pixel– 1 Bild/s– „automatisierter“

Weißabgleich durch weiße Fläche um die Kamera

• Vorteile– größeres Sichtfeld in alle

Richtungen

Page 9: Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

9

Kamerasystem / „Omnivision“(2) - Camera

• Nachteile– Verzerrungen durch

Verarbeitungsfehler / Verschmutzungen des Reflektors

– Reflektor nicht kugelförmig– geringere Auflösung (als nach

vorne gerichteter Ansatz)– Komplexere Berechnungen– Ausrichtung, Befestigung,

Justierung aufwändig und fehleranfällig

Page 10: Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

10

Abstandskalibrierung - Camera

• Aufnahme eines Punkterasters (25x25cm)

• Markieren der Punkte mit Einlesen des Radius (Abstand Rasterpunkt – Roboter)

x y distance411 225 25487 231 50531 232 75556 233 100571 234 125409 132 35

Page 11: Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

11

Abstandskalibrierung (2) - Camera

• 3D-Interpolation der Punktematrix mit Matlab

vorgerechnete Abstandswerte

• Vorteile– Keine „Berechnungen“ zur

Laufzeit– geringer

Speicherverbrauch (300KB)

• Nachteile– Fehler bei der

Interpolation

Page 12: Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

12

Vorversuche (1) - Camera

Oben:Kantendetektion mittels

Canny-Algorithmus zur Kantenextraktion

Unten:Entzerrung des Kamerabildes(Versuch)

Page 13: Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

13

Lastobjekt-, Baseerkennung - Camera

• Einsatz von CMVision-Funktionen (getRegions) zur Lastobjekt-, Basen- und Gegnererkennung

• Mehrere Modifikationen:– Ignorieren kleiner Bereiche– Zusammenfassen kleiner

benachbarter Bereiche

• Übergabe der Objekte in Polarkoordinaten an die Karte (Mapping)

Page 14: Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

14

Wanderkennung - Camera

• Bounding Boxes nicht ausreichend (versperrte Wege, nicht erreichbare Lastobjekte)

• „Strahlenalgorithmus“– Erkennung einzelner

Randpunkte der Wand– verbinden der Punkte zu einem

Liniensegment– Erzeugung eines neuen

Liniensegments, falls kritischer Winkel überschritten wird

Page 15: Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

15

Wanderkennung (2) - Camera

Page 16: Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

16

Seitenwanderkennung - Camera

• Notwenig um Objekte außerhalb der Seitenwände zu ignorieren

• Begrenzung des Spielfeldes zu ermitteln

• Problem:– Lichtreflexionen auf dem

Boden– Abstandsberechnung weit

entfernter Objekte extrem ungenau (+-20cm)

Seitenwand instabil in der Karte

Page 17: Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

17

Seitenwanderkennung (2) - Camera

• Deshalb:– Beschränkung auf das

Verwerfen der Objekte hinter den Seitenwänden

• Effiziente Implementierung durch destruktives Arbeiten auf dem Bild– Reduziert CMVision-

Aufwand

Page 18: Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

18

Mapping

SensorsAuswertung TasterAuswertung IR-SensorenOdometrie

Camera

Objekterkennung

Mapping

Aufbau globaler Karte

GUIDarstellung KarteDarstellung ParameternEingaben

VehicleControlWegfindungKollisionsvermeidungHardwareansteurerung

Page 19: Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

19

Globale Karte - Mapping

• Vorteile– „souveränes“ Navigieren

auf dem Spielfeld– komplexe Bewertung des

Umfelds– leichte Wiedererkennung

von Objekten• Nachteile

– Große Probleme bei ungenauer Odometrie

Page 20: Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

20

Erstellen der absoluten Karte - Mapping

• Kamera liefert Polarkoordinaten relativ zum Roboter• Umrechnung in absolute karthesische Koordinaten:

– pabs = (αrel + α blickrichtung, d).toCartesian() + proboter

Page 21: Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

21

Erstellen der Karte: Pömpel - Mapping

• Wiedererkennungsradius: 20 cm• Aktualisieren des Alters• Nach 3s: Entfernen des Objekts• Ignorieren von Lastobjekten:

– auf den Basen– auf der Gabel

Page 22: Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

22

Erstellen der Karte: Basen - Mapping

• Basen weit auseinander• Feste Position auf Karte• Gute Erkennung durch Kamera

– Wiedererkennungsradius groß: 1m– Eigene Basis

• Wird sicher erkannt• Unbegrenzte Lifetime

– Lifetime gegnerische Basis: 15s

Page 23: Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

23

Darstellung der Karte - Mapping

• Basen– Implementierung gefüllter Kreise für das MCA

GeometryBackboard– Farbliche Unterscheidung

• Pömpel– Implementierung von Textausgabe für das MCA

GeometryBackboard– Anzeige von ID, Rating und Alter– Ausblenden sterbender Pömpel

• Hindernisse• Wegpunkte mit A* Graph• Roboter

Page 24: Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

24

MasterControl

GUIDarstellung KarteDarstellung ParameternEingaben

VehicleControlWegfindungKollisionsvermeidungHardwareansteurerung

MasterControl

Verhaltenssteuerung

ForkControl

Ansteuerung Gabelhw.

Page 25: Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

25

Zustände - MasterControl

• Vereinfachtes Zustandsdiagramm

Page 26: Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

26

Drive Modes - MasterControl

• Verschiedene „Fahr-Modi“:– DRIVE_MODE_STOP: Stop– DRIVE_MODE_GOTO_OBJ: Fahre Objekt an– DRIVE_MODE_GOTO_XY: Fahre Koordinaten an– DRIVE_MODE_CUSTOM_DRIVE: Direkte Steuerung (Joystick)– DRIVE_MODE_ROTATE: Drehe um relativen Winkel– DRIVE_MODE_DISTANCE: Fahre bestimmte Stecke geradeaus– DRIVE_MODE_ROTATE_TO_YAW: Drehe auf absoluten Winkel

• Parameter über zusätzliche Kanten

Page 27: Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

27

Auf der Suche nach Pömpeln - MasterControl

• Dank Omnivision Erkennung nahezu aller Pömpel• Bewertung:

– Anzahl fehlgeschlagener Anfahrversuche (CollisionAvoidance)

– Alter des Lastobjekts– Entfernung vom eigenen Roboter– Nähe zum Gegner– Entfernung zu Hindernissen

Page 28: Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

28

VehicleControlSystem (VCS)

Mapping

Aufbau globaler Karte

VehicleControlWegfindungKollisionsvermeidungHardwareansteurerung

MasterControl

Verhaltenssteuerung

Page 29: Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

29

Bahnplanung - VCS

• Aufbau eines Sichtbarkeitsgraphen• Suchen des kürzesten Weges durch den A*-

Algorithmus• Abfahren der einzelnen Wegpunkte• Kollisionsvermeidung durch „Obstacle-Avoidance“

Page 30: Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

30

Sichtbarkeitsgraph - VCS

Page 31: Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

31

Sichtbarkeitsgraph - VCS

Page 32: Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

32

Sichtbarkeitsgraph - VCS

Page 33: Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

33

Sichtbarkeitsgraph - VCS

Page 34: Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

34

Sichtbarkeitsgraph - VCS

Page 35: Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

35

A Star - VCS

• Der A*-Algorithmus dient der Berechnung des kürzesten Weges zwischen zwei Knoten in einem kantengewichteten Graphen.

• Der A*-Algorithmus basiert auf einer zweiteiligen Auswertefunktion für jeden Knoten. Die Auswertefunktion setzt sich aus der Wegstrecke zum Startknoten und einer Schätzfunktion für die zu erwartende kürzeste restliche Wegstrecke zusammen.

Page 36: Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

36

Bahnsteuerung - VCS

distance < 3cm

velocity := 0angularvelocity := 0

request new Waypoint

yawReached == truerotateToYaw

yaw < 0,1

yawreached := true

yawReached := false

yaw > 0,05

angularVelocity := 0.15angularVelocity := 0

distance > 8cm

yaw < 0.4

yawReached :=false

velocity := 0,5velocity := 0,2

Page 37: Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

37

Bahnplanung - VCS

• Vorteile– finden des kürzesten

Weges– Voraussagen ob der

Zielpunkt erreichbar

• Nachteile– weniger geeignet für

dynamische Umgebungen– nicht immer schnellster

Weg

Page 38: Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

Vielen Dank für IhreAufmerksamkeit!

Page 39: Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

39

Outtakes - Anhang

Page 40: Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A · 2011-03-28 · Praktikum „Mobile Roboter“ Roboter „Profi“ Gruppe A Patrick Fleischmann Jonas Mitschang Robert

40

IR-Sensoren (Kalibrierung) – Anhang

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

Zeile

0100020003000400050006000700080009000

10000110001200013000140001500016000170001800019000