Directing Physically Based (and Physical) Interactions Animating Dexterous Motions How can we easily animate the starfish’s escape? • • • • Appearance of intelligent motion Believable physical interaction with the glass box Dynamic, fun actions Animation tools accessible to anyone Animating Dexterous Motions Videos created by two novice users using our system. Background: Classical Approaches • Motion Capture • Not available for leaping starfish! • Traditional Keyframing • Keyframing complex dynamic interactions is hard • Physically based simulation • Great for passive objects • Difficult to create “intelligent” motions • Physically based controllers / Physically based optimization • How do we build a controller or objective function for this task? • No reference motions are available Factors that appear to contribute to human motion selection Lillian Y. Chang and Nancy S. Pollard, “Pre-Grasp Interaction for Object Acquisition in Difficult Tasks,” forthcoming book chapter Background: Better Alternatives • Operational space / task space control • Great concept, and we will use it Sentis and Khatib • Direct control of physically based systems • Goal: a more general animation system, motivated by demonstrations like these! Laszlo, van de Panne, and Fiume • We found that a variety of control modalities are needed and can be incorporated easily van de Panne Ski Stunt Simulator What Control Modes are Intuitive? User Interface Example Interface Modes Manipulate Bones • Drag a bone to control its motion • direct control of head position • Constrain a bone to a fixed position / orientation • constrain base to orientation shown Interface Modes Manipulate Center of Gravity • Drag the CG of the lamp in a tightly controlled manner to keep it balanced • Drag the CG of the starfish abruptly to create a jump • Drag the CG of the donut in a free form manner to create the desired animation Interface Modes Manipulate Character Root Orientation • Drag a special rotation widget for 3D rotational motions Interface Modes Manipulate Joints • Keyframe a leaping action for the worm • Set and maintain joint limits • Run a passive controller for a soft landing • How? Set a single desired configuration and low stiffness Interface Modes Previewing • Observe the effect of maintaining current command for a given period of time Interface Modes Speed up, slow down, advance, back up the simulation • Trial and error to learn the character dynamics and achieve desired result Animating Dexterous Motions Our observation: Different control modes are needed at different times to create animations sophisticated enough to tell a story Our solution: Put a variety of control modes into the animators hands and make them as intuitive as possible Overview of Our System Results: Compute muscle forces User Interface: for the character to best Real-time, trial achieve the user’s goals and error (e.g., Jump like this!) Character model: Coarse volumetric model -> fast simulation Fine surface detail for appearance, contacts and collision Junggon Kim and Nancy S. Pollard, “Direct Control of Simulated Non-Human Characters,” IEEE CG&A, 2011 Interface Modes Under the Hood The user is placing a variety of constraints on the character’s motion How do we determine how the character should behave, in a physically realistic manner, to best meet those constraints?? Our only “lever” is accelerations or torques that must be applied at the character’s joints to advance the simulation Algebra on the equations of motion? Complex, local-minimum prone, prioritized optimization?? Interface Modes Under the Hood Most quantities we care to measure or control have a locally linear relationship to joint accelerations and joint torques Evangelos Kokkevis, Practical Physics for Articulated Characters, Game Developer's Conference 2004. Example: Bone Constraints Express bone constraint as a linear function of joint accelerations: Straightforward differentiation of equations of motion Desired bone accelerations Obtaining desired bone accelerations: Bone accelerations when joint accelerations are zero Interface Modes Under the Hood (1) Express all constraints as a linear function of joint accelerations: (2) Solve a Quadratic Program to obtain joint accelerations: (3) Use these accelerations for the next timestep to advance the simulation Final Demos Realistic Physical Behavior? http://www.youtube.com/watch?v=a-1AiExU3Vk Huai-Ti Lin, Tufts Biomimetic Devices Laboratory Notes Constraint priorities: Mouse drags are satisfied after everything else Contact modeling: “hallucinate” constraints to account for pushoff forces Objective functions: minimize joint accelerations, torques, or velocities Speed: Simulations are real-time or better; users preferred 3X-8X slower Ease of use: Starfish escape animations created by novices in minutes What Control Modes are Intuitive? References http://www.cs.cmu.edu/~junggon/ Junggon Kim and Nancy S. Pollard, “Direct Control of Simulated Non-Human Characters,” IEEE CG&A, 2011 Junggon Kim and Nancy S. Pollard, “Fast Simulation of Skeleton-Driven Deformable Body Characters,” ACM ToG, 2011 http://www.cs.cmu.edu/~junggon/ Sticky Finger Manipulation With a Multi-Touch Interface Ken Toh MS Thesis Motivation • User interaction is a key feature in most graphical and robotic applications. Manipulating virtual cloth Teleoperating a robot with a multi-fingered hand Sticky Finger Manipulation With a Multi-Touch Interface 28 Motivation • Traditional User Input Devices are effective for many simple high-level interaction tasks.. On/off Up, down, left, right Common user input devices with simple command spaces Sticky Finger Manipulation With a Multi-Touch Interface 29 Motivation • Dexterous manipulation of simulated/real world objects with high DOFs can however be quite awkward to achieve with these existing input devices Realistic cloth tearing requires more than a single cursor to execute A panel of buttons is not the most intuitive interface for dexterous tele-manipulation Sticky Finger Manipulation With a Multi-Touch Interface 30 Motivation • Key Question: Can we design an intuitive user interface that allows us to feel natural when manipulating objects by proxy, almost as though we are interacting with them directly? Sticky Finger Manipulation With a Multi-Touch Interface 31 Cloth Manipulation: Modes Creation Mode Sticky-Finger Mode Cut Mode Sticky Finger Manipulation With a Multi-Touch Interface 32 Sticky Fingers for Cloth Manipulation Underlying cloth particles within radius of each active fingertip center are stuck to that finger and moves with it Sticky Finger Manipulation With a Multi-Touch Interface 33 Sticky-finger Lifting • User activates toggle which changes the plane of control from the x-z plane to x-y plane. Sticky Finger Manipulation With a Multi-Touch Interface 34 Pinch-lifting • Automatic detection of pinch event when two finger touches are close together. Sticky Finger Manipulation With a Multi-Touch Interface 35 Cloth Simulation Model A mesh of particles connected by bend, shear and stretch constraints Sticky Finger Manipulation With a Multi-Touch Interface 36 Verlet Integration • Key: Position-based dynamics essential because we need to stick particles kinematically to fingers (ie. modify positions directly) Sticky Finger Manipulation With a Multi-Touch Interface 37 Iterative Constraint Satisfaction x2 r x1 • Must handle cases with stuck fingers Correction vector Case (a): x1 and x2 not stuck Case (b): x1 stuck, x2 not stuck Case (c): if both are stuck, both = 0 Sticky Finger Manipulation With a Multi-Touch Interface 38 Tearing • Sticky finger pins down relevant particles and constraints, allowing unconstrained regions to elongate and eventually tear. Finger size matters too. Sticky Finger Manipulation With a Multi-Touch Interface 39 Cutting Similar to tearing but in a more controlled fashion Sticky Finger Manipulation With a Multi-Touch Interface 40 Direct Cloth Manipulation Robotic Telemanipulation Goal: intuitive interactive control of dexterous manipulation for a robot arm / hand system • Remote dexterous manipulation • Scripting new behaviors • Learning from demonstration What is available? Master-slave systems: Origami with the DaVinci surgical robot http://www.youtube.com/watch?v=x9Bjs99A0k0 What is available? Glove interfaces for dexterous hand control: Cyberglove interface http://www.youtube.com/watch?v=jOnp2M5qibs&feature=player_detailpage TVO: Doing the Dirty Work: Robots for Hire on the NASA Robonaut What is available? Glove interfaces for dexterous hand control: Cyberglove interface http://www.youtube.com/watch?v=_R40j64C7t8 Video from Shadow Robot Company Robotic Telemanipulation Our observations: Manipulation operations often depend on precise fingertip motions Existing interfaces control them only indirectly Our solution: An inexpensive interface based on maintaining relative fingertip positions and trajectories Multi-touch Sticky Finger Teleoperation Multi-touch for teleoperation of manipulation tasks • • • • • Portable Intuitive Accessible Affordable Capable of dexterous actions Yue Peng Toh and Nancy S. Pollard, “Sticky-Finger Teleoperation with A Multi-Touch Interface”, submitting to ICRA 2012. Multi-touch Sticky Finger Teleoperation Pose Control Jacobian pseudoinverse control with a nullspace constraint to reduce roll of the palm Solution: joint velocities Primary objective: hand and arm control fingertip velocities Secondary objective: minimize palm roll Interface modes: Horizontal Scrolling Interface modes: Vertical Scrolling Demo! (3X speed) Reference Yue Peng Toh and Nancy S. Pollard, “Sticky-Finger Teleoperation with A Multi-Touch Interface”, submitting to ICRA 2012. What Control Modes are Intuitive? 55