EP0124540A4 - Improved robotic arm. - Google Patents
Improved robotic arm.Info
- Publication number
- EP0124540A4 EP0124540A4 EP19830903263 EP83903263A EP0124540A4 EP 0124540 A4 EP0124540 A4 EP 0124540A4 EP 19830903263 EP19830903263 EP 19830903263 EP 83903263 A EP83903263 A EP 83903263A EP 0124540 A4 EP0124540 A4 EP 0124540A4
- Authority
- EP
- European Patent Office
- Prior art keywords
- structural member
- home
- cable
- predetermined
- position sensor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/10—Programme-controlled manipulators characterised by positioning means for manipulator elements
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/02—Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type
- B25J9/04—Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type by rotating at least one arm, excluding the head movement itself, e.g. cylindrical coordinate type or polar coordinate type
- B25J9/046—Revolute coordinate type
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/10—Programme-controlled manipulators characterised by positioning means for manipulator elements
- B25J9/104—Programme-controlled manipulators characterised by positioning means for manipulator elements with cables, chains or ribbons
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1692—Calibration of manipulator
Definitions
- the present invention relates generally to robots and robot control and, more particularly, to partial open-loop control of tendon manipulated robot arms.
- robotic arms have been constructed and designed for use as either expensive, complex and heavy-duty arms for heavy industrial use, or inexpen ⁇ sive, light-duty arms for educational and robotic research purposes.
- closed-loop control systems are typically util ⁇ ized with drive motors and shaft encoders often located at each of the joints. Typical of these robots are those manufactured by Uni ation Corporation and Cin ⁇ cinnati Milacron Corporation.
- the closed-loop con ⁇ figuration, as well as the use of shaft encoders and drives at each joint permits an arm in which precise control can be realized.
- the structural components must be strengthened accordingly.
- the drive mechanisms must also be increased in capacity. As a result, such heavy-duty robots are expensive, bulky and of great size.
- the drive motors for each segment of the arm are located at the base of the arm, with the motive energy being transmitted to each joint by way of a cable and pulley system, utilizing tendon technology.
- This permits each segment of the arm to be of significantly lighter weight.
- such an arm is controlled open-loop. That is, the position of each member is controlled by keeping track of the signal supplied to the motor drives, with the assumption that the particular member will move exactly in accordance with the drive signal supplied thereto.
- Such a configuration provides an inherent problem, that of keeping track of the actual position, versus the commanded position, of the arm, and each of its structural members.
- the arm With open-loop control, the arm is susceptible to mispositioning due to a number of factors, such as an external force which causes the arm to be bumped out of its current posi ⁇ tion and into another different position.
- the control circuitry for this open-loop configuration will have no way of detecting that such an event occurred.
- the cumulative error in and of itself may result in a positional difference from that which has been commanded.
- Another source of mispositioning is slippage of the motor drives. For example, when stepper motors are used, such stepper motors are susceptible to slippage when a force greater than the maximum torque suppliable by the stepper motor is presented by an external object.
- the typical robotic arm is comprised of a number of structural members, each structural member being linked to another by way of a joint.
- the cables or tendons by which rotational energy is transferred, from the motor drives on the base to the structural members, are themselves routed to the desired structural member via other structural members and joints.
- the movement of a particular structural member can affect the position of other structural members.
- an idler pulley is located on an intermediate joint.
- the cable is wrapped about this idler pulley.
- the struc ⁇ tural member driven by that cable is positioned at the end of the intermediate structural member which pivots about the joint on which the idler pulley is posi ⁇ tioned.
- the movement of the inter ⁇ mediate structural member causes the cable to wrap or unwrap an additional amount about the idler pulley.
- this wrapping or unwrapping looks like the motor drive is causing the cables or tendons to be moved.
- this structural member moves when the intermediate structural moves.
- certain of the struc ⁇ tural members do not influence the position of other structural members.
- each structural member is pivottably coupled to another of the struc ⁇ tural members to form a number of joints, for position- calibrating each structural member comprising position sensor means located at each joint for providing a home signal when the structural members associated with the joint are in a predetermined orientation; and control means responsive to the home signal from each position sensor means for modifying the position of each struc- tural member in a predetermined order and by predeter ⁇ mined positional increments so that each of the structural member is caused to be positioned with respect to one another such that all position sensors simultaneously provide home signals.
- each of the structural members are controlled by one or more separate motors.
- the motor is coupled to the particular structural member by way of a cable/pulley drive train.
- the present invention provides position calibration of the various structural members with respect to one another by providing drive signals to each of the motor/cable/pulley drive arrangements in response to the output states of the position sensors.
- the first step of the procedure is to simultaneously modify the position of all structural members in the direction of the home position of each structural member until a change in state for each of the associated position sensors is encountered.
- the next step is to move the structural members in an ordered sequence, one by one, until each structural member has encountered its home position.
- the final step is to move each structural member, in an ordered sequence, one predetermined position increment away from its home position, to verify that the home position has been encountered.
- the present invention also provides an apparatus and method for securing and routing the various drive cables to the pulley structures so that a more positive coupling between the motors and the structural members can be obtained.
- Figure 1 is a simplified block diagram of the robotic arm and control system of the present invention.
- Figure 2 is a simplified depiction of the robotic arm of the present invention, illustrating the motor/ cable/pulley drive arrangement.
- Figure 3 is a rear view of the robotic arm of the present invention, illustrating the routing and posi ⁇ tioning of the various pulleys and cables on two of the joints.
- Figure 4 is a diagram illustrating the arrangement of the pitch of the grooves for each pulley in a sequence of pulleys according to the present invention.
- Figure 6a illustrates the positioning of a spher ⁇ ical member upon a cable in accordance with the present invention.
- Figure 6b is a cross-section of the spherical member of Figure 6a taken along lines 6b-6b.
- Figure 6c illustrates the positioning of the swaged spherical member and cable with respect to a pulley.
- Figure 6d is a top view of the spherical member which has been swaged to a . cable and positioned in a slot on a pulley in accordance with the present invention.
- FIG. 5 illustrates the cabling and pulley arrangements for the various structural members of the present invention.
- Figure 7a illustrates one embodiment of a position sensor.
- Figure 7b illustrates a cross-section of the position sensor or Figure 7a, taken along lines 7b-7b.
- Figure 8 is a cut-away view of an embodiment of a position sensor for sensing the position of a cable.
- Figure 9 is a simplified block diagram of the method of position calibrating of the present invention.
- Figure 10 is a more detailed block diagram of the method of position calibration of the present invention.
- the robotic arm 10 is controlled by an intelligent controller 12.
- the intelligent controller 12 provides motor drive signals to motors 14, such as stepper motors shown mounted on the body 16 of the arm 10, via motor driver circuitry 22.
- the robot arm 10 is comprised of several struc ⁇ tural members.
- a base 24 is provided to support the other structural members.
- a body 16 is mounted for rotation in a plane horizontal to the plane of the base by way of base joint 26.
- Such a joint can be considered to be a swivel joint.
- Upper arm 28 is mounted at ope end to body 16 by way of a shoulder joint 30. This shoulder joint can be termed a hinge joint.
- the other end of upper arm 28 is coupled to forearm 32 by way of elbow joint 34.
- Elbow joint 34 can also be described as a hinge-type joint.
- Hand or gripper 36 is coupled to forearm 32 by way of wrist joint 38.
- Wrist joint 38 is a differential joint.
- the differential joint which couples hand 36 to forearm 32 permits hand 36 to be positioned with respect to forearm 32 in any position within a partial sphere which extends from at the top of forearm 32,
- OMPI in an upward arc therefrom, and terminates toward the bottom of forearm 32.
- Hand 36 can be rotated anywhere within this partial sphere.
- the elbow joint 34 permits forearm 32 to be pivotted in a common plane with respect to upper arm 28 over approximately 180 degrees.
- Shoulder joint 30 permits upper arm 28 to be pivotted in a common plane, with respect to body 16, over approximately 180 degrees.
- base joint 16 permits body 16 to be rotated with respect to base 24 in a plane horizontal to base 24 over nearly 360 degrees.
- motor 14 controls the position of each of the structural members.
- a single motor 14 is shown.
- motor 14 is a stepper motor. It is to be under ⁇ stood that, in practice, there will be a plurality of stepper motors with each stepper motor being assigned to control a particular structural member.
- Stepper motor 14 is mounted to body 16 and coupled to a timing belt gear 40 via a timing belt 42.
- Timing belt gear 40 is mounted for rotation on a common drive shaft 44.
- the timing belt gears associated with the other stepper motors are also mounted on this common drive shaft 44.
- a drive capstan 46 is coupled for rotation with timing belt gear 40 and also mounted on common drive shaft 44. See Figure 3.
- stepper motor 14 rotates, timing belt 42 transfers the rota- tional motion to timing belt gear 40.
- capstan 44 is caused to rotate about common drive shaft 44.
- a cable 48 is wrapped a predetermined number of times about capstan 46.
- One end of cable 48 is then wrapped about idler pulley 50 from the top. Idler pulley 50, is supported for rotation by shoulder axle 52, which in turn forms a part of shoulder joint 30.
- the other end of cable 48 is wrapped about idler pulley 50 from the bottom thereof.
- the ends of cable 48 are then extended through upper arm 28 and wrapped about drive pulley 54.
- Drive pulley 54 is rotatably mounted on elbow axle 56 and fixedly secured to the end of forearm 32.
- one end of cable 48 is wrapped about drive pulley 54 from the top, while the other end of cable 48 is wrapped about drive pulley 54 from the bottom.
- the free ends of cable 48 are then secured to forearm 32.
- Elbow axle 56 forms a part of elbow joint 34.
- capstan 46 is caused to rotate by the rotation of timing belt gear 40 , such rotation is transferred to the elbow drive pulley 54 via cable 48 and idler pulley 50. Because drive pulley 54 is fixedly attached to the end of forearm 32, the rotation of drive pulley 54 causes forearm 32 to pivot about elbow joint 34.
- a stepper motor 14, timing belt, timing gear, capstan, idler pulley, drive pulley, and drive cable configuration is utilized to drive each of the other structural members.
- the positioning of the timing belt gears on common drive shaft 44 can be seen.
- the positioning of the various idler pulleys and drive pulleys on shoulder axle 52 can also be seen.
- Figure 3 illustrates the positioning of various idler pulleys and drive pulleys on elbow axle 56. Also shown is the routing of the various drive cables between the capstans, idler pulleys and drive pulleys between the common drive shaft 44, shoulder axle 52 and elbow axle 56.
- timing belt gear 58 causes capstan 60 to rotate. This rotational motion is transferred via drive cable 62, to shoulder drive pulley 64. Shoulder drive pulley 64 is fixedly attached to upper arm 28 and rotatably mounted on shoulder axle 52.
- timing belt gear 66 drives capstan 68, which in turn controls drive cable 70.
- Drive cable 70 can be seen to wrap around idler pulley 72, which is rotatably mounted on shaft 52 of shoulder joint 30.
- Drive cable 70 extends through upper arm 28 to wrap around idler pulley 74, which is rotatably mounted on elbow axle 56 of elbow joint 34.
- drive cable 70 extends from idler pulley 74 through forearm 32 to wrap around differential drive pulley 76.
- Differential drive pulley 76 can be seen more clearly in Figure 1. Rotation of differential drive pulley 76 in conjunction with the complementary differential drive pulley 78 acts to change the position of hand 36.
- Differential pulleys 76 and 78 are rotatably mounted on wrist axle 80 which is located in wrist joint 38. Differential pulleys 76 and 78 each drive a bevel gear. In turn, each beve-l gear meshes with a bevel gear on the hand 36. By rotating differential pulleys 76 and 78 in the same direction, pitch is achieved. By driving differential pulleys 76 and 78 in the opposite direction, roll is achieved.
- the cable which drives differential pulley 78 is shown in Figure 3, and is labelled with reference designation 82.
- This cable is driven by capstan 84 and timing belt pulley 86.
- Drive cable 82 passes around idler pulley 88 which is mounted on shoulder axle 52 and around idler pulley 90 which is mounted on elbow axle 56.
- a stepper motor 14 drives a shaft 92 which, in turn, drives timing belt 94.
- Timing belt 94 drives timing belt gear 96, and hence capstan 98.
- Capstan 98 drives cable 100.
- Cable 100 is wrapped around idler pulley 102 which is rotatably mounted on shoulder axle 52. Additionally, cable 100 is wrapped around idler pulley 104 which is rotatably mounted on elbow axle 56.
- drive cable 100 extends as a single length through forearm 32 to hand 36. Cable 100 is utilized to open and close hand 36.
- timing belt 106 is driven by a stepper motor to drive capstan 108.
- capstan 108 drives cable 110.
- Cable 110 is routed to base pulley 112 via idler pulley 114.
- the purpose of idler pulleys 114 is to change the direction of cable 110 so that the cable feed is tangent to the surface of both capstan 108 and base drive pulley 112.
- the advantage of arranging the pitch of the grooves in an alternating manner from pulley to pulley is that the cable can now exit and enter the grooves on the pulleys in better alignment therewith.
- the cable As the cable exits from capstan 46, it extends in a substan- tially straight line to a corresponding groove on idler pulley 54. Cable 48 is then wrapped around idler pulley 54 in a direction which is determined by the pitch of the grooves thereon.
- the pitch of idler pulley 54 which is a lefthanded pitch, causes that portion of cable 48 to be wrapped toward the interior of idler pulley 54.
- the cable 48 which enters from the bottom of idler pulley 54 the cable is also wrapped toward the interior of idler pulley 54. If, on the other hand, idler-pulley 54 were of the same pitch orientation as capstan 46, the cable portion which enters idler pulley 54 from the top would be wrapped in a direction toward the exterior of the pulley. Similarly, the portion of cable 48 which enters idler pulley 54 from the bottom would be wound in a direction toward the exterior of the pulley.
- both cable portions must enter the idler pulley at its center so that they can then be wound, according to the pitch, toward the exterior of idler pulley 54.
- the angle of entry is much more accute than when an alternating pitch direction is used.
- the more accute entry angles of the non-alternating pitch arrangement results in greater cable wear due to the rubbing of the cables against the sidewalls of the grooves. Additionally, the grooves themselves must be-made deeper in order to maintain the cables within the grooves.
- Capstan 60 and shoulder drive pulley 64 both have a righthanded pitch. This is because only one end of cable 62 is wrapped around shoulder drive pulley 64. The other end of cable 62 is positioned over a small portion of shoulder drive
- OMPI pulley 64 As can be seen from Figure 5, the ends of drive cable 62 are secured to the upper arm 28.
- capstan 68 has a lefthanded pitch
- idler pulley 72 has a righthanded pitch
- idler pulley 74 has a lefthanded pitch
- differential drive pulley 76 has a righthanded pitch.
- drive cable 70 from capstan 68 enters idler pulley 72 from the exterior thereof and exits therefrom from the interior of drive pulley 72.
- Cable 70 from idler pulley 72 enters idler pulley 74 from the interior thereof and exits from the exterior thereof.
- cable 70 from idler pulley 74 enters differential drive pulley 76 from the exterior of the drive pulley.
- drive cable 70 are joined together at a joint 116.
- the ends of cable 70 are joined in this manner for purposes of convenience, there being no convenient point on drive pulley 76 to which the cable ends can be secured.
- the drive linkage for differential drive pulley 78 is similar to that for differential drive pulley 76, except that the pitch variation is from a righthanded pitch at capstan 84 to a lefthanded pitch at idler pulley 88 to a righthanded pitch at idler pulley 90 and finally to a lefthanded pitch at differential drive pulley 78.
- cable 100 which opens and closes hand 35, is shown as a single length which is wrapped around capstan 98, idler pulley 102, and idler pulley 104.
- the grooves for all of these elements are orientated in a righthand pitch.
- the other end of cable 100 is shown anchored to the drive gear 96.
- the position of the cable can be shifted toward the center of the robotic arm as the cable is extended therethrough.
- timing belt gear 96 and capstan 98 are positioned off-center and on common drive shaft 44.
- the righthand pitch of the grooves on idler pulley 102 and idler pulley 104 cause the cable, as it is wrapped around each idler pulley, to progress from the left to right and thereby 10 towards the center of the arm.
- the drive linkage for elbow drive pulley 54 provides for a righthand capstan 46, a lefthand idler pulley 50, and a righthand 15 drive pulley 54.
- Figures 6a through 6d illustrate a further feature of the present invention. It has been discovered that, by swaging a spherical ball onto each drive cable and then positioning this swaged ball in a slot in the 20 capstan associated with the drive cable, that a more positive drive capability and easier assembly is achieved. This is because positioning of the ball within the groove fixes the position of the cable with, respect to the capstan. This procedure is also util- 25 ized for positively positioning a cable with respect to each of the idler pulleys.
- Figure 6a shows the positioning of the ball 118 on a drive cable.
- Figure 6b illustrates a cross-section of ball 118 taken along lines 6b-6b of Figure 6a.
- Figure 6c illustrates the positioning of the swaged ball within slot 120 which has been cut into a capstan or idler pulley.
- Figure 6d is a top view of the swaged ball as it is positioned within a slot 120.
- each of the cable portions which are 35 wrapped around a capstan will be anchored to the capstan using a swaged ball arrangement.
- a swaged ball 118 and slot 120 arrangement will be used.
- a swaged arrangement is also be used. This is because the ends of the cables associated therewith are not anchored to a structural member, but rather tied to one another.
- control of the system of the present invention is generally open-loop. That is, drive signals are supplied to motors 14 which turn the various capstans for movement of the various drive cables. As result of the drive cable movement, the desired structural members are changed in position. It is asssumed that each structural member will move in accordance with the drive signals supplied to its associated motor 14. Thus, errors can result in the position of the structural members when the motor 14 slips or when an external force causes the particular structural member to be moved out of position. Because no shaft encoders are utilized, there is no straight ⁇ forward manner in which the actual position of each structural member can be easily obtained. The deter ⁇ mination of structural member position is further complicated by the- coupling between the various struc- tural members as discussed above.
- a method and apparatus for calibrating the position of each structural member There is provided in associa ⁇ tion with the structural members which rotate about each of the various joints, a position sensor which provides an output which has one of two states. The transition between these two- states is treated as a reference or home signal for the associated structural members for a particular joint.
- a reference or home position can be obtained. All subsequent movement of the various structural members can then be referenced to this home position. Additionally, any mispositioning of the various struc- tural members can be determined by counting the number of commands or steps actually required to position a structural member into its home position and by comparing that number with the theoretical number of commands which should have been required to place the particular structural member into its home position.
- a homing mode can be entered into by which the arm can calibrate its position, determine any position errors, and thereby correct any mispositioning.
- Figure 7a is a simpli ⁇ fied view of a position sensor which can be disposed on the elbow joint 34.
- a portion of forearm 32 is shown mounted on elbow axle 56 with respect to a portion of upper arm 28.
- a tab 122 is shown positioned on forearm 32 at a predetermined radial distance from elbow axle 56.
- a light emitting diode (LED) photo- transistor element-124 is shown positioned on upper arm 28 at the same predetermined radial distance from elbow axle 56.
- Figure 7b is a view of the above-described arrangement taken along line 7b-7b of Figure 7a.
- LED/phototransistor element 124 comprises a LED portion 126 and a phototransistor portion 128.
- Similar position sensors are disposed on the shoulder joint 30 and the base joint 26. It is to be understood that other forms of position sensors can be utilized with satisfactory results. Such sensors include microswitches, and the like.
- the ends of drive cable 70 are tied to one another at junction 116. See Figure 5.
- the ends of drive cable 82 are tied to one another at junction 117.
- these junctions take the form of turnbuckles which permit easy adjust ⁇ ment of the tension of the cables.
- turnbuckle 132 can be seen to join the ends of cable 70 together
- turnbuckle 134 can be seen to join the ends of cable 82 together.
- cable 70 is fastened to differential drive pulley 76 by a swaged ball disposed in a slot within differential drive pulley 76, and that cable 82 is fastened to differential drive pulley 78 in a similar manner.
- the position of each of the differential drive pulleys 76 and 78 can be related directly to the position of cables 70 and 82.
- Figure 8 shows a cutaway portion of forearm 32. Cables 70 and 82 are shown passing through this portion. These cables 70 and 82 both pass through apertures within plates 136 and 138. Plate 136 is pivottably mounted to forearm 32 by way of shaft 140, while plate 138 is pivottably mounted to forearm 32 by shaft 142. Shaft 144 provides a pivot-limit to plate 136 while shaft 148 provides the pivot-limit to plate 138.
- a spring 150 is connected between the tops of plates 136 and 138 to bias the tops of the plates towards one another.
- the plates 136 and 138 are located with respect to one another and with respect of drive cables 70 and 82 so that joints 116 and 117 are located between the plates 136 and.138.
- Positioned at joint 116 is a disc 152, while positioned at joint 117 is a disc 154.
- Each of these discs is positioned at right angles to their associated cables.
- Plates 136 and 138 also serve as mechanical stops for each of the cables; thus, plate 138 serves as a mechanical stop for cable 70, while plate 136 serves as a mechanical stop for cable 82.
- each cable associated with the end of the cable travel is chosen as the position to be sensed.
- plate 138 is shown positioned with respect to disc 152 on joint 160 so that when disc 152 engages with plate 138, cable 70 is at the end of its desired travel.
- plate 136 is shown positioned with respect to joint 170 and disc 134 such that when disc 134 engages with plate 136, cable 82 is at the end of its desired travel.
- a tab 156 and a LED/phototransistor element 158 Shown positioned on plate 138 is a tab 156 and a LED/phototransistor element 158, which function in a manner similar to the position sensor described in connection with Figures 7a and 7b.
- spring 150 biases plate 138 such that tab 156 is separated from LED/photo ⁇ transistor 158.
- tab 156 interrupts the light beam within the gap of LED/phototransistor 158.
- LED/phototransistor arrangement is disposed toward the bottom portion of plate 136.
- the tab and LED/phototransistor structure associated with plate 136 is not shown.
- the tab of this structure is disposed within the gap of the LED/phototransistor element when disc 154 is disengaged from plate 136.
- the tab is removed from the gap of the LED/phototransistor element.
- the position sensors are located on the structural members such that only one state transi ⁇ tion can occur in the range of motions for the particu- lar structural members.
- the state of the position sensors also indicates in what direction the structural members should be manipu ⁇ lated in order to produce or attain the state transition or home position.
- step 162 drive signals are provided, in parallel, to all of the motors 14 until a transition in the output state for each position sensor is detected. These transitions are also called edges. When a particular sensor outputs a transition, the associated structural member is caused to move back and forth across this transition. When all of the position sensors have provided an output state transition, step 162 is executed.
- step 162 the motors 14 are driven in an ordered sequence.
- This ordered sequence begins with the driving of the motor 14 associated with the struc ⁇ tural member having the highest degree of coupling to the other structural members.
- step 162 would operate upon upper arm 28 initially, followed by forearm 32, and then hand 36. It is to be under ⁇ stood * that this sequence will change if the coupling between the structural members changes. Thus, if there were inward coupling, such that the hand 36 had the highest degree of coupling and the upper arm 28 had the lowest degree of coupling, the hand 36 would be processed first and the upper arm 28 would be processed last.
- each motor 14 would be driven in the ordered sequence, until its associated position sensor indicated that a home state had been reached.
- home state is defined as an arbitrary state of a particular position sensor, the state being determined by the output state of the position sensor on one side of the edge or transition. Recall that each position sensor supplies one of two output states, and that the transition between these states is of key interest. Because it is difficult to maintain the position of a structural " member so that the associated position sensor is at its output transition, a posi ⁇ tion to one side or the other of the transition is designated as the home state.
- the home state for a particular position sensor corresponds to. the sensor output state for a position a small distance removed from the transition position, and in a predetermined direction.
- the home state would be chosen as that which indicates that the tab 122 is positioned within gap 130.
- the home state would be chosen to correspond to the output of the LED/phototransistor element when the tab is removed from gap.
- step 164 is executed.
- the motors 14 are driven, in the same ordered sequence as in step 162, to cause their associated structural members to move in the opposite direction by a pre ⁇ determined amount until the position sensor makes a transition out of its home state.
- the purpose of step 164 is to ensure that each of the joints is positioned within a preselected incremental position of the transition point of the position sensors.
- all of the structural .members can be said to be within one incre ⁇ mental unit of their home position.
- the structural members of the robotic arm 10 are controlled by a cable and pulley system which are, in turn, driven by motors 14.
- Motors 14 receive drive signals from motor driver circuitry 22.
- motor driver circuit 22 receives instructions from an intelligent controller 12.
- This intelligent controller ' 12 can be a general purpose microcomputer or a dedicated micro ⁇ processor.
- the intelligent controller 12 receives the outputs of the various position sensors via line 166. It is to be understood that the embodiment which will be subsequently described is but one of a number of possible implementations of the position calibration method of the present invention. Other embodiments can include separate hardware for controlling each of the different positioning and sensing sequences.
- the intelligent controller 12 maintains a internal set of position registers, sensor state registers, and toggle registers.
- motors 14 are stepper motors such that the drive signals provided to the motors by motor driver cir- cuitry 22 are in the form of a series of unit steps.
- the number of unit steps provided to a par ⁇ ticular stepper motor 14 can be related to the position of the structural member which is controlled by the particular stepper motor 14.
- the position register maintained by intelligent controller 12 are
- the position registers can be up/down counters such that a net-position count will be main ⁇ tained. For example, when the intelligent controller 12 provides a sequence of unit steps corresponding to the rotation of the stepper motor in a particular direction, the up/down counter would increment its count by the number of steps within the command. When the intelligent controller 12 provides a number of steps which will cause the motor to rotate in an opposite direction, the up/down counter will decrement its count by that number of steps. Thus, the resulting count within the up/down counter will be a net position count.
- step 168 corresponds to the power-on and reset mode of the control system. Typically, this includes the application of power to the stepper motors, and the stablization of the various control circuits, drive circuits, and the various structural members within robotic arm 10.
- step 170 is processed in which the state of the position registers is set to zero. This provides an initial starting point for the intelligent controller 12.
- the arm 10 is in its home position at this step.
- step 172 is executed in which the robotic arm 10 is operated in its normal mode, or in an idle state.
- step 172 the intelligent controller 12 will be instructed to enter step 174, which corre ⁇ sponds to the start of the homing or position calibra- tion operation.
- step 176 is first executed.
- the robotic arm is moved from whatever its current position back to the position which corresponds to a position register state of all zeros.
- the position registers were set to zero, the robotic arm 10 was at or near its home position. If such were the case when step 170 was processed, step 176 will cause the arm to move to a point which is in the approximate area of the home position of the arm 10.
- step 176 all of the structural members are driven simultaneously.
- step 176 is executed over a predetermined time.
- the intelligent controller 12 can determine which structural member is required to move the furthest.
- the motor corresponding to that particular structural member would then be provided with an uninterrupted series of steps, the number of which would correspond to the number contained in the appropriate position register.
- the stepper motors corresponding to those structural members which are a lesser number of steps away from position zero will be provided with a drive signal in which steps are inserted periodically during the signal to the struc ⁇ tural member having to move the furthest.
- the period with which these steps are inserted is a function of the number of steps which must be output to the par ⁇ ticular motor and the amount of time allotted therefor.
- the toggle registers are set to zero in step 178. This prepares the toggle registers to record whether or not a transition has
- step 180 is executed in which the sensor state registers are set to the then current values of the position sensor outputs.
- step 182 is executed in which all of the motors are commanded, simultaneously, to move a predetermined unit step in the direction of the transition point of each position sensor.
- the position sensors are located so that there is a single transition within the range of motion of the particular structural member with which it is associated. As such, by knowing the state of the position sensors, the direction of the state transition, and hence that of the home position, can be derived therefrom.
- step 182 the intelligent controller will be able to determine the direction in which to command each motor to move, such that the resulting movement will be toward the sensor edge or transition point.
- the speed at which each motor is commanded to turn in step 182 is typically lower than that used in step 176.
- the intelligent controller 12 examines the outputs of all of the position sensors, step 184-. If the sensor output for a particular sensor is equal to the sensor state in its corresponding sensor state register, it is clear that no transition has occurred, and that the home state for the structural member has not yet been reached. Step 184 is repeated for each of the position sensors.
- step 188 is then processed.
- the intelligent controller 12 determines whether all of the toggle registers have been set to one. If not, the system returns to step 180 in which the sensor registers are reset to the then current output states of the position sensors. Step 182 is then repeated to move each of the structural members one more unit step toward their sensor edge. For the position sensors in which a transition had previously occurred, the execution of step 182 will cause the structural member to move one step in the opposite direction.
- step 184 when step 184 is again executed, the correspond ⁇ ing toggle register will again be set to one in step 186.
- the sequence of steps 180, 182, 184, 186 and 188 will move each of the structural members toward their corresponding position sensor edge, and once such edge is encountered for each structural member, cause that structural member to vary in posi ⁇ tion about that sensor edge.
- step 190 the intelligent controller will determine whether or not the sensor is in its designated home state. Recall that the home state is in arbitrarily selected output value, which has been selected for each of the position sensors.
- Steps 190 and 192 which are entered if the result of step 190 indicates that all toggle registers have been set to one, are executed in connection with one motor at a time. Additionally, the motors are operated upon in a predetermined sequence. In this set of step sequences, the coupling between the various structural members is taken into account to minimize the interac ⁇ tion of one member upon the others. Thus, the motors and their associated structural members are operated upon in a sequence which begins with the structural member having the greatest amount of coupling to the other structural members, and continues with the structural member having the next lower amount of coupling.
- the sequence ends with the structural member and associated motor having the least degree of coupling with respect to the other structural members.
- the upper arm 28 will be processed first followed by the forearm 32 and then the hand 36.
- the intelligent controller 12 will cause the motor to move the structural member, slowly, one unit step toward the home state.
- a gradual or slow movement is utilized here to prevent the movement of the particular struc ⁇ tural member from creating vibrations which could potentially cause the states of the other position sensors to change.
- the base position is modified first, even though the base 24 has a low degree of coupling. This avoids moving a lot of mass at the end of the calibration sequence.
- Steps 190 and 192 are repeated for each of the structural members, in accordance with the sequence discussed above, until all position sensors are in their respective home states.
- steps 194 and 196 are then executed for each motor and associated structural member and in accordance with the designated sequence, as discussed above.
- the purpose of executing step 194 and step 196 is to provide a second check of the position sensor states and to allow for the situation where a structural member, subsequently, has been moved out of position due to the movement of structural members processed later in the sequence in steps 190 and 192.
- step 198 is then processed.
- the intelligent controller 12 causes the motor to move slowly one step away from the desired home position.
- the sensor state is then checked in step 200.
- Step 200 is provided to ensure that the sensor is within one step of its transition point. Thus, if in step 200, the sensor is still in its home state, this is indicative that the transition point has not been crossed. Thus, the system will proceed back to step 198 and move the structural member and motor one step closer to the home position. Steps 194/196 and 198/200 are repeated for each motor and associated structural member, and in accord ⁇ ance with the predetermined sequence discussed above.
- step 200 the intelligent controller 12 proceeds to step 202. While step 202 is not essential to the operation of the method of the present invention, the execution of this step is valuable in determining whether any positional errors exist.
- step 202 the contents of the position registers are examined. Assuming that the robotic arm
- OMPi 10 was in its home position when the position registers were set to zero in step 170, the position registers should theoretically equal zero at step 202. If there are non-zero quantities in the position registers, this is indicative that the robotic arm has somehow been moved by an external force, or that the stepper motors have slipped in some manner.
- the quantity in the position registers is also valuable in calculating the amount of force being applied by a particular structural member to an external object. This is because force supplied by the structural member can be related to the number of steps slipped by the associated drive motor 14. This force is also a function of the moment arm associated with the structural member and with the speed of the arm.
- step 202 the system returns to step 170 in which the position registers are set to zero. This then causes the zero condition of the position registers to correspond to the home posi- tion of the robotic arm. After step 170, the system returns to normal operation and/or idle operation until another homing or position calibration operation is desired.
- the present invention employs posi ⁇ tion sensors which generate a transition between two different states when the home position or reference point is reached for the particular structural member. The present invention is then able to utilize this transition information to provide an accurate position calibration.
- This capability is further enhanced by the method of routing the tendons or drive cables, from drive capstans to idler pulleys and to drive pulleys, as described above.
- the utilization of a swaged ball on each cable, which is then inserted into the capstan and idler pulleys, further enhances the precision of the position calibration system, as well as the preci ⁇ sion of operation of the arm during normal operation.
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US43831482A | 1982-11-01 | 1982-11-01 | |
US438314 | 1982-11-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
EP0124540A1 EP0124540A1 (en) | 1984-11-14 |
EP0124540A4 true EP0124540A4 (en) | 1986-07-10 |
Family
ID=23740161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP19830903263 Withdrawn EP0124540A4 (en) | 1982-11-01 | 1983-09-21 | Improved robotic arm. |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP0124540A4 (en) |
JP (1) | JPS59501942A (en) |
FI (1) | FI842665A (en) |
IL (1) | IL69862A (en) |
WO (1) | WO1984001740A1 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60127985A (en) * | 1983-12-15 | 1985-07-08 | ファナック株式会社 | Regulator for position of origin of industrial robot |
JPS60172480A (en) * | 1984-02-20 | 1985-09-05 | フアナツク株式会社 | Joint type robot |
GB2168676A (en) * | 1984-10-19 | 1986-06-25 | Robot City Technology Limited | Robotic arm |
DE3522337A1 (en) * | 1985-06-22 | 1987-02-05 | Bosch Gmbh Robert | ROBOT JOINT WITH AN ELECTRIC DRIVE MOTOR |
NL1010446C2 (en) * | 1998-11-02 | 2000-05-03 | Exact Dynamics B V | Manipulator. |
CN101948011B (en) * | 2010-09-09 | 2013-06-26 | 北京航空航天大学 | Hexapod universal walking multifunctional moonshot robot |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US636138A (en) * | 1898-01-17 | 1899-10-31 | John Hatfield | Driving attachment for wire cables. |
JPS50119181A (en) * | 1974-03-08 | 1975-09-18 | ||
JPS516666A (en) * | 1974-07-06 | 1976-01-20 | Handotai Kenkyu Shinkokai | TANKETSUSHOHAKUMAKUSAKUSEIHOHO |
FR2278457A1 (en) * | 1974-07-18 | 1976-02-13 | Commissariat Energie Atomique | MOTORIZED MANIPULATOR WITH CABLES |
JPS5166660A (en) * | 1974-12-04 | 1976-06-09 | Tokyo Shibaura Electric Co | Kogyoyorobotsutono ichijohochoseisochi |
JPS5232479A (en) * | 1975-09-05 | 1977-03-11 | Nippon Denso Co Ltd | Original point return device of position control machine |
JPS542497A (en) * | 1977-06-08 | 1979-01-10 | Nippon Ratetsukusu Kakou Kk | Carpet packing agent with heat moldability |
US4259876A (en) * | 1979-10-02 | 1981-04-07 | Belyanin Petr N | Mechanical arm |
US4386270A (en) * | 1981-06-08 | 1983-05-31 | Data Technology, Inc. | Angular information transducer mounting |
JPS5866808A (en) * | 1981-10-17 | 1983-04-21 | Kobe Steel Ltd | Positioning method for origin of robot |
-
1983
- 1983-09-21 JP JP83503308A patent/JPS59501942A/en active Pending
- 1983-09-21 WO PCT/US1983/001431 patent/WO1984001740A1/en not_active Application Discontinuation
- 1983-09-21 EP EP19830903263 patent/EP0124540A4/en not_active Withdrawn
- 1983-09-28 IL IL69862A patent/IL69862A/en unknown
-
1984
- 1984-07-02 FI FI842665A patent/FI842665A/en not_active Application Discontinuation
Non-Patent Citations (1)
Title |
---|
No relevant documents have been disclosed * |
Also Published As
Publication number | Publication date |
---|---|
EP0124540A1 (en) | 1984-11-14 |
IL69862A (en) | 1986-09-30 |
IL69862A0 (en) | 1983-12-30 |
JPS59501942A (en) | 1984-11-22 |
FI842665A0 (en) | 1984-07-02 |
FI842665A (en) | 1984-07-02 |
WO1984001740A1 (en) | 1984-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4806066A (en) | Robotic arm | |
EP0044737B2 (en) | Articulated robot | |
US4518308A (en) | Manipulator apparatus | |
US5063334A (en) | Orthogonal two-axis moving apparatus | |
JP2826556B2 (en) | Industrial robot | |
US4641742A (en) | Article transfer apparatus | |
JP3578375B2 (en) | Robot arm drive and robot hand | |
US5640883A (en) | Industrial robot | |
US5173708A (en) | Attitude control system for antenna on mobile body | |
US6684128B1 (en) | Robot and method of controlling the robot | |
KR910006500B1 (en) | Servo motor controller | |
US3976206A (en) | Articulated master slave manipulator | |
WO1984001740A1 (en) | Improved robotic arm | |
US5920171A (en) | Starting-point returning apparatus for robot | |
US4731567A (en) | Method and apparatus for automated parts for storage and retrieval | |
JPH0415345A (en) | Turning driving device for robot arm | |
US4825135A (en) | Method and apparatus for providing mechanical amplification | |
JPS6072004A (en) | Control device of direct teaching type industrial robot | |
Nielsen et al. | MODRO: A Modular Concept for an Application-Adapted Robotic System | |
JPH05104466A (en) | Return-to-origin control device for articulated robot | |
JPH0643039B2 (en) | Arm drive device for articulated robot | |
JPH05104462A (en) | Two rectangular shaft type moving device | |
SU1404326A1 (en) | Manipulator | |
JPS61156406A (en) | Control method of industrial robot | |
JPH0318961Y2 (en) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 19840627 |
|
AK | Designated contracting states |
Designated state(s): AT BE CH DE FR GB LI LU NL SE |
|
A4 | Supplementary search report drawn up and despatched |
Effective date: 19860710 |
|
17Q | First examination report despatched |
Effective date: 19880509 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 19881122 |
|
RIN1 | Information on inventor provided before grant (corrected) |
Inventor name: RHODES, GUY, WALLACE Inventor name: HILL, JOHN, WESLEY Inventor name: GRIMM, THOMAS, MICHAEL Inventor name: SMITH, CLEMENT, MARCIUS |