Sunteți pe pagina 1din 44

Robotics Unit 2

Kinematics of manipulators:
Kinematics:
Kinematics is concerned with the computation of geometric and time
based properties like position, orientation, linear and angular
velocities, accelerations etc. without considering the forces and
torques causing them. The study of kinematics in robotics involves,
among other things, the manner in which the coordinate frames
attached to the various parts of the mechanism change as the robot
articulates.
Description of links:
Many robots have joints which are like hinges,also known as revolute
joints. Sliding joints known as prismatic joints also are used in some
robots. The links are connected together at the joints. Each joint has
only one degree of freedom. Typical robots have five or six joints.
In kinematics a link is considered as a rigid body which defines the
relationship between the neighbouring joint axes of manipulators.
The joint axes are defined by lines in space. For example joint
axis(i) is defined by a line in space about which link(i) rotates w.r.t.
link (i-1)
Link Parameters: a robot is kinematically described completely if
the following four parameters are specified for each link.
i. link twist
ii.link length a
iii.link offset d and
iv.the joint angle
for a six axes revolute robot six sets of joint parameters (a
i,

i
,d
i
) are
fixed and six joint angles (
i
) are variables. Hence we have 18 fixed
parameters and 6 variables.
Link length:
In three dimensional space there exists in general, a well defined
measure called the distance between two lines( axes). The distance
is measured along another line which is mutually perpendicular is
unique except when the two axes are parallel. In such case many
such perpendicular lines are possible.


when two lines intersect , the distance between them is zero. The
direction of the mutually perpendicular line alone is important in
this case. Any of the possible two directions can be assigned a
positive sign. A typical link is shown below. The length is a
i-1,
which
is the perpendicular length measured from the (i-1) axis to the (i)
axis.

Link twist:
In the figure below the end view from the left side is known. A link
twist is apparent. the link twist angle
i-1
is measured in the right
handed corkscrew sense ie. when the corkscrew is twisted from
(i-1) to i direction, the screw must advance along a
i-1
In the case of
intersecting axes , the case of direction of a
i-1
lost because a
i-1
=0.
Then the arbitrary sign is allowed to a
i-1
. The link twist the link
length are two important link parameters.

Intermediate links:
Two more important paramters are associated with the other links of
the robot. These are the link offset d
i
and
i
.
Link offset:
The offset between the link (i-1) and the link (i) is defined as
follows:

the offset d
i
is the distance measured along the joint axis (i) from the
point where the link length line a
i-1
intersects the joint axis (i), to the
point where the link length line a
i
intersects the joint axis (i). The
link offset d
i
is a constant for revolute joints and a variable for
prismatic joints.
Joint angles:
The angle made by the link length line a
i
with respect to the link
length line a
i-1
in the right handed corkscrew sense about the joint.
The joint angle is a variable for revolute joints and a constant for
prismatic joints.
In the fig in the previous slide it is clear that line AX representing the
link line a
i-1
intersects Z
i
at X and the line BY representing the link
length line a
i
intersects Z
i
at B. the intercept XB=+d
i
is the link offset
at the i
th
joint.
Further let BM be parallel to AX. The angle made by the link length
line a
i
with respect to BM is the joint angle +
i
.

Affixing frames to links( conventions):
To locate a link relative to its neighbours and w.r.t a fixed frame
called a base frame , we attach a frame rigidly to each link. Certain
convention is followed while assigning a frame (i) to link i.
conventions:
a. The axis z of the frame i =z
i
This is made coincident with the
joint axis i. the link i moves about the axis z
i
or along the axis z
i

as the case may be.
b. The link axis x
i
intersects the joint axis i at the origin of i . The
direction of axis x
i
is from i to i+1. Further x
i
must be
perpendicular to both z
i
and z
i+1
.
c. The axis y
i
is perpendicular to both z
i
and x
i
according to the
right handed corkscrew rule.
Special cases:
If the link length a
i
is =0, then z
i
and z
i+1
are intersecting, then two
two directions are possible for the axis x
i
. After having chosen one of
these directions as positive , y
i
is so chosen that x
i
,y
i
,z
i
form a
right handed cartesian system.
First and the last links of robot chain:
We assign a frame to the base of the robot which forms the reference.
Let this frame be called 0 comprising of (x
0
,y
0
,z
0
) are so chosen that z
1

and z
0
are coincident making the link twist
0
=0, and the link length
a
0
=0
First link:
Further , if joint j
1
is revolute, the origins of 0 and 1 are normally
made coincident, leading to d
1
=0. However the angle between x
1
and x
0

in the right handed corkscrew sense is equal
1
(=0).
If the joint j
1
is prismatic, the origin of 1

will slide along z
1
axis by a
distance d
1
which is a variable such that d
1
=0. However the axes x
1
and
x
0
can be chosen to be parallel all the time so that
1
=0.
Last link:
For a revolute joint the origin of the n
th
joint can be chosen such that
d
n
=0 if we so desire. However
n
is a variable which is the angle between
x
n
and x
n-1
.
For a prismatic joint , d
n
is a variable and
n
can be so chosen to be
zero.
It may be noted that the choice of d
1
and d
n
=0 for revolute joints
(1 and n) and
1
and
n
=0 for prismatic joints (1 and n) is purely
arbitrary. These could be chosen chosen to be any other values.
However the frames 1 and n must be
correspondingly located w.r.t 0 and n-1 with the desired
fixed objects d
1
and d
n
for revolute joints.
Thus
1
and
n
could be any arbitrary fixed angles for prismatic
robots and d
1
and d
n
could be any arbitrarily assigned offsets for
revolute robots, if we take care to refer the frames 1 and n w.r.t
0 and n-1 using these fixed parameters.
Naturally choosing zero values for some fixed parameters lead to
transformation matrices which contain many zeroes. This reduces
the computation burden to a great extent.
The procedure discussed is due to Denavit and Hartenberg and will
be followed through out.
75
100
100
75
x
i

y
i

i

x
i-1

z
i-1

y
i-1

xi-1

225
156 19 50
=a
i-1

d
i
=87.5
Calculate the link offset,link
length and link angle if the
two links are arranged as
revolute joint as shown.
What is
i-1
?
A 3-link planar arm with revolute joints as shown in fig. It is required
to assign link frames to the three joints according to Denavit and
Hartenberg convention. The successive links have lengths L
1
,L
2
,L
3
and
three servomoters run each link through the desired angles.
The base frame is X
0
,y
0
,z
0
With the z
0
axis coming out in direction
Perpendicular to the plane of the paper. In fact all the z axes
z
0
,z
1
,z
2
,z
3
are4 perpendicular to this plane and are parallel. to each
other. The axis x
1
is chosen along the member L
1
in the direction
perpendicular both z
1
and z
2
; y
1
is perpendicular to both x
1
and z
1
.in
the right handed corkscrew sense. The origins of
0 and 1
coincide. The joint variable
1
Is
1
. At the second joint is located
Frame
2
With x
2
chosen along L
2
in the direction
2
to
3
x
2
,y
2,
z
2
Form another right handed cartesian system. At the joint
3 is located frame 3
With x
3
at along L
3
, in the direction pointing
to the centre of gripper. Z
3
is the joint axis at
3
And
X
3
,y
3,
z
3

Forms a right handed cartesian system. The angle made by x
1
with
Respect to x
0
in the right handed corkscrew sense about z
1
is
1
. The
joint variable at 1
Is
1
. Similarly the angle made by x
2
with rspect
to x
1
is
2
and the angle made by x
3
w.r.t x
2
is
3
.
For this planar robot
1
,
2
,
3
are joint variables.
Since x
1
and x
0
intersect at the origin of 1
d
1
=0. Similarly x
1
and
X
2
intersect the z
2
axis at the origin of
2
. Hence d
2
=0. In the
Same way the intercept made by x
2
and x
3
axes on

z
3
axis is zero.
d
1
=d
2
=d
3
=0
Since z
0
and z
1
are parallel, the link twist
0
=0. Further z
1
is
parallel to z
2
, so
1
=0. All the parameters are shown in the table
below:
joint

i-1
a
i-1
d
i

i

0 0 0 0 0
1 0 0 0
1

2 0 L
1
0
2

3 0 L
2
0
3

Joint J
0
refers to the base frame the description stops at
joint J
3
and hence the parameter L
3
will not find a place in the link
parameter table. However it is useful in specifying the tip of the
gripper w.r.t. frame . The gripper tip is along x
3
, at a
distance of L
3
w.r.t. the orogin of .
0
3
3
Link frame assignment and forward kinematics:
Introduction:
Derivation of the general transformation which relates the frames
attached to two neighbouring links. The forward kinematics problem
deals with the determination of the position and orientation of the
gripper frame when the joint variables are numerically specified.
The inverse kinematics problem deals with the determination of the
joint variables when the position and orientation of the gripper frame
are given.
Derivation of link transformation matrix:
Consider the neighbouring frames i-1 and i . The transformation
between the two frames would be a function of four link parameters,
viz.
i-1
, the link twist, a
i-1
, the link length,
i
, the joint angle. and d
i

the joint offset. Further for most of the robots, only one of these
parameters, is a variable and the other three are constants, fixed by
the mechanical design. To obtain the transformations we break
up the problem in to four sub-problems. Each of the four
transformations will be a function of one link parameter only.
1 i
i
T

(

Consider a typical robot link (i-1), connected to the link i, at the joint
i.Intermediate frames P Q R are assigned for the sake of
convenience. It is enough if only the x, and z are considered because
(x,y,z) form a right handed cartesian system.

1. Frame R differs from frame i-1 only by rotation of
i-1
about
the axis x
i-1
. By the definition of the link twist, it is seen that the
z axes of the frames R i are parallel. the axes of the frames
R and i-1 are identical
2. The frame Q differs from the frame R by a translation a
i-1
along the x
R
axis. The x axis of the frames Q and R are
along the same line and the Z axes of the frames R and Q
are parallel to the Z axis of frame i . Frame P differs from
frame Q by a rotation
i
about Z
i
axis. The axes of P and
Q coincide.
3. The frame i differs from frame P by a translation equal to d
i

along the Z
i
axis. Further x
i
is parallel to x
p
. In this manner it is
possible to move from frame i-1 to frame i through the inter
mediate frames R Q and P .
A point s specified w.r.t i can be represented by
(next slide)
{ }
......... ............................................ 1
1
1
int . .
.... ............................................ 2
1 1
x
y
S
S
S
Sz
P S S
i
i
i
i
i
The same po can be represented wr t P as
p i
T
s
(
(
(
(
=
(
(

(
(

( (
( =
( (

1 1
1
.... .................................. 3
1 1
....................................... 4
1
...........
1
Q S S
P
Q P S
P i
i i R Q P S
R Q P i
Q P
imilarly T
i
T T
i
and S T T T T

( (
( =
( (

(
( ( =
(

(
( ( ( ( ( =
(

{ } { }
1
1 1 1 1
.................5
1
( , ) ( , ) ( , ) ( , )....... 6
i
i i i i i i i i i
Symbolicallyt the transformation from i to i can be written as
T Rot x Trans x a Rot z Trans z d o u

( =

Equation 6 means the transformation due to a rotation of
i-1
about
the axis x
i-1
, transformation due to a shift of a
i-1
along x
i-1
,
transformation due a rotation of
i
, about z
i
and transformation due
to a shift along the z
i
axis by a distance d
i
clearly
1
1 1 1
1 1
1 0 0 0 1 0 0 0 0 1 0 0 0
0 0 0 1 0 0 0 0 0 1 0 0
....7
0 0 0 0 1 0 0 0 1 0 0 0 1
0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1
sin
i i i
i i i i i
i
i i i
a C S
C S S C
T
S C d
Where C represents Co e and S rpresents Sine f
u u
o o u u
o o

( ( ( (
( ( ( (

( ( ( (
( =

( ( ( (
( ( ( (

1
1 1 1 1 1
1 1 1 1
7
0
0 0 0 1
i i i
i i i i i i i i
i
i i i i i i i
unction
Multiplying equation can be written as
C S a
S C C C S S d
T
S S C S C C d
u u
u o u o o o
u o u o o o

(
(

(
( =

(
(

Inverse manipulator kinematics: Given the desired position and
orientation of the tool, how to compute the set of joint variables which
will achieve the desired result? The inverse kinematics problem is
more difficult to solve than the forward kinematics problem. The
existence of the solution must be guaranteed beforehand so that one
can attempt to solve the inverse kinematics problem.
Work space: This is the volume of space within which the end effector
of the manipulator can be positioned.
Dexterous work space: This refers to the volume of space within
which the end effector can be positioned in all orientations.
consider a two dimensional robot with
two links as shown. The reachable
space is the ring bounded by r
1
= L
1
- L
2
r
2
= L
1
+ L
2
.
The dexterous work space does not
exist. When L
1
= L
2
the origin alone can
be reached.
Solvability:
In case of an industrial robot with six degrees of freedom, we can
formulate 12 simultaneous equations with six unknown joint
variables. However not all 12 equations are independent. The
orientation matrix give rise to nine equations and the origin position
part of the transformation gives rise to two equations. The
orientation can be specified bu three quantities in an unambiguous
manner. Therefore in essence we have six equations and six six
unknown joint variables. However these equations are non-linear
and transcendental in general are difficult to solve. If some of the
entries are zero or if the angles are 0 and 90 in the link parameter
table, the solution becomes simpler to some extent.
Multiple solutions:
Due to the non- linear nature of the simultaneous equations, there
may be more than one solution for the inverse kinematics problem.
The reasonable solution for the next next instant is chosen to be the
one nearest to the current solution.
One advantage of multiple solutions is that obstacles can be avoided
by choosing the appropriate solution out of the many many
possibilities.
Interfacing computers to robot:
PCs are increasingly used for controlling the robot. Higher languages
like BASIC, C, PASCAL can be used to translate algorithm in to
machine codes which when executed, cause commands to be
transmitted to the robots. Feedback from sensors help to control.
A simple RS-232 interface is ideally suited for connecting a compute
to a robot.
RS-232 Interface:
RS-232 is serial interface which can transmit and receive data in a
serial manner. Binary numbers can be sent through RS-232 interface
as bytes or words. the beginning of the byte is indicated by a start
pulse and its end by a stop pulse. In between the start and stop pulses
the data segment is transmitted. The data can be 5,6,7,or 8 bits long.
For transmitting ASCII characters seven bits are sufficient.
The advantages of serial interface is that it is relatively free from
errors introduced by noise. The connecting cables can be as long as
10 meters. Parallel interfaces must be necessarily shorter (50 cms).
The number of bits transmitted is known as Baud rate.
Baud rates from 75 to 9600 are commonly used. Further using a carrier
signal, modulators and demodulators(MODEM) it is possible to
communicate via long telephone lines. The parity of the data bits can
be computed and a parity bit ( corresponding to an odd parity or even
parity specified in advance) can be appended to the data cycle.
At the receiver the parity can be checked and if there is an error, it can
be rectified by demanding retransmission of data.
A typical character frame is shown in the next slide. The normal RS-
232 voltage levels are (+/- ) 12 V. However a well designed RS-232
link will work even for (+/-) 3 V to (+/-) 25 V. The + 12 V level
corresponds to logic 0 and the 12 V level corresponds to logic 1.
It is clear that the start bit is logic 0. The stop pulse can be one bit or
two bits wide logic 1 signals. There four possibilities for the parity
bit.
1. odd parity 0 login
2. odd parity 1 logic
3. even parity 0 logic and
4. even parity 1 logic.
when we specify the parity, the operating system will automatically
assign a proper logic level to the parity bit.
when receiver detects a start pulse, it immediately puts in to operation
a sampler whose sampling points are shifted by half a bit to the right
of the start pulse. Thus it can sample the data bits, parity bits and stop
bits. Since the number of stop bits is pre-specified, it will put off the
sampler after reading the last stop pulse. The same process is repeated
for the next transmitted word.
Handshaking:
Handshaking describes the cooperation between devices which are
communicating or exchanging data. Each device must indicate its
status properly to the other. For example one device must tell the
other whether it is going to transmit data or is it receive data from the
other. Handshaking can be achieved by hardware connections but this
results in more lines running between the devices. The software
handshaking involves minimum number of lines, but it slows down
the transmission rate(bytes/second)

Hardware handshaking:
Request to send(RTS):
The device which intends to transmit, sends a logic 1 to the other
device by making the RTS line active.
Clear to send(CTS):
RTS of the transmitting unit is connected to the CTS line of the
receiving unit. The second unit goes to the receiving mode and sends
an acknowledgement to the CTS terminal of the transmitter. As soon
as the CTS terminal 0f transmitter receives an active level,
transmission of data begins.
Data terminal ready(DTR): The transmitting unit informs the
receiving unit that its power supply is on and it is ready for
communication.
Data set ready(DSR):
The receiving unit informs the transmitting unit that it is ready for
communication. The DTR and DSR signals form an information and
assertion set to ensure that both the devices are ready for
communication.
data carrier detect(DCD): This is to confirm the presence of the
transmitted carrier signal at the receiving end.
Signal ground(SG): SG is the signal ground
Frame ground(FG): FG is the frame ground
Transmitted data(TD): The data is transmitted via pin TD
Received Data((RD): The data is received at the pinRD
fig14.2 jan
Software handshaking:
The software is designed such that when transmission takes pace from
the first device, the second device remains in the receiving mode.
Conversely if the second device is in the transmitting mode, the first
device remains in the receiving mode. If these conditions are
guaranteed, no hardware shaking is necessary. The number of lines
between the two devices can just be three or four.
RTS and CTS terminals are connected together (looped back) at either
end. When the request to send signal of the transmitter is applied to the
acknowledgement terminal, viz. the clear to send terminal of the
transmitter, the transmission takes place immediately.
Also Data Terminal Ready signal can be connected permanently to
the acknowledge terminals like the Data Set Ready, and Data Carrier
Detect points. Thus, devices 1 and 2 are ready for transmission and
reception always. Collision between the two modes (simultaneous
transmission and reception ) must be avoided by the software.
Most of the robots can be connected to computers using the
minimum connection method,since the data transmission rate is fairly
low and there is sufficient time in between transmission and reception
for executing the software handshaking process.
D- connectors:
25 pin D- connectors are commonly provided at the robot end and 9
pin D- connectors at the PC end. The pin identification for both types
of connectors is given in fig in the next slide.


RS-232 communication:
Two RS-232 communication interfaces are provided in PC-AT
commuters. Any one of these can be used for the communication
with the robot. The serial port controller of a PC requires eight
consecutive I/O address to access the control and status registers.
For example COM1 occupies(3F8)H to (3FF)H and COM2, (2F8)H
to (2FF)H
COM1 initialization:
The interface COM1 can be initialized to the specified Baud rate
(110 t0 9600). Parity (null/odd/even), number of stop bits, and the
length of the byte(character field) to be transmitted(5, 6, 7, or 8).
These parameters are set by loading the appropriate control word
in to the Line Control Register (LCR) whose address is (3FB)H.
The details of LCR are shown in fig in next slide. the Bad Rate
divisor corresponding to the required baud rate is put in to port
addresses (3F8)H and (3F9)H. After the divisor has been loaded,
DLAB is returned to zero.
The baud rate, number of characters in the data byte and the nuber
of stop bits can also be directly loaded in to the Line Registers
(3F8)H and (3F9)H by using the DOS command MODE.
Syntax
MODE COM <m>:<baud>, <parity>, <databits>, <stop bits>
m=1 or 2 (port number)
baud=110,150,300,600,1200,2400,4800,9600
parity=N(none), 0 (odd), E(even)
data bits= 7,8
stop bits=1 or 2
The status information regarding the COM1 port can be read from
the Line Status Register(LSR) located at the port address (3FD)H.
Fig. next slide. By inspecting the various bits of this register we can
ascertain the following:
(0) The data has been completely received and is kept ready in the
receiver buffer register for reading purposes.
(1) There is an over-run error
(2) There is a parity error.
(3) There is a framing error.
(4) Break interrupt has occurred
(5) The transmission is complete, ie. the transmitter holding buffer
is empty and is ready to accept a new character for
transmission. figs on next slide.
(6) The transmitter shift register is empty
75
100
100
75
x
i

y
i

i

x
i-1

z
i-1

y
i-1

xi-1

225
156 19 50
=a
i-1

d
i
=87.5

S-ar putea să vă placă și