3D Biped Simulation Chris Atkeson, 4/10/09. Top level directories hum1/hum1: where the interesting stuff is hum1/useful: useful code hum1/lib: Windows.

Slides:



Advertisements
Similar presentations
X Y 1. Forces Table/Ramp Earth Fe on b Fe on b x Fe on b y Ft on b Fx = Fe on b x Fy = Fe on by + Ft on b.
Advertisements

A simple and robust hierarchical control architecture for a walking robot Richard Kennaway School of Computing Sciences University of East Anglia.
Rolling, Torque, and Angular Momentum
Chapter 11 Angular Momentum
Kinematics of simple harmonic motion (SHM)
Reading Assignment 6.1: A. Push of the workers B.Friction C.Normal force D.Gravity E.Net force Workers of a moving company push a refrigerator over a distance.
بسم الله الرحمن الرحيم.
Benjamin Stephens Carnegie Mellon University 9 th IEEE-RAS International Conference on Humanoid Robots December 8, 2009 Modeling and Control of Periodic.
Model Predictive Control for Humanoid Balance and Locomotion Benjamin Stephens Robotics Institute.
Control of Instantaneously Coupled Systems Applied to Humanoid Walking Eric C. Whitman & Christopher G. Atkeson Carnegie Mellon University.
Analysis of a Pendulum Problem after Jan Jantzen
KINETIC ENERGY, WORK, PRINCIPLE OF WORK AND ENERGY
Physics 111: Mechanics Lecture 14 Dale Gary NJIT Physics Department.
Cutnell/Johnson Physics 9th edition
Halliday/Resnick/Walker Fundamentals of Physics 8th edition
PLANAR KINETICS OF A RIGID BODY:
T. K. Ng, HKUST Lecture IV. Mechanics of rigid bodies.
WS4-1 ADM703, Workshop 4, August 2005 Copyright  2005 MSC.Software Corporation WORKSHOP 4 WASHING MACHINE.
Adapting Simulated Behaviors For New Characters Jessica K. Hodgins and Nancy S. Pollard presentation by Barış Aksan.
Chapter 12 Oscillatory Motion. Periodic Motion Periodic motion is motion of an object that regularly repeats The object returns to a given position after.
Chapter 13: Oscillatory Motions
Energy of the Simple Harmonic Oscillator. The Total Mechanical Energy (PE + KE) Is Constant KINETIC ENERGY: KE = ½ mv 2 Remember v = -ωAsin(ωt+ ϕ ) KE.
Chapter 12 Oscillatory Motion.
BIPEDAL LOCOMOTION Prima Parte Antonio D'Angelo.
Development of a Wearable 6-D Force Sensor for Human Dynamics Analysis Tao LIU Department of Intelligent Mechanical Systems Engineering Kochi University.
Whitman and Atkeson.  Present a decoupled controller for a simulated three-dimensional biped.  Dynamics broke down into multiple subsystems that are.
Simple Harmonic Motion
WS6-1 ADM703, Workshop 6, August 2005 Copyright  2005 MSC.Software Corporation WORKSHOP 6 OVER-RUNNING PULLEY.
Edward Muybridge Locomotor kinematics = quantification of limb and body motion Locomotor dynamics = analysis of forces and moments Lecture #
Muhammad Al-Nasser Mohammad Shahab Stochastic Optimization of Bipedal Walking using Gyro Feedback and Phase Resetting King Fahd University of Petroleum.
Physics Lesson 6 Projectile Motion
Universal Mechanism Simulation of Tracked Vehicle Dynamics with
Work and Energy Work is the product of Force and displacement. The force needed to calculate Work is the force or component force in the direction of.
DARPA Robotics Challenge Day 1.
Simple Harmonic Motion. Restoring Forces in Spring  F=-kx  This implies that when a spring is compressed or elongated, there is a force that tries to.
Balance control of humanoid robot for Hurosot
TWO DIMENSIONAL AND VARIED MOTION Projectile Motion The Pendulum.
Benjamin Stephens Carnegie Mellon University Monday June 29, 2009 The Linear Biped Model and Application to Humanoid Estimation and Control.
Lecture 3 Intro to Posture Control Working with Dynamic Models.
Simple Harmonic Motion: SHM
Introduction to Biped Walking
Chapter 15 Oscillatory Motion.
©JParkinson ALL INVOLVE SIMPLE HARMONIC MOTION.
EE 460 Advanced Control and System Integration
Parametric Contact Model (PCM) Development Plan MilestoneDateSoftware GoalExperimental Goal – Purchase DE (Dynamics Engine by Arachi) 10/1/03 (11/1/03)
Model Predictive Impedance Control MPIC. Motor Control Features 1.Feedback (closed loop) 2.Feedforward (open loop) 3.Learning 4.Predictive Control 5.Joint.
Oscillations. Periodic Motion Periodic motion is motion of an object that regularly returns to a given position after a fixed time interval A special.
Simple Harmonic Motion Periodic Motion Simple periodic motion is that motion in which a body moves back and forth over a fixed path, returning to each.
Physics 201: Lecture 28, Pg 1 Lecture 28 Goals Goals  Describe oscillatory motion  Use oscillatory graphs  Define the phase constant  Employ energy.
KINETIC ENERGY, WORK, PRINCIPLE OF WORK AND ENERGY Today’s Objectives: Students will be able to: 1.Define the various ways a force and couple do work.
Date of download: 7/8/2016 Copyright © ASME. All rights reserved. From: Stabilization of a Dynamic Walking Gait Simulation J. Comput. Nonlinear Dynam.
Date of download: 7/8/2016 Copyright © ASME. All rights reserved. From: Dynamics and Balance Control of the Reaction Mass Pendulum: A Three-Dimensional.
Date of download: 10/2/2017 Copyright © ASME. All rights reserved.
Simulation Analysis: Estimating Joint Loads
Basic Rollercoaster Physics
Realization of Dynamic Walking of Biped Humanoid Robot
Lecture 19 Goals: Chapter 14
Key Concepts: Starts and Maximum Velocity Running.
From: Simulation of Aperiodic Bipedal Sprinting
Multi-Policy Control of Biped Walking
Oscillations © 2014 Pearson Education, Inc..
Can We Figure Out What Algorithms Are Used For Balance and Gait in Biological Systems? Chris Atkeson CMU.
Features in the Quad State Space Model
WORKSHOP 7 OVER-RUNNING PULLEY.
RABBIT: A Testbed for Advanced Control Theory Chevallereau, et. al.
S3 vary load.
Alternatives for Locomotion Control
Oscillatory Motion Periodic motion Spring-mass system
An elevator supported by a single cable descends a shaft at a constant speed. The only forces acting on the elevator are the tension in the cable.
PENDULUM ©JParkinson.
Presentation transcript:

3D Biped Simulation Chris Atkeson, 4/10/09

Top level directories hum1/hum1: where the interesting stuff is hum1/useful: useful code hum1/lib: Windows directories for compiled graphics library

Other software used We use SDFAST rigid body dynamics We use graphics from ODE, but not dynamics. drawstuff.dll, etc. Mrdplot to plot data.

hum1/hum1/ Simulation and display separate. simulation.c: main program for simulation. animate.c: main program for display. Use Makefile to compile on Linux, Mac OSX Use xxx.vcproj to compile on Windows

Other code components controller.c: walking policy. Other controller files are working versions for particular behaviors data.c: saving data in mrdplot format. dynamics.c: dynamics using spring/damper ground model. Interface to sdfast code in sdfast/ main.h: main include file. main2.h: function declarations matrix3.c 3x3 matrix code matrix3.h include file for 3x3 matrix code parameters.c: handle simulation parameters.

Useful variables (main.h) See main.h root_position: position of pelvis root_q: orientation of pelvis (quaternion) root_velocity: velocity of pelvis root_w: angular velocity of pelvis joints: joint angles jointsd: joint angular velocities controls: control signals xxxd: velocity xxx_d: desired value xxx_true: true values of above (do not use)

dynamics.c: interface init_dynamics( s ); init_state_two_feet_on_ground( s ); integrate_one_time_step( s );

Ground contact model Z > 0 -> no force Fz = kz * z + bz * zd Fx = kx * (x – x0) + bx * xd; Fy = … Mz = ka * (a – a0) + ba * ad Fz Fz, Fx, Fy, Mz = 0, reset x0, y0, a0 Friction cone violation -> Fx, Fy, Mz = 0, reset x0, y0, a0

Marching in place controller

What is controlled? Simple Harmonic Oscillator: + * E ≈ k*p 2 + m*v 2 Physics does not match reality, empirically ok Inverted pendulum: - * - E ≈ mgh + Iω 2; h max = E/mg Hard to define h (leg length varies, joint moves), sensitive to h (cosine effect) Constant height: - * - F/mg = tan(θ) = x/z; -∫Fdx = m*v 2 /2 x min = sqrt( x 2 – z*v 2 /g )

Inverted Pendulum and Constant Height Models F

Joint Control (xAA) AA = abduction/adduction AAA (ankle roll) are pure torque sources. HAA (hip roll) are torque sources in double support. In single support, HAA need to hold torso up (PD with FF). Desired position tracks AAA. xAA double support torques constant or depend on velocity error. Zero torque works. AAA single support torques are constant or depend on x_min error. Zero torque works.

Joint Control (xFE) FE = flex/extend xFE are PD, with desired trajectories Liftoff occurs when x_min < x_min_d Touchdown occurs a fixed time interval after turnaround

Controller States WAITING 1 DS1 2 // double support, left leg in front LIFTOFF1 3 // double support, lifting right leg SSL1 4 // first phase of single support, left leg in stance SSL2 5 // second phase of single support, left leg in stance DS2 6 // double support, right leg in front LIFTOFF2 7 // double support, lifting left leg SSR1 8 // first phase of single support, right leg in stance SSR2 9 // second phase of single support, right leg in stance LAUNCH1 10 // launch state. Squat LAUNCH2 11 // launch state. Like DS1.

reinit_controller( SIM *s ) run_trajectory( SIM *s, double time ) run_servos( SIM *s ) run_state_machine( SIM *s ) controller( SIM *s )

Hacks Point feet: Feet always assumed to be horizontal.

Floor geometry Delay, low pass filter (channel specific) Actuator dynamics Unmodelled dynamics, other coupling dynamics Different ground contact model, friction