Humanoid Robotics Path Planning and Walking Maren Bennewitz 1 - - PowerPoint PPT Presentation

humanoid robotics path planning and walking
SMART_READER_LITE
LIVE PREVIEW

Humanoid Robotics Path Planning and Walking Maren Bennewitz 1 - - PowerPoint PPT Presentation

Humanoid Robotics Path Planning and Walking Maren Bennewitz 1 Motivation Given the robots pose in a model of the environment Compute a path to a target location First: 2D path in a 2D grid map representation of the


slide-1
SLIDE 1

1

Humanoid Robotics Path Planning and Walking

Maren Bennewitz

slide-2
SLIDE 2

2

Motivation

§ Given the robot’s pose in a model of

the environment

§ Compute a path to a target location § First: 2D path in a 2D grid map

representation of the environment

§ Then: Footstep path in 2D map and

height map

slide-3
SLIDE 3

3

Path Planning with A* (AI lect.)

§ Finds the shortest path § Requires a graph structure § Limited number of edges § First: 2D occupancy grid map § Consider the 8-connected

neighborhood

slide-4
SLIDE 4

4

Example: Path Planning with A* in a 2D Grid Map

robot goal

slide-5
SLIDE 5

5

A* Heuristic Search

§ Best-first search to find a cost-optimal

path to a goal state

§ Expands states according to the evaluation

function f(n)=g(n)+h(n)

§ g(n): actual costs from start to state n § h(n): heuristic, estimated costs from n to

the goal

§ f(n): estimated cost of the cheapest

solution through state n

slide-6
SLIDE 6

6

A* Heuristic Search

§ Let h*(n) be the actual cost of the optimal

path from n to the goal

§ h is admissible if the following holds for all n

h(n) ≤ h*(n)

§ A* yields the optimal path if h is

admissible (proof: AI lecture)

6

slide-7
SLIDE 7

7

A* in 2D Grid Map

§ Generate successor nodes (8-connected

neighborhood) from lowest cost node

§ Prune nodes that result in collision § Continue until lowest cost node falls in goal

region

§ Cost of path to current node: 1 per

horizontal/vertical grid cell traversal, per diagonal)

§ Cost estimate to goal: straight line distance

slide-8
SLIDE 8

8

Example: Path Planning with A* in a 2D Grid Map

robot goal

slide-9
SLIDE 9

9

2D Path Planning for Humanoids

§ Compute collision-free 2D path first,

then follow this path with walking controller

§ For 2D path planning use safety margin

around obstacles

§ But how large should the margin be?

start goal large clearance (detour) too small clearance (collision)

slide-10
SLIDE 10

10

Path Planning for Humanoids

§ Humanoids can avoid obstacles by stepping

  • ver or close to them

§ However, planning whole-body motions has a

high computational complexity

§ Footstep planning given possible foot

locations reduces the computational demand

slide-11
SLIDE 11

11

Footstep Planning with A*

§ Search space:

(x,y,θ)

§ Global position

and orientation

  • f the stance foot

§ Discrete set

  • f footsteps

§ Optimal solution

with A* (given the set of footsteps)

slide-12
SLIDE 12

12

Footstep Planning with A*

source: Kuffner et al.

§ Planning of footstep locations by building up

a search tree of potential successor states

§ Fixed set of possible relative footsteps § Foot placements are checked for collisions

during tree expansion

slide-13
SLIDE 13

13

Footstep Planning

§ State § Footstep action § Fixed set of footstep actions § Successor state § Transition costs reflect execution time:

costs based on the distance to obstacles constant step cost Euclidean distance

slide-14
SLIDE 14

14

Footstep Planning

start

slide-15
SLIDE 15

15

Footstep Planning

start

slide-16
SLIDE 16

16

Footstep Planning

start

slide-17
SLIDE 17

17

Footstep Planning

transition costs path costs from start to s

s

estimated costs from s’ to goal start

s’

slide-18
SLIDE 18

18

Footstep Planning

s

start

s’

planar obstacle

?

slide-19
SLIDE 19

19

Heuristics

§ Estimates the costs to the goal § Critical for planner performance § Usual choices:

§ Euclidean distance (straight line distance) § Shortest 2D path (Dijkstra) with safety margin

expanded state s' goal state h(s')

slide-20
SLIDE 20

20

A*-Based Footstep Planning

§ Only valid states after a collision check are

added to the search tree

§ Goal state may not be exactly reached, but

it is sufficient to reach a state close by (within the motion range of the robot)

current state goal state

slide-21
SLIDE 21

21

Local Minima in the Search Space

start goal expanded states

§ A* will search for the optimal result § Initially sub-optimal results are often

sufficient for navigation

slide-22
SLIDE 22

22

Anytime Repairing A* (ARA*)

§ Heuristic inflation by a factor w allows to

efficiently deal with local minima: weighted A* (wA*)

§ ARA* runs a series of wA* searches,

iteratively lowering w as long as a given time limit is not met

§ The resulting paths are guaranteed to cost

no more than w times the cost of the

  • ptimal path

§ Reuses information from previous iterations

slide-23
SLIDE 23

23

Anytime Repairing A* (ARA*)

§ An initially large w causes the search to find

a non-optimal initial solution quickly

§ Given enough time, ARA* finally searches

with w = 1, producing an optimal path

§ If the time limit is met before, the cost of

the best solution found is guaranteed to be no worse than w times the optimal solution cost

§ ARA* finds a first sub-optimal solution

faster than regular A* and approaches

  • ptimality as time allows
slide-24
SLIDE 24

25

ARA* with Euclidean Heuristic

start goal

w = 10

slide-25
SLIDE 25

26

ARA* with Euclidean Heuristic

start goal

w = 5

slide-26
SLIDE 26

27

ARA* with Euclidean Heuristic

start goal

w = 2

slide-27
SLIDE 27

28

ARA* with Euclidean Heuristic

start goal

w = 1

slide-28
SLIDE 28

29

ARA* with 2D Dijkstra Heuristic

start goal

w = 1

slide-29
SLIDE 29

30

Planning in Dense Clutter Until a First Solution is Found

A* Euclidean heur. ARA* (w=5) Euclidean heur. ARA* (w=5) Dijkstra heur. 11.9 sec. 2.7 sec. 0.7 sec. Dijkstra heuristics is inadmissible and may lead to longer paths

slide-30
SLIDE 30

31

Footstep Planning Heightmap

§ Consider the height of objects during

planning

§ Plan footsteps that also include stepping

  • ver/onto objects

§ Use modified Dijkstra heuristics

slide-31
SLIDE 31

32

T-Step step over step onto

Action Set for the Nao Humanoid

Standard planar steps Extended 3D stepping capabilities

slide-32
SLIDE 32

33

Dijkstra Heuristics for Heightmaps

§ Consider 8-neighborhood in (x,y) space of

heightmap

§ Costs of an edge are defined by the height

differences in the heightmap

free (low) elevation (mid) non- traversable (infinite) example costs heightmap

slide-33
SLIDE 33

34

Safe Stepping Actions

§ Allow only states where all

cells covered by the footprint have a small height difference

§ Height difference must be within

the stepping limits

s

slide-34
SLIDE 34

35

Whole-Body Collision Checking

§ Pre-compute the volume covered by the

robot when executing footstep actions

§ Use the projected height values for fast

collision checking within the height map

volume covered by the robot narrow passage computed path in the height map

slide-35
SLIDE 35
slide-36
SLIDE 36

37

Adaptive Level-of-Detail Planning

§ Planning the whole path with footsteps may

not always be needed in large open spaces

§ Adaptive level-of-detail planning: Combine

fast grid-based 2D planning in open spaces with footstep planning near obstacles

Adaptive planning

slide-37
SLIDE 37

38

Adaptive Planning Results

start goal <1 s planning time high path costs 29 s planning time <1s planning time, costs only 2% higher

2D Planning Footstep Planning Adaptive Planning

Fast planning times and efficient solutions with adaptive level-of-detail planning

slide-38
SLIDE 38

39

Exam

§ Application deadline June 21 § August 13 and 17 § In case of important reasons, individual

dates are possible

§ Oral exam: Mixture of understanding the

concepts and math & algorithms

slide-39
SLIDE 39

40

Walking

§ HRP-4C and ASIMO

slide-40
SLIDE 40

41

Posture Stability

A pose is statically stable if

§ The robot’s center of mass

(COM) lies above the support polygon on the floor

§ Support polygon:

The convex hull of all contact points of the robot on the floor

source: T. Asfour

slide-41
SLIDE 41

42

Statically Stable Walking

§ The robot will stay in a stable position

whenever the motion is stopped

§ The projection of the COM of the robot on

the ground must be contained within the support polygon

§ The support polygon is either the foot

surface in case of one supporting leg, or the minimum convex area containing both foot surfaces when both feet are on the ground

slide-42
SLIDE 42

43

Statically Stable Walking

§ Leads to robust but slow walking

performance

source: T. Asfour

slide-43
SLIDE 43

44

Human Walking

§ Assume the body to be an

inverted pendulum pivoting around the ankle joint

§ The body is represented as a

point mass: center of mass (COM)

§ The body weight acts at the

COM and generates momentum

§ The ground reaction force acts

at the center of pressure (COP)

ankle joint center of mass (COM) center of pressure (COP)

source: T. Asfour

slide-44
SLIDE 44

45

Zero Moment Point

§ Stability is achieved if the zero moment

point (ZMP) is in the support area

§ A robot standing on the ground applies a

force and moment to the ground

§ At the same time, the ground applies a

force and a moment to the robot (ground reaction force)

§ The ZMP is the point on the ground where

the total moment generated due to gravity and inertia equals zero

slide-45
SLIDE 45

46

Zero Moment Point

slide-46
SLIDE 46

47

Zero Moment Point

slide-47
SLIDE 47

48

Zero Moment Point

slide-48
SLIDE 48

49

Zero-Moment-Point (ZMP)

Zero Moment Point

slide-49
SLIDE 49

50

Zero Moment Point

§ For stable walking, the support foot must

rest on the ground,

§ Forces and torques acting on support foot

must sum up to 0

§ The ZMP must remain inside of the footprint

  • f the support foot

§ Then, the ZMP coincides with the COP § ZMP must not be on the edge of the support

polygon, since this will cause instability

§ During the movement, the projection of the

COM can leave the support polygon

slide-50
SLIDE 50

51

Dynamically Stable Walking

CoM Support Polygon ZMP

source: S. Kajita

Stopping the motion may result in falling

slide-51
SLIDE 51

53

ZMP-Based Walking Pattern Generator

§ Define parameters: COM height, step size,

step speed, single/double support phase duration

§ Compute sequence of footstep positions § Calculate feet trajectory: polynomial

trajectories with zero velocity and acceleration at start and end of each step

slide-52
SLIDE 52

54

ZMP-Based Walking Pattern Generator

§ Define reference ZMP

§ In single support phase: always in center of foot § In double support phase: fast switch from

previous standing leg to next

§ Calculate COM trajectory to follow the foot

placements and reference ZMP

§ Solve inverse kinematics (IK) for given feet

position and COM position to get the leg joint angles (IK will be detailed in the next chapter)

slide-53
SLIDE 53

55

ZMP-Based Walking Pattern Generator

COM trajectory reference ZMP resulting ZMP footstep positions feet trajectory

source: T. Asfour

slide-54
SLIDE 54

56

Summary

§ Search-based path planning and footstep

planning with A*

§ Anytime search-based footstep planning

with sub-optimality bounds: ARA*

§ Heuristics influences planner behavior § Adaptive level-of-detail planning to combine

2D with footstep planning

§ Extensions to 3D obstacle traversal § Basic concepts of stability and walking

slide-55
SLIDE 55

57

Literature

§ Anytime Search-Based Footstep Planning with

Suboptimality Bounds,

  • A. Hornung, A. Dornbush, M. Likhachev, and M. Bennewitz,

HUMANOIDS, 2012

§ ARA*: Anytime A* with provable bounds on

suboptimality,

  • M. Likhachev, G. Gordon, and S. Thrun, NIPS, 2004

§ Introduction to Humanoid Robotics, Ch. 3 (ZMP)

Shuji Kajita et al., 2014

§ Search-based planning library:

www.ros.org/wiki/sbpl

§ Footstep planning implementation based on SBPL:

www.ros.org/wiki/footstep_planner

slide-56
SLIDE 56

58

Acknowledgment

§ Previous versions of parts of the slides have

been created by Armin Hornung, Tamim Asfour, and Stefan Osswald