90 likes | 173 Views
제 9 주 . 응용 -4: Robotics Artificial Life and Real Robots. R.A. Brooks, Proc. European Conference on Artificial Life, pp. 3~10, 1992 학습목표 시뮬레이션 로봇과 실제 로봇을 구축하기 위한 인공생명 (GP) 접근방식의 차이점 및 문제이해. 개요. Part 1: Alife techniques to program actual mobile robot
E N D
제9주. 응용-4: RoboticsArtificial Life and Real Robots R.A. Brooks, Proc. European Conference on Artificial Life, pp. 3~10, 1992 학습목표 시뮬레이션 로봇과 실제 로봇을 구축하기 위한 인공생명(GP) 접근방식의 차이점 및 문제이해
개요 • Part 1: Alife techniques to program actual mobile robot • Difficulties to transfer programs evolved in a simulated environment to run on an actual robot • Dual evolution of organism morphology and nervous systems search space pruning • Regularities in mapping robot morphology and program structure • Part 2: realistic explorations of program evolution to control physically embodied mobile robots • Behavior-based robot programming for genetic programming • Justification of approach: evolve more complex programs considerable extensions to previously reported approaches to GP
Introduction • New approach to AI • Behavior-based programs to control situated and embodied robots in unstructured dynamically changing environments • Many individual modules directly generate some part of behaviors • Layered but non-hierarchical in control flow • Related areas: neurobiology, ethology, psychophysics, sociology • Useful tasks in an environment that has not been specially structured or engineered for it • Alife: program evolution to control situated but unembodied robots • Alife techniques to evolve programs for physically embodied robots • Learning new behaviors using reinforcement learning (Q-learning) • Splitting up the tasks into little pieces for sequential learning • Built-in structures to facilitate learning particular constrained classes of behaviors • GP for behavior-based embodied robots
Genetic Programming • Alife technique to evolve behavior-based programs • Evolution of both NN and FSM through GA with bit string • Applying GA to lisp-like programs • Reducing search space significantly by carefully selecting the primitives by hand • Problems for physically embodied mobile robots • Simulated robots dynamics of interaction with the environment • Search space dependent on the representations used careful design • Coevolution cut down the size of search space
Simulations of Physical Robots • Why to avoid using simulations • Much effort will go into solving problems that simply do not come up in the real world • Programs which work well on simulated robots will completely fail on real robots due to sensing and actuation • Artifactual problems in cellular representation • Computational experiments to uncover many fundamental issues • Problems: no notion of uncertainty, not only postulate sensors that return perfect information, more brittle dynamics than in real world • Real Worlds • Key points to understand for physically embodied robot • Sensors deliver very uncertain values fuzzy approximation • The data from sensors are not direct descriptions of the world • Commands to actuators have very uncertain effects high level action commands need many layers of refinement to motor currents
Morphological Development • Two important consequences of coevolution • Control program is evolved incrementally with good partial solutions • Symmetric or repeated structures with neural circuits • Eg: single encoding specifies the wiring of both right and left legs • Incremental building of layers fundamental behaviors & additional sensors / actuators • Two ideas to reduce genetic search space (like macros) • Language should include a macro capability • Some way to reference the symmetries and regularities of morphological structure of the robot
Evolving Behavior-based Programs • Carefully chosen subset of Lisp • Crucial way where the syntax of Lisp programs being mutated mirrored the semantics of the world of simple mathematics concepts • Primitives for GP of robots • Representation for Lisp programs S-expression (* 1 2 3) • Heuristic of embedding predicates in conditional special forms • Variables and lexicality • Many named state variables • Cannot be used conveniently if crossover is to occur no meaning • Some sort of indexing scheme • Depth and breadth: 157 nodes with 65 terminals of depth 12 • (942 nodes with 500 terminals of depth 12) • Housekeeping operations, reporting and debugging features • Compression techniques of the trees • Simulations only
Reconnecting to Reality • Calibration • Supposedly identical physical robot components are not identical • Build in adaptive elements into the run-time structures of programs that change thresholds and timeout intervals • Adapting the simulation • Two types of information available • How well the programs work on embodied robots • How different the performance of the programs is on the simulated robots and the embodied robots
Conclusion • Use genetic programming techniques to build behavior-based programs • Evolution and runtime adaptation are different issues • Runtime adaptation elements are required • Progressively enabling more sensors and actuators as layers of behaviors that evolved for those already operational • Regularity in morphology and control structure is required • Special care to design control language to minimize the depth and breadth of useful program trees • A method for representing variable references is introduced • Simulation is different from real world