ROBOT AND METHOD OF CONTROLLING THE SAME
20230278195 · 2023-09-07
Assignee
Inventors
Cpc classification
B25J9/1633
PERFORMING OPERATIONS; TRANSPORTING
B25J13/088
PERFORMING OPERATIONS; TRANSPORTING
International classification
B25J9/00
PERFORMING OPERATIONS; TRANSPORTING
B25J13/08
PERFORMING OPERATIONS; TRANSPORTING
Abstract
A robot includes a robot hand, a robot arm, a force sensor, and a control device. The control device performs admittance control to determine a position of the robot hand in accordance with a force detected by the force sensor, and provides, to the robot arm, an instruction to move the robot hand to the determined position. Further, the control device records, as teaching data, the instruction provided to the robot arm.
Claims
1. A robot comprising: a robot arm; a robot hand attached to the robot hand; a force sensor configured to detect a force acting on the robot hand; and a control device that performs admittance control to determine a position of the robot hand in accordance with the force detected by the force sensor, provides, to the robot arm, an instruction to move the robot hand to the determined position, and records, as teaching data, the instruction provided to the robot arm.
2. The robot according to claim 1, further comprising a manipulating device, wherein the control device operating in a first operation mode performs admittance control to determine positions in three directions of the robot hand in accordance with forces in the three directions detected by the force sensor, and wherein the control device operating in a second operation mode performs admittance control to determine positions in two directions of the robot hand in accordance with forces in the two directions detected by the force sensor, and performs velocity control to determine a position in the remaining one direction of the robot hand in accordance with a manipulated variable inputted into the manipulating device.
3. The robot according to claim 2, wherein the control device operating in the first operation mode determines positions x, y, and z of the robot hand by solving an equation of motion including forces F.sub.x, F.sub.y, and F.sub.z detected by the force sensor and force sensitivities α.sub.x, α.sub.y, and α.sub.z.
4. The robot according to claim 3, wherein the equation of motion is the following formulas (1):
5. The robot according to claim 2, wherein the control device operating in the second operation mode determines positions x and y of the robot hand by solving a first equation of motion including forces F.sub.x and F.sub.y detected by the force sensor and force sensitivities α.sub.x, α.sub.y, and α.sub.z, and determines position z of the robot hand by solving a second equation of motion including manipulated variable θ inputted into the manipulating device.
6. The robot according to claim 5, wherein the first equation of motion is the following formulas (2a), and the second equation of motion is the following formula (2b):
7. The robot according to claim 5, wherein the control device operating in the second operation mode reduces force sensitivities α.sub.x and α.sub.y in accordance with numbers of change of sign of forces detected by the force sensor.
8. The robot according to claim 2, wherein the control device operating in the second operation mode determines the position in the one direction of the robot hand in accordance with the forces detected by the force sensor and the positions of the robot hand so that a velocity in the one direction of the robot hand becomes zero.
9. The robot according to claim 2, wherein the manipulating device is a joystick attached to the robot arm, and the manipulated variable is an inclination of the joystick.
10. The robot according to claim 1, wherein a motion to be taught is a press-fitting motion for press-fitting a second member into an opening or a recess of a first member.
11. A method of controlling a robot comprising a robot arm, a robot hand attached to the robot arm, and a force sensor configured to detect a force acting on the robot hand, the method comprising a controlling step of: performing admittance control to determine a position of the robot hand in accordance with the force detected by the force sensor; providing, to the robot arm, an instruction to move the robot hand to the determined position; and recording, as teaching data, the instruction provided to the robot arm.
12. The method according to claim 11, wherein, in a first operation mode, admittance control is performed to determine positions in three directions of the robot hand in accordance with forces in the three directions detected by the force sensor, and wherein, in a second operation mode, admittance control is performed to determine positions in two directions of the robot hand in accordance with forces in the two directions detected by the force sensor, and velocity control is performed to determine a position in the remaining one direction of the robot hand in accordance with a manipulated variable inputted into a manipulating device.
Description
BRIEF DESCRIPTION OF DRAWINGS
[0010]
[0011]
[0012]
[0013]
DESCRIPTION OF EMBODIMENTS
[0014] A robot 1 in accordance with an embodiment of the present invention will be described with reference to
[0015] The robot 1 is a robot that is capable of being subjected to direct teaching of any motion. According to the present embodiment, a motion directly taught to the robot 1 is assumed to be a press-fitting motion for press-fitting a second member W2 (e.g., metal pin) into an opening or a recess of a first member W1 (e.g., metal collar). However, the motion directly taught to the robot 1 is not particularly limited thereto, and may be any motion.
[0016] As illustrated in
[0017] The robot hand 11 is a mechanism for grasping a workpiece (the second member W2, in the present embodiment). According to the present embodiment, a gripper is used as the robot hand 11. The robot arm 12 is a mechanism for moving the robot hand 11. According to the present embodiment, a vertical articulated arm is used as the robot arm 12.
[0018] The robot hand 11 is attached to the tip of the robot arm 12 via the force sensor 13. The force sensor 13 is a sensor configured to detect forces in three directions (x-, y-, and z-axis directions) acting on the robot hand 11, in particular, forces in the three directions applied by the user to move the robot hand 11 in the direct teaching. According to the present embodiment, a six-axis force sensor is used as the force sensor 13. However, any sensor that is capable of detecting forces in the three directions may be used as the force sensor 13.
[0019] Further, the manipulating device 14 is attached to or near the tip of the robot arm 12. The manipulating device 14 is a device that receives an operation that specifies a velocity in one direction (z-axis direction) of the robot hand 11, that is, a velocity in one direction along which the user intends to move the robot hand 11 in the direct teaching. According to the present embodiment, a joystick is used as the manipulating device 14. However, any device that is capable of receiving an operation specifying a velocity in one direction may be used as the manipulating device 14.
[0020] The control device 15 determines a position of the robot hand 11 in accordance with the forces detected by the force sensor 13 and a manipulated variable inputted into the manipulating device 14 (the inclination of the joystick, in the present embodiment), and the control device 15 provides, to the robot arm 12, an instruction to move the robot hand 11 to the determined position. Then, the control device 15 records the instruction provided to the robot arm as teaching data. By doing this, teaching is performed. According to the present embodiment, a personal computer (PC) is used as the control device 15. However, any device that is capable of providing below-mentioned function of the control device 15 may be used as the control device 15.
[0021] The control device 15 operates in either a first operation mode or a second operation mode. Here, the first operation mode is an operation mode in which admittance control (force input and motion output-type control) is performed to determine positions x, y, and z in the three directions of the robot hand 11 in accordance with forces F.sub.x, F.sub.y, and F.sub.z in the three directions detected by the force sensor 13. The second operation mode is a mode in which (i) admittance control is performed to determine positions x and y in two directions of the robot hand 11 in accordance with forces F.sub.x and F.sub.y in the two directions detected by the force sensor 13, and (ii) velocity control is performed to determine position z in one direction of the robot hand 11 in accordance with manipulated variable θ inputted into the manipulating device 14. The following will describe a function of the control device 15.
[0022] The function of the control device 15 included in the robot 1 will be described with reference to
[0023] The control device 15 includes an admittance control section 151, a multiplying section 152, an integrating section 153, and a mode switch 154. To the control device 15, inputted are forces F.sub.x, F.sub.y, and F.sub.z in the three directions detected by the force sensor 13 and manipulated variable θ inputted into the manipulating device 14 (e.g., the inclination of the joystick). Each of forces F.sub.x, F.sub.y, and F.sub.z may be raw data of forces as detected by the force sensor 13, or alternatively, may be data obtained by shaping, in the dead zone, forces detected by the force sensor 13.
[0024] The admittance control section 151 performs, in the first operation mode, admittance control to determine positions x, y, and z in the three directions of the robot hand 11 in accordance with forces F.sub.x, F.sub.y, and F.sub.z in the three directions detected by the force sensor 13. Specifically, the admittance control section 151 determines positions x, y, and z in the three directions of the robot hand 11 by solving (integrating) the following equation of motion (1).
[0025] Herein, x′ is first-order derivative dx/dt (velocity) of position x, and x″ is second-order derivative d.sup.2x/dt.sup.2 (acceleration) of position x. Further, y′ is first-order derivative dy/dt (velocity) of position y, and y″ is second-order derivative d.sup.2x/dt.sup.2 (acceleration) of position y. Further, z′ is first-order derivative dz/dt (velocity) of position z, and z″ is second-order derivative d.sup.2x/dt.sup.2 (acceleration) of position z. Each of m.sub.x, m.sub.y, and m.sub.x is a constant representing a virtual mass (e.g., 10 kg). Each of c.sub.x, c.sub.y, and c.sub.x is a constant representing a virtual coefficient of viscosity (e.g., 100 kg/s). Each of α.sub.x, α.sub.y, and α.sub.z is a constant indicating force sensitivity (e.g., 1). Position x may be calculated by solving an equation of motion other than that mentioned above, and such an equation may be, for example, x′=α.sub.xF.sub.x. The same applies to position y and position z. Further, the admittance control section 151 performs, in the second operation mode, admittance control to determine positions x and y in two directions of the robot hand 11 in accordance with the forces F.sub.x and F.sub.y in the two directions detected by the force sensor 13. Specifically, the admittance control section 151 determines positions x and y in the two directions of the robot hand 11 by solving (integrating) the following equation of motion (2a).
[0026] Herein, x′ is first-order derivative dx/dt (velocity) of position x, and x″ is second-order derivative d.sup.2x/dt.sup.2 (acceleration) of position x. Further, y′ is first-order derivative dy/dt (velocity) of position y, and y″ is second-order derivative d.sup.2y/dt.sup.2 (acceleration) of position y. Further, z′ is first-order derivative dz/dt (velocity) of position z. Each of m.sub.x and m.sub.y is a constant representing a virtual mass (e.g., 10 kg). Each of c.sub.x and c.sub.y is a constant representing a virtual coefficient of viscosity (e.g., 200 kgs). Each of α.sub.x and α.sub.y is a constant indicating force sensitivity (e.g., 1). Position x may be calculated by solving an equation of motion other than that mentioned above, and such an equation may be, for example, x′=α.sub.xF.sub.x. The same applies to position y.
[0027] The multiplying section 152 and the integrating section 153 perform, in the second operation mode, velocity control to determine position z in the remaining one direction of the robot hand 11 in accordance with manipulated variable θ inputted into the manipulating device 14. Specifically, the multiplying section 152 and the integrating section 153 determine position z in the remaining one direction of the robot hand 11 by solving (integrating) the following equation of motion (2b).
z′=Kθ (2b)
[0028] Herein, K is a conversion factor for converting manipulated variable θ into velocity z′ (e.g., 0.0005). Position z may be calculated by solving an equation of motion other than that mentioned above, and such an equation may be, for example, z″=−(c/m.sub.z)z′+(α.sub.z/m.sub.z)θ.
[0029] The mode switch 154 is a switch configured to switch the operation modes in accordance with manipulated variable θ inputted into the manipulating device 14. Specifically, when θ=0, that is, z′=0, the mode switch 154 switches the operation mode to the first operation mode, whereas, when θ≠0, that is, z′≠0, the mode switch 154 switches the operation mode to the second operation mode.
[0030] With the foregoing configuration, it is possible to determine, in the first operation mode, by performing admittance control, positions x, y, and z in the three directions of the robot hand 11 in accordance with forces F.sub.x, F.sub.y, and F.sub.z in the three directions detected by the force sensor 13. That is, in the first operation mode, it is possible to offer power assistance to a user in moving the robot hand 11 by the control of the robot arm 12 performed by the control device 15. This enables the user to perform direct teaching more precisely with a smaller force.
[0031] However, there may be a case in which a reaction force in the z-axis direction is exerted by the workpiece on the robot hand 11, in addition to a user's force applied to move the robot hand 11. For example, during press-fitting operation, a reaction force in the z-axis direction is exerted by the second member W2 on the robot hand 11, in addition to a user's force applied to move the robot hand 11. In this case, it is difficult, in the first operation mode in which the admittance control is performed in the three directions, to move the robot hand 11 to a position desired by the user.
[0032] In contrast, with the above configuration, it is possible, in the second operation mode, to (i) determine, by performing admittance control, positions x and y in two directions of the robot hand 11 in accordance with forces F.sub.x and F.sub.y in the two directions detected by the force sensor 13, and (ii) determine, by performing velocity control, position z in one direction of the robot hand 11 in accordance with manipulated variable θ inputted into the manipulating device 14. Thus, even in a case in which a reaction force in the z-axis direction is exerted by the workpiece on the robot hand 11, it is possible to easily move the robot hand 11 to a position desired by the user by switching the operation modes from the first operation mode to the second operation mode.
[0033] It should be noted that the switching from the first operation mode to the second operation mode occurs in response to a situation in which manipulated variable θ of the manipulating device 14 changes from 0. For example, in a case in which a joystick is used as the manipulating device 14, the switching from the first operation mode to the second operation mode occurs when the user touches the joystick and the joystick starts inclining. Thus, it is possible to cause transition to a control that uses the manipulating device 14 by a natural action, without making the user aware of the switching of the operation modes.
[0034] In addition, the control device 15 includes a safety switch 155. The safety switch 155 is a switch configured to set velocity z′ of the robot hand 11 to zero (to stop the motion in the z-axis direction) in the second operation mode, in accordance with forces F.sub.x, F.sub.y, and F.sub.z detected by the force sensor 13 and position z of the robot hand 11. Specifically, assuming that z0 is a predetermined constant, when (i) z>z0 and (ii) F.sub.x≠0, F.sub.y≠0, or F.sub.z≠0, velocity z′ of the robot hand is set to zero. Herein, for example, z0 is a position of the robot hand 11 at the time when the height of the lower face of the second member W2 and the height of the upper face of the first member W1 are the same.
[0035] With the foregoing configuration, when a force acts on the robot hand 11 in a case of z>z0, velocity z′ in the z-axis direction of the robot hand 11 becomes zero regardless of manipulated variable θ of the manipulating device 14. Thus, for example, in a case in which a user's hand is caught between the first member W1 and the second member W2, it is possible to reduce the probability that the user is injured. It should be noted that, in a case of z≤z0, even when a force acts on the robot hand 11, velocity z′ in the z-axis direction of the robot hand 11 is Kθ. Thus, even when a reaction force in the z-axis direction is exerted by the second member W2 on the robot hand 11, it is possible to complete the press-fitting operation of the second member W2.
[0036] It is preferable that the admittance control section 151 has, in the second operation mode, a function of reducing force sensitivities α.sub.x and α.sub.y in accordance with the numbers of change n.sub.x and n.sub.y of sign of forces F.sub.x and F.sub.y acting on the robot hand 11. Specifically, it is preferable to have a function of reducing force sensitivities α.sub.x and α.sub.y in accordance with the following formulas (3). In the following formulas (3), r is a constant that is greater than 1, which represents the reduction ratio.
[0037] When the fitting of the first member W1 and the second member W2 is performed, chattering may occur during the press-fitting operation. As used herein, “chattering” refers to movement that repeats the following motions: (1) a side face of the second member W2 comes into contact with an inner wall of the opening of the first member W1 on a side of the positive direction of x-axis, so that force F.sub.x in the negative direction of x-axis acts on the side face, (2) the second member W2 moves in the negative direction of x-axis, (3) the side face of the second member W2 comes into contact with an inner wall of the opening of the first member W1 in the negative direction of x-axis, so that force F.sub.x in the positive direction of x-axis acts on the side face, and (4) the second member W2 moves in the positive direction of x-axis. In contrast, with the above configuration, it is possible to reduce force sensitivity α.sub.x each time the sign of force F.sub.x changes, so that it is possible to suppress the occurrence of chattering.
[0038]
[0039]
[0040] The present invention is not limited to the foregoing embodiments, but can be altered by a skilled person in the art within the scope of the claims. The present invention also encompasses, in its technical scope, any embodiment derived by combining technical means disclosed in the foregoing embodiments.
Reference Signs List
[0041] 1 Robot [0042] 11 Robot hand [0043] 12 Robot arm [0044] 13 Force sensor [0045] 14 Manipulating device [0046] 15 Control device