US20010005120A1 - Method of controlling an intelligent assist device in a plurality of distinct workspaces - Google Patents
Method of controlling an intelligent assist device in a plurality of distinct workspaces Download PDFInfo
- Publication number
- US20010005120A1 US20010005120A1 US09/767,978 US76797801A US2001005120A1 US 20010005120 A1 US20010005120 A1 US 20010005120A1 US 76797801 A US76797801 A US 76797801A US 2001005120 A1 US2001005120 A1 US 2001005120A1
- Authority
- US
- United States
- Prior art keywords
- workspace
- set forth
- virtual
- established
- manipulator
- 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.)
- Granted
Links
Images
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/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/36—Nc in input of data, input key till input tape
- G05B2219/36429—Power assisted positioning
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/36—Nc in input of data, input key till input tape
- G05B2219/36432—By putting some constraints on some DOF, move within limited volumes, areas, planes, limits motion in x, y or z planes, virtual reality constraints
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39439—Joystick, handle, lever controls manipulator directly, manually by operator
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40074—Move tip of arm or carried object on surface, wall, constraint
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40517—Constraint motion planning, variational dynamic programming
Definitions
- the subject invention relates to the method of controlling a powered manipulator within a plurality of distinct workspaces. More specifically, the subject invention relates to establishing and repositioning at least one virtual constraint from a first workspace to a second workspace such that movement of the powered manipulator in the second workspace is limited to prevent the operator from moving the powered manipulator to at least one physical limit of the second workspace.
- One method of controlling an assist device is comprises the steps of utilizing an actuator to sense the required force for lifting a load, providing an end-effector to interface between a human operator and the load, engaging the load with the end effector, detecting a magnitude of human force imparted by the operator on the end-effector as the operator lifts the load and using the magnitude of the human force to regulate the actuator and cause the actuator to lift the load.
- This method utilizes the imparted force by the operator to govern the force provided to assist in lifting the load. In this way an operator maintains the feel of lifting the load and moving it but exerts only enough force to control the moving of the load.
- a power assist device used by an operator to pick up an instrument panel off a rack and guide the instrument panel into a vehicle cabin for attachment therein.
- the operator does not support the weight of the instrument panel and is free to move the instrument panel around the workspace without constraint.
- the deficiency in this method is that there is no restraint on powered manipulator motion.
- the power assist device can be freely wielded by the operator, and the operator may inadvertently move the instrument panel into anything, damaging both the instrument panel and whatever the panel hits.
- a method of controlling a powered manipulator in a plurality of distinct workspaces is disclosed.
- the plurality of distinct workspaces includes a first workspace and a second workspace that is different from the first workspace.
- the powered manipulator utilized in the method of the subject invention includes a control handle, at least one motor, and at least one force sensor.
- the powered manipulator is utilized in combination with a processor that controls the powered manipulator.
- the method of the subject invention includes the steps of imparting a force on the control handle which is preferably accomplished by an operator either pushing or pulling on the control handle to impart the force.
- the direction and magnitude of the force on the control handle are sensed by the force sensor.
- the data which is indicative of the direction and magnitude of the force, is sent to the processor.
- the direction and magnitude data from the force sensor is processed to established movement commands for the powered manipulator.
- the processor is programmed to establish at least one virtual constraint in the first workspace.
- the established virtual constraint limits movement of the powered manipulator in the first workspace to prevent an operator from moving the powered manipulator to at least one physical limit of the first workspace. As such, movement of the powered manipulator is limited as the powered manipulator moves in the first workspace in response to the movement commands from the processor.
- the method of the subject invention continues by relocating the powered manipulator from the first workspace into the second workspace.
- the powered manipulator moves in the second workspace also in response to the movement commands from the processor.
- the method is characterized by repositioning the established at least one virtual constraint from the first workspace to the second workspace upon relocation of the powered manipulator. Movement of the powered manipulator in the second workspace is limited. Limitation of the movement of the powered manipulator in the second workspace prevents the operator from moving the powered manipulator to at least one physical limit of the second workspace.
- the subject invention provides a method that is able to compensate for parts with varying features from part-to-part, and for parts that are placed on support racks in varying positions from time-to-time.
- the subject invention also provides a method for tracking an assembly line as the assembly line is operating without requiring the operator to apply forces to the powered manipulator used in this method to keep up with or match the speed of the assembly line.
- FIG. 1 is a perspective view of a powered manipulator, specifically an intelligent assist device
- FIG. 2 is a perspective view of the intelligent assist device within a first workspace including two-dimensional virtual walls and a three-dimensional virtual tunnel connected with a three-dimensional virtual funnel;
- FIG. 3 is a sectional view of the intelligent assist device moving within the three-dimensional virtual funnel that is connected with the three-dimensional virtual tunnel;
- FIG. 4 is an overhead view of the intelligent assist device being used on an operating assembly line to track a first assembly unit, in this Figure a car body, on the operating assembly line;
- FIG. 5 is an overhead view of the intelligent assist device illustrating a range of travel of the intelligent assist device that corresponds to upstream and downstream limits of the operating assembly line.
- a method of controlling a powered manipulator 10 in a plurality of distinct workspaces is disclosed.
- the powered manipulator 10 may be controlled according to the method of the subject invention in any number of distinct workspaces.
- the subject invention will be described below in terms of a first workspace and a second workspace wherein the second workspace is different than the first workspace.
- a workspace may be defined as any operational area where the powered manipulator 10 functions.
- a first and second workspace may be the same operational area, for purposes of the subject invention, the first and second workspaces would be different if a foreign obstacle present in the first workspace was not present in the second workspace.
- the powered manipulator 10 includes at least one motor 12 , and at least one force sensor 14 disposed on a control handle 16 .
- the powered manipulator 10 utilized in the subject invention preferably includes a plurality of force sensors 14 disposed on the control handle 16 .
- the powered manipulator 10 is utilized in combination with a processor 18 that controls the powered manipulator.
- the processor 18 is a microprocessor 18 and will be described below as such.
- any other suitable computer processor may also be selected without varying the scope of the subject invention.
- the specific type of powered manipulator 10 referred to is an intelligent assist device (IAD) 10 .
- the IAD 10 includes a movable base 30 supporting a lift mechanism 32 for moving a workpiece 26 .
- the motor 12 actuates the lift mechanism 32 to move the workpiece 26 .
- the lift mechanism 32 also supports the control handle 16 .
- the control handle 16 of the IAD 10 receives various inputs from an operator.
- the plurality of force sensors 14 are preferably disposed between the control handle 16 and the lift mechanism 32 for optimum sensing of the operator inputs.
- the method of the subject invention includes the step of imparting a force on the control handle 16 .
- the operator imparts the force on the control handle 16 simply by pushing or pulling on the control handle 16 .
- the plurality of force sensors 16 sense a direction and magnitude of the force imparted on the control handle 16 .
- Data which is indicative of the direction and magnitude of the force imparted on the control handle 16 , is sent to the microprocessor 18 .
- This data is then processed in order to establish movement commands for the IAD 10 which are ultimately responsible for the movement of the IAD 10 . Movement of the IAD 10 includes both the operator's input as well as powered assistance from the motor 12 .
- the processing step may optionally include the filtering of some portion of the force imparted on the control handle 16 .
- Filtering accomplishes a smoothing when the IAD 10 is moved by eliminating natural vibrations and sudden inconsistent motions, such as jerks, produced by the operator. These natural vibrations and sudden inconsistent motions are not incorporated into the movement commands that are responsible for movement of the IAD 10 .
- the optional step of filtering prevents certain operator inputs from being translated into movement commands thereby preventing undesirable jerking or oscillation of the IAD 10 .
- An adaptive gain feature that proportions the movement commands relative to the force imparted on the control handle 16 may also be included in this processing step.
- a specific magnitude of the force imparted on the control handle 16 is translated proportionally into movement commands for the IAD 10 .
- the proportion of the movement commands to the imparted force can be varied as desired in response to a location of the IAD 10 in one of the workspaces, in response to automatic selection triggered by a specific event, or in response to manual selection by the operator. Furthermore, the proportion may be varied in relation to a speed of the IAD 10 .
- the proportioning discussed above can also change the way that the IAD 10 ‘feels’ to the operator. More specifically, the proportion can be adjusted such that a small amount of force imparted by the operator can result in large and fast movements of the IAD 10 . Alternatively, the proportion can be adjusted such that a large amount of force imparted by the operator is required even to make small moves of the IAD 10 . The proportion can also be dependent on dynamic motion states such as speed, velocity, acceleration, and the like. It should be appreciated that proportioning allows for fine control of the IAD 10 at low speeds and better control of the IAD 10 at high speeds.
- the proportion can also be varied with settings based on operator skill level, the tasks to be performed, interaction with virtual constraints, which are discussed below, regions in the workspace, sensor input, or other criteria.
- the proportion changes smoothly over time to allow the operator to adjust to the new feel and prevent jerky motion. Additionally, adjusting the feel of the IAD 10 generally allows for more intuitive control of the IAD 10 .
- the microprocessor 18 is programmed to establish at least one virtual constraint in the first workspace.
- the subject invention will be described below only in terms of a single virtual constraint.
- the microprocessor 18 can also be programmed to establish a plurality of virtual constraints. More specifically, the plurality of virtual constraints is a grouping of individual virtual constraints into a first arrangement of virtual constraints. The virtual constraint limits movement of the IAD 10 in the first workspace thereby preventing the operator from moving the IAD 10 to at least one physical limit of the first workspace.
- the movement commands for the IAD 10 are modified in response to the relationship between the location of the IAD 10 in the workspaces and the established virtual constraint.
- the movement commands for the IAD 10 may be modified by varying the speed of the IAD 10 in response to the location in the workspaces and the virtual constraint.
- Modification of the movement commands by the microprocessor 18 is accomplished by determining a predicted trajectory of the IAD 10 according to the imparted force on the control handle 16 .
- the predicted trajectory is the trajectory or path that the IAD 10 would move in the absence of the established virtual constraint.
- the predicted trajectory is compared to the position of the established virtual constraint, and then the movement commands are modified to provide a resultant trajectory which is the trajectory or path in which the IAD 10 actually moves.
- the step of providing the resultant trajectory in response to modified movement commands occurs continuously as the IAD 10 is moved throughout the workspaces.
- the established virtual constraint and the modification of the movement command for the IAD 10 in response to the relationship between the IAD 10 and the established virtual constraint assist the operator in guiding the IAD 10 to, or near, as specific point.
- the virtual constraint can be of any suitable shape, whether the shape is two or three-dimensional, it is to be understood that the virtual constraint is preferably selected from the group consisting of two-dimensional virtual walls 21 , two-dimensional virtual parallelograms, three-dimensional virtual funnels 22 , three-dimensional virtual tunnels 24 , and three-dimensional virtual spheres, and combinations thereof.
- the virtual constraint can also be established with decreasing cross-sectional area where the area within the virtual constraint is progressively decreased to terminate at the specific point where the operator desires to move the IAD 10 .
- the virtual constraint is the two-dimensional virtual wall 21 that is typically established to define outer limits of a particular workspace.
- Two-dimensional virtual constraints such as the two-dimensional virtual wall 21
- the three-dimensional virtual constraints can be established to form any desired three-dimensional shape.
- the three-dimensional virtual funnel 22 is utilized to guide the IAD 10 to the specific point.
- the three-dimensional virtual tunnel 24 is shown in combination with the three-dimensional virtual funnel 22 .
- the three-dimensional virtual funnel 22 leads into the three-dimensional virtual tunnel 24 that extends to the workpiece 26 .
- Both the three-dimensional virtual funnel 22 and the three-dimensional virtual tunnel 24 define tolerance limits in which the IAD 10 is allowed to move.
- FIG. 3 also illustrates that the shape of the virtual constraint can be customized depending on specific application requirements and on the specific workpiece 26 .
- the IAD 10 includes an end of arm tool 28 tailored to fit the workpiece 26 and is guided into the workpiece 26 by the three-dimensional virtual funnel 22 leading into the three-dimensional virtual tunnel 24 .
- three-dimensional virtual spheres can be used when it is desired to control certain performance characteristics of the IAD 10 , such as speed and adaptive gain dependent on the location of the IAD in one of the workspaces.
- the three-dimensional virtual sphere establishes an area within the workspaces where the performance characteristics of the IAD 10 are controlled according to a specific task.
- the IAD 10 With the virtual constraint established in the first workspace, the IAD 10 is moved in the first workspace in response to the movement commands from the microprocessor 18 . After the operator moves the IAD 10 within the first workspace to accomplish whatever particular task requires completion in the first workspace, the IAD 10 is relocated from the first workspace into the second workspace. At this point, the operator indicates to or ‘notifies’ the microprocessor 18 that the IAD 10 has been relocated into the second workspace.
- the operator can manually indicate to the microprocessor 18 that the IAD 10 has been relocated into the second workspace, or this indication can be realized automatically. Automatic indication of relocation will be discussed further below.
- the operation can simply depress or otherwise activate a relocation indication device on the control handle 16 , not shown in the Figures, that notifies the microprocessor 18 that the relocation of the virtual constraint has taken place. More specifically, the operator first manually locates a reference point in the second workspace, called the second reference point. Once the second reference point has been located, the operator activates the relocation indication device.
- the microprocessor 18 determines a position of the second reference point relative a position of a first reference point in the first workspace where the IAD 10 originally was located. It is to be understood that the first and second reference points can be directly on the workpiece 26 positioned in the workspaces, or the first and second reference points can be on carriers positioned in the workspaces that support the workpieces. Once the microprocessor 18 determines the position of the second reference point relative to the first reference point, the virtual constraint can be accurately repositioned. Repositioning of the virtual constraint is described in greater detail below.
- the subject invention may incorporate a sensing device that automatically senses that the IAD 10 has been relocated into the second workspace.
- Suitable sensing devices include, but are not limited to, vision sensors, encoders, and other discrete or continuous sensors.
- the position of the second reference point in the second workspace relative to the first reference point must still be determined.
- the virtual constraint is repositioned, either manually or automatically. In this embodiment, it is preferred that the virtual constraint be automatically repositioned from the first workspace to the second workspace according to the determined position of the second reference point.
- the subject invention programs the microprocessor 18 to establish a first reference frame in the first workspace.
- the first reference frame is associated with the established virtual constraint in the first workspace.
- the microprocessor 18 establishes a second reference frame in the second workspace.
- the first reference frame is compared to the second reference frame to determine a position of the second workspace relative to the first workspace, and the virtual constraint is repositioned from the first workspace to the second workspace according to the determined position of the second workspace relative to the first workspace.
- repositioning of the virtual constraint can be manual or automatic. That is, repositioning can occur automatically or not until the operator takes steps to ensure that repositioning of the virtual constraint from the first workspace to the second workspace takes place. For instance, the operator may manually activate a switching device that repositions the virtual constraint from the first workspace to the second workspace according to the determined position of the second reference point relative to the first reference point. Alternatively, the virtual constraint can be automatically repositioned once the microprocessor 18 is aware that the IAD 10 has been relocated into the second workspace.
- this virtual constraint is essentially the same virtual constraint as the virtual constraint from the first workspace except that it has been re-oriented in some manner. If, on the other hand, there is an arrangement of more than one virtual constraint, then it is the entire arrangement of virtual constraints that is repositioned, and the repositioned arrangement can be different from the arrangement of virtual constraints in the first workspace simply by including at least one different virtual constraint.
- the subject invention is also able to track a specific moving point within the workspace and to reposition the virtual constraint in view of this specific moving point, which is known in the industry as line-tracking or a line tracking method.
- the specific moving point may be the point at which the operator is required to mount or assemble the workpiece 26 .
- the virtual constraint may be disposed at any position within the workspace in view of the specific moving point.
- the microprocessor 18 is programmed to establish a first tracking frame 36 .
- the first tracking frame 36 is established in relation to a first assembly unit 38 , such as an automobile body 38 .
- the first tracking frame 36 moves with the first workspace along the operating assembly line 40 to track the first assembly unit 38 as the first assembly unit 38 moves along on the operating assembly line 40 .
- the operating assembly line 40 includes a particular operating rate as well as an upstream 42 and downstream 44 limit.
- the virtual constraint is related to, or virtually attached with, the first tracking frame 36 . As such, the virtual constraint moves with the first tracking frame 36 and the first workspace along the operating assembly line 40 .
- the IAD 10 moves in concert with the assembly line 40 once the velocity of the IAD 10 achieves 100 percent of the operating rate of the assembly line 40 .
- the increase in velocity of the IAD 10 is incremental such that there is a smooth gradation toward 100 percent.
- the microprocessor 18 is also programmed to establish a second tracking frame 46 to track a second assembly unit 48 on the operating assembly line 40 .
- the second tracking frame 46 is established in relation to the second assembly unit 48 and operates identically to the first tracking frame 36 . That is, the second tracking frame 46 moves with the second workspace along the operating assembly line 40 to track the second assembly unit 48 as the second assembly unit 48 moves along on the operating assembly line 40 .
- the virtual constraint is virtually attached with the second tracking frame 46 such that the virtual constraint moves with the second tracking frame 46 and the second workspace along the operating assembly line 40 .
- FIG. 4 illustrates how the line tracking method can be used on the operating assembly line 40 to mount or assemble workpieces 26 to the automobile bodies 38 , 48 which are moving on and with the operating assembly line 40 .
- a part detect switch, or other equivalent device informs the microprocessor 18 that the first automobile body 38 is present on the assembly line 40 , and with this information, the microprocessor 18 establishes the first tracking frame 36 in relation to the first automobile body 38 .
- a first workpiece 26 A is removed from an external storage area 34 , such as an external assembly line, and moved by the operator toward the first automobile body 38 . Notice that the first workpiece 26 A is labeled in two places in FIG.
- the movement of the first automobile body 38 along the operating assembly line 40 is detected by a remote sensor, or even by a sensor attached to the IAD 10 , of any kind known in the art, such as a tracking encoder, and information representative of this movement is relayed to the microprocessor 18 .
- the microprocessor 18 moves the first tracking frame 36 with the first workspace along the operating assembly line 40 to track the movement of the first automobile body 38 on the operating assembly line 40 .
- the microprocessor 18 establishes the virtual constraint in relation to the specific moving point which is a final assembly point for the first workpiece 26 A in the first automobile body 38 . Although the final assembly point remains static relative to the first automobile body 38 , the final assembly point is moving with the operating assembly line 40 . As such, the microprocessor 18 attaches the virtual constraint to the first tracking frame 36 such that the virtual constraint moves with the first tracking frame 36 and the first workspace along the operating assembly line 40 . The virtual constraint decreases the free movement available to the operator as the operator moves the IAD 10 closer to the first automobile body 38 . The operator then moves the first workpiece 26 A to the final assembly point where the first workpiece 26 A is to be mounted or assembled to the first automobile body 38 .
- the IAD 10 tracks the first automobile body 38 and the virtual constraints are moved relative to the final assembly point. This relieves the operator from the burden of imparting the exact force required to track the assembly line 40 and allows the operator to devote full attention to assembling the first workpiece 26 A to the first automobile body 38 . Furthermore, in limiting the movement of the IAD 10 , the virtual constraint ensures that the first workpiece 26 A will not inadvertently hit the first automobile body 38 .
- a second workpiece 26 B can be mounted to a second automobile body 48 on the same operating assembly line 40 .
- the part detect switch informs the microprocessor 18 that the second automobile body 48 is present on the assembly line 40 , and with this information, the microprocessor 18 establishes the second tracking frame 46 in relation to the second automobile body 48 .
- the second workpiece 26 B is removed from the external storage area 34 and moved by the operator toward the second automobile body 48 .
- the movement of the second automobile body 48 is detected by the remote sensor and is relayed to the microprocessor 18 , and the microprocessor 18 moves the second tracking frame 46 with the second workspace along the operating assembly line 40 to track the movement of the second automobile body 48 on the operating assembly line 40 .
- the microprocessor 18 also establishes the virtual constraint in relation to the final assembly point for the second workpiece 26 B in the second automobile body 48 . Specifically, the microprocessor 18 attaches the virtual constraint to the second tracking frame 46 such that the virtual constraint moves with the second tracking frame 46 and the second workspace along the operating assembly line 40 . Then, the second workpiece 26 B can be mounted or assembled to the second automobile body 48 while the movement of the IAD 10 , which supports the second workpiece 26 B, is limited to the physical limit of the second workspace.
- the IAD 10 has a particular range of travel necessary to mount or assemble the workpieces 26 to the automobile body 38 .
- the subject invention incorporates certain interlocks 50 , 52 to prevent the range of travel of the IAD 10 from exceeding these interlocks 50 , 52 .
- These interlocks 50 , 52 relate to the upstream 42 and downstream 44 limits of the operating assembly line 40 .
- these interlocks 50 , 52 guarantee the safety of the operator and prevent damage to the IAD 10 .
- the operating rate of the assembly line 40 may be slowed as the range of travel of the IAD 10 approaches the downstream limit 44 of the operating assembly line 40 .
- the range of travel of the IAD required to follow the automobile body 38 on the operating assembly line 40 will exceed the interlock 50 and the operating rate of the assembly line 40 can be slowed until the operator completes the task.
- the operator is also signaled, either audibly or visually, that the range of travel of the IAD 10 has exceeded the interlocks 50 , 52 and is approaching the downstream limit 44 .
- operation of the assembly line 40 may be stopped when the range of travel of the IAD 10 exceeds the downstream limit 44 of the operating assembly line 40 .
- Stoppage of the operation of the assembly line 40 can be temporary, i.e., only a pause, if the range of travel only exceeds the downstream limit 44 by an accepted tolerance.
- stoppage of the operation of the assembly line 40 can be permanent if the range of travel exceeds the downstream limit 44 outside of the accepted tolerance where it is then necessary to reset the entire system, IAD 10 and assembly line 40 .
- the upstream 42 and downstream 44 limits of the assembly line 40 are designated as such merely for descriptive purposes and that this terminology may be interchanged.
- the subject invention also includes the use of virtual constraints to control how, and not just where, the IAD 10 can move.
- Control of how the IAD 10 moves includes varying the speed and the resultant trajectory in relation to the location of the IAD 10 within the established virtual constraint. This capability provides for the reduction of speed as the IAD 10 approaches the established virtual constraint to eliminate abrupt stops, and provides for the virtual constraint to have a virtual friction much like sliding friction in a physical environment. This capability is desirable to optimize intuitive guiding of the IAD 10 .
- the force imparted by the operator in moving the IAD 10 against the virtual constraint would be modified to a movement command that would move the IAD 10 laterally along the virtual constraint.
- a speed limit of zero is introduced along the virtual constraint that requires the operator to back the IAD 10 off of the virtual constraint before proceeding.
- the speed limit of the IAD 10 along the virtual constraint may also be set at a very slow rate to allow the IAD 10 to move along the virtual constraint only at a slow speed, thereby enabling the operator to more effectively control the IAD 10 .
- the subject invention also provides for the establishment of multiple arrangements of dynamic virtual constraints that may be activated on a real-time basis by selecting a specific arrangement of virtual constraints either manually or automatically. Arrangements of dynamic virtual constraints that are activated on a real-time basis contrast with static virtual constraints in that the arrangement of dynamic virtual constraints is always present in the work area. Arrangements of dynamic virtual constraints allow the operator to activate a specific virtual constraint depending on the task to be performed.
- real-time dynamic virtual constraints allow the operator to activate arrangements of virtual constraints that are specific to the task being performed.
- the selection of the specific arrangement of virtual constraints can be accomplished by an operator manually activating a switch disposed on the control handle 16 to engage a particular arrangement of virtual constraints for guiding the IAD 10 in picking up the workpiece 26 .
- This switch can then be deactivated to remove the arrangement and allow the operator free movement within the workspace.
- it also conceived to be within the subject invention to automatically activate a specific arrangement of virtual constraints with a sensor, with a physically actuated switch, or logically when specific conditions are met. Automatic activation will occur when the operator approaches the workpiece 26 with the IAD 10 .
- the subject invention further provides for establishment of a virtual coordinate system to reposition forces in order to establish a preferred center of rotation in which the IAD 10 is moved in response to operator inputs. Additionally, establishment of the virtual coordinate system allows the positioning of the virtual coordinate system anywhere relative to the IAD 10 . The position of the virtual coordinate system may even be varied which allows for positioning of the virtual coordinate system to provide for more intuitive movement of the workpiece 26 . When the workpiece 26 is not being moved, the virtual coordinate system can be placed directly on the IAD 10 . When the workpiece 26 is being moved, the virtual coordinate system may be positioned on the workpiece 26 that is being moved by the IAD 10 .
- movement commands can be interpreted in relation to the virtual coordinate system centered on the workpiece 26 .
- the center point of that rotation can be placed on the center point of the workpiece 26 , thus eliminating inertia created by moving the workpiece 26 that is extended a distance from the center of rotation.
- the virtual coordinate system can be centered back onto the IAD 10 , restoring the intuitive control of the IAD 10 .
- the subject invention also limits the torque available from the motor 12 of the IAD 10 to prevent the movements of the IAD from overpowering the operator or to limit potential collision damage between the IAD 10 and foreign obstacles in the workspace.
- the torque available to the IAD 10 is restricted below physical limitations of the motor 12 to provide for operator safety so that movements of the IAD 10 do not exceed the strength of the operator.
- undue contact forces exerted by the IAD 10 during collisions are prevented by limiting the torque available from the motor 12 .
- the motor 12 is also utilized as a collision detection device that senses a motor torque reading above a specified limit to signal to the microprocessor 18 that a collision has occurred and to disable movement of the IAD 10 and to prevent operator injury.
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
Description
- The present application is a continuation-in-part of co-pending U.S. patent application 09/458,294 which was filed on Dec. 10, 1999 and is entitled “Method Of Controlling An Intelligent Assist Device.”
- 1. Field of the Invention
- The subject invention relates to the method of controlling a powered manipulator within a plurality of distinct workspaces. More specifically, the subject invention relates to establishing and repositioning at least one virtual constraint from a first workspace to a second workspace such that movement of the powered manipulator in the second workspace is limited to prevent the operator from moving the powered manipulator to at least one physical limit of the second workspace.
- 2. Description of the Prior Art
- The moving of heavy objects from one location to another traditionally is accomplished by the use of a powered manipulator or more typically, an unpowered manipulator that utilizes overhead rails or a bridge gantry with a carriage movably supported thereon. An arm is pivotally attached to the carriage to lift the objects from overhead. When moving a heavy object, it is desirable to have the operator as close to the object as possible to make movement of the object more intuitive as if the operator was actually lifting and moving the object. To this end, it is desirable to utilize power assisted manual manipulators.
- Methods to control a power assisted manual manipulator must provide adequate operator safety and still provide an intuitive human interface. One method of controlling an assist device is comprises the steps of utilizing an actuator to sense the required force for lifting a load, providing an end-effector to interface between a human operator and the load, engaging the load with the end effector, detecting a magnitude of human force imparted by the operator on the end-effector as the operator lifts the load and using the magnitude of the human force to regulate the actuator and cause the actuator to lift the load. This method utilizes the imparted force by the operator to govern the force provided to assist in lifting the load. In this way an operator maintains the feel of lifting the load and moving it but exerts only enough force to control the moving of the load.
- Another method of moving a load is exemplified by a power assist device used by an operator to pick up an instrument panel off a rack and guide the instrument panel into a vehicle cabin for attachment therein. The operator does not support the weight of the instrument panel and is free to move the instrument panel around the workspace without constraint. The deficiency in this method is that there is no restraint on powered manipulator motion. As a result, the power assist device can be freely wielded by the operator, and the operator may inadvertently move the instrument panel into anything, damaging both the instrument panel and whatever the panel hits.
- The above methods are further deficient in that they are unable to adjust easily to compensate for parts with particular features that vary from part-to-part, or they are unable to adjust easily to compensate for parts that are disposed on a support rack in varying positions each time. Also, these methods are unable to track an assembly line as the assembly line is operating or these methods rely on the operator to apply the equivalent force required to match a speed of the assembly line.
- A method of controlling a powered manipulator in a plurality of distinct workspaces is disclosed. At a minimum, the plurality of distinct workspaces includes a first workspace and a second workspace that is different from the first workspace. The powered manipulator utilized in the method of the subject invention includes a control handle, at least one motor, and at least one force sensor. The powered manipulator is utilized in combination with a processor that controls the powered manipulator.
- The method of the subject invention includes the steps of imparting a force on the control handle which is preferably accomplished by an operator either pushing or pulling on the control handle to impart the force. The direction and magnitude of the force on the control handle are sensed by the force sensor. Next, the data, which is indicative of the direction and magnitude of the force, is sent to the processor. The direction and magnitude data from the force sensor is processed to established movement commands for the powered manipulator. Furthermore, the processor is programmed to establish at least one virtual constraint in the first workspace. The established virtual constraint limits movement of the powered manipulator in the first workspace to prevent an operator from moving the powered manipulator to at least one physical limit of the first workspace. As such, movement of the powered manipulator is limited as the powered manipulator moves in the first workspace in response to the movement commands from the processor.
- The method of the subject invention continues by relocating the powered manipulator from the first workspace into the second workspace. The powered manipulator moves in the second workspace also in response to the movement commands from the processor. The method is characterized by repositioning the established at least one virtual constraint from the first workspace to the second workspace upon relocation of the powered manipulator. Movement of the powered manipulator in the second workspace is limited. Limitation of the movement of the powered manipulator in the second workspace prevents the operator from moving the powered manipulator to at least one physical limit of the second workspace.
- Accordingly, by repositioning the virtual constraint from the first workspace to the second workspace, the subject invention provides a method that is able to compensate for parts with varying features from part-to-part, and for parts that are placed on support racks in varying positions from time-to-time. The subject invention also provides a method for tracking an assembly line as the assembly line is operating without requiring the operator to apply forces to the powered manipulator used in this method to keep up with or match the speed of the assembly line.
- Other advantages of the present invention will be readily appreciated as the same becomes better understood by reference to the following detailed description when considered in connection with the accompanying drawings wherein:
- FIG. 1 is a perspective view of a powered manipulator, specifically an intelligent assist device;
- FIG. 2 is a perspective view of the intelligent assist device within a first workspace including two-dimensional virtual walls and a three-dimensional virtual tunnel connected with a three-dimensional virtual funnel;
- FIG. 3 is a sectional view of the intelligent assist device moving within the three-dimensional virtual funnel that is connected with the three-dimensional virtual tunnel;
- FIG. 4 is an overhead view of the intelligent assist device being used on an operating assembly line to track a first assembly unit, in this Figure a car body, on the operating assembly line; and
- FIG. 5 is an overhead view of the intelligent assist device illustrating a range of travel of the intelligent assist device that corresponds to upstream and downstream limits of the operating assembly line.
- Referring to the Figures, wherein like numerals indicate like or corresponding parts throughout the several views, a method of controlling a powered
manipulator 10 in a plurality of distinct workspaces is disclosed. The poweredmanipulator 10 may be controlled according to the method of the subject invention in any number of distinct workspaces. For descriptive purposes only, the subject invention will be described below in terms of a first workspace and a second workspace wherein the second workspace is different than the first workspace. As will be appreciated fully below, a workspace may be defined as any operational area where the poweredmanipulator 10 functions. In terms of the subject invention, it is only important that one workspace differ from other workspaces in any manner. As an example, although a first and second workspace may be the same operational area, for purposes of the subject invention, the first and second workspaces would be different if a foreign obstacle present in the first workspace was not present in the second workspace. - Referring primarily to FIG. 1, the powered
manipulator 10 includes at least onemotor 12, and at least oneforce sensor 14 disposed on acontrol handle 16. Although not required, the poweredmanipulator 10 utilized in the subject invention preferably includes a plurality offorce sensors 14 disposed on thecontrol handle 16. The poweredmanipulator 10 is utilized in combination with aprocessor 18 that controls the powered manipulator. Preferably, theprocessor 18 is amicroprocessor 18 and will be described below as such. However, any other suitable computer processor may also be selected without varying the scope of the subject invention. - The specific type of powered
manipulator 10 referred to is an intelligent assist device (IAD) 10. The IAD 10 includes amovable base 30 supporting alift mechanism 32 for moving aworkpiece 26. Themotor 12 actuates thelift mechanism 32 to move theworkpiece 26. For descriptive purpose only, the subject method invention will be described below in terms of asingle servomotor 12. Thelift mechanism 32 also supports the control handle 16. The control handle 16 of theIAD 10 receives various inputs from an operator. The plurality offorce sensors 14 are preferably disposed between the control handle 16 and thelift mechanism 32 for optimum sensing of the operator inputs. - The method of the subject invention includes the step of imparting a force on the control handle16. Preferably, the operator imparts the force on the control handle 16 simply by pushing or pulling on the control handle 16. The plurality of
force sensors 16 sense a direction and magnitude of the force imparted on the control handle 16. Data, which is indicative of the direction and magnitude of the force imparted on the control handle 16, is sent to themicroprocessor 18. This data is then processed in order to establish movement commands for theIAD 10 which are ultimately responsible for the movement of theIAD 10. Movement of theIAD 10 includes both the operator's input as well as powered assistance from themotor 12. - The processing step may optionally include the filtering of some portion of the force imparted on the control handle16. Filtering accomplishes a smoothing when the
IAD 10 is moved by eliminating natural vibrations and sudden inconsistent motions, such as jerks, produced by the operator. These natural vibrations and sudden inconsistent motions are not incorporated into the movement commands that are responsible for movement of theIAD 10. In other words, the optional step of filtering prevents certain operator inputs from being translated into movement commands thereby preventing undesirable jerking or oscillation of theIAD 10. - An adaptive gain feature that proportions the movement commands relative to the force imparted on the control handle16 may also be included in this processing step. In other words, a specific magnitude of the force imparted on the control handle 16 is translated proportionally into movement commands for the
IAD 10. The proportion of the movement commands to the imparted force can be varied as desired in response to a location of theIAD 10 in one of the workspaces, in response to automatic selection triggered by a specific event, or in response to manual selection by the operator. Furthermore, the proportion may be varied in relation to a speed of theIAD 10. - The proportioning discussed above can also change the way that the IAD10 ‘feels’ to the operator. More specifically, the proportion can be adjusted such that a small amount of force imparted by the operator can result in large and fast movements of the
IAD 10. Alternatively, the proportion can be adjusted such that a large amount of force imparted by the operator is required even to make small moves of theIAD 10. The proportion can also be dependent on dynamic motion states such as speed, velocity, acceleration, and the like. It should be appreciated that proportioning allows for fine control of theIAD 10 at low speeds and better control of theIAD 10 at high speeds. The proportion can also be varied with settings based on operator skill level, the tasks to be performed, interaction with virtual constraints, which are discussed below, regions in the workspace, sensor input, or other criteria. The proportion changes smoothly over time to allow the operator to adjust to the new feel and prevent jerky motion. Additionally, adjusting the feel of theIAD 10 generally allows for more intuitive control of theIAD 10. - The
microprocessor 18 is programmed to establish at least one virtual constraint in the first workspace. For descriptive purposes only, the subject invention will be described below only in terms of a single virtual constraint. However, it is to be understood that themicroprocessor 18 can also be programmed to establish a plurality of virtual constraints. More specifically, the plurality of virtual constraints is a grouping of individual virtual constraints into a first arrangement of virtual constraints. The virtual constraint limits movement of theIAD 10 in the first workspace thereby preventing the operator from moving theIAD 10 to at least one physical limit of the first workspace. - To limit movement of the
IAD 10 in the first, or in any, workspace, the movement commands for theIAD 10 are modified in response to the relationship between the location of theIAD 10 in the workspaces and the established virtual constraint. For instance, the movement commands for theIAD 10 may be modified by varying the speed of theIAD 10 in response to the location in the workspaces and the virtual constraint. Modification of the movement commands by themicroprocessor 18 is accomplished by determining a predicted trajectory of theIAD 10 according to the imparted force on the control handle 16. As appreciated, the predicted trajectory is the trajectory or path that theIAD 10 would move in the absence of the established virtual constraint. The predicted trajectory is compared to the position of the established virtual constraint, and then the movement commands are modified to provide a resultant trajectory which is the trajectory or path in which theIAD 10 actually moves. The step of providing the resultant trajectory in response to modified movement commands occurs continuously as theIAD 10 is moved throughout the workspaces. In sum, the established virtual constraint and the modification of the movement command for theIAD 10 in response to the relationship between theIAD 10 and the established virtual constraint assist the operator in guiding theIAD 10 to, or near, as specific point. - Although the virtual constraint can be of any suitable shape, whether the shape is two or three-dimensional, it is to be understood that the virtual constraint is preferably selected from the group consisting of two-dimensional
virtual walls 21, two-dimensional virtual parallelograms, three-dimensionalvirtual funnels 22, three-dimensionalvirtual tunnels 24, and three-dimensional virtual spheres, and combinations thereof. The virtual constraint can also be established with decreasing cross-sectional area where the area within the virtual constraint is progressively decreased to terminate at the specific point where the operator desires to move theIAD 10. - Referring to FIG. 2, the virtual constraint is the two-dimensional
virtual wall 21 that is typically established to define outer limits of a particular workspace. Two-dimensional virtual constraints, such as the two-dimensionalvirtual wall 21, can also be place entirely around known obstacles within the workspace to prevent collisions with theIAD 10. The three-dimensional virtual constraints can be established to form any desired three-dimensional shape. For example, referring to FIG. 3, the three-dimensionalvirtual funnel 22 is utilized to guide theIAD 10 to the specific point. As also shown in FIG. 3, the three-dimensionalvirtual tunnel 24 is shown in combination with the three-dimensionalvirtual funnel 22. In other words, the three-dimensionalvirtual funnel 22 leads into the three-dimensionalvirtual tunnel 24 that extends to theworkpiece 26. Both the three-dimensionalvirtual funnel 22 and the three-dimensionalvirtual tunnel 24 define tolerance limits in which theIAD 10 is allowed to move. FIG. 3 also illustrates that the shape of the virtual constraint can be customized depending on specific application requirements and on thespecific workpiece 26. In this Figure, theIAD 10 includes an end ofarm tool 28 tailored to fit theworkpiece 26 and is guided into theworkpiece 26 by the three-dimensionalvirtual funnel 22 leading into the three-dimensionalvirtual tunnel 24. Although not shown in the Figures, three-dimensional virtual spheres can be used when it is desired to control certain performance characteristics of theIAD 10, such as speed and adaptive gain dependent on the location of the IAD in one of the workspaces. The three-dimensional virtual sphere establishes an area within the workspaces where the performance characteristics of theIAD 10 are controlled according to a specific task. - With the virtual constraint established in the first workspace, the
IAD 10 is moved in the first workspace in response to the movement commands from themicroprocessor 18. After the operator moves theIAD 10 within the first workspace to accomplish whatever particular task requires completion in the first workspace, theIAD 10 is relocated from the first workspace into the second workspace. At this point, the operator indicates to or ‘notifies’ themicroprocessor 18 that theIAD 10 has been relocated into the second workspace. - The operator can manually indicate to the
microprocessor 18 that theIAD 10 has been relocated into the second workspace, or this indication can be realized automatically. Automatic indication of relocation will be discussed further below. As an example of manual indication to themicroprocessor 18, the operation can simply depress or otherwise activate a relocation indication device on the control handle 16, not shown in the Figures, that notifies themicroprocessor 18 that the relocation of the virtual constraint has taken place. More specifically, the operator first manually locates a reference point in the second workspace, called the second reference point. Once the second reference point has been located, the operator activates the relocation indication device. At this point, themicroprocessor 18 determines a position of the second reference point relative a position of a first reference point in the first workspace where theIAD 10 originally was located. It is to be understood that the first and second reference points can be directly on theworkpiece 26 positioned in the workspaces, or the first and second reference points can be on carriers positioned in the workspaces that support the workpieces. Once themicroprocessor 18 determines the position of the second reference point relative to the first reference point, the virtual constraint can be accurately repositioned. Repositioning of the virtual constraint is described in greater detail below. - As alluded to above, it is also possible to automatically indicate to the
microprocessor 18 that theIAD 10 has been relocated. To accomplish this, the subject invention may incorporate a sensing device that automatically senses that theIAD 10 has been relocated into the second workspace. Suitable sensing devices include, but are not limited to, vision sensors, encoders, and other discrete or continuous sensors. As with manual indication, the position of the second reference point in the second workspace relative to the first reference point must still be determined. Once the position of the second reference point has been determined, the virtual constraint is repositioned, either manually or automatically. In this embodiment, it is preferred that the virtual constraint be automatically repositioned from the first workspace to the second workspace according to the determined position of the second reference point. - To reposition the virtual constraint, the subject invention programs the
microprocessor 18 to establish a first reference frame in the first workspace. The first reference frame is associated with the established virtual constraint in the first workspace. After the first reference frame is established, and after theIAD 10 has been relocated from the first workspace into the second workspace, themicroprocessor 18 establishes a second reference frame in the second workspace. The first reference frame is compared to the second reference frame to determine a position of the second workspace relative to the first workspace, and the virtual constraint is repositioned from the first workspace to the second workspace according to the determined position of the second workspace relative to the first workspace. - As with the indication of relocation, repositioning of the virtual constraint can be manual or automatic. That is, repositioning can occur automatically or not until the operator takes steps to ensure that repositioning of the virtual constraint from the first workspace to the second workspace takes place. For instance, the operator may manually activate a switching device that repositions the virtual constraint from the first workspace to the second workspace according to the determined position of the second reference point relative to the first reference point. Alternatively, the virtual constraint can be automatically repositioned once the
microprocessor 18 is aware that theIAD 10 has been relocated into the second workspace. In either situation, manual or automatic repositioning of the virtual constraint, if there is only a single virtual constraint that has been repositioned into the second workspace, then this virtual constraint is essentially the same virtual constraint as the virtual constraint from the first workspace except that it has been re-oriented in some manner. If, on the other hand, there is an arrangement of more than one virtual constraint, then it is the entire arrangement of virtual constraints that is repositioned, and the repositioned arrangement can be different from the arrangement of virtual constraints in the first workspace simply by including at least one different virtual constraint. - Once the virtual constraint is repositioned from the first workspace to the second workspace upon relocation of the
IAD 10, movement of theIAD 10 in the second workspace in response to movement commands from themicroprocessor 18 is limited to prevent the operator from moving theIAD 10 to at least one physical limit of the second workspace. Movement of theIAD 10 is limited in the second workspace in the same manner in which movement of the IAD was limited in the first workspace. - Referring to FIGS. 4 and 5, the subject invention is also able to track a specific moving point within the workspace and to reposition the virtual constraint in view of this specific moving point, which is known in the industry as line-tracking or a line tracking method. The specific moving point may be the point at which the operator is required to mount or assemble the
workpiece 26. As such, the virtual constraint may be disposed at any position within the workspace in view of the specific moving point. To accomplish line-tracking with the virtual constraint, themicroprocessor 18 is programmed to establish afirst tracking frame 36. Thefirst tracking frame 36 is established in relation to afirst assembly unit 38, such as anautomobile body 38. Once established, thefirst tracking frame 36 moves with the first workspace along the operatingassembly line 40 to track thefirst assembly unit 38 as thefirst assembly unit 38 moves along on the operatingassembly line 40. The operatingassembly line 40 includes a particular operating rate as well as an upstream 42 and downstream 44 limit. The virtual constraint is related to, or virtually attached with, thefirst tracking frame 36. As such, the virtual constraint moves with thefirst tracking frame 36 and the first workspace along the operatingassembly line 40. - The
IAD 10 moves toward the operatingassembly line 40 at a particular velocity, and in the preferred embodiment of the line tracking method, the velocity of theIAD 10 is increased as the IAD moves toward theassembly line 40 within the first workspace. More specifically, the velocity of theIAD 10 is increased incrementally until the velocity matches the operating rate, whatever the operating rate is, of theassembly line 40. In other words, as theIAD 10 approaches theassembly line 40 from the side, the velocity of theIAD 10 scales incrementally from zero to 100 percent of the operating rate of theassembly line 40. As such, when theIAD 10 is some predetermined distance from theassembly line 40, the velocity is zero. That is, there is no velocity offset and theIAD 10 will be stationary unless the operator moves theIAD 10. On the other hand, when theIAD 10 is within the predetermined distance from theassembly line 40, theIAD 10 moves in concert with theassembly line 40 once the velocity of theIAD 10 achieves 100 percent of the operating rate of theassembly line 40. The increase in velocity of theIAD 10 is incremental such that there is a smooth gradation toward 100 percent. - The
microprocessor 18 is also programmed to establish asecond tracking frame 46 to track asecond assembly unit 48 on the operatingassembly line 40. Thesecond tracking frame 46 is established in relation to thesecond assembly unit 48 and operates identically to thefirst tracking frame 36. That is, thesecond tracking frame 46 moves with the second workspace along the operatingassembly line 40 to track thesecond assembly unit 48 as thesecond assembly unit 48 moves along on the operatingassembly line 40. The virtual constraint is virtually attached with thesecond tracking frame 46 such that the virtual constraint moves with thesecond tracking frame 46 and the second workspace along the operatingassembly line 40. - The line tracking method introduced above will be described in greater detail with reference to FIG. 4. In particular, FIG. 4 illustrates how the line tracking method can be used on the operating
assembly line 40 to mount or assembleworkpieces 26 to theautomobile bodies assembly line 40. A part detect switch, or other equivalent device, informs themicroprocessor 18 that thefirst automobile body 38 is present on theassembly line 40, and with this information, themicroprocessor 18 establishes thefirst tracking frame 36 in relation to thefirst automobile body 38. Afirst workpiece 26A is removed from anexternal storage area 34, such as an external assembly line, and moved by the operator toward thefirst automobile body 38. Notice that thefirst workpiece 26A is labeled in two places in FIG. 4 for descriptive purposes. The movement of thefirst automobile body 38 along the operatingassembly line 40, which in this example is equal to the operating rate of theassembly line 40, is detected by a remote sensor, or even by a sensor attached to theIAD 10, of any kind known in the art, such as a tracking encoder, and information representative of this movement is relayed to themicroprocessor 18. With the information representative of the movement of thefirst automobile body 38, themicroprocessor 18 moves thefirst tracking frame 36 with the first workspace along the operatingassembly line 40 to track the movement of thefirst automobile body 38 on the operatingassembly line 40. - The
microprocessor 18 establishes the virtual constraint in relation to the specific moving point which is a final assembly point for thefirst workpiece 26A in thefirst automobile body 38. Although the final assembly point remains static relative to thefirst automobile body 38, the final assembly point is moving with the operatingassembly line 40. As such, themicroprocessor 18 attaches the virtual constraint to thefirst tracking frame 36 such that the virtual constraint moves with thefirst tracking frame 36 and the first workspace along the operatingassembly line 40. The virtual constraint decreases the free movement available to the operator as the operator moves theIAD 10 closer to thefirst automobile body 38. The operator then moves thefirst workpiece 26A to the final assembly point where thefirst workpiece 26A is to be mounted or assembled to thefirst automobile body 38. At the final assembly point, the virtual constraint limits movement of theIAD 10, and thereby limits movement of thefirst workpiece 26A which is supported on theIAD 10, to the tolerance or physical limits of the first workspace required to assemble thefirst workpiece 26A to thefirst automobile body 38. - Throughout the entire line tracking method, the
IAD 10 tracks thefirst automobile body 38 and the virtual constraints are moved relative to the final assembly point. This relieves the operator from the burden of imparting the exact force required to track theassembly line 40 and allows the operator to devote full attention to assembling thefirst workpiece 26A to thefirst automobile body 38. Furthermore, in limiting the movement of theIAD 10, the virtual constraint ensures that thefirst workpiece 26A will not inadvertently hit thefirst automobile body 38. - A second workpiece26B can be mounted to a
second automobile body 48 on the sameoperating assembly line 40. The part detect switch informs themicroprocessor 18 that thesecond automobile body 48 is present on theassembly line 40, and with this information, themicroprocessor 18 establishes thesecond tracking frame 46 in relation to thesecond automobile body 48. The second workpiece 26B is removed from theexternal storage area 34 and moved by the operator toward thesecond automobile body 48. Like thefirst automobile body 38, the movement of thesecond automobile body 48 is detected by the remote sensor and is relayed to themicroprocessor 18, and themicroprocessor 18 moves thesecond tracking frame 46 with the second workspace along the operatingassembly line 40 to track the movement of thesecond automobile body 48 on the operatingassembly line 40. - The
microprocessor 18 also establishes the virtual constraint in relation to the final assembly point for the second workpiece 26B in thesecond automobile body 48. Specifically, themicroprocessor 18 attaches the virtual constraint to thesecond tracking frame 46 such that the virtual constraint moves with thesecond tracking frame 46 and the second workspace along the operatingassembly line 40. Then, the second workpiece 26B can be mounted or assembled to thesecond automobile body 48 while the movement of theIAD 10, which supports the second workpiece 26B, is limited to the physical limit of the second workspace. - Referring now to FIG. 5, the
IAD 10 has a particular range of travel necessary to mount or assemble theworkpieces 26 to theautomobile body 38. The subject invention incorporates certain interlocks 50, 52 to prevent the range of travel of theIAD 10 from exceeding these interlocks 50, 52. These interlocks 50, 52 relate to the upstream 42 and downstream 44 limits of the operatingassembly line 40. Furthermore, these interlocks 50, 52 guarantee the safety of the operator and prevent damage to theIAD 10. To accommodate the operators working on the operatingassembly line 40, the operating rate of theassembly line 40 may be slowed as the range of travel of theIAD 10 approaches thedownstream limit 44 of the operatingassembly line 40. In other words, if the operator has not accomplished the specific task to be accomplished, e.g. the mounting of theworkpiece 26 to theautomobile body 38, the range of travel of the IAD required to follow theautomobile body 38 on the operatingassembly line 40 will exceed the interlock 50 and the operating rate of theassembly line 40 can be slowed until the operator completes the task. The operator is also signaled, either audibly or visually, that the range of travel of theIAD 10 has exceeded the interlocks 50, 52 and is approaching thedownstream limit 44. Finally, operation of theassembly line 40 may be stopped when the range of travel of theIAD 10 exceeds thedownstream limit 44 of the operatingassembly line 40. Stoppage of the operation of theassembly line 40 can be temporary, i.e., only a pause, if the range of travel only exceeds thedownstream limit 44 by an accepted tolerance. On the other hand, stoppage of the operation of theassembly line 40 can be permanent if the range of travel exceeds thedownstream limit 44 outside of the accepted tolerance where it is then necessary to reset the entire system,IAD 10 andassembly line 40. It is to be understood that the upstream 42 and downstream 44 limits of theassembly line 40 are designated as such merely for descriptive purposes and that this terminology may be interchanged. - The subject invention also includes the use of virtual constraints to control how, and not just where, the
IAD 10 can move. Control of how theIAD 10 moves includes varying the speed and the resultant trajectory in relation to the location of theIAD 10 within the established virtual constraint. This capability provides for the reduction of speed as theIAD 10 approaches the established virtual constraint to eliminate abrupt stops, and provides for the virtual constraint to have a virtual friction much like sliding friction in a physical environment. This capability is desirable to optimize intuitive guiding of theIAD 10. As appreciated, when the operator feels the speed of theIAD 10 decreasing and feels friction without a corresponding reduction in the imparted force, it will be understood that the virtual constraint is being approached and the operator will be able to change the direction of theIAD 10 to avoid the virtual constraint. - It is also desirable to limit the speed of the
IAD 10 in the interest of operator safety and efficiency. It may be desirable to limit the speed of theIAD 10 when theworkpiece 26 is being carried to prevent the workpiece 26 from falling off and injuring the operator or becoming damaged. Alternatively, it may be desirable to limit the speed of theIAD 10 to prevent the workpiece 26 from creating undesirable inertial forces that would hinder control of theIAD 10 and endanger the operator. - Operator safety during control of the
IAD 10 when theIAD 10 is at an established virtual constraint is of significant concern. This concern is created by the magnitude of the force imparted by the operator being directly converted to motion along a surface of the virtual constraint thereby causing theIAD 10 to move in a different direction than the operator intends. This may be caused by the modification of the movement commands in relation to the virtual constraint. As described above, the predicted trajectory of movement is substituted with a modified movement command defined to move theIAD 10 away from or along the virtual constraint. Standard movement commands for theIAD 10 at the virtual constraint are modified to move theIAD 10 in a different direction than the force imparted on the control handle 16 by the operator. The force imparted by the operator in moving theIAD 10 against the virtual constraint would be modified to a movement command that would move theIAD 10 laterally along the virtual constraint. To remedy this concern, a speed limit of zero is introduced along the virtual constraint that requires the operator to back theIAD 10 off of the virtual constraint before proceeding. Alternatively, the speed limit of theIAD 10 along the virtual constraint may also be set at a very slow rate to allow theIAD 10 to move along the virtual constraint only at a slow speed, thereby enabling the operator to more effectively control theIAD 10. - The subject invention also provides for the establishment of multiple arrangements of dynamic virtual constraints that may be activated on a real-time basis by selecting a specific arrangement of virtual constraints either manually or automatically. Arrangements of dynamic virtual constraints that are activated on a real-time basis contrast with static virtual constraints in that the arrangement of dynamic virtual constraints is always present in the work area. Arrangements of dynamic virtual constraints allow the operator to activate a specific virtual constraint depending on the task to be performed.
- In operation, real-time dynamic virtual constraints allow the operator to activate arrangements of virtual constraints that are specific to the task being performed. The selection of the specific arrangement of virtual constraints can be accomplished by an operator manually activating a switch disposed on the control handle16 to engage a particular arrangement of virtual constraints for guiding the
IAD 10 in picking up theworkpiece 26. This switch can then be deactivated to remove the arrangement and allow the operator free movement within the workspace. Further, it also conceived to be within the subject invention to automatically activate a specific arrangement of virtual constraints with a sensor, with a physically actuated switch, or logically when specific conditions are met. Automatic activation will occur when the operator approaches theworkpiece 26 with theIAD 10. - In addition to constructing an arrangement of virtual restraints that restricts the movement of the
IAD 10, the subject invention further provides for establishment of a virtual coordinate system to reposition forces in order to establish a preferred center of rotation in which theIAD 10 is moved in response to operator inputs. Additionally, establishment of the virtual coordinate system allows the positioning of the virtual coordinate system anywhere relative to theIAD 10. The position of the virtual coordinate system may even be varied which allows for positioning of the virtual coordinate system to provide for more intuitive movement of theworkpiece 26. When theworkpiece 26 is not being moved, the virtual coordinate system can be placed directly on theIAD 10. When theworkpiece 26 is being moved, the virtual coordinate system may be positioned on theworkpiece 26 that is being moved by theIAD 10. Therefore, movement commands can be interpreted in relation to the virtual coordinate system centered on theworkpiece 26. As such, when the operator rotates theIAD 10, the center point of that rotation can be placed on the center point of theworkpiece 26, thus eliminating inertia created by moving theworkpiece 26 that is extended a distance from the center of rotation. Further, once theIAD 10 is unloaded, the virtual coordinate system can be centered back onto theIAD 10, restoring the intuitive control of theIAD 10. - The subject invention also limits the torque available from the
motor 12 of theIAD 10 to prevent the movements of the IAD from overpowering the operator or to limit potential collision damage between theIAD 10 and foreign obstacles in the workspace. In other words, the torque available to theIAD 10 is restricted below physical limitations of themotor 12 to provide for operator safety so that movements of theIAD 10 do not exceed the strength of the operator. Also, undue contact forces exerted by theIAD 10 during collisions are prevented by limiting the torque available from themotor 12. Themotor 12 is also utilized as a collision detection device that senses a motor torque reading above a specified limit to signal to themicroprocessor 18 that a collision has occurred and to disable movement of theIAD 10 and to prevent operator injury. - The invention has been described in an illustrative manner, and it is to be understood that the terminology which has been used is intended to be in the nature of words of description rather than of limitation. Obviously, many modifications and variations of the present invention are possible in light of the above teachings. The invention may be practiced otherwise than as specifically described within the scope of the appended claims. Furthermore, the reference numerals are merely for convenience and are not to be in any way to be read as limiting.
Claims (33)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/767,978 US6313595B2 (en) | 1999-12-10 | 2001-01-23 | Method of controlling an intelligent assist device in a plurality of distinct workspaces |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/458,294 US6204620B1 (en) | 1999-12-10 | 1999-12-10 | Method of controlling an intelligent assist device |
US09/767,978 US6313595B2 (en) | 1999-12-10 | 2001-01-23 | Method of controlling an intelligent assist device in a plurality of distinct workspaces |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/458,294 Continuation-In-Part US6204620B1 (en) | 1999-12-10 | 1999-12-10 | Method of controlling an intelligent assist device |
Publications (2)
Publication Number | Publication Date |
---|---|
US20010005120A1 true US20010005120A1 (en) | 2001-06-28 |
US6313595B2 US6313595B2 (en) | 2001-11-06 |
Family
ID=46257447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/767,978 Expired - Fee Related US6313595B2 (en) | 1999-12-10 | 2001-01-23 | Method of controlling an intelligent assist device in a plurality of distinct workspaces |
Country Status (1)
Country | Link |
---|---|
US (1) | US6313595B2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070271758A1 (en) * | 2005-08-03 | 2007-11-29 | Ford Motor Company | A system and method of installing an instrument panel |
WO2014023591A1 (en) * | 2012-08-10 | 2014-02-13 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Method and system for assisting in robot control, having a function for detecting the intention of an operator |
EP2409816A3 (en) * | 2010-07-19 | 2014-07-09 | KUKA Roboter GmbH | Manipulator control |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE29919136U1 (en) * | 1999-10-30 | 2001-03-08 | Münnekehoff, Gerd, Dipl.-Ing., 42857 Remscheid | System for controlling the movements of a load lifting device |
US6907317B2 (en) * | 2001-02-12 | 2005-06-14 | The Stanley Works | Hub for a modular intelligent assist system |
US6928336B2 (en) * | 2001-02-12 | 2005-08-09 | The Stanley Works | System and architecture for providing a modular intelligent assist system |
US6813542B2 (en) * | 2001-02-12 | 2004-11-02 | The Stanley Works | Modules for use in an integrated intelligent assist system |
DE60324783D1 (en) * | 2002-05-08 | 2009-01-02 | Stanley Works | METHOD AND DEVICE FOR LOAD HANDLING WITH AN INTELLIGENT HELP SYSTEM |
EP1551747B1 (en) * | 2002-09-30 | 2012-11-07 | The Stanley Works | Methods and apparatus for eliminating instability in intelligent assist devices |
US7925291B2 (en) * | 2003-08-13 | 2011-04-12 | Qualcomm Incorporated | User specific downlink power control channel Q-bit |
US7461753B1 (en) | 2004-12-06 | 2008-12-09 | Gatta Raymond P | Practical intelligent assist device |
US7467723B2 (en) * | 2005-03-18 | 2008-12-23 | Zaguroli Jr James | Electric motor driven traversing balancer hoist |
CN101421152A (en) * | 2006-02-17 | 2009-04-29 | 国际海洋工程公司 | Multi-mode manipulator arm and drive system |
BRPI0707956A2 (en) * | 2006-02-17 | 2011-05-17 | Oceaneering Int Inc | manipulator and variable mode drive system |
US7756601B1 (en) | 2007-03-05 | 2010-07-13 | R.P. Gatta, Inc. | Intuitive controller for vertical lift assist device |
US8105008B2 (en) | 2007-07-10 | 2012-01-31 | Raymond David Givens | Pneumatic multi-weight balancing device |
US20090069804A1 (en) * | 2007-09-12 | 2009-03-12 | Jensen Jeffrey L | Apparatus for efficient power delivery |
JP4443615B2 (en) * | 2008-02-27 | 2010-03-31 | トヨタ自動車株式会社 | Power assist device and control method thereof |
EP2271465A1 (en) * | 2008-03-31 | 2011-01-12 | Abb Research | Robot parts assembly on a workpiece moving on an assembly line |
US8317453B2 (en) * | 2008-05-15 | 2012-11-27 | Ray Givens | Compound-arm manipulator |
US8392023B2 (en) * | 2009-11-30 | 2013-03-05 | GM Global Technology Operations LLC | Photo-interrupter based force sensing handle and method of use |
US9381085B2 (en) | 2011-06-23 | 2016-07-05 | Stryker Corporation | Prosthetic implant and method of implantation |
NZ710129A (en) | 2013-01-22 | 2017-12-22 | Gorbel Inc | Medical rehab lift system and method with horizontal and vertical force sensing and motion control |
US10478371B2 (en) | 2013-01-22 | 2019-11-19 | Gorbel, Inc. | Medical rehab body weight support system and method with horizontal and vertical force sensing and motion control |
US11432900B2 (en) | 2013-07-03 | 2022-09-06 | Histosonics, Inc. | Articulating arm limiter for cavitational ultrasound therapy system |
USD749226S1 (en) | 2014-11-06 | 2016-02-09 | Gorbel, Inc. | Medical rehab lift actuator |
US10398618B2 (en) | 2015-06-19 | 2019-09-03 | Gorbel, Inc. | Body harness |
CN107921639B (en) * | 2015-08-25 | 2021-09-21 | 川崎重工业株式会社 | Information sharing system and information sharing method between multiple robot systems |
US10518413B2 (en) * | 2015-12-11 | 2019-12-31 | Abb Schweiz Ag | Industrial robot and method for controlling the robot to automatically select which program code to be executed next |
US11160633B2 (en) | 2016-03-28 | 2021-11-02 | Sony Olympus Medical Solutions Inc. | Medical observation apparatus, driving control method, medical observation system, and support arm apparatus |
US10414043B2 (en) * | 2017-01-31 | 2019-09-17 | Fanuc America Corporation | Skew and circular boundary for line tracking and circular tracking |
US11278416B2 (en) | 2019-11-14 | 2022-03-22 | Howmedica Osteonics Corp. | Concentric keel TKA |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3904042A (en) | 1974-02-25 | 1975-09-09 | Westinghouse Electric Corp | Manipulator apparatus |
US4305028A (en) | 1980-04-04 | 1981-12-08 | Nordson Corporation | System for evaluating the capability of a work-performing robot to reproduce a programmed series of motions |
US4403281A (en) | 1981-04-03 | 1983-09-06 | Cincinnati Milacron Industries, Inc. | Apparatus for dynamically controlling the tool centerpoint of a robot arm off a predetermined path |
US4486843A (en) | 1982-03-03 | 1984-12-04 | Nordson Corporation | Transitional command position modification for a controller |
DE3375107D1 (en) | 1982-10-29 | 1988-02-11 | Toshiba Kk | Control system of multi-joint arm robot apparatus |
JPS59231607A (en) | 1983-06-14 | 1984-12-26 | Mitsubishi Electric Corp | Robot controller |
US4694230A (en) | 1986-03-11 | 1987-09-15 | Usa As Represented By The Secretary Of Commerce | Micromanipulator system |
JPH03178788A (en) | 1989-12-06 | 1991-08-02 | Hitachi Ltd | Control method for manipulator |
US5544282A (en) * | 1991-04-05 | 1996-08-06 | Chen; Pang C. | Method and apparatus for planning motions of robot manipulators |
US5629594A (en) | 1992-12-02 | 1997-05-13 | Cybernet Systems Corporation | Force feedback system |
JP3115147B2 (en) | 1993-03-12 | 2000-12-04 | 富士通株式会社 | Robot controller and controller |
US5739811A (en) | 1993-07-16 | 1998-04-14 | Immersion Human Interface Corporation | Method and apparatus for controlling human-computer interface systems providing force feedback |
US5495410A (en) | 1994-08-12 | 1996-02-27 | Minnesota Mining And Manufacturing Company | Lead-through robot programming system |
DE19607782C2 (en) * | 1996-03-01 | 2001-12-13 | Chiron Werke Gmbh | Machine center |
US5865426A (en) | 1996-03-27 | 1999-02-02 | Kazerooni; Homayoon | Human power amplifier for vertical maneuvers |
US6004016A (en) * | 1996-08-06 | 1999-12-21 | Trw Inc. | Motion planning and control for systems with multiple mobile objects |
JP3070498B2 (en) | 1996-12-03 | 2000-07-31 | 松下電器産業株式会社 | Robot control device |
-
2001
- 2001-01-23 US US09/767,978 patent/US6313595B2/en not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070271758A1 (en) * | 2005-08-03 | 2007-11-29 | Ford Motor Company | A system and method of installing an instrument panel |
US7568279B2 (en) | 2005-08-03 | 2009-08-04 | Ford Motor Company | System and method of installing an instrument panel |
EP2409816A3 (en) * | 2010-07-19 | 2014-07-09 | KUKA Roboter GmbH | Manipulator control |
WO2014023591A1 (en) * | 2012-08-10 | 2014-02-13 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Method and system for assisting in robot control, having a function for detecting the intention of an operator |
FR2994401A1 (en) * | 2012-08-10 | 2014-02-14 | Commissariat Energie Atomique | METHOD AND SYSTEM FOR ASSISTING THE STEERING OF A ROBOT WITH FUNCTION DETECTION OF INTENTION OF AN OPERATOR |
US9409296B2 (en) | 2012-08-10 | 2016-08-09 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Method and system for assisting in robot control, having a function for detecting the intention of an operator |
Also Published As
Publication number | Publication date |
---|---|
US6313595B2 (en) | 2001-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6313595B2 (en) | Method of controlling an intelligent assist device in a plurality of distinct workspaces | |
US6204620B1 (en) | Method of controlling an intelligent assist device | |
US9821459B2 (en) | Multi-joint robot having function for repositioning arm | |
CN109311164B (en) | Monitoring of a robot group | |
JP5768828B2 (en) | Robot system and control method of robot system | |
CN107717982A (en) | Control device and operation method of mechanical arm | |
US9937619B2 (en) | Control method for a robot | |
WO1996014949A3 (en) | Methods and apparatuses for backgaging and sensor-based control of bending operations | |
US20160089790A1 (en) | Human-collaborative robot system | |
JP2000190262A (en) | Control device for robot | |
KR102418451B1 (en) | Robot control system | |
CA2173241A1 (en) | Motion Control with Precomputation | |
KR20140023240A (en) | Apparatus for automated removal of workpieces arranged in a container | |
KR20080087715A (en) | Control device of work positioning apparatus | |
TWI634400B (en) | Robot control device and robot operation method | |
KR20100089031A (en) | Control device and method for a manipulator | |
JP2018126818A (en) | Robot control device | |
CN111251291A (en) | Monitoring system of robot and robot system | |
JP2000071189A (en) | Workpiece acquisition determination method for robot grip device | |
US7461753B1 (en) | Practical intelligent assist device | |
DE102008043360A1 (en) | Industrial robots and method for programming an industrial robot | |
JP7414983B2 (en) | robot system | |
CN114126811B (en) | Robot system, control method of robot, and servo system | |
JPS60195602A (en) | Robot | |
CN109249387A (en) | For configuring the method and configuration device of mobile automatic machine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: FANUC ROBOTICS NORTH AMERICA, INC., MICHIGAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SWANSON, PETER;MCGEE, H. DEAN;REEL/FRAME:011496/0070 Effective date: 20010123 |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
REMI | Maintenance fee reminder mailed | ||
LAPS | Lapse for failure to pay maintenance fees | ||
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20091106 |