Safe Execution of Bipedal Walking Tasks from Biomechanical Principles

72
Safe Execution of Bipedal Walking Tasks from Biomechanical Principles Andreas Hofmann and Brian Williams

description

Safe Execution of Bipedal Walking Tasks from Biomechanical Principles. Andreas Hofmann and Brian Williams. Introduction. Introduction. Problem: For agile, underactuated systems, can’t ignore dynamics. Introduction. Problem: For agile, underactuated systems, can’t ignore dynamics. - PowerPoint PPT Presentation

Transcript of Safe Execution of Bipedal Walking Tasks from Biomechanical Principles

Safe Execution of Bipedal Walking Tasks from

Biomechanical Principles

Andreas Hofmann and Brian Williams

Introduction

Planner

Dispatcher

SkillsLibrary

A B

CD

[20, 30]

Turn right,go forward

Discrete task executives- Planner generates plan- Dispatcher monitors execution,invokes primitives from skills library

- Velocity limits (timing limits)

- Acceleration limits ignored (detaileddynamics are abstracted away byassuming they can be ignored)

Introduction

Problem: For agile, underactuated systems, can’t ignore dynamics

Planner

Dispatcher

SkillsLibrary

A B

CD

[20, 30]

Turn right,go forward

Discrete task executives- Planner generates plan- Dispatcher monitors execution,invokes primitives from skills library

- Velocity limits (timing limits)

- Acceleration limits ignored (detaileddynamics are abstracted away byassuming they can be ignored)

Introduction

Problem: For agile, underactuated systems, can’t ignore dynamics

Planner

Dispatcher

SkillsLibrary

A B

CD

[20, 30]

Turn right,go forward

Discrete task executives- Planner generates plan- Dispatcher monitors execution,invokes primitives from skills library

- Velocity limits (timing limits)

- Acceleration limits ignored (detaileddynamics are abstracted away byassuming they can be ignored)

t

Left knee

t

Left hip pitch

- Detailed joint trajectories generatedoffline, taking into account dynamics- Trajectories tracked using simplehigh-impedance PD control laws

Introduction

Problem: For agile, underactuated systems, can’t ignore dynamics

Planner

Dispatcher

SkillsLibrary

A B

CD

[20, 30]

Turn right,go forward

Discrete task executives- Planner generates plan- Dispatcher monitors execution,invokes primitives from skills library

- Velocity limits (timing limits)

- Acceleration limits ignored (detaileddynamics are abstracted away byassuming they can be ignored)

t

Left knee

t

Left hip pitch

- Detailed joint trajectories generatedoffline, taking into account dynamics- Trajectories tracked using simplehigh-impedance PD control laws

Problem: No notion of task plan, little flexibility to disturbances

Introduction – Problem AddressedPlanner

Dispatcher

SkillsLibrary

A B

CD

[20, 30]

Turn right,go forward

Discrete task executives- Planner generates plan- Dispatcher monitors execution,invokes primitives from skills library

- Velocity limits (timing limits)

- Acceleration limits ignored (detaileddynamics are abstracted away byassuming they can be ignored)

t

Left knee

t

Left hip pitch

- Detailed joint trajectories generatedoffline, taking into account dynamics- Trajectories tracked using simplehigh-impedance PD control laws

Gap: Large class of problems that require- ability to execute task-level plans- ability to deal with disturbances- taking into account dynamic limitations;

understanding relationship between acceleration limits, and time needed to achieve state-space goals

Challenging case – bipedal walking

• Walk from location A to B in specified time• Observe foot placement restrictions imposed by

terrain

Challenging case – bipedal walking• Walk from location A to B in specified time• Observe foot placement restrictions imposed by terrain

Challenging case – Bipedal Machines

• Walk from location A to B in specified time

Challenging case – Bipedal Machines

• Walk from location A to B in specified time

• Should not fall, even if disturbed

Challenging case – Bipedal Machines• Should not fall, even if disturbed

Challenging case – Bipedal Machines

• Should not fall, even on shaky ground

Challenging case – Bipedal Machines• Should not fall, even on shaky ground

Challenging case – Bipedal Machines• Should not fall, even on shaky ground

• But there are limits!

Approach – walking task spec

Rf_1

x

y Lf_1

Rf_2

Lf_2X_lb X_ub

Y_lb

Y_ub

Foot placement

QualitativeGait Poses

Lf_1

Rf_1Lf_1 Rf_2 Rf_2

Lf_1

Lf_2

Rf_2

Double supportleft foot in front

Left singlesupport

Double supportright foot in front

Right singlesupport

Double supportleft foot in front

x - forwardy - lateral

[20, 30] tSpatial goal region

specificationTemporal rangespecification

Qualitative State Plan

Computing torques to achieve a particular state goal is challenging

?desCM

Lf_1

Rf_1Lf_1 Rf_2 Rf_2

Lf_1

Lf_2

Rf_2

Hybrid executive and multivariable controller

Lf_1

Rf_1Lf_1 Rf_2 Rf_2

Lf_1

Lf_2

Rf_2

desCM

Model-basedExecutive

State Plan

MIMO NonlinearPlant

Feedback-LinearizingMultivariable Controller

Plant controlinputs

Plantstate

Hybrid Task-levelExecutive

SISOLinearSystems

Controlparameters

Plantstate

Hybrid executive coordinates controllers to sequence plant through poses in

qualitative state planModel-basedExecutive

State Plan

MIMO NonlinearPlant

Feedback-LinearizingMultivariable Controller

Plant controlinputs

Plantstate

Hybrid Task-levelExecutive

SISOLinearSystems

Controlparameters

Plantstate

Lf_1

Rf_1Lf_1 Rf_2 Rf_2

Lf_1

Lf_2

Rf_2

Hybrid executive coordinates controllers to sequence plant through poses in

qualitative state planModel-basedExecutive

State Plan

MIMO NonlinearPlant

Feedback-LinearizingMultivariable Controller

Plant controlinputs

Plantstate

Hybrid Task-levelExecutive

SISOLinearSystems

Controlparameters

Plantstate

Lf_1

Rf_1Lf_1 Rf_2 Rf_2

Lf_1

Lf_2

Rf_2

Hybrid executive coordinates controllers to sequence plant through poses in

qualitative state planModel-basedExecutive

State Plan

MIMO NonlinearPlant

Feedback-LinearizingMultivariable Controller

Plant controlinputs

Plantstate

Hybrid Task-levelExecutive

SISOLinearSystems

Controlparameters

Plantstate

Lf_1

Rf_1Lf_1 Rf_2 Rf_2

Lf_1

Lf_2

Rf_2

Hybrid executive coordinates controllers to sequence plant through poses in

qualitative state planModel-basedExecutive

State Plan

MIMO NonlinearPlant

Feedback-LinearizingMultivariable Controller

Plant controlinputs

Plantstate

Hybrid Task-levelExecutive

SISOLinearSystems

Controlparameters

Plantstate

Lf_1

Rf_1Lf_1 Rf_2 Rf_2

Lf_1

Lf_2

Rf_2

Hybrid executive coordinates controllers to sequence plant through poses in

qualitative state planModel-basedExecutive

State Plan

MIMO NonlinearPlant

Feedback-LinearizingMultivariable Controller

Plant controlinputs

Plantstate

Hybrid Task-levelExecutive

SISOLinearSystems

Controlparameters

Plantstate

Lf_1

Rf_1Lf_1 Rf_2 Rf_2

Lf_1

Lf_2

Rf_2

Model-basedExecutive

State Plan

MIMO NonlinearPlant

Feedback-LinearizingMultivariable Controller

Plant controlinputs

Plantstate

Hybrid Task-levelExecutive

SISOLinearSystems

Controlparameters

Plantstate

1y

1y 1y+

dk

sety _1

+ pk-

+-

sety _1

• Multivariable controller • makes state plan quantities, like CM, directly

controllable

• allows hybrid executive to control CM by adjusting linear gain parameters

CM

Kp Kd

Innovations• Requirement: Stable walking

Innovations• Requirement: Stable walking

Previous Approaches

Innovations• Requirement: Stable walking

Previous Approaches

Innovations• Requirement: Stable walking

• How to get to the right place at the right time?

• What if terrain requires irregular foot placement?

Previous Approaches

Innovations• Requirement: Stable walking

• How to get to the right place at the right time?

• What if terrain requires irregular foot placement?

Previous Approaches Innovation

Execute a plan

Innovations

Previous Approaches

t

Left knee

t

Left hip pitch

Detailed actuated trajectory spec.

• Requirement: ability to execute task-level plans• How should walking plans be expressed?

• What are the requirements for successful plan execution?

Innovations

Previous Approaches Innovation

t

Left knee

t

Left hip pitch

Detailed actuated trajectory spec.

Lf_1

Rf_1Lf_1 Rf_2 Rf_2

Lf_1

Lf_2

Rf_2

[20, 30] tSpatial goal region

specificationTemporal rangespecification

Qualitative state trajectory spec.

• Requirement: ability to execute task-level plans• How should walking plans be expressed?

• What are the requirements for successful plan execution?

Innovations

Previous Approaches Innovation

t

Left knee

t

Left hip pitch

Detailed actuated trajectory spec.

Qualitative control plan

• Requirement: ability to execute task-level plans• How should walking plans be expressed?

• What are the requirements for successful plan execution?

Lateral CM

Forward CM

Innovations

• Requirement: ability to deal with disturbances• What balance strategies can bipeds (like humans) use?

Innovations

• Requirement: ability to deal with disturbances• What balance strategies can bipeds (like humans) use?

Previous Approaches

Uses primarily ankle torque

strategy

Innovations

• Requirement: ability to deal with disturbances• What balance strategies can bipeds (like humans) use?

Previous Approaches

Uses primarily ankle torque

strategy

CM

CP ZTCP

F

F

xF

CMτUse threebalance

strategies

Innovation

Humans use Three Balance Strategies

• Stance ankle torque

• Stepping

Movement of non-contact segments

CM

CP ZTCP

F

F

xF

CMτ

Innovations

• Requirement: account for dynamic limitations• What is the relationship between acceleration limits,

and timing needed to achieve state-space goals?

Innovations

• Requirement: account for dynamic limitations• What is the relationship between acceleration limits,

and timing needed to achieve state-space goals?

Previous Approach – exploits waits

[Morris, 2001]

Sail boat [6, 12]Boston Provincetown

Car in Provincetown[3, 4]

Drive car to Provincetown

[0, inf]Wait in Provincetown

Innovations

• Requirement: account for dynamic limitations• What is the relationship between acceleration limits,

and timing needed to achieve state-space goals?

Previous Approach – exploits waits

[Morris, 2001]

Innovation

Underactuated system -no equilibrium point(no ability to wait)

Sail boat [6, 12]Boston Provincetown

Car in Provincetown[3, 4]

Drive car to Provincetown

[0, inf]Wait in Provincetown

Problem Solution

Take state plan and plant state as input

Model-basedExecutive

State Plan

MIMO NonlinearPlant

Feedback-LinearizingMultivariable Controller

Plant controlinputs

Plantstate

Hybrid Dispatcher

SISOLinearSystems

Controlparameters

Plantstate

Generate plant control input that causesplant state to evolve in accordance with the state plan specification.

Model-basedExecutive

State Plan

MIMO NonlinearPlant

Feedback-LinearizingMultivariable Controller

Plant controlinputs

Plantstate

Hybrid Task-levelExecutive

SISOLinearSystems

Controlparameters

Plantstate

1y

1y 1y+

dk

sety _1

+ pk-

+-

sety _1

• Multivariable controller makes CM directly controllable

CM

Kp Kd

Multivariable Controller Requirements

t

Left knee

t

Left hip pitch

• Want to specify coarse setpoint – Forward CM setpoint = 0

– Lateral CM setpoint = 0

• Controller should figure out detailed joint trajectories

Model-basedExecutive

State Plan

MIMO NonlinearPlant

Feedback-LinearizingMultivariable Controller

Plant controlinputs

Plantstate

Hybrid Task-levelExecutive

SISOLinearSystems

Controlparameters

Plantstate

1y

1y 1y+

dk

sety _1

+ pk-

+-

sety _1

• Hybrid executive decides CM setpoints, control gains• adjusts kp, kd gains of SISO abstraction

CM

Kp Kd

Hybrid Executive Requirements• Multivariable controller accepts single

setpoint

Hybrid Executive Requirements• Multivariable controller accepts single

setpoint

• Can’t, by itself, sequence through multiple setpoints

Lf_1

Rf_1Lf_1 Rf_2 Rf_2

Lf_1

Lf_2

Rf_2

• Need hybrid executive for that

Model-basedExecutive

State Plan

MIMO NonlinearPlant

Feedback-LinearizingMultivariable Controller

Plant controlinputs

Plantstate

Hybrid Task-levelExecutive

SISOLinearSystems

Controlparameters

Plantstate

1y

1y 1y+

dk

sety _1

+ pk-

+-

sety _1

Kp Kd

1

LateralCM

2 3 4

Gait Poses

Lf_1

Rf_1Lf_1 Rf_2 Rf_2

Lf_1

5

Lf_2

Rf_2

1 2 3 4 5

1 2 3 4 5

ForwardCM

CMY_1

Forwardswing foot

At start of control epoch, hybrid exec. sets controller gains

Hybrid Executive guides each variable to its goal

1

LateralCM

2

Gait Poses

Lf_1

Rf_1Lf_1

1 2

1 2

ForwardCM

CMY_1

Forwardswing foot

Hybrid Executive transitions to next epoch• when goal for each variable is achieved

1

LateralCM

2

Gait Poses

Lf_1

Rf_1Lf_1

1 2

1 2

ForwardCM

CMY_1

Forwardswing foot

What if there is a disturbance?

ForwardCM

t

goal region

nominal actual

t1

t

nominal

t1

goal region

adjusted

pos.

Forwardstepping foot

• trip recovery

Disturbances and Controllability

• How can disturbances be handled?

• Given some bound on disturbances, is it possible to guarantee successful execution of a plan?

• Dispatchers for discrete systems

Sail boat [6, 12]Boston Provincetown

Car in Provincetown[3, 4]

Drive car to Provincetown

[0, inf]Wait in Provincetown

Disturbances and Controllability

• How can disturbances be handled?

• Given some bound on disturbances, is it possible to guarantee successful execution of a plan?

• Dispatchers for discrete systems

• Guarantee successful execution

• Even with temporal uncertainty

• If uncertainty is bounded, [Morris, 2001]

Sail boat [6, 12]Boston Provincetown

Car in Provincetown[3, 4]

Drive car to Provincetown

[0, inf]Wait in Provincetown

Controllability for Hybrid Systems

• Executive guides variables to goal regions, but what should these regions be?

• Previous approaches [Pratt, et. al 1996] determine regions manually

• Can regions be computed automatically?

– based on relation between regions, time, and controllability limits?

Plan compiler computes limits

Model-basedExecutive

State Plan

MIMO NonlinearPlant

Feedback-LinearizingMultivariable Controller

Plant controlinputs

Plantstate

Hybrid Dispatcher

QualitativeControl Plan

Plan Compiler

SISOLinearSystems

Controlparameters

Plantstate

t

Y'

Y

Initialregion

Nominaltrajectory

Targetregion

Computes spatial and temporal regions for all activities

Plan compiler synthesizes controllers

Model-basedExecutive

State Plan

MIMO NonlinearPlant

Feedback-LinearizingMultivariable Controller

Plant controlinputs

Plantstate

Hybrid Dispatcher

QualitativeControl Plan

Plan Compiler

SISOLinearSystems

Controlparameters

Plantstate

1y

1y 1y+

dk

sety _1

+ pk-

+-

sety _1

Control info expressed as ranges on SISO parameters

2max2min

1max1min

d

p

k

k

Plan Compiler• Generate qualitative control plan from state plan:

• Compute initial and goal regions for each activity

• Compute duration range for each activity

• Compute control parameter ranges

• Formulate as Nonlinear Program, and solve by SQP

How does the plan compiler compute region limits, synthesize controllers?

• Initial and goal regions

y

y

Initial

Goal

How does the plan compiler compute region limits, synthesize controllers?

• Initial and goal regions

y

y

Initial

Goal

• Want to maximize controllable time range in goal

• Given start anywhere in init region, what are lb, ub on this time?

How does the plan compiler compute region limits, synthesize controllers?

• Lb – fastest trajectory from slowest start

• Worst-case (slowest) start is point B

y

y

Initial

Goal

B

How does the plan compiler compute region limits, synthesize controllers?

• Lb – fastest trajectory from slowest start

• Worst-case (slowest) start is point B

• Best-case (fastest) finish is point D

y

y

Initial

Goal

B

D

How does the plan compiler compute region limits, synthesize controllers?

• Consider single acceleration spike as control input

• Spike occurs at beginning

y

y

Initial

Goal

B

D

y

t

How does the plan compiler compute region limits, synthesize controllers?

• Consider single acceleration spike as control input

• Spike occurs at beginning

y

t

• If spike has the right size, results in GFT (Guaranteed Fastest Trajectory)

y

y

Initial

Goal

B

D

How does the plan compiler compute region limits, synthesize controllers?

• Ub – slowest trajectory from fastest start

• Worst-case (fastest) start is point A

• Best-case (slowest) finish is point C

y

y

Initial

Goal

B

D

A

C

How does the plan compiler compute region limits, synthesize controllers?

y

y

Initial

Goal

B

D

A

C

• Spike of right size at end results in GST (Guaranteed Slowest Trajectory)

y

t

Existence of controllable temporal range in goal

• If t(GFT)<t(GST) then presence of trajectory in goal pos./vel. region can be guaranteed for any time [t(GFT), t(GST)]– By adjusting spike

GFT, GST with linear control law• Adjust control law parameters to get GFT, GST

A – max pos., vel. (fastest start)

B – min pos., vel. (slowest start)

C – max pos., min vel. (slowest finish)

D – min pos., max vel. (fastest finish)

Assume monotonic velocity

A

B

y

y

C

D

Initial

Goal

GFT

GST

• Maximize controllable temporal range, initial region size

• Subject to limits on control inputs

Controllable Regions for CM

1

y

y'

Lateral

Forward

2

3

4

Discussion• Hybrid executive

– From qualitative state plan, automatically synthesizes controllers

• Computes dispatcher regions and gain ranges

– Successful, stable execution achieved by getting key variables into right region at right time

• Provides significant flexibility in how they actually get there

– Relies on SISO decoupling, linearization provided by multivariable controller

Conclusion• Robustness achieved through integration of

three balance control strategies

• Robust plan execution achieved for hybrid system by extending techniques used for discrete systems

• Efficiency of execution achieved through compilation of plan into dispatchable form

Addendum

Trade-off Between Region Size and Temporal Range

t(GFT) = t(GST)

GFT in red, GST in blue, Nom in green

Trade-off Between Region Size and Temporal Range

t(GFT) = t(GST)

GFT in red, GST in blue, Nom in green

t(GFT) > t(GST)

Some uncertainty in duration

Strong and Dynamic Hybrid Controllability

1LateralCM

2 3 4

[0.5, 1.0]

1 2 3 4ForwardCM

[0.39, 0.39] [0.16, 0.16] [0.25, 0.25]

[0.3, 0.45] [0.1, 0.2] [0.2, 0.3]

StrongControllability

Strong and Dynamic Hybrid Controllability

1LateralCM

2 3 4

[0.5, 1.0]

1 2 3 4ForwardCM

[0.39, 0.39] [0.16, 0.16] [0.25, 0.25]

[0.3, 0.45] [0.1, 0.2] [0.2, 0.3]

StrongControllability

1LateralCM

2 3 4

[0.5, 1.0]

1 2 3 4ForwardCM

[0.32, 0.4] [0.12, 0.18] [0.22, 0.26]

[0.3, 0.45] [0.1, 0.2] [0.2, 0.3]

DynamicControllability