Solutions to the inverse kinematics of the three dof MCM and a five dof...
Transcript of Solutions to the inverse kinematics of the three dof MCM and a five dof...
CHAPTER 6
ANALYSIS: PSUEDO-RIGID BODY MODEL
Two analysis techniques have been developed. The first one is discussed here with
the other to follow in the next chapter. Solutions to the inverse kinematics of the three
dof MCM and a six dof hybrid serial-parallel version are developed and used to control
the two prototype manipulators. In Figure 6.1 a picture of the prototype is shown
depicting the arrangement of the SMA wires forming the compliant joints. The revolute
joint is made from two flexural pivots and is shown in Figure 6.1a. The spherical joint of
the manipulator is constructed from a single SMA wire (see Figure 6.1b).
6.1 Frame Assignments
The kinematics of the three dof manipulator proceeds from a kinematic diagram of
the pseudo-rigid-body model of the proposed manipulator (see Figure 6.2). Note that
only one of the three leg pairs are shown in this figure. By the pseudo-rigid body
Revolute
(a) (b)
Figure 6.1: (a) Revolute Joint, (b) Spherical Joint
technique, the manipulator is treated as a lumped compliance device, meaning the only
compliance in the system is in the joints. The manipulator consists of a base and distal
plate connected with three legs each formed of five-revolute chains. Each leg is attached
to the base plate through a rotary joint formed from two flexural pivots located an equal
distance from the center along the revolute axis (point b, Figure 6.2). Next, a single
flexural pivot at an intermediate point along the leg provides rotation about three
intersecting axes (point c, Figure 6.2) with the flexural center corresponding to the pivot
center. Finally, the leg connects to the distal plate through the last rotary joint, again
formed from two flexural pivots located along the revolute axis (point d, Figure 6.2).
Coordinate frames {B} and {D} are located at the centroids of the basal and distal plates
with the z-axis of each coordinate frame normal to its corresponding plate and with each
Figure 6.2: Frame Assignments for Leg i
corresponding x-axis pointing toward the first leg revolute (b or d). Frame {D} is the
output frame and is specified uniquely in the inverse kinematics problem through the
transformation matrix, . To ensure that {D} is consistent with the manipulator
kinematics, only the pointing direction of the distal normal and the displacement of the
origin of frame {D} along the pointing direction are freely chosen. The remaining three
degrees of freedom are found consistent with the manipulator mechanics. Denevit and
Hartenberg frame assignments are created for each leg, with six intermediate frames ({0}
– {5}) assigned for each as shown in Figure 6.2. Note that the frame assignments for
each leg are similar. In addition, the leg lengths for the lower and upper legs are selected
independently and include the distance to the flexural centers of the joints.
6.2 Transformation Derivations
Using the frame asignments shown in Figure 6.2, the corresponding set of D&H
parameters are generated as shown in Table 6.1. From the frame assignments, frame
transformations are derived that relate the output frame, {D} to the base frame, {B} for
each leg.
The intermediate transformation for each leg is given as
. (6.1)
The inverse kinematic solution for the three dof manipulator proceeds from the relation
(6.2)
where is the input joint angle for leg i and is the desired transformation from the
distal frame D to the base frame B. Let this transform be given as
. (6.3)
Then
Table 6.1: D&H Table
i ai I di i
1 0 /2 0 1
2 0 /2 l1 2
3 0 /2 0 3
4 0 /2 l2 4
5 0 0 0 5
(6.4)
or
(6.5)
with known, constant transformations that are functions of the base and distal
plate geometry. Then, the joint angles for leg i are solved as
(6.6)
(6.7)
(6.8)
with
and
(6.9)
(6.10)
where
In order to select a consistent output orientation for the MCM, the pointing direction,
specified as ztool and plunge or travel along this pointing direction, pd are given. The
pointing direction of the ouput distal plate results from a rotation, about an axis of
rotation, ubend, derived from the desired pointing direction as
(6.11)
. (6.12)
The location and orientation of frame {D} relative to {B} from Equation (6.3) becomes
(6.13)
with
for the symmetric configuration of the manipulator (see Figure 6.3). The manipulator is
symmetric when all of the leg lengths are equal and the size of both the base and distal
plates are the same. This transformation matrix operates on a vector defining the distal
plate in a known, undisplaced condition to generate a consistent set of positions and
orientions of the distal plate and once acquired, leads to solutions for the three input
angles in closed form.
For the non-symmetric (partially symmetric) configuration of the manipulator (see
Figure 6.4 and the prototype in Figure 6.5) an additional term (or set of terms) is present
in the transformation matrix and it becomes:
(6.14)
where {cx, cy, cz}T is the center of rotation of the distal plate, c in Figure 6.4. One
significant difference in the kinematics of the symmetric and non-symmetric case is
noted. In the symmetric case, the center of rotation of the distal plate is a known,
constant function of the desired plunge. In the unsymmetric case, the center of rotation is
Figure 6.3: Symmetric Configuration MCM Prototype
not constant and in general is not known. The center of rotation is found here through a
numerical optimization based on guaranteeing the manipulator constraints.
6.3 Experimental Prototype Setup
Since the most practical applications of the MCM stem from the partially symmetric
configuration, this prototpye (see Figure 6.5) is used to record the experimental data for
verification of the kinematics. Therefore, the manipulator shown in Figure 6.5 is fitted
with an array of transducers suitable for measuring the movement of the device. To fully
characterize the movement of the manipulator, both the output at the distal plate and the
input at the basae legs must be meaured. The manipulator is actuated by three linear
piezo-electric stacks (see Figure 6.5). These stacks lie horizontally in the base of the
manipulator and provide the angular input for the base legs (i in Figure 6.4).
The prototype output displacements are measured via three linear glass scales. The
scales are probing on the distal plate surface at a point nearest the line of action of the leg
revolute joints (see the picture in Figure 6.6). These measurements yield the vertical
Figure 6.4: MCM Side Schematic (Rotated for Clarity)
location of three points on the distal plate, p1, p2, and p3 (see Figure 6.7). The tip of the
encoders ride on balls such that they are free to slide along the surface of the distal plate.
Therefore, assuming no stiction between the distal plate surface and the probes, the
measurement probe remains in the same horizontal (x, y) location relative to the plane
from which the measurements are taken. Using the three points, p1, p2, and p3, an
equation for the plane of the distal plate is defined. This data provides enough
information to characterize the manipulator output. Since the manipulator possesses
three degrees-of-freedom, defining the plane of the distal plate is sufficient to
characterize the manipulator movement. Thus with the plane defined for the distal plate,
a set of parameters consistent with the manipulator kinematics developed earlier can be
extracted. These parameters are the rotation axis, ubend, the rotation about that axis, and
plunge for the manipulator, pd.
The first step if to form two vectors from the distal plate encoder measurements.
These two vectors are given as
(6.15)
where
.
Then the vector normal to the distal plate (positive sense is pointing upwards away from
distal plate) is found by
. (6.16)
Figure 6.5: Partially Symmetric MCM PrototypePZT Actuator
Figure 6.6: Encoders Mounted on the Distal Plate of MCM
Using this outward pointing normal, a set of parameters suitable for the inverse
kinematics of the manipulator can be derived. These are the spherical coordinates of the
manipulator output (see Figure 6.8). The two angles are defined as
(6.17)
. (6.18)
The three encoder values present enough data to calculate an equation for the plane of the
distal plate. From the standard from of an equation for a plane given as
, (6.19)
where the coefficients are given as
Figure 6.7: Distal Plate Transducer Measuring Point Locations
(6.20)
and p is a point on that plane (say p1 from the prototype setup). Now with the plane of
the distal plate known, the last parameter referred to as plunge, pd, may be calculated.
This plunge distance is given as the Distance from a point to the distal plate plane as
. (6.21)
where the point, c, is the rotation center of the distal plate and is given as
. (6.22)
The kinematics of the manipulator operate on a desired set of distal plate pose
parameters. Taking these values in it returns the base leg input angles. On the prototype
MCM the base leg angles are measured with the same type of linear encoders as the distal
Figure 6.8: Spherical Coordinate Diagram of Distal Plate Normal
plate ones. The scales are cantilevered from the legs for amplification of the movement
(see Figure 6.9). To relate these readings to a more useful leg angle a relationship is
established. This relation, or equation, is given below
. (6.23)
6.3 Experimental Results for Partially Symmetric Prototype
The procedure for testing of the prototype is as follows. The manipulator is moved
through a series of predetermined paths at various steps. At each step the three encoder
values at the distal plate and the three encoder values at from the legs are recorded. Two
types of moves were performed. One involved plunging the manipulator in a purely
vertical sense, essentially moving all three legs the same. The other movement type is a
Figure 6.9: Layout of Base Leg Encoders
Encoder
tilting move in which two legs were driven and the third was held stationary. A sample
subset of the data for both types of moves are shown in Tables 6.1 and 6.2 below.
Encoders 1, 2, and 3 are measuring the output at the distal plate and coincide with the
MCM legs 1, 2, and 3 respectively. Encoders 4, 5, and 6 are measuring the rotation of
the MCM base legs and correspond to legs 1, 2, and 3 respectively. The manipulator is
driven by a desktop pc communicating with three piezo motor drivers. The computer
commands the manipulator to move by servoing the distal plate to a desired orientation.
This orientation is set by choosing the three distal plate encoder values and having the pc
drive the manipulator such that the measured encoder values (at the distal plate) agree
with the desired encoder values. Hence the manipulator arrives at (or very near) the
desired location at which time all six encoder values are recorded to a file. This file is
then later read into the kinematics program for analysis.
Table 6.1: Plunge Move Sample Data (Measurements in m)Move Encoder1 Encoder2 Encoder3 Encoder4 Encoder5 Encoder6
1 20 20 20.04 26.64 25.56 25.622 30 30.02 29.98 38.96 38.34 38.143 40 40 40 52.06 51.08 52.54 49.98 50 50.02 65.7 63.72 63.95 60 60 59.96 78.24 76.36 78.526 70 70 70 91.3 89.1 90.567 80.02 80.02 80.02 104.84 101.68 104.588 90 90 89.98 116.94 114.54 116.929 99.98 99.98 99.98 130.54 127.06 131.18
Table 6.2: Tilting Move Sample Data (Measurements in m)Move Encoder 1 Encoder 2 Encoder 3 Encoder 4 Encoder 5 Encoder 6
1 20.02 20 50 20.2 19.54 76.762 30 30.02 50 34.08 34.1 73.683 40 40.02 50.02 49.14 48.62 70.684 50 50 50.02 64.14 63 67.45 60 60 50 78.56 77.7 63.526 69.98 70 49.98 92.6 92.14 59.97 80 80 50 107.76 106.56 56.78 90 90 50 122.52 121.26 53.769 99.98 100.02 50 136.76 135.72 50.58
The data ranges depicted in Tables 6.1 and 6.2 are just small sections of the actual
recorded data. The actual data range for the plunge move had the distal plate moving
from 20 m up to 340 m in 10 m increments. The manipulator was cycled through
this pattern twice in each data set to observe any hysteresis present in the system. The
travle is limited heredue to the physical limitations of the prototype (actually 0 m to 400
m). In the tilting move, the manipulator was driven such that one leg was held fixed
while the other two were driven equal amounts. The actual data for one set, say for
titling while holding leg 3 fixed, involved the distal plate encoders 1 and 2 to move from
20 m to 300 m while encoder 3 was held at 50 m. One important thing to note about
this tilting data is the results when encoders 1 and 2 were moved 270 m and 300m a
large deviation of encoder 3 was observed. This is due completely to the physical
constraints of the prototype. This pose was out of its range without allowing leg 3 to
move an excessive amount (up to approximately 5.5 m). Therefore, these data points
(270 m through 300 m) were not used in the kinematics comparisons. The complete
data set for all moves is shown in Appendix A, Tables A.1 and A.2.
To analyze the data collected from the experimental setup, the distal plate measured
encoder values were read directly into the program performing the kinematics. By
reading in the distal plate values, the program uses these values to calculate the expected
leg angle encoder measured values. Figure 6.10 shows a plot of the measured encoder
values at the legs verses the calculated encoder values at the legs. From the plot, it can be
seen that the kinematics match very well through the range of motion, deviating the most
at the extreme limits of the manipulator. For example, the measured encoder 4 (leg 1)
value at step 34 is 438.36 m while the kinematics yields an encoder 4 (leg 1) value of
420.41 m. From this observation, the kinematics are a very close approximation to the
movement of the prototype. This is not surprising due to the overall small movement of
the manipulator which leads to very small joint rotations.
However, when the results from a tilting move are compared to the kinematics, the
calculated values do not match as well in the beginning. The reason for this inaccuracy
lies in the assumption of the pdlower value. This parameter determines the center of
rotation about which the distal plate rotates. For simple plunge moves, this value does
not play a role in the calculated encoder values.
Figure 6.10: Plot of Measured Encoder Values vs. Expected Values from the Kinematics(for Plunge Move)
Calculated vs. Measured Leg Encoder Values(for tilting move)
-100
0
100
200
300
400
500
0 20 40 60 80 100 120
Step Number
Cal
cula
ted
& M
easu
red
Enco
der R
eadi
ng
Meas. Leg 1
Meas. Leg 2
Meas. Leg 3
Calc. Leg 1
Calc. Leg 2
Calc. Leg 3
0
10
20
30
40
50
60
70
80
90
0 2 4 6 8 10
Figure 6.?: Plot of Measured Encoder Values vs. Expected Values from the Kinematics(for Tilting Move)