Autonomous Dynamically Simulated Creatures for Virtual Environments Paul Urban Supervisor: Prof. Shaun Bangay Honours Project 2001.

Slides:



Advertisements
Similar presentations
DIGbot: Complex Climbing Maneuvers in a Hexapod Robot Eric D. Diller, Luther R. Palmer, Roger D. Quinn Dept. of Mechanical & Aerospace Engineering, Case.
Advertisements

Reactive and Potential Field Planners
Formal Modelling of Reactive Agents as an aggregation of Simple Behaviours P.Kefalas Dept. of Computer Science 13 Tsimiski Str Thessaloniki Greece.
The robot structure model design 2 Curse 5. Modeling: the robot AcTrMStTk V(t) T(t)  (t) q(t) x(t)
Communication Piazza – Code Angel Computers in Lab Joined late – Be sure to me to remind me!
Control Design to Achieve Dynamic Walking on a Bipedal Robot with Compliance Young-Pil Jeon.
1 Wendy Williams Metaheuristic Algorithms Genetic Algorithms: A Tutorial “Genetic Algorithms are good at taking large, potentially huge search spaces and.
1cs533d-winter-2005 Computer Animation Robert Bridson (preview of CPSC 426)
Multi-Arm Manipulation Planning (1994) Yoshihito Koga Jean-Claude Latombe.
Overview An automatic transmission model is developed using Finite State Machine (FSM) modeling techniques. The choice of FSM as a modeling framework reflects.
Sandra Wieser Alexander Spröwitz Auke Jan Ijspeert.
1 7M836 Animation & Rendering Animation Jakob Beetz Joran Jessurun
Animating Human Athletes By J.K. Hodgkins and W.L. Wooten Arjun Rihan CS 99K: Digital Actors.
Genetic Algorithms in Materials Processing N. Chakraborti Department of Metallurgical & Materials Engineering Indian Institute of Technology Kharagpur.
1 Design of a controller for sitting of infants Semester Project July 5, 2007 Supervised by: Ludovic Righetti Prof. Auke J. Ijspeert Presented by: Neha.
Fast and Robust Legged Locomotion Sean Bailey Mechanical Engineering Design Division Advisor: Dr. Mark Cutkosky May 12, 2000.
Artificial Intelligence Genetic Algorithms and Applications of Genetic Algorithms in Compilers Prasad A. Kulkarni.
CS274 Spring 01 Lecture 5 Copyright © Mark Meyer Lecture V Higher Level Motion Control CS274: Computer Animation and Simulation.
Force Directed Algorithm Adel Alshayji 4/28/2005.
USC Viterbi School of Engineering. Alternative CC Robotic Systems.
Artificial Neural Networks -Application- Peter Andras
SNAKE ROBOTS TO THE RESCUE!. Introduction   Intelligent robots in SAR dealing with tasks in complex disaster environments   Autonomy, high mobility,
Use of Multimedia in Engineering. Mechatronics engineering is based on the combination from three basic engineering field that is mechaninal, electronics.
Locomotion in modular robots using the Roombots Modules Semester Project Sandra Wieser, Alexander Spröwitz, Auke Jan Ijspeert.
Genetic Algorithms: A Tutorial
1 PSO-based Motion Fuzzy Controller Design for Mobile Robots Master : Juing-Shian Chiou Student : Yu-Chia Hu( 胡育嘉 ) PPT : 100% 製作 International Journal.
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
Constraints-based Motion Planning for an Automatic, Flexible Laser Scanning Robotized Platform Th. Borangiu, A. Dogar, A. Dumitrache University Politehnica.
Sérgio Ronaldo Barros dos Santos (ITA-Brazil) Sidney Nascimento Givigi Júnior (RMC-Canada) Cairo Lúcio Nascimento Júnior (ITA-Brazil) Autonomous Construction.
1 Research on Animals and Vehicles Chapter 8 of Raibert By Rick Cory.
Optimization-Based Full Body Control for the DARPA Robotics Challenge Siyuan Feng Mar
Motion Control Locomotion Mobile Robot Kinematics Legged Locomotion
Introduction Designing controllers for walking robots presents many challenges. In order for walking robotics to reach this stage, perhaps a new approach.
Advanced Programming for 3D Applications CE Bob Hobbs Staffordshire university Human Motion Lecture 3.
Adapting Simulated Behaviors For New Characters Jessica K. Hodgins and Nancy S. Pollard presentation by Barış Aksan.
BIPEDAL LOCOMOTION Prima Parte Antonio D'Angelo.
Towards Cognitive Robotics Biointelligence Laboratory School of Computer Science and Engineering Seoul National University Christian.
Spacetime Constraints Revisited Joe Marks J. Thomas Ngo Using genetic algorithms to find solutions to spacetime constraint problems in 2D.
Whitman and Atkeson.  Present a decoupled controller for a simulated three-dimensional biped.  Dynamics broke down into multiple subsystems that are.
Muhammad Al-Nasser Mohammad Shahab Stochastic Optimization of Bipedal Walking using Gyro Feedback and Phase Resetting King Fahd University of Petroleum.
Evolving Virtual Creatures & Evolving 3D Morphology and Behavior by Competition Papers by Karl Sims Presented by Sarah Waziruddin.
1 “Genetic Algorithms are good at taking large, potentially huge search spaces and navigating them, looking for optimal combinations of things, solutions.
Yoonsang Lee Sungeun Kim Jehee Lee Seoul National University Data-Driven Biped Control.
Evolution-Natural and Artificial John Maynard Smith Interdisciplinary Program in Cognitive Science Lee, Jung-Woo June, 7, 1999.
ZMP-BASED LOCOMOTION Robotics Course Lesson 22.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 Computer Animation 고려대학교 컴퓨터 그래픽스 연구실.
Evolving the goal priorities of autonomous agents Adam Campbell* Advisor: Dr. Annie S. Wu* Collaborator: Dr. Randall Shumaker** School of Electrical Engineering.
Evolutionary Robotics
Autonomous Virtual Humans Tyler Streeter. Contents Introduction Introduction Implementation Implementation –3D Graphics –Simulated Physics –Neural Networks.
Introduction to Biped Walking
Efficient Bipedal Robots Based on Passive-Dynamic Walkers
Priama syntéza pohybu s použitím sekvenčného Monte Carlo Prezentácia vedeckej práce Rastislav Hekel, Martin Slavkovský
Interactive Control of Avatars Animated with Human Motion Data By: Jehee Lee, Jinxiang Chai, Paul S. A. Reitsma, Jessica K. Hodgins, Nancy S. Pollard Presented.
Computer Graphics Chapter 12 Computer Animation.
제 6 주. 응용 -2: Graphics Evolving L-systems to Generate Virtual Creatures G.S. Hornby and J.B. Pollack, Computers & Graphics, vol. 25, pp. 1041~1048, 2001.
Advanced Games Development Game Physics CO2301 Games Development 1 Week 19.
Organic Evolution and Problem Solving Je-Gun Joung.
Designing Intelligence Logical and Artificial Intelligence in Games Lecture 2.
Spacetime Constraints Chris Moore CS 552. Purpose Physically Accurate Realistic Motion.
Robot Intelligence Technology Lab. 10. Complex Hardware Morphologies: Walking Machines Presented by In-Won Park
CSE Advanced Computer Animation Short Presentation Topic: Locomotion Kang-che Lee 2009 Fall 1.
Animating Human Locomotion
Autonomous Navigation of a
Computer Animation cgvr.korea.ac.kr.
Human System Interactions, HSI '09. 2nd Conference on
By: Zeeshan Ansari, BEng (Hons) Electronic Engineering
LOGIKA & PEMROGRAMAN KOMPUTER MATLAB & Simulink
CIS 488/588 Bruce R. Maxim UM-Dearborn
Alternatives for Locomotion Control
Synthesis of Motion from Simple Animations
Presentation transcript:

Autonomous Dynamically Simulated Creatures for Virtual Environments Paul Urban Supervisor: Prof. Shaun Bangay Honours Project 2001

Problem Statement Traditional keyframing is inappropriate for animating realistic creatures in virtual environments, because it is Specified laboriously at a low level Strictly scripted, unvarying Often physically unrealistic Divided into sequences which don’t splice smoothly

Aim Our aim is to create virtual creatures that Are self-animating Exhibit physically realistic motion Have unscripted behaviour Are responsive to their unpredictable environment

The Solution: Animats Our approach is to construct complete artificial animals (animats). We draw upon theory and results from Artificial Life Physically Based Modelling Autonomous Mobile Robots

Anatomy of an Animat Dynamical model point-masses, springs, joints Sensors speed, food Actuators springs, joints Control mechanism finite state machine

Theory: Dynamical model The body and the environment are both modelled as a dynamical (mechanical) system A dynamics engine Animates the body and environment according to Newtonian mechanics Operates in (or near) real-time

Theory: Sensors Simulation Sensor Control mechanism Simulation data about creature body and environment Sensor activation level [0..1] Processing

Theory: Actuators Simulation Actuator Command to update some parameter in the simulated body Actuator activation level [0..1] Minimal processing Control mechanism

Theory: Control Mechanism Actuators Activation levels Sensors Control mechanism Solve the “action selection” problem In this project, FSMs are used

Design Overview Dynamics engine Roobot creature –Experiment to evolve hopping motion Jellyfish creature –Underwater environment Quadruped creature

Design: Dynamics engine No dynamics engine existed in greatdane Design criteria: –Conceptually simple –Applicable to a large variety of systems –Easily extendable –Computationally inexpensive

Design: Dynamics engine Object oriented decomposition Major abstract classes: –PointMass (single mass particle) –Force (applies force to several objects) –DiscreteEvent (detects and handles short-lived events) –Integrator (advances a system through time according physical laws)

Design: Roobot Springs Point masses Floor Torques Angular joints Gravity

Design: Roobot: Control Phases in the hopping motion corresponds to states in a FSM Transitions triggered by sensor values Different feedback algorithm for each state

Problem: Stable Hopping The roobot is dynamically unstable There are (14) parameters in the control FSM Values for stable hopping are unknown Parameters interact unpredictably “Fitness landscape” is unknown

Design: Hop Evolution Experiment Genetic algorithm is used Search for optimal sets of parameters Keep the best set so far Generate new sets through mutation Evaluate according to a fitness criterion (time till falling + distance travelled) Select if it beats the old best, replace old best

Design: Jellyfish Point masses Springs Gravity Buoyancy Pulse force Steering force

Design: Jellyfish: Control Three behaviours –Actively swimming –Pulsing occasionally to maintain depth –Drifting (sinking) passively Steering towards food occurs every pulse Action selection mechanism switches between these as appropriate

Design: Underwater environment Simulated fluid medium Currents to suggest waves overhead Swaying seaweed Rising bubbles Falling rocks

Design: Quadruped Flat torso defined by 4 point masses and 6 supporting springs Four legs (various models attempted) Control mechanism was to be based on that used for the roobot

Implementation Overview Dynamics engine Roobot creature Jellyfish creature –Underwater environment Quadruped creature

Implementation: Dynamics engine Coded in Java Compiles to a shared library, links into greatdane applications A number of additional objects defined, including –PointMass: SpherePointMass –Force: Spring, joints, Gravity, fluids, Floor –DiscreteEvent: Floor –Integrator: RungeKuttaIntegrator

Implementation: Creatures Coded in Java Models built from point masses, springs, angular joints and torque (rotational) joints Strict use of Sensor and Actuator interfaces

Implementation: Roobot Telescoping leg Hip & hip joint Tail Head Foot & ankle joint

Implementation: Jellyfish Dome Tentacles Stages in the pulsing motion

Implementation: Underwater environment Rocks Bubbles Seaweed

Implementation: Quadruped Torso Legs Control spring(s) Quadruped with supporting springs

Quadruped Abandoned Three different leg designs were tried A 2-segment jointed leg model couldn’t stand – knee joints twisted A 1-segment jointed leg model flipped over onto its back A 1-segment leg model with supporting springs was too complex to control

Results Overview Dynamics engine Stable Hopping Roobots Jellyfish swimming in an underwater environment

Results: Dynamics engine Object oriented dynamics engine implemented Highly applicable to particle systems Some difficulty with jointed structures

Results: Stable Hopping Roobots Stable hopping motion was evolved after a few hundred generations Separate evolutions from same starting parameters yielded different motions

Results: Swimming jellyfish Several jellyfish swim in a simulated underwater environment Interesting, physically realistic motion is generated automatically

Observations Dynamic simulation automatically produces realistic motion The design process is complex –Dynamics knowledge is crucial –Lazy modelling is optimal

Conclusions Our “bottom-up” approach to creature modelling using animats is validated The design process is complicated Genetic algorithms can be used to generate motor controllers Our dynamics engine simulates particle systems well, but jointed structures are not well handled

Thank you! Question time…