A ROBOT
This invention relates to robotics. More particularly it relates to a robot. It further relates to a method of operating a robot and to a system.
The inventors are aware of two broad categories of robots, namely serial kinematic machines and parallel robotic machines.
Serial kinematic machines consist predominantly of revolute joints, although combinations of prismatic and revolute joints are used for specific applications. A serial kinematic machine typically includes a plurality of links which are connected in series and in which the actuator actuating a subsequent link is carried by a preceding link. This implies that each link carries the cumulative loads of all the links and their respective actuators that follow that link plus the mass of the payload. Actuators have to compensate by being higher powered, to put into and keep in motion, both the payload and the physical robot structure. The proportion of power used to actuate the physical robot structure may be large when considering end effectors carrying low mass payloads such as spray guns. A result of this arrangement is increased inertia and poorer dynamic performance at high velocities where high acceleration is required to reach the constant velocity of a typical trapezoidal velocity profile. There is also an adverse impact on the vibration and stiffness of the system. This negatively affects the accuracy of the end effector and repeatability of the system while also leading to higher power consumption. This is especially true for higher order or degree of freedom (DOF) systems such as the six DOF system commonly deployed due to its greater flexibility and operating workspace. Serial kinematic machines have the advantage of offering a larger workspace and a large degree of agility along with a low footprint to end effector reach ratio (small footprint to large end effector reach) when compared to parallel kinematic machines.
In a parallel kinematic machine on the other hand, actuators providing the required DOF are located on or closest to the base, hence ensuring the lowest centre of mass. This architecture improves dynamic response and performance especially at high velocities and accelerations, offers reduced vibration and an increase in system stiffness, pose stability, accuracy and repeatability of the machine. Power consumption and actuator torque requirements are also reduced as the actuators need not be as heavy and as high powered as they are no longer required to displace heavy subsequent links and actuators. Link structures are also lighter as they do not need the increased mechanical strength to carry subsequent actuators and links. The power required from actuators is used to predominantly move the payload or end effector and payload combination. The proportion of power used to actuate the physical robot structure is therefore low and the majority of the power capacity is dedicated to the movement of the payload. Parallel kinematic machines take many forms and the architectures may include prismatic joints (which are most common for this application), revolute joints or combinations of both. A disadvantage of a parallel kinematic machine is that they tend to have a relatively large footprint, hence the high footprint to end effector reach ratio. Further, they tend to have a relatively small operating workspace and reduced agility when compared with serial kinematic machines.
It is an object of this invention to provide means which the Inventor believes will at least ameliorate this problem.
According to one aspect of the invention there is provided a robot which includes:
a base;
at least two links;
an actuator associated with each link, the actuators being mounted on the base; and a drive train drivingly connecting each actuator to the associated link, at least one of the drive trains including at least one drive shaft and a bevel gear arrangement for transmitting drive.
At least one drive train includes a drive shaft which is drivingly connected to a subsequent drive shaft in the at least one drive train by a bevel gear arrangement.
The robot may include a plurality of elongate links which are connected in series, the drivetrain for each of at least some of the links including a drive shaft associated with at least one of the prior links. Each drive shaft may be drivingly connected to a subsequent drive shaft by a bevel gear arrangement.
The drive shafts associated with subsequent links may extend parallel with a prior link. In one embodiment, drive shafts may be arranged concentrically.
A first link of the at least two links may be connected to the base and displaceable relative to the base and a second link of the at least two links may be connected to the first link at a position spaced from the connection of the first link to the base, the first link being angularly displaceable relative to the base about a first axis by a first actuator which is drivingly connected to the first link by a first drive train, the second link being elongate and being connected to the first link for angular displacement relative to the first link about a transverse second axis, a second drive train drivingly connecting a second actuator to the second link and including a drive shaft which extends parallel with the first link and which includes a drive bevel gear connected at a distal end thereof which drivingly engages a driven bevel gear connected to the second link.
The robot may include a third link which is elongate and pivotally connected to the second link at a position longitudinally spaced from the connection of the second link to the first link for angular displacement relative to the second link about a third axis, a third drive train drivingly connecting a third actuator to the third link and including a first drive shaft which extends parallel with the first link, a second drive shaft which extends parallel with the second link and which is drivingly connected to the third link and a first bevel gear arrangement whereby the first drive shaft is drivingly connected to the second drive shaft.
The first bevel gear arrangement may include an intermediate shaft which extends co-axially with the second axis and which has on opposite ends thereof a bevel gear which drivingly engage complementary bevel gears provided on the first and second drive shafts.
In a preferred embodiment, the third axis extends transversely to the second link, the second drive shaft including a bevel gear connected at a distal end thereof which drivingly engages a driven bevel gear connected to the third link. The robot may include a fourth link which is elongate and is connected to the third link at a position spaced longitudinally from the connection of the third link to the second link, the fourth link being angularly displaceable relative to the third link about a fourth axis, a fourth drive train drivingly connecting a fourth actuator to the fourth link including a first drive shaft which extends parallel with the first link, a second drive shaft which extends parallel with the second link to which the first drive shaft is drivingly connected, a third drive shaft to which the second drive shaft is drivingly connected, the third drive shaft extending parallel with the third link and being drivingly connected to the fourth link. In the fourth drive train, drive from the first drive shaft to the second drive shaft may be through a first bevel gear arrangement and drive from the second drive shaft to the third drive shaft is through a second bevel gear arrangement, the third link and fourth link being connected end-to-end such that the fourth axis extends parallel with a longitudinal axis of the third and fourth links, the third drive shaft having a drive end which is drivingly connected to the fourth link and a driven end which is drivingly connected to the second drive shaft through the second bevel gear arrangement.
The robot may include a fifth link which is connected to the fourth link for angular displacement about a fifth axis, a fifth drive train drivingly connecting a fifth actuator to the fifth link including a first drive shaft, a second drive shaft which extends parallel with the second link to which the first drive shaft is drivingly connected, a third drive shaft which extends co-axially with the longitudinal axis of the third link and to which the second drive shaft is drivingly connected, the third drive shaft being drivingly connected to the fifth link. The fifth axis may extend transversely to the fourth link, the third drive shaft having a drive bevel gear connected at a distal end thereof whereby it is drivingly connected to the fifth link.
The robot may include a sixth link which is connected to the fifth link at a position spaced from the connection of the fifth link to the fourth link for relative angular displacement about a sixth axis, a sixth drive train drivingly connecting a sixth actuator to the sixth link including a first drive shaft to which the sixth actuator is connected, a second drive shaft which extends parallel with the second link and to which the first drive shaft is drivingly connected, a third drive shaft which extends co-axially with the third link and the fourth link and to which the second drive shaft is drivingly connected, a fourth drive shaft which extends parallel with the fifth link, and to which the third drive shaft is drivingly connected, the fourth drive shaft having a drive end which is drivingly connected to the sixth link. The sixth link may be elongate and connected end-to-end to the fifth link, the sixth axis extending co-axially with the longitudinal axis of the fifth link.
At a connection between links, the bevel gear arrangement may include a drive bevel gear associated with each drive shaft and a driven bevel gear associated with each subsequent drive shaft in the drive train, the drive bevel gear being drivingly connected to the driven bevel gear by an intermediate shaft which has bevel gears on opposed ends thereof which engage with the drive and driven bevel gears, respectively. The intermediate shaft may extend co- axially with the pivot axis about which the connected links are relatively displaceable. When drive between drive shafts of a plurality of drive trains is transmitted through the connection between links, the intermediate shafts may be arranged concentrically.
Each actuator may be an electric motor mounted on the base.
The robot may include a sensing arrangement configured to sense the position of the links of the robot and to generate a signal in response to the position of each link.
By virtue of the fact that the drivetrain for one link includes one or more drive shafts which extend parallel with the one or more prior links, the inventors have found that when one link is displaced, a consequential or induced displacement of a subsequent link occurs.
According to another aspect of the invention there is provided a method of operating a robot which includes a base, a plurality of links connected in series, an actuator associated with each link mounted on the base and a drive train drivingly connecting each link to the associated actuator, which method includes operating an actuator to displace one link to a desired position and operating the actuator of a subsequent link in a manner which compensates for consequential or induced displacement of the subsequent link as a result of displacement of the one link.
Naturally, in use, in order to perform a particular operation, it may be required that a plurality of the links are displaced simultaneously. The method may accordingly include determining the extent of displacement required by each link, determining the induced displacement of each link resulting from the displacement of a previous link or links and operating the actuators to achieve the desired displacement of each link and compensating for any induced displacement of the link.
According to another aspect of the invention, there is provided a system which includes:
a robot having a base, a plurality of links connected in series and to which an end effector is connectable, an actuator associated with each link, the actuators being mounted on the base and a drive train drivingly connecting each actuator with the associated link, at least one of the drive trains including at least one drive shaft and a bevel gear arrangement through which drive is transmitted;
a position sensor associated with each link and configured to generate a signal corresponding to the position of the associated link; and
a controller which is configured to receive the signals from the position sensors and to control the actuators in order to displace the links and the end effector to a desired location or on a desired displacement trajectory.
The robot may be a robot of the type described above. Accordingly, by virtue of the arrangement of the drive trains, the angular movement of each link with respect to its preceding link is influenced by the angular movement between each of the preceding links and their respective preceding link. Hence, the velocity and angle of rotation of each preceding link must be taken into account when considering the trajectory of a particular link. Accordingly, in order to displace the end effector from one location to another, it is necessary for at least some of the links to be displaced from their current positions to displaced positions which can be referred to as the natural displacement of the link. However, as mentioned above, by virtue of the displacement of a particular link an induced displacement occurs in the subsequent link. The controller may accordingly be configured to control the actuators so as to compensate for any induced displacement of a link.
The invention will now be described, by way of example, with reference to the diagrammatic drawings.
In the drawings: Figure 1 shows diagrammatically a robot in accordance with the invention;
Figure 2 shows a three-dimensional fragmentary view of the robot of Figure 1;
Figure 3 shows a plan view of the robot of Figure 2;
Figure 4 shows a three-dimensional view similar to Figure 2 with the robot in a different position;
Figure 5 shows schematically the arrangement of drive trains at the connection of two links of the robot; and
Figure 6 shows a block diagram of a system in accordance with the invention.
Reference numeral 10 refers generally to a robot in accordance with the invention. The robot 10 includes a base 12 and a plurality of links arranged in series. In particular, the robot 10 is a so-called six degree of freedom (DOF) robot and includes first, second, third, fourth, fifth and sixth links 1A, IB, 2, 3, 4 and 5, respectfully, the arrangement of which is described in more detail below. The robot 10 further includes six actuators 16, typically in the form of electric motors, only some of which are shown in the drawings which are drivingly connected, respectively, to the links 1A, IB, 2, 3, 4 and 5 by means of drive trains as described in more detail herebelow.
The base 12 is typically secured to a support surface such as on the floor and the first link 1A is rotatably connected to the base for displacement about a first axis of rotation 18 which extends vertically and which forms the first degree of freedom. The second link IB is rotatably connected to link 1A for rotation about a second axis of rotation 20 which extends transversely and which forms the second degree of freedom. Link IB is elongate and the third link 2 is connected towards an end of link IB spaced from link 1A for rotation about a third axis of rotation 22 which extends transversely and which forms the third degree of freedom. Link 2 and the fourth link 3 are both elongate and are connected end-to-end such that link 3 is rotatable relative to link 2 about a fourth axis of rotation 24 which extends longitudinally and which forms the fourth degree of freedom. The fifth link 4 is elongate and is connected towards its one end to the free end of link 3 for rotatable displacement about a fifth axis of rotation 26 which extends transversely and which forms the fifth degree of freedom. The sixth link 5 is elongate and is connected end-to-end to link 4 for rotation about a sixth axis of rotation 28 which extends longitudinally and which forms the sixth degree of freedom.
The first actuator 16 which is drivingly connected to the link 1A by a first drive train which typically includes a spur gear driven by the actuator and which drivingly engages a complementary spur gear fast with the link 1A in order to rotate link 1A relative to the base 12 about the axis 18.
Drive from the associated actuators 16 to the links IB, 2, 3, 4, 5 is by means of second, third, fourth, fifth and sixth drive trains 30, 32, 34 36, 38, respectively.
The second drive train 30 whereby the second actuator 16 is drivingly connected to the second link IB includes a first drive shaft (not shown) which is drivingly connected to the associated actuator and which extends co-axially with the axis of rotation 18 and which terminates in a bevel gear (not shown) which is drivingly engaged with a bevel gear 40 which is rotatable about the axis 20 and which is fixed to the link IB.
The third drive train 32 whereby the associated third actuator 16 is drivingly connected to the third link 2 includes a first driveshaft (not shown), a lower end of which is drivingly connected to the associated actuator, the drive shaft extending concentrically with the axis of rotation 18 and terminating in a bevel gear which drivingly engages a bevel gear 42. The bevel gear 42 is mounted on one end of an intermediate shaft 44 which extends concentrically with the axis of rotation 20 between the link 1A and the link IB. A bevel gear 46 is mounted on the other end of the intermediate shaft 44, i.e. the end positioned in the link IB. A second drive shaft 48 extends parallel with a longitudinal axis 50 of the link IB and has a bevel gear 52 at one end which drivingly engages with the bevel gear 46 and a bevel gear 54 at the other end which drivingly engages a complementary bevel gear 56 which is fixed to the link 2 concentrically with the axis of rotation 22.
The fourth drive train 34 whereby the associated fourth actuator 16 is drivingly connected to the fourth link 3 includes a first drive shaft (not shown), a lower end of which is drivingly connected to the associated actuator, the first drive shaft extending concentrically with the axis of rotation 18 and terminating in a bevel gear which drivingly engages a bevel gear 60. The bevel gear 60 is mounted on one end of an intermediate shaft 62 which extends concentrically with the axis of rotation 20 and the intermediate shaft 44 between the link 1A and the link IB. A bevel gear 64 is mounted on the other end of the intermediate shaft 62, i.e. the end positioned in the link IB. A second drive shaft 66 extends parallel with the longitudinal axis 50 of link IB and has a bevel gear 68 at one end of the drive shaft 66 and a bevel 69 at the other end which drivingly engages a complementary bevel gear 70. The bevel gear 70 is mounted on one end of an intermediate shaft 72 which extends concentrically with the axis of rotation 22 between the link IB and the link 2. A bevel gear 74 is mounted on the other end of the intermediate shaft 72, i.e. the end positioned in the link 2. A third drive shaft 76 extends parallel with the axis of rotation 24 and has a bevel gear 78 at one end which drivingly engages with the bevel gear 74. The drive shaft 76 extends through the link 2 and into the link 3 where it is drivingly connected to the link 3 to facilitate rotation of the link 3 about the axis 24.
The fifth drive train 36 whereby the associated fifth actuator 16 is drivingly connected to the fifth link 4 includes a first drive shaft (not shown), a lower end of which is drivingly connected to the associated actuator, the first drive shaft extending concentrically with the axis of rotation 18 and terminating in a bevel gear which drivingly engages a bevel gear 82. The bevel gear 82 is mounted to one end of an intermediate shaft 84 which extends concentrically with the axis of rotation 20 and the shafts 44, 62 between the link 1A and the link IB. A bevel gear 86 is mounted on the other end of the intermediate shaft 84, i.e. the end positioned in the link IB. A second drive shaft 88 extends parallel with the longitudinal axis 50 of the link IB and has a bevel gear 90 at one end which drivingly engages with the bevel gear 86 and a bevel gear 92 at the other end which drivingly engages a complementary bevel gear 94. The bevel gear 94 is mounted on an intermediate shaft 96 which extends between the link IB and the link 2 concentrically with the axis of rotation 22 and has a bevel gear 98 mounted on the other end thereof, i.e. the end of the intermediate shaft 96 positioned in link 2. The bevel gear 98 drivingly engages a bevel gear 100 mounted on one end of a third drive shaft 102 which extends from the link 2 to the link 3 concentrically with the axis of rotation 24 and inside the shaft 76. A bevel gear 104 is mounted on the other end of the drive shaft 102 and drivingly engages a bevel gear 106 which is drivingly connected to the link 4 in order to displace the link 4 relative to the link 3 about the axis of rotation 26.
The sixth drive train 38 whereby the associated sixth actuator 16 is drivingly connected to sixth link 5 includes a first drive shaft (not shown), a lower end of which is drivingly connected to the associated actuator, the first drive shaft extending concentrically with the axis of rotation 18 and terminating in a bevel gear which drivingly engages a bevel gear 110. The bevel gear 110 is mounted on one end of an intermediate shaft 112 which extends concentrically with the axis of rotation 20 between the link 1A and the link IB. A bevel gear 114 is mounted on the other end of the intermediate shaft 112, i.e. the end positioned in the link IB. A second drive shaft 116 extends parallel with the longitudinal axis 50 of the link IB and has a bevel gear 118 on one end which drivingly engages the bevel gear 114 and a bevel gear 120 at the other end which drivingly engages a complementary bevel gear 122. The bevel gear 122 is mounted on an intermediate shaft 124 which extends between the link IB and the link 2 concentrically with the axis of rotation 22 and has a bevel gear 126 mounted on the other end thereof, i.e. the end of the intermediate shaft 124 positioned in the link 2. The bevel gear 126 drivingly engages a bevel gear 128 mounted on one end of a third drive shaft 130 which extends from the link 2 to the link 3 concentrically with the axis of rotation 24 and terminating in a bevel gear 132. The bevel gear 132 is drivingly connected to a bevel gear 134 mounted on one end of an intermediate shaft 136 which extends between the link 3 and the link 4, concentrically with the axis of rotation 26. A bevel gear 138 is mounted on the other end of intermediate shaft 136, i.e. the end located within link 4. The drive train 38 further includes a fourth drive shaft 140 having a bevel gear 142 at one end thereof which engages with the bevel gear 138. The drive shaft 140 extends from the link 4 to the link 5, concentrically with the axis of rotation 28 and the free end of the drive shaft 140, i.e. the end remote from the bevel gear 142 is drivingly connected to the link 5 to permit displacement of the link 5 relative to the link 4 about the axis of rotation 28.
As can be seen in Figure 1 of the drawings, the intermediate shafts extending between link 1A and link IB, between link IB and link 2 and between link 3 and link 4 are arranged concentrically. This permits the adjacent links to be displaced through more than 360° relative to one another. The actuators 16 are typically in the form of electric motors.
As can best be seen in Figures 2 to 4, a position sensor 160 is positioned to sense the position of link 1A relative to the base. A position sensor 162 is positioned to sense the relative displacement between link IB and link 1A. A position sensor 164 is positioned to sense the relative displacement between link 2 and link IB. A position sensor 166 is positioned to sense the relative displacement between link 3 and link 2. Position sensor 168 is positioned to sense relative displacement between link 4 and link 3. Position sensor 170 is positioned to sense relative displacement between link 5 and link 4.
The robot 10 typically forms part of a system which, in addition to the robot, includes the sensors 160, 162, 164, 166, 168, 170 and a controller 171 (Figure 6) configured to receive signals from the sensors 160, 162, 164, 166, 168, 170 and to control the actuators to permit displacement of an effector mounted on link 5 to a desired position or in a desired sequence of movements. Details of the desired movement of the end effectors can be entered into the controller by any suitable interface 173.
With a view to containing costs, the drive shafts 48, 66, 88, 116 may be substantially identical. Further, with a view to enhancing versatility, each drive shaft may include two telescopically interconnected parts permitting adjustment of its length thereby rendering it suitable for use in links of different length.
Further, it will be appreciated, that the specific configuration and number of degrees of freedom of the robot may vary. Hence, instead of being arranged in a transversely spaced parallel arrangement, the drive shafts 48, 66, 88, 116 could be arranged concentrically as illustrated in Figure 5 of the drawings.
The Inventors have found that due to the mechanical power transmission arrangement described above, the velocities and positions of each actuator may differ from that of the link that it actuates as the movement of each link is influenced by the position and motion of links that precede it. This movement of a link as a consequence of movement of a preceding link is referred to hereinafter as the Induced Component.
It is desired that each link of the robot must be able to be moved independently to a desired position at a desired velocity in the desired direction with respect to the link prior to it in the system. This will henceforth be referred to as the Desired Component. In order for only the Desired Component to be evident, the effects of any Induced Component must be negated during the motion of the link. Unlike traditional serial kinematic architectures, this will require the motor that is driving the respective link to rotate at an angular velocity that is not equal to that of the Desired Component.
Set out below, by way of illustration, are equations which can be used in a control system in order to calculate the displacement of a particular link. In this regard, it will be appreciated that the angular displacement of a particular link is dependent, inter alia, on the gear ratios of various gear sets incorporated in the drive train. Gear sets can be varied in their ratios and configurations depending on the application. Set out in Table 1 is an illustrative arrangement of gear sets. Each group of numbers in a block in Table 1 represents the number of teeth contained by the machine gears in the gear configuration. For example, the block containing the numbers 70 and 70, for link 1A represents a configuration of two machine gears, each with 70 teeth, in other words a 1:1 ratio. Accordingly, the rotation of link 1A will correspond to rotation of the actuator or motor which is drivingly connected thereto.
Table 1
Viewing each link from a reference view, the convention adopted is; counter-clockwise (CCW) rotation is considered positive and clockwise (CW) rotation is considered negative. This convention, as shown below, is used when referring to the angular position of a link as well as the direction of rotation.
The angular displacement (AD) that each link must complete when moving from the present angular position (AO) to the next desired angular position (Al), is the difference between the two, i.e.
AD = A1 - A0 (3.1)
In order to preserve the convention, the absolute value of the difference is used and is left as positive for CCW rotation and multiplied by negative one for CW direction. To ensure that the correct AD is depicted when the link is moving in the CCW direction, if Al is less than AO then Al is amended to Al plus 360° as it would have passed the 0° position moving in the CCW direction. Likewise, to ensure that the correct AD is depicted when the link is moving in the CW direction, if AO is less than Al then AO is amended to AO plus 360° as it would have passed the 0° position moving in the CW direction.
If none of the two cases described in the previous paragraph above are true then AD is | A1- AO I . If the link remains stationery during a sequence then intuitively AD must equal zero. The calculated AD represents the Desired Component of a link. Once the effects of the Induced Component are removed, the Required Resultant Link Motion (RRLM) remains. This is the motion that each link must undergo to compensate for the Induced Component in order to produce only the Desired Component.
RRLM = Desired Component - Induced Component (3.2)
In order to determine the effects that the motion of a link has on the links that follow it, the RRLM of the link must be used and not the Desired Component. This is because the RRLM is the actual motion that a link undergoes in order to achieve the Desired Component. The direction of rotation and the magnitude of AD of the link are critical as these determine the precise effects on links further up in the system. With reference to Table 2.5, the kinematic effects that each link has on the links that follow it are described below. Because Link la is the first movable link in the system it will not experience an induced motion due to an Induced Component. In this case the RRLM for the link is the Desired Component for that link.
Table 2.5
When Link la is in motion, only Link lb experiences an induced motion (0Lia_Lib)- When Link la moves CW the effects on Link lb is the absolute value of the RRLM for Link la (0i_ia_RRi_M) as Link lb is forced to rotate in a CCW direction with a displacement that is equal to that of Link la.
0|_la_Llb = I 6|_la_RRLM | (3.3)
When Link la moves CCW the effects on Link lb is the negative of the absolute value of the RRLM for Link la. This is because Link lb is forced to rotate in a CW direction with a displacement that is equal to that of Link la.
0Lla_Llb = - I 0Lla_RRLM I (3.4)
The RRLM for Link lb
is therefore the Desired Component for Link lb (Gmib) less the Induced Component as a result of the motion of Link la (0i_ia_Lib) as shown in Eq. 3.5. The negative sign in this instance does not imply CW rotation but rather the subtraction of the effects of the induced motion. 0|_lb_RRLM - 0LHlb
_ (0|_la_Llb) (3.5)
The motion of Link lb results in induced motions for Link 2, Link 3 and Link 4. When Link lb rotates in a CW direction the following occurs:
Link 2 exhibits an induced motion (Q b n) that is equal to half the absolute value of 0Lib_RRLM- This is because Link 2 rotates in a CCW direction with a displacement that is half of that of Link lb.
0|_lb_L2 = 0.5 X | 0|_lb_RRLM | (3.6)
Link 3 exhibits an induced motion (0i_ib_i_3) that is equal to half the negative of the absolute value of 0i_ib_RRi_M. This is because Link 3 rotates in a CW direction with a displacement that is half of that of Link lb.
0Llb_L3 = - 0.5 X I 0Llb_RRLM I (3.7)
Link 4 exhibits an induced motion (0i_ib_i_4) that is equal to the absolute value of 0i_ib_RRi_M. This is because Link 4 rotates in a CCW direction with a displacement that is equal to that of Link lb.
0Llb_L4 = I 0Llb_RRLM I (3.8)
When Link lb rotates in a CCW direction the induced motions for each of the links it affects are equal in magnitude, as depicted for CW, rotation but opposite in direction as shown in the three equations below.
0Llb_L2 = - O.5 | 0Llb_RRLM | (3.9)
(3.10)
(3.11) The motion of Link 2 results in induced motions for Link 3 and Link 4. When Link lb rotates in a CW direction the following occurs:
Link 3 exhibits an induced motion (θι_2_ι_3) that is equal to the negative of the absolute value of the RRLM for Link 2 (0L2_RRLM). This is because Link 3 rotates in a CW direction with a displacement that is equal to that of Link 2.
5L2 L3 RRLM (3.12)
Link 4 exhibits an induced motion (θι_2_ι_4) that is equal to two times the absolute value of 0L2_RRLM. This is because Link 4 rotates in a CCW direction with a displacement that is twice that of Link lb.
?L2 L4 - 2 X I θ|_2 RRLM (3.13)
When Link 2 rotates in a CCW direction the induced motions for each of the links it affects are equal in magnitude as depicted for CW rotation but opposite in direction as shown in the two equations below.
Θ L2_L3 = I Θ L2_RRLM | (3.14) 0L2 L4 =— 2 X I 0L2 RLM | (3.15)
The motion of Link 3 results in an induced motion in Link 4 only. When Link 3 rotates in a CW direction, Link 4 exhibits an induced motion (BL3_LA) that is equal to the absolute value of the RRLM for Link 3 (0L3_RRLM). This is because Link 4 rotates in a CCW direction with a displacement that is equal to that of Link 3.
5L3 L4 - I 0L3 RRLM I (3.16)
When Link 3 rotates in the CCW direction the effects on Link 4 are equal in magnitude, as depicted for CW rotation, but opposite in direction as shown below. θ|_3 L4 - - I θ|_3 RRLM (3.17)
Finally, the motion of Link 4 results in an induced motion only in Link 5. When Link 4 rotates in a CW direction, Link 5 exhibits an induced motion (θι_4_ι_5) that is equal to the absolute value of the RRLM for Link 4 (0L4_RRLM). This is because Link 5 rotates in a CCW direction with a displacement that is equal to that of Link 3.
When Link 4 rotates in the CCW direction the effects on Link 5 are equal in magnitude as depicted for CW rotation but opposite in direction as shown below:
0L4 L5 - - I 0L4 RRLM (3.19)
Recalling Eq. 3.2, the RRLM for a link is the Desired Component for that link less the Induced Component as a result of the motions of the links that precede it in the system. The negative sign in the RRLM equation does not imply CW rotation but rather the subtraction of the effects of the induced motion. The RRLM for Link la and Link lb have been discussed, the equations that follow depict the RLLMs for Link 2 to Link 5 considering that the links lower in the system have an effect on each of them as seen in Table 2.5 when reading the columns from top to bottom. Note that θι_Η2 to θι_Η5 reflects the Desired Component for each of the respective links.
RRLM - 0LH2_ (0Llb (3.20)
0L3 RRLM - 0LH3_ (0Llb_L3 + 0L2_L3) (3.21)
0L4 RRLM - 0LH4_ (0Llb_L4 + 0L2_L4 + 0L3_L4) (3.22)
0L5 RRLM - 0LH5_ (0L4_L5) (3.23) For completeness:
?Lla RRLM = θ LHla (3.24)
0Llb_RRLM - 0LHlb - (0Lla_Llb) (3.5)
With the RRLMs for each link calculated the relationship between the link motion and the motor revolutions must be considered in order to establish the speed and direction that a motor must deliver in order to produce the required movement for its respective link. This relationship is depicted in Table 2.3.
Table 2.3
The equations that follow describe the relationship between each link and it's respective motor. The negative signs in the equations that follow do not imply CW rotation; it indicates that the link rotates in the opposite direction to that of the motor powering it. Note that the direction of rotation for each link is viewed from the reference position shown in Figure 2. In particular, the reference direction for each of links 1A, IB, 2, 3, 4, 5 is indicated by Arrow 210, 212, 214, 216, 218, 220, respectively. The direction of rotation of the motors is viewed from the reference position 210 of Link la shown in Figure 2.
Link la travels in the opposite direction than the motor powering it and with an angular displacement that is equal to that of the motor.
0Motor la = - 0Lla_RRLM (3.25)
Link lb travels in the opposite direction to that to that of the motor powering it but with an angular displacement that is a quarter of that of its respective motor. The motor angular displacement is therefore four times that of the link angular displacement. This is due to the 1:4 gear ratio of the first set of gears in the drivetrain.
0Motor lb = - 4 X 0Llb_RRLM (3.26)
Link 2 travels in the opposite direction to that of the motor powering it and with an angular displacement that is half of that of its respective motor. The motor angular displacement is therefore twice that of the link angular displacement. This is due to the 1:2 gear ratio of the last gear pair in the drivetrain.
0Motor 2 = - 2 X 0L2_RRLM (3.27)
Link 3 travels in the same direction as the motor powering it and with an angular displacement that is equal to that of the motor
0Motor 3 = 0L3 RRLM (3.28)
Link 4 travels in the opposite direction to that of the motor powering it with an angular displacement that is equal to that of the motor 0Motor 4 - - θ|_4 RRLM (3.29)
Link 5 travels in the same direction as the motor powering it with an angular displacement that is equal to that of the motor
0Motor 5 - θ|_5 RRLM (3.30)
With the angular displacement for the motor calculated, the velocity profiles for each movement can be calculated using the methods described herebelow.
The next step is to derive the trapezoidal velocity profile that will be used as a reference or set point generator to the controller responsible for controlling the velocity of each link. There are two approaches that can be taken with regard to calculating the velocity for moving the end effector from one point in space to the next. For both approaches, however, it is desirable that all links that must be in motion in the system for a given sequence or task, must be in motion at the same time and for the same duration i.e. all links in motion must be in motion for a common fixed time. This allows for the smooth movement of the system and reduces link bouncing that results from the stopping and starting of preceding links while links further up in the system are still in motion. The velocity for each link will vary depending on the angular distance that each link has to travel over the fixed time that all links must be in motion. The first approach, named the Task Time Optimization Approach, uses the maximum speed that the motors can rotate under a given load (less a percentage safety factor) to calculate the shortest time in which an end effector can be moved from one position to the next.
The second approach, named the Predefined Task Time Approach, uses an assigned desired time that the end effector must move from one point to the next. For each of the aforementioned approaches, the steps indicated below must be followed to ensure that links are moved at speeds that do exceed the maximum allowable speed of any motor in the system. Both approaches are based on the relationship between the angular positions of each link before and after the task, the travel time, the ramp up, ramp down and constant velocity durations as well as the acceleration, deceleration and constant velocity values that determine the velocity profile for each link for each task. These relationships are derived in, and expanded on in the two sections herebelow.
Task Time Optimisation Approach
When a motor is required to move from its present position, AO, to its next required angular position as determined by 0Motor , A2, over a defined period of time, the required constant velocity, ω, is the angular displacement divided by the travel time as shown in Fig. 3.2. This, however, calls for the constant velocity value to be reached almost instantaneously as well as calling for the motor or link to stop instantaneously. Not only it this impractical but also high acceleration and decelerations lead to the unwanted vibration of robotic manipulators. It is for this reason that gradual ramping up to, and down from the constant velocity value is introduced thus producing a trapezoidal velocity profile as shown in Fig. 3.3 and Fig 3.4. Equations 3.31 to Eq. 3.47 are derived with reference to Fig. 3.2 to Fig. 3.4.
Angular
Velocity (De
Figure 3.2: Constant Angular Velocity Profile with Near Instantaneous Ramping
Angular
Velocity
igure 3.3: Trapezoidal Angular Velocity Profile with Time Allocations to each Component of the Profile
Angular
Constant
Velocity { Deg sj Ramp Up Ramp Down1
Velocity
AO A0N A2N A2 Angle (Deg)
RRLM
Sew
Figure 3.4: Trapezoidal Angular Velocity Profile with the Angle Associated with each
Component of the Profile
The Task Time Optimization Approach seeks to determine for each task, the greatest velocity at which the end effector can be moved from one position in space to the next. This approach is implemented using the steps that follow: Determine the RRLM for each link using Eq. 3.5 and Eq. 3.20 through to Eq. 3.24.
Using Eq. 3.25 through to Eq. 3.30, determine the angular distance that each motor must rotate, 0Motor , to move its respective link from its previous position to its new position for a task.
Determine which motor must travel the greatest angular distance from its previous position to its new position for the task.
The torque required to actuate each link must be determined. This can be verified in the mechanical engineering software environment in which the system is designed.
Referring to the speed vs. torque curve that is specified for each motor, determine the maximum constant speed for each motor (less a percentage safety factor), to determine the constant speed.
The time for each motor to move its respective link is calculated by dividing the maximum speed calculated for each motor in point 5, less a percentage safety factor (20% used for the model), by the angular distance that each respective motor must travel as calculated in point 2.
The duration that each motor must travel must then be assessed to determine the greatest time travelled amongst all the motors.
This time value, torg, will be used as the duration for which all links and motors will be in motion.
The time used to ramp up and down, tr, to and from the calculated constant velocity profiles i.e. the acceleration and deceleration components, are assigned as a percentage, k, of the common time, t0rg, as shown in Eq. 3.31. The ramping time is calculated as a percentage of total time calculated. These are the acceleration, deceleration and constant velocity components for the complete trapezoidal velocity profile. The time tr, can be different for each task and may also differ for the ramp up and ramp down profiles. tr = k torg (3.31)
Where, k is a percentage value The accelerations and decelerations for each link are calculated by dividing the constant velocities for each link by the common time as determined in point 7. Note that the acceleration and deceleration values are equal as the same percentage of the original time was allocated to both components. During the acceleration component, each motor travels from position AO to AON, hence travelling the angular distance,RRLMADRamp. During the deceleration component, each motor travels from position A2 to A2N, hence travelling the angular distance,RRLMADRamp. ω = (A2 - AO) / torg (3.32)
Where, ω is the constant angular velocity in degrees/sec
Ramp Up acceleration, α = (ω - ω o) / tr (3.33)
Where, ωο = 0
Substituting Eq.3.31 and Eq.3.32 in Eq.3.33 a = (A2 - AO) / k torg2 (3.34)
Angular displacement during the time interval tr,RRLMADRamp
RRLMADRamp = (Jot + 0.5 a tr2 (3.35) Where ωο is the initial angular velocity in degrees per second and ωο = 0
Substituting Eq.3.31 and Eq.3.34 in Eq.3.35,
RRLMADRamp = 0.5 k (A2-A0) (3.36)
Ramp Down acceleration (deceleration), α = (ω l - ω) / tr (3.37)
Where, ω i = 0
Substituting Eq.3.31 and Eq.3.32 in Eq.3.37 α = - (A2 - AO) / k t0rg2
Angle A0N is the position from which constant velocity profile begins
AON = AO + Θ = AO + 0.5 k (A2 - AO)
Angle A2N is end point of the constant velocity profile
Α2Ν = Α2-Θ = A2-0.5 k(A2-A0)
The new angular displacement,RRLMADNew, for the constant velocity profile is
RRLMADNew= A2N -A0n
Substituting Eq.3.39 and Eq.3.40 in Eq.3.41,
RRLMADNew=(A2-A0) (l- k)
The time, tcvn required to coverRRLMADNew at the constant angular velocity ω
ω = (A2N - AON) / tcvn
Substituting Eq.3.41 in Eq.3.43 in and rearranging,
tcVn=RRLMADNew/u) (3.44)
Substituting Eq.3.32 and Eq.3.42 in Eq.3.44,
tcvn=(l-k)t0rg (3.45) The total link travel time, ΪΤ over the trapezoidal profile is,
ΪΤΝ - tr + tcVn + tr (3.46)
Substituting Eq. 3.45 and Eq. 3.31 in Eq. 3.46, tTN = (1+ k) ton■g (3.47)
11. The new constant velocity, cj ew, for each respective link is therefore calculated in this approach by dividing the new angular displacement,RRLMADNew, for each respective link by the new constant velocity duration, tcvn, whereRRLMADNew is calculated using Eq. 3.42 and tcvn is calculated using Eq. 3.45.
=RRLMADNew / tcVn (3.48)
12. The new link total travel time, tTN, for which the motor and link is in motion for the entire trapezoidal profile is the sum of the ramp up, ramp down and new constant velocity durations as shown in Eq. 3.47. This new constant velocity duration, tcvn, and new link total travel time, ΪΤΝ, is the same for each link as it is dependent only on the common travel time, torg, and the percentage of torg that is allocated to ramping as shown in Eq. 3.45 and Eq. 3.47 respectively. It is therefore independent of each links individual speeds and accelerations.
Predefined Task Time Approach
The Predefined Task Time Approach seeks to determine, for each task, the speed at which the end effector can be moved from one position in space to the next within a specified time. This is implemented using the steps that follow:
1. Allocate the time, ΪΤΝ, in which all links must move from the previous position to its new position for a task. This is the time in which the entire trapezoidal profile must be executed.
2. Determine the RRLM for each link using Eq. 3.5 and Eq. 3.20 through to Eq. 3.24. 3. Using Eq. 3.25 through to Eq. 3.30, determine the angular distance that each motor must rotate, 0Motor x, to move its respective link from its previous position to its new position for a task.
4. Rearrange Eq. 3.47 to ca lculate t0rg
5. Using the va lue calculated for torg, and the assigned percentage, k, substitute in Eq. 3.31 to calculate for the ramp and down time, tr.
6. Using the value calculated for torg, substitute in Eq. 3.45 to calculate the time of travel, tcvn, for the constant velocity profile.
7. Using Eq. 3.39 and Eq. 3.40 and the values for k, AO and A2 for each motor calculate AON and A2N.
8. Using Eq. 3.41 calculateRRLMADNew for each motor
9. For each motor, calculate the value for the respective constant velocity profiles by dividingRRLMADNew by tCVn.
10. Calculate/determine the torque as described in Section 3.4.1.
11. This torque value must be used when referencing the speed vs. torque curves to determine the maximum allowed speed that the motor can travel at for the calculated torque value.
12. Compare the calculated velocity for each motor from point 9 to the maximum motor speed determined in point 11 to verify that the maximum motor speed is not exceeded.
Both approaches can be used to determine the velocity profiles for the movement of motors and links from one point to the next for a task. All the tasks strung together produces the sequence that the arm must execute on order to fulfill a function. Hold positions at the end of each task, where the motor and link must be stationary in a fixed pose for a prescribed period, is implemented by allocating a time, ΪΤ , to a zero velocity task.
The angles for each link are recorded in an algorithm that produces the motor and link angles as well as the respective velocities when executed. These values are then input as a reference or set point profile for the control system which also receives signals from the sensors 16, 162, 164, 166, 168, 170. Tests conducted by the Inventors have shown that all the effects of the Induced Components of rotation for each link in the system can be successfully nullified using the equations and methods outlined above.
It will be appreciated that the robot configuration that is presented is but one example of possible configurations. A robot using this architecture can take many forms in terms of DOFs, link configurations, drivetrain configurations, gear configurations and ratios, etc.
The Inventors believe that a robot in accordance with the invention will result in a construction which is of reduced weight when compared with a serial kinematic machine constructed in accordance with the prior art. In addition, by controlling the robot in the manner described above, the Inventors believe that the actuators can be controlled in order to optimise movement of the links and compensate for any induced displacement.