Download as pdf or txt
Download as pdf or txt
You are on page 1of 16

ES4A10

THE UNIVERSITY OF WARWICK

Fourth Year Examinations : Summer 2019

ADVANCED ROBOTICS

Candidates should answer ALL FOUR QUESTIONS.

Time Allowed : 2 hours.

Only calculators that conform to the list of models approved by the School of Engineering may
be used in this examination. The Engineering Databook and standard graph paper will be
provided.

Read carefully the instructions on the answer book and make sure that the particulars required are
entered on each answer book.

PAGES 7 AND 8 MAY BE DETACHED AND INCLUDED WITH YOUR ANSWER BOOK.

PAGES 9 TO 15 IS A KINEMATIC DATASHEET.


ES4A10

A liquid mixing system is controlled by a PLC programmed in Ladder Logic. See figures Qu1a
on page 2. The order of operation is as follows:

 I0 = ON when the start button (START) is pressed. The Liquid A Inlet, Q0, will be ON
and latched, and the valve will be opened for liquid A to enter the mixing tank until the
level reaches the low-level float sensor, I1. I1 = ON when the liquid level reaches I1.
Q0 will then be turned off.

 Then liquid B Inlet, Q1, will be ON and latched, and the valve will be opened for liquid
B to enter the mixing tank until the level reaches the high-level float sensor I2. I2 = ON
when the level reaches the high-level float sensor. Q1 will then be turned off.

 Then the agitator motor, Q3, will then be switched ON and activates the agitator. Also,
timer T0 will start to count for 60 sec. After 60 sec, T0 will be ON, and the agitator
motor Q3 will stop working.

 Then the mixture Outlet Q2 will be switched ON and latched, and the mixture will drain
out of the container. When Q2 = ON, timer T1 will start to count for 120 sec. After 120
sec, T1 will be ON and Q2 will be OFF. The draining process will be stopped.

 At an point in the operation when an error occurs, the operator presses the STOP button
I10. I10 = ON all the outputs are disabled. The system will stop running.

The inputs, outputs and timers are summarised in Table Qu1a on page 2. Figure Qu1 on page 2
show the liquid mixing system.

(i) State three alternatives to using Ladder Logic to programme the PLC. (6 marks)

(ii) The PLC is programmed using IEC 61131 standard ladder logic. To programme the PLC
using ladder logic one of 3 timers must be selected for the 60 second delay and the 120
second delay. Using the information given in figures Qu1b and Qu1c on pages 2 and 3,
select the appropriate timers and explain in words how it would work in the ladder logic.
(3 marks)

(iii) Using the inputs and outputs listed in Table Qu1, develop a ladder logic code/diagram for
the PLC to control the liquid mixing system. Assume that any output can also be used as
an input signal. (16 marks)

(TOTAL: 25 marks)

Question 1 Continued ….
1
ES4A10

Question 1 continued

Table Qu1

PLC Inputs: Description:


I0 Start Switch
I1 Low level float sensor: I1 = ON when the liquid level reaches I1.
I2 High level float sensor: I2 = ON when the liquid level reaches I2.
I10 Stop Switch
PLC Outputs: Description:
Q0 Liquid A Inlet
Q1 Liquid B Inlet
Q2 Mixture Outlet
Q3 Agitator (Stirrer) motor
PLC Timers: Description:
T0 60 second Timer
T1 120 second Timer

Q0 Q1
Q3

Q0 (Liquid A Inlet) Q1 (Liquid B Inlet)


I2
High sensor

I1 START I0
Low sensor

Q2 (Mixture Outlet)
STOP I10

Figure Qu1a. Liquid mixing system controlled by a PLC.

Question 1 Continued ….
2
ES4A10

Question 1 continued

Figure Qu1b IEC 61131-1 standards for timers TON, TOF and TP: IN is the Boolean input.
Q is the Boolean output. ET is the elapsed time output.
PT is the input used to specify the time delay or pulse duration required.
(Note that BOOL indicates a Boolean input or output requirement)

Figure Qu1c Timers: (a) On-delay timer TON, (b) Off-delay timer TOF, (c) pulse timer TP

_______________________________________________________________________________

Continued ….
3
ES4A10

The University of Warwick security team ask you to design a mobile surveillance robot to
monitor the residential areas of campus for noisy anti-social behaviour taking place at night.
The robot will only operate outside in the residential areas and will not cross public roads. It is
deemed that the robot should not be too expensive but it will need to move around quietly so as
to not disturb residents. If it detects any noisy anti-social behaviour it will automatically contact
the campus security office with a time, location and video footage of the scene.

(i) Describe what the best locomotion method for this application will be and why. (Assume
here that the whole of campus has wheelchair friendly access, so ramps and drop curbs
are available.) (6 marks)

(ii) How will the robot localise itself on campus and navigate about campus? Suggest the best
technique. (6 marks)

(iii) There is a good possibility that the robot will encounter obstacles such as pedestrians,
traffic cones, wildlife etc. Explain how it can use perception (i.e. what sensors and what
sensing techniques) to avoid hitting anything or anyone by accident. (6 marks)

(iv) Based on your answers to parts 2(i) to (iii), explain the overall design of the robot. In
particular: it’s approximate size and shape; and the location of all its sensors and video
camera. (7 marks)

(TOTAL: 25 marks)

_______________________________________________________________________________

Continued ….
4
ES4A10

Consider a planar robot with 2 revolute joints under the action of two Cartesian forces as shown
in Figure Qu3. For each link, numbered i, (with length Li), the force is applied at point of
distance bi from the axis of the previous joint (i=1, 2). The force vector F1 (with modulus | |)
is always normal to the first link, with the orientation shown in Figure Qu3. On the second link,
the force vector F2 (with modulus | |) is instead always directed vertically upwards , parallel
to the Y0 axis.

(i) Using differential kinematics and the Principle of Virtual Work, determine the general
expression of the joint torque vector T to maintain the robot in static equilibrium in the
given configuration. (Remember that torques are positive in counter clockwise direction).
(21 marks)

(ii) Calculate the numerical value of T for the following values:

L1=0.6 m L2=0.5 m b1=0.3 m b2=0.2 m, θ1 = π/4 rad θ2 = π/2 rad


| | = 10 N, | | = 5 N

according to the standard Denavit-Hartenberg convention for the joint angles. (4 marks)

(TOTAL: 25 marks)

Figure Qu3 The 2 revolute joint planar robot arm

_______________________________________________________________________________

Continued ….
5
ES4A10

The Universal Robot UR5 is a 6 d.o.f. robot arm, shown in Figures Qu4a and Qu4b. on pages
6 and 8 respectively, has 6 rotary joints. Base frame and End-effector (End) frames are indicated
in Figure Qu4b and the arrows indicate the positive rotational directions of each joint.

i) Assign the coordinate frames based on the Denavit-Hartenberg (D-H) representation. You
can detach page 8 and use Figure Qu4b in your answer. (Please ensure the page is firmly
attached to your answer book with a treasury tag and labelled with your ID
number.) (13 marks)

ii) Fill out the D-H parameters table, as shown in Table Qu4 on page 7, and explain any
assumptions you may have had to make. You can detach page 7 and use Table Qu4 in
your answer. (Please ensure the page is firmly attached to your answer book with a
treasury tag and labelled with your ID number.) (12 marks)

(TOTAL: 25 marks)

Figure Qu 4a. Universal Robot UR5. Left: in home position. Right: in random positions.

Question 4 Continued ….
6
ES4A10

Question 4 continued

Joint # θ d a α

Table Qu 4. Empty D-H parameters table for Question 4

Question 4 Continued ….
7
ES4A10

Question 4 continued

z6

y6

z0

x0

Figure Qu4b. Universal Robot UR5.


_______________________________________________________________________________

END

Datasheet continued ….
8
ES4A10

KINEMATICS DATA SHEET FOR ADVANCED ROBOTICS EXAM


nx ox ax Px  n x ny  P  n
nz
n oy ay Py  o o y o z  P  o 
Homogeneous Transformation matrix T   y T 1
 x
nz oz az Pz  a x a y az  P  a
   
0 0 0 1 0 0 0 1 
C  S 0 rC 
 S C 0 rS 
Cylindrical robot: R T P  Tcyl r ,  , l   Trans 0 , 0 , l  Rot  z ,   Trans r , 0 , 0    
 0 0 1 l 
 
 0 0 0 1 
C C  S S C  rS C 
 rS S 
Spherical Robot: TP  Tsph r ,  ,    Rot  z ,   Rot  y ,   Trans 0,0, r   C S
R C S S 

  S 0 C rC  
 
 0 0 0 1 
CCC  SS  CCS  SC CS 0
SCC  CS  SCS  CC SS 0
Euler , ,   Rota,  Roto, Rota,   
  SC SS C 0
 
 0 0 0 1

Or use:
RPY a , o , n   Rot a ,  a  Rot o, o  Rot n, n 
Ca Co C  a So S n  S a C  n C  a S o C  n  S a S n 0
 S C  S  a S o S n  C  a C  n S  a S o C  n  C  a S n 0
 a o
  So C  o S n C o C  n 0
 
 0 0 0 1
Or use:

  1
Q1  C    nx  o y  az  1
2 2
  1  2(Q12  Q 22 )  1 2(Q 2 Q 3  Q1 Q 4 ) 2(Q 2 Q 4  Q1 Q 3 ) 0
Quaternions Q2  u x S    n x  o y  a z  1 sign o z  a y   
2 2 2(Q 2 Q 3  Q1 Q 4 ) 2(Q12  Q 32 )  1 2(Q 3 Q 4  Q1 Q 2 ) 0
rot (u, θ) 
  1 2(Q 2 Q 4  Q1 Q 3 ) 2(Q 3 Q 4  Q1 Q 2 ) 2(Q12  Q 24 )  1 0
= Q3  u y S     n x  o y  a z  1 sign a x  n z   
2 2
 0 0 0 1
  1
Q4  u z S     n x  o y  a z  1 sign n y  o x 
2 2

Datasheet continued ….
9
ES4A10

Kinematics Datasheet continued:


1 0 0   C 0 S  C S 0
Rot  x,   0 C S  Rot  y,    0 1 0  Rot  z,    S C 0
   
0 S C   S 0 C   0 0 1

Denavit-Hartenberg Representation:

Xn axis will be along an (shortest distance between Zn-1 & Zn), except: if parallel Z axes –Xn axis “on
same line as” or collinear to Xn-1; or intersecting Z axes –Xn axis perpendicular to the plane formed
by Zn-1 & Zn (dirn ± Zn-1x Zn). X0 axis parallel to base frame X axis.

D-H parameters table:


θn - rotation angle from Xn-1 to Xn about Zn-1 (normally joint rotation angle but sometimes an
expression with θn or constant, typically 0, if no rotation).
dn - distance from origin of (n-1)th coordinate to intersection of Zn-1 & Xn along Zn-1
an - distance from intersection of Zn-1 & Xn to origin of nth coordinate frame along Xn
αn - rotation angle from Zn-1 to Zn about Xn

C n  S nC n S n S n a n C n 
 S C n C  n  C n S n an S n 
An   n
 0 S n C n dn 
 
 0 0 0 1 

For a 6 d.o.f. simple revolute robot:

R
TH =
C1  C234C5C6  S234 S6   S1S5C6 C1  C234C5 S6  S234C6   S1S5 S6 C1  C234 S5   S1C5 C1  C234 a4  C23a3  C2 a2  
 
S  C C C  S234 S6   C1S5 S6 S1  C234C5 S6  S234C6   C1S5 S6 S1  C234 S5   C1C5 S1  C234 a4  C23a3  C2 a2  
  1 234 5 6
 S234C5C6  C234 S6  S 234C5 S6  C234C6 S234 S5 S234 a4  S23a3  S2 a2 
 
 0 0 0 1 
To find the joint angles use the following in the order shown:

1  p x S1  p y C1
 234  S 234 C1a x  S1a y   C 234 a z
 3  2 a2 a3C3   p xC1  p y S1  C234 a4 2   p z  S 234 a4 2  a22  a32
 2  S 2 C3 a3  a2 2  S 32 a32   C3 a3  a2  p z  S 234 a4   S3 a3  p x C1  p y S1  C234 a4 
 5  C5  C1a y  S1a x
 6  S 6   S 234 C1nx  S1n y   C 234 nz

Datasheet continued ….
10
ES4A10

Kinematics Datasheet continued:

Jacobian & Differential Motions


dx 
dy   z y
   0 dx 
 dz   z 0  x dy 
Differential motions, D  JD    Differential Operator   
x   y x 0 dz 
y   
 0 0 0 0
 
z 
 
Tnew  Toriginal  dT , where dT    T   T  T  , where TΔ is relative to the current frame T.
 0
T
 T z y
T T
dx 

T
x    n T

dx  n    p   d 
z  x
dy  o    p   d 
T T
0 dy 
 T y    o
T T T
where:
  y x dz 
dz  a    p   d 
T T
0
 
T
z    a T

 0 0 0 0 

Jacobian relative to last frame (T6)  J  of a 6 d.o.f simple revolute robot.


T6

 T6 d x   T6 J11 T6
J12 T6
J13 T6
J14 T6
J15 T6
J16   d1 
 T6   T6  
 d y   J 21
T6
J 22 T6
J 23 T6
J 24 T6
J 25 T6
J 26  d 2 
 T6 d z   T6 J 31 T6
J 32 T6
J 33 T6
J 34 T6
J 35 T6
J 36   d 3 
 T6    T6  
  x   J 41
T6
J 42 T6
J 43 T6
J 44 T6
J 45 T6
J 46  d 4 
 T6   T6 J T6
J 52 T6
J 53 T6
J 54 T6
J 55 T6
J 56   d 5 
 T y   T 51  
 6 z   6 J 61
T6
J 62 T6
J 63 T6
J 64 T6
J 65 T6
J 66  d 6 
For a revolute (rotating) joint use:
T6
J1i    nx Py  n y Px  , T6
J 2i   ox Py  o y Px  T6
J 3i    ax Py  a y Px  ,
T6
J 4 i  nz T6
J 5 i  oz T6
J 6i  az
T6
J 1i  n z , T6
J 2i  oz , T6
J 3i  a z ,
For a prismatic (sliding) joint use: T6
J 4 i  0, T6
J 5 i  0, T6
J 6 i  0.
For column 1 use: T6 = A1A2A3A4A5A6; for 2 use T6 , for 3 use T6 , for 4 use 3T6 , for 5 use 4T6, for
0 1 2

6 use 5T6 = A6.

Datasheet continued ….
11
ES4A10

Kinematics Datasheet continued:


To find the angular velocities for a 6 d.o.f. revolute robot, for each joint use:

Datasheet continued ….
12
ES4A10

Kinematics Datasheet continued:


Robot’s Equations of Motion

Torque Actuator inertia term


joint i

Angular acceleration-inertia terms


Gravity term

Coriolis & centrifugal terms

U ij
   0Ti 
U ijk    
qk qk  q 
 j 
For a 6 d.o.f. revolute robot, the equations of motion are:

Datasheet continued ….
13
ES4A10

Kinematics Datasheet continued:

Datasheet continued ….
14
ES4A10

Kinematics Datasheet continued:


Static Force Analysis of Robots
“H” refers to hand or last frame (T6) of a 6 d.o.f robot: T    J  F
H T H

  
where T   T1 T2 T3 T4 T5 T6 T and H F  H f x H
fy H
fz H
mx H
my H
mzx 
T

Relative to coordinate frame B, forces and moments are:

Trajectory Planning
Linear Segments with Parabolic Blends:
Blending time: Initial section: Linear section: Final section:

⎧ ( )= + ( )= + (2 − ) ⎧
( )= − −
i   f ⎪ ⎪
tb  tf ̇( ) = → ̇( ) = → ̇( ) = −
 ⎨ ⎨
⎪ ̈( ) = ̈( ) = 0 ⎪ ̈( ) = −
⎩ ⎩
4-3-4 trajectory matrix:

_________________________________________________________________________________________

END OF DATASHEET

15

You might also like