0% found this document useful (0 votes)
43 views6 pages

Robotics1 12.07.05

This document describes a 6 degree-of-freedom portal robot used for riveting aircraft parts. The robot has two independently actuated sections - an upper section that positions the aircraft part, and a lower section that positions the riveting tool. The robot orients the aircraft part using two prismatic joints in the upper section so that the surface normal at the riveting point is aligned with gravity. It then uses three prismatic joints in the lower section to position the riveting tool at the desired point on the surface. The document provides the inverse kinematics to solve for the joint angles required to perform a given riveting task specified by the surface normal and riveting point location.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views6 pages

Robotics1 12.07.05

This document describes a 6 degree-of-freedom portal robot used for riveting aircraft parts. The robot has two independently actuated sections - an upper section that positions the aircraft part, and a lower section that positions the riveting tool. The robot orients the aircraft part using two prismatic joints in the upper section so that the surface normal at the riveting point is aligned with gravity. It then uses three prismatic joints in the lower section to position the riveting tool at the desired point on the surface. The document provides the inverse kinematics to solve for the joint angles required to perform a given riveting task specified by the surface normal and riveting point location.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Robotics I

July 5, 2012

Huge portal robots are used in the aeronautical industry for working on large parts of aircraft
bodies. One such robot, having six actuated joints, is shown in Fig. 1. This robot is used for
automatic riveting of the plates that constitutes the body of an aircraft.

Z!0!
d!
S2!
S1!
d! q3!
H! H!
q2!
q!1! q4! q5! q6!
X!0!

D!
= passive prismatic joint = actuated prismatic joint
= passive revolute joint = actuated revolute joint

Figure 1: The 6-dof portal robot used for riveting aircraft parts (see the text for definitions and
operation)

The portal robot is constituted by two sets of independently actuated axes, the upper section
with joints 1 to 3 and the lower section with joints 4 to 6. The upper section carries the part
to be worked, while the lower section has the riveting tool on its end effector. In the upper
section, two vertical bars of height H are placed at a distance D. Along the two vertical bars,
two actuated prismatic joints (with variables q1 ∈ [0, H] and q2 ∈ [0, H]) are used to change the
orientation in the vertical plane of a connecting bar (of variable length), which has two supports
S1 and S2 where the aircraft part will be placed and fixed. The structure contains three passive
joints (shown in different colors in Fig. 1), two revolute and one prismatic, that move accordingly
to the the actuated prismatic joints. The passive revolute joints, placed at a distance d << D
from the vertical bars, transform the linear motions (when different) of q1 and q2 in a tilt of the
connecting bar (say, by an angle α with respect to the horizontal). The passive prismatic joint
accommodates itself so that the connecting bar changes length consistently with the values of q1
and q2 . Furthermore, the connecting bar can be rotated along its main axis through an actuated
revolute joint (with variable β = q3 ). The lower section of the portal robot carries the riveting
tool, which can be moved by three actuated prismatic joints with orthogonal axes, horizontally
with q4 ∈ [0, D] and q5 (unconstrained in sign), and vertically with q6 ∈ [0, H]. The riveting tool
can operate only along the vertical direction.

Consider now a part of an aircraft body, as shown in Fig. 2. Typically, this is a metallic plate
with spatially changing curvature. Each plate is designed at the computer and manufactured with
numerically-controlled machines (i.e., through a CAD/CAM system). For this, a reference frame
(xb , y b , z b ) is attached to the plate for defining its geometry. In order to join two plates together
and/or each plate to a stiff supporting structure, a large number of rivets have to be placed in

1
small holes previously drilled on the plate surface (the total number of rivets can go up to three
millions for a whole airplane in the Airbus 300 class). The position of a riveting point is specified
by vector p and, at this point, the (external) normal to the surface is specified by the unit vector n.
Both these vectors are expressed in the frame attached to the plate. In order to be successful, the
riveting task should be performed as accurately as possible along the normal to the plate surface.

n!
Zb!
Xb! p!
Yb!

Figure 2: An aircraft plate (left) and its associated reference frame (right): The position vector p
locates a riveting point, where the normal to the surface is given by the unit vector n

Figure 3 shows the plate mounted on the portal robot (in particular, fixed to the supports S1
and S2 of the connecting bar in the upper section of the robot). The correct mounting is done so
that the origin of frame (xb , y b , z b ) coincides with the passive revolute joint on the left, and the
xb axis is aligned with the connecting bar (i.e., along the axis of the passive prismatic joint). In
correspondence to q3 = 0, the z b axis is in the vertical plane.

Z!0!

Zb!
n!

Xb!
X!0!

Figure 3: The aircraft plate correctly mounted on the two supports of the connecting bar of the
upper section of the portal robot

With the above description in mind, a single riveting task with the portal robot is executed as
follows. The upper section of the robot should move the part so that the normal n to the surface at
the riveting point is oriented along the upward vertical direction. Then, the end effector carrying
the riveting tool on the lower section of the robot is moved so as to position itself at the riveting
point.

1. Given the normal b n to the surface plate at the riveting point, find the inverse kinematic
solution for the two pointing angles (α, β) in closed symbolic form. Note that two solutions
can be found in general, but one may not be feasible because of the limits on the robot joint
motions.

2
2. Each obtained pair (α, β) needs to be realized by suitable q u = (q1 , q2 , q3 ) of the upper
section of the portal robot. Since this is an underdetermined problem, an infinite number of
solutions exists. Choose a solution to this redundant problem, determining a single value of
q u that allows the pointing task to be realized in the most convenient way.
3. Consider, in addition to b n, a given position b p of the riveting point. With the solution found
for the pointing subtask, determine the explicit (unique) expression of q l = (q4 , q5 , q6 ) that
will position the end-effector riveting tool at the desired point of the plate.
4. Provide a feasible numerical solution q = (q u , q l ) = (q1 , q2 , q3 , q4 , q5 , q6 ), using the robot
data
D = 10 [m], H = 5 [m], d = 0.75 [m],
for a riveting task specified by
   
5.5 0.5
b b
p =  −0.3  [m], n =  0.8138  .
−0.2 −0.2962

[Hint]: There is no need of assigning D-H frames/parameters. Work instead with suitable frames.

[240 minutes; open books]

3
Solution
July 5, 2012

The first part of the problem is a pointing task in which the joint variables q u = (q1 , q2 , q3 ) are
used to bring the unit normal vector n to the surface aligned with z 0 . When expressed in the base
frame (x0 , y 0 , z 0 ), this alignment is represented by
 
0
0
n = 0 Rb b n =  0  = 0 z 0 ,

(1)
1

where the rotation matrix 0 Rb depends on q u = (q1 , q2 , q3 ). To describe this pointing task, it is
convenient to introduce the pair of angles (α, β) as
  
q1 − q2 π π
α = arctan ∈ − , , β = q3 . (2)
D − 2d 2 2
Note that the domain of definition for α is actually contained in the indicated one, but these limits
show that we can use directly the arctangent function and not the ATAN2. In particular, due to
the limits of joints 1 and 2, we have that
 
H
max |α| = arctan > 0. (3)
D − 2d

To determine 0 Rb , we can use an intermediate frame (xd , y d , z d ), with origin coincident with
that of (xb , y b , z b ) and rotated by α around the y 0 axis. Therefore,
    
cos α 0 sin α 1 0 0 cα sα sβ sα cβ
0
Rb = 0 Rd (α)d Rb (β) =  0 1 0   0 cos β − sin β  =  0 cβ −sβ  ,
− sin α 0 cos α 0 sin β cos β −sα cα sβ cα cβ
where a compact notation has been used in the last expression. The n axis can be taken as one
(actually, any) of the coordinate axes of a frame (xn , y n , z n ) attached to the riveting point. We
T
choose for instance the xn = n axis (i.e., n n = 1 0 0 ), so that
 
  nx
b b
Rn = b n b s b a , n =  ny  .
nz

Our pointing task equation (1), i.e., the direct kinematics of the task, is then
     
1 nx cα + ny sα sβ + nz sα cβ 0
0
Rd (α)d Rb (β)b Rn  0  =  ny cβ − nz sβ  =  0 . (4)
0 −nx sα + ny cα sβ + nz cα cβ 1

Squaring and adding the first and third equations in (4) gives
2
n2x + n2y s2β + n2z c2β + 2ny nz sβ cβ = n2x + (ny sβ + nz cβ ) = 1

or p
ny sβ + nz cβ = ± 1 − n2x . (5)

4
From eq. (5) and the second equation in (4), we obtain a linear system in the sβ and cβ unknowns:
    p 
ny nz sβ ± 1 − n2x
= . (6)
−nz ny cβ 0

This system can be solved uniquely, provided that the determinant of the coefficient matrix is not
zero. Singularity occurs if and only if

n2y + n2z = 0 ⇐⇒ ny = nz = 0, nx = ±1.

It is easy to see from eq. (4) that this happens for α = −π/2 (if nx = 1) or for α = π/2 (if
nx = −1), with β being undefined in both cases. However, this situation is unfeasible (and never
encountered in practice) for the upper section of the portal robot. For n2y + n2z 6= 0, solving (6)
yields
± ny p ± nz p
sβ = 2 2
1 − n2x cβ = 2 1 − n2x (7)
ny + nz ny + n2z
and thus (eliminating common positive terms)

β = ATAN2 {±ny , ±nz }, (8)

which are the two possible solutions (depending on the upper or lower signs chosen in the arguments
of ATAN2). Replacing (5) in the first and third equations of (4), we can eliminate the appearance
of β and obtain a linear system in the sα and cα unknowns
 p    
± 1 − n2x pnx sα 0
= , (9)
−nx ± 1 − n2x cα 1

with nonsingular coefficient matrix (its determinant is 1). Its solution is


p
sα = −nx , cα = ± 1 − n2x (10)

and thus n p o
α = ATAN2 −nx , ± 1 − n2x , (11)

with the upper or lower sign chosen in correspondence to the two solutions for β. As a result, two
pairs of solutions (α, β) have been found. The value of α in these pairs should be checked against
the feasible limit (3): if this is exceeded, the associated solution pair should be discarded.

For each (α, β) pair, we associate now a suitable unique value of q u = (q1 , q2 , q3 ) by resolving
the intrinsic redundancy in the following convenient way. Consider a value h > 0 for the average
of the two prismatic joints q1 and q2 , i.e.,
q1 + q2
= h.
2
Putting this together with the definition (2) of α yields the nonsingular (the determinant is 1)
linear system     
1 −1 q1 (D − 2d) tan α
= ,
0.5 0.5 q2 h
with the unique solution
(D − 2d) tan α (D − 2d) tan α
q1 = h + , q2 = h − . (12)
2 2

5
It is immediate to see that the value h = H/2 guarantees the best use of the available joint ranges
[0, H] for q1 and q2 . Finally, for the third joint variable we set simply

q3 = β. (13)

As a result, two inverse kinematic solutions for the complete vector q u = (q1 , q2 , q3 ).

Consider now the problem of positioning the riveting tool on the lower section of the robot at
T
the given position b p = px py pz , a vector starting from the origin of the frame (xb , y b , z b )
(see Fig. 2) and expressed in this frame. Given one of the pairs (α, β) found in the previous pointing
subtask, we compute the following positional direct kinematics
 
d
0
p =  0  + 0 Rd (α)d Rb (β)b p. (14)
q1

Since the lower section of the portal robot is a Cartesian structure, the (unique) inverse kinematics
solution is given simply by
   
q4 d + px cα + sα (py sβ + pz cβ )
q l =  q5  = 0 p =  py cβ − pz sβ . (15)
q6 q1 − px sα + cα (py sβ + pz cβ )

We evaluate the formulas on the provided numerical data. From eq. (11) we obtain the two
values
α1 = −0.5236 [rad] = −30◦ , α2 = −2.6180 [rad] = −150◦ ,
while from eq. (8) we have

β1 = 1.9199 [rad] = 110◦ , β2 = −1.2217 [rad] = −70◦ .

From eq. (3), the maximum absolute value of α is 0.5317 [rad]= 30.4655◦ . Therefore, the solution
pair (α2 , β2 ) is unfeasible and should be discarded. From the pair (α1 , β1 ), using eq. (12) with
h = H/2 = 2.5 and eq. (13), we find

q1 = 0.0463 [m], q2 = 4.9537 [m], q3 = 1.9199 [rad].

Finally, from eq. (15) we obtain

q4 = 5.6199 [m], q5 = 0.2905 [m], q6 = 2.6114 [m].

All joint variables are in their admissible range. A Matlab code is available for this numerical
evaluation.

∗∗∗∗∗

You might also like