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 Revolute (a) (b) Figure 6.1: (a) Revolute Joint, (b) Spherical Joint Figure 6.2: Frame Assignments for Leg i only one of the three leg pairs are shown in this figure. By the pseudo-rigid body 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 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, TBD . 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. 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 The intermediate transformation for each leg is given as c1 c 2 c 3 c 4 c 5 s 3 s 5 s1 s 3 c 4 c 5 c 3 s 5 c1 s 2 s 4 c 5 s c c c c s s c s c c c s s s s c 1 3 4 5 3 5 1 2 4 5 T05 1 2 3 4 5 3 5 s 2 c 3 c 4 c 5 s 3 s 5 c 2 s 4 c 5 0 c1 c 2 c 3 s 4 s1 s 3 s 4 c1 s 2 c 4 s1 c 2 c 3 s 4 c1 s 3 s 4 s1 s 2 c 4 s 2 c3 s 4 c 2 c 4 0 c1 c 2 c 3 c 4 s 5 s 3 c 5 s1 s 3 c 4 s 5 c 3 c 5 c1 s 2 s 4 s 5 s1 c 2 c 3 c 4 s 5 s 3 c 5 c1 s 3 c 4 s 5 c 3 c 5 s1 s 2 s 4 s 5 s 2 c 3 c 4 s 5 s 3 c 5 c 2 s 4 s 5 . 0 (6.1) c1 c 2 l 2 s 3 s1l 2 c 3 s1l1 s1 c 2 l 2 s 3 c1l 2 c 3 c1l1 s 2 s3l 2 1 The inverse kinematic solution for the three dof manipulator proceeds from the relation TBD f 11 , 21 , 31 (6.2) where i 1 is the input joint angle for leg i and TBD is the desired transformation from the distal frame D to the base frame B. Let this transform be given as r11 r D TB 21 r31 0 r12 r13 r22 r32 0 r23 r33 0 x y . z 1 (6.3) Then 1 T05 TB0 TBD T5D 1 (6.4) or r11 ' r12 ' r13 ' x' r ' r ' r ' y ' 22 23 T05 21 r31 ' r32 ' r33 ' z ' 0 0 1 0 (6.5) with TB0 , T5D known, constant transformations that are functions of the base and distal plate geometry. Then, the joint angles for leg i are solved as x' 2 y ' 2 z' 2 l12 l22 2 l l 1 2 3 acos i z x' 2 y ' 2 l22 c32 l12 2l1l2 c3 , l 2 s3 l22 s32 2 atan 2 i 1 atan 2 y ' , x' atan 2k 2 , k1 i (6.6) (6.7) (6.8) with k1 c 2 l 2 s3 k 2 l1 l 2 c3 and 4 atan 2r13 ' ' , r23 ' ' (6.9) 5 atan 2r31 ' ' , r32 ' ' (6.10) i i where r13 ' ' c1c2 s3 s1c3 r13 's1c2 s3 c1 s3 r23 ' s 2 c3 r33 ' r23 ' ' c1 s 2 r13 ' s1 s 2 r23 'c2 r33 ' r31 ' ' c1c2 s3 s1c3 r11 's1c2 s3 c1c3 r21 ' s 2 s3 r31 ' r32 ' ' c1c2 s3 s1c3 r12 's1c2 s3 c1c3 r22 ' s 2 s3 r32 ' 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 u bend z tool z B z tool z B cos 1 z tool z B . (6.11) (6.12) The location and orientation of frame {D} relative to {B} from Equation (6.3) becomes R D TB ubend , 0 0 R ubend , 0 p d 1 (6.13) with R ubend , k x k x vφ cφ k x k y vφ k z sφ k x k z vφ k y sφ k x k y vφ k z sφ k y k y vφ cφ k y k z vφ k x sφ k x k z vφ k y sφ k y k z vφ k x sφ k z k z vφ cφ k x k u , cφ cosφ, vφ 1 cφ bend y k z 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. Figure 6.3: Symmetric Configuration MCM Prototype 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: R TBD ubend , 0 0 c x R ubend , 0 c y p c d z 1 (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 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. Figure 6.4: MCM Side Schematic (Rotated for Clarity) 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 location of three points on the distal plate, p1, p2, and p3 (see Figure 6.7). The tip of the PZT Actuator Figure 6.5: Partially Symmetric MCM Prototype 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 Figure 6.6: Encoders Mounted on the Distal Plate of MCM v 1 p 2 p1 v 2 p 3 p1 (6.15) where pi , x p i pi , y . p i,z Then the vector normal to the distal plate (positive sense is pointing upwards away from distal plate) is found by N v 2 v1 . (6.16) Figure 6.7: Distal Plate Transducer Measuring Point Locations 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 atan 2N y , N x Nz . N a cos (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 Ax By Cz D 0 , where the coefficients are given as (6.19) Figure 6.8: Spherical Coordinate Diagram of Distal Plate Normal A Nx B Ny (6.20) C Nz D A p x B p y C p z 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 pd A cx B c y C cz D A2 B 2 C 2 . (6.21) where the point, c, is the rotation center of the distal plate and is given as 0 c 0 . p d ,lower (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 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 Ei l tan offset i . (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 Encoder Figure 6.9: Layout of Base Leg Encoders vertical sense, essentially moving all three legs the same. The other movement type is a 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 Table 6.1: Plunge Move Sample Data (Measurements in m) Move 1 2 3 4 5 6 7 8 9 Encoder1 20 30 40 49.98 60 70 80.02 90 99.98 Move 1 2 3 4 5 6 7 8 9 Encoder 1 20.02 30 40 50 60 69.98 80 90 99.98 Encoder2 20 30.02 40 50 60 70 80.02 90 99.98 Encoder3 20.04 29.98 40 50.02 59.96 70 80.02 89.98 99.98 Encoder4 26.64 38.96 52.06 65.7 78.24 91.3 104.84 116.94 130.54 Encoder5 25.56 38.34 51.08 63.72 76.36 89.1 101.68 114.54 127.06 Encoder6 25.62 38.14 52.5 63.9 78.52 90.56 104.58 116.92 131.18 Table 6.2: Tilting Move Sample Data (Measurements in m) Encoder 2 20 30.02 40.02 50 60 70 80 90 100.02 Encoder 3 50 50 50.02 50.02 50 49.98 50 50 50 Encoder 4 20.2 34.08 49.14 64.14 78.56 92.6 107.76 122.52 136.76 Encoder 5 19.54 34.1 48.62 63 77.7 92.14 106.56 121.26 135.72 Encoder 6 76.76 73.68 70.68 67.4 63.52 59.9 56.7 53.76 50.58 then later read into the kinematics program for analysis. 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) Measured vs. Calculated (for Plunge Move) Caculated & Measured Encoder Reading 500 450 400 350 ENC4 300 ENC5 ENC6 250 CALC4 200 CALC5 150 CALC6 100 50 0 0 20 40 60 80 100 120 140 Step Number Figure 6.10: Plot of Measured Encoder Values vs. Expected Values from the Kinematics (for Plunge Move) 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. 90 80 70 60 Calculated vs. Measured Leg Encoder Values (for tilting move) 50 40 30 Calculated & Measured Encoder Reading 500 20 10 400 0 0 2 4 6 8 10 Meas. Leg 1 300 Meas. Leg 2 Meas. Leg 3 200 Calc. Leg 1 Calc. Leg 2 100 Calc. Leg 3 0 0 20 40 60 80 100 120 -100 Step Number Figure 6.?: Plot of Measured Encoder Values vs. Expected Values from the Kinematics (for Tilting Move)