Peter I. Corke - Pumaservo - The Unimation Puma servo system.rar (779752), страница 8
Текст из файла (страница 8)
A block diagram of the velocity loop is shown in Figure 3.11, and includesthe motor and current loop blocks already discussed. The gains Kgain and Kvel are set bytrimpots R31 (GAIN) and R29 (VELOCITY) respectively on each analog servo board. TheUnimation Puma does not use a tachometer to measure motor velocity. Instead a velocity signalis synthesized from the motor's incremental encoder pulses using a simple frequency to voltageconverter, since the pulse frequency is proportional to shaft velocity. The gain of the digitaltachometer has been experimentally determined to beKtach = Vm = 34 10 3 Vs=radmm36(3.24)++Sum11Currentdemand6.0.2InputgainShunt-1e5f(u)CoulombIm1+SumsI.loop Amplifiercompensator voltagelimit0.00283s+4.5Elec2Im.22TorqconstTau1+300e-6s+.0016+MechSum2Ebw11/sIntegrator Pos3Vel.22Ebconst2TorquedisturbModel of Puma joint 1Figure 3.9: SIMULINK model MOTOR: joint 1 motor and current loop dynamics.2ImJoint 6 using friction data from pcc 27/6/93Im1Currentdemand.4499IloopRm+Sum3Amplifiervoltagelimit++Sum-1/9.0534Torqconst1/Rm+ Tau+Sum2Ebw11/sIntegrator Pos1/(Js+B)Coulomb13Vel.0534Ebconst2TorquedisturbFigure 3.10: SIMULINK model LMOTOR: reduced order model of joint 6 motor and currentloop dynamics.VΩ+K gaind+VIcKiImKmτmΩm1sθmrotordynamicspoweramplifierK vel1Js + BVΩmK tachelectronictachometerFigure 3.11: Velocity loop block diagram.with some increase in gain at frequencies below 2Hz.
From Figure 3.11 the closed loop transferfunction for the motor, current and velocity loop ism =Kgain Ki Km(3.25)Vd Js + B + KKKKKimgainveltach|{z}B0It is desirable that B 0 B in order that the closed-loop dynamics are insensitive to plantparameter variation, but in practice this is not the case. The adjustable gains Kgain and Kvelprovide interacting control of the DC gain and closed-loop pole location. The measured transferfunction between motor velocity and velocity demand for joint 6 is given in Figure 3.12 and thetted model ism11:9(3.26)Vd = (148:6) radm=s=V373025ModelMag (dB)20151050-5 -110011021010Freq (Hz)Figure 3.12: Measured joint 6 velocity loop transfer function, m=Vm , with tted modelresponse. Phase data is not shown but is indicative of a sign reversal.1Vd++VelocityErrorerror saturationVelocity demand(volts)-6.1Feedbackgain6MuxKgain(R30)MuxlmotorDemuxMotor.28DeMux1thetaMotor angleradm-K-Kvel'(R29)tachoUnimate velocity loop2Tau_dDisturbance torqueinput (Nm@motor)2velMotor velradm/sFigure 3.13: SIMULINK model VLOOP: motor velocity loop.Observe that the mechanical pole of the motor at 5Hz has been `pushed out' to nearly 25Hz bythe action of the velocity loop.
Substituting known numeric values4 into (3.25) results in thetransfer functionm = 12:8 radm=s=V(3.27)Vd (137)and compares well with the measured result (3.26). Again, this transfer function represents thesmall-signal response of the system.The large signal gain for each axis has also been determined experimentally by providinga step demand to the velocity loop and measuring the resultant slope of the joint positionversus time curve. These results, summarized in Table 3.8, are highly dependent on the waythe particular analog velocity loop has been `tuned', as given by (3.25).
It can be seen thatjoint 2 has a signicantly higher velocity gain than the others, probably to compensate for itsmuch higher gear reduction ratio.A SIMULINK model of the velocity loop is shown in Figure 3.13. This model makes use ofthe motor and current loop model LMOTOR developed earlier.4The gains Kgain = 2:26, and Kvel = 1:75 were determined by measuring the transfer function between0 where Kvel0 = 0:288 is the gain of theadjacent points in the circuitry with an FFT analyzer.
Kvel = 6:06Kveltrimpot R29.38Digital servo boardedAnalog servo boardPositionloopDACV DACS2Lead/lag+velocityloopS1S2VIVICounteremΩ̂ mdCur.loopMPowerampImRSmDigitaltachoEncoderFigure 3.14: Unimation servo position control mode. The switch S2 routes the output of theDAC to the lead compensator and velocity loop.10ed+V D AC10T se rvo2048-interpolatoremD/AZOHVΩ1.3 ( 37.3 )( 373 )LeadcompensatordVelocityloopθm313 ( 31.3 )( 1)K encFigure 3.15: Block diagram of Unimation position control loop.3.6 Position loopThe position loop is implemented on a digital servo board | one per axis.
This board utilizes a6503, 8 bit microprocessor clocked at 1MHz to close an axis position loop at approximately 1kHz,and also to execute commands from the host computer. Position feedback is from incrementalencoders, whose characteristics are summarized in Table A.3, tted to the motor shafts.
Theanalog control signal, vDAC , is generated by a 12-bit DAC with a bipolar output voltage inthe range -10V to 9.995V and drives, via an analog compensation network, the analog velocitydemand. The overall control system structure is shown in Figure 3.14.A block diagram of the position loop is given in Figure 3.15. The digital control loopoperates at a sample interval of Tservo = 924 s. The encoder demand, ed , is provided by thehost computer at intervals of 2N Tservo where N is in the range 2 to 7 resulting in host setpointintervals of approximately 4.5, 7, 14, 28, 56 or 112 ms.
The microprocessor linearly interpolatesbetween successive position setpoints, at the servo rate. At that same rate, the microprocessorimplements the xed-gain control law510 (e0 e )vDAC = 2048(3.28)mdwhere e0d is the desired encoder value from the interpolator, and em is the measured encodercount. This control law has been veried by disassembly of the microprocessor's EPROM and5Since the digital controller has a xed gain, loop gain is adjusted by the velocity loop gain control.39!=vDAC_max _max =_vsatradm/s/V radm/sradm/s1-1018974%2-318281172%3-90.28062%4-36632480%5-23520857%6-20918542%Table 3.8: Measured step-response gains, !=vDAC of velocity loop.
Step magnitude was selectedso as to avoid voltage saturation eects. These gain values include the eect of the positionloop lead network and switchable integral/gain stage. _max is the estimated maximum velocitydue to the velocity loop when vd = 10 V. Rightmost column is ratio of velocity limits due tovelocity loop and voltage saturation eects.Jointby measuring the transfer function VDAC =em . The output voltage is a velocity command whichis conditioned by a phase lead network:3)1:3 (37(3.29)(373)so as to increase the closed-loop bandwidth. The gain of 1:3 was determined by analysis of thecircuit, but the measured gain for joint 6 was found to be 1:13.
A switchable integral actionstage(10if the robot is moving, orI (s) = 313 (31:3) if the robot is `on station'(3.30)(1)is enabled by the microprocessor when the axis is within a specied range of its setpoint. Integralaction boosts the gain at low frequency, increasing the disturbance rejection.The transfer function of the lead network (3.29) and integral stage (3.30) introduce a gainof around 11:3 before the velocity loop.
The velocity command voltage, Vd , is limited by thecircuit to the range 10 V, so the DAC voltage must in turn be limited such thatjvDAC j 1110:3(3.31)This limits the usable voltage range from the DAC to only 0:88 V | that is only 9% of theavailable voltage range, and gives an eective resolution of less than 8 bits on velocity demand.This saturation of the velocity loop demand voltage is readily apparent in experimentation.From measured velocity loop gains, !=vDAC , shown in Table 3.8 and knowledge of maximumDAC voltage from (3.31), the maximum joint velocities can be determined.
These maxima aresummarized in Table 3.8 along with the ratio of velocity limits due to velocity loop and voltagesaturation eects. For most axes the maximum demanded joint velocity is signicantly lessthan the limit imposed by voltage saturation. The only exception is joint 2 which, as observedearlier, has an abnormally high velocity-loop gain.Root-locus diagrams for the joint 6 position loop are shown in Figures 3.16 and 3.17. Forthe case with no integral action the dominant pole is on the real axis due to the open-looppole at the origin moving toward the compensator zero, resulting in a closed-loop bandwidth of32 Hz. The complex pole pair has a natural frequency of 57 Hz and a damping factor of 0.62.With integral action enabled the dominant mode is a lightly damped complex pole pair with anatural frequency of around 1.2 Hz and a damping factor of 0.25.A SIMULINK model of the position controller is shown in Figure 3.18. The structure of theswitchable integral action stage is somewhat dierent to Figure 3.15 but more closely represents400.250.20.150.1Imag Axis0.050-0.05-0.1-0.15-0.2-0.250.50.60.70.80.91Real AxisFigure 3.16: Root-locus diagram of position loop with no integral action.0.060.04Imag Axis0.020-0.02-0.04-0.060.850.90.951Real AxisFigure 3.17: Root-locus diagram of position loop with integral action enabled.the actual controller, in particular with respect to `bumpless' switching of the integrator.