Home
Stanford
Robotics Lab
CS Dept

RESEARCH

PUBLICATIONS

SOFTWARE

GALLERY

ACM

TEACHING

RESUME

PERSONAL

JAPAN

LINKS

Graphical Simulation and Motion Planning for Humanoid Robots

OVERVIEW SIMULATION MOTION PLANNING PERCEPTION LINKS

Motion Planning for Humanoids
(English-only version. Japanese version coming soon...)


The Humanoid H6 manipulating a bottle

Overview

The goal of this research is to develop practical and efficient algorithms to automatically generate motion for tasks such as object grasping and manipulation, and full-body dynamically-stable motion planning, and path planning for global navigation.

Manipulation Planning


The H5 Humanoid Robot Playing Interactive Chess
Given a task-level command such as "put the book on the shelf", humanoid robots should come equipped with software able to automatically generate a feasible motion trajectory to accomplish the task safely and efficiently.

Inverse kinematics can for computing a goal configuration for the robot arm. Then, efficient path planning techniques can be used to search the configuration space (C-space) of the arm directly for a collision-free path connecting the inital and the goal configurations.

Due to the high-dimensionality of the space, brute-force search algorithms are infeasible. As an alternative, we have conducted a series of experiments utilizing randomized path planning techniques. In particular, we have developed the RRT-Connect planner based on Rapidly-Exploring Random Trees (RRTs) for quickly solving single-query path planning problems in high-dimensional spaces.

A user can click on a object and command the robot to reposition it interactively. All of the motions for the robot to grasp, move, and release the object are computed "on-the-fly", with no preprocessing of the environment. For most tasks, collision-free motions for a 7-DOF arm can be generated in a few seconds.

This problem formulation is suitable for manipulation tasks involving relatively lightweight objects that can be grasped by a single arm. We are currently extending the technique to handle multi-arm manipulation tasks.

Full-body, Dynamically-Stable Motion Planning

In order to be fully-general, motion planning algorithms for humanoid robots must take into account all available degrees of freedom. We have developed algorithms for computing stable collision-free motions for humanoid robots given full-body posture goals (draft submitted to ICRA2001). The technique is not restricted to biped robots, but can be applied to any legged robot.

Given a robot's internal model of the environment and a statically-stable desired posture, we use a randomized path planner to search the configuration space of the full body of the robot for a collision-free path that also satisifies the balance constraints.

Instead of sampling the entire configuration space, the subspace corresponding to statically-stable postures of a given support configuration (single-leg or dual-leg). Balance constraints are imposed on incremental search motions in order to maintain the overall dynamic stability of the computed trajectories.

Avoiding an obstacle while
simultaneosly balancing
on a single leg.


Click to view full-size animation (383 KB)>
Retrieving an object from
beneath a chair while
balancing on both legs.


Click to view full-size animation (375 KB)>

Experiments

Several complicated examples involving humanoid robots of more than 30 DOF were computed in less than 10 minutes on an SGI O2 workstation. The resulting output trajectories were verified on actual humanoid robot hardware (humanoid robot H6). Click the above images to view larger animations of the motion planner output. The trajectories executed on the real robot are included towards the end of video clip linked below on the right.

Single-leg balancing snapshot

Dual-leg balancing snapshot

Download H6 humanoid movie
(Warning! file size = 12 MB)>

Path Planning for Global Navigation


H5 Humanoid Robot

Navigating an unknown maze environment

Top view of final trajectory

Papers and Videos

Download related publications.


James Kuffner
Last modified: Wed Nov 15 21:59:07 2000