29
Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13 Einführung in die Robotik Steuerungsarchitekturen 29. 01. 2013 Mohamed Oubbati Institut für Neuroinformatik Tel.: (+49) 731 / 50 24153 [email protected]

Einführung in die Robotik Steuerungsarchitekturen · Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13 §1.A robot may not injure

  • Upload
    dongoc

  • View
    222

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Einführung in die Robotik Steuerungsarchitekturen · Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13 §1.A robot may not injure

Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13

Einführung in die Robotik

Steuerungsarchitekturen

29. 01. 2013

Mohamed OubbatiInstitut für Neuroinformatik

Tel.: (+49) 731 / 50 [email protected]

Page 2: Einführung in die Robotik Steuerungsarchitekturen · Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13 §1.A robot may not injure

Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13

- Deliberative Architektur- Reaktive Architektur- Hybride Architectur

Steuerungsarchitekturen

Page 3: Einführung in die Robotik Steuerungsarchitekturen · Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13 §1.A robot may not injure

Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13

Deliberative Architektur

Page 4: Einführung in die Robotik Steuerungsarchitekturen · Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13 §1.A robot may not injure

Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13

Deliberative ArchitekturDeliberative Architektur

Die deliberative Architektur ist die älteste Steuerungsarchtiktur für mobile Roboter. Dabei werden die Einheiten des Roboters hierarchisch angeordnet:

Sense-Plan-Act

1. Sensordaten sammeln2. Daten verarbeiten → Plan erstellen3. Aktion durchführen

Sensoren Plan Aktoren

Page 5: Einführung in die Robotik Steuerungsarchitekturen · Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13 §1.A robot may not injure

Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13

Sensoren

Sen

sord

aten

erfa

ssen

Wel

tmod

el

Pla

n

Aus

führ

en

Mot

orst

euer

ung

Aktoren

Sense-Plan-Act

2. Aus dem Weltmodell können jederzeit wieder Informationenabgerufen werden.

3. “plan” ist dafür zuständig, Lösungenfür die Aufgaben zu finden. Er ist von der Qualität des Weltmodells total abhängig.4. Der fertige Plan wird danach zur Ausführung in der Hierarchie nach unten geleitet.

1. Aus den Sensordaten wird ein Weltmodell erstellt.

Deliberative Architektur

Page 6: Einführung in die Robotik Steuerungsarchitekturen · Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13 §1.A robot may not injure

Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13

Shakey (1966-1972, Stanford Research Institute USA)

Erste Implementierung in 60er auf dem Roboter Shakey

Deliberative Architektur

Sense-Plan-Act

Page 7: Einführung in die Robotik Steuerungsarchitekturen · Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13 §1.A robot may not injure

Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13

• Alle Module sind voneinander abhängig (wenn ein Module ausfällt, das gesamte System fällt aus).

• Veränderungen der Umgebungerfordern Anpassung des Weltmodells.

benötigt Suche (Search) → langsam

Auf der Grundlage des Weltmodells können optimale Lösungen gefunden werden

Deliberative Architektur

Page 8: Einführung in die Robotik Steuerungsarchitekturen · Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13 §1.A robot may not injure

Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13

Reactive Architektur

Page 9: Einführung in die Robotik Steuerungsarchitekturen · Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13 §1.A robot may not injure

Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13

Principle:

• Decompose the problem into many “simple” behaviors!

• Many simple behaviors can work together to appear complex.

Reaktive Architektur

Behavior

SENSE ACTSENSE-ACT coupling is called

behavior

Behavior: Mapping von Sensoren-Eingaben zu Motoren-Aktionen, die zur Ausführung einer Aufgabe führen.

Page 10: Einführung in die Robotik Steuerungsarchitekturen · Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13 §1.A robot may not injure

Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13

Das Ziel der Subsumption Architektur besteht darin verschiedene Verhalten (Behaviors) parallel auszuführen.

Erster Ansatz: Subsumption Architecture (Rodney Brooks, MIT1986)

Reaktive Architektur

Behavior 4

SENSE ACTBehavior 3

SENSE ACTBehavior 2

SENSE ACTBehavior 1

SENSE ACT

Page 11: Einführung in die Robotik Steuerungsarchitekturen · Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13 §1.A robot may not injure

Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13

Subsumption ArchitectureReaktive Architektur

Sensoren

Behavior 1

Aktoren

Behavior 2

Behavior 3

Behavior 4

Behavior 5

PLAN

Page 12: Einführung in die Robotik Steuerungsarchitekturen · Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13 §1.A robot may not injure

Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13

How to manage behaviors?

Sensoren Aktoren

Behavior 1

Behavior 3

Behavior 2

Behavior 4

Behavior 5

Reaktive ArchitekturSubsumption Architecture

Page 13: Einführung in die Robotik Steuerungsarchitekturen · Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13 §1.A robot may not injure

Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13

Use a Koordinator!

Sensoren Aktoren

Behavior 1

Behavior 3

Behavior 2

Behavior 4

Behavior 5

Koo

rdin

ator

Wie funktioniert er?

Reaktive Architektur

How to manage behaviors?

Page 14: Einführung in die Robotik Steuerungsarchitekturen · Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13 §1.A robot may not injure

Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13

Was macht ein Koordinator?

• Establish conditions when each behavior should act.

• Establish priorities in case two behaviors want to act simultaneously.

• Define points of suppression to stop a behavior if another would take over.

Reaktive Architektur

Page 15: Einführung in die Robotik Steuerungsarchitekturen · Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13 §1.A robot may not injure

Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13

Behavior 1

Behavior 3

Behavior 2

Behavior 4

Behavior 5

Sensoren

Action

Prioritäten Können auch variable sein

points of suppression

Reaktive Architektur

Was macht ein Koordinator?

Page 16: Einführung in die Robotik Steuerungsarchitekturen · Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13 §1.A robot may not injure

Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13

• 6-beiniger Roboter• Dezentrale Steuerung• Aus den einzelnen Reaktionen setzt sich die Fortbewegung zusammen

Erste Implementierung auf dem Roboter GenghisMIT AI Lab (Rodney Brooks), Ende der ´80er

Genghis

Reaktive Architektur

Page 17: Einführung in die Robotik Steuerungsarchitekturen · Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13 §1.A robot may not injure

Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13

Beispiel 1

Wall following

Ein mobiler Roboter soll an der Wand entlang fahren.

Wall following

Turn corner

robot

Sensoren Motoren

Behaviors:

1. Wall-following.

2. Turn corner.

Lösung

: Behavior Wechsel

Reaktive Architektur Subsumption Architecture

Wall-following

Turn corner

Page 18: Einführung in die Robotik Steuerungsarchitekturen · Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13 §1.A robot may not injure

Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13

Der Roboter soll zum Beispiel folgendes können:• Überall fahren.• bei einer Kollision flüchten. • bei leerer Batterie zur Ladestation fahren.

Als Ausstattung :• Radencoder.• 1 Infrarotsensor um die Ladestation zu finden.• 1 Bumper.• 1 Batterie-Sensor.

Beispiel 2: Staubsauger-Roboter

Eine Lösung: z.B. die Behaviors sind: • Überall fahren.

• Dock.

• Escape.

Reaktive Architektur Subsumption Architecture

Page 19: Einführung in die Robotik Steuerungsarchitekturen · Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13 §1.A robot may not injure

Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13

odometrieÜberall fahren Motorregelung

Der Roboter soll alle mögliche Positionen im Raum anfahren.

Staubsauger-RoboterReaktive Architektur

Page 20: Einführung in die Robotik Steuerungsarchitekturen · Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13 §1.A robot may not injure

Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13

odometrieÜberall fahren Motorregelung

DockBatterie-Sensor

IR-Sensor

Das Behavior Dock dient dem Zweck den Roboter zu der Ladestation zu fahren, wenn die Batterien fast leer sind.

Staubsauger-RoboterReaktive Architektur

Page 21: Einführung in die Robotik Steuerungsarchitekturen · Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13 §1.A robot may not injure

Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13

odometrieÜberall fahren Motorregelung

DockBatterie-Sensor

IR-Sensor

BumperEscape

Staubsauger-RoboterReaktive Architektur

Wird eine Kollision festgestellt, reagiert das Verhalten Escape wie folgendes: Stop, etwas Rückwärtsfahren, und dann 90 Grad umdrehen.

Page 22: Einführung in die Robotik Steuerungsarchitekturen · Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13 §1.A robot may not injure

Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13

• kein Weltmodell ist notwendig.

• Reaktivität (Geschwindichkeit, Echtzeit-fähig).

• Einfacher Entwurf und Implementierung,da jede Ebene für sich betrachtet werden kann.

• Robust: die Ebenen sind voneinander unabhängig.

• inkrementelles Design.

• Pläne und Optimierungen sind schwer zu implementieren.

Reaktive Architektur

Page 23: Einführung in die Robotik Steuerungsarchitekturen · Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13 §1.A robot may not injure

Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13

HybrideArchitektur

Page 24: Einführung in die Robotik Steuerungsarchitekturen · Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13 §1.A robot may not injure

Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13

Reaktive Architecture wird z.B für die lokaleHindernissevermeidung eingesetzt. Soll der Roboter zusätzlich ein langfristiges Ziel verfolgen, kommt die deliberative Planung ins Spiel.

„best of the both“

Hybride Architektur

Page 25: Einführung in die Robotik Steuerungsarchitekturen · Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13 §1.A robot may not injure

Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13

Sensoren Aktoren

Behavior 1

Behavior 2

Deliberative Komponent

Behavior 3

Behavior 4

Koo

rdin

ator

Möglichkeit 1: die deliberativen Komponenten werden wie ein Verhalten integriert, indem sie am Koordinationsprozess auch teilnehmen.

Hybride Architektur

Wie kombiniert man reaktive und deliberative Architekturen?

Page 26: Einführung in die Robotik Steuerungsarchitekturen · Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13 §1.A robot may not injure

Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13

Sensoren Aktoren

Behavior 1

Behavior 3

Deliberative Komponent

Behavior 4

Behavior 5

Koo

rdin

ator

Möglichkeit 2: die deliberativen Komponenten werden als „Plan-geber“ betrachtet. Ein Plan wird z.B. als Sequenz von Präferenzen für bestimmte Behaviors.

Behavior 2

Aktivierung

Aktivierung

Aktivierung

Hybride Architektur

Wie kombiniert man reaktive und deliberative Architekturen?

Page 27: Einführung in die Robotik Steuerungsarchitekturen · Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13 §1.A robot may not injure

Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13

• Durch die reaktive Handlungsweise reagiert der Roboter schnell,kann aber auch längerfristige Ziele verfolgen.

Wie alle Hybrid-Lösungen kann es leicht zu Konflikten kommen,z.B. dass Nachteile beider Lösungen sich vereinen.

Hybride Architektur

Page 28: Einführung in die Robotik Steuerungsarchitekturen · Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13 §1.A robot may not injure

Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13

§ 1. A robot may not injure a human being, or, through inaction, allow a human being to come to harm.

§ 2. A robot must obey orders given it by human beings, except where such orders would conflict with the First Law.

§ 3. A robot must protect its own existence as long as such protection doesnot conflict with § 1 or § 2.

Ethics

Asimov’s Laws of Robotics (1942)

Ein wichtiger Aspekt in der Robotik ist die Sicherheit für die Menschen.

Page 29: Einführung in die Robotik Steuerungsarchitekturen · Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13 §1.A robot may not injure

Dr. Oubbati, Einführung in die Robotik (Neuroinformatik, Uni-Ulm) Steuerungsarchitekturen WS 12/13

Danke für die Zusammenarbeit

und viel Erfolg bei der Klausur