15
Smooth Motion Planning and Control Willow Garage Internship, Summer 2009 Mrinal Kalakrishnan University of Southern California August 28, 2009 Mrinal Kalakrishnan (USC) Smooth Motion Planning and Control August 28, 2009 1 / 10

Mrinal Kalakrishnan: CHOMP Motion Planner

Embed Size (px)

DESCRIPTION

Presentation by Mrinal Kalakrishnan of USC on the CHOMP Motion Planner, which he worked on during his summer internship at Willow Garage.

Citation preview

Page 1: Mrinal Kalakrishnan: CHOMP Motion Planner

Smooth Motion Planning and ControlWillow Garage Internship, Summer 2009

Mrinal Kalakrishnan

University of Southern California

August 28, 2009

Mrinal Kalakrishnan (USC) Smooth Motion Planning and Control August 28, 2009 1 / 10

Page 2: Mrinal Kalakrishnan: CHOMP Motion Planner

Overview

Smooth Motion PlanningCHOMP - CovariantHamiltonian Optimization forMotion Planning, Ratliff et. al.,ICRA 2009.

Implemented in thechomp_motion_plannerROS package.

Smooth ControlAutomatic spline trajectorygeneration from waypoints.

Usable by all motion planners.

Implemented in thespline_smoother ROSpackage.

Mrinal Kalakrishnan (USC) Smooth Motion Planning and Control August 28, 2009 2 / 10

Page 3: Mrinal Kalakrishnan: CHOMP Motion Planner

CHOMPCovariant Hamiltonian Optimization for Motion Planning, Ratliff et. al., ICRA 2009

Sampling based planners. . .

Find feasible collision-free paths very fast.

Typically produce jerky / redundant motion.

Paths require post-processing, smoothing, optimization.

CHOMP. . .

Approaches the problem from a different perspective.

Inherently generates and optimizes smooth trajectories.

Uses gradient information to push trajectories out of collision

Mrinal Kalakrishnan (USC) Smooth Motion Planning and Control August 28, 2009 3 / 10

Page 4: Mrinal Kalakrishnan: CHOMP Motion Planner

CHOMPCovariant Hamiltonian Optimization for Motion Planning, Ratliff et. al., ICRA 2009

Sampling based planners. . .

Find feasible collision-free paths very fast.

Typically produce jerky / redundant motion.

Paths require post-processing, smoothing, optimization.

CHOMP. . .

Approaches the problem from a different perspective.

Inherently generates and optimizes smooth trajectories.

Uses gradient information to push trajectories out of collision

Mrinal Kalakrishnan (USC) Smooth Motion Planning and Control August 28, 2009 3 / 10

Page 5: Mrinal Kalakrishnan: CHOMP Motion Planner

CHOMP: The Algorithm

Create a naive initial trajectory from start to goal.

Define cost = trajectory smoothness cost + collision cost.

Run gradient descent on this cost function.

Not just regular gradient descent. . .

The key:Covariant gradient updates

Every update to the trajectory is ensured to be smooth.

Obstacle costs obtained from signed distance field.

Mrinal Kalakrishnan (USC) Smooth Motion Planning and Control August 28, 2009 4 / 10

Page 6: Mrinal Kalakrishnan: CHOMP Motion Planner

CHOMP: The Algorithm

Create a naive initial trajectory from start to goal.

Define cost = trajectory smoothness cost + collision cost.

Run gradient descent on this cost function.

Not just regular gradient descent. . .

The key:Covariant gradient updates

Every update to the trajectory is ensured to be smooth.

Obstacle costs obtained from signed distance field.

Mrinal Kalakrishnan (USC) Smooth Motion Planning and Control August 28, 2009 4 / 10

Page 7: Mrinal Kalakrishnan: CHOMP Motion Planner

CHOMP: The Algorithm

Create a naive initial trajectory from start to goal.

Define cost = trajectory smoothness cost + collision cost.

Run gradient descent on this cost function.

Not just regular gradient descent. . .

The key:Covariant gradient updates

Every update to the trajectory is ensured to be smooth.

Obstacle costs obtained from signed distance field.

Mrinal Kalakrishnan (USC) Smooth Motion Planning and Control August 28, 2009 4 / 10

Page 8: Mrinal Kalakrishnan: CHOMP Motion Planner

CHOMP: Distance Fields

Euclidean DistanceTransform in 3-D.

Each cell contains distanceto closest obstacle.

Gradient information easilyobtainable.

Cartesian gradientconverted into joint spaceusing robot kinematics(Jacobian transpose).

Mrinal Kalakrishnan (USC) Smooth Motion Planning and Control August 28, 2009 5 / 10

Page 9: Mrinal Kalakrishnan: CHOMP Motion Planner

CHOMP: Smooth Joint Limit Projection

Typical L1 joint limit projections (clipping) destroy smoothness.Smooth the L1 projection using a covariant update.

Further technical details about CHOMP available in the paper:Nathan Ratliff, Matthew Zucker, J. Andrew (Drew) Bagnell, and SiddharthaSrinivasa. IEEE International Conference on Robotics and Automation (ICRA),May, 2009.

Mrinal Kalakrishnan (USC) Smooth Motion Planning and Control August 28, 2009 6 / 10

Page 10: Mrinal Kalakrishnan: CHOMP Motion Planner

CHOMP: Demonstration (See Video)Table Bookshelf-top Manipulation

Mrinal Kalakrishnan (USC) Smooth Motion Planning and Control August 28, 2009 7 / 10

Page 11: Mrinal Kalakrishnan: CHOMP Motion Planner

CHOMP: The Optimization Process (See Video)

Mrinal Kalakrishnan (USC) Smooth Motion Planning and Control August 28, 2009 8 / 10

Page 12: Mrinal Kalakrishnan: CHOMP Motion Planner

Smooth Control using spline_smoother

A set of algorithms for converting a trajectory of waypoints into splines.

Use case: Motion planners output a kinematic “path” of joint positions,expect this path to be executed smoothly.Currently contains the following three algorithms:

Simple numerical differentiationClamped cubic splines (constrained start/end velocities, continuousvelocities and accelerations)Fritsch-Butland monotonic cubic splines

Optimization-based algorithms not yet available due to lack ofBSD-licensed quadratic program solver.

Currently works in conjuction with joint_waypoint_controllerto provide a backwards-compatible joint trajectory interface, but withsmooth execution.

Mrinal Kalakrishnan (USC) Smooth Motion Planning and Control August 28, 2009 9 / 10

Page 13: Mrinal Kalakrishnan: CHOMP Motion Planner

Smooth Control using spline_smoother

A set of algorithms for converting a trajectory of waypoints into splines.

Use case: Motion planners output a kinematic “path” of joint positions,expect this path to be executed smoothly.Currently contains the following three algorithms:

Simple numerical differentiationClamped cubic splines (constrained start/end velocities, continuousvelocities and accelerations)Fritsch-Butland monotonic cubic splines

Optimization-based algorithms not yet available due to lack ofBSD-licensed quadratic program solver.

Currently works in conjuction with joint_waypoint_controllerto provide a backwards-compatible joint trajectory interface, but withsmooth execution.

Mrinal Kalakrishnan (USC) Smooth Motion Planning and Control August 28, 2009 9 / 10

Page 14: Mrinal Kalakrishnan: CHOMP Motion Planner

Smooth Control using spline_smoother

A set of algorithms for converting a trajectory of waypoints into splines.

Use case: Motion planners output a kinematic “path” of joint positions,expect this path to be executed smoothly.Currently contains the following three algorithms:

Simple numerical differentiationClamped cubic splines (constrained start/end velocities, continuousvelocities and accelerations)Fritsch-Butland monotonic cubic splines

Optimization-based algorithms not yet available due to lack ofBSD-licensed quadratic program solver.

Currently works in conjuction with joint_waypoint_controllerto provide a backwards-compatible joint trajectory interface, but withsmooth execution.

Mrinal Kalakrishnan (USC) Smooth Motion Planning and Control August 28, 2009 9 / 10

Page 15: Mrinal Kalakrishnan: CHOMP Motion Planner

Thanks

Questions, comments?

I am reachable at: [email protected] and [email protected]

Mrinal Kalakrishnan (USC) Smooth Motion Planning and Control August 28, 2009 10 / 10