Method for Precise, Intuitive Positioning of Robotic Welding Machine
20230142821 · 2023-05-11
Inventors
- James Walter Beard, III (Cookeville, TN, US)
- Stephen Lee Canfield (Cookeville, TN, US)
- Stephen Giovanni Zuccaro (Cookeville, TN, US)
- Nicholas Canfield (Cookeville, TN, US)
Cpc classification
B25J9/1664
PERFORMING OPERATIONS; TRANSPORTING
G05B2219/36401
PHYSICS
G05B19/42
PHYSICS
G05B2219/39439
PHYSICS
International classification
Abstract
This patent defines a method for making robot programming more intuitive for tasks such as welding. The method further is an enhancement of manual guiding methods of robot positioning and can improve situations in which finer resolution or control of the robot end-effector is required. A motion sensor is mounted in series with the n−1 joint and in parallel with the n.sup.th joint, where n is the number of degrees of freedom or number of joints of the serial manipulator. The motion sensor is further mounted directly in-line with the n.sup.th joint and becomes part the opposing portion of the n.sup.th joint. The motion sensor further is uniquely adapted to apply to non-spherical wrist robots. The motion sensor senses input movements by a robot operator and controls the output tool motion in a controlled manner with resolution defined by user input at the motion sensor.
Claims
1-14. (canceled)
15. A method for intuitive control of a non-spherical wrist robot manipulator having a third-to-last revolute joint defining a third-to-last revolute joint axis, a second-to-last revolute joint defining a second-to-last revolute joint axis, and a last revolute joint defining a last revolute joint axis, wherein no more than two of the axes intersect at a common point, the robot manipulator further having a second-to-last rigid body link connecting the second-to-last and last revolute joints and a last rigid body link extending from the last revolute joint and defining an end-effector of the robot manipulator, the method comprising: manipulating a motion sensor mounted on the second-to-last rigid body link of the robot manipulator between the second-to-last revolute joint and the last revolute joint and in-line with the last revolute joint, the motion sensor operably engaged with a controller of the robot manipulator to introduce sensed motions detected by the motion sensor that cause the robot manipulator to spatially correlate the sensed motions to movement of the robot manipulator.
16. The method of claim 15, further comprising mounting the motion sensor on the second-to-last rigid body link of the robot manipulator between the second-to-last revolute joint and the last revolute joint and in-line with the last revolute joint in operable engagement with the controller of the robot manipulator.
17. The method of claim 16, wherein mounting the motion sensor comprises positioning the motion sensor opposite of the last rigid body link defining the end-effector.
18. The method of claim 16, wherein mounting the motion sensor comprises attaching the motion sensor to the second-to-last rigid body link.
19. The method of claim 18, wherein attaching the motion sensor to the second-to-last rigid body link is permanent as by fasteners.
20. The method of claim 16, wherein mounting the motion sensor comprises mounting a protective frame about the motion sensor.
21. The method of claim 15, wherein the robot manipulator is configured having six degrees of freedom such that the second-to-last revolute joint defines a fifth joint and the last revolute joint defines a sixth joint and the second-to-last rigid body link defines a sixth rigid body link, whereby the motion sensor is mounted on the sixth rigid body link in-line with the sixth joint.
22. The method of claim 21, wherein rotation of the sixth joint and thus of the end-effector does not cause any motion of the motion sensor.
23. The method of claim 15, further comprising selecting via the controller of the robot manipulator a frame of reference, whereby the step of manipulating the motion sensor causes the robot manipulator to move according to the frame of reference.
24. The method of claim 23, wherein the frame of reference is one of a base of the robot manipulator and the end-effector of the robot manipulator.
25. The method of claim 15, further comprising selecting via the controller of the robot manipulator a scale of the sensed motions detected by the motion sensor relative to the resulting movement of the robot manipulator, whereby both relatively precise motion control and relatively fast motion control of the robot manipulator by the motion sensor are enabled.
26. The method of claim 25, wherein selecting via the controller of the robot manipulator a scale of the sensed motions detected by the motion sensor comprises setting the scale such that a relatively large motion of the motion sensor corresponds to a relatively small motion of the robot manipulator, whereby relatively precise movement of the robot manipulator is enabled.
27. The method of claim 25, wherein selecting via the controller of the robot manipulator a scale of the sensed motions detected by the motion sensor comprises setting the scale such that a relatively small motion of the motion sensor corresponds to a relatively large motion of the robot manipulator, whereby relatively fast movement of the robot manipulator is enabled.
28. The method of claim 25, wherein selecting via the controller of the robot manipulator a scale of the sensed motions detected by the motion sensor comprises setting the scale to be relative such that sensed motions within a range of the total motion of the motion sensor correspond to relatively small motion of the robot manipulator and sensed motions outside of the range correspond to relatively large motion of the robot manipulator, whereby selectively relatively precise movement or relatively fast movement of the robot manipulator is enabled.
29. The method of claim 25, wherein selecting via the controller of the robot manipulator a scale of the sensed motions detected by the motion sensor comprises setting the scale such that when the motion sensor motion is near an end of a range of the total motion of the motion sensor and is held near the end of the range a designated time period, motion of the motion sensor is increased such that the motion sensor motions result in relatively larger motions of the robot manipulator.
30. The method of claim 15, further comprising adjusting the resolution of the motion sensor to increase or decrease a ratio of the robot manipulator movement in at least one direction as a translation or rotation based on the sensed motions detected by the motion sensor, whereby the value of the resolution of the motion sensor is a scaling parameter between the motion sensor motion in the at least one direction and the robot manipulator motion in a corresponding direction.
31. The method of claim 30, wherein the scaling parameter is set to one for the at least one direction, whereby there is a one-to-one correspondence of the sensed motions detected by the motion sensor and the motions of the robot manipulator in the at least one direction.
32. The method of claim 30, wherein the scaling parameter is set to zero for the at least one direction, whereby there is no movement of the robot manipulator in the corresponding direction regardless of the sensed motions detected by the motion sensor in the at least one direction.
33. The method of claim 30, wherein the scaling parameter is determined based on the sensed motions detected by the motion sensor and the time the motion sensor detects the sensed motions at or above an indicated level.
34. The method of claim 15, further comprising manipulating a teach pendant operably engaged with the controller of the robot manipulator to further introduce sensed motions that cause the robot manipulator to move accordingly.
35. The method of claim 15, wherein the third-to-last revolute joint axis and the second-to-last revolute joint axis intersect at a first common point and the second-to-last revolute joint axis and the last revolute joint axis intersect at a second common point not coincident with the first common point.
36. The method of claim 15, wherein the second-to-last revolute joint axis intersects the last revolute joint axis at the common point and the third-to-last revolute joint axis does not intersect the common point.
37. The method of claim 15, wherein the third-to-last revolute joint axis, the second-to-last revolute joint axis, and the last revolute joint axis do not intersect at any common point.
38. A method for intuitive control of a non-spherical wrist robot manipulator having a third-to-last revolute joint defining a third-to-last revolute joint axis, a second-to-last revolute joint defining a second-to-last revolute joint axis, and a last revolute joint defining a last revolute joint axis, wherein no more than two of the axes intersect at a common point, the robot manipulator further having a second-to-last rigid body link connecting the second-to-last and last revolute joints and a last rigid body link extending from the last revolute joint and defining an end-effector of the robot manipulator, the method comprising: mounting a motion sensor on the second-to-last rigid body link of the robot manipulator between the second-to-last revolute joint and the last revolute joint and in-line with the last revolute joint, the motion sensor operably engaged with a controller of the robot manipulator; manipulating the motion sensor to introduce sensed motions detected by the motion sensor that cause the robot manipulator to spatially correlate the sensed motions to movement of the robot manipulator; and moving the robot manipulator under control of the controller based on the sensed motions detected by the motion sensor.
39. A non-spherical wrist robot manipulator comprising: a third-to-last revolute joint defining a third-to-last revolute joint axis, a second-to-last revolute joint defining a second-to-last revolute joint axis, and a last revolute joint defining a last revolute joint axis, wherein no more than two of the axes intersect at a common point; a second-to-last rigid body link connecting the second-to-last and last revolute joints and a last rigid body link extending from the last revolute joint and defining an end-effector of the robot manipulator; a controller; and a motion sensor operably engaged with the controller and mounted on the second-to-last rigid body link of the robot manipulator between the second-to-last revolute joint and the last revolute joint and in-line with the last revolute joint, wherein the controller is configured to spatially correlate sensed motions of the motion sensor to the movement of the robot manipulator.
40. The robot manipulator of claim 39, wherein the motion sensor is positioned opposite of the last rigid body link defining the end-effector.
41. The robot manipulator of claim 39, wherein the motion sensor is attached to the second-to-last rigid body link.
42. The robot manipulator of claim 41, wherein the motion sensor is attached permanently to the second-to-last rigid body link as by fasteners.
43. The robot manipulator of claim 39, wherein a protective frame is mounted about the motion sensor.
44. The robot manipulator of claim 39, wherein the robot manipulator is configured having six degrees of freedom such that the second-to-last revolute joint defines a fifth joint and the last revolute joint defines a sixth joint and the second-to-last rigid body link defines a sixth rigid body link, whereby the motion sensor is mounted on the sixth rigid body link in-line with the sixth joint.
45. The robot manipulator of claim 39, wherein the third-to-last revolute joint axis and the second-to-last revolute joint axis intersect at a first common point and the second-to-last revolute joint axis and the last revolute joint axis intersect at a second common point not coincident with the first common point.
46. The robot manipulator of claim 39, wherein the second-to-last revolute joint axis intersects the last revolute joint axis at the common point and the third-to-last revolute joint axis does not intersect the common point.
47. The robot manipulator of claim 39, wherein the third-to-last revolute joint axis, the second-to-last revolute joint axis, and the last revolute joint axis do not intersect at any common point.
Description
BRIEF DESCRIPTION OF THE FIGURES
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
DESCRIPTION OF THE INVENTION
[0028]
[0029] The motion sensor (7) will also be referred to as the motion sensing device. The motion sensor or motion sensing device (7) is commonly known in a number of forms including a joystick, a space mouse, a stylus pen, a 3D mouse, a six-d of joystick, or other device that can sense displacement of the movement of an object that can be manipulated by hand.
[0030]
[0031] The arrangement of the components of the end-effector mounting plate (30), gear transmission (31), motor (32), motor drive electronics (33), and motor encoder (34) are common to a variety of robots, both having spherical and non-spherical wrists. The arrangement of components in this invention as shown in
[0032] Rotation of joint (6f) does not cause any motion (translation or rotation) of the motion sensor (7).
[0033] The robot manipulator (1) includes motors, geared transmissions, motor drivers, and encoders on each of the six joints (6a, 6b, 6c, 6d, 6e, 6f). The motors and geared transmissions provide torque to each joint (6a, 6b, 6c, 6d, 6e, 6f) to react to torques provided by external loads and to provide accelerations to the joints (6a, 6b, 6c, 6d, 6e, 6f) to give the system motion. The motor drivers amplify the signal provided by the robot controller to send this amplified signal to the motors. The encoders on each of the six joints (6a, 6b, 6c, 6d, 6e, 6f) measure angular rotation of each joint (encoder (34) for joint (6f)). The robot manipulator (1) includes a controller (4) which contains a computer, memory, microcontroller unit and other electronic components. The robot controller (4) is in communication with the teach pendant (3) and the joint encoders at each of the robot joints (6a, 6b, 6c, 6d, 6e, 6f). The controller (4) receives signals from the teach pendant (3) and from the joint encoders. The user can provide desired commands to the robot manipulator (1) through the teach pendant (3). The encoders on each of the six joints (6a, 6b, 6c, 6d, 6e, 6f) provide current information on the configuration of the robot manipulator (1). The controller (4) contains algorithms that send control signals out to the motor drivers and motors to control or manage the movement of the robot (1) in a desired way based on user input through the teach pendant (3) and the current configuration of the robot (1).
[0034]
[0035] Movement of the motion sensor (7) corresponds directly with movements at the tool (8) tip. The frame of reference in which the motion sensor (7) can direct the tool (8) tip can be reprogramed. In the current description, the three translations move the torch (8) tip in the plane of the table for x, y motions of the sensor (7) and along the 5.sup.th joint axis (6e) (axis of the motion sensor, z) for the z motions of the sensor (7).
[0036] The robot control system (4) is also in communication with the motion sensor (7). The user can provide desired commands to the robot manipulator (1) through the teach pendant (3) or through the motion sensor (7) or through a combination of both the teach pendant (3) and motion sensor (7). The controller (4) contains algorithms that send control signals out to the motor drivers and motors to control or manage the movement of the robot (1) in a desired way based on input from the teach pendant (3) or motion sensor (7). As an example, the operator can guide the robot (1) using the motion sensor (7) by moving the motion sensor (7) in a particular direction. The motion sensor (7) communicates with the controller (4). The controller (4) will then measure the current configuration of the robot manipulator (1) from the joint sensors and send signals to the motor drivers and motors to cause the robot manipulator (1) to move in a certain way as signaled by the user through the motion sensor (7).
[0037] The controller (4) contains algorithms that define the manner in which control signals are sent to the motor drivers and motors as a function of the robot (1) configuration as measured by the joint encoders and the user commands provided through the teach pendant (3) or motion sensor (7). A few examples of the manner in which an algorithm can define the motion of the robot manipulator (1) from the motion sensor (7) are described here. In one example, if the motion sensor (7) is moved in a single direction, for example the x direction of the motion sensor (7), then the robot controller (4) sends commands to the robot (1) to move in a single direction by an amount proportional to the motion of the motion sensor (7), for example the x direction of a selected frame of reference. As a second example, if the motion sensor (7) is moved in a single direction, for example the x direction of the motion sensor (7), then the robot controller (4) sends commands to the robot (1) to move in a single direction by a velocity proportional to the motion of the motion sensor (7), for example the x direction of a selected frame of reference. The six motions of the motion sensor (7), three translations and three rotations, can cause motion of the robot manipulator (1) to occur in different frames of reference. The particular frame of reference for this caused motion is selected by the operator. One example frame of reference could be a frame attached to the base of the manipulator (1) and not moving relative to ground. Another frame of reference could be a frame attached to the robot end-effector (5) and moving with the robot end-effector (5).
[0038] Another example of an algorithm that can define the motion of the robot manipulator (1) from the motion sensor (7) is described here. The scale or ratio of motion of the robot manipulator (1) relative to the motion of the motion sensor (7) can be changed. For precise motion, a large motion of the motion sensor (7) could correspond to a small motion of the robot manipulator (1). This could lead to very precise motion of the robot manipulator (1) and end-effector (5). For faster motion, a small motion of the motion sensor (7) could correspond to a large motion of the robot manipulator (1). This could lead to faster motion of the robot manipulator (1) and end-effector (5). Further, a combination of both modes, precise motion of the end-effector (5) and fast motion of the end-effector (5) could be achieved as follows. When the motion sensor (7) motions are within a certain range of the total motion of the motion sensor (7), say less than 75% of the motion of the motion sensor (7) range of motion, the robot manipulator (1) could be moved in a precise mode where the amplification of the motion sensor (7) motions gives smaller motions of the robot manipulator (1). When the motion sensor (7) motion is at the far end of its range of total motion, and is held in this range a certain time period, then the amplification of the motion sensor (7) motions can be increased such that the motion sensor (7) motions result in larger motions of the robot manipulator (1).
[0039]
[0040]
[0041]
TS=g(α*MS)
and
JS=f(TS)
where
MS={MS.sub.X MS.sub.Y MS.sub.Z MS.sub.Rx MS.sub.Ry MS.sub.Rz}.sup.T
is the vector of measured motions from the motion sensor,
TS={TS.sub.x TS.sub.y TS.sub.z TS.sub.y TS.sub.P TS.sub.R}.sup.T
is the tool space pose of the end-effector in xyz, YPR coordinates,
JS={JS.sub.1 JS.sub.2 JS.sub.3 JS.sub.4 JS.sub.5 JS.sub.6}.sup.T
is the joint space or configuration space of the robot as angular positions of each joint,
g(α*MS)
is a mapping function that transforms motion sensor measured values to tool space description of the end-effector,
f(TS)
is a kinematic function that transforms tool space description of the robot to joint space, and
is the resolution or scaling parameter matrix with scaling parameters for each axis of motion, with each scaling parameter a function of the parameter p.sub.i and time, where the parameter p.sub.i is based on transition of the motion sensor axis from a low to high threshold and time t.sub.i is a measure of duration of the motion sensor in a certain time in the low or high threshold.
[0042] Alternatively, the motion sensor (7) has a resolution adjustment button (not shown) that can increase or decrease the resolution of the robot control from the motion sensor (7). The algorithm registers a value of resolution from the resolution adjustment button (increased, decreased, or toggling) and then uses the value of resolution as a scaling parameter between the motion sensor (7) displacement in a given direction and the robot (1) velocity in a corresponding direction. This proportionality constant is termed a as a two dimensional matrix containing scaling terms for each direction or axis. The value of α can also be determined from the degree of input to the motion sensor (7) and the time the motion sensor (7) measures a reading at or above a certain level. For example, a smaller value of a could correspond to the motion sensor (7) values reading at or below a certain threshold of the full range of sensed value of the motion sensor (7). A larger value of α could correspond to the motion sensor (7) values reading above a certain threshold, when that value stays above the threshold for a certain period of time.
[0043] Aspects of the present specification may also be described as follows:
[0044] 1. A method for intuitive control of a robot manipulator (1) consisting of six revolute joints (6a, 6b, 6c, 6d, 6e, 6f) connected in series, numbered a first revolute joint (6a) through a sixth revolute joint (6f), seven rigid body links (21a, 21b, 21c, 21d, 21e, 21f, 21g), numbered a first rigid body link (21a) through a seventh rigid body link (21g), the first rigid body link (21a) connecting a ground and the first revolute joint (6a), the second rigid body link (21b) connecting the first and second revolute joints (6a, 6b), the sixth rigid body link (21f) connecting the fifth and sixth revolute joints (6e, 6f) and the seventh rigid body link (21g) connected to an output of the sixth revolute joint (6f), a robot controller (4), a motion sensing device (7) mounted on the sixth rigid body link (21f), the motion sensing device (7) further sensing a sensed input motion from a robot operator, communicating these sensed input motions to the robot controller (4) which causes the robot manipulator (1) to make a certain movement according to the sensed input motions.
[0045] 2. A method for intuitive control of a robot manipulator (1) according to embodiment 1 wherein the motion sensor (7) is mounted directly colinear with the sixth revolute joint (6f).
[0046] 3. A method for intuitive control of a robot manipulator (1) according to embodiment 1 wherein the motion sensor (7) allows for sensing six degrees of motion, three translation degrees of freedom and three rotation degrees of freedom.
[0047] 4. A method for intuitive control of a robot manipulator (1) according to embodiment 1 wherein the motion sensor (7) allows for sensing six degrees of motion, three translation degrees of freedom and three rotation degrees of freedom. The three translation degrees of freedom and two rotation degrees of freedom are used to control the first through the fifth revolute joints (6a, 6b, 6c, 6d, 6e), while the third rotation degree of freedom is used to control the sixth revolute joint (6f).
[0048] 5. A method for intuitive control of a robot manipulator (1) according to embodiment 1 wherein the robot controller (4) has a means to change the magnitude of the certain movement according to the sensed motions.
[0049] 6. A method for intuitive control of a robot manipulator (1) according to embodiment 1 further comprising a protective frame (9) that surrounds the motion sensing device (7).
[0050] 7. A method for intuitive control of a robot manipulator (1) according to embodiment 1 wherein the robot controller (4) has a means to select a frame of reference in which to make the certain movement of the robot manipulator (1) according to the sensed motions.
[0051] 8. A method for intuitive control of a robot manipulator (1) consisting of six revolute joints (6a, 6b, 6c, 6d, 6e, 6f) connected in series, numbered a first revolute joint (6a) through a sixth revolute joint (6f), seven rigid body links (21a, 21b, 21c, 21d, 21e, 21f, 21g), numbered a first rigid body link (21a) through a seventh rigid body link (21g), the first rigid body link (21a) connecting a ground and the first revolute joint (6a), the second rigid body link (21b) connecting the first and second revolute joints (6a, 6b), the sixth rigid body link (21f) connecting the fifth and sixth revolute joints (6e, 6f) and the seventh rigid body link (21g) connected to an output of the sixth revolute joint (6f), the fourth revolute joint (6d) and fifth revolute joint (6e) intersecting at a first common point, the fifth revolute joint (6e) and the sixth revolute joint (6f) intersecting at a second common point, not coincident with the first common point, a motion sensing device (7) mounted on the sixth rigid body link (21f), the motion sensing device (7) further sensing input motion from a robot operator, communicating these sensed motions to the robot controller (4) which causes the robot manipulator (1) to make a certain motion.
[0052] 9. A method for intuitive control of a robot manipulator (1) according to embodiment 8 wherein the motion sensor (7) is mounted directly colinear with the sixth revolute joint (6f).
[0053] 10. A method for intuitive control of a robot manipulator (1) according to embodiment 8 wherein the motion sensor (7) allows for sensing six degrees of motion, three translation degrees of freedom and three rotation degrees of freedom.
[0054] 11. A method for intuitive control of a robot manipulator (1) according to embodiment 8 wherein the motion sensor (7) allows for sensing six degrees of motion, three translation degrees of freedom and three rotation degrees of freedom. The three translation degrees of freedom and two rotation degrees of freedom are used to control the first through the fifth revolute joints (6a, 6b, 6c, 6d, 6e), while the third rotation degree of freedom is used to control the sixth revolute joint (6f).
[0055] 12. A method for intuitive control of a robot manipulator (1) according to embodiment 8 wherein the robot controller (4) has a means to change the magnitude of the certain movement according to the sensed motions.
[0056] 13. A method for intuitive control of a robot manipulator (1) according to embodiment 8 further comprising a protective frame (9) that surrounds the motion sensing device (7).
[0057] 14. A method for intuitive control of a robot manipulator (1) according to embodiment 8 wherein the robot controller (4) has a means to select a frame of reference in which to make the certain movement of the robot manipulator (1) according to the sensed motions.