Felix Mühlbauer, 4.7.2001 Wegeplanung mit Domainunabhängigen Planern realisieren Projektseminar 2001: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn)

Slides:



Advertisements
Ähnliche Präsentationen
Developing your Business to Success We are looking for business partners. Enterprise Content Management with OS|ECM Version 6.
Advertisements

Anzahl der ausgefüllten und eingesandten Fragebögen: 211
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
Einführung in die Informatik: Programmierung und Software-Entwicklung
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Vorteile der Online-Produkte
What do you get marks for?
Telefonnummer.
CPCP Institute of Clinical Pharmacology AGAH Annual Meeting, 29. Februar 2004, Berlin, Praktischer Umgang mit den Genehmigungsanträgen gemäß 12. AMG Novelle.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Workshop zur Medienarbeit der katholischen Kirche Aspekte des Religionsmonitors Berlin, 02. April 2008.
1 JIM-Studie 2010 Jugend, Information, (Multi-)Media Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
= = = = 47 = 47 = 48 = =
-17 Konjunkturerwartung Europa September 2013 Indikator > +20 Indikator 0 a +20 Indikator 0 a -20 Indikator < -20 Europäische Union gesamt: +6 Indikator.
Scratch Der Einstieg in das Programmieren. Scatch: Entwicklungsumgebung Prof. Dr. Haftendorn, Leuphana Universität Lüneburg,
© 2006 W. Oberschelp, G. Vossen Rechneraufbau & Rechnerstrukturen, Folie 2.1.
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
1Ausgewählte Themen des analogen Schaltungsentwurfs Kleinsignalmodell gmvgs rds vgs 0 + -
Maxwell-Boltzmann Ausgewählte Themen des analogen Schaltungsentwurfs
Differentieller Stromverstärker
Schieferdeckarten Dach.ppt
Ralf KüstersDagstuhl 2008/11/30 2 Ralf KüstersDagstuhl 2008/11/30 3.
Rechneraufbau & Rechnerstrukturen, Folie 12.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 12.
1. 2 Schreibprojekt Zeitung 3 Überblick 1. Vorstellung ComputerLernWerkstatt 2. Schreibprojekt: Zeitung 2.1 Konzeption des Kurses 2.2 Projektverlauf.
Bild 1.1 Copyright © Alfred Mertins | Signaltheorie, 2. Auflage Vieweg+Teubner PLUS Zusatzmaterialien Vieweg+Teubner Verlag | Wiesbaden.
20:00.
Die Geschichte von Rudi
SK / , , in Hochkössen und der Wildschönau flow Ski- und Snowboardschule Intersport Menzel.
Leistungsbeschreibung Brückenplanung RVS RVS
Eine Einführung in die CD-ROM
für Weihnachten oder als Tischdekoration für das ganze Jahr
1 Ein kurzer Sprung in die tiefe Vergangenheit der Erde.
Das 19. Jahrhundert: John Ruskin ( ) und die Kunsterziehungsbewegung in England.
NEU! 1 2. Wo kommt diese Art von Rezeptor im Körper vor?
Birdwatch Start Mit deinem Feldstecher entdeckst du auf einer Exkursion viele Vogelarten. Kennst du sie alle? Vogelquiz Birdwatch.
PROCAM Score Alter (Jahre)
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
Symmetrische Blockchiffren DES – der Data Encryption Standard
PARTENARIAT ÉDUCATIF GRUNDTVIG PARTENARIAT ÉDUCATIF GRUNDTVIG REPERES KULTURELLER ZUSAMMENHALT UND AUSDEHNUNG DER IDEEN AUF EUROPÄISCHEM.
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Großer Altersunterschied bei Paaren fällt nicht auf!
MINDREADER Ein magisch - interaktives Erlebnis mit ENZO PAOLO
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Analyseprodukte numerischer Modelle
+21 Konjunkturerwartung Europa Dezember 2013 Indikator > +20 Indikator 0 bis +20 Indikator 0 bis -20 Indikator < -20 Europäische Union gesamt: +14 Indikator.
Pigmentierte Läsionen der Haut
KIT – die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) Vorlesung Knowledge Discovery - Institut AIFB Tempus fugit Towards.
Basisdokumentation Erhebungszeitraum Rehabilitationsträger Zuweiser
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
Folie Beispiel für eine Einzelauswertung der Gemeindedaten (fiktive Daten)
Vortrag von Rechtsanwältin Verena Nedden, Fachanwältin für Steuerrecht zur Veranstaltung Wege zum bedingungslosen Grundeinkommen der Piratenpartei Rhein-Hessen.
1 Mathematical Programming Nichtlineare Programmierung.
Technische Frage Technische Frage Bitte löse die folgende Gleichung:
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
Titelmasterformat durch Klicken bearbeiten Textmasterformate durch Klicken bearbeiten Zweite Ebene Dritte Ebene Vierte Ebene Fünfte Ebene 1 Rising energy.
Bildergalerie PRESEASON CAMP Juni 2014 Romanshorn Get ready for the Season!
Kw MoDiMiDoFrSaSo 14 1 Semester- beginn: SS Vorlesungs- beginn: SS April 2008.
Es war einmal ein Haus
Folie Einzelauswertung der Gemeindedaten
1 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt Modalverben.
Numbers Greetings and Good-byes All about Me Verbs and Pronouns
Datum:17. Dezember 2014 Thema:IFRS Update zum Jahresende – die Neuerungen im Überblick Referent:Eberhard Grötzner, EMA ® Anlass:12. Arbeitskreis Internationale.
Kompetenztraining Jura Martin Zwickel / Eva Julia Lohse / Matthias Schmid ISBN: © 2014 Walter de Gruyter GmbH, Berlin/Boston Abbildungsübersicht.
1 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt Wie.
Wesensmerkmale Gottes UNABHÄNGIG
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
Monatsbericht Ausgleichsenergiemarkt Gas – November
 Präsentation transkript:

Felix Mühlbauer, Wegeplanung mit Domainunabhängigen Planern realisieren Projektseminar 2001: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) Felix Mühlbauer

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 2 Übersicht Domainunabhängige Planer PDDL (Planning Domain Definition Language) traindomain.pddl (unsere Eisenbahndomain) Implementierung

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 3 Domainunabhängige Planer domainunabhängige Planung ist sehr jung planning competition AIPS-98 (Artificial Intelligence Planning Systems) AIPS Komitee definiert PDDL Standard Bsp: IPP, FF, talplaner, …

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 4 PDDL PDDL Vorfahren: Pednaults ADL (Aussagen) UMCP (Aktionen) UCPOP SIPE-2 Prodigy-4.0 Unpop

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 5 PDDL domains domain Beispiel: (define (domain ChuChu) (:requirements :strips :typing :conditional-effects :existential-preconditions) (:types track engine) (:predicates (at ?eng - engine ?t - track) (connects ?t1 - track ?t2 - track) )

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 6 PDDL domains domain Beispiel: (define (domain ChuChu) (:requirements :strips :typing :conditional-effects :existential-preconditions)) (:types track engine) (:predicates (at ?eng - engine ?t - track) (connects ?t1 - track ?t2 - track) )

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 7 PDDL domains domain Beispiel: (define (domain ChuChu) (:requirements :strips :typing :conditional-effects :existential-preconditions) (:types track engine) (:predicates (at ?eng - engine ?t - track) (connects ?t1 - track ?t2 - track) )

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 8 PDDL domains domain Beispiel: (define (domain ChuChu) (:requirements :strips :typing :conditional-effects :existential-preconditions) (:types track engine) (:predicates (at ?eng - engine ?t - track) (connects ?t1 - track ?t2 - track)) )

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 9 PDDL domains domain Beispiel: (:action move :parameters (?eng - engine ?from - track ?to - track) :precondition (and (at ?eng ?from) (not (= ?from ?to)) (or (connects ?from ?to) (connects ?to ?from)) :effect (and (at ?eng ?to) (not (at ?eng ?from)) )

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 10 PDDL domains domain Beispiel: (:action move :parameters (?eng - engine ?from - track ?to - track) :precondition (and (at ?eng ?from) (not (= ?from ?to)) (or (connects ?from ?to) (connects ?to ?from)) :effect (and (at ?eng ?to) (not (at ?eng ?from)) )

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 11 PDDL domains domain Beispiel: (:action move :parameters (?eng - engine ?from - track ?to - track) :precondition (and (at ?eng ?from) (not (= ?from ?to)) (or (connects ?from ?to) (connects ?to ?from)) :effect (and (at ?eng ?to) (not (at ?eng ?from)) )

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 12 PDDL domains domain Beispiel: (:action move :parameters (?eng - engine ?from - track ?to - track) :precondition (and (at ?eng ?from) (not (= ?from ?to)) (or (connects ?from ?to) (connects ?to ?from)) :effect (and (at ?eng ?to) (not (at ?eng ?from)) )

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 13 PDDL facts facts Beispiel: (define (problem fact1) (:domain chuchu) (:objects t1 t2 t3 t4 - track eng1 - engine)) (:init (connects t1 t2) (connects t2 t3) (connects t3 t4) (connects t4 t1) (at eng1 t1)) (:goal (at eng1 t3)) )

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 14 PDDL facts facts Beispiel: (define (problem fact1) (:domain chuchu) (:objects t1 t2 t3 t4 - track eng1 - engine)) (:init (connects t1 t2) (connects t2 t3) (connects t3 t4) (connects t4 t1) (at eng1 t1)) (:goal (at eng1 t3)) )

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 15 PDDL facts facts Beispiel: (define (problem fact1) (:domain chuchu) (:objects t1 t2 t3 t4 - track eng1 - engine)) (:init (connects t1 t2) (connects t2 t3) (connects t3 t4) (connects t4 t1) (at eng1 t1)) (:goal (at eng1 t3)) )

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 16 PDDL facts facts Beispiel: (define (problem fact1) (:domain chuchu) (:objects t1 t2 t3 t4 - track eng1 - engine)) (:init (connects t1 t2) (connects t2 t3) (connects t3 t4) (connects t4 t1) (at eng1 t1)) (:goal (at eng1 t3)) )

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 17 FF Ausgabe FF (Fast-Forward von Jörg Hoffmann) Bildschirmausgabe: ff: parsing domain file domain 'CHUCHU' defined... done. ff: parsing problem file problem 'FACT1' defined... done. ff: found legal plan as follows step 0: MOVE ENG1 T1 T2 1: MOVE ENG1 T2 T3 time spent: 0.06 seconds instantiating 0 easy, 840 hard action templates 0.00 seconds reachability analysis, yielding 84 facts and 36 actions 0.00 seconds creating final representation with 32 relevant facts 0.00 seconds building connectivity graph 0.00 seconds searching, evaluating 3 states, to a max depth of second s total time

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 18 traindomain.pddl Aufgabenstellung: Wegeplanung mit domainunabhängigen Planern realisieren

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 19 traindomain.pddl ein Gleisplanbeispiel

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 20 traindomain.pddl Problem: In welche Richtung fährt die Lok ? (:action move :parameters (?eng - engine ?from - track ?to - track) :precondition (and (at ?eng ?from) (not (= ?from ?to)) (or (connects ?from ?to) (connects ?to ?from)) :effect (and (at ?eng ?to) (not (at ?eng ?from)) )

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 21 traindomain.pddl domain Erweiterung: (:predicates (at ?eng - engine ?t - track) (connects ?t1 - track ?t2 - track) (connects-rev ?t1 - track ?t2 - track) (switch ?from - track ?to1 - track ?to2 - track) (switch-rev ?from - track ?to1 - track ?to2 - track) (moves-rev ?eng - engine) (can-turn ?eng - engine) (is-turner ?t1 - track ?t2 - track) (noturn ?t – track) (turnok ?eng – engine) )

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 22 traindomain.pddl (:action move :parameters (?eng - engine ?from - track ?to - track) :precondition (and (at ?eng ?from) (not (= ?from ?to)) (not (exists (?e - engine) (and (not (= ?e ?eng)) (at ?e ?to)))) (or (and (can-turn ?eng) (or (connects ?from ?to) (connects-rev ?from ?to))) (and (not (can-turn ?eng)) (or (and (moves-rev ?eng) (connects-rev ?from ?to)) (and (not (moves-rev ?eng)) (connects ?from ?to))))))

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 23 traindomain.pddl (:action move :parameters (?eng - engine ?from - track ?to - track) :precondition (and (at ?eng ?from) (not (= ?from ?to)) (not (exists (?e - engine) (and (not (= ?e ?eng)) (at ?e ?to)))) (or (and (can-turn ?eng) (or (connects ?from ?to) (connects-rev ?from ?to))) (and (not (can-turn ?eng)) (or (and (moves-rev ?eng) (connects-rev ?from ?to)) (and (not (moves-rev ?eng)) (connects ?from ?to))))))

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 24 traindomain.pddl (:action move :parameters (?eng - engine ?from - track ?to - track) :precondition (and (at ?eng ?from) (not (= ?from ?to)) (not (exists (?e - engine) (and (not (= ?e ?eng)) (at ?e ?to)))) (or (and (can-turn ?eng) (or (connects ?from ?to) (connects-rev ?from ?to))) (and (not (can-turn ?eng)) (or (and (moves-rev ?eng) (connects-rev ?from ?to)) (and (not (moves-rev ?eng)) (connects ?from ?to))))))

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 25 traindomain.pddl (:action move :parameters (?eng - engine ?from - track ?to - track) :precondition (and (at ?eng ?from) (not (= ?from ?to)) (not (exists (?e - engine) (and (not (= ?e ?eng)) (at ?e ?to)))) (or (and (can-turn ?eng) (or (connects ?from ?to) (connects-rev ?from ?to))) (and (not (can-turn ?eng)) (or (and (moves-rev ?eng) (connects-rev ?from ?to)) (and (not (moves-rev ?eng)) (connects ?from ?to))))))

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 26 traindomain.pddl (:action move... :effect (and (at ?eng ?to) (not (at ?eng ?from)) (when (and (or (is-turner ?from ?to) (is-turner ?to ?from)) (moves-rev ?eng)) (not (moves-rev ?eng))) (when (and (or (is-turner ?from ?to) (is-turner ?to ?from)) (not (moves-rev ?eng))) (moves-rev ?eng))) )

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 27 traindomain.pddl (:action move... :effect (and (at ?eng ?to) (not (at ?eng ?from)) (when (and (or (is-turner ?from ?to) (is-turner ?to ?from)) (moves-rev ?eng)) (not (moves-rev ?eng))) (when (and (or (is-turner ?from ?to) (is-turner ?to ?from)) (not (moves-rev ?eng))) (moves-rev ?eng))) )

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 28 traindomain.pddl (:action move... :effect (and (at ?eng ?to) (not (at ?eng ?from)) (when (and (or (is-turner ?from ?to) (is-turner ?to ?from)) (moves-rev ?eng)) (not (moves-rev ?eng))) (when (and (or (is-turner ?from ?to) (is-turner ?to ?from)) (not (moves-rev ?eng))) (moves-rev ?eng))) )

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 29 traindomain.pddl (:action toggle-switch :parameters (?from - track ?to1 - track ?to2 - track) :precondition (or (switch ?from ?to1 ?to2) (switch ?from ?to2 ?to1) (switch-rev ?from ?to1 ?to2) (switch-rev ?from ?to2 ?to1)) :effect (and (when (or (switch ?from ?to1 ?to2) (switch ?from ?to2 ?to1)) (and (connects ?from ?to1) (connects-rev ?to1 ?from) (not (connects ?from ?to2)) (not (connects-rev ?to2 ?from)))) (when (or (switch-rev ?from ?to1 ?to2) (switch-rev ?from ?to2 ?to1)) (and (connects-rev ?from ?to1) (connects ?to1 ?from) (not (connects-rev ?from ?to2)) (not (connects ?to2 ?from)))))))

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 30 traindomain.pddl (:action toggle-switch :parameters (?from - track ?to1 - track ?to2 - track) :precondition (or (switch ?from ?to1 ?to2) (switch ?from ?to2 ?to1) (switch-rev ?from ?to1 ?to2) (switch-rev ?from ?to2 ?to1)) :effect (and (when (or (switch ?from ?to1 ?to2) (switch ?from ?to2 ?to1)) (and (connects ?from ?to1) (connects-rev ?to1 ?from) (not (connects ?from ?to2)) (not (connects-rev ?to2 ?from)))) (when (or (switch-rev ?from ?to1 ?to2) (switch-rev ?from ?to2 ?to1)) (and (connects-rev ?from ?to1) (connects ?to1 ?from) (not (connects-rev ?from ?to2)) (not (connects ?to2 ?from)))))))

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 31 traindomain.pddl (:action toggle-switch :parameters (?from - track ?to1 - track ?to2 - track) :precondition (or (switch ?from ?to1 ?to2) (switch ?from ?to2 ?to1) (switch-rev ?from ?to1 ?to2) (switch-rev ?from ?to2 ?to1)) :effect (and (when (or (switch ?from ?to1 ?to2) (switch ?from ?to2 ?to1)) (and (connects ?from ?to1) (connects-rev ?to1 ?from) (not (connects ?from ?to2)) (not (connects-rev ?to2 ?from)))) (when (or (switch-rev ?from ?to1 ?to2) (switch-rev ?from ?to2 ?to1)) (and (connects-rev ?from ?to1) (connects ?to1 ?from) (not (connects-rev ?from ?to2)) (not (connects ?to2 ?from)))))))

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 32 traindomain.pddl (:action toggle-switch :parameters (?from - track ?to1 - track ?to2 - track) :precondition (or (switch ?from ?to1 ?to2) (switch ?from ?to2 ?to1) (switch-rev ?from ?to1 ?to2) (switch-rev ?from ?to2 ?to1)) :effect (and (when (or (switch ?from ?to1 ?to2) (switch ?from ?to2 ?to1)) (and (connects ?from ?to1) (connects-rev ?to1 ?from) (not (connects ?from ?to2)) (not (connects-rev ?to2 ?from)))) (when (or (switch-rev ?from ?to1 ?to2) (switch-rev ?from ?to2 ?to1)) (and (connects-rev ?from ?to1) (connects ?to1 ?from) (not (connects-rev ?from ?to2)) (not (connects ?to2 ?from)))))))

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 33 traindomain.pddl (:action toggle-switch :parameters (?from - track ?to1 - track ?to2 - track) :precondition (or (switch ?from ?to1 ?to2) (switch ?from ?to2 ?to1) (switch-rev ?from ?to1 ?to2) (switch-rev ?from ?to2 ?to1)) :effect (and (when (or (switch ?from ?to1 ?to2) (switch ?from ?to2 ?to1)) (and (connects ?from ?to1) (connects-rev ?to1 ?from) (not (connects ?from ?to2)) (not (connects-rev ?to2 ?from)))) (when (or (switch-rev ?from ?to1 ?to2) (switch-rev ?from ?to2 ?to1)) (and (connects-rev ?from ?to1) (connects ?to1 ?from) (not (connects-rev ?from ?to2)) (not (connects ?to2 ?from)))))))

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 34 traindomain.pddl (:action toggle-switch :parameters (?from - track ?to1 - track ?to2 - track) :precondition (or (switch ?from ?to1 ?to2) (switch ?from ?to2 ?to1) (switch-rev ?from ?to1 ?to2) (switch-rev ?from ?to2 ?to1)) :effect (and (when (or (switch ?from ?to1 ?to2) (switch ?from ?to2 ?to1)) (and (connects ?from ?to1) (connects-rev ?to1 ?from) (not (connects ?from ?to2)) (not (connects-rev ?to2 ?from)))) (when (or (switch-rev ?from ?to1 ?to2) (switch-rev ?from ?to2 ?to1)) (and (connects-rev ?from ?to1) (connects ?to1 ?from) (not (connects-rev ?from ?to2)) (not (connects ?to2 ?from)))))))

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 35 traindomain.pddl Problem beim vorhandenem Wegplaner: Im Rangiermodus darf die Weiche nicht schalten, wenn sich noch Wagons darauf befinden. Die Lok muss nach der Weiche noch weiterfahren bevor sie wieder über die Weiche zurückfährt.

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 36 traindomain.pddl (:action move :parameters (?eng - engine ?from - track ?to - track) :precondition (and (at ?eng ?from) (not (= ?from ?to)) (not (exists (?e - engine) (and (not (= ?e ?eng)) (at ?e ?to)))) (or (and (can-turn ?eng) (or (not (noturn ?from)) (and (noturn ?from) (turnok ?eng))) (or (connects ?from ?to) (connects-rev ?from ?to))) (and (not (can-turn ?eng)) (or (and (moves-rev ?eng) (connects-rev ?from ?to)) (and (not (moves-rev ?eng)) (connects ?from ?to))))))

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 37 traindomain.pddl (:action move :parameters (?eng - engine ?from - track ?to - track) :precondition (and (at ?eng ?from) (not (= ?from ?to)) (not (exists (?e - engine) (and (not (= ?e ?eng)) (at ?e ?to)))) (or (and (can-turn ?eng) (or (not (noturn ?from)) (and (noturn ?from) (turnok ?eng))) (or (connects ?from ?to) (connects-rev ?from ?to))) (and (not (can-turn ?eng)) (or (and (moves-rev ?eng) (connects-rev ?from ?to)) (and (not (moves-rev ?eng)) (connects ?from ?to))))))

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 38 traindomain.pddl (:action move :parameters (?eng - engine ?from - track ?to - track) :precondition (and (at ?eng ?from) (not (= ?from ?to)) (not (exists (?e - engine) (and (not (= ?e ?eng)) (at ?e ?to)))) (or (and (can-turn ?eng) (or (not (noturn ?from)) (and (noturn ?from) (turnok ?eng))) (or (connects ?from ?to) (connects-rev ?from ?to))) (and (not (can-turn ?eng)) (or (and (moves-rev ?eng) (connects-rev ?from ?to)) (and (not (moves-rev ?eng)) (connects ?from ?to))))))

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 39 traindomain.pddl (:action move... :effect (and (at ?eng ?to) (not (at ?eng ?from)) (when (and (or (is-turner ?from ?to) (is-turner ?to ?from)) (moves-rev ?eng)) (not (moves-rev ?eng))) (when (and (or (is-turner ?from ?to) (is-turner ?to ?from)) (not (moves-rev ?eng))) (moves-rev ?eng)) (when (noturn ?from) (turnok ?eng)) (when (not (noturn ?from)) (not (turnok ?eng))))) )

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 40 traindomain.pddl (:action move... :effect (and (at ?eng ?to) (not (at ?eng ?from)) (when (and (or (is-turner ?from ?to) (is-turner ?to ?from)) (moves-rev ?eng)) (not (moves-rev ?eng))) (when (and (or (is-turner ?from ?to) (is-turner ?to ?from)) (not (moves-rev ?eng))) (moves-rev ?eng)) (when (noturn ?from) (turnok ?eng)) (when (not (noturn ?from)) (not (turnok ?eng))))) )

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 41 traindomain.pddl (define (problem fact2) (:domain chuchu) (:objects t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 - track tu1 tu2 tu3 tu4 - track e1 e2 - engine) (:init ;;tracks n switches (connects t2 t3) (connects-rev t3 t2) (switch t10 t1 t11) (noturn t10) (switch-rev t2 t1 t11) (noturn t2) (switch t3 t4 tu1) (noturn t3) (switch t4 t5 tu2) (noturn t4) (connects t5 t6) (connects-rev t6 t5) (connects t6 t7) (connects-rev t7 t6) (switch-rev t8 t7 tu3) (noturn t8) (switch-rev t9 t8 tu4) (noturn t9) (connects t9 t10) (connects-rev t10 t9) ;; turners (connects tu1 tu2) (connects tu2 tu1) (is-turner tu1 tu2) (connects-rev tu3 tu4) (connects-rev tu4 tu3) (is-turner tu3 tu4) ;; engines (at e1 t1) ) (:goal (at e1 t11)) )

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 42 traindomain.pddl Ausgabe von FF: step 0: TOGGLE-SWITCH T3 TU1 T4 1: TOGGLE-SWITCH T2 T1 T11 2: MOVE E1 T1 T2 3: TOGGLE-SWITCH T2 T11 T1 4: MOVE E1 T2 T3 5: MOVE E1 T3 TU1 6: MOVE E1 TU1 TU2 7: TOGGLE-SWITCH T4 TU2 T5 8: TOGGLE-SWITCH T3 T4 TU1 9: MOVE E1 TU2 T4 10: MOVE E1 T4 T3 11: MOVE E1 T3 T2 12: MOVE E1 T2 T11

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 43 traindomain.pddl Zusammenfassung traindomain.pddl: Aktionen für Lok bewegen und Weiche schalten Kollisionsvermeidung Rangiermodus Lok wendet nicht auf oder direkt nach einer Weiche

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 44 Implementierung der Gleisplan liegt als Graph von class gleisBauteil Objekten vor. ein PDDL facts file wird generiert und FF aufgerufen. die Ausgabe wird geparst (nur MOVE actions) und ein Vektor von class gleisBauteil erzeugt. Im Vektor sind nun die von der Lok abzufahrenden Gleisbauteile gespeichert. die übergeordnete Schicht übernimmt die Steuerung der Lok (auch Weichen schalten).

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 45 Domainunabhängige Planer PDDL (Planning Domain Definition Language) Syntax anhand von Beispielen traindomain.pddl – unsere Eisenbahndomain; mit funktionalen Erweiterungen im Vergleich zum bestehenden Algorithmus Implementierung mit Planern könnten sämtliche Aktionen (nicht nur Wegplanung) gesteuert werden. Zusammenfassung

Felix Mühlbauer, Projektseminar: ChuChu Sprachgesteuerte Geräte (Modelleisenbahn) 46 ChuChu Vielen Dank für Ihre Aufmerksamkeit Ende