1 / 9

제 9 주 . 응용 -4: Robotics Artificial Life and Real Robots

제 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

zohar
Download Presentation

제 9 주 . 응용 -4: Robotics Artificial Life and Real Robots

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 제9주. 응용-4: RoboticsArtificial Life and Real Robots R.A. Brooks, Proc. European Conference on Artificial Life, pp. 3~10, 1992 학습목표 시뮬레이션 로봇과 실제 로봇을 구축하기 위한 인공생명(GP) 접근방식의 차이점 및 문제이해

  2. 개요 • 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

More Related