Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » Peter I. Corke - Pumaservo - The Unimation Puma servo system.rar

Peter I. Corke - Pumaservo - The Unimation Puma servo system.rar (Peter I. Corke - Pumaservo - The Unimation Puma servo system), страница 9

PDF-файл Peter I. Corke - Pumaservo - The Unimation Puma servo system.rar (Peter I. Corke - Pumaservo - The Unimation Puma servo system), страница 9 Теория управления (17196): Книга - 5 семестрPeter I. Corke - Pumaservo - The Unimation Puma servo system.rar (Peter I. Corke - Pumaservo - The Unimation Puma servo system) - PDF, страница 9 (1712017-12-28СтудИзба

Описание файла

PDF-файл из архива "Peter I. Corke - Pumaservo - The Unimation Puma servo system", который расположен в категории "". Всё это находится в предмете "теория управления" из 5 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "теория управления" в общих файлах.

Просмотр PDF-файла онлайн

Текст 9 страницы из PDF

Thismodel is used extensively in later chapters when investigating the behaviour of visual-loop closedsystems.3.6.1 Host current control modeThe Unimate digital servo board also allows the motor current to be controlled directly by thehost. In this mode the DAC output voltage is connected directly to the current loop as shown inFigure 3.19. The position loop is inactive after a CURMODE command, and the velocity loopis disabled by deasserting /SERVO ENABLE.

The command voltage from the D/A converteris fed straight to the current loop summing junction via an analog switch enabled by the/CURRENT MODE signal. The gain of the D/A is 10=2048, and the gain of the current loopis given in Table 3.5. The DAC is updated within Tservo of the setpoint being given. This modeis useful when the host computer implements its own axis control strategy.3.6.2 LSB servo modeA curious feature of the servo system is the so-called LSB servo mode, controlled by the/LSB SERVO MODE output of the digital servo board. This feature is not used by the existingdigital servo rmware.A voltage, strongly proportional to the displacement from the current encoder edge is synthesized from the analog quadrature encoder signals by U5, U6 and U8.

This exerts a restoringforce to move the shaft back to the encoder edge, achieving levels of accuracy not possibledigitally due to quantization eects.41ed1+Encoder SetpointSumsetpoint interpolate1ZOH-KKpVDACDAC2Integralenabledabs(u)<10On-station?em-303(s+1)Switch Integral0Constant13(s+37.3)(s+373)++Sum1-10GainLead networkMuxvloopMuxVel. loop1Motorangle(rad)DeMuxDemux-KEncoderEncoderquantizationFigure 3.18: SIMULINK model POSLOOP: Unimation digital position control loop.Digital servo boardedAnalog servo boardPositionloopDACV DACLead/lag+velocityloopS2S1S2VIVIemCounterΩ̂ mdCur.loopMPowerampImRSmDigitaltachoEncoderFigure 3.19: Block diagram of Unimation servo current control mode. The switch S2 is used toroute the host setpoint directly to the current loop demand via the DAC, bypassing the velocityloop and lead compensator.3.6.3 Servo jitterIn position mode the motor shaft is generally not stationary, but vibrating at relatively highfrequency.

This is likely to be due to the servo loop interacting with non-linear friction forces onthe motor shaft, or quantization eects in the digital controller. This low level, high frequencyvibration can cause signicant contributions to end-eector sensed force and acceleration.42Appendix AThe Puma 560 manipulatorA.1 Kinematic parametersThe Puma 560 kinematics are dependent upon four non-zero length parameters and a numberof axis twist angles which are taken as either exactly 0 or exactly 90 .These lengths, which may be measured directly, are:1.

Distance between shoulder and elbow axes along the upper arm link2. Distance from the elbow axis to the center of spherical wrist joint along the lower arm3. Oset between axis of joint 4 and the elbow4. Oset between the waist axis and the joint 4 axis.The kinematic parameters for the Puma 560 are given in Table A.1. Since there are manyways of assigning coordinate frames to the manipulator, a set of kinematic parameters must betaken in the context of a particular set of axis and angle conventions; we use the conventionsof Paul and Zhang [15].

The values used are negative compared to others such as Lee [10].This is due to the denition of a right-handed conguration for the zero joint angle pose usedby Paul and Zhang. The transform T6 is considered as the position/orientation of the centerof the wrist mechanism. The distance from wrist center to the ange plate is given by Lee [10]as 56.25mm.Typically the robot pose for zero joint angles is a left-handed conguration with the upperarm horizontal along the X axis and the lower arm vertically upwards. However, Paul andZhang adopt a similar pose but in a right-handed conguration.

Thus by their convention,the upright (VAL READY) position is given by = [0 90 90 0 0 0] whilst for others it is = [0 90 90 0 0 0].i i AiDi1 90 002 0 431.8 03 -90 19.1 125.44 90 0431.85 -90 006 0 00Table A.1: Kinematic constants for Puma 560. in degrees, A and D are in mm.43Joint Armstrong [2] BreakingAway [21]G1 62.61-62.6111G2 107.36107.815G3 53.69-53.7063G4 76.0176.03636G5 71.9171.923G6 76.6376.686G451=G5G461=G6G5613=72Table A.2: Puma 560 gear ratiosA.2 Gear ratiosThe sign of the ratio indicates the direction of joint angle, , change given a positive increasein digital position loop encoder count.

In servo current control mode a positive current causesmotion in the negative encoder count direction. It seems likely that Armstrong et al. [2] havegiven only the absolute value of gear ratio. Nagy's [14] gear ratios for the Kawasaki Puma 560,agree with [21].The cross-coupling values have been determined from examination of the wrist mechanism,and correspond with numerical values given by [21]. The relationship between joint and motorangles is2j =6666666641G10000000 G10 0 G10 0 0 G10 0 0 GG0 0 0 GG23445446400001G5G56G5000001G63777777775mA.3 EncodersJoint Encoder resolution Counts/motor rev.

Counts/radl125010009965220080013727325010008548425010001210252501000114476250500y6102Table A.3: Puma 560 joint encoder resolution. yNote that joint 6 is generally run in `divide bytwo mode', so that the encoder count maintained by the digital servo board is half the numberof actual encoder counts.

This is necessary since joint 6 can rotate through a range of morethan 216 counts.44Appendix BEncoder calibrationAt reset all joint encoders are set to 0x8000, the middle of the 16 bit unsigned integer range.By convention this encoder value corresponds to the robot pose where the robot arm is vertical(VAL ready position).The incremental encoders respond only to change in position { the absolute encoder valuescorresponding to the pose of the robot at startup are not known and are determined by thecalibration procedure.Each joint also has a potentiometer sensor, which is a low resolution absolute shaft angleencoder.

The calibration procedure involves1. moving each joint to a zero index mark (one per motor revolution) using the `stop at zeroindex' control bits in the joint status word.2. reading the potentiometer sensor, 1 , and determining the approximate encoder valuefrom the known potentiometer response;e^i = ii + iwhere i and i , are experimentally determined potentiometer characteristics.3. We know that the encoder value is of the formEFIRST + n EDELTAwhere EFIRST is the encoder count at the rst zero index away from the `READY'position, EDELTA is the number of encoder counts between zero indices, and n is aninteger.

Thus given an approximate encoder count, e^, derived from the potentiometerabove, the exact count is given byEFIRST )EDELTA + EFIRSTe = nint( e^ EDELTAwhere nint(x) gives the integer nearest to x.4. Finally, the encoder registers in the digital servo boards are set to their correct value withthe SETPOS command.The coecients for each potentiometer, i and i , are determined experimentally. Theprocedure involves1. calibrating the robot as accurately as possible, generally via the engraved markings oneach joint, or using plumb bobs, levels and theodolites1To reduce the eects of quantization error, is often the sum of N repeated readings452. measuring i and ei at every zero index over the working range of the joint3. performing a regression on the i , ei pairs.The potentiometer calibration procedure need only be done once, and repeated only aftermodication or repair to any of the joint motor/potentiometer assemblies.46Appendix CCommunications protocolThe following `C' code illustrate the lowest level primitives required for communications with theUnimate servo subsystem.

The argument cmd contains the command code, and for non-vectoroperations also the joint address.In this example the interface is memory mapped, with one word for data read/write, andone word for reading/writing status lines to the AIB.#define TIMEOUT#define NLOOPS50128#define VECBIT0x80#define DATA#define COMMANDpp->status|=STATCSR0pp->status&=~STATCSR0#define OUTW(w)#define INW(w)pp->data = wpp->datastruct port {unsigned shortunsigned short};data;status;/* define status word bits */#define#define#define#defineSTATREQASTATREQBSTATCSR0STATCSR1struct port0x010x020x040x08*pp = HOSTPORTADDR;/** return the result of `cmd' applied to a single joint*/ReadSingle(cmd)intcmd;{intr;47COMMAND;OUTW(cmd);DATA;if ((cmd&7) != SELECT7)ready("rsingle2", cmd);r = INW;if ((cmd&7) != SELECT7)ready("rsingle3", cmd);return r&0xffff;}/** execute `cmd' on a single joint*/WriteSingle(cmd, data)intcmd;unsigned intdata;{COMMAND;OUTW(cmd);DATA;OUTW(data);if ((cmd&7) != SELECT7)ready("wsingle", cmd);}/** return the result of `cmd' applied to all joints*/ReadVector(cmd, vec)intcmd;unsigned int*vec;{inti, j;COMMAND;OUTW(cmd|VECBIT);DATA;for (i=0; i<NJOINTS; i++) {ready("rvector", cmd);vec[i] = INW;}}/** execute `cmd' on all joints, different data for each joint*/WriteVector(cmd, vec)intcmd;48unsigned int{int*vec;i;COMMAND;OUTW(cmd | VECBIT);DATA;for (i=0; i<NJOINTS; i++) {OUTW(cmd==STOPMDE ? 0 : vec[i]);ready("wvector", cmd);}}/** execute `cmd' on all joints, same data for each joint*/WriteMultiple(cmd, val)intcmd;unsigned intval;{inti;COMMAND;OUTW(cmd | SEQBIT);DATA;for (i=0; i<NJOINTS; i++) {OUTW(cmd==STOPMDE ? 0 : val);ready("wmultiple", cmd);}}/** return attention and joint tolerance bits*/GetTol(){COMMAND;OUTW(0);return INW;}/** wait*/staticcharint{until servos acknowledge command completionready(where, cmd)*where;cmd;inttimeout;49timeout = TIMEOUT;while ((pp->status & STATREQA) == 0 && --timeout > 0);if (timeout == 0) {printf("joint timeout from %s, cmd = %x\n", where, cmd);return;}}C.1 InitializationBefore the digital servos can be used some initialization is required by the host.1.

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5209
Авторов
на СтудИзбе
431
Средний доход
с одного платного файла
Обучение Подробнее