Introduction to Robotics Jianwei Zhang - - PowerPoint PPT Presentation

introduction to robotics
SMART_READER_LITE
LIVE PREVIEW

Introduction to Robotics Jianwei Zhang - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik 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

slide-2
SLIDE 2

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik 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

slide-3
SLIDE 3

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik 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

  • rders 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

slide-4
SLIDE 4

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Task-Level Programming and Trajectory Generation - Object-Representation Introduction to Robotics

Object-Representation

  • f 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

slide-5
SLIDE 5

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik 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

slide-6
SLIDE 6

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Task-Level Programming and Trajectory Generation - Object-Representation Introduction to Robotics

CSG-Representation

  • J. Zhang

6

slide-7
SLIDE 7

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Task-Level Programming and Trajectory Generation - Object-Representation Introduction to Robotics

CSG-Representation - An Example

  • J. Zhang

7

slide-8
SLIDE 8

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik 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

slide-9
SLIDE 9

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Task-Level Programming and Trajectory Generation - Object-Representation Introduction to Robotics

Boundary Representation (BR) - An Example

  • J. Zhang

9

slide-10
SLIDE 10

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik 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

slide-11
SLIDE 11

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Task-Level Programming and Trajectory Generation - Object-Representation Introduction to Robotics

Sweeping-Modell by Rotation

  • J. Zhang

11

slide-12
SLIDE 12

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik 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

slide-13
SLIDE 13

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Task-Level Programming and Trajectory Generation - Object-Representation Introduction to Robotics

  • J. Zhang

13

slide-14
SLIDE 14

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik 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

slide-15
SLIDE 15

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Task-Level Programming and Trajectory Generation - Object-Representation Introduction to Robotics

The Quadtree-Representation

  • J. Zhang

15

slide-16
SLIDE 16

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Task-Level Programming and Trajectory Generation - Motivation of Path Planning Introduction to Robotics

Motivation: “Piano-Mover”

  • J. Zhang

16

slide-17
SLIDE 17

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Task-Level Programming and Trajectory Generation - Motivation of Path Planning Introduction to Robotics

Solving a puzzle with a computer?

  • J. Zhang

17

slide-18
SLIDE 18

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik 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

slide-19
SLIDE 19

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Task-Level Programming and Trajectory Generation - Motivation of Path Planning Introduction to Robotics

Example: Assembly Strategies

  • J. Zhang

19

slide-20
SLIDE 20

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Task-Level Programming and Trajectory Generation - Motivation of Path Planning Introduction to Robotics

Motivation: Robot Programming

  • J. Zhang

20

slide-21
SLIDE 21

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Task-Level Programming and Trajectory Generation - Motivation of Path Planning Introduction to Robotics

Motivation: Positioning of a Gripper

  • J. Zhang

21

slide-22
SLIDE 22

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik 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

slide-23
SLIDE 23

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik 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

  • ver 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

slide-24
SLIDE 24

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik 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

slide-25
SLIDE 25

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Task-Level Programming and Trajectory Generation - Configuration of an Artifact Introduction to Robotics

Configurations of a Multi-joint Manipulator

  • J. Zhang

25

slide-26
SLIDE 26

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik 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

slide-27
SLIDE 27

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik 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

slide-28
SLIDE 28

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Task-Level Programming and Trajectory Generation - Geometrical Path Planing Introduction to Robotics

Geometrical Path Planing: Input and Output

Known are:

◮ completely a priori modelled geometry of the artifact and the

  • bstacles

◮ kinematics of the artifact (a rigid body or a body with alterable

shape)

◮ start- and goal-configuration

To determine:

◮ a sequence of steady transformations of collision-free

configurations of the artifact from the start- to the goal-configuration

  • J. Zhang

28

slide-29
SLIDE 29

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Task-Level Programming and Trajectory Generation - Visibility Graph Introduction to Robotics

Visibility Graph

The Visibility Graph is constructed by linking the visible corner points of the obstacles. Visible means, that the line between two visible corner points does not intersect with an obstacle. (Nilsson 69) Complexity: O(m2) (m: number of corner points of the

  • bstacle-polygon)
  • J. Zhang

29

slide-30
SLIDE 30

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Task-Level Programming and Trajectory Generation - Tangent Graph Introduction to Robotics

Tangent Graph

The T-graph has been introduces as a subgraph of the Visibility

  • Graph. It can be proven, that the shortest route between the start

and goal is a subset of the T-graph. The advantage of the T-graph

  • ver the Visibility Graph is, that the unnecessary edges are

eliminated. Complexity: O(m2) (m: number of corner points of the

  • bstacle-polygon)
  • J. Zhang

30

slide-31
SLIDE 31

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Task-Level Programming and Trajectory Generation - Voronoi-Diagram Introduction to Robotics

Voronoi-Diagram

Complexity: nodes: O(m) (m: number of corner points of the

  • bstacle-polygon), Complexity of construction: O(m log m)
  • J. Zhang

31

slide-32
SLIDE 32

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Task-Level Programming and Trajectory Generation - Heuristical Search Introduction to Robotics

Heuristical Search

For Routing in a graph the A∗-algorithm can be used. A route can be searched from the initial node s to (one of) the goal node(s) z. The A∗-algorithmus uses a heuristical cost function f , that assigns every route from the initial node to an arbitrary node q a value, that is used to estimate the complete costs from the initial node to the goal node (passing node q). The estimation function f can be defined as an addition of two functions g und h, where g describes the known costs from the initial node to node q, and h estimates the costs of the shortest route from q to a goal node..

  • J. Zhang

32

slide-33
SLIDE 33

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Task-Level Programming and Trajectory Generation - Heuristical Search Introduction to Robotics

Heuristical Search

If h is chosen the way that the actual costs are not over-estimated, the search algorithm is called A∗. It is guaranteed, that the shortest existing route can be found with the A∗-algorithm. In order to find not only the shortest, but also the smoothest route, the costs of a route contain also a factor for direction-changes. g and h are exactly defined the following way

◮ g= euklidian distance from start s to q

+ weight-factor * curvature-measure;

◮ h = euklidian distance from q to goal node

+ weight-factor * (estimated curvature-measure)

  • J. Zhang

33

slide-34
SLIDE 34

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Task-Level Programming and Trajectory Generation - Heuristical Search Introduction to Robotics

Heuristische Suche

All possible route-candidates from s to q are inserted into an open list. A route-candidates is deleted from this list, if its f -value is minimal- These route-candidates is then expanded to all reachable neighbour-nodes and the new f function is evaluated. This is repeated, until the goal-node is reached – a route has been found, or if the open list is empty – there is no route from s to z.

  • J. Zhang

34

slide-35
SLIDE 35

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Task-Level Programming and Trajectory Generation - Lower and upper boundary of path planning algorithms Introduction to Robotics

Lower and upper boundary of path planning algorithms

◮ The first lower boundary: PSPACE-hard, i.e. at least as complex

as an NP-problem, in the worst case an exponential computing time for every algorithm to solve this problem (Reif 79).

◮ The first upper boundary: double exponential time-complexity

with the degree of freedom d (Schwartz und Sharir 87).

◮ The second upper boundary: single exponential time-complexity

using the silhouette-method (Canny 88).

  • J. Zhang

35