INTRODUCI NG MINI - Robots

2y ago
4 Views
1 Downloads
6.66 MB
10 Pages
Last View : 1m ago
Last Download : 3m ago
Upload by : Ronan Garica
Transcription

INTRODUCI NGMINIR5John W. Hill, Ph.D.Design Engineer, Microbot1259 EI Camino Real, Suite 200Menlo Park, CA 94025JOINTSHOULDER JOINTWRISTJOINTFigure 1. Major structural components.Note that a Cartesiancoordinate reference frame is superimposed. The origin of thisframe is where the centerline of the base joint meets the tabletop.18ROBOTICSAGESummer1980At the Fifth West Coast Computer Faire, held in SanFrancisco March 14-16,1980, Microbot, Inc. introduced anew table-top robot arm. For a relatively low cost, themechanical arm, its computer interface, and supportingsoftware permit almost any microcomputerowner to getstarted in robotics without the effort of designing andbuilding his own manipulator system. This versatile unit willprove useful to industry for robot evaluation as well asother light applications. Here now is a discussion of thedesign and operation of the Mini Mauer 5, as told by itsdesigner.Previously, work with advanced computer-controlledmanipulators was limited to laboratories at a few researchoriented-universitiesin the US and abroad. This researchhas concentratedon languages for robot control andprogramming,computer programs that plan their ownmanipulation strategies, methods of efficiently performing

complex coordinate transformations,the use of sensoryfeedback to improve performance,and the study ofmanipulator kinematics. Typically, this work relies heavilyon mathematical analysis, and requires highly sophisticated computing systems. Reference [1] provides a fairlycomplete survey of the work currently being done in theseareas.With the introduction of computer control to modernindustrial robots, the results of this research are nowbecoming available for application in the factory environment. [2] Nevertheless, these complex new robots are stilldesigned as heavy duty industrial equipment. Their pricerange, from 35,000 to 120,000 tends to hinder their usein robot experimentation by individuals and schools, as dothe carefully guarded proprietary hardware and softwaredetails of these machines.For two years, Microbot has been developing a low-costmanipulating system so that both amateur robotics enthusiasts and others could participate in this exciting fieldwith a modest budget. The objective has been to provide acomplete package including the arm, computer interface,software subroutinesfor coordinateconversionsandcontrol, and a high-level robot programming language, sothat the user would not have to undertake a majordevelopmenteffort to put the unit in operation. Theremainder of this article give a brief overview of the designand operation of the Mini Mover 5 as well as some typicalmethods of applying it. Readers interestedin moretechnical detail will find it in the Mini Mover 5 Referenceand Applications Manual [3].shaft. Cable drive was selected because it is lightweight,highly efficient, and permits all the drive motors to bemounted on the body. This keeps weight out of the extremities, resulting in greater payload capacity.*The shaft of the base joint is hollow, so that the drivelines for each of the motors can be brought from theinterface card contained in the base of the arm. Since theaxes of the three outer joints are parallel, mounting thedrive motors on the body instead of the base eliminates thecomplications of routing the drive cables for the outersegments through a rotating joint.The drive unit for each joint consists of a steppingmotor, reduction gearing and a cable drum. From eachdrum, a tensioned cable goes out over pulleys to themember being driven and then returns to the drum.Rotation of the drum causes rotation of each member inproportion to the ratio of the diameter of the drive pulleyattached to that member to the diameter of the drum.The arrangement of cables used in the Mini Mover 5 isshown in Figure 3. Since the cabling design was made tosimplify the geometry and maintain a low cost, several ofthe joints interact. Movement of one joint may result in17.5 RArm Mechanical DesignThe arm consists of a stationary base and four movablesegments connectedin series by the base, shoulder,elbow, and wrist joints. The major structural componentsare illustrated in Figure l. Implementation of the wrist jointis accomplished by a differential gear mechanism whichcan rotate the gripper in both pitch and roll. The resultingfive degrees of freedom permit combined motions of thebody, shoulder, elbow and wrist to position the armanywhere from close to the base to 17.5 inches away, asshown in Figure 2. The configuration of these joints definesthe position and orientation of the gripper within a partialsphere with a radius of 17.5 in. (444 mm).The arm members are hollow, formed from foldedaluminum sheet metal. The three outer segments arejoined by hinge shafts that define the axis of the joint. Eachjoint is controlled by a flexible cable that runs from a driveunit mounted on the base to a pulley mounted on the joint1.6Figure 2. Mini Mover 5 working envelope."Editor's Note: For descriptionsof two other cabie-drivenmanipulators and related design issues, see the article "RoboticsResearch in Japan" in the Winter 1979 issue of ROBOTICSAGE, Vol. 1, No.2.ROBOTICSAGESummer198019

SHOULDERPULLEY ISPITCHANGLEFigure 3. Cabling diagram.possibly unwanted motion in another. Compensationforthese interactions can be made in software. Thus, thecabling details must be understood in order to properlycontrol the motion of the arm. As explained below, theseinteractions have been carefully designed so that in mostcases they actually simplify the control problem.Base Rotation(Joint I)-Thebase drive cablepasses over two idler pulleys, making a 90 degreebend, to a drive pulley fixed to the base. The basedrive motor causes the entire arm to rotate about thebase joint.Shoulder Bend(Joint 2)- The shoulder drive cablepasses around the drive pulley on the upper armsegment to rotate it about the shoulder joint.Elbow Bend(Joint 3)- The elbow drive cablepasses around an idler pulley on the shoulder axis toa drive pulley fixed to the lower arm segment. Joints2 and 3 interact, so that changing the shoulder angleresults in an equal change in the elbow angle. Thisinteraction has been designed so that the elbowdrive, in effect, controls the angle of the forearm withrespect to the horizontal. However, the limits offorearm motion are measured with respect to theupper arm, not the horizontal (x-y) plane.Wrist (Joint 4, left and Joint 5, right)- The fourthand fifth drive cables pass around idler pulleys onboth the shoulder and elbow joints and terminate onthe drive pulleys of the left and right wrist differentialgears. The interaction of these joints with joints 2 and3 has the effect that the wrist drives control the angleof the hand with respect to the horizontal (pitch) and20ROBOTICSAGESummer1980END VIEWROLLANGLEFigure 4. Definition of Roll and Pitch angles. All other joint anglesare measured from the X axis.the rotation of the hand around its pointing vector(roll) as shown in Figure 4. Through the action of thedifferentiaJ, the pitch angle P equals the average ofthe positions of the left and right gears and the rollangle R is their difference. The range of motion islimited to 270 degrees at each of the wrist gearsdue to limits of the cable length and to 90 degreesin pitch due to interference from the lower arm.Hand(Joint 6)- The hand drive cable passes overidler pulleys located on the shoulder and elbowjoints, through the center of the wrist differential, andfinally terminates at the hand. This drive interactswith joint 3 (elbow) in that elbow bend will cause thehand to open slightly. This can be compensated forby closing the hand exactly the same number ofsteps that the elbow is raised.

\LINKSFigure 5. Control system for gripping.The hand housing is a attached to the output miter gearof the differential gear set. The hand housing supports thetwo pairs of links, each pair of which terminates in a grip,as shown in Figure 5. The housing, links and grips areattached to each other by small pins. Torsion springsprovide the return force to open the hand as the handcable is slackened. As the hand cable is pulled in, the handcloses upon an object to be grasped and the cable tensionmounts, activating a tension sensitive switch. This state ofthis switch can be read by the control computer whichmay stop the drive motor as soon as it closes, in whichcase the grasping force is limited to about 2 ounces (O.3N).Gripping force can be increased by pulling in more cableafter the tension switch closure is detected. Additionalcable take-up stretches the extension spring which ismounted in series with the hand drive. This additionalcable take-up is converted into gripping force at the rate ofone pound for every 52 steps. The relationship betweengripping force, hand opening, and drive motor rotation isshown in Figure 6. Thus, gripping force, as well as handopening, can be controlled by the same cable drive. Theperformance specifications of the Mini Mover 5 are shownin Table l.TableHin;1Mover 5 ING3inConfigurationDriveController3LB75mm5 revoluteaxes and integralgripperElectricStepper Hotel's,open loopMicrocomputer provided by userInterfaceProgramPower15NTRS 80 *languager-equ i ati50010001500force35N2000DRIVE MOTOR STEPSforceRangeBase 90 deg 144, -35 deg 0, -149 deg 180 deg 90 deg0-3 in (0-75 mmJlderELbowWrist RollWrist PitchHand.(13NJin (444tbs(18Nlmax mm lmax.OET AI LSSpeed(fullload)0.37 rad/s0.15 red/s0.23 rad/s1.31 rad/s1 .31 red/s3 lb/s m wei ghtInterfacecableFigure 6. Plot of hand opening and grip force us number of steps.Grip opening decreases as cable is taken up (left axis), untilresistance is encountered. Thereafter, grip force increases (rightaxis). The plot shows the case when the hand is empty.4MotionPHYSICALlbs17.5c loadShouoJ.013 in (0.3) maximum on all axes8 oz (225 gm) at full extension16 oz (450 gm] at half extensiontyReachc::)PER FORMANCE1inparallelPERFORMANCE10N2inor a a-bitfor TRS-ao ( Z-BO driverevat lable12 volts,4 amps DCARMBASICRegi steredTradelength6 lbs 13 kg)3 ft (900 mmlMerk of Tandy CorporationROBOTICSAGESummer198021

MOTOR DRIVERS 12 12the sequence in which the entries are output must bereversed.The particular entries shown generate a sequenceknown as "half-stepping",that is, the angular stepsproduced by the sequence are half the size specified by themotor manufacturer.Comparedto full stepping, halfstepping produces smoother slow speed motions, doublesthe accuracy of motor positioning, and reduces the powerrequired. The motors used to drive the Mini Mover 5 arespecified by the manufacturer at 48 steps per revolutionand thus are stepped at 96 steps per revolution by thealgorithm described.Computer InterfaceFigure 7. Simplified stepper motor drive circuit. Coils CPl and 2are on one magnetic path. Coils cP 3 and I 4 are on another.Stepping Motor ControlEach of the cable drives is controlled by a steppermotor. The motors used have four separate windings,each driven by a power transistor. The drive is digital, withthe transistors switched on or off to obtain a desiredpattern of currents in the motor. By appropriately changing the pattern of currents a rotating magnetic field isobtained inside the motor, causing it to rotate in smallincrements or steps.* In the Mini Mover 5, each of the fourcoils is individually controlled from the computer. Thesimplified drive circuit is shown in Figure 7. This allows thepattern of motor currentsto be controlledby thecomputersoftware, simplifying the drive circuit andreducing its cost.In order to step a motor, the sequence of binarypatterns shown in Figure 8 is output to the desiredmotor-thepattern on each row of the table, when sent tothe correspondingdrive transistors of the motor, willcause it to move on step. To step the motor clockwise thepatterns are output sequentially from top to bottom. Whenthe end of the table is reached, it is necessary to wraparound to the other end of the table and continuesequentially. To move the motor in the opposite direction,The Mini Mover 5 interface has been developed toconnect the manipulator to Radio Shack's TRS-80 LevelII computer. By changing internal jumpers, the interfacecan be modified so that it will operate with any 8-bit parallelI/O ports (TTL levels). The interface is organized as seven4-bit parallel outputs and a single 4-bit input, as shown inFigure 9. Information on the address lines is used tochannel the four bits of output data to the appropriatemotor drive through individual4-bit latches. In this way thecomputer can control the 4-bit phase patterns on eachmotor with a minimum of hardware. After a phase patternis sent to a 4·bit latch, it is held by the latch until the nextpattern is sent. Outputs of the latches control the powerdrivers and their respective motor coils, shown previouslyin Figure 7.wo:S u0---lU 1 2 3 400001110011110* More information on the operation and control of steppermotors can be found in References [4] and [5].22ROBOTICSAGESummer198000000Figure 8. Table of drive patterns111000for stepper0000011wcos U0---lUa:wI-z::::J0umotor coils.

4-81T LATCHES(7)The grip switch is connected to one of the inputs of theauxiliary port, permitting the computer to close the handuntil the gripping force builds up. The other inputs andoutputs of the auxiliary port are available to the user forexperimentationwith other sensors or controls. Theseinputs may be used for tactile, proximity, force and/orposition sensors which can be mounted on the hand, armextremities, and/or the table top. Note also that a four-bitauxiliary output port is available as well. This may be usedto control another stepping motor such as might be usedto drive a work turntable, for example, to control externalparts feeders, or synchronize other equipment with armoperations.ARMBASICA language for control of an arm is important to douseful work with it. For eample, printing on an outputdevice is simplified in BASIC by the PRINT and LISTcommands or in FORTRAN by the WRITE command.These high level commandsremove the problem ofcontrolling the carriage and printing mechanisms andkeeping track of their position to produce the printout. Inthe same sense, arm control can be more effectively donethrough such high level commands.ARMBASIC was developed for controlling the MiniMover 5 from the TRS-80 computer. ARMBASIC is anextension to the Level" BASIC supplied by Radio Shack,consisting of 5 commands which allow complete control ofthe manipulaltor.Thesecommandsare@STEP,@CLOSE, @SET, @RESET, and @READ. Each of theARMBASIC commands is implemented in Z-80 assemblylanguage, both to conserve memory and to provide morerapid response of the manipulator. The listings of theseroutines and more detailed explanationsof what theassembly language code does are provided in the Applications Manual [3].The @STEP command causes each of the 6 steppermotors to move simultaneously.The syntax of thiscommand is:@STEP (D), (Jl),(J2), (J3), (J4), (J5), (J6)where (D) is an expression for the delay between motorsteps, and (Jl) through (J6) are expressionsfor thenumber of steps each of the six motors is to be moved.The delay expression(D), evaluated to an integer,determines the speed of the motion. The smaller the delay,the faster the resulting motion will be. For a delay value ofzero, the system will wait 1.2 milliseconds between steps.TRI-STATEFigure 9. Block diagram of computerinterface.For each additional unit of delay, the driver will wait anadditional .03 milliseconds between pulses. This can beexpressed asDelay 1.2 0.030(milliseconds)The joint, expressions, (Jl), (J2), . (J6), evaluated tointegers, determinethe motion of each joint. Afterevaluation, the sign of each expressionindicates thedirection each motor should be driven and the magnitudeindicates the number of steps.Additionally, the @STEP command compensates automatically for the interaction of the elbow joint and the handopening, such that a command to move the elbow joint willnot effect the hand opening. Note that the steps specifiedfor joints 4 and 5 refer to the motors driving the left andright differential gears, so that the relation between theROBOTICSAGESummer198023

IMOTORIIIIIIISTEPSFigure 10. Step timing diagram coordinatedmovement.gear positions and the wrist roll and pitch angles must bedetermined by the user's program.An importantfunction performedby the @STEPcommand is to linearly coordinate unequal motor commands. For example, if the base motor is told to move 21steps, and the shoulder motor is told to move 3 steps,appropriate delays will be inserted between the steps ofthe shoulder motor so that each joint will begin and end itsmovement simultaneously,resulting in the smooth anduniform timing shown in Figure 10.The @CLOSE command causes the hand to close untilthe grip-switch closes, indicating that the gripping forcehas built up to the threshold determined by the tensionswitch. The syntax of the CLOSE command is:@CLOSE(D)where the optional delay, (D), determines the speed ofclosing, as discussed in the @SET command.The @STEP commandputs the manipulatorinto"manual" mode, so that, by pressing various keys on theTRS-80 keyboard, each joint of the manipulator can beindividually moved. The syntax of the SET command is:@SET (D)The optional delay (D) determines the speed of motion asdiscussed in the @STEP command. The keys and thejoints that they control are shown in Figure 11. This modeis terminated by depressing the "0" (zero) key. Note thatsince the driver is capable of reading all the keys held downat once, depressing more than one key will result in allsimultaneous movement of the respective joints. Releasingthe keys will stop the motion.As the above commands are executed, the number ofsteps commanded for each joint are counted and maintained a set of six position registers. This permits theprogrammer to keep track of the commanded position ofthe arm under both manual and program control. The@RESET and @READ commands provide access to theseregisters. The syntax of the @RESET command is simply:@RESETThis command zeros the contents of the internal positionregisters and the current of all six drive motors. Turningoff the motors in this way allows the manipulator to be24ROBOTICSAGESummer1980BASE SHOULDER ELBOWCWUPUPWRISTPITCHUPWRISTROLLCWGRIPOPENQm 80m CCWDOWNFigure 11. Use of keyboardDOWNDOWNCCWCLOSEto control arm.backdriven (manually moved about). @RESET is used forarm initialization, as discussed in the following section. Thesyntax of the @READ command is:@READ (VI), (V2), (V3), (V4), (V5), (V6)where VI to V6 are any BASIC variables. This commandreads the six position registers into these variables. Thus,the current position of the manipulator is available to theuser's BASIC program at any time.Programming the Mini Mover 5To illustrate the use of ARMBASIC in manipulation, wewill discuss serveral methods of programming a "pick-andplace" task. The task consists of repeatedly pickingobjects up at one place and setting them down in another.This task is common in industry where parts from a feederare deposited in another machine or onto a movingconveyor, for instance. To simplify the example, we willassume an unending supply of parts at the pick-up pointand continual removal of parts at the destination point.The task is defined in Figure 12. Pickup is from A andplacement is at D. The approach and departure trajectories, AB and CD are usually required for practicalreasons: an object resting on a flat surface normally mustbe lifted before it is translated instead of just sliding it alongthe surface. In an industrial environment, such a movement could possibly damage the part, the manipulator, orsome other object in the workspace.A simple sequenceof ARMBASIC commandsforperforming the pick-and-place task is shown in Table 2.Movements are performed by the @STEP command,including opening the gripper (statement 60), P (Pl, P2,P3, P4, P5), Q (Ql, Q2, Q3, Q4, Q5) and R (Rl, R2, R3,R4, R5) define vectors whose elements are the number ofsteps of each joint needed to move the arm from A to B, Bto C, and C to 0 respectively. S is the number specifying

ENDB , STARTrA0Tablec"0 0SimpLe ARMBASIC Implementationof Pick-and-Place Program1020301.Move Down to A2.3.Close Grip40Move to B4.Move to C5.Move to D50607080906.Open Grip7.Move to C8.Move to BFigure 12. Descriptionof the Pick-and-Piace2@STEP S,-P1,-P2,-P3,-P4,-P5@CLOSE@STEP S, P1, P2, P3, P4, P5@STEP S, Q1, Q2, as, Q4, Q5@STEP S, R1 , R2, R3, R4, R5@STEP S, 0, 0, 0, 0, 0,@STEP S,-R1,-R2,-R3,-R4'-R5@STEP S,-Q1,-Q2,-as,-Q4,-Q5GOTO 10Tabletask (side uiew).Pick-and-Placethe speed and GR is the number of steps the gripper is tobe opened to release the part.This simple approach is not very practical, as it requiresthat the number of steps on each joint be known inadvance.One practical approachfor small tasks isentering the data manually by moving the arm to each ofthe four positions (A, B, C and 0 of Figure 12) and lettingthe computer count and remember the number of stepseach joint moves. This operation is frequently called"teach mode."The teach program shown in Table 3 illustrates thisprincipal. Operating interactively with the computer, theoperator manually positions the arm to each of the fourpositions to specify the pick-and-place task. Each positionis obtained by moving the arm, joint-by-joint, using thekeys in the upper left hand corner of the keyboard aspreviously described under the @SET command. Even thedesired grip opening is conveyed by teach control. Onlythe speed is entered numerically.After the arm is positioned at each of the four locations,the values of the software position counters are read bythe @REAO command and stored in the vectors A, B, Cand O. The elements of these vectors, A (A1, A2, A3, A4,AS), B (B1, B2, B3, B4, BS), C (C1, C2, C3, C4, CS), and0 (01, 02, 03, 04, 05), are the values of the positioncounters of each joint. The P, Q and R vectors of thesimple program (Table 3) can therefore be obtained bysubtractionas follows: P B-A, Q C-B, R O-C. Thedesired grip opening, GR, is measured by reading the gripposition counter before and after closing the grip using the@CLOSE command. (Statements170-200 in Table 2).Where information on pickup or placement originates h ******MINIPICK-*MOVER 5AND -PLACEMANUAL TEACH PROGRAM90 ********100 @RESET:REMZERO COUNTERS110 PRINT "PICK - AND - PLACE ROUTINE"120 PRINT"USE MANUAL KEYS TO POSITION ARM"130 INPUT "SPEED ": S140 PRINT "POSITIONGRIPPER ON PART, TYPE 0 WHEN DONE"150 PRINT "ADJUST GRIP OPENING TO CLEAR PART"160 @SET170 @REAO A1 ,A2 ,A3 ,A4 ,A5 ,C180 @CLOSE: REMCLOSE GRIPPER AND MEASURE PART190 @READ A1 ,A2 ,A3 ,A4 ,A5 ,GO200 G GO - GC :REMGRIP SIZE OPEN LESS GRIP SIZE CLOSED210 PRINT "POSITIONPART A80VE PICKUP SITE,TYPE 0 WHEN DONE"220 @SET 230 @REAO 81,82,83,84,85240 PRINT "POSITIONPART A80VE PLACEMENT SITE,TYPE 0 WHEN OONE"250 @SET260 @READ C1 ,C2,C3 ,C4,C5270 PRINT "POSITIONPART AT PLACEMENT SITE,TYPE 0 WHEN DONE"280 @SET290 @REAO 01,02,03,04,05300 REM310 REMRELEASE PART AND RETURN TO 8320 REM330 00101010201030104010501060107010801090@STEP S, C1-D1,C2-D2,C3-03,C4-D4,C5-D5@STEP S, 81-C1,82-C2,83-C3,84-C4,85-C5REMREMWAIT UNTI L READYREMINPUT "TYPE G TO GO'" R IF R "G" THEN 410' ELSE 390REMREMRUN THE PICK - AND - PLACE PROGRAMREM@STEP S, A1-81 , A2-82 , A3-83,A4-84 , A5-85@CLOSE@STEP S, 81-A1,82-A2,83-A3,84-A4,85-A5@STEP S, C1-81 , C2-82 , C3-B3,C4-84 , C5-85@STEP S, D1-C1,D2-C2,D3-C3,D4-C4,05-C5@STEP S,O,O,O,O,O,G@STEP S, C1-D1,C2-D2,C3-D3,C4-04,C5-05@STEP S, 81-C1,82-C2;83-C3,B4-C4,85-C5GOTO 1000ENDROBOTICS AGESummer198025

Table4Pick-and-Place X Y Z Control Program10 ********20 REM*MINI MOVER 530 REM**40 REM**CARTESIAN COORDINATE CONTROL50 REM**60 REMPROGRAM70 REM60 REM*90 **DEFINE ARM CONSTANTS100 REM:REMSHOULDER HEIGHT ABOVE TABLE101 H B.1:REMSHOULDER TO ELBOW AND ELBOW TO WRIST LENGTH102 L 7.0:REMWRIST TO FINGERTIP LENGTH103 LL 3.5104 .REM .110 REMDEFINE OTHER CONSTANTS111 PI 3.14159:REMDEGREES IN 1.00 RADIAN11 2 C 180/P1FLAG FOR WORLD COORDINATES:REM113 R1 1114 REMDEFINE ARM SCALE FACTORS120 REMS2 S1:REM STEPS/RADIAN, JOINTS 1 & 2121 81 937.B::REM STEPS/RADIAN, JOINT 3122 S3 551.4:REM STEPS/RADIAN, JOINTS 4 & 5123 S4 203.7:S5 S4:REM STEPS/INCH, HAND124 S6 61B125 REM130 REMINITIALIZATION131 DIM UU(7,50):REM ROOM FOR 50 MOVES132 U O133 @RESET134 REMREAD IN FIRST DATA LINE FOR INITIALIZATION140 REM141 READ X,Y,Z,P,R,GR,S150 PRINT "SET ARM TO THE FOLLOWING POSITION & ORIENTATION"151 PRINT"USING KEYBOARD, TYPE 0 WHEN FINISHED"152 PRINT "X ": X: "INCHES"153 PRINT"Y ": Y: "INCHES"154 PRINT"Z ": Z: "INCHES"155 PRINT"PITCH "; P; "DEGREES"156 PRINT"ROLL ": R; "DEGREES"157 PRINT"HAND "; GR/S6: "INCHES"1.70.Iii)SET.200 GOSUS 5000:REM GET JOINT ANGLES FOR INITIALIZATION210 REM W IS WHERE WE ARE AT220 W1 INT[S1*T1)230 W2 INT(S2*T2)240 W3 INT(S3*T3)250 W4 INT(S4*T4l260 W5 INT(S5*T5)270 REM300 REM READ IN NEXT POINT30B READ X,Y,Z,P,R,GR,S309 IF X -100 GOTO 1000310 PRINT "MOVE TO X,Y,Z,P,R,GR,S"311 PRINT X,Y,Z,P,R,GR,S320 GOSUS 5000:REM GET JOINT ANGLES FOR NEXT POINT325 REMC IS THE CHANGE [IN COUNTS)830 C1 INT [S1*T1 )-W1340 C2 INT(S2*T2)-W2350 C3 INT(S3*T3)-W3360 C4 INT(S4*T4)-W4370 C5 INT(S5*TS)-W5400 REMUPDATE WHERE WE WILL BE410 W1 W1 C1 :W2 W2 C2: W3 W3 C3: W4 W4 C4: W5 W5 C5420 @STEP S ,C1 ,-C2,03 ,-C4,C5425 U U 1430 UU[1 ,Ul C1431 UU(2,U) -C2a computer, teach programming is often not practical. Forexample, to move pieces on a chess- or checkerboardwould require manually teaching the 64 board locationsand the 64 correspondinglift-off points! In this case acoordinate system defining the workspace (or "world")would be more practical. In many situations Cartesianworld coordinatesare the most convenient. Placing asheet of graph paper on the worktable facilitates reading of26ROBOTICSAGESummer1980432 UU(3,U) C3433 UU(4,Ule -C4434 UU(5,U) C5450 UU(S,U) GR455 UU(7,U) S460 IF GR 0 GOTO 500461 REM' OPEN GRIP IF GR)O470 @STEP S,O,O,O,O,O,SR4BO GOTO 300490 REMCLOSE GRIP AND SQUEEZE IF GR 0500 CLOSE520 @STEP 100,0,0,O,0,O,GR530 GOTO 300640 .REM1000 PRINT " RUN THE PROGRAM"1010 FOR 1 2 TO U1020 @STEP UU (7 ,I) ,UU(1 ,I) ,UU(2 ,I) ,UU (3 ,I) ,UU(4,Il ,UU [5,1)1030 IF UU(6,I) 0 GOTO 10601040 @STEP UU(7 ,I) ,O,O,0,0,0,UU[6,I)1050 GOTO 11001060 @CL06E1080 @STEP 100,0,0,0,0,0,UU(6,I)1100 NEXT I1110 GOTO 10102000 END2010 REM5000 REMSUBROUTINE TO CALCULATE JOINT COORDINATES5010 REMENTER WITH X,Y,Z,PITCH,ROLL, ANO R15015 REMRETURN WITH JOINT ANGLES T1 TO T55020 P P/C:R R/C[IN RADIANS)5030 RR SQR(X*X Y*Y)5040 IF RR 2.25 THEN 60005050 IF X O THEN T1 SGN(Y)*PI/2 ELSE T1 ATN (Y/x)5060 IF X O GOTO 60005070 T4 P R R1*T1508D T5 P-R-R1*T15090 IF T4 -270/C OR T4)270/C GOTO 60005100 IF T5 -270/C OR T5)270/0 GOTO 60005110 RO RR-LL*COS[Pl5120 ZO Z-LL*SIN(PJ-H.513.0 IE. RO 2.25.GOTO 60.005140 IF AO O THEN G SGN(ZOl*PI/2 ELSE G ATN(ZO/RO)5150 A RO*RO Zo*ZO5160 A 4*L*UA-15170 IF A O GOTO 60005180 A ATN(SQR(All5190 T2 A G5200 T3 G--A5210 IF T2 144/C DR T2 -127/C GOTO 60005220 IF (T2-T3) 0 OR [T2-T3)149/C GOTO 60005230 RETURN6000 PRINT ,,********** OUT OF REACH **********"6010 END6020 REM9000 REMCOORDINATE DATA FOR PICK-AND-PLACE TASK9010 REMSTATEMENT 10000 IS INITIALIZATION POINT9020 REMSTATEMENT 10010-10070 OEFINE TRAJECTORY9030 REMSTATEMENT 10080 SIGNALS NO MORE DATA10000 DATA5, 0,0, -90,0,0,5010010 DATAB, 0, 1.5, 90,0,0;5010020 DATAB, 0, 0.5, -90,0, -30,5010030 DATA8, 0, 1.5, -90,0,0, 10010040 DATA6, 5, 1.5, -90, 90,0,5010050 DATA6,5, 0.5, -90, 90, 300,5010060 DATA6, 5, 1.5, -90, 90,0,5D10070 DATA8, 0, 1.5, -90,0,0,50100BD DATA-999, 0,0,0,0,0,athe pick-up and set-down coordinates directly.The Cartesian coordinate control program shown inTable 4 shows how this is done with the Mini Mover 5 inARMBASIC. For this program, the locations of the fourpositions of the pick-and-place task (A, B, C, D) aredefined by their Cartesian coordinates (see Figure 1). Thex, y, Z, coordinates (in inches) and pitch and roll angles (indegrees) at the fingertips are:

A (8,B (8,C (6,D 90)Note that the object is gripped at a point 0.5 inches abovethe table top (z O) and is raised (or lowered) l.0 inches forlift off (set down). Its x location is changed from 8 to 6inches and its y location changed from 0 to 5 inches. Theangular orientation of the gripper is always straight down(pitch -90 degrees), but the object is rotated 90 degreeson its vertical axis between pickup and set down (rollchanges from 0 to 90 degrees).Data for the Cartesian coordinate program is locatedafter statement 10000. Each data statement specifies anarm position and orientation in terms of x, y, z, pitch androll, and also includes a sixth parameter, governing thegrip opening (if positive) or squeezing force (if negative)after each move, and a seventh parameter governing thespeed setting during each move. The actual arm solution,beginning at statement 5000, takes an arm configurationspecified by the variables X, Y, Z, P, and R, and finds thejoint angles (in radians) that would place the arm in thatconfiguration. It also includes several tests to determine ifthe postion and orientation requested is within the reach ofthe arm.The first data statement gives the initialization point,which is used by the initialization phase of the program,statements 140-260, to tell the co

Typically, this work relies heavily on mathematical analysis, and requires highly sophisti-cated computing systems. Reference [1] provides a fairly complete survey ofthe work currently being done inthese . 0.23 rad/s 1.31 rad/s 1.31 red/s 3 lb/s (13N/5) 0.42 rad/s 36 d/s 0.82 r-ed/

Related Documents:

50 robots 100 robots 200 robots 1 robot Foraging Performance Over Time - Random Movement with Clustered Forage Items 0 10 20 30 40 50 60 70 80 90 100 Increasing Time % Completion 5 robots 10 robots 25 robots 50 robots 100 robots 200 robots 1 robot. COMP 4900A - Fall 2006 Chapter 11 - Multi-Robot Coordination 11-18

11) MEDICAL AND REHAB Medical and health-care robots include systems such as the da Vinci surgical robot and bionic prostheses TYPES OF MEDICAL AND HEALTHCARE ROBOTS Surgical robots Rehabilitation robots Bio-robots Telepresence robots Pharmacy automation Disinfection robots OPERATION ALERT !! The next slide shows

ment of various robots to replace human tasks [2]. There have also been many studies related to robots in the medical field. These in - clude surgical robots, rehabilitation robots, nursing assistant ro - bots, and hospital logistics robots [3]. Among these robots, surgi - cal robots have been actively used [4]. However, with the excep-

MINI MINI (R50, R53) Cooper, MINI MINI (R50, R53) One, MINI MINI Convertible (R52) Cooper, MINI MINI Convertible (R52) One The steps may slightly vary depending on the car design. WWW.AUTODOC.CO.UK 1-27 Important! REQUIRED TOOLS: WWW.AUTODOC.CO.UK 2-27 Wire brush WD-40 spray Copper grease Combination spanner #16 Combination spanner #18

MINI MINI (R50, R53) Cooper, MINI MINI (R50, R53) One, MINI MINI Convertible (R52) Cooper, MINI MINI Convertible (R52) One The steps may slightly vary depending on the car design. WWW.AUTODOC.CO.UK 1-15 Important! REQUIRED TOOLS: WWW.AUTODOC.CO.UK 2-15 High-temperature anti-seize lubricant Drive socket # 10 Ratchet wrench

robot is an intelligent system that interacts with the physical environment through sensors and effects. We can distinguish different types of robots [7]: androids, robots built to mimic human behaviour and appearance; static robots, robots used in various factories and laboratories such as robot arms; mobile robots, robots

The most widespread applications of medical service robots right now are transporter robots and disinfection robots. Both types of robots offer immediate benefits for reduction of cross-infection, and improved operational efficiency. Transporter Robots: One of the huge challenges facing hospitals today is the shortage of medical staff.

tonomous guided vehicles, drones, medical robots, field/ agricultural robots, or others.11 To be sure, traditional industrial robots are the big-gest segment of the robotics market. . of most types of service robots is projected to decline by between 2 and 9 percent each year as well.24 Not all of the new robots are being deployed to sup- .