Jianwei Zhang zhang@informatik.uni-hamburg.de Universität Hamburg Fakultät für Mathematik, Informatik und Naturwissenschaften Technische Aspekte Multimodaler Systeme 05. July 2013 J. Zhang 1
Task-level Programming and Path Planning Outline Task-level Programming and Path Planning Potential Field Method Probabilistic Approaches Application fields Extension of Basic Problem Summary Practical Example: Path Planning with MoveIt J. Zhang 2
Task-level Programming and Path Planning - Potential Field Method Potential field method: Definition The manipulator moves in a field of forces. The position to be reached is an attracting pole for the end effector and obstacles are repulsive surfaces for the manipulator parts.(khatib 86) J. Zhang 3
Task-level Programming and Path Planning - Potential Field Method Potential field method: basic ideas The potential field method was initially developed for real-time collision avoidance. A potential field associates a scalar value to every point in a space. An ideal field used for navigation should.. be smooth, have only one global minimum, and the values should approach infinite near obstacles. The force applied to the robot is the negative gradient of the potential field. The robot moves along this force. A function is defined for the free space, that has a global minimum at the goal configuration. The motion happens according to the direction of the gradient. J. Zhang 4
Task-level Programming and Path Planning - Potential Field Method Potential field method: basic idea J. Zhang 5
Task-level Programming and Path Planning - Potential Field Method Potential field method: basic idea The attracting force (of the goal): F Goal (x) = κ ρ (x x goal ) where κ ρ is a gain factor, and (x x goal ) is the distance between the current position and the goal position. The potential field (of obstacles): { 1 2 U(x) = η( 1 ρ(x) 1 ρ 0 ) 2 if ρ(x) ρ 0 0 else where ρ is the shortest distance to the obstacle O and ρ 0 is a threshold defining the region of influence of an obstacle. J. Zhang 6
Task-level Programming and Path Planning - Potential Field Method Potential field method: basic idea The repulsive force: η( F Obstacle (x) = 1 ρ(x) 1 ρ 0 ) 1 dρ(x) ρ(x) if ρ(x) ρ 2 0 dx 0 ifρ(x) > ρ 0 where dρ(x) is the partial derivative vector of the distance from the point dx to the obstacle. This way, the direction of the force vector is expressed. (Khatib 86) J. Zhang 7
Task-level Programming and Path Planning - Potential Field Method Potential field method: Advantages and Disadvantages Advantages: Usage of heuristics real-time capable Two basic disadvantages: It can not be guaranteed, that an existing solution can be found or that calculation terminates if no solution exists no further constraints can be considered J. Zhang 8
Task-level Programming and Path Planning - Potential Field Method Potential field method: local minima J. Zhang 9
Task-level Programming and Path Planning - Probabilistic Approaches Probabilistic Approaches There is demand for an efficient, i.e. fast, robust, easy to implement framework to plan robot motion supporting a high number of degrees of freedom. Ideas: 1. random samples in the region of interest 2. test the samples for collisions 3. connect samples using simple trajectories 4. search in the resulting graph Motivation: Collision Detection and distance estimation are faster than the generation of an explicit representation of free space. : Probabilistic Roadmaps (Barraquand, Kavraki & Latombe) J. Zhang 10
Task-level Programming and Path Planning - Probabilistic Approaches Milestones and Roadmaps - I J. Zhang 11
Task-level Programming and Path Planning - Probabilistic Approaches Milestones and Roadmaps - II J. Zhang 12
Task-level Programming and Path Planning - Probabilistic Approaches Milestones and Roadmaps - III J. Zhang 13
Task-level Programming and Path Planning - Probabilistic Approaches Milestones and Roadmaps - IV J. Zhang 14
Task-level Programming and Path Planning - Probabilistic Approaches Milestones and Roadmaps - V J. Zhang 15
Task-level Programming and Path Planning - Probabilistic Approaches Milestones and Roadmaps - VI J. Zhang 16
Task-level Programming and Path Planning - Probabilistic Approaches Parallels to the Art-Gallery-Problem J. Zhang 17
In an expansive free space: Prob[miss] exp( N) where N: the number of milestones J. Zhang 18 Universität Hamburg Task-level Programming and Path Planning - Probabilistic Approaches Process of taking Samples
Task-level Programming and Path Planning - Probabilistic Approaches Strategies of Taking Samples 99% of the time of a probabilistic Roadmap planner is used for collision checks. Can an intelligent strategy reduce the size of the map and accordingly the time for collision checks? uniform multi-level (coarse to fine) obstacle-aware (shift colliding sample to free space) lazy collision checks probabilistic default values J. Zhang 19
Task-level Programming and Path Planning - Probabilistic Approaches Successful 6D plan for narrow passages J. Zhang 20
Task-level Programming and Path Planning - Probabilistic Approaches Planing Results for a multi-joint artifact J. Zhang 21
Task-level Programming and Path Planning - Probabilistic Approaches Conclusion for Probabilistic Approaches Disadvantages: not complete no strict termination criteria, if no solution can be found completeness only in a probabilistical way (an existing solution will be found sometime...) no insight in the planning process Advantages easy to implement fast, scalable for problems with multiple degrees of freedom J. Zhang 22
Task-level Programming and Path Planning - Application fields Application fields Production: Robot Programming, Assembly, Layout Planning Sequence generation for maintenance tasks autonomous mobile robots graphical animations motion planning for medical appliances simulation of realistic paths of cells and molecules... J. Zhang 23
Task-level Programming and Path Planning - Application fields Application: Assembly Planning Using a path planner, the complexity of a product can be assessed. The assembly-process can be planned. J. Zhang 24
Task-level Programming and Path Planning - Application fields Application: Assembly Planning J. Zhang 25
Task-level Programming and Path Planning - Application fields Application: Layout Planning Path planning combined with optimization methods generate optimal positioning of robots and other equipment in a work cell. J. Zhang 26
Task-level Programming and Path Planning - Application fields Application: Humanoid J. Zhang 27
Task-level Programming and Path Planning - Application fields Application: Engine Maintenance A path planner can be used to automatically check the disassembly methods of parts. This way the products can be easier maintained and repaired. J. Zhang 28
Task-level Programming and Path Planning - Application fields Animation for Task Oriented Programming J. Zhang 29
Task-level Programming and Path Planning - Application fields Application: Animation for Manipulation Scripts J. Zhang 30
Task-level Programming and Path Planning - Application fields Application: Animation for Simulation J. Zhang 31
Task-level Programming and Path Planning - Application fields Application: Planning of Radiotherapy J. Zhang 32
Task-level Programming and Path Planning - Application fields Application: Generation of Docking Motion of Molecules J. Zhang 33
Task-level Programming and Path Planning - Extension of Basic Problem Application: Generation of Docking Motion of Molecules moving obstacles multiple moving objects objects with deformable shape unspecified goals non holonomic constraints dynamical constraints planning for optimal time fuzzy sensing and plan execution highly complex artifacts J. Zhang 34
Task-level Programming and Path Planning - Extension of Basic Problem New Application: Protein Folding Handling of over 1000 degrees of freedom: J. Zhang 35
Task-level Programming and Path Planning - Extension of Basic Problem Planning of Minimal Invasive Surgery for soft objects J. Zhang 36
Task-level Programming and Path Planning - Extension of Basic Problem Autonomous Virtual Actors J. Zhang 37
Task-level Programming and Path Planning - Summary Summary The explicit representation of configuration space yields a complete solution if the resolution is high enough, but the applicability is limited. The distributed probabilistic approach is useful for a large number of degrees of freedom. Path planning comes from the field of robotics, but it is widely used in many different applications: manufacturing, virtual reality, animation, video-games, biology, chemistry, ect. Simulated environments fulfill the preferences of geometrical path planning: known models of the environment, specified start- and goal-configurations and ideal execution. The increasing computation power allows realtime-applications. J. Zhang 38
Task-level Programming and Path Planning - Summary Summary Real robots have to face many uncertainties in the environment. The extension of the base problem requires additional research. Embedded Systems (of the robots) will get more and more powerful. Modeling and calculation of motion of intelligent devices will open up new fields of research. J. Zhang 39
Task-level Programming and Path Planning - Practical Example: Path Planning with MoveIt The Kinova Jaco Arm Path planning is shown for the Kinova Jaco Arm: 6 degrees of freedom carbon fiber structure total weight: 5Kg reach : 90cm J. Zhang 40
Task-level Programming and Path Planning - Practical Example: Path Planning with MoveIt The Kinova Jaco Arm Maximum Load : 1.5kg at mid-range/1.0kg at end-range Maximum linear arm speed : 15cm/sec 3 fingers or 2 fingers utilization Finger force limited to 7N J. Zhang 41
Task-level Programming and Path Planning - Practical Example: Path Planning with MoveIt The Open Motion Planning Library (OMPL) library of sampling-based motion planning algorithms integrated in ROS arm navigation stack (used on the PR2) integrated in (new) MoveIt! project includes state-of-the-art motion planning algorithms no collision checking demo videos at http://ompl.kavrakilab.org/gallery.html tutorials on how to integrate OMPL at http: //www.ros.org/wiki/ompl_ros_interface/tutorials J. Zhang 42
Task-level Programming and Path Planning - Practical Example: Path Planning with MoveIt MoveIt! - A Planning Framework includes kinematics, dynamics, collision checking, constraints evaluation, visualization.. centered around planning and execution motion plans for different robots Tools include: specification of motion plans, configuration and debugging tools, visualization, benchmarking Overview at http://moveit.ros.org J. Zhang 43
Task-level Programming and Path Planning - Practical Example: Path Planning with MoveIt MoveIt! - A Planning Framework J. Zhang 44
Task-level Programming and Path Planning - Practical Example: Path Planning with MoveIt MoveIt! - A Planning Framework More in the video. J. Zhang 45