My Summer at Willow Garage - ROS.org · My Summer Goals SBPL Arm Planner continue development of...

19
My Summer at Willow Garage Benjamin Cohen University of Pennsylvania

Transcript of My Summer at Willow Garage - ROS.org · My Summer Goals SBPL Arm Planner continue development of...

Page 1: My Summer at Willow Garage - ROS.org · My Summer Goals SBPL Arm Planner continue development of new algorithm integrate into move_arm perform tabletop manipulation publish SBPL Door

My Summer at Willow Garage

Benjamin CohenUniversity of Pennsylvania

Page 2: My Summer at Willow Garage - ROS.org · My Summer Goals SBPL Arm Planner continue development of new algorithm integrate into move_arm perform tabletop manipulation publish SBPL Door

The Bosses

Dr. Sachin Chittamy mentorProfessor Maxim Likhachevmy advisor

Page 3: My Summer at Willow Garage - ROS.org · My Summer Goals SBPL Arm Planner continue development of new algorithm integrate into move_arm perform tabletop manipulation publish SBPL Door

My Summer Goals

SBPL Arm Plannercontinue development of new algorithmintegrate into move_armperform tabletop manipulationpublish SBPL Door Planner(Sachin did all of the integration. I'm working on the algorithm and debugging it with him)

continue development of algorithmmake a sweet videopublish

Page 4: My Summer at Willow Garage - ROS.org · My Summer Goals SBPL Arm Planner continue development of new algorithm integrate into move_arm perform tabletop manipulation publish SBPL Door

SBPL Arm Planner

Goal:Develop a motion planner for robotic manipulation that can robustly plan paths in cluttered environments.

Page 5: My Summer at Willow Garage - ROS.org · My Summer Goals SBPL Arm Planner continue development of new algorithm integrate into move_arm perform tabletop manipulation publish SBPL Door

Why not run IK and plan to a known valid joint configuration?

IK is very fast but may not find the 'best' solutionmay find a visually awkward solutionmay orient the arm very close to obstaclesmay choose a solution very close to joint limits

Page 6: My Summer at Willow Garage - ROS.org · My Summer Goals SBPL Arm Planner continue development of new algorithm integrate into move_arm perform tabletop manipulation publish SBPL Door

Why not run IK and plan to a known valid joint configuration? (cont'd)

Let the planner optimize the goal joint configuration according to the desired cost function:length of pathsmoothnessdistance from obstacleskeep away from joint limits

Page 7: My Summer at Willow Garage - ROS.org · My Summer Goals SBPL Arm Planner continue development of new algorithm integrate into move_arm perform tabletop manipulation publish SBPL Door

Graph Construction

similar to lattice based planners in planning dynamically feasible trajectories

a discretization of the configuration space into a set of states, the edges that connect the starts are dynamically feasible

edges are pre-defined motion primitives

Page 8: My Summer at Willow Garage - ROS.org · My Summer Goals SBPL Arm Planner continue development of new algorithm integrate into move_arm perform tabletop manipulation publish SBPL Door

Motion Primitives

7 basic primitives:

m1: shoulder pan m2: shoulder pitch m3: upper arm roll

m4: elbow pitch m5: forearm roll m6: wrist pitch

m7: wrist roll

Page 9: My Summer at Willow Garage - ROS.org · My Summer Goals SBPL Arm Planner continue development of new algorithm integrate into move_arm perform tabletop manipulation publish SBPL Door

Costs

Smoothing Costminimize change in velocities between stateskeep the same joint(s) moving if possible

Action Costminimize the number of actions to the goal

Distance Costapply a cost for planning close to obstacles

c s , s ' =ccells ' waction∗cactions , s ' w smooth∗csmooth s , s '

Page 10: My Summer at Willow Garage - ROS.org · My Summer Goals SBPL Arm Planner continue development of new algorithm integrate into move_arm perform tabletop manipulation publish SBPL Door

Heuristic

3D Dijkstra searchrobust to obstacles

pre-computeddirects the end effector to the goal pose

difference in orientation of the end effector

Goal

Dijkstra Shortest Path 

Page 11: My Summer at Willow Garage - ROS.org · My Summer Goals SBPL Arm Planner continue development of new algorithm integrate into move_arm perform tabletop manipulation publish SBPL Door

ARA : Anytime Random A*

is consistentguarantees completeness'anytime results' – can trade-off path cost vs. computation time

Page 12: My Summer at Willow Garage - ROS.org · My Summer Goals SBPL Arm Planner continue development of new algorithm integrate into move_arm perform tabletop manipulation publish SBPL Door

ARA : Anytime Random A*

ARA* finds a feasible solution quickly and then continually works on improving it until the allocated time runs out.ARA* uses an admissible heuristic (a bound on the plan-execution cost) to focus its searchEach solution comes with a bound, ε, on its sub-optimality: cost(solution) ≤ ε·cost(optimal solution)

Page 13: My Summer at Willow Garage - ROS.org · My Summer Goals SBPL Arm Planner continue development of new algorithm integrate into move_arm perform tabletop manipulation publish SBPL Door

Features

given multiple goals, find the path to goal pose with lowest costplan to 'goal region'plan with path constraints, such as:keep a cup uprightdon't obstruct field of view of forearm cameras (future work)

plan to a goal pose in collision, capable of manipulation (future work)

Page 14: My Summer at Willow Garage - ROS.org · My Summer Goals SBPL Arm Planner continue development of new algorithm integrate into move_arm perform tabletop manipulation publish SBPL Door

Drawbacks

high dependency on the heuristic functionlocal minimadoesn't describe kinematics of the arm

high dimensionality slows down the searchdiscretized paths

Page 15: My Summer at Willow Garage - ROS.org · My Summer Goals SBPL Arm Planner continue development of new algorithm integrate into move_arm perform tabletop manipulation publish SBPL Door

Future Work

learn a set of motion primitives with good coverage of the workspace and natural looking movementadd randomization to escape local minimaR* is an A* type search with randomization

research smoothing methods

Page 16: My Summer at Willow Garage - ROS.org · My Summer Goals SBPL Arm Planner continue development of new algorithm integrate into move_arm perform tabletop manipulation publish SBPL Door

SBPL Door Planner

Goal:open doorsinward and outward opening doorsright handed and left handed doorswith collision avoidanceguaranteed feasibility

Method:ARA* in a 4-Dimensional state space{x,y,theta,door interval}door interval: {0,1} (open or closed)

Page 17: My Summer at Willow Garage - ROS.org · My Summer Goals SBPL Arm Planner continue development of new algorithm integrate into move_arm perform tabletop manipulation publish SBPL Door

Other Packages

Robot Voxelizer (sandbox/robot_voxelizer)

wrapper around Ioan's planning modelsvoxelize robot bodies, meshes, shapes

PM Wrapper (planning_research/pm_wrapper)

wrapper around Ioan's planning_monitor classeasy collision checking, collision map manipulation

Page 18: My Summer at Willow Garage - ROS.org · My Summer Goals SBPL Arm Planner continue development of new algorithm integrate into move_arm perform tabletop manipulation publish SBPL Door

Other Packages (cont'd)

Arm Command Tool (sandbox/move_arm_tools)

'safe' movement with move_arm'unsafe' movement for tabletop manipulation

Page 19: My Summer at Willow Garage - ROS.org · My Summer Goals SBPL Arm Planner continue development of new algorithm integrate into move_arm perform tabletop manipulation publish SBPL Door

Thank You!

Scott & SteveSachinMaxIoan and MrinalEveryone else!

thanks!