An Intelligent Assist Device (IAD) attempts to combine the powered assistance currently available with bridge cranes, and also the quick and intuitive operator interface available with unpowered rail systems. Ideally, IAD systems also improve upon the performance of unpowered rail systems and provide greater dexterity and speed than powered bridge cranes. However, although current IAD systems attempt to combine the best of overhead systems, many systems present another set of undesirable limitations.
The picture at right illustrates an exemplary approach that has been developed for IAD systems in which the payload is hung from a rigid descender. The rigid descender, also known as a manipulator arm, is manufactured by a variety of companies. In this type of system, a multi-axis force sensor is used to measure operator-applied forces and torques. These measurements are used as an indicator of intent.
The operator must grasp an intent sensor rather than either the part itself or the end effector, but there is typically a high degree of correspondence between the motion of the intent sensor and the motion of the part. The operator simply pushes and the part follows. There is also an ergonomic benefit to this approach, in that the forces required are typically much lower than those required in an unpowered system.
However, there are undesirable limitations such as the absence of motorized drive units for axes of motion other than horizontal. For example, rotation about the vertical (yaw) is almost always a requirement when rigid descenders are used, but currently there is not a commercially available drive unit for this particular rotation. Another undesirable limitation is that many commercially available rigid arms incorporate pivoted joints that permit yaw motion and are neither powered nor outfitted with angle sensors. As a consequence, it is not possible to establish the orientation of the intent sensor with respect to the overhead bridge rail without retrofitting those arms with joint angle sensors. This retrofit process is expensive and unique to each particular arm design.
Yet another limitation is that this approach involves non-collocated control. Non-collocation refers to the presence of significant structural flexibility between the point of sensing (e.g., at the intent sensor) and the point of actuation (e.g., at the bridge and runway rails). It is well-known that non-collocated systems are difficult to control and prone to instability.
The exemplary embodiments disclose a system and method for controlling an assist device or robotic manipulator that can interact with a human operator. The exemplary embodiments have been implemented using a rigid physical support or “guide-stick” for controlling the movement of the payload.
Fig. 2 is an illustration of an exemplary guide-stick intent sensor and powered bridge crane. The viewpoint in this illustration is that of an observer standing underneath the bridge crane and looking upward. This exemplary embodiment of the guide stick contains sensors sufficient to control up to four degrees of freedom of the IAD including motion along two horizontal axes (one axis is aligned with runway rails 301 and the other with the bridge rails 302), rotation about the vertical axis, and vertical motion. The bridge crane provides drive units for motion along the bridge rail, motion along the runway rails, and rotation about the vertical (yaw rotation). The drive unit for yaw rotation is further described below. A drive unit for vertical motion would normally be part of the descender. It should be emphasized that, while the preferred embodiment contains sensing for four degrees of freedom, implementations having either more or fewer degrees of freedom are possible.
The runway rail 301 and bridge rails 302 are structural components that may take a number of different forms, including I-beam and enclosed track profiles of known type. Runway rails 301 are fixed rigidly to ground, typically via steel supports or overhead steel beams, not shown. Carriage frame 303 rolls along bridge rails 302, and both bridge rails 302 rolls along runway rails 301.
In a preferred embodiment, two motorized drive units 304 drive carriage frame 303 along bridge rail 302, and motorized drive units 305 at either end of bridge rail 302 drive the bridge rail along runway rails 301. Of course, it is not necessary to use two motorized drive units per axis. For many applications, a single unit per axis will suffice
Also in a preferred embodiment, powered rotate assembly 700 is rigidly mounted to carriage frame 303. Mounting flange 307 is connected rotatably to carriage frame 303. The rotation axis of mounting flange 307 is vertical (perpendicular to the plane in which runways rails 301 lie). As described further below, powered rotate assembly 700 is used to drive rotations of mounting flange 307. A standard manipulator arm or other descender may be secured to mounting flange 307.
The bridge rail system described thus far is capable of powered motion in three axes: translation along runways 301, translation along bridge rails 302, and rotation of mounting flange 307. This bridge rail system can be expected to exhibit high structural stiffness as compared to a typical descender, be it a cable, chain, or rigid manipulator arm. Thus, in order to achieve collocation, as discussed above, it is desirable to minimize the structural flexibility that separates the output of these powered axes (namely mounting flange 307) from the location of operator intent sensing. This is achieved with strut 306 and support or guide stick assembly 600. Strut 306 is a stiff beam that is mounted directly to mounting flange 307. Guide stick assembly 600 is mounted to strut 306 and is, as a result, effectively collocated with the drive units 304, 305 and 700.
Strut 306 provides a plurality of mounting holes where guide stick assembly 600 may be attached. Four different mounting locations are illustrated, but of course, the number may be larger or smaller. The mounting location of guide stick assembly 600 may also be made continuously adjustable by a number of well-known techniques.
The operator may grasp the handle to the three axis industrial joystick and indicate motion intent by creating twists about axes 607, 608 and 609 [x, y and z]. In addition, because the Cobotics Inc. in-line slide handle can detect forces applied in a vertical direction (i.e., along axis 609) this configuration may be used to measure operator motion intent in the vertical direction. This information would normally be relayed to the device responsible for vertical motion. The vertical motion device may be any lifting device capable of receiving an electronic signal, including electric hoists, pneumatic balancers, pneumatic cylinders and a variety of other devices.
In any event, according to the exemplary embodiment, drive unit speeds are related to guide stick measurements via the following algorithm. For the purposes of this algorithm, it is assumed that guide stick axis 607 is aligned with strut 306 [it is the back of the remote control that is shown in Fig. 2]. It is also assumed that u is the angle of strut 306 with respect to bridge rails 302: u is zero when strut 306 and bridge rails 302 align. Finally, it is assumed that L is the horizontal distance from the axis 609 to the center of mounting flange 307.
are the velocity commands for drive units 304, 305 and 700, respectively.
are the angle measurements obtained from axes 607, 608 and 609 of the guide stick, respectively. The algorithm is:
are parameters that may be adjusted for sensitivity of response. Many modifications to this algorithm are possible. For instance, the parameter L may be adjusted or even set to zero. The guide stick angle measurements may first be passed through a deadband function so that small angles are ignored, and these measurements may also be filtered to remove measurement noise. The velocity commands may also be made to depend on the time derivatives and time integrals of the angle measurements, resulting in a form of PID control.
Fig. 6 illustrates the exemplary drive unit 700 from the viewpoint of an observer above and to the side of the assembly. Drive unit 700 comprises a number of components mounted to carriage frame 303. Bracket 701 is mounted rigidly to carriage frame 303. A subassembly comprising motor 702, right angle gearbox 703, tensioning bracket 704, pulley 705 and clutch 706 is mounted slidably on bracket 701. The output shaft of motor 702 causes the input shaft of gearbox 703 to rotate which causes the output shaft of gearbox 703 to rotate. The output shaft of gearbox 703 causes clutch 706 to rotate. When engaged, clutch 706 causes pulley 705 to rotate. Pulley 705 engages pulley 707 via a toothed belt (not shown).
Pulley 707 is connected rigidly to mounting flange 307 by drive shaft 802. Mounting flange 307 is connected rotatably to flange 901 which is rigidly mounted to carriage frame 303. This arrangement allows motor 702 to drive rotation of mounting flange 307 when clutch 706 is engaged, and for mounting flange 307 to rotate freely when clutch 706 is disengaged.
The rotational angle of mounting flange 307 (which is used in the algorithm discussed above) is measured by a potentiometer.