Peter I. Corke - Pumaservo - The Unimation Puma servo system.rar (Peter I. Corke - Pumaservo - The Unimation Puma servo system), страница 5
Описание файла
PDF-файл из архива "Peter I. Corke - Pumaservo - The Unimation Puma servo system", который расположен в категории "". Всё это находится в предмете "теория управления" из 5 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "теория управления" в общих файлах.
Просмотр PDF-файла онлайн
Текст 5 страницы из PDF
Each time a POSMODE command is processed the variablecount (shown in Figure 2.8) is reset to ninter.The 1 MHz clock is divided on the clock/terminator card to periodically assert the nonvectored backplane interrupt line, BEVENT, which is used by VAL to initiate setpoint computation. The interval is adjusted by jumpers E1-6 on the clock/terminator card to one of thevalues shown in Table 2.6 | 28 ms is the rate used by VAL-I.
`Foreign' hosts do not have accessto this interrupt signal, but the setpoint algorithm is such that it synchronizes with periodichost setpoint commands.2.3.7 6503 RAM locationsAddresses of program variables within the address space of the 6503 have been identied fromthe disassembly and are shown in Table 2.7.2.3.8 DiscrepanciesThere are some discrepancies between this document and the information in [21]. This may bedue to dierent rmware revisions between the systems described.The joint status word error bits for RAM error, out of position envelope and lost synchronization with encoder, do not appear to be implemented. Bits 6 and 7 which are described asnot used, are in fact used internally by the encoder data handling routines.The velgan constants for the Puma 500 and 600 series on [21] indicate that the velganmemory location is 0x5c which appears to be unused in our rmware.
From the disassemblythe correct address for this variable is 0x04.2.3.9 Reassembly of axis processor rmwareThe annotated source code has been reassembled using the public domain Frankenstein crossassembler, as6502. Other assemblers could be used but some dierences in syntax and pseudoops could be expected.The hex output of the assembler has been loaded and matches byte for byte with the dataread from the original EPROM. Thus the facility exists to modify or enhance the joint servormware.23Address Name00010203040506jstatusjstatus+1rmemppropganvelganoutscalninter0708090c..0a0f..0d11..1014..1217..151a..181c..1b1e..1d1f3f..2041434f..445053..5255..5458..567eintscldivisorencmaxe deltae targetdcoffseterrderivujvec1jvec2ipospendingcpcbufcountpostolinttolencstacktopInitialUsagevalue00joint status (low byte)00joint static (high byte)memory pointer for DIAGREAD command01Proportional gain term00Velocity (or derivative) gain00control force output scale factor20Number of clock ticks between setpointcommands03Scale factor related to ninter6f6532 clock divisor factorNumber of encoder counts per revolutionEncoder increment at each tickEncoder target for this tickDC osetEncoder error for this tickDerivative for this tickComputed control force0dVector for jump table 10eVector for jump table 2Position buer pointerPosition buer00Number of commands pending00Command buer pointerCommand buerTick number: 0 count ninter0000 Position tolerance band0000 Integral action tolerance bandEncoder in xed point formsystem stackTable 2.7: Axis processor rmware memory map.24Chapter 3Axis electromechanical dynamicsThis chapter details the electro-mechanical axis dynamics due to the robot's control electronics,actuators and mechanical transmission.
These eects are at least as signicant as the rigidbody eects which are the topic of much robotic `dynamics' literature, but are less well coveredperhaps due to their robot specic nature.The model development in this chapter is based on experimental measurements and identication1,as well as analysis of the robot's electrical schematics. The result is a detailed dynamical modelwhich can be used for control design and simulation. Much of the material in this chapter isbased on the axis model developed in Corke [5,7]. Additional data on Puma robot parameterscan be found in Corke and Armstrong-Helouvry [6,7].3.1 FrictionDynamic eects due to the transmission or drive system are signicant, particularly as the drivetrain becomes more complex.
The addition of gears to amplify motor torque leads to increasedviscous friction and non-linear eects such as backlash and increased Coulomb friction.Experiments were conducted primarily on joint 6. While this is typical of other axes on this, and other,Pumas those characteristics will depend on servo tuning and individual motor and axis characteristics.1τ (Nm)stictionτsviscousfriction, BCoulombfrictionlow speedregimeτc+τc−.qrad/sFigure 3.1: Typical friction versus speed characteristic. The dashed lines depict a simplepiecewise-linear friction model characterized by slope (viscous friction) and intercept (Coulombfriction).25For a geared manipulator, such as the Puma, friction is a dominant dynamic characteristic.A typical friction torque versus speed characteristic is shown in Figure 3.1.
The dashed linerepresents the simple friction modelf = B _ + c(3.1)where slope represents viscous friction, and oset represents Coulomb friction. The latter isfrequently modeled by the non-linear function8><0 if q_ = 0c = > c+ if _ > 0:c if _ < 0(3.2)and in general jc+j 6= jc j. Static friction, or stiction, is the torque that is necessary to bringa stationary joint into motion, and can be considerably greater than the Coulomb frictionvalue. The more complex model, represented by the solid line, is signicant only for verylow velocities [4].
The negative slope can be attributed to the Stribeck eect due to mixedlubrication | the load is partially, but increasingly, lifted by lubricant resulting in decreasingfriction. When the contact is fully lubricated viscous friction is evident. This negative slopecharacteristic can result in instability with simple PID joint control schemes at low velocity.The friction parameters discussed represent total lumped friction due to motor brushes,bearings and transmission. They are dependent upon many factors including temperature, stateof lubrication, and to a small extent shaft angle. Armstrong [3,4] provides detailed investigationsof the low speed and angular dependence of joint friction for a Puma 560 manipulator.Classic techniques for determining friction are based on the simple piecewise-linear frictionmodel of (3.1).
A joint is moved at constant velocity and the average torque (typically determined from motor current) is measured. This is repeated for a range of velocities, both positiveand negative, from which the slope (viscous friction coecient) and intercepts (Coulomb frictiontorques) can be determined. Measurement of joint friction characteristics using this approachhave been previously reported for a Puma 260 [12] and a Puma 560 [11].The friction values for the robot used in this work have been determined experimentallyand are summarized in Table 3.1.
Coulomb friction and viscous friction were determined bymeasuring average joint current for various joint speeds over a short angular range about thevertical `READY' position. This was done to eliminate the torque component due to gravitywhich would otherwise inuence the experiment. A typical plot of current versus velocity isshown in Figure 3.2. Given knowledge of the motor torque constant from Table 3.3, viscousand Coulomb friction values may be determined from the slope and intercept respectively. Arobot `work out' program was run prior to the measurements being taken, so as to bring jointsand lubricant up to `typical' working temperature. There is no evidence of the negative slopeon the friction curve at the velocities used here. The lowest velocity in each test was 5 /s atthe link, which is approximately 5% and 2% of the peak velocities for the base and wrist jointsrespectively.From Table 3.1 it is clear that some friction parameters show considerable dependence onthe direction of rotation.
Statistical analysis of the mean and variance of the sample points [22]for positive and negative velocity for each joint indicate that at the 95% condence level thefriction values are not equal, apart from viscous friction values for joints 1 and 6. Armstrong [4]showed statistically that Coulomb and viscous friction had separate values for positive andnegative velocities. For linear system design and simulation the mean viscous friction value willbe used.Stiction, s, was measured by increasing the joint current until joint motion occured2.
Forthose joints subject to gravity load the robot was positioned so as to eliminate gravity torque.2Taken as increasing encoder value for 5 consecutive sample intervals.2610.8torque (a/d volts)0.60.40.2pos: B 0.007581, f 0.545064, r2 0.9798070-0.2neg: B 0.005757, f -0.307835, r2 0.975420-0.4-0.6-40-30-20-10010velocity (deg/s) at link203040Figure 3.2: Measured motor current (actually motor shunt voltage) versus joint velocity forjoint 2.