Robot control method and robot system
The robot control method adjusts cutoff frequencies using inertial sensors to enhance vibration damping control, ensuring accurate positional accuracy by adapting to the robot's speed.
Patent Information
- Application Number
- JP2023109602
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-07-03
- Publication Date
- 2025-01-17
AI Technical Summary
Existing robot control systems using predetermined cutoff frequencies for vibration damping fail to adapt to varying conditions, leading to inaccurate vibration damping control and decreased positional accuracy.
A robot control method that adjusts cutoff frequencies based on the speed of the robot arm using inertial sensors to generate a drive signal for precise vibration damping control.
Enables highly accurate vibration damping control, improving the positional accuracy of the robot by adaptively removing noise components depending on the robot's speed.
Smart Images

Figure 2025007890000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a robot control method and a robot system. [Background technology]
[0002] In recent years, due to rising labor costs and labor shortages in factories, robots with robotic arms are being used to perform tasks such as manufacturing, processing, and assembly of parts and products, and tasks that have been performed manually are being automated. In such robots, vibration control is performed to suppress vibrations caused by the robot's operation in order to smooth the robot's operation and perform the above-mentioned tasks better.
[0003] The robot described in Patent Document 1 includes a robot arm and an acceleration sensor built into the tip of the robot arm, and vibration suppression control is performed to suppress vibrations of the robot based on the detection value detected by the acceleration sensor.
[0004] In Patent Document 1, the detection value detected by the acceleration sensor, in particular the detection value of acceleration in a sensor coordinate system set in the acceleration sensor, is processed to remove predetermined frequency components to obtain a detection value from which noise has been removed, and a drive signal for the robot arm is generated by taking into account the detection value from which noise has been removed. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] JP 2011-136395 A Summary of the Invention [Problem to be solved by the invention]
[0006] However, this type of noise removal process uses a predetermined constant frequency value (cutoff frequency value) for the detection value detected by the acceleration sensor and removes frequency components below this cutoff frequency value, and does not change the cutoff frequency value in response to various conditions such as the speed of the tip of the robot arm or in response to changes over time in the operation of the robot arm.
[0007] For this reason, the robot described in the above Patent Document 1 cannot perform highly accurate vibration suppression control, which results in disadvantages due to insufficient precision in vibration suppression control, such as a decrease in positional precision during the robot's work. [Means for solving the problem]
[0008] A method for controlling a robot of the present invention includes the steps of: acquiring a first inertial signal that is output from an inertial sensor installed at a predetermined portion of a robot arm having a base end and a tip end, and that indicates an inertial force of the predetermined portion; obtaining velocity information relating to a velocity of the robot arm; a processing step of performing a process of removing frequency components equal to or lower than a cutoff value frequency from the first inertial signal acquired in the step of acquiring the first inertial signal to generate a second inertial signal; a drive control step of generating a drive signal for the robot arm based on the second inertia signal and controlling an operation of the robot arm by the drive signal, The processing step is characterized in that the cutoff value is adjusted based on the speed information acquired in the speed information acquiring step.
[0009] The robot system of the present invention includes a first acquisition unit that acquires a first inertial signal that is output from an inertial sensor installed at a predetermined portion of a robot arm having a base end and a tip end, and indicates an inertial force of the predetermined portion; A second acquisition unit that acquires speed information regarding a speed of the robot arm; a processing unit that performs a process of removing frequency components equal to or lower than a cutoff value frequency from the first inertial signal acquired by the first acquisition unit to generate a second inertial signal; a drive control unit that generates a drive signal for the robot arm based on the second inertia signal and controls an operation of the robot arm by the drive signal, The processing unit adjusts the cutoff value based on the speed information acquired by the second acquisition unit. [Brief description of the drawings]
[0010] [Figure 1] FIG. 1 is a diagram showing the overall configuration of a robot system according to a first embodiment of the present invention. [Diagram 2] FIG. 2 is a block diagram of the robot system shown in FIG. [Diagram 3] FIG. 3 is a schematic configuration diagram for explaining each process performed by the control unit shown in FIG. [Figure 4] FIG. 4 is a flowchart for explaining an example of a control operation performed by the control unit shown in FIG. [Diagram 5] FIG. 5 is a schematic configuration diagram for explaining each process performed by a control unit included in a robot system according to a second embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0011] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, a robot control method and a robot system according to the present invention will be described in detail based on preferred embodiments shown in the accompanying drawings.
[0012] First Embodiment Fig. 1 is a diagram showing the overall configuration of a first embodiment of a robot system of the present invention. Fig. 2 is a block diagram of the robot system shown in Fig. 1. Fig. 3 is a schematic configuration diagram for explaining each process performed by a control unit shown in Fig. 2. Fig. 4 is a flowchart for explaining an example of a control operation performed by the control unit shown in Fig. 2.
[0013] In the following, for ease of explanation, the side of the robot arm 10 facing the base 11 in FIG. 1 will be referred to as the "base end" or "base end side", and the opposite side, i.e., the side facing the end effector 20, will be referred to as the "tip" or "tip side".
[0014] 1, a robot system 100 includes a robot 1 and a control device 3 that controls the robot 1. The robot control method of the present invention is executed by the control device 3. However, the present invention is not limited to this configuration, and the robot control method of the present invention may be configured to be executed by a device other than the control device 3, such as a teaching device.
[0015] First, the robot 1 will be described. 1 is a single-arm, six-axis vertical articulated robot in this embodiment, and includes a base 11 and a robot arm 10. The robot arm 10 has a base end 10A and a tip end 10B. An end effector 20 can be attached to the tip end 10B of the robot arm 10. The end effector 20 may be a component of the robot 1, or may be a separate member from the robot 1, i.e., it does not have to be a component of the robot 1.
[0016] The robot 1 is not limited to the configuration shown in the figure, and may be, for example, a dual-arm articulated robot or a horizontal articulated robot.
[0017] The base 11 is a support that drivably supports the robot arm 10 at its base end side, and is fixed to, for example, a floor in a factory. The base 11 of the robot 1 is electrically connected to the control device 3 via a relay cable. Note that the connection between the robot 1 and the control device 3 is not limited to a wired connection as in the configuration shown in Fig. 1, and may be, for example, a wireless connection. Also, they may be connected via a network such as the Internet.
[0018] In this 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 connected in this order from the base 11 side toward the tip side, that is, from the base end portion 10A side toward the tip end portion 10B side. The number of arms of the robot arm 10 is not limited to six, and may be, for example, one, two, three, four, five, or seven or more. The size of each arm, such as the total length, is not particularly limited and can be set appropriately.
[0019] The base 11 and the first arm 12 are connected via a joint 171. The first arm 12 is rotatable around a first rotation axis extending in the vertical direction relative to the base 11. In this manner, the first rotation axis coincides with the normal line of the floor surface to which the base 11 is fixed, and the entire robot arm 10 can rotate in either the forward or reverse direction around the first rotation axis.
[0020] The first arm 12 and the second arm 13 are connected via a joint 172. The second arm 13 is capable of rotating with respect to the first arm 12 about a second rotation axis that extends in the horizontal direction.
[0021] The second arm 13 and the third arm 14 are connected via a joint 173. The third arm 14 is rotatable about a third rotation axis that extends horizontally relative to the second arm 13. The third rotation axis is parallel to the second rotation axis.
[0022] The third arm 14 and the fourth arm 15 are connected via a joint 174. The fourth arm 15 is rotatable relative to the third arm 14 about a fourth rotation axis that is parallel to the central axial direction of the third arm 14. The fourth rotation axis is perpendicular to the third rotation axis.
[0023] The fourth arm 15 and the fifth arm 16 are connected via a joint 175. The fifth arm 16 is rotatable about a fifth rotation axis relative to the fourth arm 15. The fifth rotation axis is perpendicular to the fourth rotation axis.
[0024] The fifth arm 16 and the sixth arm 17 are connected via a joint 176. The sixth arm 17 is rotatable about a sixth rotation axis relative to the fifth arm 16. The sixth rotation axis is perpendicular to the fifth rotation axis.
[0025] The sixth arm 17 is located at the most distal end of the robot arm 10. The sixth arm 17 can be displaced together with the end effector 20 by being driven by the robot arm 10.
[0026] 1 has a gripping portion capable of gripping 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 the tool center point TCP.
[0027] The robot 1 includes motors M1, M2, M3, M4, M5, and M6 as driving units, and encoders E1, E2, E3, E4, E5, and E6. The motor M1 is built into the joint 171 and rotates the first arm 12 relative to the base 11 around the first rotation axis. The motor M2 is built into the joint 172 and rotates the first arm 12 and the second arm 13 relatively around the second rotation axis. The motor M3 is built into the joint 173 and rotates the second arm 13 and the third arm 14 relatively around the third rotation axis. The motor M4 is built into the joint 174 and rotates the third arm 14 and the fourth arm 15 relatively around the fourth rotation axis. The motor M5 is built into the joint 175 and rotates the fourth arm 15 and the fifth arm 16 relatively around the fifth rotation axis. The motor M6 is built into the joint 176 and rotates the fifth arm 16 and the sixth arm 17 relatively around the sixth rotation axis.
[0028] Additionally, encoder E1 is built into joint 171 and detects the position of motor M1. Encoder E2 is built into joint 172 and detects the position of motor M2. Encoder E3 is built into joint 173 and detects the position of motor M3. Encoder E4 is built into joint 174 and detects the position of motor M4. Encoder E5 is built into fifth arm 16 and detects the position of motor M5. Encoder E6 is built into sixth arm 17 and detects the position of motor M6. Note that "detecting position" here refers to detecting the rotation angle of the motor, i.e., the amount of rotation including forward and reverse, and the angular velocity, and the detected information is referred to as "position information."
[0029] As shown in FIG. 2, motor drivers D1, D2, D3, D4, D5 and D6 are connected to corresponding motors M1, M2, M3, M4, M5 and M6, respectively, and control the driving of these motors.
[0030] 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 each electrically connected to the control device 3. Position information of the motors M1, M2, M3, M4, M5, and M6 detected by the encoders E1, E2, E3, E4, E5, and E6, i.e., the amount of rotation, is transmitted as an electric signal to the control device 3. Then, based on this position information, the control device 3 outputs a control signal to the motor drivers D1, D2, D3, D4, D5, and D6 shown in FIG. 2 to drive the motors M1, M2, M3, M4, M5, and M6. In other words, controlling the robot arm 10 means controlling the drive of motors M1, M2, M3, M4, M5 and M6 to control the operation 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 arm 10.
[0031] 1, the inertial sensor 19 is installed at a predetermined portion of the robot arm 10 and detects the inertial force of the predetermined portion. The predetermined portion is a portion that is subject to vibration control, which will be described later, and is the sixth arm 17 in this embodiment. That is, the inertial sensor 19 is installed at the sixth arm 17 and detects the inertial force of the sixth arm 17. In other words, the inertial sensor 19 detects the inertial force of the tip portion 10B of the robot arm 10.
[0032] A sensor coordinate system (first coordinate system) is set in the inertial sensor 19. The sensor coordinate system has an origin O1 (first origin) at an arbitrary point set in the inertial sensor 19, and has three mutually orthogonal axes, that is, an x-axis, a y-axis, and a z-axis.
[0033] In this embodiment, the inertial forces detected by the inertial sensor 19 include six types in total: 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 acceleration and angular velocity in three mutually orthogonal axial directions.
[0034] However, without being limited to this configuration, the inertial sensor 19 may be configured to detect, for example, only acceleration along the x-axis, acceleration along the y-axis, and acceleration along the z-axis, or may be configured to detect only angular velocity around the x-axis, angular velocity around the y-axis, and angular velocity around the z-axis.
[0035] In addition to these, 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, or may be configured to detect only angular acceleration around the x-axis, angular acceleration around the y-axis, and angular acceleration around the z-axis.
[0036] 2 and 3, the inertial sensor 19 is electrically connected to the control device 3 and transmits a signal indicating the detected inertial force to the control device 3 as needed. Hereinafter, the signals transmitted by the inertial sensor 19 will be collectively referred to as the first inertial signal S1. The first inertial signal S1 includes a signal S1x indicating an acceleration in a direction along the x-axis, a signal S1y indicating an acceleration in a direction along the y-axis, a signal S1z indicating an acceleration in a direction along the z-axis, a signal S1u indicating an angular velocity around the x-axis, a signal S1v indicating an angular velocity around the y-axis, and a signal S1w indicating an angular velocity around the z-axis.
[0037] The signals S1u, S1v, and S1w are angular velocity signals indicating the angular velocity of a predetermined portion of the robot arm 10, and the signals S1x, S1y, and S1z are acceleration signals indicating the acceleration of a predetermined portion of the robot arm 10.
[0038] Using the first inertia signal S1 output by the inertia sensor 19, the control device 3 performs vibration damping control, which will be described later.
[0039] An end effector 20 is detachably attached to the tip 10B of the robot arm 10. In the illustrated configuration, the end effector 20 is configured as a hand having a pair of claws that can approach and separate from each other and grip and release a workpiece or tool with each claw. The end effector 20 is not limited to the illustrated configuration, and may be configured to have an adsorption part and grip a workpiece or tool by adsorption of the adsorption part. The end effector 20 may be, for example, a polisher, a grinder, a cutting machine, a spray gun, a laser light irradiator, a screwdriver, a wrench, or other tool.
[0040] The robot 1 has such an end effector 20 attached to its tip 10B and drives the robot arm 10 to perform work such as manufacturing, processing, painting, assembling, dismantling, etc. (hereinafter, these are collectively referred to as "work") on an object, such as a part or product.
[0041] In such a robot 1, a base coordinate system (second coordinate system) is set on the base 11. The base coordinate system has an origin O2 (second origin) at an arbitrary point set on the base 11, and has three mutually orthogonal axes, that is, an X-axis, a Y-axis, and a Z-axis. It can be said that the origin O2 is located closer to the base end portion 10A of the robot arm 10 than the origin O1 of the sensor coordinate system. It can also be said that the sensor coordinate system is a coordinate system in which the origin O1 rotates in response to the movement of the robot arm 10, and the base coordinate system is a coordinate system in which the origin O2 does not rotate in response to the movement of the robot arm 10.
[0042] In addition, the origin O2 of the base coordinate system may be set at a position different from the base 11, such as the base end 10A of the robot arm 10, as long as it is located closer to the base end 10A of the robot arm 10 than the origin O1 of the sensor coordinate system.
[0043] Next, the control device 3 will be described. 1, in this embodiment, the control device 3 is installed at a position separate 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. The control device 3 also has a function of controlling the driving of the robot 1, and is electrically connected to each part of the robot 1 described above.
[0044] 2, 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 so as to be able to communicate with each other via a bus, for example.
[0045] The control unit 31 is composed of, for example, at least one CPU (Central Processing Unit), and reads out and executes various programs such as operation programs stored in the storage unit 32. Signals generated by the control unit 31 are transmitted to each part of the robot 1 via the communication unit 33, and signals from each part of the robot 1 are received by the control unit 31 via the communication unit 33. This enables the robot arm 10 to perform a predetermined task under predetermined conditions.
[0046] The storage unit 32 stores various programs and the like executed by the control unit 31. Examples of the storage unit 32 include a configuration having a volatile memory such as a RAM (Random Access Memory), a non-volatile memory such as a ROM (Read Only Memory), a removable external storage device, and the like.
[0047] 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 via a network such as the Internet.
[0048] As shown in FIG. 3, 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 calculation unit 317, and a drive control unit 318.
[0049] Each part of the control unit 31 will be described below, but the configuration for performing vibration suppression control when the robot arm 10 stops after being driven will be described below. That is, the signal output by the inertial sensor 19 will be described as being caused by a vibration component after the robot arm 10 stops.
[0050] The coordinate system conversion unit 311 acquires the first inertial signal S1 (signals S1u, S1v, and S1w) in the sensor coordinate system from the inertial sensor 19, and converts the first inertial signal S1 into the base coordinate system to generate the first inertial signal S2. The coordinate system conversion unit 311 generates the first inertial signal S2 by performing a calculation based on the distance between the origin O1 of the sensor coordinate system and the origin O2 of the base coordinate system, and on the basis of a rotation matrix. As a result, the waveforms of the angular velocities indicated by the signals S1u, S1v, and S1w are converted into waveforms of angular velocities as viewed from the origin O2. That is, the first inertial signal S2 includes S2u obtained by converting the signal S1u into the base coordinate system, S2v obtained by converting the signal S1v into the base coordinate system, and S2w obtained by converting the signal S1w into the base coordinate system.
[0051] In this embodiment, the coordinate system conversion unit 311 is an example of a first acquisition unit that acquires the first inertia signal S1.
[0052] Moreover, the signals S1u, S1v, and S1w are angular velocity signals that indicate the angular velocity of a predetermined portion of the robot arm 10.
[0053] The filter unit 312 is composed of an HPF (High Pass Filter). The filter unit 312 performs processing to remove frequency components equal to or less than a cutoff value F1 from the signals S2u, S2v, and S2w relating to the angular velocities output by the coordinate system conversion unit 311. That is, the filter unit 312 performs processing to remove frequency components equal to or less than a cutoff value F1 contained in the waveforms of the angular velocities indicated by the signals S2u, S2v, and S2w. Note that "removal" in this specification refers to reducing the target frequency components by 90% or more.
[0054] The cutoff value F1 is the upper limit of the frequency range to be removed, that is, the frequency range in which unnecessary noise is included, and is not particularly limited, but can be, for example, about 0.01 Hz to 10 Hz.
[0055] The cutoff value F1 is a variable value. That is, the cutoff value F1 can be adjusted (increased or decreased) as appropriate. This will be described in detail later.
[0056] The signal from which frequency components equal to or less than the cutoff value F1 have been removed by the filter unit 312 is hereinafter referred to as the second inertial signal S3. The second inertial signal S3 includes a signal S3u obtained by removing frequency components equal to or less than the cutoff value F1 from the signal S2u, a signal S3v obtained by removing frequency components equal to or less than the cutoff value F1 from the signal S2v, and a signal S3w obtained by removing frequency components equal to or less than the cutoff value F1 from the signal S2w.
[0057] In this manner, the signals S1u, S1v, and S1w relating to the angular velocity out of the first inertial signal S1 output by the inertial sensor 19 are converted into signals S3u, S3v, and S3w which are the second inertial signal S3.
[0058] In this embodiment, the filter unit 312 is an example of a processing unit that generates the second inertia signal S3.
[0059] On the other hand, of the first inertial signal S1 output by the inertial sensor 19, the signals S1x, S1y, and S1z relating to acceleration are processed by a subtractor 313, a coordinate system conversion unit 314, a filter unit 315, and an integrator 316 as follows.
[0060] The subtractor 313 receives signals S1x, S1y, and S1z relating to acceleration from the inertial sensor 19, and subtracts components Gx, Gy, and Gz caused by gravity from the received signals S1x, S1y, and S1z. The components Gx, Gy, and Gz are values set in advance and stored in the storage unit 32.
[0061] The coordinate system conversion unit 314 converts the first inertia signal S1 in the sensor coordinate system into the base coordinate system to generate the first inertia signal S2. The coordinate system conversion unit 314 generates the first inertia signal S2 from the first inertia signal S1 by, for example, performing the same calculation as the coordinate system conversion unit 311. As a result, the waveforms of the accelerations indicated by the signals S1x, S1y, and S1z are converted into the waveforms of the accelerations as viewed from the origin O2. That is, the first inertia signal S2 includes S2x obtained by converting the signal S1x into the base coordinate system, S2y obtained by converting the signal S1y into the base coordinate system, and S2z obtained by converting the signal S1z into the base coordinate system.
[0062] In this embodiment, the coordinate system conversion unit 314 is an example of a first acquisition unit that acquires the first inertia signal S1.
[0063] Moreover, the signals S1x, S1y, and S1z are acceleration signals that indicate the acceleration of a predetermined portion of the robot arm 10.
[0064] The filter unit 315 is configured by an HPF. The filter unit 315 performs processing to remove frequency components equal to or less than a cutoff value F2 from the signals S2x, S2y, and S2z, which are the first inertia signal S2 output by the coordinate system conversion unit 314. That is, the filter unit 315 performs processing to remove frequency components equal to or less than the cutoff value F2 included in the waveforms of the accelerations indicated by the signals S2x, S2y, and S2z.
[0065] The cutoff value F2 is the upper limit of the frequency range to be removed, that is, the frequency range in which unwanted noise is included, and is not particularly limited, but can be, for example, about 1 Hz to 100 Hz.
[0066] The cutoff value F2 is a variable value. That is, the cutoff value F2 can be adjusted (increased or decreased) as appropriate. This will be described in detail later.
[0067] The second inertia signal S3 from which frequency components below the cutoff value F2 have been removed by the filter section 315 includes a signal S3x which is a signal from which frequency components below the cutoff value F2 have been removed from the signal S2x, a signal S3y which is a signal from which frequency components below the cutoff value F2 have been removed from the signal S2y, and a signal S3z which is a signal from which frequency components below the cutoff value F2 have been removed from the signal S2z.
[0068] In other words, filter unit 315 performs processing to remove frequency components equal to or less than cutoff value F2 contained in the acceleration waveform represented by signal S2x to generate signal S3x, performs processing to remove frequency components equal to or less than cutoff value F2 contained in the acceleration waveform represented by signal S2y to generate signal S3y, and performs processing to remove frequency components equal to or less than cutoff value F2 contained in the acceleration waveform represented by signal S2z to generate signal S3z.
[0069] In this embodiment, the filter unit 315 is an example of a processing unit that generates the second inertia signal S3.
[0070] The integrator 316 performs integration processing on each of the signals S3x, S3y, and S3z generated by the filter unit 315, and converts them into a signal indicating the velocity of a predetermined portion of the robot arm 10, that is, the portion where the inertial sensor 19 is installed.
[0071] The second inertia signal S3 generated as described above, that is, the signals S3u, S3v, and S3w, and the signals S3x, S3y, and S3z obtained through the integrator 316 are input to the calculation unit 317.
[0072] The calculation unit 317 calculates the velocity of a predetermined portion, that is, the position where the inertial sensor 19 is installed, based on the signals S3u, S3v, and S3w, and the signals S3x, S3y, and S3z. Then, the calculation unit 317 calculates the rotational velocity of each of the joints 171, 172, 173, 174, 175, and 176 by performing an inverse Jacobian matrix calculation from the velocity of the position where the inertial sensor 19 is installed.
[0073] The drive control unit 318 generates a drive signal S with correction to cancel such vibration components (components caused by vibration) based on the rotation speeds of the joints 171, 172, 173, 174, 175, and 176 calculated by the calculation unit 317, and controls the operation of the robot arm 10 using this drive signal S. The drive signal S is a signal that determines the energization conditions for each of the motors M1, M2, M3, M4, M5, and M6.
[0074] In this manner, in the robot system 100, the coordinate system conversion units 311 and 314 convert the first inertial signal S1 (signals S1u, S1v, S1w, S1x, S1y, and S1z) into the base coordinate system to generate the first inertial signal S2 (signals S2u, S2v, S2w, S2x, S2y, and S2z). Next, the filter units 312 and 315 perform processing on the first inertial signal S2 (signals S2u, S2v, S2w, S2x, S2y, and S2z) to remove frequency components equal to or lower than the cutoff value F1 to generate the second inertial signal S3 (signals S3u, S3v, S3w, S3x, S3y, and S3z). Then, the drive control unit 318 generates a drive signal S for the robot arm 10 based on the second inertial signal S3, and controls the operation of the robot arm 10 by this drive signal S.
[0075] For example, when the robot arm 10 is driven, the first inertial signal S1 (signals S1u, S1v, S1w, S1x, S1y, and S1z) received from the inertial sensor 19 contains a velocity component V1 caused by vibration of the robot arm 10 and a velocity component V2 caused by the robot arm 10 being driven according to a program. Therefore, the velocity component V1 caused by vibration of the robot arm 10 can be obtained by subtracting the velocity component V2 caused 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).
[0076] The velocity component V2 caused by the robot arm 10 being driven according to a program may be calculated from the program, or may be found from the output values of the encoders E1, E2, E3, E4, E5 and E6 as described in the second embodiment, or as another method, the robot arm 10 may be imaged with a camera (not shown) to find the amount of movement (movement speed) of a specific part, and the velocity component V2 may be obtained from the amount of movement.
[0077] In this embodiment, the velocity component V2 caused by the robot arm 10 being driven according to a program is calculated from the program.
[0078] Here, noise is contained in a predetermined wavelength range in the waveform indicated by the first inertial signal S1 (signals S1u, S1v, S1w, S1x, S1y, and S1z) received from the inertial sensor 19. The wavelength range of this noise varies depending on the speed of the robot arm 10.
[0079] In the robot system 100, the adjustment unit 310 adjusts the cutoff values F1 and F2 according to the speed of the robot arm 10. That is, the adjustment unit 310 acquires speed information SV related to the speed of a predetermined part of the robot arm 10, and increases the cutoff value F1 as the speed of the robot arm 10 included in the speed information SV increases, and decreases the cutoff value F1 as the speed of the robot arm 10 decreases. This makes it possible to more reliably remove noise that varies according to the speed of the robot arm 10, and to prevent or suppress the removal of signals in wavelength ranges not mixed with noise, thereby enabling more appropriate noise removal. Therefore, it is possible to perform highly accurate vibration suppression control, and as a result, it is possible to effectively improve the positional accuracy of the work of the robot 1. That is, it is possible to drive the robot arm 10 more smoothly and appropriately.
[0080] Specifically, the storage unit 32 stores related information such as an arithmetic expression showing the relationship between the cutoff values F1, F2 and the speed of the robot arm 10, a calibration curve showing the relationship between the cutoff values F1, F2 and the speed of the robot arm 10, and a table showing the relationship between the cutoff values F1, F2 and the speed of the robot arm 10. The adjustment unit 310 then reads out the related information from the storage unit 32 and obtains preferable cutoff values F1, F2 according to the acquired speed. Next, the adjustment unit 310 transmits a signal CF12 to the filter unit 312 and the filter unit 315 to change the cutoff values F1, F2 of the filter units 312, 315 to preferable values, and the filter unit 312 changes the cutoff value F1, and the filter unit 315 changes the cutoff value F2. As a result, the filter unit 312 removes signals in a frequency range equal to or lower than the cutoff value F1, and the filter unit 315 removes signals in a frequency range equal to or lower than the cutoff value F2.
[0081] The velocity information SV of the robot arm 10 is information on the velocity of the part where the inertial sensor 19 is installed. However, without being limited thereto, the velocity information SV of the robot arm 10 may be, for example, the velocity (acceleration information or angular velocity information) of the part where the inertial sensor 19 is installed. Furthermore, the velocity information SV of the robot arm 10 may be information on a part other than the part where the inertial sensor 19 is installed, such as the velocity of the tool center point TCP, the acceleration of the tool center point TCP, or the angular velocity of the tool center point TCP.
[0082] Of the filters 312 and 315, the cutoff value F1 of the filter 312 and the cutoff value F2 of the filter 315 may be the same or different.
[0083] Furthermore, in this embodiment, the coordinate system conversion units 311, 314 convert the sensor coordinate system (first coordinate system) of the origin O1 into a base coordinate system (second coordinate system) of the origin O2 to generate the first inertial signal S2 from the first inertial signal S1, and then the filter units 312, 315 perform processing to remove signals in the frequency range below the cutoff values F1, F2.
[0084] The base coordinate system has a relatively small positional fluctuation of the origin itself compared to the sensor coordinate system. Therefore, by performing such coordinate system conversion, the first inertial signal S2 and the second inertial signal S3 obtained are more accurate. In addition, the noise generated when the first inertial signal S1 of the sensor coordinate system is converted into the first inertial signal S2 of the base coordinate system can be effectively removed by the filter units 312 and 315.
[0085] In the present invention, it is not necessary to perform coordinate system transformation from the sensor coordinate system to the base coordinate system or other coordinate system transformations.
[0086] As described above, the robot system 100 includes the coordinate system conversion units 311 and 314, which are an example of a first acquisition unit that acquires the first inertial signal S1 indicating the inertial force of the predetermined part, output from the inertial sensor 19 installed at a predetermined part of the robot arm 10 having the base end 10A and the tip end 10B, the adjustment unit 310, which is an example of a second acquisition unit that acquires speed information SV related to the speed of the robot arm 10, the filter units 312 and 315, which are an example of a processing unit that performs a process of removing frequency components equal to or lower than the frequency of the cutoff value F1 from the first inertial signal S1 acquired by the coordinate system conversion units 311 and 314 to generate the second inertial signal S3, and the drive control unit 318 that generates the drive signal S for the robot arm 10 based on the second inertial signal S3 and controls the operation of the robot arm 10 by the drive signal S. The filter units 312 and 315 adjust the cutoff values F1 and F2 based on the speed information SV acquired by the adjustment unit 310.
[0087] In this way, the robot system 100 adjusts the cutoff values F1, F2 in the filter units 312, 315, which are processing units, in accordance with the acquired speed information SV, enabling more appropriate noise removal. As a result, highly accurate vibration suppression control can be performed, and the positional accuracy of the work of the robot 1 can be effectively improved.
[0088] Next, the control operation performed by the control device 3 will be described with reference to the flowchart shown in FIG.
[0089] First, in step S101, the coordinate system conversion unit 311 acquires the first inertial signal S1 (signals S1u, S1v, and S1w) from the inertial sensor 19, and the coordinate system conversion unit 314 acquires the first inertial signal S1 (signals S1x, S1y, and S1z) from the inertial sensor 19. This step S101 is a step for acquiring the first inertial signal.
[0090] Furthermore, in step S102, the adjustment unit 310 acquires speed information SV relating to the speed of the robot arm 10 from the storage unit 32. This step S102 is a step for acquiring the speed information.
[0091] Step S101 and step S102 may be performed with a time overlap, or may be performed in random order without a time overlap.
[0092] Next, in step S103, the coordinate system conversion unit 311 converts the first inertia signal S1 (signals S1u, S1v, and S1w) into the base coordinate system to generate the first inertia signal S2 (signals S2u, S2v, and S2w). Also, the coordinate system conversion unit 314 converts the first inertia signal S1 (signals S1x, S1y, and S1z) into the base coordinate system to generate the first inertia signal S2 (signals S2x, S2y, and S2z). Such step S103 is a coordinate system conversion step.
[0093] Next, in step S104, the filter unit 312 performs a process to remove frequency components equal to or less than a cutoff value F1 included in the waveform of the angular velocity of the first inertia signal S2 (signals S2u, S2v, and S2w) to generate a second inertia signal S3 (signals S3u, S3v, and S3w). Also, the filter unit 315 performs a process to remove frequency components equal to or less than a cutoff value F2 included in the waveform of the acceleration of the first inertia signal S2 (signals S2x, S2y, and S2z) to generate a second inertia signal S3 (signals S3x, S3y, and S3z).
[0094] In this step, the adjustment unit 310 reads out the speed information SV from the storage unit 32, determines suitable cutoff values F1, F2 according to the speed included in the speed information SV, and transmits a signal CF12 for changing the cutoff values F1, F2 of the filter units 312, 315 to the filter units 312, 315. As a result, the cutoff values F1, F2 in the filter units 312, 315 are appropriately set, and the second inertia signal S3 from which noise has been appropriately removed can be generated.
[0095] In this step, the integrator 316 performs integration processing on each of the signals S3x, S3y, and S3z generated by the filter unit 315, and converts them into a signal indicating the velocity of a specified part of the robot arm 10, i.e., the part where the inertial sensor 19 is installed. Such step S104 is a processing step in which noise removal processing is performed.
[0096] Next, in step S105, a drive signal S is generated based on the second inertia signal S3. That is, the calculation unit 317 calculates the speed of a predetermined portion of the robot arm 10, i.e., the position where the inertial sensor 19 is installed, based on the signals S3u, S3v, S3w, S3x, S3y, and S3z. Then, the calculation unit 317 calculates the rotational speeds of the joints 171, 172, 173, 174, 175, and 176 from the speed of the position where the inertial sensor 19 is installed.
[0097] Next, the drive control unit 318 generates a drive signal S with correction so as to cancel these based on the rotation speeds of the joints 171, 172, 173, 174, 175, and 176 calculated by the calculation unit 317, and controls the operation of the robot arm 10 using this drive signal S. This allows the joints 171, 172, 173, 174, 175, and 176 to perform operations so as to cancel out the vibrations of the robot arm 10. Such step S105 is a drive control step.
[0098] As described above, the control method of the robot of the present invention includes a step of acquiring a first inertia signal S1 that is output from an inertia sensor 19 installed at a predetermined portion of the robot arm 10 having a base end portion 10A and a tip end portion 10B and indicates the inertial force of the predetermined portion, a step of acquiring speed information SV related to the speed of the robot arm 10, a processing step of performing a process of removing frequency components equal to or lower than a frequency of a cutoff value F1 from the first inertia signal S1 acquired in the step of acquiring the first inertia signal S1 to generate a second inertia signal S3, and a drive control step of generating a drive signal S for the robot arm 10 based on the second inertia signal S3 and controlling the operation of the robot arm 10 by the drive signal S. In the processing step, the cutoff values F1 and F2 are adjusted based on the speed information SV acquired in the step of acquiring the speed information SV. This allows for highly accurate vibration suppression control, and effectively improves the positional accuracy of the work of the robot 1.
[0099] Furthermore, in the processing step, the cutoff values F1, F2 are increased as the speed of the robot arm 10 included in the speed information SV increases, and the cutoff values F1, F2 are decreased as the speed of the robot arm 10 decreases. This allows more accurate vibration suppression control to be performed at all times, and effectively improves the positional accuracy of the work of the robot 1.
[0100] However, the present invention is not limited to this configuration, and the processing step may be configured to adjust the cutoff values F1 and F2 only when the speed of the robot arm 10 included in the speed information SV reaches a predetermined value.
[0101] In addition, the first inertia signal S1 is a signal indicating the inertial force in the sensor coordinate system, which is a first coordinate system having an origin O1, which is an arbitrary point set on the inertial sensor 19, and the robot control method has a coordinate system conversion step that is executed between the step of acquiring the speed information SV and the processing step, and converts the first inertia signal S1 into a base coordinate system, which is a second coordinate system having an origin O2, which is a second origin located closer to the base end 10A of the robot arm 10 than the origin O1.
[0102] This provides the following advantages. The positional fluctuation of the origin itself in the base coordinate system (second coordinate system) is relatively small compared to the sensor coordinate system (first coordinate system). Therefore, by performing such coordinate system conversion, the first inertia signal S2 and the second inertia signal S3 obtained are more accurate. In addition, noise that occurs when the first inertia signal S1 in the sensor coordinate system is converted into the first inertia signal S2 in the base coordinate system can be effectively removed.
[0103] However, the present invention is not limited to this configuration, and the processing steps may be performed while the first inertia signal S1 is in the sensor coordinate system without being converted into the base coordinate system, i.e., the coordinate system conversion units 311 and 314 may be omitted.
[0104] Moreover, the first inertia signal S1 includes at least one of, and in this embodiment, both of, an angular velocity signal (signals S1u, S1v, and S1w) indicating the angular velocity of a predetermined part of the robot arm 10 and an acceleration signal (signals S1x, S1y, and S1z) indicating the acceleration of a predetermined part of the robot arm 10. This allows for more accurate vibration suppression control.
[0105] The first inertia signal S1 may include only one of an angular velocity signal (signals S1u, S1v and S1w) indicating the angular velocity of the specified part of the robot arm 10 and an acceleration signal (signals S1x, S1y and S1z) indicating the acceleration of the specified part of the robot arm 10.
[0106] The first inertia signal S1 includes an acceleration signal (signals S1x, S1y, and S1z) indicating the acceleration of a predetermined part of the robot arm 10, and in the processing step, the signals S2x, S2y, and S2z are subjected to processing to remove frequency components equal to or lower than a frequency of a cutoff value F2, and then integral processing is performed to generate the second inertia signal including information on the speed of the predetermined part of the robot arm 10. As a result, highly accurate vibration suppression control can be performed using the first inertia signal S1 including a signal indicating acceleration, and the positional accuracy of the work of the robot 1 can be effectively improved.
[0107] <Second embodiment> FIG. 5 is a schematic configuration diagram for explaining each process performed by a control unit included in a robot system according to a second embodiment of the present invention.
[0108] Hereinafter, a second embodiment of a robot control method and a robot system of the present invention will be described with reference to FIG. 5. Hereinafter, the differences from the first embodiment will be mainly described, and explanations of similar points will be omitted.
[0109] As shown in FIG. 5, the control unit 31 includes a calculation unit 321, a coordinate system conversion unit 322, a filter unit 323, and a subtractor 324 in addition to the units described in the first embodiment.
[0110] The calculation unit 321 receives the output values of the encoders E1, E2, E3, E4, E5 and E6, i.e., the signals of the rotational speeds of the joints 171, 172, 173, 174, 175 and 176, and uses the Jacobian matrix to calculate the speed of a specific part of the robot arm 10, in this embodiment, the part where the inertial sensor 19 is installed.
[0111] The signal of the rotation speed of joint 171 is signal S51A, the signal of the rotation speed of joint 172 is signal S52A, the signal of the rotation speed of joint 173 is signal S53A, the signal of the rotation speed of joint 174 is signal S54A, the signal of the rotation speed of joint 175 is signal S55A, and the signal of the rotation speed of joint 176 is signal S56A. These signals S51A, S52A, S53A, S54A, S55A, and S56A are the speed signal S5. The following process is performed on the speed signal S5.
[0112] The speed of the part of the robot arm 10 where the inertial sensor 19 is installed, calculated by the calculation unit 321, is the speed around the x-axis, the speed around the y-axis, the speed around the z-axis, the speed in the x-axis direction, the speed in the y-axis direction, and the speed in the z-axis direction in the sensor coordinate system. The signal of the speed around the x-axis is signal S51B, the signal of the speed around the y-axis is signal S52B, the signal of the speed around the z-axis is signal S53B, the signal of the speed in the x-axis direction is signal S54B, the signal of the speed in the y-axis direction is signal S55B, and the signal of the speed in the z-axis direction is signal S56B.
[0113] The coordinate system conversion unit 322 converts the signals S51B, S52B, S53B, S54B, S55B, and S56B in the sensor coordinate system (first coordinate system) into the base coordinate system (second coordinate system) to generate signals S51C, S52C, S53C, S54C, S55C, and S56C. The calculation method is the same as that of the coordinate system conversion units 311 and 314 in the first embodiment.
[0114] Filter unit 323 is configured with an HPF and performs processing to remove frequency components equal to or lower than cutoff value F3 from signals S51C, S52C, S53C, S54C, S55C, and S56C, thereby generating signals S51D, S52D, S53D, S54D, S55D, and S56D.
[0115] The cutoff value F3 is not particularly limited, but is preferably set to a value similar to the cutoff value F2. That is, F3 can be set to, for example, 1 Hz or more and 100 Hz or less. This allows the subtractor 324 to perform calculations using values from which the same frequency components have been removed. This allows vibration suppression control to be performed with higher accuracy. The cutoff value F3 may be different from the cutoff value F2.
[0116] In this embodiment, the cutoff value F3 is a variable value, similar to the cutoff values F1 and F2, that is, the cutoff value F3 can be adjusted (increased or decreased) as appropriate.
[0117] The subtractor 324 receives signals S3u, S3v, and S3w from the filter unit 312, signals S3x, S3y, and S3z from the integrator 316, and signals S51D, S52D, S53D, S54D, S55D, and S56D from the filter unit 323.
[0118] The subtractor 324 performs calculations of (speed indicated by signal S3u-speed indicated by signal S51D), (speed indicated by signal S3v-speed indicated by signal S52D), (speed indicated by signal S3w-speed indicated by signal S53D), (speed indicated by signal S3x-speed indicated by signal S54D), (speed indicated by signal S3y-speed indicated by signal S55D), and (speed indicated by signal S3z-speed indicated by signal S56D).
[0119] The signals S3u, S3v, S3w, S3x, S3y and S3z contain a velocity component V1 caused by vibration of the robot arm 10 and a velocity component V2 caused by the robot arm 10 being driven according to a program. The signals S51D, S52D, S53D, S54D, S55D and S56D can be regarded as the velocity component V2 caused by the robot arm 10 being driven according to a program. Therefore, the subtractor 324 performs the above-mentioned calculation to determine the velocity component V1 caused by vibration of the robot arm 10.
[0120] The signal resulting from the calculation output from the subtractor 324 is input to the calculation unit 317, where it is subjected to the same processing as in the first embodiment and used for vibration suppression control.
[0121] In this embodiment, the velocity component V2 caused by the robot arm 10 being driven according to the program is calculated from the output values of the encoders E1, E2, E3, E4, E5, and E6. That is, the calculation result of the calculation unit 321, that is, velocity information SV including the velocity signal S5 (S51B, S52B, S53B, S54B, S55B, S56B) indicating the velocity of the part of the robot arm 10 where the inertial sensor 19 is installed, is input to the adjustment unit 310.
[0122] In the robot system 100, the adjustment unit 310 adjusts the cutoff value F3 in response to the speed signal S5 of the robot arm 10. That is, the adjustment unit 310 acquires speed information SV relating to the speed of a predetermined part of the robot arm 10, and increases the cutoff value F3 as the speed of the robot arm 10 included in the speed information SV increases, and decreases the cutoff value F3 as the speed of the robot arm decreases. Note that the same process is performed on the cutoff values F1 and F2.
[0123] This makes it possible to more reliably remove noise that varies according to the speed signal S5 of the robot arm 10, and also to prevent or suppress removal of signals in wavelength regions not containing noise, enabling more appropriate noise removal. Therefore, highly accurate vibration suppression control can be performed, and as a result, the positional accuracy of the work of the robot 1 can be effectively improved. In other words, the robot arm 10 can be driven more smoothly and appropriately.
[0124] In particular, in this embodiment, the speed signal S5 input to the adjustment unit 310 and the speed component V2 resulting from the robot arm 10 being driven according to the program are calculated based on the output values of the encoders E1, E2, E3, E4, E5, and E6, so that accurate speed information SV can be obtained in real time, contributing to highly accurate vibration suppression control. Also, the series of controls can be simplified.
[0125] As described above, in the robot control method of the present invention, the speed information SV is obtained from the speed signal S5, which is the output value of the encoders E1, E2, E3, E4, E5 and E6 installed at the joints 171, 172, 173, 174, 175 and 176 of the robot arm 10. This makes it possible to obtain accurate speed information SV in real time, which contributes to highly accurate vibration suppression control. In addition, the series of controls can be simplified.
[0126] Next, a method for controlling a robot according to this embodiment will be described, but only the differences from the first embodiment will be described with reference to the flowchart shown in FIG.
[0127] Step S101 is similar to step S101 in the first embodiment. In step S102, the calculation unit 321 calculates the speed of the part where the inertial sensor 19 is installed based on the output values (speed signals S5) of the encoders E1, E2, E3, E4, E5, and E6, and acquires the speed information SV. As a result, signals S51B, S52B, S53B, S54B, S55B, and S56B are generated from the signals S51A, S52A, S53A, S54A, S55A, and S56A. Then, the adjustment unit 310 acquires the signals S51B, S52B, S53B, S54B, S55B, and S56B.
[0128] In step S103, in addition to the processing described in the first embodiment, i.e., generating the first inertia signal S2 by coordinate system transformation, the coordinate system transformation unit 322 transforms the signals S51B, S52B, S53B, S54B, S55B and S56B in the sensor coordinate system (first coordinate system) into the base coordinate system (second coordinate system) to generate signals S51C, S52C, S53C, S54C, S55C and S56C.
[0129] In step S104, in addition to the process described in the first embodiment, i.e., the noise removal process by the filter units 312 and 315, the adjustment unit 310 determines a preferable cutoff value F3 in the filter unit 323 according to the speed component V2 included in the speed information SV, and transmits a signal CF3 to the filter unit 323 to change the cutoff value F3 to a preferable value. This allows the cutoff value F3 in the filter unit 323 to be appropriately set, and a speed signal S5 from which noise has been appropriately removed can be obtained.
[0130] Step S105 is similar to step S105 in the first embodiment. As described above, in this embodiment, the cutoff value F3 is a variable value and can be adjusted (increased or decreased) as appropriate, but is not limited to this and the cutoff value F3 may be a fixed, predetermined value (fixed value).
[0131] In the first and second embodiments, either the cutoff value F1 of the filter section 312 or the cutoff value F2 of the filter section 315 may be a fixed value.
[0132] In step S105, subtractor 324 calculates (speed indicated by signal S3u-speed indicated by signal S51D), (speed indicated by signal S3v-speed indicated by signal S52D), (speed indicated by signal S3w-speed indicated by signal S53D), (speed indicated by signal S3x-speed indicated by signal S54D), (speed indicated by signal S3y-speed indicated by signal S55D), and (speed indicated by signal S3z-speed indicated by signal S56D).
[0133] These calculation results are input to the calculation unit 317, which performs the same processing as in the first embodiment to generate a drive signal S for the robot arm 10 and controls the operation of the robot arm 10 based on the drive signal S. This makes it possible to perform highly accurate vibration suppression control even when the robot arm 10 is driven, and effectively improves the positional accuracy of the work of the robot 1.
[0134] Although the robot control method and the robot system of the present invention have been described in the illustrated embodiments, the present invention is not limited to these. Each part of the robot system can be replaced with any structure that can perform the same function. Any structure may be added to the robot system. The configuration of the first embodiment may be arbitrarily combined with the configuration of the second embodiment.
[0135] Furthermore, the robot control method of the present invention may be obtained by adding any process for any purpose to each of the above-described embodiments. [Explanation of symbols]
[0136] Reference Signs List 1...robot, 3...control device, 10...robot arm, 10A...base end, 10B...tip end, 11...base, 12...first arm, 13...second arm, 14...third arm, 15...fourth arm, 16...fifth arm, 17...sixth arm, 19...inertial sensor, 20...end effector, 31...control unit, 32...storage unit, 33...communication unit, 100...robot system, 171...joint, 172...joint, 173...joint, 174...joint, 175...joint, 176...joint, 310...adjustment unit, 311...coordinate system conversion unit, 312...filter CF12: signal, CF3: signal, 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, M2...motor, M3...motor, M4...motor, M5...motor, M6...motor, S...drive signal, S1...first inertia signal, S1u...signal, S1v...signal, S1w...signal, S1x...signal, S1y...signal, S1z...signal, S2...first 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, S3 z... signal, S5... speed signal, SV... speed information, 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, TCP... tool centre point
Claims
1. acquiring a first inertial signal output from an inertial sensor installed at a predetermined portion of a robot arm having a base end and a tip end, the first inertial signal indicating an inertial force of the predetermined portion; obtaining velocity information relating to a velocity of the robot arm; a processing step of performing a process of removing frequency components equal to or lower than a cutoff value frequency from the first inertial signal acquired in the step of acquiring the first inertial signal to generate a second inertial signal; a drive control step of generating a drive signal for the robot arm based on the second inertia signal and controlling an operation of the robot arm by the drive signal, A method for controlling a robot, wherein in the processing step, the cutoff value is adjusted based on the speed information acquired in the speed information acquiring step.
2. 2. The robot control method according to claim 1, wherein in the processing step, the cutoff value is increased as the speed of the robot arm included in the speed information increases, and the cutoff value is decreased as the speed of the robot arm decreases.
3. 3. The method for controlling a robot according to claim 1, wherein the velocity information is obtained from an output value of an encoder installed at a joint of the robot arm.
4. the first inertial signal is a signal indicating an inertial force in a first coordinate system having a first origin that is an arbitrary point set in the inertial sensor, 3. The robot control method according to claim 1, further comprising a coordinate system conversion step, executed between the step of acquiring the velocity information and the processing step, of converting the first inertia signal into a second coordinate system having a second origin located closer to the base end of the robot arm than the first origin.
5. 3. The robot control method according to claim 1, wherein the first inertia signal includes at least one of an angular velocity signal indicating an angular velocity of the specified part of the robot arm and an acceleration signal indicating an acceleration of the specified part of the robot arm.
6. the first inertial signal includes an acceleration signal indicating an acceleration of the predetermined portion of the robot arm, 6. A robot control method according to claim 5, wherein in the processing step, the acceleration signal is subjected to a process of removing frequency components equal to or lower than a frequency of the cutoff value, and then an integration process is performed to generate the second inertia signal including information on the velocity of the specified part of the robot arm.
7. a first acquisition unit that acquires a first inertial signal that is output from an inertial sensor installed at a predetermined portion of a robot arm having a base end and a tip end, the first inertial signal indicating an inertial force of the predetermined portion; A second acquisition unit that acquires speed information related to a speed of the robot arm; a processing unit that performs a process of removing frequency components equal to or lower than a cutoff value frequency from the first inertial signal acquired by the first acquisition unit to generate a second inertial signal; a drive control unit that generates a drive signal for the robot arm based on the second inertia signal and controls an operation of the robot arm by the drive signal, The robot system according to claim 1, wherein the processing unit adjusts the cutoff value based on the speed information acquired by the second acquisition unit.
Citation Information
Patent Citations
Vibration control method of robot and control device of robot
JP2011136395A