20090820
Ioan Alexandru ŞucanRice University
Motion Planning for the PR2 Arm
2
Samplingbased Motion Planning
Fast algorithms, probabilistically completeApproximate connectivity of the state spaceIgnore optimality
3
Diffusion Trees
Examples include RRT, EST, SBL, etc ...
Iteratively grow a tree of motions
4
Implemented in ROS (ompl package)
Kinematic planning:RRT (Rapidlyexploring Random Trees)LazyRRT (Lazy RRT)EST (Expansive Space Trees)SBL (Singlequery Bidirectional Lazy tree planner)pSBL (Parallel SBL)pRRT (Parallel RRT)KPIECE (Kinematic Planning by InteriorExterior Cell Exploration)LBKPIECE (Lazy BiDirectional KPIECE)
Planning with differential constraints:RRTKPIECE
Other tools:GAIK (Genetic Algrorithm for Inverse Kinematics)
5
Other Needed Components
Robot Self FilterRemove points from sensor data that correspond to hits on the links the robot can seeRemove shadow points caused by seen links
http://www.ros.org/wiki/robot_self_filter
Collision MapAs the arm moves occlusions can be producedOccluded information should not be forgotten
http://www.ros.org/wiki/collision_map
Planning EnvironmentBrings all other components togetherhttp://www.ros.org/wiki/planning_environment
6
Interface to Arm Motion Planning
Nodes that offer motion planning servicesompl_planning, sbpl_arm_planner (Ben), chomp_motion_planner (Mrinal)
The move_arm packageReceives user requests that define desired arm positions (constraints)Requests motion plans from a loaded planner (common ROS interface for all types of planners is available)Monitors paths as they are being executed (requests new paths if current ones become invalid)Switched between different planners if needed (not visible to the user)
7
What we can do now
Plan among obstaclesEven slowly moving obstacles
Account for path constraintsNot spilling odwalla bottles
Update the kinematic chain of the robot onthefly
So we avoid collisions betweengrasped objects and the environment
Move to positions that cause the arm to touch objects in the environment
Useful for grasping
Safe teleoperation
Ken Conley
8
Next Step: Planning with Dynamics
Try using physics simulationAccount for friction, gravity, limits in forcesNeeded for more accurate simulation
Thank you!
(videos and demo in the green room)
10
In ROS Packages
Perceptionrobot_self_filtercollision_map
Robot modelplanning_models
Collision checkingcollision_space
Motion planningplanning_environmentompl, ompl_ros, ompl_search, ompl_planningmove_arm