Robot system and robot control method
By setting up multiple detection components in the robot system and weighting the output values to generate a correction drive signal, the problem of insufficient vibration control accuracy in the existing technology is solved, and high-precision vibration suppression and improved operational stability are achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-29
- Publication Date
- 2026-04-07
AI Technical Summary
Existing robot systems, which only have one accelerometer, cannot detect vibrations with high precision based on the posture of the robotic arm, resulting in insufficient vibration control accuracy.
The robot system is equipped with a first detection unit and a second detection unit, which are used to detect the inertial forces of the axis and the arm, respectively. By selecting and weighting the output values, a correction drive signal is generated to remove unnecessary vibration noise components, and vibration control is performed in combination with multiple drive components.
It achieves high-precision vibration control based on the robot arm's posture, improving the accuracy and stability of robot operations and reducing noise caused by vibration.
Smart Images

Figure CN121798577A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to a robot system and a control method of a robot. BACKGROUND
[0002] In recent years, due to the rapid increase in personnel costs at factories, and the shortage of skilled workers, work such as manufacturing, processing, and assembling of products and devices is performed by robots having mechanical arms, and automation of work performed by humans has been realized. In such robots, in order to more smoothly and accurately perform driving of the robot, and to perform the work well, vibration control that suppresses vibration accompanying driving of the robot is performed.
[0003] The robot system described in Patent Document 1 has a robot and a controller that controls work of the robot. The robot has a mechanical arm that has a plurality of arms and rotatably connects the arms to each other by joints, an end effector that is provided at a front end portion of the mechanical arm, and an acceleration sensor that is provided at the mechanical arm. The controller performs suppression control that suppresses vibration of the end effector based on an output value of the acceleration sensor.
[0004] Patent Document 1: Japanese Patent Application Publication No. 2022-177607
[0005] However, in the robot described in Patent Document 1, since only one acceleration sensor is provided, depending on the posture of the mechanical arm, vibration of the mechanical arm cannot be detected with high precision. As a result, depending on the posture of the mechanical arm, vibration control with high precision cannot be performed. SUMMARY
[0006] The robot system of the present application is provided with: a base; a first arm rotatably connected to the base about a first axis; a first drive section that rotationally drives the first arm; a second arm rotatably connected to the first arm about a second axis parallel to the first axis; a second drive section that rotationally drives the second arm; a shaft connected to the second arm in a manner to move along a third axis parallel to the second axis; a third drive section that rotationally drives the shaft; a fourth drive section that drives the shaft to move; a first detection section provided to the shaft that detects a force acting on the shaft; a second detection section provided to the first arm or the second arm that detects a force acting on an arm provided in the first arm or the second arm; and a control section that controls the operation of the first drive section, the second drive section, the third drive section, and the fourth drive section, the control section having: a selection section that selects a first output value Al of the first detection section and a second output value A2 of the second detection section based on a predetermined ratio a according to the position of the shaft in the third axis direction or the direction of a plane normal to the third axis, a being any number of 0 or more and 1 or less; a calculation section that calculates an output value A based on at least one of the first output value Al or the second output value A2 selected according to the predetermined ratio a; and a vibration control section that generates a first correction drive signal for removing a noise component due to unnecessary vibration of the first arm or the second arm based on the output value A, and operates at least one of the first drive section and the second drive section by the first correction drive signal.
[0007] The robot control method of the present application controls a robot having: a base; a first arm rotatably connected to the base about a first axis; a first drive section that rotationally drives the first arm; a second arm rotatably connected to the first arm about a second axis parallel to the first axis; a second drive section that rotationally drives the second arm; a shaft connected to the second arm so as to move along a third axis parallel to the second axis; a third drive section that rotationally drives the shaft; a fourth drive section that drives the shaft to move; a first detection section provided to the shaft that detects a force acting on the shaft; and a second detection section provided to the first arm or the second arm that detects a force acting on an arm provided to the first arm and the second arm, the robot control method having: a first step of selecting a first output value Al of the first detection section and a second output value A2 of the second detection section based on a predetermined ratio a, a being an arbitrary number of 0 or more and 1 or less, in accordance with a position of the shaft in a direction of the third axis or a direction of a plane normal to the third axis; a second step of deriving an output value A based on at least one of the first output value Al or the second output value A2 selected in accordance with the predetermined ratio a; and a third step of generating a first correction drive signal for removing a noise component due to unnecessary vibration of the first arm or the second arm based on the output value A, and operating at least one of the first drive section and the second drive section by the first correction drive signal. BRIEF DESCRIPTION OF DRAWINGS
[0008] Figure 1 is a diagram showing an overall structure of a robot system according to a first embodiment of the present application.
[0009] Figure 2 is a block diagram of the robot system shown in Figure 1
[0010] Figure 3 is a diagram for explaining detection axes of the first detection section and the second detection section shown in Figure 1
[0011] Figure 4 is a graph showing a sum value of speed components over time.
[0012] Figure 5 is a graph showing a speed component based on unnecessary vibration over time.
[0013] Figure 6 is a flowchart for explaining an example of a control action performed by the control section shown in Figure 2
[0014] Figure 7 is a graph showing a calibration curve for deriving an output value A in the robot system according to the second embodiment of the present application.
[0015] Figure 8 is a view of a robot provided in the robot system according to the third embodiment of the present application as viewed from above.
[0016] Figure 9 is a block diagram of the robot system according to the fourth embodiment of the present application.
[0017] Explanation of Reference Numerals
[0018] 1: robot system; 2: robot; 3: robot control device; 4: reinforcing portion; 19A: first detection portion; 19B: second detection portion; 21: base; 22: robot arm; 23: first arm; 24: second arm; 25: work head; 26: end effector; 27: first drive portion; 27A: motor; 27B: encoder; 28: second drive portion; 28A: motor; 28B: encoder; 31: control portion; 32: storage portion; 33: communication portion; 41: first plate; 42: second plate; 43: auxiliary shaft; 200: line segment; 231: first base; 241: second base; 242: cover; 251: spline nut; 252: ball screw nut; 253: shaft; 291: third drive portion; 291A: motor; 291B: encoder; 292: fourth drive portion; 292A: motor; 292B: encoder; 300: line segment; 311: drive control portion; 312: selection portion; 313: arithmetic portion; 314: vibration control portion; 315: inertia arithmetic portion; Al: first output value; A2: second output value; Jl: first axis; J2: second axis; J3: third axis; Jax: detection axis; Jay: detection axis; Jaz: detection axis; Jbx: detection axis; Jby: detection axis; Jbz: detection axis; K: calibration curve; OA: origin; OB: origin; Sl: drive signal; S101: step; S102: step; S103: step; S104: step; S2: first correction drive signal; VI: velocity component; V2: velocity component; V3: sum value; θ: angle. DETAILED DESCRIPTION
[0019] Hereinafter, the robot system and the control method of the robot according to the present application will be described in detail based on the preferred embodiments shown in the drawings.
[0020] <First Embodiment>
[0021] Figure 1 is a view showing the overall structure of the robot system according to the first embodiment of the present application. Figure 2 is Figure 1 a block diagram of the robot system shown inFigure 3 is a graph for illustrating Figure 1 the detection axes of the first detection section and the second detection section shown in Figure 4 is a graph showing the integrated value of the speed component over time. Figure 5 is a graph showing the speed component based on unnecessary vibration over time. Figure 6 is a graph for illustrating Figure 2 a flowchart of an example of a control action performed by the control section shown in
[0022] Note that, hereinafter, for the sake of convenience of explanation, with respect to the robot arm 22, the base 21 side in Figure 1 will be referred to as "base end", and the opposite side thereof, that is, the end effector 26 side will be referred to as "front end".
[0023] In addition, for the sake of convenience of explanation, Figure 1 , Figure 3 and Figure 8 , as orthogonal three axes, the x-axis, the y-axis, and the z-axis are illustrated. The front end side of the arrow in each axis is set to "+" and the opposite side is set to "-". In addition, in Figure 1 , Figure 3 and Figure 8 , the +z-axis direction, that is, the upper side is also referred to as "up", and the -z-axis direction, that is, the lower side is also referred to as "down". In addition, in Figure 1 , Figure 3 and Figure 7 , the z-axis direction, that is, the vertical direction is set to "plumb direction", and the x-axis direction and the y-axis direction, that is, the surface direction of the x-y plane is set to "horizontal direction".
[0024] In addition, in the present specification, "plumb" means not only the case where it coincides with the plumb, but also the case where it is slightly inclined, for example, within ±10°, with respect to the plumb. In addition, in the present specification, "parallel" means not only the case where two objects coincide with the parallel, but also the case where they are slightly inclined, for example, within ±10°, from the parallel.
[0025] As shown in Figure 1 , the robot system 1 is a system that executes the robot control method of the present application, and is provided with the robot 2 and the robot control device 3.
[0026] First, the robot 2 will be described.
[0027] As shown in Figure 1 , the robot 2 is a horizontal multi-joint robot that drives the robot arm 22 in a desired motion, and performs, for example, work such as transportation, assembly, inspection, and the like of a workpiece such as an electronic device, or various processes such as machining, painting, and the like of a workpiece by a tool, using the end effector 26. Hereinafter, these will be sometimes collectively referred to as "work".
[0028] AsFigure 1 As shown in the figure, the robot 2 has a base 21 and a robot arm 22 rotatably connected to the base 21. The base 21 is fixed to the ground parallel to the horizontal plane.
[0029] The robot arm 22 has a first arm 23 rotatably connected to the base 21 about a first axis J1, a second arm 24 rotatably connected to the first arm 23 about a second axis J2 parallel to the first axis J1, and a work head 25. The first axis J1, the second axis J2, and a third axis J3 described later are parallel to each other in the vertical direction.
[0030] The first arm 23 has a first base 231 that mainly bears the rigidity of the first arm 23. In addition, the second arm 24 has a second base 241 that mainly bears the rigidity of the second arm 24 and a cover 242. The second base 241 is provided at the lower portion of the second arm 24, for example, by a plate-like or frame-like member. The upper portion of the second base 241 is covered by the cover 242. A third drive unit 291 and a fourth drive unit 292 described later are provided inside the cover 242.
[0031] The work head 25 is provided at the front end portion of the second arm 24. The work head 25 has a ball screw nut 252 and a ball screw nut 252 coaxially arranged at the front end portion of the second arm 24, and a shaft 253 as a ball screw shaft inserted through the ball screw nut 252 and the ball screw nut 252.
[0032] The shaft 253 is provided so as to penetrate the second arm 24 in the Z-axis direction, and the lower end portion of the shaft 253 protrudes downward from the lower surface of the second base 241. In addition, the shaft 253 is rotatable about the central axis thereof, that is, the third axis J3 in the vertical direction with respect to the second arm 24, and is liftable and lowerable along the third axis J3.
[0033] A terminal manipulator 26 is attached to the lower end portion (front end portion) of the shaft 253. As the terminal manipulator 26, there is no particular limitation, and for example, it can be a hand, a sander, a grinder, a cutter, a spray gun, a laser irradiator, a screwdriver, a wrench, an application tool, or the like.
[0034] In addition, the robot 2 has a reinforcing portion 4 that reinforces the shaft 253 at a position around the third axis J3 on the front end side of the second arm 24. The reinforcing portion 4 has a first plate 41, a second plate 42, and a pair of auxiliary shafts 43 that link them in a mutually approachable and separable manner. The pair of auxiliary shafts 43 is provided on the -y-axis side of the second arm 24 and the +y-axis side of the second arm 24.
[0035] The first plate 41 and the second plate 42 are each plate-shaped, and their thickness directions are arranged in parallel to each other in the z-axis direction. The first plate 41 is arranged on the +z-axis side, and the second plate 42 is arranged on the -z-axis side.
[0036] The upper surface of the first plate 41 is fixed to the lower surface side of the second base 241 of the second arm 24. In addition, although not shown, the first plate 41 has a through-hole through which the shaft 253 is inserted. A bearing, not shown, is provided in the through-hole, and the shaft 253 is supported so as to be rotatable about the third axis J3 and movable in the third axis J3 direction (up and down direction).
[0037] In addition, the first plate 41 has a through-hole through which the auxiliary shaft 43 is inserted. A bearing, not shown, is provided in the through-hole, and the auxiliary shaft 43 is supported so as to be movable in the third axis J3 direction.
[0038] Although not shown, the second plate 42 has a through-hole through which the shaft 253 is inserted. A bearing, not shown, is provided in the through-hole, and the shaft 253 is supported so as to be rotatable about the third axis J3 with respect to the second plate 42.
[0039] When the shaft 253 is raised and lowered, the second plate 42 and the pair of auxiliary shafts 43 are raised and lowered with the shaft 253. At this time, the shaft 253 is supported by the first plate 41 and the second plate 42, and can be stably raised and lowered. Therefore, the shaft vibration of the shaft 253 is reduced, which contributes to vibration suppression of the shaft 253.
[0040] In addition, the upper surface of the second plate 42 is provided with the first detection portion 19A described later. In other words, the first detection portion 19A is provided to the shaft 253 via the reinforcing portion 4.
[0041] The robot 2 has a first drive portion 27 as a joint actuator that connects the base 21 and the first arm 23 and rotationally drives the first arm 23 about the first axis J1 with respect to the base 21, and a second drive portion 28 as a joint actuator that connects the first arm 23 and the second arm 24 and rotationally drives the second arm 24 about the second axis J2 with respect to the first arm 23.
[0042] In addition, the robot 2 has a third drive portion 291 that rotationally drives the shaft 253 about the third axis J3 by rotating the spline nut 251, and a fourth drive portion 292 that moves (raises and lowers) the shaft 253 in the direction along the third axis J3 by rotating the ball screw nut 252.
[0043] The first drive portion 27 has a motor 27A, an encoder 27B, and a reducer, not shown. The second drive portion 28 has a motor 28A, an encoder 28B, and a reducer, not shown. The third drive portion 291 has a motor 291A, an encoder 291B, and a reducer, not shown. The fourth drive portion 292 has a motor 292A, an encoder 292B, and a reducer, not shown.
[0044] As Figure 2As shown, motors 27A, 28A, 291A, and 292A are electrically connected to the robot control device 3 via motor drivers (not shown). The robot control device 3 controls the energizing conditions (e.g., power supply and timing) of each motor (not shown) to the motors 27A, 28A, 291A, and 292A via the respective motor drivers. This allows the robot arm 22 to be controlled to operate in a manner that changes each arm to a desired posture.
[0045] Encoders 27B, 28B, 291B, and 292B are electrically connected to the robot control device 3. Each encoder detects the rotational position information of its corresponding motor and sends it to the robot control device 3. Based on the rotational position information received from each encoder, the robot control device 3 controls the energizing conditions of motors 27A, 28A, 291A, and 292A. By simultaneously controlling the movements of the robotic arm 22 while knowing the rotational positions of each motor (27A, 28A, 291A, and 292A), the desired actions can be performed accurately.
[0046] The robot system 1 includes: a first detection unit 19A, disposed on the axis 253, for detecting the inertial force acting on the axis 253; and a second detection unit 19B, disposed on the second arm 24, for detecting the inertial force acting on the second arm 24. Here, the angular velocity and acceleration described later are examples of the forces acting on the axis and the forces acting on the arm.
[0047] (First Inspection Department 19A)
[0048] like Figure 1 as well as Figure 3 As shown, the first detection unit 19A primarily detects the angular velocity of the portion on which it is located about the detection axis Jaz. As previously described, the first detection unit 19A is mounted on the shaft 253 via the second plate 42 of the reinforcing part 4. Therefore, the first detection unit 19A can be referred to as a component that detects the inertial force acting on the shaft 253. Figure 3 As shown, the detection axis Jaz is an axis along the vertical direction passing through the origin OA set within the first detection unit 19A. Such a first detection unit 19A is, for example, composed of an IMU (Inertial Measurement Unit).
[0049] It should be noted that the axis along the x-axis passing through the origin OA is called the detection axis Jax, the axis along the y-axis passing through the origin OA is called the detection axis Jay, and the axis along the z-axis passing through the origin OA is called the detection axis Jaz.
[0050] The location of the first detection unit 19A is not limited to the structure described above; for example, it can be located on the shaft 253, the end effector 26, etc. The location of the first detection unit 19A relative to the shaft 253 is not particularly limited; for example, it can be located on the outer periphery of the shaft 253, inside the shaft 253, particularly in the hollow portion formed in the shaft 253, or at the upper end of the shaft 253. Furthermore, the first detection unit 19A can also be indirectly located on the shaft 253 via certain components.
[0051] The first detection unit 19A may also be configured to detect, in addition to the angular velocity about the detection axis Jaz, at least one of the following: velocity along the detection axis Jax, velocity along the detection axis Jay, velocity along the detection axis Jaz, angular velocity about the detection axis Jax, angular velocity about the detection axis Jay, acceleration about the detection axis Jax, acceleration about the detection axis Jay, acceleration about the detection axis Jaz, acceleration (angular acceleration) about the detection axis Jax, acceleration (angular acceleration) about the detection axis Jay, and acceleration (angular acceleration) about the detection axis Jaz. When these detection values are used to generate the first correction drive signal S2 (described later), a more appropriate first correction drive signal S2 can be obtained, enabling more precise and effective vibration control.
[0052] like Figure 2 As shown, the first detection unit 19A is electrically connected to the robot control device 3, and sends the detection information, i.e., the information related to at least the angular velocity around the detection axis Jaz, as an electrical signal to the robot control device 3 at any time. Information related to the inertial force (force) acting on the axis 253 can be obtained from the electrical signal (information) related to the angular velocity around the detection axis Jaz output by the first detection unit 19A, and vibration control, which will be described later, can be performed using the vibration control unit 314 of the robot control device 3.
[0053] (Second Inspection Department 19B)
[0054] like Figure 1 as well as Figure 3 As shown, the second detection unit 19B primarily detects the angular velocity of the portion on which it is located about the detection axis Jbz. The detection axis Jbz is an axis along the vertical direction passing through the origin OB set within the second detection unit 19B. Since the second detection unit 19B is located on the second arm 24, it can be said to be a component that detects the acceleration (force) of the second arm 24 about the detection axis Jbz. This second detection unit 19B can be configured with the same structure as the first detection unit 19A.
[0055] It should be noted that the axis along the x-axis passing through the origin OB is called the detection axis Jbx, the axis along the y-axis passing through the origin OB is called the detection axis Jby, and the axis along the z-axis passing through the origin OB is called the detection axis Jbz.
[0056] The second detection unit 19B is disposed on the lower surface of the second base 241 of the second arm 24. However, it is not limited to this structure. For example, the second detection unit 19B can be disposed on the upper surface of the second base 241, or on the side, or in a location other than the second base 241, such as any part of the cover 242.
[0057] In addition, unlike the above, the second detection unit 19B can also be provided at any part of the first arm 23, such as the upper part, lower part or side part of the first base 231.
[0058] The second detection unit 19B can also be configured to detect, in addition to the angular velocity about the detection axis Jbz, at least one of the following: velocity along the detection axis Jbx, velocity along the detection axis Jby, velocity along the detection axis Jbz, angular velocity about the detection axis Jbx, angular velocity about the detection axis Jby, acceleration about the detection axis Jbx, acceleration about the detection axis Jby, acceleration about the detection axis Jbz, acceleration (angular acceleration) about the detection axis Jbx, acceleration (angular acceleration) about the detection axis Jby, and acceleration (angular acceleration) about the detection axis Jbz. When these detection values are used to generate the first correction drive signal S2, a more appropriate first correction drive signal S2 can be obtained, enabling more precise and effective vibration control.
[0059] like Figure 2 As shown, the second detection unit 19B is electrically connected to the robot control device 3, and continuously sends detection information, i.e., information related to at least the angular velocity of the second arm 24 about the detection axis Jbz, as an electrical signal to the robot control device 3. Information related to the acceleration (force) of the second arm 24 about the detection axis Jbz can be obtained from the electrical signal (information) related to the angular velocity about the detection axis Jbz output by the second detection unit 19B, and vibration control (described later) is performed by the vibration control unit 314 of the robot control device 3 using this information.
[0060] Next, the robot control device 3 will be explained.
[0061] like Figure 1 As shown, in this embodiment, the robot control device 3 is located separately from the robot 2. However, it is not limited to this structure; the robot control device 3 can also be built into the base 21. In addition, the robot control device 3 has the function of controlling the drive of the robot 2 and is electrically connected to the various parts of the robot 2.
[0062] like Figure 2 As shown, the robot control device 3 includes a control unit 31, a storage unit 32, and a communication unit 33. These units are connected to each other, for example, via a bus, in a manner that enables them to communicate with each other.
[0063] The control unit 31, for example, consists of at least one CPU (Central Processing Unit), which reads and executes various programs, such as motion programs, stored in the storage unit 32. Signals generated by the control unit 31 are sent to each part of the robot 2 via the communication unit 33, and signals from each part of the robot 2 are received by the control unit 31 via the communication unit 33. Thus, the robotic arm 22 can perform predetermined tasks under predetermined conditions.
[0064] The storage unit 32 stores various programs executed by the control unit 31. Examples of storage units 32 include volatile memory such as RAM (Random Access Memory), non-volatile memory such as ROM (Read Only Memory), and removable external storage devices.
[0065] The communication unit 33 uses external interfaces such as wired LAN (Local Area Network) or wireless LAN to transmit and receive signals with the robot control device 3. In this case, communication can be conducted via a server (not shown), or via a network such as the Internet.
[0066] The control unit 31 has a drive control unit 311, a selection unit 312, an arithmetic unit 313, and a vibration control unit 314 as functional units.
[0067] (Drive Control Unit 311)
[0068] The drive control unit 311 reads the operation program stored in the storage unit 32 and generates drive signals S1 for driving motors 291A and 292A. The drive signals S1 are used to control the operation of motors 291A and 292A. The drive signals S1 determine the energizing conditions for each motor 291A and 292A, and the energizing conditions are different for each corresponding motor.
[0069] (Selection Section 312)
[0070] The selection section 312 acquires the output value of the first detection section 19A (hereinafter, referred to as "first output value Al") and the output value of the second detection section 19B (hereinafter, referred to as "second output value A2") when vibration control is performed, and selects in what ratio they are used in accordance with a predetermined rule. That is, the first output value Al of the first detection section 19A and the second output value A2 of the second detection section 19B are selected in a predetermined ratio a: 1-a (a is an arbitrary number of 0 or more and 1 or less).
[0071] In the present embodiment, the selection section 312 performs the above selection in accordance with the position of the shaft 253, that is, the position (height) in the third axis J3 direction. The position of the shaft 253 refers to the position of the control point provided at the lower end (front end) of the shaft 253. However, the "position of the shaft 253" can be an arbitrary position other than the control point. The height of the shaft 253 can be found based on the detection value (output value) of the encoder 292B.
[0072] Note that, as explained in the third embodiment described later, the selection section 312 can also be a structure that selects the ratio a: 1-a (a is an arbitrary number of 0 or more and 1 or less) in accordance with the position in the direction of the plane (x-y plane) that is normal to the third axis J3. In addition, it can also be a structure that selects the ratio a: 1-a in accordance with the position (each position in the x-axis direction, the y-axis direction, and the z-axis direction) of the shaft 253 in the three-dimensional direction.
[0073] In the present embodiment, the selection section 312 sets the above a to be between 0 or more and 1 or less in accordance with the position of the shaft 253 in the third axis J3 (z-axis direction) direction in accordance with a predetermined rule. Hereinafter, the position of the shaft 253 in the third axis J3 direction will be referred to as the "height of the shaft 253". More specifically, in the case where the height of the shaft 253 is less than a predetermined threshold value, a is set to 1, and in the case where the height of the shaft 253 is the threshold value or more, a is set to 0.
[0074] The threshold value is a value that serves as a reference for setting the ratio of the first output value Al and the second output value A2, and is a value that serves as a reference for determining which output value is more appropriate to use. The threshold value can be found, for example, by experiment in advance and stored in the storage section 32.
[0075] The method of determining the threshold value is not particularly limited, and can be set, for example, to whether the distance from the position of the lower end of the shaft 253 to the lower surface of the second base 241 is the threshold value or more.
[0076] Note that, as in the above structure, the selection section 312 can set a to be between 1 and 0, for example, in accordance with the position of the shaft 253 in the third axis J3 direction, in addition to the case where a is set to 0 or 1. In other words, a can be set to an arbitrary value in the range of 0 or more and 1 or less, either in stages or continuously, in accordance with the height of the shaft 253.
[0077] (operation section 313)
[0078] The operation section 313 operates the first output value Al x a + the second output value A2 x (1 - a) = the output value A, and obtains the output value A. The output value A is a value obtained in consideration of the ratio selected by the selection section 312. That is, the output value A is a value of the result of weighting the ratio adopted by the first output value Al and the second output value A2.
[0079] In the present embodiment, the first output value Al is selected in the case where the height of the shaft 253 is a lower position that is less than the threshold value, and the second output value A2 is selected in the case where the height of the shaft 253 is a higher position that is equal to or more than the threshold value.
[0080] Such a selection section 312 and operation section 313 obtain the output value A in real time or at a predetermined time interval, and transmit it to the vibration control section 314.
[0081] (vibration control section 314)
[0082] The vibration control section 314 reads out the operation program stored in the storage section 32, and generates the first correction drive signal S2 that drives the motor 27A and the motor 28A on the basis of the output value A. Then, the vibration control section 314 controls the motor 27A and the motor 28A to operate by the first correction drive signal S2. The vibration control section 314 also refers to the control of the motor 27A and the motor 28A to operate by the first correction drive signal S2 as vibration control. The first correction drive signal S2 is a signal that determines the energization conditions for the motor 27A and the motor 28A. As described later, the first correction drive signal S2 is a signal that accompanies correction to remove a noise component that is caused by vibration of the first arm 23 and the second arm 24 in the horizontal direction. Hereinafter, the vibration of the first arm 23 and the second arm 24 in the horizontal direction will be referred to as "unnecessary vibration".
[0083] Note that the first correction drive signal S2 for the motor 27A and the first correction drive signal S2 for the motor 28A are different in various energization conditions, but in the following, this will not be taken into account, and only the expression "control of the motor 27A and the motor 28A to operate by the first correction drive signal S2" will be used.
[0084] (acquisition of the output value A)
[0085] The vibration control section 314 acquires the output value A obtained by the operation section 313 in real time. The information of the angular velocity of the output value A can be represented by a graph as shown in FIG. 6, for example. Figure 4 The graph shown in FIG. 6 is a graph in which the horizontal axis is time and the vertical axis is the angular velocity of the output value A. Figure 4 The graph shown in FIG. 6 is a graph in which the horizontal axis is time and the vertical axis is the angular velocity of the output value A.
[0086] Output value A includes velocity component V1 (not shown) and velocity component V2 (see reference). Figure 5 The velocity component V1 (not shown) is the component of the angular velocity of the first arm 23 and the second arm 24 about the z-axis when the first arm 23 and the second arm 24 are driven as in the motion program. The velocity component V2 (see reference) Figure 5 The angular velocity component of shaft 253, which is caused by unnecessary vibration, is V1. That is, the output value A is the sum of velocity component V1 and velocity component V2, V3.
[0087] The velocity component V2 can be referred to as a noise component caused by unnecessary vibration. For example, a cause of the velocity component V2 can be cited as a case where the end effector 26 is composed of a tool or the like with a rotating part, and the shaft 253 vibrates unintentionally in the direction of rotation about the third axis J3 due to the rotation of the rotating part.
[0088] (Calculation of velocity component V1)
[0089] The vibration control unit 314 calculates the velocity component V1. The velocity component V1 is the sum of the angular velocity ω1 of the first arm 23 about the first axis J1 and the angular velocity ω2 of the second arm 24 about the second axis J2, and is therefore represented by V1 = ω1 + ω2.
[0090] Angular velocity ω1 can be obtained from the detection value of encoder 27B, and angular velocity ω2 can be obtained from the detection value of encoder 28B.
[0091] It should be noted that the angular velocities ω1 and ω2 are not limited to being obtained from the detection values of encoders 27B and 28B. For example, they can be obtained in real time or in advance based on the velocity information contained in the motion program. Alternatively, they can be obtained by analyzing the posture of the robotic arm 22 from images captured by a separately set imaging unit (camera) (not shown), and then using the information related to the posture of the robotic arm 22. The same applies to determining the height of axis 253 and the angle θ, which will be described later.
[0092] (Calculation of velocity component V2)
[0093] The vibration control unit 314 calculates the velocity component V2 by subtracting the velocity component V1 from the total value V3. That is, the velocity component V2 is calculated by the operation V2=V3-V1=V3-(ω1+ω2).
[0094] The velocity component V2 can be, for example, through Figure 5 The chart shown is used to illustrate this. Figure 5 The chart shown is a graph with time on the horizontal axis and angular velocity on the vertical axis.
[0095] (Generation of the first correction drive signal S2)
[0096] The vibration control section 314 generates a first correction drive signal S2 that corrects in such a manner as to cancel the above-mentioned calculated speed component V2, that is, corrects in such a manner as to remove a noise component that is attributable to unnecessary vibration. Then, the motors 27A and 28A, that is, the first drive section 27 and the second drive section 28 are driven by the first correction drive signal S2. Thereby, it is possible to perform an operation that cancels unnecessary vibration. By such vibration control, it is possible to improve the position accuracy of the first arm 23 and the second arm 24, and further, it is possible to improve the work accuracy of the robot 2. In addition, it is possible to suppress noise caused by vibration of the first arm 23 and the second arm 24.
[0097] Note that the vibration control section 314 can perform the above-mentioned vibration control only during a stop of the robot arm 22, that is, during a stop of the rotational operation of the first arm 23 and the second arm 24, can perform the above-mentioned vibration control only during an operation of the robot arm 22, or can perform the above-mentioned vibration control during both the stop of the robot arm 22 and the operation of the robot arm 22.
[0098] Since the motors 27A and 28A are stopped during a stop of the rotational operation of the first arm 23 and the second arm 24, ω1=0 and ω2=0, and it is possible to have V1=V3 (output value A).
[0099] Here, as in the related art, in a case where only one detection section that corresponds to the second detection section 19B is provided, depending on the posture of the robot arm, the detection section cannot detect vibration of the robot arm well, and high-accuracy vibration control cannot be performed. More specifically, in a case where only one detection section is provided at a position where the second detection section 19B is provided, in a state where the shaft that corresponds to the shaft 253 is lowered to a relatively low position, it is difficult to accurately detect vibration of the robot arm. On the other hand, in a case where only one detection section is provided at a position where the first detection section 19A is provided, in a state where the shaft that corresponds to the shaft 253 is raised to a relatively high position, vibration of the shaft that corresponds to the shaft 253 becomes noise, and it is difficult to accurately detect vibration of the robot arm.
[0100] Therefore, in the robot system 1, the first detection section 19A and the second detection section 19B are respectively provided on the shaft 253 and the second arm 24 (or the first arm 23), and the first output value Al output from the first detection section 19A and the second output value A2 output from the second detection section 19B are weighted and used in accordance with a predetermined rule. That is, the first output value Al and the second output value A2 are selected at a predetermined ratio a: 1-a (a is an arbitrary number of 0 or more and 1 or less) by the selection section 312, and the output value A = first output value Al x a + second output value A2 x (1-a) is calculated by the operation section 313. Then, the vibration control section 314 generates the first correction drive signal S2 with correction of removal of a noise component due to unnecessary vibration based on the output value A, and drives the first drive section 27 having the motor 27A and the second drive section 28 having the motor 28A by the first correction drive signal S2.
[0101] In the present embodiment, the selection section 312 sets a to 1 in a case where the height of the shaft 253 is less than a predetermined threshold value, and sets a to 0 in a case where the height of the shaft 253 is the threshold value or more. That is, in a state where the shaft 253 is lowered to a relatively low position, it is determined that the first output value Al of the first detection section 19A is more valid, and therefore, the vibration control is performed using the first output value Al as the output value A. In a state where the shaft 253 is raised to a relatively high position, it is determined that the second output value A2 of the second detection section 19B is more valid, and therefore, the vibration control is performed using the second output value A2 as the output value A. Thus, a more accurate and appropriate output value A can be calculated in accordance with the height of the shaft 253. Therefore, more appropriate vibration control, particularly high-precision vibration control, can be performed using the output value A.
[0102] As described above, the robot system 1 is provided with: the base 21; the first arm 23 rotatably connected to the base 21 about the first axis J1; the first drive section 27 that rotationally drives the first arm 23; the second arm 24 rotatably connected to the first arm 23 about the second axis J2 parallel to the first axis J1; the second drive section 28 that rotationally drives the second arm 24; the shaft 253 connected to the second arm 24 so as to move along the third axis J3 parallel to the second axis J2; the third drive section 291 that rotationally drives the shaft 253; the fourth drive section 292 that drives the shaft 253 to move; the first detection section 19A provided to the shaft 253 that detects a force (inertial force) acting on the shaft 253; the second detection section 19B provided to the first arm 23 or the second arm 24 (in the present embodiment, the second arm 24) that detects a force acting on the arm provided in the first arm 23 and the second arm 24 (in the present embodiment, the second arm 24); and the control section 31 that controls the first drive section 27, the second drive section 28, the third drive section 291, and the fourth drive section 292 to operate, the control section 31 having: the selection section 312 that selects the first output value Al of the first detection section 19A and the second output value A2 of the second detection section 19B based on a predetermined ratio a (a is an arbitrary number of 0 or more and 1 or less) according to the position of the shaft 253 in the third axis J3 direction or the direction of a plane normal to the third axis J3 (in the present embodiment, the position of the shaft 253 in the third axis J3 direction); the calculation section 313 that calculates an output value A based on at least one of the first output value Al or the second output value A2 selected according to the predetermined ratio a; and the vibration control section 314 that generates a first correction drive signal S2 for removing a noise component due to unnecessary vibration of the first arm 23 or the second arm 24 based on the output value A and operates at least one of the first drive section 27 and the second drive section 28 (in the present embodiment, both) by the first correction drive signal S2. Thus, according to the posture of the robot arm 22, particularly, taking into account the position of the shaft 253 in the third axis J3 direction or the direction of a plane normal to the third axis J3, a more accurate and appropriate output value A and a first correction drive signal S2 based on the output value A can be obtained. Therefore, high-precision vibration control using the first correction drive signal S2 can be performed.
[0103] Note that, as described above, the first detection section 19A can be directly provided to the shaft 253 or can be provided to the shaft 253 via a member, structure, or the like such as the reinforcing section 4 as in the present embodiment. In addition, the second detection section 19B can be provided at an arbitrary position of the first arm 23.
[0104] In the present embodiment, as Figure 2As shown, the structure in which the motors 27A and 28A are driven by the first correction drive signal S2 and the motors 291A and 292A are driven by the drive signal S1 is described, but in the present application, it is not limited thereto, and the structure in which at least one of the motors 291A and 292A is driven by the first correction drive signal S2 in addition to the motors 27A and 28A can also be used. In this case, more excellent vibration effects can be obtained with respect to the entire robot 2, and the work accuracy of the robot 2 can be more effectively improved.
[0105] In addition, the structure in which either one of the motors 27A and 28A is driven by the drive signal S1 can also be used.
[0106] In addition, the case in which the selection section 312 selects at a predetermined ratio a: 1-a according to the position of the shaft 253 in the third axis J3 direction is described, but in the present application, it is not limited thereto, and as described in the third embodiment, the structure in which selection is made at a predetermined ratio a: 1-a (a is an arbitrary number of 0 or more and 1 or less) according to the position of the shaft 253 in the direction of the plane that is normal to the third axis J3, or the structure in which selection is made at a predetermined ratio a: 1-a according to either one or both of the position of the shaft 253 in the third axis J3 direction and the position of the shaft 253 in the direction of the plane that is normal to the third axis J3 (three-dimensional direction) can also be used.
[0107] The selection section 312 sets a between 1 and 0 according to the position of the shaft 253 in the third axis J3 direction. Thereby, a can be set to an appropriate value that takes into account the position of the shaft 253 in the third axis J3 direction. Therefore, more highly accurate vibration control can be performed.
[0108] The selection section 312 sets a to 1 in a case where the position of the shaft 253 in the third axis J3 direction is less than a predetermined threshold value, and sets a to 0 in a case where the position of the shaft 253 in the third axis J3 direction is equal to or more than the threshold value. Thereby, excellent vibration effects can be obtained while simplifying the control processing.
[0109] Note that, the structure in which the position of the shaft 253 in the third axis J3 direction is compared with each threshold value using two or more threshold values can also be used, instead of the above-described structure. That is, the structure in which a can be set in a plurality of stages can also be used.
[0110] Next, an example of the control method of the robot of the present application will be described using the flowchart shown in FIG. 8. Hereinafter, the description will be made after the action program is read out and executed. Figure 6
[0111] First, in step S101, the selection section 312 selects the first output value Al of the first detection section 19A and the second output value A2 of the second detection section 19B at a predetermined ratio a: 1-a (a is an arbitrary number of 0 or more and 1 or less). In this step, the selection section 312 performs the above selection in accordance with the position of the shaft 253, that is, the position in the third axis J3 direction and the direction of the plane (x-y plane) normal to the third axis J3. More specifically, the information of the height (position in the third axis J3 direction) of the shaft 253 is acquired from the encoder 292B, and in the case where the height of the shaft 253 is smaller than a predetermined threshold value, a is set to 1, and in the case where the height of the shaft 253 is the threshold value or more, a is set to 0. Such step S101 is the first step.
[0112] Next, in step S102, the arithmetic section 313 calculates the output value A by performing the operation of the first output value Al x a + the second output value A2 x (1-a) = the output value A. That is, the output value A is calculated by substituting the value of a set in step S101 into the expression of the first output value Al x a + the second output value A2 x (1-a). Such step S102 is the second step.
[0113] Next, in step S103, the vibration control section 314 calculates the noise component, that is, the velocity component V2. As described above, the method of calculating the velocity component V2 is to perform the operation of V2 = V3 (output value A) - V1 = V3 - (ω1 + ω2).
[0114] Next, in step S104, the vibration control section 314 generates the first correction drive signal S2 that accompanies the correction for eliminating the velocity component V2, that is, the correction for removing the noise component due to unnecessary vibration, and controls the motors 27A and 28A to operate by the first correction drive signal S2. Thus, the first drive section 27 and the second drive section 28 operate in a state where vibration control is performed. Such step S103 and step S104 are the third step.
[0115] By sequentially performing steps S101 to S104, the first arm 23 and the second arm 24 are driven in a state where their behavior is appropriately controlled by the vibration control section 314. That is, the robot arm 22 can perform an operation that cancels unnecessary vibration. Thus, more accurate and high-precision vibration control can be performed in consideration of the height of the shaft 253. Therefore, the position accuracy of the shaft 253 can be improved, and further, the work accuracy of the robot 2 can be improved.
[0116] As described above, the control method of the robot controls the robot 2 to operate, the robot 2 having: a base 21; a first arm 23 rotatably connected to the base 21 about a first axis J1; a first drive section 27 that rotationally drives the first arm 23; a second arm 24 rotatably connected to the first arm 23 about a second axis J2 parallel to the first axis J1; a second drive section 28 that rotationally drives the second arm 24; a shaft 253 connected to the second arm 24 so as to move along a third axis J3 parallel to the second axis J2; a third drive section 291 that rotationally drives the shaft 253; a fourth drive section 292 that drives the shaft 253 to move; a first detection section 19A provided to the shaft 253 that detects a force (inertial force) acting on the shaft 253; and a second detection section 19B provided to the first arm 23 or the second arm 24 (in the present embodiment, the second arm 24) that detects a force acting on the arm provided in the first arm 23 and the second arm 24 (in the present embodiment, the second arm 24), the control method of the robot having: a first step (step S101) of selecting a first output value Al of the first detection section 19A and a second output value A2 of the second detection section 19B based on a predetermined ratio a (a is an arbitrary number of 0 or more and 1 or less) in accordance with a position of the shaft 253 in a direction of the third axis J3 or a direction of a plane normal to the third axis J3; a second step (step S102) of deriving an output value A based on at least one of the first output value Al or the second output value A2 selected in accordance with the predetermined ratio a; and a third step (steps S103 and S104) of generating a first correction drive signal S2 for removing a noise component due to unnecessary vibration of the first arm 23 or the second arm 24 based on the output value A, and operating at least one of the first drive section 27 and the second drive section 28 (in the present embodiment, both) by the first correction drive signal S2. Thus, in accordance with the posture of the robot arm 22, particularly taking into account the position of the shaft 253 in the direction of the third axis J3 or the direction of the plane normal to the third axis J3, a more accurate and appropriate output value A and a first correction drive signal S2 based on the output value A can be obtained. Therefore, high-precision vibration control using the first correction drive signal S2 can be performed.
[0117] <Second Embodiment>
[0118] Figure 7 is a graph showing a calibration curve for deriving an output value A in the robot system according to the second embodiment of the present application.
[0119] Hereinafter, the second embodiment of the robot system and the control method of the robot according to the present application will be described, but in the following, the description will be made focusing on the points different from the first embodiment, and the description of the same matters will be omitted. Figure 7
[0120] The selection section 312 sets α (α is an arbitrary number of 0 or more and 1 or less) to a predetermined value between 1 and 0 according to the position, that is, the height, of the shaft 253 in the third axis J3 direction. In the present embodiment, the selection section 312 continuously changes α between 1 and 0. Specifically, the selection section 312 sets α based on the calibration curve K shown in FIG. 8. The calibration curve K is a curve showing a preferable value of α for each position of the shaft 253 in the third axis J3 direction, and is data showing whether the output value A is appropriate or not in what degree of ratio the first output value Al and the second output value A2 are used. The calibration curve K can be, for example, experimentally obtained in advance and stored in the storage section 32. Note that such information can also be stored in the storage section 32 in the form of a table or a function instead of the calibration curve K. Figure 7
[0121] The selection section 312 acquires the height information of the shaft 253 from the encoder 292B, and sets α based on the calibration curve K (corresponding to step S101 of the first embodiment). Next, the arithmetic section 313 calculates the output value A by the operation of the first output value Al x α + the second output value A2 x (1 - α) = the output value A. That is, the output value A is calculated by substituting the value of α set in step S101 into the expression of the first output value Al x α + the second output value A2 x (1 - α) (corresponding to step S102 of the first embodiment).
[0122] Next, the vibration control section 314 calculates the noise component, that is, the speed component V2, generates the first correction drive signal S2 that accompanies correction for eliminating the speed component V2, that is, correction for removing the noise component due to unnecessary vibration, and drives the motors 27A and 28A, that is, the first drive section 27 and the second drive section 28, by the first correction drive signal S2 (corresponding to steps S103 and S104 of the first embodiment).
[0123] By such control, the height of the shaft 253 is more specifically and more stage- wise taken into consideration, and thus a more accurate and appropriate output value A can be calculated. Therefore, vibration control of higher precision can be performed using the output value A.
[0124] Thus, in the present embodiment, the selection section 312 continuously changes α between 1 and 0 according to the position of the shaft 253 in the third axis J3 direction. Thereby, a more accurate and appropriate output value A and the first correction drive signal S2 based on the output value A can be obtained while the height of the shaft 253 is taken into consideration. Therefore, vibration control of higher precision can be performed using the first correction drive signal S2.
[0125] Note that the selection section 312 can also be a structure that changes α between 1 and 0 in a plurality of stages according to the position of the shaft 253 in the third axis J3 direction.
[0126] In addition, in Figure 7 the calibration curve K is shown by a straight line inclined, but not limited thereto, for example, can be a broken line, hyperbolic curve, parabolic curve, a curved line indicating a logarithm, etc.
[0127] In addition, there are a plurality of calibration curves K1, K2, K3... Kn (n is a natural number), according to the working conditions of the robot 2, etc., such as the type, shape, weight, work content, etc. of the end effector 26 or the workpiece, the most appropriate one can be selected from the calibration curves K1, K2, K3... Kn to be used.
[0128] <Third Embodiment>
[0129] Figure 8 is a view of the robot along the vertical upward, that is, the -z-axis direction, observing the robot system involved in the third embodiment of the present application is provided.
[0130] Hereinafter, referring to Figure 8 the third embodiment of the robot system and the control method of the robot of the present application will be described, but in the following, the different points from the first embodiment will be described, and the same matters will be omitted.
[0131] In the present embodiment, the selection section 312 selects the first output value Al of the first detection section 19A and the second output value A2 of the second detection section 19B at a predetermined ratio a: 1-a (a is an arbitrary number of 0 or more and 1 or less) according to the position of the shaft 253 in the direction of the plane with the third axis J3 as the normal (x-y plane direction). The selection section 312 sets the above a between 1 and 0 according to the position of the shaft 253 in the x-y plane direction.
[0132] The position in the x-y plane direction can be found based on the information of the angle θ of the second arm 24 with respect to the first arm 23 (refer to Figure 8 ). The angle θ is the angle formed by the center line of the first arm 23, that is, the line segment 200 connecting the first axis J1 and the second axis J2 and extending in the horizontal direction, and the center line of the second arm 24, that is, the line segment 300 connecting the second axis J2 and the third axis J3 and extending in the horizontal direction. Such an angle θ can be found based on the output value of the encoder 28B, for example.
[0133] In a case where the absolute value of the angle θ, |θ|, is equal to or greater than a predetermined threshold value θ0 (for example, 30°) (θ0≤|θ|), that is, in a case where the second arm 24 is bent significantly with respect to the first arm 23, α is set to 0, and thus the output value A is the second output value A2. In contrast, in a case where |θ| is smaller than the predetermined threshold value θ0 (|θ|<θ0), that is, in a case where the second arm 24 is not bent or is gently bent with respect to the first arm 23, α is set to 1, and thus the output value A is the first output value A1. The threshold value θ0 is a value that serves as a basis for setting the ratio of the first output value A1 and the second output value A2, and is a value that serves as a basis for determining which output value is more appropriate. The threshold value θ0 can be experimentally obtained in advance, for example, and stored in the storage section 32. Note that the value compared with the threshold value θ0 can be changed to |θ| and set to θ.
[0134] Then, the arithmetic section 313 calculates the output value A, and the vibration control section 314 generates the first correction drive signal S2 with which the noise component resulting from unnecessary vibration is removed, based on the output value A, and operates the first drive section 27 and the second drive section 28 by the first correction drive signal S2. Thus, a more accurate and appropriate output value A can be calculated in consideration of the position of the shaft 253 in the direction of the plane (x-y plane direction) in which the third axis J3 is the normal line. Therefore, high-precision vibration control can be appropriately performed using this output value A.
[0135] In particular, in a state where the second arm 24 is not bent or is less bent with respect to the first arm 23 (|θ|<θ0), the shaft 253 is positioned away from the first axis J1 on the x-y plane, and the first detection section 19A among the first and second detection sections 19A and 19B is more likely to more accurately detect unnecessary vibration. In contrast, in a state where the second arm 24 is significantly bent with respect to the first arm 23 (θ0≤|θ|), the shaft 253 is positioned close to the first axis J1 on the x-y plane, and the second detection section 19B among the first and second detection sections 19A and 19B is more likely to more accurately detect unnecessary vibration. By making such a selection, the structure of the present embodiment is effective for achieving the effects described in the first embodiment.
[0136] Note that, in addition to the above-described structure, for example, the angle θ1 of the first arm 23 with respect to the base 21 can be considered as well as the above, and α can be selected (set). Thus, the position of the shaft 253 in the direction of the plane (x-y plane direction) in which the third axis J3 is the normal line can be more accurately and more specifically grasped, and higher-precision vibration control can be performed.
[0137] <Fourth Embodiment>
[0138] Figure 9 is a block diagram of a robot system according to a fourth embodiment of the present application.
[0139] Hereinafter, while referring to Figure 9 A fourth embodiment of the robot system and the control method of the robot of the present application will be described, but in the following, the description will be made focusing on the difference from the first embodiment, and the description will be omitted regarding the same matters.
[0140] In the present embodiment, the selection section 312 selects the ratio a: 1-a (a is an arbitrary number of 0 or more and 1 or less) considering the inertia (inertial force) around the first axis J1 in addition to the height of the shaft 253. That is, the selection section 312 obtains a k according to the inertia around the first axis J1 multiplied by the coefficient k.
[0141] The coefficient k varies according to the value of the inertia around the first axis J1. Therefore, the coefficient k can also be called a variable. The coefficient k is appropriately determined based on a relational expression, a calibration curve or a table or the like of the value of the inertia around the first axis J1 and the coefficient k. These relational expressions, calibration curves or tables are stored in advance in the storage section 32.
[0142] As Figure 9 indicated, the control section 31 has an inertia operation section 315.
[0143] The inertia operation section 315 calculates the inertia around the first axis J1 based on the information of the torque around the first axis J1 and the angular acceleration of the second arm 24 with respect to the first arm 23.
[0144] Then, the operation section 313 obtains the output value A based on a k, and the vibration control section 314 generates the first correction drive signal S2 accompanied by removing the noise component due to unnecessary vibration based on the output value A, and operates the first drive section 27 and the second drive section 28 by the first correction drive signal S2.
[0145] Thus, in the present embodiment, the selection section 312 generates the first correction drive signal S2 considering the inertia around the first axis J1 in addition to the height of the shaft 253. Thereby, it is possible to obtain a more accurate and appropriate output value A and the first correction drive signal S2 based on the output value A considering the inertia around the first axis J1, and to control the motor 27A and the motor 28A to operate by the first correction drive signal S2. Thereby, the first drive section 27 and the second drive section 28 operate in a state where the vibration control with higher precision is performed.
[0146] Thus, in the present embodiment, since the ratio a: 1-a (a is an arbitrary number of 0 or more and 1 or less) is selected considering the inertia (inertial force) around the first axis J1, it is possible to perform the vibration control with higher precision.
[0147] The above describes the robot system and the control method of the robot according to the present application with reference to the illustrated embodiments, but the present application is not limited to this. Each part of the robot system can be replaced with any structure that can perform the same function. In addition, any structure can be added to the robot system.
[0148] In addition, at least one structure of the second embodiment, the third embodiment, and the fourth embodiment can be arbitrarily combined into the structure of the first embodiment. In addition, at least one structure of the third embodiment and the fourth embodiment can be arbitrarily combined into the structure of the second embodiment. In addition, the structure of the fourth embodiment can be arbitrarily combined into the structure of the third embodiment.
[0149] In addition, the control method of the robot according to the present application can also add any process for any purpose in each of the embodiments.
Claims
1. A robot system, characterized in that, have: abutment; The first arm is rotatably connected to the base. The first drive unit rotates and drives the first arm. The second arm is rotatably connected to the first arm about a second axis parallel to the first axis; The second drive unit rotates and drives the second arm. The shaft is connected to the second arm in such a way that it can move along a third axis parallel to the second axis; The third drive unit rotates and drives the shaft. The fourth drive unit drives the shaft to move; A first detection unit is disposed on the shaft to detect the force acting on the shaft; A second detection unit is disposed on the first arm or the second arm to detect the force acting on the arm disposed on the first arm or the second arm. as well as The control unit controls the operation of the first drive unit, the second drive unit, the third drive unit, and the fourth drive unit. The control unit has: The selection unit selects a first output value A1 of the first detection unit and a second output value A2 of the second detection unit based on a predetermined ratio α, according to the position of the axis in the direction of the third axis or in the direction of the plane with the third axis as the normal. α is any number greater than 0 and less than 1. The arithmetic unit calculates the output value A based on at least one of the first output value A1 or the second output value A2 selected according to the predetermined ratio α; as well as The vibration control unit generates a first correction drive signal based on the output value A to remove noise components caused by unnecessary vibrations of the first arm or the second arm, and uses the first correction drive signal to make at least one of the first drive unit and the second drive unit work.
2. The robot system according to claim 1, characterized in that, The selection unit sets α between 1 and 0 according to the position of the axis in the third axis direction.
3. The robot system according to claim 2, characterized in that, The selection unit sets α to 1 when the position of the axis in the third axis direction is less than a predetermined threshold, and sets α to 0 when the position of the axis in the third axis direction is above the threshold.
4. The robot system according to claim 2, characterized in that, The selection unit continuously changes α between 1 and 0 according to the position of the axis in the third axis direction.
5. The robot system according to any one of claims 1 to 3, characterized in that, The vibration control unit generates the first correction drive signal by taking into account the position of the shaft in the plane direction with the third axis as the normal.
6. The robot system according to any one of claims 1 to 3, characterized in that, The vibration control unit generates the first correction drive signal by taking into account the inertia about the first axis.
7. A method for controlling a robot, characterized in that, Controlling the robot's operation, The robot has the following characteristics: abutment; The first arm is rotatably connected to the base. The first drive unit rotates and drives the first arm. The second arm is rotatably connected to the first arm about a second axis parallel to the first axis; The second drive unit rotates and drives the second arm. The shaft is connected to the second arm in such a way that it can move along a third axis parallel to the second axis; The third drive unit rotates and drives the shaft. The fourth drive unit drives the shaft to move; A first detection unit, disposed on the shaft, detects the force acting on the shaft; and A second detection unit is disposed on either the first arm or the second arm to detect the force acting on the arm disposed on either the first arm or the second arm. The robot control method includes the following steps: The first step is to select the first output value A1 of the first detection unit and the second output value A2 of the second detection unit based on the position of the axis in the direction of the third axis or in the direction of the plane with the third axis as the normal, according to a predetermined ratio α. α is any number greater than 0 and less than 1. The second step involves determining the output value A based on at least one of the first output value A1 or the second output value A2 selected according to the predetermined ratio α; and The third step involves generating a first correction drive signal based on the output value A to remove noise components caused by unnecessary vibrations of the first arm or the second arm, and then using the first correction drive signal to activate at least one of the first drive unit and the second drive unit.
Citation Information
Patent Citations
Manipulator
JP2022177607A