28
1 © 2013 School of Information Technology and Electrical Engineering at the University of Queensland RoboticsCourseWare Contributor Schedule 25 October 2013 METR 4202: Robotics 2 Week Date Lecture (F: 9-10:30, 42-212) 1 26-Jul Introduction 2 2-Aug Representing Position & Orientation & State (Frames, Transformation Matrices & Affine Transformations) 3 9-Aug Robot Kinematics 4 16-Aug Robot Dynamics & Control 5 23-Aug Robot Trajectories & Motion 6 30-Aug Sensors & Measurement 7 6-Sep Perception / Computer Vision 8 13-Sep Localization and Navigation 9 20-Sep State-Space Modelling 10 27-Sep State-Space Control 4-Oct Study break 11 11-Oct Motion Planning 12 18-Oct Motion Planning & Control 13 25-Oct Applications in Industry & Course Review

UQ Robotics Teachingrobotics.itee.uq.edu.au/~metr4202/2013/lectures/L13-Summary.pdf · • Represent a rotation about an axis of a moving coordinate frame : Moving ... Align an axis

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: UQ Robotics Teachingrobotics.itee.uq.edu.au/~metr4202/2013/lectures/L13-Summary.pdf · • Represent a rotation about an axis of a moving coordinate frame : Moving ... Align an axis

1

© 2013 School of Information Technology and Electrical Engineering at the University of Queensland

RoboticsCourseWare Contributor

TexPoint fonts used in EMF.

Read the TexPoint manual before you delete this box.: AAAAA

Schedule

25 October 2013 METR 4202: Robotics 2

Week Date Lecture (F: 9-10:30, 42-212)

1 26-Jul Introduction

2 2-Aug Representing Position & Orientation & State

(Frames, Transformation Matrices & Affine Transformations)

3 9-Aug Robot Kinematics

4 16-Aug Robot Dynamics & Control

5 23-Aug Robot Trajectories & Motion

6 30-Aug Sensors & Measurement

7 6-Sep Perception / Computer Vision

8 13-Sep Localization and Navigation

9 20-Sep State-Space Modelling

10 27-Sep State-Space Control

4-Oct Study break

11 11-Oct Motion Planning

12 18-Oct Motion Planning & Control

13 25-Oct Applications in Industry & Course Review

Page 2: UQ Robotics Teachingrobotics.itee.uq.edu.au/~metr4202/2013/lectures/L13-Summary.pdf · • Represent a rotation about an axis of a moving coordinate frame : Moving ... Align an axis

2

• Lab 3:

– One team done“Free Extension” to October 31.

• Take Home “Quiz”: • Posted! (via Platypus)

• If you Lab 3 Score is “~$20”: You may “opt-out”

• Cool Robotics Share Site

http://metr4202.tumblr.com/

Announcements: We’re Working On It!

!

Cool Robotics

Video Share

25 October 2013 METR 4202: Robotics 3

And now Presenting …

Peter Corke!

25 October 2013 METR 4202: Robotics 4

Page 3: UQ Robotics Teachingrobotics.itee.uq.edu.au/~metr4202/2013/lectures/L13-Summary.pdf · • Represent a rotation about an axis of a moving coordinate frame : Moving ... Align an axis

3

And now Presenting …

Latzi Marian!

25 October 2013 METR 4202: Robotics 5

And now Presenting …

Stefan Williams!

25 October 2013 METR 4202: Robotics 6

Page 4: UQ Robotics Teachingrobotics.itee.uq.edu.au/~metr4202/2013/lectures/L13-Summary.pdf · • Represent a rotation about an axis of a moving coordinate frame : Moving ... Align an axis

4

Robot Submarines (In South Australia !)

25 October 2013 METR 4202: Robotics 7

And now Presenting …

Hanna Kurniawati

25 October 2013 METR 4202: Robotics 8

Page 5: UQ Robotics Teachingrobotics.itee.uq.edu.au/~metr4202/2013/lectures/L13-Summary.pdf · • Represent a rotation about an axis of a moving coordinate frame : Moving ... Align an axis

5

COMP3702/7702 Artificial Intelligence

http://robotics.itee.uq.edu.au/~ai

10

(Robotics) Systems Autonomous

Page 6: UQ Robotics Teachingrobotics.itee.uq.edu.au/~metr4202/2013/lectures/L13-Summary.pdf · • Represent a rotation about an axis of a moving coordinate frame : Moving ... Align an axis

6

11

(Robotics) Systems Autonomous

COMP3702/7702 is about • Fundamental computational representations &

techniques to enable computers:

• Make good decisions when information about the problem is

accurate & abundance.

• Make good decisions when information about the problem is

inaccurate & limited.

• Learn & improve decision making capability over time.

Page 7: UQ Robotics Teachingrobotics.itee.uq.edu.au/~metr4202/2013/lectures/L13-Summary.pdf · • Represent a rotation about an axis of a moving coordinate frame : Moving ... Align an axis

7

Some of the things you’ll learn

13

• Motion planning for a high

DOFs system: A (Simplified)

oil containment system

• Assignment 1

• A (simplified) stealth tracking

• Assignment 2

Assumed background

• Understand & can implement abstract data

structures, esp. trees & graphs, using a high-level

programming language.

• Know basic computational

complexity, e.g. big-O.

Page 8: UQ Robotics Teachingrobotics.itee.uq.edu.au/~metr4202/2013/lectures/L13-Summary.pdf · • Represent a rotation about an axis of a moving coordinate frame : Moving ... Align an axis

8

COMP3702/7702 Artificial Intelligence

http://robotics.itee.uq.edu.au/~ai

And now Presenting …

Paul Pounds!

25 October 2013 METR 4202: Robotics 16

Page 9: UQ Robotics Teachingrobotics.itee.uq.edu.au/~metr4202/2013/lectures/L13-Summary.pdf · • Represent a rotation about an axis of a moving coordinate frame : Moving ... Align an axis

9

And now Presenting …

Surya Singh (finally)!

25 October 2013 METR 4202: Robotics 17

Course Review (finally)!

25 October 2013 METR 4202: Robotics 18

Page 10: UQ Robotics Teachingrobotics.itee.uq.edu.au/~metr4202/2013/lectures/L13-Summary.pdf · • Represent a rotation about an axis of a moving coordinate frame : Moving ... Align an axis

10

It All Starts With: Frames in Space!!

25 October 2013 METR 4202: Robotics 19

Position and Orientation [1]

• A position vectors specifies the

location of a point in 3D (Cartesian) space

• BUT we also concerned with its orientation in 3D space.

This is specified as a matrix based on each frame’s unit vectors

A

B

O

25 October 2013 METR 4202: Robotics 20

Page 11: UQ Robotics Teachingrobotics.itee.uq.edu.au/~metr4202/2013/lectures/L13-Summary.pdf · • Represent a rotation about an axis of a moving coordinate frame : Moving ... Align an axis

11

Position and Orientation [2] • Orientation in 3D space:

This is specified as a matrix based on each frame’s unit vectors

• Describes {B} relative to {A}

The orientation of frame {B} relative to coordinate frame {A}

• Written “from {A} to {B}” or “given {A} getting to {B}”

• Columns are {B} written in {A}

A

B

O

25 October 2013 METR 4202: Robotics 21

Position and Orientation [3]

• The rotations can be analysed based on the unit components …

• That is: the components of the orientation matrix are the unit vectors

projected onto the unit directions of the reference frame

25 October 2013 METR 4202: Robotics 22

Page 12: UQ Robotics Teachingrobotics.itee.uq.edu.au/~metr4202/2013/lectures/L13-Summary.pdf · • Represent a rotation about an axis of a moving coordinate frame : Moving ... Align an axis

12

Position and Orientation [4]

• Rotation is orthonormal

• The of a rotation matrix inverse = the transpose

thus, the rows are {A} written in {B}

25 October 2013 METR 4202: Robotics 23

Euler Angles

• Minimal representation of orientation (α,β,γ)

• Represent a rotation about an axis of a moving coordinate frame : Moving frame B w/r/t fixed A

• The location of the axis of each successive rotation depends on the previous one! …

• So, Order Matters (12 combinations, why?)

• Often Z-Y-X:

– α: rotation about the z axis

– β: rotation about the rotated y axis

– γ: rotation about the twice rotated x axis

• Has singularities! … (e.g., β=±90°)

25 October 2013 METR 4202: Robotics 24

Page 13: UQ Robotics Teachingrobotics.itee.uq.edu.au/~metr4202/2013/lectures/L13-Summary.pdf · • Represent a rotation about an axis of a moving coordinate frame : Moving ... Align an axis

13

Homogenous Transformation

• γ is a projective transformation

• ρ is a scaling value:

25 October 2013 METR 4202: Robotics 25

Projective Transformations …

p.44, R. Hartley and A. Zisserman. Multiple View Geometry in Computer Vision

25 October 2013 METR 4202: Robotics 26

Page 14: UQ Robotics Teachingrobotics.itee.uq.edu.au/~metr4202/2013/lectures/L13-Summary.pdf · • Represent a rotation about an axis of a moving coordinate frame : Moving ... Align an axis

14

Projective Transformations &

Other Transformations of 3D Space

p.78, R. Hartley and A. Zisserman. Multiple View Geometry in Computer Vision

25 October 2013 METR 4202: Robotics 27

Denavit-Hartenberg: A Frame Placement Convention

1. Align an axis along principal motion

1. Rotary (R): align rotation axis along the z axis

2. Prismatic (P): align slider travel along x axis

2. Orient so as to position x axis towards next frame

3. θ (rot z) d (trans z) a (trans x) α (rot x)

25 October 2013 METR 4202: Robotics 28

Page 15: UQ Robotics Teachingrobotics.itee.uq.edu.au/~metr4202/2013/lectures/L13-Summary.pdf · • Represent a rotation about an axis of a moving coordinate frame : Moving ... Align an axis

15

Denavit-Hartenberg Rotation Matrix

• Each transformation is a product of 4 “basic”

transformations (instead of 6)

25 October 2013 METR 4202: Robotics 29

Static Forces

• We can also use the Jacobian to compute the joint torques required to

maintain a particular force at the end effector

• Consider the concept of virtual work

• Or

• Earlier we saw that

• So that

• Or

q1

q2

q3

F

25 October 2013 METR 4202: Robotics 30

Page 16: UQ Robotics Teachingrobotics.itee.uq.edu.au/~metr4202/2013/lectures/L13-Summary.pdf · • Represent a rotation about an axis of a moving coordinate frame : Moving ... Align an axis

16

Revisiting The Jacobian

• I told you (Lec 4, Slide 19):

• True, but we can be more “explicit”

25 October 2013 METR 4202: Robotics 31

Jacobian: Explicit Form

• For a serial chain (robot): The velocity of a link with

respect to the proceeding link is dependent on the type of

link that connects them

• If the joint is prismatic (ϵ=1), then

• If the joint is revolute (ϵ=0), then

• Combining them (with v=(Δx, Δθ))

dzi dtv

ˆ(in the direction)d

kdt

q

1

1

Ni

i i i i i

i

v v

p 1 1

N N

i i i i i

i i

q

θ z

vv J q Jω q

vJJ

J

25 October 2013 METR 4202: Robotics 32

Page 17: UQ Robotics Teachingrobotics.itee.uq.edu.au/~metr4202/2013/lectures/L13-Summary.pdf · • Represent a rotation about an axis of a moving coordinate frame : Moving ... Align an axis

17

Jacobian: Explicit Form [2]

• The overall Jacobian takes the form

• The Jacobian for a particular frame (F) can be expressed:

Where: &

1

1 1 1

P P

n

n

x x

q qJ

z z

1

1 1 1

F F

P P

F

n

F F

n

x x

q qJ

z z

F F i

i i iRz z 0 0 1i

i z

25 October 2013 METR 4202: Robotics 33

Dynamics – Langrangian Mechanics [2]

, :Generalized Velocities, : Mass MatrixL K P M θ

1

N

i

i

d K K P

dt

τθ θ θ

,M q τ θ v θ θ g θ

25 October 2013 METR 4202: Robotics 34

Page 18: UQ Robotics Teachingrobotics.itee.uq.edu.au/~metr4202/2013/lectures/L13-Summary.pdf · • Represent a rotation about an axis of a moving coordinate frame : Moving ... Align an axis

18

Dynamics – Langrangian Mechanics [3]

• The Mass Matrix: Determining via the Jacobian!

! M is symmetric, positive definite , 0T

ij jim m M θ θ

25 October 2013 METR 4202: Robotics 35

Generalized Coordinates

• A significant feature of the Lagrangian Formulation is that

any convenient coordinates can be used to derive the

system.

• Go from Joint Generalized

– Define p:

Thus: the kinetic energy and gravity terms become

where:

1 1n nq q p p q p

d dp J q

*12

TKE p H p

* 1 1T

H J HJ

* 1T

G J G

25 October 2013 METR 4202: Robotics 36

Page 19: UQ Robotics Teachingrobotics.itee.uq.edu.au/~metr4202/2013/lectures/L13-Summary.pdf · • Represent a rotation about an axis of a moving coordinate frame : Moving ... Align an axis

19

Configuration Space

• A robot configuration is a specification of the positions of all robot

points relative to a fixed coordinate system

• Usually a configuration is expressed as a “vector” of

position/orientation parameters

25 October 2013 METR 4202: Robotics 37

Motion Planning

free space

s

g

free path

25 October 2013 METR 4202: Robotics 38

Page 20: UQ Robotics Teachingrobotics.itee.uq.edu.au/~metr4202/2013/lectures/L13-Summary.pdf · • Represent a rotation about an axis of a moving coordinate frame : Moving ... Align an axis

20

Roadmap Methods

• Visibility graph

Introduced in the Shakey project at SRI in the late 60s.

Can produce shortest paths in 2-D configuration spaces

g

s

25 October 2013 METR 4202: Robotics 39

Roadmap Methods

• Voronoi diagram

Introduced by

Computational

Geometry researchers.

Generate paths that

maximizes clearance.

O(n log n) time

O(n) space

25 October 2013 METR 4202: Robotics 40

Page 21: UQ Robotics Teachingrobotics.itee.uq.edu.au/~metr4202/2013/lectures/L13-Summary.pdf · • Represent a rotation about an axis of a moving coordinate frame : Moving ... Align an axis

21

Potential Field Methods

• Approach initially proposed for

real-time collision avoidance [Khatib, 86]

Goal

Goal Force

Obsta

cle

Forc

eMotion

Robot

25 October 2013 METR 4202: Robotics 41

Image Formation & Steropsis

25 October 2013 METR 4202: Robotics 42

Page 22: UQ Robotics Teachingrobotics.itee.uq.edu.au/~metr4202/2013/lectures/L13-Summary.pdf · • Represent a rotation about an axis of a moving coordinate frame : Moving ... Align an axis

22

Image formation equations:

3D → 2D Perspective Projection

u

(Xc,Yc,Zc)

uc f

From Szeliski, Computer Vision: Algorithms and Applications

25 October 2013 METR 4202: Robotics 43

Camera calibration

• Five intrinsic parameters:

– (fx, fy) : Focal length

– (ox, oy) : Image center

– α: skew

• Extrinsic Parameters:

– Tx, Ty, Tz: Translation

– ϕ, φ, ψ: Orientation

0.5

0.5

C

x xCim

Cim

y yC

Xf o

x Z

y Yf o

Z

25 October 2013 METR 4202: Robotics 44

Page 23: UQ Robotics Teachingrobotics.itee.uq.edu.au/~metr4202/2013/lectures/L13-Summary.pdf · • Represent a rotation about an axis of a moving coordinate frame : Moving ... Align an axis

23

Basic idea:

• Take 16x16 square window around detected feature

• Compute edge orientation (angle of the gradient - 90) for each pixel

• Throw out weak edges (threshold gradient magnitude)

• Create histogram of surviving edge orientations

Scale Invariant Feature Transform

Adapted from slide by David Lowe

0 2 angle histogram

25 October 2013 METR 4202: Robotics 45

SIFT descriptor

Full version • Divide the 16x16 window into a 4x4 grid of cells (2x2 case shown below)

• Compute an orientation histogram for each cell

• 16 cells * 8 orientations = 128 dimensional descriptor

Adapted from slide by David Lowe

25 October 2013 METR 4202: Robotics 46

Page 24: UQ Robotics Teachingrobotics.itee.uq.edu.au/~metr4202/2013/lectures/L13-Summary.pdf · • Represent a rotation about an axis of a moving coordinate frame : Moving ... Align an axis

24

Line Detection – Hough Lines [1]

• A line in an image can be expressed as two variables:

– Cartesian coordinate system: m,b

– Polar coordinate system: r, θ

avoids problems with vert. lines

y=mx+b

• For each point (x1, y1) we can write:

• Each pair (r,θ) represents a line that passes through (x1, y1)

See also OpenCV documentation (cv::HoughLines)

25 October 2013 METR 4202: Robotics 47

Line Detection – Hough Lines [2]

• Thus a given point gives a sinusoid

• Repeating for all points on the image

See also OpenCV documentation (cv::HoughLines)

25 October 2013 METR 4202: Robotics 48

Page 25: UQ Robotics Teachingrobotics.itee.uq.edu.au/~metr4202/2013/lectures/L13-Summary.pdf · • Represent a rotation about an axis of a moving coordinate frame : Moving ... Align an axis

25

State-Space! государственный контроль пространства

• It’s Russian for Control

• Dynamic systems are described as differential equations (as

compared to transfer functions)

• Stability is approached via the theory of Liapunov instead of

frequency-domain methods (Bode and Nyquist)

• Optimisation of System Performance via calculus of variations

(Pontryagin) (as compared to Wiener-Hopf methods)

25 October 2013 METR 4202: Robotics 49

State-Space Control

25 October 2013

Benefits:

• Characterises the process by systems of coupled, first-order

differential equations

• More general mathematical model – MIMO, time-varying, nonlinear

• Mathematically esoteric (who needs practical solutions)

• Yet, well suited for digital computer implementation

– That is: based on vectors/matrices (think LAPACK MATLAB)

METR 4202: Robotics 50

Page 26: UQ Robotics Teachingrobotics.itee.uq.edu.au/~metr4202/2013/lectures/L13-Summary.pdf · • Represent a rotation about an axis of a moving coordinate frame : Moving ... Align an axis

26

Difference Equations & Feedback

25 October 2013

u Input

y output

S y

METR 4202: Robotics 51

Finding states

• We can identify nodes of a dynamic system which contain

the integrated time-history values of the system response

– We call them “states”

S S

S

u y x1 x2

25 October 2013 METR 4202: Robotics 52

Page 27: UQ Robotics Teachingrobotics.itee.uq.edu.au/~metr4202/2013/lectures/L13-Summary.pdf · • Represent a rotation about an axis of a moving coordinate frame : Moving ... Align an axis

27

Linear system equations

25 October 2013 METR 4202: Robotics 53

State-space representation

“State-space

equations”

25 October 2013 METR 4202: Robotics 54

Page 28: UQ Robotics Teachingrobotics.itee.uq.edu.au/~metr4202/2013/lectures/L13-Summary.pdf · • Represent a rotation about an axis of a moving coordinate frame : Moving ... Align an axis

28

The End… Thank you!

METR 4202: Robotics 25 October 2013 55