Sei sulla pagina 1di 43

Robotics

A robot consists of:


Links
Joints
Number of joints specify the degrees of freedom
Problems of interest to control a robot are:
1-Forward Kinematics
Given angles of both joints
Find the coordinates of Point A & B
In the base frame (common frame)
1-Forward Kinematics
Position and orientation matrix (POSE)
Establish a systematic approach to find
pose by using homogeneous
transformation
2- Inverse Kinematics
Given
1
and
2
we know the coordinates
of A (Forward kinematics)
Now given the coordinates of B find
1
and

2
(Inverse Kinematics)
2- Inverse Kinematics
Solution is difficult
Not unique
May not exist
3- Velocity Kinematics
Find the velocity of each joint given the
velocity of the tool
Systematic approach to find the Jacobian
matrix is called cross-product form
4- Path Planning & Trajectory
Generation
Path planning trajectory generation
trajectory tracking
Define path then define time position-time
trajectory then follow it.
5-Vision
Use camera to give feedback on robot
position
Use camera to give position of external
objects
6- Dynamics
Robots are mechanical objects on motion
Need to find differential equations to
define the model
Equations are usually non-linear
Use Lagrangian dynamics
7- Position Control
Tracking problem
Disturbance Rejection problem
Using Feed forward control and the
second method of Lypanove.
8-Force Control
May be used insteadof position control
Avoids uncertainty in the position
Ensures constant normal forcs along the
trajectory
Use Hybrid control and impedance control
Kinematics: Pose (position and
orientation) of a Rigid Body
You want to put your hand on the cup
Suppose your eyes tell you where the
mug is and its orientation in the robot
base frame (big assumption)
In order to put your hand on the object,
you want to align the coordinate frame
of your hand w/ that of the object
This kind of problem makes
representation of pose important...
Why are we studying pose?
Representing Position:
Vectors
Representing Position: vectors
x
y
p
5
2
]
]
]

=
2
5
p
(column vector)
| 2 5 = p
(row vector)
x
y
z
]
]
]
]
]

=
2
5
2
p
p
Representing Position: vectors
Vectors are a way to transform
between two different reference
frames w/ the same orientation
The prefix superscript denotes the
reference frame in which the vector
should be understood
]
]
]

=
2
5
p
b
]
]
]

=
0
0
p
p
Same point, two different
reference frames
p
5
2
b
p
x
b
x
b
y
p
y
Representing Position: vectors
Note that I am denoting the axes as
orthogonal unit basis vectors
b
x

A vector of length one pointing


in the direction of the base
frame x axis
y axis
b
y

p
y

p frame y axis
This means perpendicular
p
5
2
b
p
x
b
x
b
y
p
y
What is this unit vector you speak of?
2 2
y x
a a a + =
Vector
length/magnitude:
a
1

= a Definition of unit vector:


]
]
]

=
y
x
a
a
a These are the elements of a:
5
2
x
b

y
b

2 2

y x
a a
a
a
+
=
You can turn a into a unit vector of
the same direction this way:
y y x x
b a b a b a + =
) cos( b a =
And what does orthogonal mean?
Unit vectors are orthogonal iff (if and
only if) the dot product is zero:
x
p

is orthogonal to iff
First, define the dot product:
0 = b a
when:
0 = a
0 = b
| ) 0 cos =
or,
or, a

x
p

y
p

y
p

0

= y x
p p
A couple of other random things
b b b
y x p

2

5 + =
5
2
b
x
b

y
b

x
y
z
x
y
z
right-handed
coordinate frame
left-handed
coordinate frame
Vectors are elements of
n
R
The importance of differencing two vectors
err
b
eff
b
object
b
x x x =
The eff needs to make a Cartesian
displacement of this much to reach the
object
object
b
x
err
b
x
eff
b
x
The importance of differencing two vectors
err
b
eff
b
object
b
x x x =
b
b
x
b
y
eff
eff
x
eff
y
object
object
x
object
y
err
The eff needs to make a Cartesian displacement
of this much to reach the object
Representing Orientation: Rotation
Matrices
The reference frame of the hand and
the object have different orientations
We want to represent and difference
orientations just like we did for
positions
]
]
]
]
]

=
33 32 31
23 22 21
13 12 11
a a a
a a a
a a a
A
]
]
]
]
]

=
33 23 13
32 22 12
31 21 11
a a a
a a a
a a a
T
A
]
]
]
]
]

33 32 31
23 22 21
13 12 11
a a a
a a a
a a a
]
]
]

=
2
5
p | 2 5 =
T
p
Before we go there review of matrix
transpose
| )
T
T T
BA B A = Important property:
]
]
]

=
22 21
12 11
a a
a a
A
]
]
]

=
22 21
12 11
b b
b b
B
and matrix multiplication
]
]
]

+ +
+ +
=
]
]
]

]
]
]

=
22 22 12 21 21 22 11 21
22 12 12 11 21 12 11 11
22 21
12 11
22 21
12 11
b a b a b a b a
b a b a b a b a
b b
b b
a a
a a
AB
| b a
b
b
a a b a b a b a
T
y
x
y x y y x x
=
]
]
]

= + =
Can represent dot product as a matrix multiply:
Same point - different reference frames
x
a

p
5
2
y
a

y
b

x
b

8 . 3
8 . 3
]
]
]

=
2
5
p
a
]
]
]

=
8 . 3
8 . 3
p
b
for the moment, assume
that there is no difference
in position
a

b
) cos( ) cos(

b b a b a l = = =

y y x x
b a b a b a + =
) cos( b a =
Another important use of the dot product:
projection
l
p
5
2
8 . 3
8 . 3
B-frames x axis written
in A frame
B-frames y axis written
in A frame
Same point - different reference frames
x
a
y
a
b
a
x

b
a
y

| )
x
b a
b
a
p p p x = = cos

x
a
p
a
5
2
y
a
8 . 3
8 . 3
b
a
x

B-frames x axis written


in A frame
b
a
y

B-frames y axis written


in A frame
Same point - different reference frames

p x p
a
b
a
x
b
=

5
2
8 . 3
8 . 3
B-frames x axis written
in A frame
B-frames y axis written
in A frame
p y p
a
b
a
y
b
=

Same point - different reference frames
x
a
p
a
y
a
b
a
x

b
a
y

p x p
A
B
A
x
B
=

p y p
A
B
A
y
B
=

x
A
p
5
2
y
A
8 . 3
8 . 3
B
A
x
B
A
y
p
y
x
p y
p x
p y
p x
p
A
T
B
A
T
B
A
A
T
B
A
A
T
B
A
A
B
A
A
B
A
B
|
|
.
|

=
|
|
.
|

=
|
|
.
|

Rotation matrix
p R p
A
T
B
A B
=
p
y
x
p
A
T
B
A
T
B
A
B
|
|
.
|

Same point - different reference frames


2*1
2*1
2*2
p R p
A
T
B
A B
= p
y
x
p
A
T
B
A
T
B
A
B
|
|
.
|

The rotation matrix


By the same reasoning:
From last page:
p R p
B
T
A
B A
= p
y
x
p
B
T
A
B
T
A
B
A
|
|
.
|

The rotation matrix


| )
B
A
B
A
B
A
y x R

=
|
|
.
|

= =
T
A
B
T
A
B
T
A
B
B
A
y
x
R R

|
|
.
|

=
22 21
12 11
r r
r r
R
B
A
and
B
A
x

B
A
y

|
|
.
|

=
22 21
12 11
r r
r r
R
B
A
T
A
B
x

T
A
B
y

The rotation matrix can be understood as:


1. Columns of vectors of B in A reference frame, OR
2. Rows of vectors A in B reference frame
The rotation matrix
p
y
a
b
a
x
b
a
y
p
a
b
y
x
b

y
b

| )
B
A
B
A
B
A
y x R

=
|
|
.
|

=
T
A
B
T
A
B
B
A
y
x
R

a
b
x
Example 1: rotation matrix
x
a

y
a

x
b

y
b

| )
| ) | )
| ) | )
|
|
.
|


= =


cos sin
sin cos

b
a
b
a
b
a
y x R
| )
| )
|
|
.
|

sin
cos

b
a
x
| )
| )
|
|
.
|

cos
sin

b
a
y
| ) | )
| ) | )
|
|
.
|

=


cos sin
sin cos
a
b
R
Example 2: rotation matrix
y
A
z
A
x
A

45
z
B
x
B
y
B
| )
B
A
B
A
B
A
B
A
z y x R
=
|
|
|
|
.
|

|
|
|
.
|

|
|
|
.
|

|
|
|
.
|

=
2
1
2
1
2
1
2
1
0
0
1
0
0
B
A
R
|
|
|
.
|

=
2
1
2
1
2
1
2
1
0
0 1 0
0
B
A
R
Example 3: rotation matrix
a
x

a
y

a
z
b
z
b
x

b
y

|
|
|
.
|


=
|
|
|
|
.
|


=
+
+
+


c s
s s c c s
s c s c c
s s
c s c c s
c c s c c
R
c
a
0 0
2
2
2
Rotations about x, y, z
| )
| ) | )
| ) | )
|
|
|
.
|


=
1 0 0
0 cos sin
0 sin cos

z
R
| )
| ) | )
| ) | )
|
|
|
.
|

cos 0 sin
0 1 0
sin 0 cos
y
R
| ) | ) | )
| ) | )
|
|
|
.
|

=


cos sin 0
sin cos 0
0 0 1
x
R
These rotation matrices encode the basis vectors of the
after-rotation reference frame in terms of the before-
rotation reference frame
Remember those double-angle formulas
| ) | ) | ) | ) | ) sin cos cos sin sin =
| ) | ) | ) | ) | ) sin sin cos cos cos =
Example 1: composition of rotation matrices
C
B
B
A
C
A
R R R =
p
y
a

x
b

y
b

x
a

y
c

x
c

| ) | )
| ) | )
| ) | )
| ) | )
|
|
.
|

+

=
|
|
.
|


|
|
.
|


=
2 1 2 1 2 1 2 1
2 1 2 1 2 1 2 1
2 2
2 2
1 1
1 1
cos sin
sin cos
cos sin
sin cos
s s c c s c c s
c s s c s s c c
R
c
a




|
|
.
|


=
12 12
12 12
c s
s c
Example 2: composition of rotation matrices
a
x

a
y

a
z
b
x

c
x

|
|
|
.
|


=
1 0 0
0
0


c s
s c
R
b
a
|
|
|
.
|

\

=
|
|
|
.
|

=






c s
s c
c s
s c
R
c
b
0
0 1 0
0
0
0 1 0
0
Example 2: composition of rotation matrices
a
x

a
y

a
z
b
x

c
x

|
|
|
.
|


=
|
|
|
.
|

\

|
|
|
.
|


= =







c s
s s c c s
s c s c c
c s
s c
c s
s c
R R R
c
b
b
a
c
a
0 0
0 1 0
0
1 0 0
0
0
Recap of rotation matrices
| )
|
|
.
|

= =
T
a
b
T
a
b
B
A
B
A
B
A
y
x
y x R


b
a
T
a
b
a
b
R R R = =
1

Potrebbero piacerti anche