喷涂机器人设计(喷漆机器人)(五自由度)【含4张CAD图纸+PDF图】
收藏
资源目录
压缩包内文档预览:(预览前20页/共33页)
编号:121708430
类型:共享资源
大小:3.62MB
格式:ZIP
上传时间:2021-04-15
上传人:好资料QQ****51605
认证信息
个人认证
孙**(实名认证)
江苏
IP属地:江苏
50
积分
- 关 键 词:
-
喷涂
机器人
设计
喷漆
自由度
CAD
图纸
PDF
- 资源描述:
-
喜欢这套资料就充值下载吧。。。资源目录里展示的都可在线预览哦。。。下载后都有,,请放心下载,,文件全都包含在内,,【有疑问咨询QQ:1064457796 或 1304139763】
- 内容简介:
-
A Versatile Six Degree of Freedom Robot C. B. Besant, K. J. Gilliland, M. Risti and L. P. Williams Department of Mechanical Engineering, Imperial College, London S W7 2BX, United Kingdom ThLs paper describes a prototype six degree of freedom 8kg capacity robot constructed to meet the needs of robotics research at Imperial College. With ,itture robot requirements in mind, the robot control system was developed in collaboration with R.D. Projects Ltd. 1. INTRODUCTION The market for robots capable of pick and place operations and continuous path applications such as spray painting, welding, grinding and polishing, is well established, whereas assembly operations still represent a future major growth area for the robotics industry. The latter follows from the fact that at present assembly operations constitute a major proportion of the use of human labour in manufacture. An estimated 40% of the working population in engineering is involved in assemblytq and therefore potentially considerable cost savings could be made by automation in this area. Furthermore it has been observed that the majority of components in such work are relatively small and light, for example over 90% of the components in a car weigh less than 3 kg.itl The Institute of Mechanical Engineering and Imperial College have performed market surveys I8.91 to determine the most required robot sizes and capacities. The indication from these surveys are that a robot of around 8kg capacity with a reach of 1.2m would have a large market. Furthermore, there is the requirement that such a robot should have a powerful programming language in order that it can be quickly programmed to perform a wide range of tasks. This requirement comes from the fact that in many applications the batch sizes are relatively small. For example, Groover 71 states that 75% of all engineering products in the UK are manufactured in batch sizes of 50 or less. In order to be economically justifiable, automation of batch manufacturing must obviously be much more flexible than dedicated hard automation currently in use in mass production systems. The flexibility required can be illustrated by the needs of Flexible Manufacturing Systems where robots have to work in a close and co-ordinated manner with other machines such as CNC systems. A second example of the need for great flexibility lies in assembly applications where a robot will need access to sensors such as vision, force and tactile. Thus future robots will require control systems with more intelligence, than most existing commercially available robots, with the ability to communicate with other systems and have the capability of expansion of computational power to cope with sensor technology. With future robot requirements in mind, a robot control system was developed in collaboration with R.D. Projects Ltd. and a prototype six degree of freedom 8kg capacity robot constructed to meet the needs of robotics research at Imperial College. Some of the research areas are real time dynamic compensation for accurate path following, adaptive control for deburring, assembly task applications with new intelligent grippers and the use of AI languages for collision avoidance. 2. DESCRIPTION OFTHE MECHANICAL ARM The configuration chosen for the robot was anthropomorphic on the basis that this configuration offered a good compromise between adequate working envelope, good The International Journal of Advanced Manufacturing Technology, I (3)75-107, 1986, )IFS (Publications) Ltd, 0268-3768 75 The International Journal of Advanced Manufacturing Technology strength to weight ratio and finally ease of construction. The specification was determined on the basis of the market surveys 8.91 and on the planned research applications for the robot. It was necessary to specify a six degree of freedom robot to meet the needs of some of the continuous path applications such as welding and plasma metallic spraying. Furthermore, some assembly applications also require up to six degrees of freedom. The market surveys indicated that a maximum load capacity of 8kg at a reach of 1.25m offers a solution to many applications for robots. At the start of the project a maximum gripper speed of l m/s with a maximum acceleration of2m/s 2 was specified although these values were later uprated to 2m/s and 4m/s 2 respectively. Accuracy and repeatability definitions for robots often promote much discussion. The actual position achieved by the end of the arm in a series of movements to a programmed point will be subject to statistic variation. Positional accuracy is usually taken as the mean deviation from the programmed point or as the value within which 90% of the points achieved lie. Similarly repeatability can be defined as half the range or the maximum deviation from the mean. A target accuracy specification of 0.1 mm was laid down for the robot, giving a repeatability of 0.05mm. Although this value of repeatability may not be adequate for some assembly applications, it was thought that this limitation could be overcome by an intelligent gripper with compliance capability. Six-axis robot arm f2 Hand-held teach pendant IEEE 488 bus to intelligent peripheral Interlink cables RS232+power Terminal RS232 Rack with axis cards and UO interfaces Host processor (3 0 Fuses Digital l/O to dumb peripherals Robot controller i Keyswitch 1 . Rack PSU / Servo amplifiers m Interlocked - cable II Single phase Three-phase - , ower box power box p / sAXitSc ihnehi bit ,/ Figure 1. Hardware organisation. 76 A versatile six degree of freedom robot 2.1 Mechanical Design of the Arm The mechanical design was undertaken by Bamforth and Parr-Burman/l as part of postgraduate and undergraduate project work. The anthropomorphic type of design was chosen at an early stage because, in general, it offers the following advantages over other types: ?9 A mechanically simpler design results since rotary bearings can be used which are easy to seal. O A large working volume can be achieved for its size, giving good reach and therefore flexibility in use. O It is easier to achieve a stiffdesign than with most other types. The overall configuration chosen for the design is shown in Figure I. It consists of a lower arm consisting of the wrist at one end and the drive motors for the wrist at the other end. The wrist is compact and constructed using proprietary bevel gears. Drive to the wrist is by three 200W Mavilor DC servo electric motors via 80 : 1 harmonic reduction gearboxes. and three concentric steel tubes. Mounted on the back of each motor is a tachogenerator for velocity feedback and a 1000 pulse per revolution optical encoder for position sensing. The wrist has the following angular movements: Rotate 360 Pitch 210 and Roll 360 Each axis of the wrist is capable of a maximum angular velocity of 180 The lower arm or forearm is mounted at the elbow joint, at its centre of gravity. The upper arm pivoted at the shoulder which is at the top of the trunk. Rotation of the robot about the elbow and shoulder is powered by two Mavilor 700W DC servo electric motors via precision ballscrews and the conventional parallelogram linkage system. This arrangement, although it limits the angular movements about the elbow and shoulder joints, does give stiffness about these joints with no inherent vibration. Use of a harmonic gearbox to give a direct drive onto these joints does permit greater angular movements as well as motors with less torque than with an equivalent ball screw system. However the harmonic drive gearbox does have less stiffness than a ballscrew and at certain speeds the natural frequency mode can be excited resulting in arm vibrations. The motors powering the elbow and shoulder contain an electromagnetic disk brake, a tachogenerator and a 1000 pulse per revolution optical encoder in a piggy-back formation. The base unit supports the trunk on a slewing ring. Rotation of the trunk is achieved by a 700W DC motor unit with brake, tachogenerator and encoder similar in layout to the shoulder and elbow units. The motor drives the trunk through a harmonic reduction gearbox. The working envelope for the elbow and shoulder axes is indicated in Figure 2 and rotation about the base is 360 . Limit switches are situated on all axes and act as datum positions as well as limits. 3. THE CONTROL SYSTEM 3.1 Overview The control system is the link between the robot programmer and the robot itself. Conventional robot controllers allow the user often sophisticated control of robot actions via a teach pendant and programming language but are often inaccessible in terms of modification. In a research environment this is a great limitation on the work that can be carried out. (Far more can be achieved with a robot and control system built in-house since both can be tailored to the requirements of the research work and all technical specifications are readily available.) The controller of ttle present robot is based on a distributed network of microprocessors which perform various functions in parallel and communicate with one another via an industry standard bus under instructions from a host processor. In this way computing power is achieved through the use of several, inexpensive processors instead of a single, powerful, 77 The International Journal of Advanced Manufacturing Technology ,t ! I I Figure 2. Working envelope (shoulder and elbow). expensive processor. The use of a well documented industry standard bus (IEEE 488) means that further intelligent devices can be made to communicate with the controller without specialised interface electronics and major hardware alterations. The robot language runs on a Motorola 68000 based SAGE II which also acts as the controlling device for inter-processor communication. All other intelligent devices currently on the bus are 6809 based and at present consist of six-axis control cards. These perform the servo loop closure for each axis and pass analogue demands to the axis servo amplifiers to move each axis. The controller also contains simple interface electronics for digital input/ output between the controller and robot or other dedicated equipment. The axis servo- amplifiers and all power supplies are housed in the control cabinet. The main transformer which provides power from the three-phase wall supply is housed separately. A hand held teach pendant allows the robot to be manoeuvred and taught by an operator under joystick control and menu driven software. Cabinet temperature is controlled by an air conditioning unit. Figure 1 shows the general arrangement of the hardware while Figure 3 shows how the various devices communicate. 78 A versatile six degree of freedom robot r dcw 61110I lJ P Intcri;tcc i TM To peripherals - t IEEE 4i hu Additional intclligcnt -, r -!-1 . r-t-7 II Gripper I I Force I | conlro |I J sensing J _J L_J Encoder signals Velocity feedback from acho Molor power L.mtl witch slalus Brake eomrol I Figure 3. Interdevice communication, 3.2 Power Supplies and Interlocks The three-phase power box is supplied from a wall mounted switchbox and is equipped with interlocks so that no mains voltage appears at the cabinet interlink cables unless the cable is properly connected. Contactors within tile power box isolate the three-phase transformer if the keyswitch is off, the cable is disconnected or the three-phase power box cover is removed. Under these circumstances the only accessible live supply is a low voltage interlock circuit which can be considered harmless. All three-phase wiring in the power box conforms to lEE regulations. Provided that the power box connections are correct and the keyswitch is in the on position, the cabinet will receive both single and three-phase supplies. These are: 240 vac single phase- termed auxiliary power 90 vac three phase 18 vac three phase - termed mains power The mains power supplies are switched via contactors within the cabinct and are fused, rectified and smoothed to provide high current DC supplies to the serve-amplifiers. Tile auxiliary supply is the source of all other robot and controller supplies. The various supplies and their sources are shown diagrammatically in Figure 4. When auxiliary power is available the only supply that remains isolated is the mains supply to the amplifiers. Without this supply the robot cannot be moved under power so a number of interlocks must be complete before it is made available. All emergency stop switches must be in their sale position, all robot interlink cables must be correctly connected, the rack PSU must be switched on, the teach pendant must be connected and all cabinet panels must be secured before a motor receives power. The low voltage interlock supply is derived from the same source as the brake and limit switch supply thus ensuring that loss of brake voltage at source automatically disconnects the motors from drive current. All safety circuitry is designed to be thil-safe, that is, current must flow in a circuit if it is sale. This method ensures that dangerous equipment cannot be operated unless the safety 79 The International Journal of Advanced Manufacturing Technology interlocks themselves are functioning correctly. Broken wires, intermittent faults due to dry joints or power supply failure in interlock circuitry result in robot shut down. These interlocks are designed to protect the operator from dangerous supply voltages that may be exposed within the cabinet or at the ends of cables and physical harm inflicted by the robot should it not be under complete control. In this way it is impossible to servo the robot without complete servo loop closure or some rapid means of removing power. The brake supply is switched by the same contactors that switch the mains supply in the cabinet. This means that a motors brake cannot be released unless the amplifier has power with which to servo the joint. This is very important since gravitational forces can easily back-drive the high efficiency ball screws when no brake is applied. Front panel switches are provided which enable the operator to inhibit selected axes while others are free to run. Here again, safety is built into hardware. If an axis is inhibited manually, its brake is applied regardless of software demands. All DC supplies are single ended to avoid possible problems caused by multiple ground loops. This also tends to reduce the number of wires required to connect the robot and controller. There is a small amount of circuitry located within the robot itself, mainly associated with the optical encoders. The encoders output TTL level signals which are transmitted to the cabinet some metres away. To reduce the effect of electrically generated noise on the signals during transmission, differential line drivers and receivers are used. Both these devices and the encoders require a stabilised supply and this is achieved by regulating the supply from the rack at the robot. A similar procedure is carried out to produce reliable supplies within the teach pendant which is also remote from the cabinet. I inlerhk I SAGE Auxitiar Wdll ,upfll I 415 vac I, I I I o&,: . 2.1 vdc I l.imil ,llchcs. brakes, inlc rik npt, llO I vdc i Rck TTL v I contct+ I Lamp upply S,tch ml PSU I I I I 14 vd - 15 dr 15 v 5 vdc ,I 5 vde Pcnd;int 5tlpply i ,uppl I I vdc I umplifle= (MOS Figure 4. Power supplies layout. 80 A versatile six degree of freedom robot 3.3 Controller Rack The rack is where most of the intelligent devices in the controller reside. With the exception oftacho feedback, motor drive and pendant communication all I/O signals pass through the rack. It is from here that amplifier demands are issued and all brake, limit switch, I/O and encoder signals are processed. The rack has its own in-built switch mode supply and can be removed as a unit from the controller simply by unplugging inputs and outputs. The rack accepts standard double eurocard size boards and DIN indirect edge connectors. An IEEE 488 link is bussed to all card locations in the rack for use by intelligent devices. It is here that the six-axis cards reside together with various digital 1/O interface boards. 3.4 General Purpose Axis Control Card An axis card is required for each driven degree of freedom and its main purpose is to close the position servo loop with a suitable control strategy (see Section 5). IEEE communication protocol is handled via Texas Instruments interface devices. These enable the on-board Motorola 68B09 microprocessor to receive commands from the host processor. In this particular application the axis cards are not fully populated. The axis card is a general purpose axis control card and contains many features that are redundant for simple servo loop closure, full address decoding provides the microprocessor with access to eight I/O devices, 2K bytes of RAM and up to 8K bytes of EPROM. The I/O devices provide the following functions: O 16 digital I/O lines O Six programmable down counters O One 12 bit digital to analogue converter O One eight input, eight hit analogue to digital converter O One IEEE interface O One hardware interpolation chip O One voltage controlled oscillator In this application the D/A converter is used to set the demand to the servo amplifier. A peripheral interface adaptor receives signals regarding the status of limit switches and brake for that particular axis. It is also used to drive card edge LEDs which indicate axis card status. Joint position is determined in terms ofencoder pulses by comparison of the values held in two of the programmable down counters. Software in EPROM can then be made to execute classical PID control to close the servo loop. 3.5 Encoder Signal Decoding Axis position feedback is supplied via 1000 line optical incremental encoders mounted on the free-end of each motor. These encoders provide two TTL compatible square wave outputs in quadrature plus a marker pulse. These output channels, denoted A and B, conform to a convention in which A leads B for forward rotation and vice-versa for reverse rotation. In order that the axis card can determine joint position it is necessary to decode this signal and generate two new outputs. These new outputs are TTL compatible square waves with frequency equal to that of the input signal but describe only forward or reverse rotation. These signals are used to decrement two of the programmable counters on the axis card and hence position relative to some datum can be determined. This decoding is performed by simple digital logic located on a card in the control rack. The card decodes all six encoder signals and must be present for the robot to operate. 3.6 Brake and Over Travel Interface Card Throughout it has been stressed that the control system has been designed with safety in mind. One of the prime objectives in the design of safety features is that they should be software independent. It is important, though, that a hardware invoked shut down or inhibit is signalled to the controlling software in order that either condition may be automatically 81 The International Journal of Advanced Manufacturing Technology corrected if possible. This is the function ofthe Brake and Limits card which also resides in the rack and must be present to operate the robot. A limit switch is positioned at the extreme of travel on each axis and is used to limit the movement ofeach joint in order to avoid damage to the robot. These switches form part of a low voltage circuit in which current must flow in order to move the axis. When a switch is tripped by a moving axis, or the circuit malfunctions, logic on the Brakes/Limits card inhibits the axis amplifier so that the particular motor is no longer driven. At the same time the logic removes power from the brake thus holding the axis stationary, A signal is sent to all axis cards indicating that at least one of the twelve limit switches has been tripped. Each axis card then determines whether it has hit Limit and, if so, in which direction by looking at status signals sent from the Limits card. The brake is automatically taken off, although the amplifier remains inhibited, and when the axis card senses this it issues demands that servo the axis out of limit. Because the microprocessor circuitry cannot drive large loads the Brakes/Limits card acts as an interface between it and the load switching circuits. The above procedure operates in a special case each time the robot is powered up. As the encoders do not provide absolute position information the axis cards have no datum on start up. The limit switches provide them with this datum after executing an initialisation routine in which each axis is driven slowly into one limit switch. Each axis card then measures subsequent positions relative to this datum. 3.7 Digital 1/O Interface Card it is not necessary that this card is present when simply moving the robot into different configurations. However, if the robot is to perform any kind of useful work it will almost certainly be required, it is via this interface that the robot synchronises its movements with other equipment in its workplace. A simple pneumatic gripper is controlled by an output which switches a five-port-valve mounted on the front of the robot. In an industrial application the robot must be aware of the progress of other equipment in order that it executes a task in the correct sequence. For example, the robot should not attempt to pick up a part unless the part is present in a feeder and should only unload a machine tool when the machine tool is ready. These events can be signalled by simple digital signals since they are either true or false and the robot can be programmed to wait for certain conditions. The language actually enables simple decision making to be performed depending upon these inputs. Imagine a robot that unloads a lathe and then inserts the workpiece in, say, air gauging equipment. It can be arranged that the gauging device produce a GO signal for a correctly toleranced part. If the robot controller senses a NOT-GO condition it will place the part in a re-work or scrap tray, otherwise it will place the component ready for the next operation. Outputs can be used to signal other hardware that the robot has cleared a restricted area, in the case of machine loading, or can be used to activate clamps or index feeders etc. These I/O signals are processed by the host computer within the controller via a memory mapped user port. As with the Brakes/Limits card the l/O interface actually switches the high current loads in response to a TTL level signal. All I/O channels are opto-isolated to protect expensive controller hardware. 3.8 Servo Amplifiers The type of servo amplifier used to drive each axis is chosen according to the power of the motor to be driven. As two sizes of motor are used on the robot so two types ofservo amplifier by Infranor are to be found in the controller. The amplifiers receive two supplies as mentioned above, one to drive the CMOS logic and the other to drive the motor switched by the CMOS. The larger series 200 amplifiers exhibit rather more features than the smaller series 25. Both types are arranged on double eurocard PCBs for ease of racking. The servo amps receive differential analogue inputs from the axis card D/A converter which is effectively a speed demand. The amplifier produces a PWM drive to tile motor via a choke according to 82 A versatile six degree of freedom robot the magnitude and polarity of the input demand. A tachogenerator mounted on the axis motor feeds back an analogue signal directly into the amplifier to close a velocity loop. Both types of amplifier have general inhibit circuitry which disables the output stages. Only the series 200 have additional separate inhibit circuits for forward and reverse drive which are required for the limit switch control of each axis. These control circuits have therefore been simulated by additional logic wired into the series 25 general inhibit. The series 200 also offer protection in the form ofoverspeed and over current shut downs. Maximum motor current, gain and velocity feedback can be adjusted via front panel preset controls. 3.9 Teach Pendant The teach pendant is an intelligent device which communicates via an RS232 serial link with the host processor. When enabled it allows the operator to move the robot joints via a three- axis joy-stick, load, edit, list and run programs and teach points etc. The pendant carries its own display which prompts the operator with user friendly menus selected by five soft keys. To move the robot under joystick control a dead mans handle must be activated and an emergency stop switch is also provided for rapid power-down. 3.10 Terminal This is used in much the same way as the teach pendant, communicating with the host processor over an RS232 serial link. Control via the terminal is rather more powerful since the operator has access to all the facilities of the language and is not limited by menus. L 3 I / , 2 / / (X. I J Wx,y,z L 1 Figure 5. World andjoint co-ordinates. 83 The International Journal of Advanced Manufacturing Technology 4. THE KINEMATICS OF THE ARM 4.1 Introduction. When trying to program a robot to execute some useful task, one of the things that become immediately apparent is the need to be able to specify robot moves with respect to a suitable set of co-ordinate axes. Which co-ordinate is the most suitable will depend on the particular task being programmed, for example, for programming general movements of the arm, it is usually most convenient to work in relation to the cartesian co-ordinate frame located at the robot base (Figure 5); when performing work on an object, the objects own co-ordinate frame is more suitable, while often it is most convenient to specify moves in terms of the co-ordinate frame located at the robot tool. Unfortunately, robot controllers work at the joint level and inherently they require positioning demands to be supplied to them in terms of joint variables (joint angles for rotational joints or linear movements for sliding joints). Programming the robot in terms of joint angles, on the other hand, is extremely tedious and time consuming, thus the robot kinematics have to be solved on-line by computer. The most usual way of programming the robot is to teach it to move through a set of points. However, on its own this may not be sufficient because very often, especially when working in confined spaces, the arm will be required to follow closely a given path in order to avoid collisions with any obstacles. Since in point-to-point moves the path between the taught points is undefined, the number of stored points will be very large if the path is to be closely controlled. This is both time consuming for the programmer and expensive in terms of the memory requirements for the control computer. Typically 15,000 points will have to be stored for a five minute execution! An alternative is that the computer supplies the required trajectory between these points. It is then up to the path controller program to provide the moving set of axis demands which are then to be passed to the axis controllers. This involves performing co-ordinate transformation continuously, on-line, throughout the robot motion. Computational efficiency during this operation is therefore of utmost importance. Thus we have defined the basic tasks that the kinematic software is expected to perform, and the most essential one is to perform the mapping between the working co-ordinate space and the robot joint space. This mapping is defined as: X_ (t) 0 (t) where: X(t)=x.y, z, cz, fl, 7 T O(O =01,0z, 03,04,05,06 r In fact, the need arises to solve two distinct problems in robot kinematics: Direct Kinematics - mapping of joint angles into the corresponding position/orientation wrt the working frame Inverse Kinematics - mapping of position/orientation from the working frame into corresponding joint angles. Direct kinematics are much more straightforward to solve than the inverse, especially in the case of redundant arms (more than six degrees of freedom). In general, both may be solved either by matrix calculus or by direct geometrical analysis. However, although the matrix method is much more general, it is also computationally more intensive. For the purposes of real-time robot control numerical efficiency is of essence and, therefore it was the geometrical method which was employed in designing the robot system described here. 84 A versatile six degree of freedom robot 4.2 Direct Kinematics Solution In analysing its structure, the robotic arm can be divided into two sets of axes: Primary axes - the axes mainly responsible for positioning the gripper in space, typically axes 1,2 and 3 Secondary axes - the axes mainly responsible for providing gripper orientation, i.e. the wrist axes. These two sets of axes are joined by a mechanical node, termed the wrist point, and the parameters passed through this to the secondary axes are: w- position - lateral orientation - vertical orientation This is illustrated in Figure 6. I I Rz I I I I X Y Figure 6(a). Robots primary axes. Figure 6(b). Secondary (wrist) axes. 85 The International Journal of A dvanced Manufacturing Technology For the robot in question the wrist configuration is Roll-Pitch-Roll (RPR) and the end of the primary axes is taken to include link 4, as this is always co-incident with link 3. Figure 5 shows the convention adopted in assigning robot parameters and gripper position/orientation, where: Oj . 0 6-joint angles / . 10 -link lengths x, v z - gripper co-ordinates defined z -yaw I wrt the base fl - pitch frame 7 - roll From Figure 6(a) R, is the horizontal distance between the wrist point and the z-axis of the base frame, and R: is the vertical displacement of the wrist point from the xy-plane. Thus: R ,r = 12 sin 02 + ( l, +/4) sin (02 + 03) R-_ = I j + 12 cos 02 + ( l + 14) cos (02 + 03) (4.1) (4.2) The vertical orientation of the wrist point, a, is given as: a=02+03-n/2 (4.3) In further analysis the following convention is adopted in assigning parameters to rectangular triangles: ae Thus from Figure 7 which shows links 4, 5 and 6 of the robot: 04 = sin O5 sin 04 (4.4) a, = cos 05 cos a- sin 05 cos 04 sin a (4.5) and the yaw angle is given by = a tan 2 (04, ao) + 01 (4.6) Now: sin 05 cos 04 (4.7) off= ao l(l?l (7+ C054 2 an= (ao+ o) (4.8) and the pitch angle is: fl= a tan 2 (on, ap (4.9) 86 A versatile six degree of freedom robot The roll angle is given by: sin a. sin 05- cos a. sin 04 . cos 05 7=06-a tan cos (7. cosO 4 We now have that: X : R,-y COS 01 l- (I 5 -I 16) cos ft. cos y = R.,.,. sin 01 + (Is +/6) cos ft. sin cz z= R.-(15 +16) sin fl Thus x, y, z, ,/L 7T form the solution of direct kinematics. (4. I O) (4.11) (4.12) (4.13) f -/ / o- -., I, 91 (-e 7) (3 0 -, T , , / 1 / a .J / .-hi ,e _.- .X ) ? T f - . .- r, / ,Iv _ /_ . , J_ Figure 7. Calculation of the wrist angles. 87 The International Journal of Advanced Manufacturing Technology 4.3 Solution oflnverse Kinematics The inverse kinematics too are solved by direct geometrical analysis. This time the aim is to determine the joint angles which result in the given gripper position/orientation. Again let us consider the wrist point in Figure 6(b). Ifl t = 15 + 16, then the co-ordinates of the wrist point wrt the base frame are: W= x-ltcos . cos (4.14) W v = y- 1 sin at. cos fl (4.15) Wz=z +ltsinfl (4.16) Referring to Figure 6(a) the base angle, 0, is determined as Ol=atan2(W;, Wx) (4.17) Analysing Figure 8: R 2= W+ W,+(W-ll) 2 (4.18) and from right-angle triangles q2 = (13 + 14) 2 _p2 = R2 _ (12 +p)2 (4.19) P = R 2 - (l + 14) 2 -I 2 212 (4.20) ?9 .q=/13+14)2-p 2 (4.2 I) Therefore: 03 = a tan 2 (q, p) (4.22) Also from Figure 8: 02+o9= (4.23) u=atan2 Wz-I, /(W2x- W (4.24) where: and o9=atan2(q,p+12) (4.25) Hence: 02 = - q/- o9 (4.26) Next consider Figure 7 to determine the wrist joint angles. For clarity let us assume that It = 1, as this does not affect the final result since this term will eventually be cancelled out. Thus: op=sin (4.27) ap = cos fl (4.28) a,= apcos ( -O 0 = cos . cos (x- 01) (4.29) Oa= a a fan 7 =cos p. cos (ar Or). tan a (4.30) 88 A versatile six degree of freedom robot t l3.kl 2 Figure 8. Ca/culation of 0 2 and 0 3. From these, the distance v is defined as: v = o- o, = sin fl- cos ft. cos (o- 00. tan tr From v we can define 04 as 04.= V . COS t7 = cos a. sin fl - cos ft. cos (- 01) sin tr and a4=aasin(at-O0 = cosfl, sin (at- Oi) Thus 04 is defined by: 04=a tan 2 (O4, a4) = a tan 2 cos tr. sin fl- cosfl, cos (at- 00. 05 is determined from: cos fl . sin (at- O i) 05 = sin 04 cosfl, cos (at- O0 +cosfl. sin (z- Ol) a5 = cos tr tan 04 . tan r sin a, cos fl . sin (at- 0t) (4.31) (4.32) (4.33) (4.34) (4.35) (4.36) 05=atan2 sin(at-Oi)coscr, sinO4cos(at-O,)+sin(-OOcosO4sina (4.37) The value of 06 is determined by using an imaginary cylinder rotated twice from the vertical, as illustrated in Figure 9. 89 The International Journal of Advanced Manufacturing Technology A 114 il I, /x, View on A i .nl X2 . 7 ,I I_5_5 1 ,t ) Figure 9. Calculation off),-,-,-, :=, ,FRED( ) Calls and executes program FRED, printing return 102 A versatile six degree of freedom robot MOVE APPROPT (1, 2, 3, F(100) Program APPROPT assigns 1, 2, 3 to x, y, z and F(100) to frm. From these it then calculates a point which is returned to the calling program and the robot is commanded to move to that point. 20 PRINT APPROPT (a, b, c3, startpt) a, b, startpt are passed by reference, c3 is passed by value. All programs are defined and created separately. They cannot be defined within one another as only one program can be resident in memory at a time. This characteristic is very important because it allows the programmer to control the amount of memory which is being used. Instead of writing a single large program, it can be split into a number of modules which will be called from the main program and loaded into memory prior to execution, but the segments will reside in memory only one at a time. Thus large programming tasks can be accomplished by using much less memory than would otherwise be necessary. 6.6 Input/Output Binary inputs are defined using the following general format: DEFIN (name = INPORT , where r represents the numbers defining the input channels which are to be used. The inputs can be read by using either or TESTIN (name) INPORT , The returned value is a number whose binary equivalent consists of bits which represent the states ofthe individual channels being tested. Similarly, binary outputs are defined using DEFOUT (name OUTPORT , and an output can be set by using either SETOUT name=- r or SETOUTOUTPORT , =(r Example: DEFIN CONVEYOR = IN PORT 1 to 5, 9 DEFIN GRIPPER = OUTPORT 3 TESTIN CONVEYOR Only tests inputs 1, 2, 3, 4, 5, 9 producing a result in the range 0 to 63. SETOUT GRIPPER = 1 Switches outport 3 on 6.7 Control Structures WHIRL has many of the traditional control structures that can be found in other common high level languages. These will only be listed since their functions are widely understood. 103 The International Journal of Advanced Manufacturing Technology LOOP. ?9 END LOOP IF(conditional. ELSIF (conditional. . ENDIF REPEAT. UNTIL (conditional WHILE conditional . ENDWHILE FORr=r TOr .NEXT SELECT r CASE OF. . ENDCASE GOTO line number GOSUB line number. ENDSUB RETURN (value EXIT Note that conditional testing included in these control structures can involve testing of sensory information, which is significant when programming for on-line decision making. Therefore the robot is capable of sensing and reacting to changes in its environment. 6,8 Functions WHIRL possesses a number of built-in functions which typically fall into three categories: Trigonometric and data manipulation functions Input/Output functions related to the binary channels and standard communication devices like screens, keyboards,joystick etc. Standard calculations related to points, orientations and frames. It is the last of these categories which is most interesting, because these functions greatly facilitate programming related to different working frames. The most important ones of these are: DEFRM3 P- Returns the frame represented by 3 points DEFRM4P- Returns the frame represented by 4 points DEFRMPO- Returns the frame represented by a point and an orientation. In addition: O- Returns the orientation from up to 3 real expressions P- Returns the point from up to 3 real expressions F- Returns the flame from up to 3 real expressions 6.9 Moving Commands There are six MOVE commands which are used to define the robot motion according to the level and type of the required path interpolation. The first one of these is used to specify robot motion in terms of joint angles. The general form of this command is: MOVEARM 0, (02, (03, 04, (05, 06 To specify the robot motion wrt the world co-ordinates tile following commands can be used: MOVE - Point-to-point move MOVES -Motion isin astraight line MOVECIR- Circular move between three points. and for working wrt the tool co-ordinates the available commands are: MOVET -Point-to-point move MOVETS- Straight line move 104 A versatile six degree of freedom robot Now, for convenience, the stored points used to teach these moves may be used with P, O and F functions, as defined previously, so that for example we can say: MOVES P (x, y, z) and the robot will move in a straight line from its present position to the position (x, y, z) while keeping the gripper orientation constant. Similarly, by specifying MOVES O (, fl, 7) the gripper will be made to change its orientation while keeping the position constant. These functions are also available for work in the tool frame. Ifa command BASEFRM is used to specify a new co-ordinate frame, then the robot can be programmed with respect to any set of co-ordinate axes. 7. USE OF THE ROBOT Since their birth, we have seen robots of many different configurations applied to a large number of industrial applications. Invariably these have been tasks in which the human operator was forced to work in hazardous or fatiguing conditions. As a result the majority of robots in use today are loading and unloading machines most notably heavy presses, welding or spraying. Such tasks are relatively easy for current industrial robots since the production runs tend to be long and the task rarely changes. In these applications and popular materials handling applications (pick and place), the robot relies upon fixturing or feeders to accurately locate the target. The potential flexibility of the robot is therefore limited by the degree of hard automation required within its workplace, since this equipment must adapt to a new workpiece with the robot. Although it is the dedicated equipment that ultimately restricts the robots versatility it is the robot that demands that restriction due to its lack of sensory perception. This lack of intelligence is also the reason why robots perform relatively simple tasks at present. There is worldwide interest in the development of sensors for robotic applications, particularly automated robotic assembly. The present robot may be looked upon as a powerful research tool that will enable postgraduate students to investigate novel approaches to currently difficult applications and control problems. 7.1 Typical Research Applications Robots have traditionally been large, heavy machines used to manipulate heavy objects. More recently, since robot applications have become more diverse, there has been a call for very light, fast and accurate robots. High speeds are required in applications such as assembly where cycle times are of prime importance. Accurate control of fast robot arms requires rather more elaborate control strategies than simple PID control due to the significant dynamic forces generated by moving masses. In Section 5 classical proportional and PID control was described and its limitations for high speed robot control discussed. An alternative to Lagrangian or Newton-Euler based dynamic compensation was described in some detail. The aim of this research work was to produce a dynamic compensation package that could be run on a low cost, commercially available micro-computer instead of the more expensive large mini-computers. The 8kg robot was an ideal test bed for such a project since hardware information, that a commercial manufacturer would not normally divulge, was instantly available. A simulation of the dynamic compensation applied to the robot showed very promising results and prompted testing on the robot itself. The new controller has been applied to the three primary robot axes, which are most affected by dynamic forces, and appears to function very well. This would have been very difficult to implement on a commercially available robot and controller. 105 The International Journal of Advanced Manufacturing Technology Many robots are used in de-burring or fettling applications although the method by which it is achieved is rather primitive. In most cases the deburring tool is mounted on the robot arm which then tracks round a pre-determined path at a pre-determined speed to remove burrs or flash. Alternatively, the workpiece is held and offered up to a fixed tool. In either case the result is the same. The tracking speed is set such that the largest burr likely to be encountered will be removed. Consequently, when material is not being removed time is being wasted because the controller cannot recognise a satisfactory edge or surface. The present robot will be used to test an alternative method of controlling deburring operations that is currently under investigation. This research work aims to track a surface, detect a burr on the workpiece, differentiating between a burr, sharp corner or gradual contour, and modify the robot action in such a way as to remove the burr in one or several passes. It is intended that burrs are detected via forces acting upon the grinding wheel. For this reason a wrist mounted force sensor has been developed which will measure the three orthogonal forces and corresponding torques passed through the wrist. These forces are calculated by a microprocessor dedicated to the task and are communicated to the controller via the IEEE 488 interface. This practical example illustrates the importance of having a robot and controller to which one has complete access. It has been mentioned that speed
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。