Robot system

By using inertial sensors in the robot system to detect the acceleration and angular velocity of the robot arm and selecting vibration damping control signals according to the movement state of the abutment, the problem of insufficient vibration damping control accuracy when the abutment is moved is solved, and the position accuracy of the robot system is improved.

CN119502007APending Publication Date: 2025-02-25SEIKO EPSON CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202411145814.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-08-22
Filing Date
2024-08-20
Publication Date
2025-02-25

AI Technical Summary

Technical Problem

In a robot system where the abutment moves relative to the robot setting surface, when the existing vibration damping control technology is directly applied, appropriate vibration damping control cannot be performed, resulting in a reduction in position accuracy in the robot operation.

Method used

Inertial sensors are used to detect the acceleration and angular velocity of the robotic arm, and choose to use acceleration signals or angular velocity signals for vibration reduction control according to the movement state of the abutment.

Benefits of technology

Through appropriate vibration damping control, the position accuracy of the robot system during operation is improved, ensuring high-precision operation of the robot system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119502007A_ABST
    Figure CN119502007A_ABST
Patent Text Reader

Abstract

The invention discloses a robot system which can perform appropriate damping control according to the moving state of a base station. The robot system includes: a base; a robot arm supported on the base; an inertial sensor which is provided at a predetermined portion of the robot arm, detects the acceleration of the predetermined portion and outputs an acceleration signal, and detects the angular velocity of the predetermined portion and outputs an angular velocity signal; and a vibration reduction control unit that controls vibration generated in the robot arm on the basis of the acceleration signal or the angular velocity signal output by the inertial sensor, the vibration reduction control unit selecting a combination of the acceleration signal or the angular velocity signal to be used in vibration control on the basis of the movement state of the base.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to robotic systems. Background Art

[0002] In recent years, due to the rising labor costs and the shortage of human resources, robots with mechanical arms are used in factories to perform operations such as manufacturing, processing, and assembly of parts or products, thereby automating the operations that were previously performed manually. In such robots, in order to smoothly drive the robots and better perform the operations, vibration control accompanying the driving of the robots, i.e., vibration reduction control, is performed.

[0003] The robot described in Patent Document 1 includes a robot arm and an acceleration sensor built into a front end portion of the robot arm, and performs vibration reduction control for suppressing vibration of the robot based on a detection value detected by the acceleration sensor.

[0004] Patent Document 1: Japanese Patent Application Publication No. 2011-136395

[0005] However, in the case of a robot whose base moves relative to the robot installation surface, if the vibration reduction control described in Patent Document 1 is directly applied, appropriate vibration reduction control may not be performed depending on the movement state (movement mode) of the base. That is, there are disadvantages caused by insufficient accuracy of vibration reduction control, such as a problem that the position accuracy of the robot in the above operation is reduced. Summary of the invention

[0006] The robot system of the present invention comprises: a base; a robot arm supported by the base; an inertial sensor, which is arranged at a specified position of the robot arm, detects the acceleration of the specified position and outputs an acceleration signal, and detects the angular velocity of the specified position and outputs an angular velocity signal; and a vibration reduction control unit, which controls the vibration generated in the robot arm according to the acceleration signal or the angular velocity signal output by the inertial sensor, and the vibration reduction control unit selects a combination of the acceleration signal or the angular velocity signal used in controlling the vibration according to the moving state of the base. BRIEF DESCRIPTION OF THE DRAWINGS

[0007] Figure 1 It is a diagram showing the overall structure of a first embodiment of a robot system according to the present invention.

[0008] Figure 2 yes Figure 1 Block diagram of the robot system shown.

[0009] Figure 3 It is used to illustrate Figure 2 A schematic diagram of the various processes performed by the control unit shown.

[0010] Figure 4 It is used to illustrate Figure 2 A flowchart of an example of control operations performed by the control unit shown.

[0011] Figure 5 This is a schematic configuration diagram for explaining each process performed by a control unit of a second embodiment of the robot system of the present invention.

[0012] Figure 6 This is a schematic configuration diagram for explaining each process performed by a control unit of a third embodiment of the robot system of the present invention.

[0013] Description of Reference Numerals

[0014] 1…Robot, 3…Control device, 10…Robot arm, 10A…Base end, 10B…Front end, 11…Base, 12…First arm, 13…Second arm, 14…Third arm, 15…Fourth arm, 16…Fifth arm, 17…Sixth arm, 18…Detection unit, 19…Inertial sensor, 20…End effector, 31…Control unit, 32…Storage unit, 33…Communication unit, 100…Robot system, 111…Wheel, 171…Joint, 172…Joint, 173…Joint, 174…Joint, 175…Joint, 176…Joint, 200…Robot installation surface, 300…Specified portion, 310…Vibration reduction control unit, 311 ...coordinate system conversion unit, 312...filter unit, 313...subtractor, 314...coordinate system conversion unit, 315...filter unit, 316...integrator, 317...judgment unit, 318...calculation unit, 319...drive control unit, 321...differentiator, 322...Jacobi matrix calculation unit, 323...filter unit, 324...subtractor, 325...subtractor, D1...motor driver, D2...motor driver, D3...motor driver, D4...motor driver, D5...motor driver, D6...motor driver, E1...encoder, E2...encoder, E3...encoder, E4...encoder, E5...encoder, E6...encoder, M1 ...motor, M11...motor, M2...motor, M3...motor, M4...motor, M5...motor, M6...motor, O1...origin, O2...origin, P...action program, S...drive signal, S1...inertia signal, S1u...signal, S1v...signal, S1w...signal, S1x...signal, S1y...signal, S1z...signal, S2...inertia signal, S2u...signal, S2v...signal, S2w...signal, S2x...signal, S2y...signal, S2z...signal, S3...second inertia signal, S3u...signal, S3v...signal, S3w...signal, S3x...signal, S3y...signal, S3z...signal, S5... signal, S51A…signal, S51B…signal, S51C…signal, S51D…signal, S52A…signal, S52B…signal, S52C…signal, S52D…signal, S53A…signal, S53B…signal, S53C…signal, S53D…signal, S54A…signal, S54B…signal, S54C…signal, S54D…signal, S55A…signal, S55B…signal, S55C…signal, S55D…signal, S56A…signal, S56B…signal, S56C…signal, S56D…signal, SV1…speed signal, SV2…speed signal, TCP…tool center point. DETAILED DESCRIPTION

[0015] Hereinafter, the robot system of the present invention will be described in detail based on the preferred embodiments shown in the accompanying drawings.

[0016] <First embodiment>

[0017] Figure 1 It is a diagram showing the overall structure of a first embodiment of a robot system according to the present invention. Figure 2 yes Figure 1 Block diagram of the robot system shown. Figure 3 It is used to illustrate Figure 2 A schematic diagram of the various processes performed by the control unit shown. Figure 4 It is used to illustrate Figure 2 A flowchart of an example of control operations performed by the control unit shown.

[0018] In addition, for the sake of convenience in the following description, regarding the robot arm 10, Figure 1 The base 11 side is also referred to as the “base end” or “base end side”, and the opposite side, that is, the end effector 20 side is also referred to as the “front end” or “front end side”.

[0019] like Figure 1 As shown, the robot system 100 includes a robot 1 and a control device 3 for controlling the robot 1 .

[0020] First, the robot 1 will be described.

[0021] In this embodiment, Figure 1 The robot 1 shown is a single-arm six-axis vertical multi-joint robot, and includes a base 11 and a robot arm 10. The robot arm 10 has a base end 10A and a front end 10B. In addition, an end effector 20 may be mounted on the front end of the robot arm 10. In addition, the end effector 20 may be a component of the robot 1, or may be a component independent of the robot 1, that is, not a component of the robot 1.

[0022] The robot 1 is not limited to the illustrated configuration, and may be, for example, a dual-arm multi-joint robot. The robot 1 may also be a horizontal multi-joint robot.

[0023] The base 11 is a support body that supports the robot arm 10 at its base end side in a drivable manner, and is set on the robot installation surface 200. The robot installation surface 200 is, for example, the floor in the factory. However, it is not limited to this structure, and the robot installation surface 200 may also be a top surface, a wall surface, etc.

[0024] The base 11 has a plurality of wheels 111 as a moving mechanism, and is configured to be movable by the rotation of the wheels 111. A motor M11 is connected to at least one of the wheels 111. Figure 2 As shown, the motor M11 is electrically connected to the control device 3 via a motor driver (not shown). The control device 3 controls the conditions for supplying electricity to the motor M11, thereby controlling the driving of the motor M11.

[0025] For example, when a rectangular base 11 is viewed from the Z-axis direction, a wheel 111 is provided at each of the four corners, and each of the four wheels 111 is connected to a motor M11. If each motor M11 is operated to drive each wheel 111 in the same direction and at the same speed, the base 11 performs translational motion at a specified speed. In addition, if a pair of wheels 111 located on a diagonal line among the four wheels 111 is driven to rotate in opposite directions to each other, the base 11 performs rotational motion around the Z-axis at a specified angular velocity, for example. In addition, the base 11 may also have a dedicated motor for performing rotational motion.

[0026] The moving mechanism is not limited to the above-mentioned structure, and may be a belt-driven structure, a structure moving on a rail, a walking leg structure using two or four legs, or the like.

[0027] In addition, although not shown in the figure, another transport device, traction device, etc. are attached to the base 11, and the base 11 can be moved (translation movement) or rotated (rotational movement) by these. In this embodiment, the configuration in which the base 11 has a moving mechanism is illustrated, but it is not limited to this configuration. For example, a robot with a base without a moving mechanism can also be set on an AGV (Automatic Guided Vehicle) or a conveyor belt, and the base can be moved (translation movement) or rotated (rotational movement) by these transport devices or traction devices.

[0028] In addition, the motor M11 serving as a driving source may be omitted from the base 11. In this case, the operator can move (translation motion) or rotate (rotation motion) the base 11 by applying force to the base 11.

[0029] The base 11 can perform rotational movement and translational movement relative to the robot installation surface 200 .

[0030] The rotational motion refers to the rotation of the base 11 around an axis passing through the base 11 and having the robot installation surface 200 as a normal line, for example, Figure 1 The vertical axis (Z axis) of the origin O2 (second origin) shown rotates clockwise or counterclockwise.

[0031] Translational motion refers to motion along the robot installation surface 200. That is, it refers to the movement of the base 11 in an arbitrary direction along the horizontal plane, that is, the XY plane, by the rotation of the wheels 111. In addition, in the case of eccentric rotation around a vertical axis deviating from the origin O2 as viewed from the normal direction (Z-axis direction) of the robot installation surface 200, if the central axis of the eccentric rotation overlaps with the base 11, it is a rotational motion.

[0032] The base 11 of the robot 1 is electrically connected to the control device 3 via a relay cable. Figure 1 The connection may be made by wire as in the configuration shown, or may be made by wireless connection, for example, or may be made via a network such as the Internet.

[0033] In the present embodiment, the robot arm 10 has a first arm 12, a second arm 13, a third arm 14, a fourth arm 15, a fifth arm 16, and a sixth arm 17, and these arms are sequentially connected from the base 11 side toward the front end side, that is, from the base end 10A side toward the front end 10B side. In addition, the number of arms of the robot arm 10 is not limited to six, and for example, it can also be one, two, three, four, five, or seven or more. In addition, the size of the total length of each arm is not particularly limited, and can be appropriately set.

[0034] The base 11 and the first arm 12 are connected via a joint 171. Moreover, the first arm 12 can rotate around the first rotation axis extending in the vertical direction relative to the base 11. In this way, the first rotation axis is consistent with the normal line of the floor on which the base 11 is set, and the robot arm 10 as a whole can rotate in any direction of the positive direction or the reverse direction around the first rotation axis.

[0035] The first arm 12 and the second arm 13 are connected via the joint 172. The second arm 13 is rotatable relative to the first arm 12 about a second rotation axis extending in the horizontal direction.

[0036] The second arm 13 and the third arm 14 are connected via a joint 173. The third arm 14 can rotate relative to the second arm 13 about a third rotation axis extending in the horizontal direction. The third rotation axis is parallel to the second rotation axis.

[0037] The third arm 14 and the fourth arm 15 are connected via a joint 174. The fourth arm 15 can rotate relative to the third arm 14 about a fourth rotation axis parallel to the central axis of the third arm 14. The fourth rotation axis is orthogonal to the third rotation axis.

[0038] The fourth arm 15 and the fifth arm 16 are connected via a joint 175. The fifth arm 16 can rotate with respect to the fourth arm 15 about a fifth rotation axis. The fifth rotation axis is orthogonal to the fourth rotation axis.

[0039] The fifth arm 16 and the sixth arm 17 are connected via a joint 176. The sixth arm 17 is rotatable with respect to the fifth arm 16 about a sixth rotation axis. The sixth rotation axis is orthogonal to the fifth rotation axis.

[0040] In addition, the sixth arm 17 is located at the front end side of the robot arm 10. The sixth arm 17 can be displaced together with the end effector 20 when the robot arm 10 is driven.

[0041] Figure 1 The end effector 20 shown has a gripping portion that can grip a workpiece or a tool. When the end effector 20 is attached to the sixth arm 17, the tip of the end effector 20 becomes a tool center point TCP.

[0042] The robot 1 is provided with a motor M1, a motor M2, a motor M3, a motor M4, a motor M5, and a motor M6 as a driving unit and an encoder E1, an encoder E2, an encoder E3, an encoder E4, an encoder E5, and an encoder E6. The motor M1 is built into the joint 171 to rotate (rotate) the first arm 12 relative to the base 11 around the first rotation axis. The motor M2 is built into the joint 172 to relatively rotate the first arm 12 and the second arm 13 around the second rotation axis. The motor M3 is built into the joint 173 to relatively rotate the second arm 13 and the third arm 14 around the third rotation axis. The motor M4 is built into the joint 174 to relatively rotate the third arm 14 and the fourth arm 15 around the fourth rotation axis. The motor M5 is built into the joint 175 to relatively rotate the fourth arm 15 and the fifth arm 16 around the fifth rotation axis. The motor M6 is built into the joint 176 to relatively rotate the fifth arm 16 and the sixth arm 17 around the sixth rotation axis.

[0043] In addition, encoder E1 is built into joint 171 to detect the position of motor M1. Encoder E2 is built into joint 172 to detect the position of motor M2. Encoder E3 is built into joint 173 to detect the position of motor M3. Encoder E4 is built into joint 174 to detect the position of motor M4. Encoder E5 is built into the fifth arm 16 to detect the position of motor M5. Encoder E6 is built into the sixth arm 17 to detect the position of motor M6. In addition, the "detected position" mentioned here refers to detecting the rotation angle of the motor, that is, including the positive and negative rotation amount and angular velocity, and the detected information is referred to as "position information".

[0044] like Figure 2 As shown, motor drivers D1, D2, D3, D4, D5 and D6 are respectively connected to corresponding motors M1, M2, M3, M4, M5 and M6 to control the driving of each of these motors.

[0045] The encoders E1, E2, E3, E4, E5, E6, the motors M1, M2, M3, M4, M5, M6, and the motor drivers D1, D2, D3, D4, D5, and D6 are electrically connected to the control device 3. The position information of the motors M1, M2, M3, M4, M5, and M6 detected by the encoders E1, E2, E3, E4, E5, and E6, that is, the rotation amount, is sent to the control device 3 as an electrical signal. Then, the control device 3 sends an electric signal to the control device 3 according to the position information. Figure 2 The motor drivers D1, D2, D3, D4, D5 and D6 shown output control signals to drive the motors M1, M2, M3, M4, M5 and M6. That is, controlling the robot 10 means controlling the driving of the motors M1, M2, M3, M4, M5 and M6, thereby controlling the movements of the first arm 12, the second arm 13, the third arm 14, the fourth arm 15, the fifth arm 16 and the sixth arm 17 belonging to the robot 10.

[0046] like Figure 1 As shown, the inertial sensor 19 is disposed at a predetermined portion 300 of the robot arm 10 to detect the inertial force of the predetermined portion. The inertial sensor 19 detects the acceleration of the predetermined portion 300 and outputs an acceleration signal, and detects the angular velocity of the predetermined portion 300 and outputs an angular velocity signal. The predetermined portion 300 is a portion that becomes the object of the vibration reduction control described later, and in this embodiment, it is the sixth arm 17. That is, the inertial sensor 19 is disposed on the sixth arm 17 to detect the inertial force of the sixth arm 17. In other words, the inertial sensor 19 detects the inertial force of the front end portion 10B of the robot arm 10. The predetermined portion 300 where the inertial sensor 19 is disposed is not limited to the sixth arm 17, and may also be other arms.

[0047] A sensor coordinate system (first coordinate system) is set in the inertial sensor 19. The sensor coordinate system has an arbitrary point set in the inertial sensor 19 as an origin O1 (first origin), and has three axes, namely, an x-axis, a y-axis, and a z-axis, which are orthogonal to each other.

[0048] In this embodiment, the inertial force detected by the inertial sensor 19 includes six types of acceleration along the x-axis, acceleration along the y-axis, acceleration along the z-axis, angular velocity around the x-axis, angular velocity around the y-axis, and angular velocity around the z-axis. That is, the inertial sensor 19 is an IMU (Inertial Measurement Unit) that detects accelerations in three mutually orthogonal axis directions and angular velocities around the three axes.

[0049] However, the inertial sensor 19 is not limited to this configuration, and the inertial sensor 19 may, for example, only detect acceleration along the x-axis, acceleration along the y-axis, and acceleration along the z-axis, or only detect angular velocity around the x-axis, angular velocity around the y-axis, and angular velocity around the z-axis.

[0050] In addition, the inertial sensor 19 may be configured to detect angular acceleration around the x-axis, angular acceleration around the y-axis, and angular acceleration around the z-axis.

[0051] like Figure 2 and Figure 3 As shown, the inertial sensor 19 is electrically connected to the control device 3, and sends a signal indicating the detected inertial force to the control device 3 at any time. Hereinafter, the signals sent by the inertial sensor 19 are collectively referred to as inertial signals S1. The inertial signals S1 include a signal S1x indicating acceleration along the x-axis, a signal S1y indicating acceleration along the y-axis, a signal S1z indicating acceleration along the z-axis, a signal S1u indicating angular velocity around the x-axis, a signal S1v indicating angular velocity around the y-axis, and a signal S1w indicating angular velocity around the z-axis.

[0052] The signals S1u, S1v, and S1w are angular velocity signals indicating the angular velocity of the predetermined part 300 of the robot 10 , and the signals S1x, S1y, and S1z are acceleration signals indicating the acceleration of the predetermined part 300 of the robot 10 .

[0053] The control device 3 performs vibration reduction control described later using the inertia signal S1 output by the inertia sensor 19 .

[0054] The end effector 20 is detachably mounted on the front end portion 10B of the robot arm 10. In the illustrated structure, the end effector 20 is composed of a hand having a pair of claws that can approach or separate from each other and grip and release a workpiece or tool through each claw. In addition, the end effector 20 is not limited to the illustrated structure, and may also be a structure that has an adsorption portion and grips a workpiece or tool through adsorption of the adsorption portion. In addition, the end effector 20 may be, for example, a grinder, a grinder, a cutter, a spray gun, a laser irradiator, a screwdriver, a wrench, or other tools.

[0055] The robot 1 attaches such an end effector 20 to the front end portion 10B and drives the robot arm 10 to perform operations such as manufacturing, processing, painting, assembling, and disassembling of objects such as parts or products (hereinafter collectively referred to as “operations”).

[0056] In such a robot 1, a base coordinate system (second coordinate system) is set on the base 11. The base coordinate system has an arbitrary point set on the base 11 as an origin O2 (second origin), and has an X-axis, a Y-axis, and a Z-axis as three axes orthogonal to each other. The origin O2 may be located closer to the base end 10A side of the robot 10 than the origin O1 of the sensor coordinate system. In addition, the sensor coordinate system is a coordinate system in which the origin O1 rotates according to the movement of the robot 10, and the base coordinate system may be a coordinate system in which the origin O2 does not rotate according to the movement of the robot 10.

[0057] The origin O2 of the base coordinate system only needs to be located closer to the base end 10A of the robot 10 than the origin O1 of the sensor coordinate system, and may be set at a position different from the base 11 , such as the base end 10A of the robot 10 .

[0058] Next, the control device 3 will be described.

[0059] like Figure 1 As shown, in this embodiment, the control device 3 is provided at a position separated from the robot 1. However, the present invention is not limited to this configuration, and the control device 3 may be built into the base 11. In addition, the control device 3 has a function of controlling the driving of the robot 1, and is electrically connected to each part of the robot 1.

[0060] like Figure 2 As shown, the control device 3 includes a control unit 31, a storage unit 32, and a communication unit 33. These units are connected to each other via a bus, for example, so as to be able to communicate with each other.

[0061] The control unit 31 is composed of, for example, at least one CPU (Central Processing Unit), and reads and executes various programs such as the action program stored in the storage unit 32. The signal generated by the control unit 31 is sent to each part of the robot 1 via the communication unit 33, and the control unit 31 receives the signal from each part of the robot 1 via the communication unit 33. Thus, the robot arm 10 can perform a predetermined operation under predetermined conditions.

[0062] The storage unit 32 stores various programs executed by the control unit 31. Examples of the storage unit 32 include a volatile memory such as a RAM (Random Access Memory), a nonvolatile memory such as a ROM (Read Only Memory), and a detachable external storage device.

[0063] The communication unit 33 transmits and receives signals to and from the control device 3 using an external interface such as a wired LAN (Local Area Network) or a wireless LAN. In this case, communication may be performed via a server (not shown) or a network such as the Internet.

[0064] like Figure 3 As shown, the control unit 31 has a coordinate system conversion unit 311, a filter unit 312, a subtractor 313, a coordinate system conversion unit 314, a filter unit 315, an integrator 316, a vibration reduction control unit 310, a differentiator 321, a Jacobian matrix operation unit 322, a filter unit 323, a subtractor 324 and a subtractor 325.

[0065] The coordinate system conversion unit 311 obtains the inertial signal S1 (signal S1u, signal S1v, and signal S1w) in the sensor coordinate system from the inertial sensor 19, and converts the inertial signal S1 into the base coordinate system to generate the inertial signal S2. The coordinate system conversion unit 311 generates the inertial signal S2 by performing calculations based on the distance between the origin O1 of the sensor coordinate system and the origin O2 of the base coordinate system and the rotation matrix. As a result, the waveforms of the angular velocities shown by the signal S1u, the signal S1v, and the signal S1w are converted into the waveforms of the angular velocities observed from the origin O2. That is, the inertial signal S2 includes S2u, which is the conversion of the signal S1u into the base coordinate system, S2v, which is the conversion of the signal S1v into the base coordinate system, and S2w, which is the conversion of the signal S1w into the base coordinate system. Here, the method of generating the inertial signal S2 is not limited to the above method. For example, the coordinate system conversion unit 311 may generate the inertia signal S2 by performing calculations based on a coordinate conversion matrix calculated from the positions and angles of the rotation shafts of the motors.

[0066] In addition, the signal S1u, the signal S1v, and the signal S1w are angular velocity signals indicating the angular velocity of the predetermined part 300 of the robot arm 10 .

[0067] The filter unit 312 is composed of a HPF (High Pass Filter). The filter unit 312 removes the frequency components below the cutoff value F1 from the angular velocity-related signals S2u, S2v, and S2w output from the coordinate system conversion unit 311. That is, the filter unit 312 removes the frequency components below the cutoff value F1 contained in the waveforms of the respective angular velocities shown by the signals S2u, S2v, and S2w. In addition, "removal" in this specification means reducing the target frequency component by more than 90%.

[0068] The cutoff value F1 is an upper limit value of a frequency band to be removed, that is, a frequency band including unnecessary noise, and is not particularly limited, but may be, for example, approximately 0.01 Hz or more and 10 Hz or less.

[0069] Hereinafter, the signal from which the frequency components below the cutoff value F1 are removed by the filter unit 312 is referred to as the second inertia signal S3. The second inertia signal S3 includes a signal S3u, which is a signal obtained by removing the frequency components below the cutoff value F1 from the signal S2u, a signal S3v, which is a signal obtained by removing the frequency components below the cutoff value F1 from the signal S2v, and a signal S3w, which is a signal obtained by removing the frequency components below the cutoff value F1 from the signal S2w.

[0070] In this way, the signals S1u, S1v, and S1w related to the angular velocity among the inertial signals S1 outputted from the inertial sensor 19 are converted into the signals S3u, S3v, and S3w as the second inertial signals S3.

[0071] On the other hand, among the inertial signal S1 outputted from the inertial sensor 19 , the signals S1x, S1y, and S1z related to acceleration are processed as follows by the subtractor 313 , the coordinate system conversion unit 314 , the filter unit 315 , and the integrator 316 .

[0072] The coordinate system conversion unit 314 receives the acceleration-related signals S1x, S1y, and S1z from the inertial sensor 19, and converts the received inertial signal S1 in the sensor coordinate system into the base coordinate system to generate the inertial signal S2. The coordinate system conversion unit 314 generates the inertial signal S2 from the inertial signal S1 by, for example, performing the same operation as the coordinate system conversion unit 311. Thus, the waveforms of the accelerations indicated by the signals S1x, S1y, and S1z are converted into waveforms of the accelerations observed from the origin O2. That is, the inertial signal S2 includes S2x, which is the conversion of the signal S1x into the base coordinate system, S2y, which is the conversion of the signal S1y into the base coordinate system, and S2z, which is the conversion of the signal S1z into the base coordinate system.

[0073] In addition, the signal S1x, the signal S1y, and the signal S1z are acceleration signals indicating the acceleration of the predetermined part 300 of the robot arm 10 .

[0074] The subtractor 313 receives the signals S2x, S2y, and S2z output from the coordinate system conversion unit 314 and subtracts the components Gx, Gy, and Gz caused by gravity from the received signals S2x, S2y, and S2z. The components Gx, Gy, and Gz are preset values ​​and stored in the storage unit 32.

[0075] The filter unit 315 is composed of an HPF. The filter unit 315 performs a process of removing frequency components below the cutoff value F2 from the signals S2x, S2y, and S2z, which are the inertia signals S2 output from the coordinate system conversion unit 314. That is, the filter unit 315 performs a process of removing frequency components below the cutoff value F2 included in the waveforms of the accelerations shown in the signals S2x, S2y, and S2z.

[0076] The cutoff value F2 is an upper limit value of a frequency band to be removed, that is, a frequency band including unnecessary noise, and is not particularly limited, but may be, for example, approximately 1 Hz or more and 100 Hz or less.

[0077] The second inertial signal S3 from which frequency components below the cutoff value F2 are removed by the filter unit 315 includes a signal S3x, a signal S3y, and a signal S3z. The signal S3x is a signal obtained by removing frequency components below the cutoff value F2 from the signal S2x, the signal S3y is a signal obtained by removing frequency components below the cutoff value F2 from the signal S2y, and the signal S3z is a signal obtained by removing frequency components below the cutoff value F2 from the signal S2z.

[0078] In other words, the filter unit 315 removes the frequency components below the cutoff value F2 contained in the waveform of the acceleration shown by the signal S2x to generate the signal S3x, removes the frequency components below the cutoff value F2 contained in the waveform of the acceleration shown by the signal S2y to generate the signal S3y, and removes the frequency components below the cutoff value F2 contained in the waveform of the acceleration shown by the signal S2z to generate the signal S3z.

[0079] The integrator 316 performs integration processing on the signal S3 x , the signal S3 y , and the signal S3 z generated by the filter unit 315 , respectively, and converts them into signals indicating the velocity of the predetermined part 300 of the robot arm 10 .

[0080] The signal S3u, signal S3v, and signal S3w generated as described above are input to the subtractors 324 and 325, respectively, and the signal S3x, signal S3y, and signal S3z are input to the subtractor 324.

[0081] The signal S3u, the signal S3v, the signal S3w, the signal S3x, the signal S3y, and the signal S3z are used by a calculation unit 318 described later to calculate a velocity component V1 of the predetermined portion 300.

[0082] The signals S1u, S1v, S1w, S1x, S1y, and S1z include a velocity component V1 caused by the vibration of the robot arm 10 and a velocity component V2 generated by the robot arm 10 being driven according to a program. Therefore, by subtracting the velocity component V2 generated by the robot arm 10 being driven according to a program from the second inertial signal S3 (signals S3u, S3v, S3w, S3x, S3y, and S3z), the velocity component V1 caused by the vibration of the robot arm 10 can be obtained.

[0083] On the other hand, the speed component V2 can be obtained from the output values ​​of the encoders E1, E2, E3, E4, E5, and E6. This will be described below.

[0084] The differentiator 321 differentiates the output values ​​of encoders E1, E2, E3, E4, E5 and E6 received from encoders E1, E2, E3, E4, E5 and E6, that is, the signals of the rotation positions of joints 171, 172, 173, 174, 175 and 176, and converts them into signals representing the rotation speeds of joints 171, 172, 173, 174, 175 and 176.

[0085] The signal of the rotation position of the joint 171 is signal S51A, the signal of the rotation position of the joint 172 is signal S52A, the signal of the rotation position of the joint 173 is signal S53A, the signal of the rotation position of the joint 174 is signal S54A, the signal of the rotation position of the joint 175 is signal S55A, and the signal of the rotation position of the joint 176 is signal S56A. These signals S51A, S52A, S53A, S54A, S55A, and S56A are signal S5. Signal S5 is processed as follows.

[0086] Among the signals output by the differentiator 321, the signal of the rotation speed of joint 171 is signal S51B, the signal of the rotation speed of joint 172 is signal S52B, the signal of the rotation speed of joint 173 is signal S53B, the signal of the rotation speed of joint 174 is signal S54B, the signal of the rotation speed of joint 175 is signal S55B, and the signal of the rotation speed of joint 176 is signal S56B.

[0087] The Jacobian matrix operation unit 322 generates signals S51C, S52C, S53C, S54C, S55C and S56C based on signals S51B, S52B, S53B, S54B, S55B and S56B, where signal S51C is the velocity around the x-axis at the portion of the robot arm 10 where the inertial sensor 19 is provided in the base coordinate system (second coordinate system), signal S52C is the velocity around the y-axis, signal S53C is the velocity around the z-axis, signal S54C is the velocity in the x-axis direction, signal S55C is the velocity in the y-axis direction, and signal S56C is the velocity in the z-axis direction.

[0088] The filter unit 323 is composed of an HPF, and performs processing to remove frequency components below the cutoff value F3 on the signals S51C, S52C, S53C, S54C, S55C, and S56C, thereby generating signals S51D, S52D, S53D, S54D, S55D, and S56D.

[0089] The cutoff value F3 is not particularly limited, but is preferably a value of the same degree as the cutoff value F2. That is, F3 may be, for example, greater than 1 Hz and less than 100 Hz. Thus, the values ​​with the same frequency components removed can be used to perform operations in the subtractors 324 and 325. Therefore, a vibration reduction control (hereinafter also referred to as "vibration control") with higher accuracy can be performed. In addition, the cutoff value F3 may be different from the cutoff value F2.

[0090] As described above, the subtractor 324 receives the signals S3u, S3v, S3w, S3x, S3y, and S3z, and further receives the signals S51D, S52D, S53D, S54D, S55D, and S56D from the filter unit 323 .

[0091] Subtractor 324 performs operations of (speed shown by signal S3u - speed shown by signal S51D), (speed shown by signal S3v - speed shown by signal S52D), (speed shown by signal S3w - speed shown by signal S53D), (speed shown by signal S3x - speed shown by signal S54D), (speed shown by signal S3y - speed shown by signal S55D) and (speed shown by signal S3z - speed shown by signal S56D).

[0092] In addition, as described above, the signal S3u, the signal S3v, the signal S3w, the signal S3x, the signal S3y, and the signal S3z include the velocity component V1 caused by the vibration of the robot 10 and the velocity component V2 generated by the robot 10 being driven according to the program. The signal S51D, the signal S52D, the signal S53D, the signal S54D, the signal S55D, and the signal S56D can be regarded as the velocity component V2 generated by the robot 10 being driven according to the program. Therefore, by performing the above calculation by the subtractor 324, the velocity component V1 caused by the vibration of the robot 10 can be obtained. In this way, the signal of the velocity component V1 calculated using the signal S3u, the signal S3v, the signal S3w, the signal S3x, the signal S3y, and the signal S3z is called the velocity signal SV1.

[0093] As described above, the subtractor 325 receives the signal S3u, the signal S3v, and the signal S3w, and further receives the signal S51D, the signal S52D, and the signal S53D from the filter unit 323.

[0094] The subtractor 325 performs calculations of (speed indicated by the signal S3u - speed indicated by the signal S51D), (speed indicated by the signal S3v - speed indicated by the signal S52D), and (speed indicated by the signal S3w - speed indicated by the signal S53D).

[0095] As described above, the signal S3u, the signal S3v, and the signal S3w include the velocity component V1 caused by the vibration of the robot 10 and the velocity component V2 generated by the robot 10 being driven according to the program. The signal S51D, the signal S52D, and the signal S53D can be regarded as the velocity component V2 generated by the robot 10 being driven according to the program. Therefore, by performing the above operation by the subtractor 325, the velocity component V1 caused by the vibration of the robot 10 can be obtained. In this way, the signal of the velocity component V1 calculated using the signal S3u, the signal S3v, and the signal S3w instead of the signal S3x, the signal S3y, and the signal S3z is called the velocity signal SV2.

[0096] Next, the vibration reduction control unit 310 will be described.

[0097] like Figure 3 As shown, the vibration reduction control unit 310 performs vibration reduction control on the robot arm 10 according to the inertial signals S1 and S2 output by the inertial sensor 19 , that is, according to the acceleration signal or the angular velocity signal. The vibration reduction control unit 310 includes a determination unit 317 , a calculation unit 318 , and a drive control unit 319 .

[0098] The determination unit 317 determines the movement state of the base 11. In the present embodiment, the determination unit 317 determines the movement state (movement mode) of the base 11 based on the speed signal SV1. Here, the movement state includes whether the base 11 performs rotational movement and whether the base 11 performs translational movement, and includes the rotation direction and rotation speed when the base 11 performs rotational movement, the movement direction and movement speed when the base 11 performs translational movement, and a combination of two or more of these, etc., as required.

[0099] When the speed component (speed) in the direction in which the base 11 rotates in the speed information included in the speed signal SV1 exceeds the first threshold, the determination unit 317 determines that the base 11 rotates. The first threshold is a value that determines the degree of rotation of the base 11 during the driving of the robot 10, and is pre-stored in the storage unit 32.

[0100] In addition, when the speed component (speed) in the direction in which the base 11 performs translational motion in the speed information included in the speed signal SV1 exceeds the second threshold value, the determination unit 317 determines that the base 11 performs translational motion. The second threshold value is a value at which the base 11 is considered to perform translational motion during the driving of the robot 10, and is pre-stored in the storage unit 32.

[0101] The judgment result of the judgment unit 317, that is, the information that the base 11 stops (case 1), the base 11 performs translational movement and does not perform rotational movement (case 2), and the base 11 performs rotational movement (case 3) is sent to the calculation unit 318. In addition, it is also possible to have a configuration in which these information are temporarily stored in the storage unit 32 and read by the calculation unit 318.

[0102] The calculation unit 318 performs the following calculations according to Case 1, Case 2, and Case 3.

[0103] (Case 1)

[0104] The calculation unit 318 calculates the velocity of the predetermined part 300 based on the velocity signal SV1. That is, the calculation unit 318 selects a combination of the acceleration signal and the angular velocity signal output by the inertial sensor 19, and calculates the velocity of the predetermined part 300. Then, the inverse Jacobian matrix is ​​calculated based on the calculated velocity, thereby calculating the rotational velocity of each joint 171, 172, 173, 174, 175, and 176.

[0105] (Scenario 2)

[0106] The calculation unit 318 calculates the velocity of the predetermined part 300 based on the velocity signal SV2. That is, the calculation unit 318 selects a combination of the acceleration signal and the angular velocity signal output by the inertial sensor 19, and calculates the velocity of the predetermined part 300. Then, the inverse Jacobian matrix is ​​calculated based on the calculated velocity, thereby calculating the rotational velocity of each joint 171, 172, 173, 174, 175, and 176.

[0107] (Case 3)

[0108] The calculation unit 318 does not calculate the velocity of the predetermined portion 300. In other words, the calculation unit 318 does not select any one of the acceleration signal and the angular velocity signal output by the inertial sensor 19.

[0109] Thus, the operation unit 318 selects a combination of acceleration signals or angular velocity signals used in the vibration reduction control according to the determination result of the determination unit 317 , namely, case 1, case 2, and case 3, and calculates the rotation speed of each joint 171 , 172 , 173 , 174 , 175 , and 176 .

[0110] The drive control unit 319 generates a drive signal S with correction such as eliminating the vibration component (component caused by vibration) based on the rotation speed of the joints 171, 172, 173, 174, 175 and 176 calculated by the calculation unit 318, and controls the movement of the robot 10 by the drive signal S. The drive signal S is a signal that specifies the energization conditions for each of the motors M1, M2, M3, M4, M5 and M6.

[0111] In case 3, the drive signal S is not generated, and therefore the vibration reduction control is not performed.

[0112] In this way, in the robot system 100 , the vibration reduction control unit 310 selects a combination of acceleration signals or angular velocity signals used for vibration reduction control according to the movement state of the base 11 , and performs vibration reduction control.

[0113] When the base 11 is stopped, vibration reduction control is performed using the acceleration signal and the angular velocity signal, so that high-precision vibration reduction control can be performed.

[0114] When the base 11 rotates, the acceleration signal and angular velocity signal output by the inertial sensor 19 contain components caused by the rotation of the base 11. Therefore, no matter which of the acceleration signal and the angular velocity signal is used for vibration reduction control, high-precision vibration reduction control cannot be performed.

[0115] When the base 11 performs translational motion and does not perform rotational motion, the acceleration signal output by the inertial sensor 19 includes a component caused by the translational motion of the base 11, and the angular velocity signal output by the inertial sensor 19 substantially does not include a component caused by the translational motion of the base 11. Therefore, in this case, by performing vibration reduction control using the angular velocity signal output by the inertial sensor 19, high-precision vibration reduction control can be performed even though the base 11 performs translational motion.

[0116] In this way, by selecting a combination of acceleration signals or angular velocity signals used for vibration reduction control according to the movement state of the base 11 , vibration reduction control corresponding to the movement state of the base 11 can be performed.

[0117] As described above, the robot system 100 includes: a base 11; a robot arm 10 supported by the base 11; an inertial sensor 19 provided at a predetermined portion 300 of the robot arm 10, detecting the acceleration of the predetermined portion 300 and outputting an acceleration signal, and detecting the angular velocity of the predetermined portion 300 and outputting an angular velocity signal; and a vibration reduction control unit 310, which controls the vibration generated in the robot arm 10 according to the acceleration signal or angular velocity signal output by the inertial sensor 19, and the vibration reduction control unit 310 selects a combination of acceleration signals or angular velocity signals used in the vibration control according to the moving state of the base 11. Thus, appropriate vibration control can be performed according to the moving state of the base 11. As a result, the position accuracy can be maintained at a high level during the operation of the robot 1.

[0118] In addition, when the base 11 performs translational motion and does not perform rotational motion, the vibration reduction control unit 310 controls the vibration using the angular velocity signal. Thus, even when the base 11 performs translational motion, appropriate vibration control can be performed.

[0119] Furthermore, when the base 11 performs translational motion and does not perform rotational motion, the vibration reduction control unit 310 may control the vibration after appropriately correcting the acceleration signal and the angular velocity signal.

[0120] When the base 11 is neither translating nor rotating, that is, when it is stationary relative to the robot installation surface 200, the vibration control unit 310 controls vibration using the acceleration signal and the angular velocity signal. This allows high-precision vibration control.

[0121] In addition, when the base 11 rotates, the vibration reduction control unit 310 does not control the vibration. This prevents the position accuracy of the robot arm 10 from being reduced due to vibration control when the base 11 rotates.

[0122] Furthermore, when the base 11 performs a rotational motion, the vibration reduction control unit 310 may control the vibration after appropriately correcting the acceleration signal and the angular velocity signal.

[0123] In addition, when the speed of the rotation direction of the predetermined part 300 exceeds the first threshold value, the vibration reduction control unit 310 determines that the base 11 is rotating. Thus, even if a detection unit for detecting the movement state of the base 11 is not separately provided, the movement state of the base 11 can be detected. Therefore, the structure of the robot system 100 is simplified.

[0124] In addition, when the speed of the predetermined portion 300 in the translation direction exceeds the second threshold value, the vibration reduction control unit 310 determines that the base 11 is performing translational motion. Thus, even without separately providing a detection unit for detecting the movement state of the base 11, the movement state of the base 11 can be detected. Therefore, the structure of the robot system 100 is simplified.

[0125] Next, refer to Figure 4 The flowchart shown in the figure explains the control operation performed by the control device 3. In the following description, the robot arm 10 starts to operate according to the program.

[0126] First, in step S101, the acceleration signal and the angular velocity signal output by the inertial sensor 19 are acquired. That is, the signal S3u, the signal S3v, the signal S3w, the signal S3x, the signal S3y, and the signal S3z are acquired.

[0127] Next, in step S102 , the speed of the predetermined part 300 , namely, the speed signal SV1 and the speed signal SV2 are calculated based on the signal S3 u , the signal S3 v , the signal S3 w , the signal S3 x , the signal S3 y , and the signal S3 z . The calculation method is as described above.

[0128] Next, in step S103, it is determined whether the speed of the rotation direction of the predetermined part 300 included in the speed signal SV1 is below the first threshold. If it is determined to be below the first threshold in step S103 (Yes), the process proceeds to step S104, and if it is determined not to be below the first threshold (No), the process proceeds to step S105.

[0129] In step S105 , it is determined whether the state where the speed in the rotation direction exceeds the first threshold value has continued for a predetermined time. If it is determined that it has continued for the predetermined time (Yes), in step S109 , it is determined not to perform vibration reduction control, and the process proceeds to step S111 .

[0130] When it is determined in step S105 that the predetermined time has not been continued, the process proceeds to step S104.

[0131] In step S104, it is determined whether the speed of the predetermined part 300 in the translation direction included in the speed signal SV1 is less than the second threshold value. If it is determined that it is less than the second threshold value in step S104 (Yes), the process proceeds to step S108, and it is determined to perform vibration reduction control using the speed signal SV1. If it is determined that it is not less than the second threshold value in step S104 (No), the process proceeds to step S106.

[0132] In step S106 , it is determined whether the state where the speed in the translation direction exceeds the second threshold value has continued for a predetermined time. If it is determined that it has continued for the predetermined time (Yes), in step S107 , it is determined to perform vibration reduction control using the speed signal SV2 .

[0133] When it is determined in step S106 that the vibration has not continued for the predetermined time (NO), it is determined in step S108 to perform vibration reduction control using the speed signal SV1.

[0134] Next, in step S110 , a driving signal S is generated and executed. That is, the driving signal S is generated, and the driving signal S is used to drive the robot arm 10 .

[0135] Next, in step S111, it is determined whether the operation program is completed. If it is determined in step S111 that the operation program is completed, the driving of the robot 1 is stopped. If it is determined in step S111 that the operation program is not completed, the process returns to step S101 and the subsequent steps are repeated.

[0136] As described above, in the robot system 100 , appropriate vibration reduction control can be performed according to the movement state of the base 11 .

[0137] <Second embodiment>

[0138] Figure 5 This is a schematic configuration diagram for explaining each process performed by a control unit of a second embodiment of the robot system of the present invention.

[0139] Below, reference Figure 5 A second embodiment of the robot system of the present invention will be described. The following description will focus on differences from the first embodiment, and descriptions of the same matters will be omitted.

[0140] like Figure 5 As shown in FIG. 1 , the robot system 100 includes a detection unit 18 that detects the moving state of the base 11. In the present embodiment, the detection unit 18 is composed of an encoder that detects the rotation position information of the motor M11 in the moving mechanism of the base 11.

[0141] However, the present invention is not limited to this configuration, and other devices such as a camera and an inertial sensor may be used as the detection unit 18 .

[0142] In this embodiment, the determination unit 317 determines the moving state of the base 11 based on the detection value of the detection unit 18, that is, the encoder value. That is, the determination unit 317 acquires the encoder value over time and calculates the moving speed and moving direction of the base 11. The determination unit 317 can grasp the moving state of the base 11 based on the calculated moving speed and moving direction.

[0143] Then, similarly to the first embodiment, the calculation unit 318 calculates the speed based on the determination result of the determination unit 317 , and the drive control unit 319 calculates the drive signal S.

[0144] In this way, the robot system 100 includes the detection unit 18 for detecting the moving state of the base 11, and the vibration reduction control unit 310 determines the moving state of the base 11 based on the detection value of the detection unit 18. Thus, the moving state of the base 11 can be determined more accurately. As a result, more appropriate vibration reduction control can be performed.

[0145] <Third embodiment>

[0146] Figure 6 This is a schematic configuration diagram for explaining each process performed by a control unit of a third embodiment of the robot system of the present invention.

[0147] Below, reference Figure 6 A third embodiment of the robot system of the present invention will be described. The following description will focus on differences from the first embodiment, and descriptions of the same matters will be omitted.

[0148] like Figure 6 As shown, in the robot system 100, the judgment unit 317 judges the moving state of the base 11 according to the action program P. The judgment unit 317 reads and obtains the action program P from the storage unit 32. The action program P includes the time-dependent speed information of the robot arm 10 and the time-dependent speed information of the base 11. The time-dependent speed information of the base 11 includes information indicating the start and end time of the rotational motion and information indicating the start and end time of the translational motion.

[0149] The determination unit 317 reads out the temporal velocity information of the base 11 , and determines whether the rotational motion and translational motion of the base 11 are included, and when they start and end if included.

[0150] Then, similarly to the first embodiment, the calculation unit 318 calculates the speed based on the determination result of the determination unit 317 , and the drive control unit 319 calculates the drive signal S.

[0151] In this way, the vibration reduction control unit 310 determines the movement state of the base 11 based on the input operation program P. As a result, the movement state of the base 11 can be more accurately determined. As a result, more appropriate vibration reduction control can be performed.

[0152] In the present invention, the vibration reduction control unit 310 may be configured to determine the movement state of the base 11 based on the input operation program P and the detection value of the detection unit 18 .

[0153] The robot system of the present invention has been described above with respect to each embodiment shown in the figure, but the present invention is not limited thereto. In addition, each part of the robot system can be replaced by any structure that can perform the same function. In addition, any structure can be added to the robot system. In addition, the structure of one or both of the second embodiment and the third embodiment can be arbitrarily combined in the structure of the first embodiment.

[0154] In addition, in the above-mentioned embodiments, the signal S3u, signal S3v and signal S3w input to the subtractor 325 are signals processed by the filter unit 312, and the signal S51D, signal S52D and signal S53D are signals processed by the filter unit 323, but the present invention is not limited to this configuration. For example, the signal input to the subtractor 325 may be the signal S2u, signal S2v and signal S2w before being processed by the filter unit 312, and the signal S51C, signal S52C and signal S53C before being processed by the filter unit 323.

Claims

1. A robot system, characterized in that: have: abutment; A mechanical arm, supported on the base; an inertial sensor, disposed at a predetermined position of the robot arm, detecting the acceleration of the predetermined position and outputting an acceleration signal, and detecting the angular velocity of the predetermined position and outputting an angular velocity signal; as well as a vibration reduction control unit that controls the vibration generated in the robot arm according to the acceleration signal or the angular velocity signal output by the inertial sensor, The vibration reduction control unit selects a combination of the acceleration signal or the angular velocity signal used for controlling the vibration according to the movement state of the base.

2. The robot system according to claim 1, characterized in that: When the base performs translational motion and does not perform rotational motion, the vibration reduction control unit controls the vibration using the angular velocity signal.

3. The robot system according to claim 1, characterized in that: When the base performs neither translational motion nor rotational motion, the vibration reduction control unit controls the vibration using the acceleration signal and the angular velocity signal.

4. The robot system according to claim 1, characterized in that: When the base performs rotational motion, the vibration reduction control unit does not control the vibration.

5. The robot system according to any one of claims 1 to 4, characterized in that: The vibration reduction control unit determines that the base is performing a rotational motion when the speed of the predetermined portion in the rotational direction exceeds a first threshold value.

6. The robot system according to any one of claims 1 to 4, characterized in that: The vibration reduction control unit determines that the base performs translational motion when the speed of the predetermined portion in the translational direction exceeds a second threshold value.

7. The robot system according to any one of claims 1 to 4, characterized in that: The vibration reduction control unit determines the movement state of the base according to an input operation program.

8. The robot system according to any one of claims 1 to 4, characterized in that: The robot system includes a detection unit configured to detect the moving state of the base. The vibration reduction control unit determines the movement state of the base based on the detection value of the detection unit.

Citation Information

Patent Citations

  • Vibration control method of robot and control device of robot

    JP2011136395A