Title: Towards Robots that Move and Interact Like Humans
1Towards Robots that Move and Interact Like Humans
Carnegie Mellon University
Disney Research, Pittsburgh
2About Disney Research, Pittsburgh
3Disney Research
- http//www.disneyresearch.com/
- informal association of research labs in The Walt
Disney Company - Disney Interactive Media Group
- Disney Research, Pittsburgh (DRP)
- Disney Research, Zurich (DRZ)
- Pixar Animation Studios
- Walt Disney Animation Studios (WDAS)
- Walt Disney Imagineering (WDI)
4Disney Research, Pittsburgh (DRP)
- people
- director Jessica Hodgins computer graphics,
robotics - senior research scientists
- Iain Matthews computer vision, face tracking and
animation - Ivan Poupyrev (Aug. 2009) human-computer
interaction - Katsu Yamane humanoid robots, animation,
biomechanics - postdocs
- Josh Griffin, Raffay Hamid, Michael Mistry,
Takaaki Shiratori, Edilson de Aguiar - 1 administrative coordinator
- 3 visiting professors / 9 interns
5Disney Research, Pittsburgh (DRP)
- research areas
- robotics
- humanoids
- human-robot interaction
- animation
- motion capture
- facial animation
- human perception of animated motion
- interfaces
- audio, vision, novel sensors
- data mining, visualization
6Robotics Research at Disney
- (probably) largest number of humanoid robots
directly used in business everyday - many real-world problems
- many potential innovations
- human shape and natural motion are required
- various test environments
- indoor, controlled
- outdoor, unstructured
7Research Overview
8My Background
- 1997-2002 PhD student, University of Tokyo
- advisor Prof. Yoshihiko Nakamura
- simulation and motion synthesis of humanoid
robots - musculoskeletal human models
- March 2002 PhD in Mechanical Engineering
- 2002-2003 Postdoctoral Fellow, Carnegie Mellon
University - with Prof. Jessica Hodgins
- control of motorized marionette using motion
capture data - motion capture database and planning for
character animation - 2003-2008 Assistant/Associate Professor, Univ.
of Tokyo - human neuro-musculo-skeletal model and dynamics
- motion database
- Oct 2008- Disney Research, Pittsburgh
- humanoid robot control from motion capture
9Main Research Interest
- How do we coordinate our movement?
- issues
- modeling (body/control/motion)
- algorithms for motion analysis and simulation
- measurement (mocap, force, EMG, fMRI)
- parameter identification
- applications
- robotics
- graphics
- sport science
- medical science
10Talk Overview
11Talk Overview
12Humanoid Simulator
- two projects with AIST (1999-2001, 2005-2008) to
develop a simulation platform for humanoid robots - requirements
- articulated rigid bodies
- collision/contact model
- general polygonal objects
- concerns
- precision
- numerical stability
- computational efficiency
- now open source!
OpenHRP3 http//www.openrtp.jp/openhrp3/en/index.h
tml
13Simulation of Humanoid Robots
- structure-varying kinematic chains
- the link connectivity may change during the
motion - need to handle general closed kinematic chains
Nakamura, Yamane IEEE TRA 2000
14Scalablility
- decrease the complexity
- O(N2)?O(N) (N number of joints) Featherstone
1987 Rothenthal 1990 Baraff 1996 - employ parallel processing
- O(logN) on O(N) processors Fijany et al. 1995
Featherstone 1999 Anderson, Duan 2000 - Assembly-Disassembly Algorithm (ADA)
- Yamane, Nakamura ICRA 2001, 2002
- applicable to any open/closed kinematic chains
- automatic scheduling for parallel processing
Yamane and Nakamura, RSS 2007 - final results are equivalent to Featherstones
algorithm Yamane and Nakamura, IJRR 2009
15Application to Human Models
Dual Pentium Xeon 3.8GHz x 2
16Collision/Contact Models
- spring-damper (penalty-based) models
- easy to implement
- - difficult to find appropriate parameters
- - small timestep for integration (numerically
unstable) - rigid-body (constraint-based) models Stewart
2000 - relatively precise (in theory)
- numerically stable (in theory)
- - difficult to implement very few existing
libraries work for humanoid robots sensitive to
numerical errors - impulse-based models Mirtich 1995
- numerically stable
- - not good for continuous contact (e.g. stacking)
17Our Approach Yamane, Nakamura RSS 2008
- develop a robust pivot-based solver for linear
complementarity problems (LCP) - improve Lemkes algorithm Murty 1988
- maintain all pivot candidates
- search for the optimal pivot sequence using
dynamic programming - collision/contact model by LCPADA
- extend the formulation of Stewart and Trinkle
2000 to articulated rigid bodies
18Linear Complementarity Problem (LCP)
force
19Experiments
- humanoid robot ut-m2 Magnum Sugihara 2005
- tap-dancing Yamamoto 2006
20Experiments
- comparison with Lemkes algorithm
21Experiments
22Experiments
- with closed loop (toe joint)
23Non-Humanoid Examples
24Talk Overview
25UT-Poser Flexible IK
- develop a new tool for animators (with Sega)
- intuitive interface for manipulating characters
- interactively generate natural postures
- do not generate a sequence
- any number of constraints
- link position and/or orientation
- reference joint angles
- joint motion range
- technical difficulties
- singularity
- inconsistent constraints
Yamane, Nakamura TVCG 2003
26UT-Poser Flexible IK
- solution
- singularity-robust inverse Nakamura and Hanafusa
1986 Maciejewski 1990 - two priority levels hard/soft
- applications
- SEGAAnimaniumTM 2003 International 3D Awards
- motion capture
27Talk Overview
28Adapting Human Motion
- to deal with
- differences between human/robot bodies
- limb length, mass, actuation,
- new environment / constraints
- collision avoidance, task,
29Issues
- different kinematics / dynamics
- may be physically infeasible
- may not be able to accomplish the task
- what can be modified / what has to be preserved
- joint trajectory, endeffector trajectory, contact
force, - usually task-dependent
- human adaptation
- acquired by practice
- once acquired, easily adapted to various scenes
- sophisticated motor control? memory?
30Related Work
- common problem in robotics and animation
- usually formulated as an optimization problem
- how to solve the optimization problem?
- mathematical optimization Gleicher et al. 1997
Ude et al. 2004 Liu et al. 2005 - learning Kuniyoshi et al. 1994 Atkeson, Schaal
1997 Bentivegna et al. 2004 - task and skill Nakaoka et al. 2007
31Talk Overview
32Dynamics Filter
- convert a physically infeasible motion to a
feasible one - example
original
converted
Yamane, Nakamura TRA 2003
33Dynamics Filter
- convert a physically infeasible motion to a
feasible one - reasons for infeasibility
- measurement error
- different kinematic/dynamic parameters
- manual editing
- technique
- obtain desired accelerations by a feedback
controller in joint/Cartesian spaces - project the accelerations onto feasible space by
local (online) optimization - limitation can only cope with small differences
34Dynamics Filter Concept
acceleration
solution space of dynamics equation
contact forces
joint torques
desired acceleration (from controller)
locally optimized solution
unilateral contact forces considered
35Dynamics Filter Examples
filtered
captured
hip trajectory edited
different mass property
36Talk Overview
37Synthesizing Manipulation Tasks
- adapt example motions to
- new objects
- new environment
- new task (start/goal positions)
- new character
Yamane, Kuffner, Hodgins SIGGRAPH 2004
38Synthesizing Manipulation Tasks
- combination of model and data
- motion planning (RRT) LaValle and Kuffner 2000
and inverse kinematics (UTPoser) Yamane and
Nakamura 2003 - relatively small data set (four pick-and-place
examples) - limitations quasi-static, no stepping
- results
39Synthesizing Manipulation Tasks
- using motion capture to bias IK
40Talk Overview
41Balance Control
- so far how to synthesize new reference motions
- in real robots
- disturbances
- model uncertainty
- maintain balance while tracking a reference
motion - often conflict with each other
- feedback control with sensors
- sensor noise
42Controller Structure
- tracking and balancing during double support
- balancing keep center of mass around reference
position - tracking follow joint trajectory from motion
capture
motion clip
reference joint trajectory
joint torque command
balance controller
tracking controller
simulator
robot
current joint angles
Yamane, Hodgins IROS 2009
43Balance Controller
- linear quadratic regulator (LQR) designed for a
simplified humanoid model
center of mass (COM)
center of pressure (COP)
inverted pendulum (IP) model
full humanoid model
reference COM
IP model
balance controller
desired COP
-
observer
-
estimated COM
measured COM/COP
44Tracking Controller
- joint controller tracks motion capture
- optimization computes optimal joint torque
- quadratic cost function with analytical solution
minimize (joint acc error)2 (COP error)2
(foot acc error) 2 subject to complete robot
dynamics
reference joint trajectory
joint controller
optimization
joint torque command
foot controller
desired COP (from balance controller)
current joint angles/velocities
45Results Im a little teapot
46Features
- general
- same model/controller for different reference
motions - online
- simple data cleanup for flat contact of
supporting foot (feet) - analytical solution for optimization
- low gain
- for exact model
- for wrong mass parameter
example - adapt to disturbances
47Another Example
48Talk Overview
49Human Motion Control
- a key for interactive robots
- hierarchy of controllers
- high-level motor control in the brain
- large (100ms) delay too slow to cope with
disturbance? - low-level reflex in the spinal cord
- sensors
- somatosensory information (muscle length,
tension) - touch, temperature, pain
- smaller (30ms) delay
- most humanoid controllers run at or faster than
1KHz - some sophisticated mechanism?
50Towards Human Motion Control
- models for analysis
- detailed musculoskeletal model for estimating the
somatosensory information Yamane et al. ICRA
2005 - neuromuscular network model with somatosensory
reflex Murai et al. EMBC 2008
51Musculoskeletal Model
- skeleton 155 DOF
- 200 bones ? 53 groups
- composed of mechanical joints
- hand/foot fingers not included
- actuator more than 1,000 wires
- 997 muscles linear actuators
- 50 tendons connect muscles and bones
- 117 ligaments constrain the bones
- algorithms
- inverse kinematics ? muscle length / velocity
- inverse dynamics ? muscle tension estimation
52Musculo-Tendon Network
- mass-less, zero-radius wires with via-points
53Actuation
- mapping wire tensions to joint torques
- moment arm limited to 1DOF joints, planar
motions - generalization by Principle of Virtual Work
dAlemberts Principle
wire tensions
54Estimating Wire Tensions
- numerical optimization to resolve redundancy
- consider EMG data for physiological reality
- linear programming formulation
minimize
subject to
error of the mapping equation
error from a reference tension
? minimizes total force
compute from EMG data
muscles can only pull
55Examples
toe walk
heel walk
56vertical contact force left right
left vastus lateralis left achilles
toe walk
heel walk
57Neuromuscular Network Model
- inputs and outputs
- inputs motor command signals at spinal nerve
rami - outputs muscle tensions
- two paths
- CNS?PNS descending pathway
- PNS?PNS ascending and descending pathways
- (somatic reflex network)
peripheral nervous system (PNS)
central nervous system (CNS)
58Identifying the Motor Command Signals
- independent component analysis (ICA)
- estimate mutually independent signal sources
- order of the independent signals is undefined
- dimension of ?
- 120, the number of relevant
- spinal nerve rami, is enough!
muscle tensions
independent signals
motor command signals
59Neuromuscular Network Model
60Neuromuscular Network Model
120 independent signals
61Neuromuscular Network Model
all-to-all connection
anatomical connection
62Neuromuscular Network Model
anatomical connection
63Neuromuscular Network Model
muscle tensions
64Neuromuscular Network Model
muscle length / force sensors
65Neuromuscular Network Model
anatomical connection with time delay (30ms)
66Identification
- training data
- walk (2000 frames, 10 seconds)
- muscle tensions from inverse dynamics
- independent signals from ICA
- training
- 5000 cycles
- error
- average 2.59
- variance 0.34
67Results Weight Parameter of Reflex Loop
- from Iliacus agonist for hip flexion
classified as agonist muscles for hip flexion in
sports science
68Results Weight Parameter of Reflex Loop
- from Tensor Fasciae Latae agonist for hip flexion
classified as antagonist muscles for hip flexion
in sports science
69Results Patellar Tendon Reflex
- patellar tendon reflex stretch reflex of
quadriceps
hit!
70Summary
- efficient numerical tools
- dynamics simulation of humanoid robots
- UT-Poser flexible inverse kinematics
- adapting human motion
- dynamics filter adaptation to small differences
in kinematics and dynamics - synthesizing manipulation tasks adaptation to
different kinematics and environment - balancing and tracking adaptation to
disturbances, uncertainty - understanding human motion control
- musculoskeletal and neuromuscular network models
71Acknowledgements
- University of Tokyo
- Yoshihiko Nakamura (Dept. of Mechano-Informatics)
- Tomotaka Yamamoto (School of Medicine)
- Akihiko Murai (PhD student)
- Masaya Hirashima (postdoc)
- funding JSPS, NEDO, IPA
- Carnegie Mellon University
- Jessica Hodgins
- James Kuffner
- Ben Brown
- Graphics Lab
- funding NSF
72Questions?