Momentum-centric whole-body control and kino-dynamic motion generation for floating-base robots

Similar documents
C 2 Continuous Gait-Pattern Generation for Biped Robots

Quantification of Preview Control Walking Pattern Generation by Center of Mass Tracking

Efficient robust optimization for robust control with constraints Paul Goulart, Eric Kerrigan and Danny Ralph

Distributed and Real-time Predictive Control

Lecture «Robot Dynamics»: Dynamics and Control

Humanoid Push Recovery

Coordinating Feet in Bipedal Balance

Feedback Control of Dynamic Bipedal Robot Locomotion

The Dynamic Postural Adjustment with the Quadratic Programming Method

Game Physics. Game and Media Technology Master Program - Utrecht University. Dr. Nicolas Pronost

Mechanical energy transfer by internal force during the swing phase of running

Dynamics. Basilio Bona. Semester 1, DAUIN Politecnico di Torino. B. Bona (DAUIN) Dynamics Semester 1, / 18

Control of a biped robot by total rate of angular momentum using the task function approach

Automatic Control 2. Nonlinear systems. Prof. Alberto Bemporad. University of Trento. Academic year

Operational Space Control of Constrained and Underactuated Systems

Multibody simulation

Robust Control of Cooperative Underactuated Manipulators

ELEC4631 s Lecture 2: Dynamic Control Systems 7 March Overview of dynamic control systems

Automatic Task-specific Model Reduction for Humanoid Robots

Stable Limit Cycle Generation for Underactuated Mechanical Systems, Application: Inertia Wheel Inverted Pendulum

MCE/EEC 647/747: Robot Dynamics and Control. Lecture 12: Multivariable Control of Robotic Manipulators Part II

Reconstructing Null-space Policies Subject to Dynamic Task Constraints in Redundant Manipulators

Online Center of Mass and Momentum Estimation for a Humanoid Robot Based on Identification of Inertial Parameters

Angular Momentum Based Controller for Balancing an Inverted Double Pendulum

Increased Robustness of Humanoid Standing Balance in the Sagittal Plane through Adaptive Joint Torque Reduction

The Effect of Semicircular Feet on Energy Dissipation by Heel-strike in Dynamic Biped Locomotion

Adaptive Robust Tracking Control of Robot Manipulators in the Task-space under Uncertainties

Control and Planning with Asymptotically Stable Gait Primitives: 3D Dynamic Walking to Locomotor Rehabilitation?

Lecture «Robot Dynamics»: Dynamics 2

Reference Spreading Hybrid Control Exploiting Dynamic Contact Transitions in Robotics Applications. Alessandro Saccon

arxiv: v1 [cs.ro] 28 Jul 2016

Application of Newton/GMRES Method to Nonlinear Model Predictive Control of Functional Electrical Stimulation

Quaternion-Based Tracking Control Law Design For Tracking Mode

Toward Efficient and Robust Biped Walking Optimization

Optimization of a point-mass walking model using direct collocation and sequential quadratic programming

A Higher Order Partial Feedback Linearization Based Method for Controlling an Underactuated Hopping Robot with a Compliant Leg

The Acrobot and Cart-Pole

Humanoid Robot Gait Generator: Foot Steps Calculation for Trajectory Following.

EML5311 Lyapunov Stability & Robust Control Design

Nonlinear Optimization for Optimal Control Part 2. Pieter Abbeel UC Berkeley EECS. From linear to nonlinear Model-predictive control (MPC) POMDPs

In most robotic applications the goal is to find a multi-body dynamics description formulated

Numerical Optimal Control Overview. Moritz Diehl

q 1 F m d p q 2 Figure 1: An automated crane with the relevant kinematic and dynamic definitions.

Bipedal Locomotion on Small Feet. Bipedal Locomotion on Small Feet. Pop Quiz for Tony 6/26/2015. Jessy Grizzle. Jessy Grizzle.

Minimax Differential Dynamic Programming: An Application to Robust Biped Walking

3LP: a linear 3D-walking model including torso and swing dynamics

GAIN SCHEDULING CONTROL WITH MULTI-LOOP PID FOR 2- DOF ARM ROBOT TRAJECTORY CONTROL

Robust Low Torque Biped Walking Using Differential Dynamic Programming With a Minimax Criterion

Emergence of humanoid walking behaviors from Mixed-Integer Model Predictive Control

Planning COM trajectory with variable height and foot position with reactive stepping for humanoid robots

Joint Position and Velocity Bounds in Discrete-Time Acceleration/Torque Control of Robot Manipulators

CHAPTER 6 FAST OUTPUT SAMPLING CONTROL TECHNIQUE

Rhythmic Robot Arm Control Using Oscillators

Feedback Design for Multi-contact Push Recovery via LMI Approximation of the Piecewise-Affine Quadratic Regulator

4F3 - Predictive Control

1 Computing with constraints

Robust Model Predictive Control for Autonomous Vehicle/Self-Driving Cars

Reading. Realistic Character Animation. Modeling Realistic Motion. Two Approaches

REDUCING the torque needed to execute a given robot

Floor Control (kn) Time (sec) Floor 5. Displacement (mm) Time (sec) Floor 5.

Stepping Motion for a Human-like Character to Maintain Balance against Large Perturbations

EXPERIMENTAL COMPARISON OF TRAJECTORY TRACKERS FOR A CAR WITH TRAILERS

Lecture Notes: (Stochastic) Optimal Control

Introduction to centralized control

Design and Control of Compliant Humanoids. Alin Albu-Schäffer. DLR German Aerospace Center Institute of Robotics and Mechatronics

Linear Matrix Inequalities in Robust Control. Venkataramanan (Ragu) Balakrishnan School of ECE, Purdue University MTNS 2002

Optimal Control. McGill COMP 765 Oct 3 rd, 2017

Nonlinear H controllers for underactuated cooperative manipulators A. A. G. Siqueira and M. H. Terra,

Controlled Reduction with Unactuated Cyclic Variables: Application to 3D Bipedal Walking with Passive Yaw Rotation

Implementing Torque Control with High-Ratio Gear Boxes and without Joint-Torque Sensors

Capture Point: A Step toward Humanoid Push Recovery

Repetitive jumping control for biped robots via force distribution and energy regulation

TASK-ORIENTED CONTROL OF HUMANOID ROBOTS THROUGH PRIORITIZATION

Optimization-based control for dual-arm manipulation

Gideon Weiss University of Haifa. Joint work with students: Anat Kopzon Yoni Nazarathy. Stanford University, MSE, February, 2009

Compliant Control of Multi-Contact and Center of Mass Behaviors in Humanoid Robots

Robust Global Swing-Up of the Pendubot via Hybrid Control

Predictive dynamics: an optimization-based novel approach for human motion simulation

Chapter 7 Control. Part Classical Control. Mobile Robotics - Prof Alonzo Kelly, CMU RI

Sample-Based HZD Control for Robustness and Slope Invariance of Planar Passive Bipedal Gaits

A model of a human standing. by Richard Denker. January 7, 2013

Online Model Predictive Torque Control for Permanent Magnet Synchronous Motors

ANALYTICAL AND EXPERIMENTAL PREDICTOR-BASED TIME DELAY CONTROL OF BAXTER ROBOT

Partially Observable Markov Decision Processes (POMDPs) Pieter Abbeel UC Berkeley EECS

available online at CONTROL OF THE DOUBLE INVERTED PENDULUM ON A CART USING THE NATURAL MOTION

Design of Norm-Optimal Iterative Learning Controllers: The Effect of an Iteration-Domain Kalman Filter for Disturbance Estimation

Controlling Floating-Based Robots

CHANGING SPEED IN A SIMPLE WALKER WITH DYNAMIC ONE-STEP TRANSITIONS

Mixed Control Moment Gyro and Momentum Wheel Attitude Control Strategies

arxiv: v1 [cs.ro] 18 Feb 2019

Robotics. Dynamics. University of Stuttgart Winter 2018/19

Differential Kinematics

EE C128 / ME C134 Feedback Control Systems

Trajectory-tracking control of a planar 3-RRR parallel manipulator

KIN Mechanics of posture by Stephen Robinovitch, Ph.D.

Control. CSC752: Autonomous Robotic Systems. Ubbo Visser. March 9, Department of Computer Science University of Miami

Introduction to centralized control

Reinforcement Learning of Potential Fields to achieve Limit-Cycle Walking

The Jacobian. Jesse van den Kieboom

On the Implementation of Model Predictive Control for On-line Walking Pattern Generation

Transcription:

Momentum-centric whole-body control and kino-dynamic motion generation for floating-base robots Alexander Herzog The Movement Generation and Control Group (Ludovic Righetti)

Conflicting tasks & constraints task vs task weights physical constraint vs task hierarchies position task x CoP inequality constraint

Balancing in Single Support [Herzog, Righetti et al., IROS, 2014] feedback in task space no joint stabilization consistent optimization problem QP Cascades [Kanoun et al., 2011, Saab et al., 2013] 1kHz x des x Task Hierarchy M q + h = S T + J T c 1., torque limits 2.admissible contact forces, acceleration limits 3.swing leg, posture and momentum control 4.Regularization on forces joint pos. & vel. tracking momentum tracking www.youtube.com/watch?v=jmj3uv2q8xg push force

Momentum-based control as a LQR problem ḣ = apple I 3 3 0 3 3... [x cog x i ] I 3 3... + apple mg 0 (linear) (angular) mẋ com = h lin Interaction forces as the control input Desired performance min apple apple xcom h T Q apple xcom h + T R Linearization of the dynamics to compute optimal feedback control = K apple xcog h + k(x ref, h ref ) Use control law to define desired closedloop behavior of the momentum task apple I 3 3 0 3 3... [x i x cog ] I 3 3... + K apple xcog h k =0

Balance control with LQR momentum control [Herzog et al., AuRo 2016] Original momentum task LQR Design LQR significantly improves performance No need for re-tuning when changing contact conditions www.youtube.com/watch?v=jmj3uv2q8xg

strict prioritization between tasks and constraints 1kHz task feedback loop(s) LQR feedback design for momentum control pure feed forward torques, no joint stabilization

Gait control with passive ankles torque control passive ankles controlling CoP requires upper body motion Our strategy: control gait with stepping no explicit CoM control hierarchical inverse dynamics

Step Timing Adjustment: A Step Toward Generating Robust Gaits [WeBT2.1] Repeat after each foot-step: Specify bounded, nominal stepping frequency, width and length Repeat in a feedback-loop online at 1kHz: Optimize step duration and location Re-compute swing foot trajectories to adjust for changing swing durations and landing locations. update nominal stepping schedule optimize step timing & location online adapt swing foot trajectory Robot Task Hierarchy Robot [M. Khadiv, A. Herzog, A. Moosavian, L. Righetti; Step Timing Adjustment: A Step Toward Generating Robust Gaits; Humanoids 2016]

Step Timing Adjustment: A Step Toward Generating Robust Gaits [WeBT2.1] Repeat after each foot-step: Specify bounded, nominal stepping frequency, width and length Repeat in a feedback-loop online at 1kHz: Optimize step duration and location Re-compute swing foot trajectories to adjust for changing swing durations and landing locations. update nominal stepping schedule optimize step timing & location online M q + h = S T + J T c adapt swing foot trajectory 1., 2. contact constraints, CoM height Task Hierarchy Robot 3. swing leg control 4. Regularization on posture 5. Regularization Robot on forces [M. Khadiv, A. Herzog, A. Moosavian, L. Righetti; Step Timing Adjustment: A Step Toward Generating Robust Gaits; Humanoids 2016]

Step Timing Adjustment: A Step Toward Generating Robust Gaits [WeBT2.1] push: 290 N * 0.3 s Push recovery over different directions https://www.youtube.com/watch?v=rvbcfm8v_dy [13] A. Herdt et al. Online walking motion generation with automatic footstep placement Advanced Robotics, vol. 24, no. 5-6, pp. 719 737, 2010. [M. Khadiv, A. Herzog, A. Moosavian, L. Righetti; Step Timing Adjustment: A Step Toward Generating Robust Gaits; Humanoids 2016]

Problem formulation: kino-dynamic planning Given a desired sequence of contacts compute optimal trajectories for: - contact forces (+ locations) - center of mass - angular momentum - whole-body motion Consistent with the dynamics of the robot contact forces M(q) q + h(q, q) =S T + J T c (q) joint + robot base accelerations torques (under) actuation 2 S, q 2 S q Constraints on admissible contact forces and motions

Decomposition of the dynamics Equations of motion M(q) q + h(q, q) =S T + J T c (q) [Herzog et al., IROS 2016]

Decomposition of the dynamics Equations of motion M u q + h u = J T u M a q + h a = + J T a Unactuated Actuated [Herzog et al., IROS 2016]

Decomposition of the dynamics Unactuated dynamics = evolution of momentum Linear momentum Angular momentum Equations of motion M u q + h u = J T u M a q + h a = + J T a Unactuated Actuated Actuated dynamics = M a q + h a J T a Equivalent to a manipulator Any combination of motions and contact forces will satisfy actuated dynamics (ignoring actuation limits) [Herzog et al., IROS 2016]

Decomposition of the dynamics Unactuated dynamics = evolution of momentum Linear momentum Angular momentum Decomposition of optimal control problem: Equations of motion M u q + h u = J T u M a q + h a = + J T a Unactuated 1 momentum and contact forces planning II kinematics planning Actuated Actuated dynamics = M a q + h a J T a Equivalent to a manipulator Any combination of motions and contact forces will satisfy actuated dynamics (ignoring actuation limits) [Herzog et al., IROS 2016]

Problem formulation: kino-dynamic planning Kinematic optimization Dynamic optimization min. q(t), (t) J q (q) J ( ) + Cost describing the task to achieve s.t. x CoM (q) =r x e (q) =c e apple H(q) q + Ḣ(q) q = ḣ = Mg + P P e f e e (apple e +(c e r) f e ) Dynamic constraint q 2 S q, 2 S Contact force and Kinematic constraints The only variables connecting dynamics optimization to the kinematics optimization are - Center of Mass r(t) - Contact locations ce(t) - Linear+angular momentum h(t)

Problem formulation: kino-dynamic planning Kinematic optimization Dynamic optimization min. q(t), (t) J q (q) J ( ) + Cost describing the task to achieve s.t. x CoM (q) =r x e (q) =c e apple H(q) q + Ḣ(q) q = ḣ = Mg + P P e f e e (apple e +(c e r) f e ) Dynamic constraint q 2 S q, 2 S Contact force and Kinematic constraints - Decompose kino-dynamic optimization into: kinematic optimization problem (q(t)) dynamic optimization problem (contact forces λ(t)) - Solve two better structured problems iteratively and enforce that both problems agree on r(t),c(t),h(t)

Algorithm alternating kinematics and dynamics optimizations min. q(t) J q (q) {z } Task Cost + H(q) q h 2 + x CoM (q) r 2 + x e (q) c e 2 {z } Consistency with Force Optimization s.t. q 2 S q Kinematic optimization Typically converges after 2 iterations r, c, h x CoM (q), x e (q), H(q) q min. r,c,h, J (r, c, h, ) {z } Task Cost + h h 2 + r r 2 + c e c e 2 {z } Consistency with Motion Optimization r, c, h r, c, h [Herzog et al., IROS 2016] apple Mg + P s.t. ḣ = P e f e e (apple e +(c e r) f e ), r, c 2 S Dynamic optimization

Optimal control of multi-contact behavior Kinematic plan is not physically possible https://www.youtube.com/watch?v=nkp5z9mfrrw [Herzog et al., IROS 2016]

Optimal control of multi-contact behavior After alternate optimization of kinematics and dynamics => physically consistent motion https://www.youtube.com/watch?v=nkp5z9mfrrw [Herzog et al., IROS 2016]

Structure of the dynamics optimal control problem min. r,c,h, J (r, c, h, ) {z } Task Cost + h h 2 + r r 2 + c e c e 2 {z } Consistency with Motion Optimization apple Mg + P s.t. ḣ = P e f e e (apple e +(c e r) f e ), r, c 2 S optimal control with contact forces and location as control input (f,k,c) and center of mass and momentum as states Problem is non-convex due to the cross product Structure of optimization problem leads to efficient solvers 1. dynamics can be written as difference of convex function 2. problem can be expressed in sparse sequential form that scales linearly with time [Herzog et al., IROS 2016]

Difference of convex functions [Herzog et al., IROS 2016] Nonlinearity comes from cross product (non-convex operator) [a b] i = apple a b T H i apple a b,i=1, 2, 3 Can we compute the convex part of the cross product? H i = V i (D +,i D,i )V T i = H + i H i, with D +,i, D,i non-negative, diagonal H + i, H Useful i positive to definite solve the optimization problem by iterative convex approximations (e.g. using a Sequential apple apple C 0 [(Ca) (Db)] i =( 0 D x)t (H + C 0 i H i ) 0 D x = x T ( E T H + i E ET H i E )x apple apple a C 0 x = b, E = 0 D E T H + i E, ET H i E positive definite Quadratic Program algorithm)

Difference of convex functions [Herzog et al., IROS 2016] apple a [a b] i = b T apple a H i,i=1, 2, 3 b H i = V i (D +,i D,i )Vi T = H + i H i, with D +,i, D,i non-negative, diagonal H + i, H i positive definite Cross product written using quadratic form Hi for each component apple apple C 0 [(Ca) (Db)] i =( 0 D x)t (H + C 0 i H i ) 0 D x = x T ( E T H + i E ET H i E )x apple apple a C 0 x = b, E = 0 D E T H + i E, ET H i E positive definite

Difference of convex functions [Herzog et al., IROS 2016] [a b] i = apple a b T H i apple a b,i=1, 2, 3 H i = H + i H i H + i > 0 H i > 0 H i = V i (D +,i D,i )V T i = H + i H i, with D +,i, D,i non-negative, diagonal H + i, H i positive definite [r f] i =[(Cx) (Dx)] i apple apple C 0 =( x) T (H + C 0 0 D i H i )( x) 0 D {z } {z } E E = x T (E T H + i E {z } p.s.d E T H i E)x {z } p.s.d Hi can be written as a difference of positive definitive matrices Decomposition of cross product can be precomputed offline for fixed vectors (independent of actual problem)

Difference of convex functions [Herzog et al., IROS 2016] We can decompose the nonlinearity into a difference of positive definite matrices - convex part of the problem can be trivially constructed without any matrix decomposition [a b] i = apple a b T H i apple a b - Order of magnitude speed of up positive compared definitive to off-the- matrices [r f] i =[(Cx) shelf SQP (Dx)] solvers i like SNOPT apple apple C 0 =( x) T (H + C 0 0 D i H i )( x) 0 D {z } {z } of the E problem that leads to E optimization times < 1s = x T (E T H + i E {z } p.s.d,i=1, 2, 3 H i = V i (D +,i D,i )V T i = H + i H i, with D +,i, D,i non-negative, diagonal H + i, H i positive definite E T H i E)x {z } p.s.d H i = H + i Decomposition leads to new and fast algorithms Hi can be written as a difference H i H + i > 0 H i > 0 - Decomposition can be used for a convex relaxation Decomposition of cross product can be precomputed offline for fixed vectors (independent of actual problem)

Decomposition We decompose the original problem into kinematic trajectory optimization optimal control with controls f,c and states r,h dynamics can be constructed as difference of convex functions (no matrix decomposition) expressed in sparse sequential form Plans are dynamically feasible; can be controlled with hierarchical inverse dynamics [Herzog et al 2015]

A Convex Model of Humanoid Momentum Dynamics for Multi-Contact Motion Generation [ThPoS.8] min. r,l,c,f s.t. J(r, l, c, f)+k kk 2 2 3 A t 4 r t l t 5 + a t =0 f t k t = X e (c t,e r t ) f t,e r (CoM) f (force) = X i x T Q + i x xt Q i x x T = r l f c T motion generation ~1s c (contact location) [B. Ponton, A. Herzog, S. Schaal, L. Righetti; A Convex Model of Humanoid Momentum Dynamics for Multi-Contact Motion Generation; Humanoids 2016]

A Convex Model of Humanoid Momentum Dynamics for Multi-Contact Motion Generation [ThPoS.8] min. r,l,c,f s.t. J(r, l, c, f)+k X i 2 3 A t 4 r t l t f t 5 + a t =0 x T Q + i x xt Q i xk 2 r (CoM) f (force) motion generation ~1s c (contact location) [B. Ponton, A. Herzog, S. Schaal, L. Righetti; A Convex Model of Humanoid Momentum Dynamics for Multi-Contact Motion Generation; Humanoids 2016]

A Convex Model of Humanoid Momentum Dynamics for Multi-Contact Motion Generation [ThPoS.8] min. r,l,c,f s.t. J(r, l, c, f)+ X kx T Q + i xk2 + kx T Q i xk 2 i A t 2 4 r t l t f t 3 5 + a t =0 r (CoM) f (force) motion generation ~1s c (contact location) [B. Ponton, A. Herzog, S. Schaal, L. Righetti; A Convex Model of Humanoid Momentum Dynamics for Multi-Contact Motion Generation; Humanoids 2016]

A Convex Model of Humanoid Momentum Dynamics for Multi-Contact Motion Generation [ThPoS.8] min. r,l,c,f s.t. J(r, l, c, f)+ X ks + k 2 + ks k 2 i A t 2 4 r t l t f t 3 5 + a t =0 x T Q + i x apple s+,x T = r l f c T x T Q i x apple s r (CoM) f (force) motion generation ~1s c (contact location) [B. Ponton, A. Herzog, S. Schaal, L. Righetti; A Convex Model of Humanoid Momentum Dynamics for Multi-Contact Motion Generation; Humanoids 2016]

Conclusion Whole-body control with hierarchical inverse dynamics balancing with momentum control decomposed whole-body motion generation We can identify structure in the force optimization favorable for structured optimization

The Movement Generation and Control Group Ludovic Righetti Nicholas Rotella Alexander Herzog Brahayam Ponton [ThPoS.8] Miroslav Bogdanovic John Rebula Sean Mason Majid Khadiv [WeBT2.5] [WeBT2.1] Funding