From High to Low Level and Vice-Versa: A New Language for the Translation between Abstraction Levels in Robot Control Architectures José Carlos González , Javier García, Raquel Fuentetaja, Ángel García-Olaya and Fernando Fernández Planning and Learning Group 5 October 2018 Computer Science Department
Autonomous robots • Deliberation ? Required : Decision making Not required : Executing a sequence of actions • Automated Planning Searches for a valid action plan to achieve goals Symbolic representation Coded in PDDL (Planning Domain Definition Language) • Abstraction layers of knowledge Deliberate with high-level about the sensory data Remove low-level sensory data from deliberation Avoid wasting time planning sequential arrays of actions From High to Low Level and Vice-Versa: A New Language for the Translation between Introduction 2 /10 Contribution Abstraction Levels in Robot Control Architectures
Abstraction layers • High-level States LTH High states to deliberate with (PDDL) H High actions to define behaviors • Low-level Actions HTL Low states with data from the sensors H Low actions are instructions for the robot Deliberation LTH HTL Low state High state High actions Low actions Image raw data Door closed Approach Open door Depth raw data Handle at right Move arm . . . . . . Grip handle Turn hand Push door From High to Low Level and Vice-Versa: A New Language for the Translation between Introduction 3 /10 Contribution Abstraction Levels in Robot Control Architectures
Contribution • Declarative HTL and LTH High Actions Specified in a new language Low Easier to change behaviors Actions HTL LTH No need to recompile code Description Description High Predicates Low • Based on the PELEA architecture Predicates Catalogues Mature software Planning HighToLow LowToHigh Monitoring Executive Execution Replanning Decision Monitoring Robot Support From High to Low Level and Vice-Versa: Introduction A New Language for the Translation between Contribution 4 /10 Language Abstraction Levels in Robot Control Architectures
Declarative LTH and HTL • New language to describe both translations Suitable for Automated Planning Less code to define behaviors Could be generated automatically, e. g. with a GUI Allows to extract useful analysis (behavior trees) High to Low (actions) Low to High (states) High actions Low act. sets Low actions . . . Low state PDDL changes High state . . . Sensor data A Add predicate A Predicate A Sensor data B Delete predicate B Predicate C Sensor data C Increase predicate C ? → Sensor data D . . . . . . Selector Sequential Parallel From High to Low Level and Vice-Versa: Introduction A New Language for the Translation between Contribution 5 /10 Language Abstraction Levels in Robot Control Architectures
Low-to-high description • Low state is checked to change the high state accordingly If: True add(checkPoseResult $checkPoseResult) add(exerciseTotalPoses $exerciseTotalPoses) If: $checkPoseResult=="OK" increase(performedPoses 1) If: $person==false delete(detected_event person) PDDL predicate delete(can_continue) States Low-level predicate LTH H From High to Low Level and Vice-Versa: Contribution A New Language for the Translation between Language 6 /10 Conclusions Abstraction Levels in Robot Control Architectures
High-to-low description • Chosen decomposition is the first that fulfills conditions • Low-level actions of each set are executed in parallel High: say(speech,behavior), $behavior==show_video Lows: say(speech) show_video(speech) High: say(speech,behavior), $behavior==insert_subtitle Lows: say(speech) insert_subtitle(speech) High: say(speech,behavior) PDDL action Lows: say(speech) Actions HTL H Label From High to Low Level and Vice-Versa: Contribution A New Language for the Translation between Language 7 /10 Conclusions Abstraction Levels in Robot Control Architectures
High-to-low description • Several high-level actions can share the same decomposition • The array of low-level sets is executed sequentially High: finish-exercise-mirror() High: finish-exercise-simon(mode), $mode==classic_finish Lows: print("FINISH-EXERCISE") allowAutonomousMovements(true) executeAnimation(blinking) executeAnimation(initFull) say(speech_success) $pauseatend(200) Lows: say("We have finished this exercise.") Lows: executeAnimation(blinking) Lows: say(speech_encouragement) Actions $pauseatend(1000) HTL H Internal instruction From High to Low Level and Vice-Versa: Contribution A New Language for the Translation between Language 8 /10 Conclusions Abstraction Levels in Robot Control Architectures
Conclusions • New declarative language State translation from low to high level Action translation from high to low level Suitable for Automated Planning • Insight of several benefits Much easier to change behavior definitions No need to modify the software, only descriptions Could be generated automatically, e. g. with a GUI • Currently working in two of our robots From High to Low Level and Vice-Versa: Language A New Language for the Translation between Conclusions 9 /10 Abstraction Levels in Robot Control Architectures
Our (very near) future work Decomposition Decision 8 High to Low Planner Support Durative 5 conditions 6 Low to High Monitoring PDDL state Extrapolation 2 4 Domain 9 3 7 Executive Session state Problem 1 Partial Low Low State Actions Set 10 Generic module Robot Declarative file External application Internal state of the world From High to Low Level and Vice-Versa: Language A New Language for the Translation between Conclusions 10 /10 Abstraction Levels in Robot Control Architectures
From High to Low Level and Vice-Versa: A New Language for the Translation between Abstraction Levels in Robot Control Architectures José Carlos González , Javier García, Raquel Fuentetaja, Ángel García-Olaya and Fernando Fernández Planning and Learning Group Thank you for your attention josgonza@inf.uc3m.es 5 October 2018 Computer Science Department
Recommend
More recommend