MIN-Fakult¨ at Department Informatik Universit¨ at Hamburg Introduction to Robotics Introduction to Robotics Jianwei Zhang zhang@informatik.uni-hamburg.de Universit¨ at Hamburg Fakult¨ at f¨ ur Mathematik, Informatik und Naturwissenschaften Department Informatik Technische Aspekte Multimodaler Systeme 21. Juni 2013 J. Zhang 1
MIN-Fakult¨ at Department Informatik Universit¨ at Hamburg Task-Level Programming and Trajectory Generation Introduction to Robotics Outline Task-Level Programming and Trajectory Generation Basics of Task-Level Programming Object-Representation Motivation of Path Planning Motion Planning Configuration of an Artifact Geometrical Path Planing Visibility Graph Tangent Graph Voronoi-Diagram Heuristical Search Lower and upper boundary of path planning algorithms J. Zhang 2
MIN-Fakult¨ at Department Informatik Universit¨ at Hamburg Task-Level Programming and Trajectory Generation - Basics of Task-Level Programming Introduction to Robotics Basics of Task-Level Programming Goal: enable the task-specification with symbolically described states, where: planning of the necessary movement is up to the the robot system Concerning the robot movement it should only be necessary, to give orders about the target position instead of specifying how the robot should move exactly. A common problem of task-level programming: collision avoidance One general approach : geometric trajectory planning - to plan collision-free motion for the known models of manipulators and obstacles in the workspace. J. Zhang 3
MIN-Fakult¨ at Department Informatik Universit¨ at Hamburg Task-Level Programming and Trajectory Generation - Object-Representation Introduction to Robotics Object-Representation of robots, the working-environment and objects: ◮ approximating methods: bounding box, convex hull, spherical and ellipse models ◮ “ Constructive Solide Geometry ”(CSG) ◮ “Boundary Representation” (BR) ◮ “Sweep Representation” ◮ cell representation: ◮ Grid-Model (“ Spatial Occupancy Enumeration ”) ◮ Hierarchical Representation: (“ quadtree ”), (“ octree ”) J. Zhang 4
MIN-Fakult¨ at Department Informatik Universit¨ at Hamburg Task-Level Programming and Trajectory Generation - Object-Representation Introduction to Robotics CSG-Representation ◮ method to model bodies ◮ direct modelling ◮ design of complex surfaces ◮ combination using the Boolean Variable ◮ CSG-tree J. Zhang 5
MIN-Fakult¨ at Department Informatik Universit¨ at Hamburg Task-Level Programming and Trajectory Generation - Object-Representation Introduction to Robotics CSG-Representation J. Zhang 6
MIN-Fakult¨ at Department Informatik Universit¨ at Hamburg Task-Level Programming and Trajectory Generation - Object-Representation Introduction to Robotics CSG-Representation - An Example J. Zhang 7
MIN-Fakult¨ at Department Informatik Universit¨ at Hamburg Task-Level Programming and Trajectory Generation - Object-Representation Introduction to Robotics Boundary Representation (BR) ◮ method to model bodies ◮ indirect modelling ◮ surface-/volume-model ◮ node-edge-surfaces J. Zhang 8
MIN-Fakult¨ at Department Informatik Universit¨ at Hamburg Task-Level Programming and Trajectory Generation - Object-Representation Introduction to Robotics Boundary Representation (BR) - An Example J. Zhang 9
MIN-Fakult¨ at Department Informatik Universit¨ at Hamburg Task-Level Programming and Trajectory Generation - Object-Representation Introduction to Robotics Sweeping-Model ◮ method to model bodies ◮ models in 2.5D ◮ intuitive ◮ quadratic, cubic polynoms J. Zhang 10
MIN-Fakult¨ at Department Informatik Universit¨ at Hamburg Task-Level Programming and Trajectory Generation - Object-Representation Introduction to Robotics Sweeping-Modell by Rotation J. Zhang 11
MIN-Fakult¨ at Department Informatik Universit¨ at Hamburg Task-Level Programming and Trajectory Generation - Object-Representation Introduction to Robotics Grid-Model (Spatial Occupancy Enumeration) ◮ volume model in virtual space ◮ enclosed hull ◮ voxel based ◮ unambiguous definition from inside and outside ◮ easy check for collisions between objects ◮ representation using CSG or BR J. Zhang 12
MIN-Fakult¨ at Department Informatik Universit¨ at Hamburg Task-Level Programming and Trajectory Generation - Object-Representation Introduction to Robotics J. Zhang 13
MIN-Fakult¨ at Department Informatik Universit¨ at Hamburg Task-Level Programming and Trajectory Generation - Object-Representation Introduction to Robotics The Quadtree-Representation ◮ taken over from DB-applications ◮ the surface is partitioned into 4 parts ◮ indexing of created surfaces ◮ level of partitioning depends on the density of the object J. Zhang 14
MIN-Fakult¨ at Department Informatik Universit¨ at Hamburg Task-Level Programming and Trajectory Generation - Object-Representation Introduction to Robotics The Quadtree-Representation J. Zhang 15
MIN-Fakult¨ at Department Informatik Universit¨ at Hamburg Task-Level Programming and Trajectory Generation - Motivation of Path Planning Introduction to Robotics Motivation: “Piano-Mover” J. Zhang 16
MIN-Fakult¨ at Department Informatik Universit¨ at Hamburg Task-Level Programming and Trajectory Generation - Motivation of Path Planning Introduction to Robotics Solving a puzzle with a computer? J. Zhang 17
MIN-Fakult¨ at Department Informatik Universit¨ at Hamburg Task-Level Programming and Trajectory Generation - Motivation of Path Planning Introduction to Robotics Example: Assembly Strategies “Lernen von Montagestrategien in einer verteilten Multiroboterumgebung”(Ferch, Dissertation 2001) (Learning of Assembly Strategies in a distributed Multi-Robot-Environment) J. Zhang 18
MIN-Fakult¨ at Department Informatik Universit¨ at Hamburg Task-Level Programming and Trajectory Generation - Motivation of Path Planning Introduction to Robotics Example: Assembly Strategies J. Zhang 19
MIN-Fakult¨ at Department Informatik Universit¨ at Hamburg Task-Level Programming and Trajectory Generation - Motivation of Path Planning Introduction to Robotics Motivation: Robot Programming J. Zhang 20
MIN-Fakult¨ at Department Informatik Universit¨ at Hamburg Task-Level Programming and Trajectory Generation - Motivation of Path Planning Introduction to Robotics Motivation: Positioning of a Gripper J. Zhang 21
MIN-Fakult¨ at Department Informatik Universit¨ at Hamburg Task-Level Programming and Trajectory Generation - Motion Planning Introduction to Robotics Motion Planning Tasks comprised: ◮ geometric paths ◮ trajectories (the position-, velocity- and acceleration-functions in terms of time) ◮ instruction order for sensor-based motion Goals are e.g.: ◮ collision-free movement to goal-position ◮ autonomous assembly of an aggregate ◮ recognition J. Zhang 22
MIN-Fakult¨ at Department Informatik Universit¨ at Hamburg Task-Level Programming and Trajectory Generation - Configuration of an Artifact Introduction to Robotics Configuration of an Artifact artifact: a virtual or real body, that can change its place and form over time. ◮ configuration of an artifact: a set of independent parameters, that define the position of all its points in a reference frame ◮ can be expressed as a geometrical state-vector ◮ number of parameter for the specification of the configuration: degrees of freedom J. Zhang 23
MIN-Fakult¨ at Department Informatik Universit¨ at Hamburg Task-Level Programming and Trajectory Generation - Configuration of an Artifact Introduction to Robotics Configurations of a Rigid Body The configurations of an object: ( x , y , θ ) In a 3D workspace: ( x , y , z , α, β, γ ) J. Zhang 24
MIN-Fakult¨ at Department Informatik Universit¨ at Hamburg Task-Level Programming and Trajectory Generation - Configuration of an Artifact Introduction to Robotics Configurations of a Multi-joint Manipulator J. Zhang 25
MIN-Fakult¨ at Department Informatik Universit¨ at Hamburg Task-Level Programming and Trajectory Generation - Configuration of an Artifact Introduction to Robotics Configurations and Paths of a Human Body A path: a steady curve, that connects two configurations τ : s ∈ [0 , 1] , τ ( s ) ∈ configurationspace J. Zhang 26
MIN-Fakult¨ at Department Informatik Universit¨ at Hamburg Task-Level Programming and Trajectory Generation - Geometrical Path Planing Introduction to Robotics Geometrical Path Planing: Definition definition of the basic problem ( generalized mover’s problem ): ”Given a number m of statical obstacles and an artifact with d degrees of freedom, the task of geometrical path planing is to determine a collision-free path between two configurations.“ A complete path-planner shall always deliver a valid plan if one exists, otherwise it should notify about the non-existence of a path. J. Zhang 27
Recommend
More recommend