Robot control device and control method
Patent Information
- Application Number
- JP2021083751
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-05-18
- Publication Date
- 2025-03-06
- Estimated Expiration
- 2041-05-18
AI Technical Summary
【0016】 本発明のロボットの制御装置及び制御方法によれば、ロボットの各回転軸を、回転軸ごとに指令角度及び回転方向の関数としてモデル化された回転角度の誤差情報を用いて補正した指令角度又は指令位置を用いて、ロボットの各回転軸を動作させるので、簡易な処理で精度よくロボットの手先を位置決めすることが可能である。
Smart Images

Figure 0007641000000005 
Figure 0007641000000006 
Figure 0007641000000007
Abstract
Description
[Technical field]
[0001] The present invention relates to a control device and a control method for a robot, and more particularly to a control device and a control method for correcting a positioning error of a robot performing a turning operation. [Background technology]
[0002] Robots such as vertical articulated robots and horizontal articulated robots that are mainly used for industrial purposes have various error factors. For example, in a robot that has a rotating shaft (rotary joint) and performs a turning motion, error factors such as an error in the rotation angle of the motor, backlash in gears and belts, and elastic deformation of the robot links cause a positioning error when the tip of the robot (hereinafter also referred to as the hand) is positioned to a command position.
[0003] As a method for estimating these error factors and correcting the robot's position, a robot control method has been developed in which the position of the robot during operation is measured and the difference between the measured robot position and the command position is corrected (for example, Patent Document 1). [Prior art documents] [Patent documents]
[0004] [Patent Document 1] JP 2019-38040 A Summary of the Invention [Problem to be solved by the invention]
[0005] The control method of Patent Document 1 uses a light source and an imaging device to measure the position of a robot in operation, and generates a position correction amount based on the difference between the measured robot position and a command position.
[0006] However, the control method of Patent Document 1 requires the robot's position to be continuously photographed during operation, which makes it difficult to use depending on the robot's purpose. Also, a device for photographing is required, which complicates the device. Furthermore, the photographed image is processed to generate a position correction amount, and the robot's position is corrected based on the generated position correction amount, which complicates the control.
[0007] The present invention has been made in consideration of the above circumstances, and has an object to provide a robot control device and control method that can position a robot at a command position with high accuracy using a simple configuration. [Means for solving the problem]
[0009] In order to achieve the above object, a robot control device according to a first aspect of the present invention comprises: 2 or more a control unit that rotates and drives the rotation axis of the robot to move the hand of the robot to a command position; a storage unit configured to store error information of a rotation angle modeled as a function of a command angle and a rotation direction for each of the rotation axes, The control unit calculates the command angle and the rotation direction for each of the rotation axes from the command position and the error information. Predicting a three-dimensional position of the hand by forward kinematics; correcting the command position based on a difference between the predicted three-dimensional position of the hand and the command position; The rotation shafts are rotationally driven based on command angles for the respective rotation shafts derived from the corrected command positions by inverse kinematics.
[0010] Moreover, the error information is a look-up table that represents a difference between an actual angle of the rotation shaft corresponding to the command angle and a rotation direction and the command angle; This may also be the case.
[0011] Moreover, the storage unit The rotation axis Episode Tilt movement error due to the tilt of the central axis caused by rotation The difference Remember, The control unit 、 before Inclined movement error Differencebased on ,before Correct the command position. This may also be the case.
[0012] The first aspect of this invention 2 The robot control device according to the above aspect comprises: A control unit that rotates two or more rotation axes to move a hand of the robot to a command position; a storage unit configured to store, for each of the rotation axes, a command angle, a rotation direction, and error information of the rotation angle modeled as a function of the rotation angles of the other rotation axes; The control unit receives the command angle and rotation direction for each of the rotation axes derived from the command position, the error information, and A three-dimensional position of the hand is predicted by forward kinematics from the correcting the command position based on a difference between the predicted three-dimensional position of the hand and the command position; The rotation shafts are rotationally driven based on command angles for the respective rotation shafts derived from the corrected command positions by inverse kinematics.
[0014] The first aspect of this invention 3 In the robot control method according to the aspect of the present invention, 2 or more The rotation axis is driven to rotate and the hand of the robot is moved from a command position to which the rotation axis is driven, and from command angle and rotation direction for each of the rotation axes, and from error information of the rotation angle modeled as a function of the command angle and rotation direction for each of the rotation axes. Predicting a three-dimensional position of the hand by forward kinematics; correcting the command position based on a difference between the predicted three-dimensional position of the hand and the command position; The rotation shafts are rotationally driven based on command angles for the respective rotation shafts derived from the corrected command positions by inverse kinematics.
[0015] Moreover, the error information is a look-up table that represents a difference between an actual angle of the rotation shaft corresponding to the command angle and a rotation direction and the command angle; This may also be the case. Effect of the Invention
[0016] According to the robot control device and control method of the present invention, each rotational axis of the robot is operated using a command angle or command position that is corrected using rotational angle error information modeled as a function of the command angle and rotation direction for each rotational axis, so that the robot's hand can be positioned accurately using simple processing. [Brief description of the drawings]
[0017] [Figure 1] FIG. 1 is a diagram showing a robot according to a first embodiment of the present invention. [Diagram 2] FIG. 2 is a functional block diagram showing a configuration of a control unit according to the first embodiment. [Diagram 3] 4 is a flowchart showing a flow of operational control according to the first embodiment. [Figure 4] 11 is a graph showing an example of error information. [Diagram 5] 10 is a flowchart showing a flow of operational control according to the second embodiment. [Figure 6] This is an example of DH parameters. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0018] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, a robot control device and a control method according to an embodiment of the present invention will be described with reference to the drawings.
[0019] (Embodiment 1) In this embodiment, as shown in FIG. 1, a case where the position of a hand 10a of a robot 10, which is a vertical articulated six-axis robot, is controlled will be described as an example.
[0020] The robot 10 has six rotation axes A i (i=1 to 6). Each rotation axis A i From the base side of the robot 10, the rotation axes are designated as A1, A2, . . . , and the rotation axis closest to the tip end is designated as A6.
[0021] The robot 10 is connected to a control unit 20. The control unit 20 includes a control unit 21, a storage unit 22, a display unit 23, and an input unit 24, as shown in the block diagram of FIG.
[0022] The control unit 21 is composed of a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM (Random Access Memory), a crystal oscillator, etc., and controls the operation of the robot 10. More specifically, the control unit 21 receives an input command position (target position) of the hand 10a. r p * Based on the above, each rotation axis A i Command angle θ i * And derive the direction of rotation to determine the axis of rotation A. i The control unit 21 reads various operation programs and data stored in the ROM of the control unit 21, the storage unit 22, etc. into the RAM and operates the CPU, thereby realizing each function of the control unit 21 shown in Fig. 2. In this way, the control unit 21 operates as a calculation unit 211 and an operation control unit 212.
[0023] The calculation unit 211 calculates the command position of the hand 10a input from the input unit 24. r p * Based on the above, each rotation axis A i Command angle θ i * The calculation unit 211 also derives the command angle θ i * Based on the rotation direction and the error information EI stored in the memory unit 22, each rotation axis A i Command angle θ i * Correct the following.
[0024] The operation control unit 212 calculates the command angle θ i * Based on the above, each rotation axis A i The hand 10a of the robot 10 is rotated to a command position. r p * Move to.
[0025] The memory unit 22 is a non-volatile memory such as a hard disk or a flash memory, and stores a command position of the hand 10a. r p * From each rotation axis A i Command angle θ i * And a program to derive the rotation direction, each rotation axis A i Command angle θ i * The error information EI representing the angular positioning error corresponding to the rotation axis A and the rotation direction is stored. i For each command angle θ i * and the error information of the rotation angle modeled as a function of the rotation direction. Specifically, the command angle θ i * and a relational expression, look-up table, etc., that expresses the relationship between the direction of rotation (input) and the angular positioning error (output).
[0026] The display unit 23 is a display device such as a liquid crystal panel or an organic EL (Electroluminescence) panel, and displays a command position. r p * , each rotation axis A i Command angle θ i * , the command angle θ calculated by the calculation unit 211 i * The display unit 23 according to the present embodiment is a liquid crystal panel mounted on the control unit 20.
[0027] The input unit 24 is a command position of the hand 10a. r p * , and is an input device for inputting various setting parameters and the like related to the operation control of the robot 10. The input unit 24 is a touch panel, a mouse, or the like, and the input unit 24 in this embodiment is a touch panel arranged on the display unit 23, which is a liquid crystal panel.
[0028] Next, a method for controlling the robot according to this embodiment will be specifically described with reference to the flow chart of FIG.
[0029] When the motion control (hand positioning process) of the robot 10 is started, the command position of the hand 10a of the robot 10 is r p * is set (step S11). r p * may be input by an operator through the input unit 24, or may be stored in advance in the storage unit 22. r p * ∈R 3 is represented as a three-dimensional vector consisting of X, Y, and Z coordinates.
[0030] In step S12, the calculation unit 211 calculates a command position of the hand 10a. r p * From the above, the command angle θ1 of the rotation axes A1 to A6 * ~θ6 * (inverse kinematics calculation). The calculation unit 211 also determines the rotation direction of the rotation axes A1 to A6. The rotation direction is determined, for example, by calculating the current angle of each of the rotation axes A1 to A6 and the command angle θ i * It is determined by the difference between
[0031] The calculation unit 211 refers to the error information EI stored in advance in the storage unit 22, and calculates the command angle θ i * and the angular positioning error corresponding to the rotation direction for each rotation axis A i Here, the angular positioning error is estimated based on the command angle θ i * and rotation axis A i The actual rotation angle θ i and the command angle θ i * and as a function of the direction of rotation.
number
[0032] The error information EI according to this embodiment is i For each command angle θ i * and the actual rotation angle θ corresponding to the rotation direction i and command angle θ i * The data in the lookup table is stored in the storage unit 22 as a lookup table showing the difference (angular positioning error) between the command angle θ i * Even if the rotation axis A is the same, i Due to the influence of backlash and the like associated with the rotational drive of the rotation axis A, the angular positioning error exhibits different values depending on the direction of rotation. i For each command angle θ i * The angular positioning error, which is the error of the rotation angle modeled as a function of the rotation direction, is used as the error information EI. i The angular positioning error can be estimated.
[0033] The error information EI is generated, for example, based on a value actually measured in advance and stored in the storage unit 22. The method of actually measuring the error is not particularly limited. i Specifically, the error can be measured for each of the other rotation axes A and B. i With (i ≠ k) fixed, one rotation axis A k The rotation axis A is determined by measuring the three-dimensional position of the hand 10a using a laser tracker. k The actual rotation angle θ k and command angle θ k * A method for measuring the difference between the
[0034] For example, the error information EI is the angular positioning error shown in FIG. 4, and the command angle θ i * is 30 degrees, the direction of rotation is negative, that is, the rotation axis A1 rotates in the negative direction to the command angle θ i *When the command angle θ is calculated, the calculation unit 211 refers to a lookup table and calculates the command angle θ i * = 30 degrees, and the angular positioning error corresponding to the negative rotation is 7 × 10 -3 It is estimated to be 30 degrees.
[0035] In the above example of the lookup table, the memory unit 22 stores data of the angular positioning error for each degree of rotation angle as the error information EI, but the angular interval is not particularly limited and may be set arbitrarily depending on the characteristics of the machine (robot) to be controlled. i * is within the angle interval stored as the look-up table, the calculation unit 211 calculates the command angle θ i * The angular positioning error may be estimated by interpolating the positive angle and the negative angle closest to the angle using some function, such as linear interpolation, spline interpolation, or the like.
[0036] Next, the calculation unit 211 calculates the estimated angular positioning error Δθ i * Based on this, the command angle θ i * Correct (θ i * →θ i * -Δθ i * ) (step S14). The operation control unit 212 also calculates the command angle θ i * And each rotation axis A i is rotated, and the hand 10a is moved to the command position. r p * (step S15).
[0037] As described above, in the robot control device and control method according to the present embodiment, the rotation axis A i For each command angle θ i * and the modeled angular positioning error Δθ as a function of the direction of rotation i *Using the command angle θ i * Then, each rotation axis A of the robot 10 is corrected. i is the corrected command angle θ i * Therefore, each rotation axis A is precisely i Therefore, the hand 10a can be more accurately positioned to the command position. r p * It is possible to move it to
[0038] Moreover, the error information EI indicating the angular positioning error according to this embodiment is stored in advance in the storage unit 22, and the control unit 21 refers to the error information EI to calculate the angular positioning error Δθ i * and the command angle θ i * Therefore, the positioning of the hand 10a can be performed with high accuracy by simple processing.
[0039] Furthermore, in this embodiment, the positioning of the hand 10a is performed using a predetermined angular positioning error, so there is no need to constantly measure the position of the hand using a special device such as an imaging device, and the hand 10a can be accurately positioned to the command position over the entire movable area of the robot with a simple configuration.
[0040] In this embodiment, a lookup table is used as the error information EI, but this is not limited to this. i For each command angle θ i * Any error information of the rotation angle modeled as a function of the rotation direction may be used. For example, the command angle θ i * and the angular positioning error Δθ from the rotation direction i * It may be a formula for calculating
[0041] Moreover, the error information EI according to this embodiment is i * and the actual rotation angle θ iHowever, the present invention is not limited to this. For example, the error information EI may be the difference between the actual rotation angle θ i In this case, the calculation unit 211 may calculate the command angle θ i * and the actual rotation angle θ i Based on this, the angular positioning error Δθ i * and the command angle θ i * can be corrected.
[0042] (Embodiment 2) In the above-described first embodiment, the estimated angular positioning error Δθ i * Based on the above, each rotation axis A i Command angle θ i * However, the estimated rotation axis A i Angular positioning error Δθ i * Based on this, the command position of the end effector 10a is r p * In this embodiment, the command position of the end effector 10a can be corrected. r p * A robot control device and a control method for correcting the above will be described.
[0043] The configuration of the robot 10 according to this embodiment is similar to that of the robot 10 according to the first embodiment, so the same reference numerals are used and detailed description is omitted.
[0044] Hereinafter, a method for controlling a robot using position correction according to this embodiment will be specifically described with reference to the flow chart of FIG.
[0045] As shown in the flowchart of Fig. 5, steps S21 to S23 according to this embodiment are similar to steps S11 to S13 in the flowchart of Fig. 3 according to embodiment 1. That is, when the operation of the robot 10 is started, a command position which is a target position of the hand 10a of the robot 10 is r p *is set (step S21). Then, the calculation unit 211 calculates the command position r p * From the above, the command angle θ1 of the rotation axes A1 to A6 * ~θ6 * and determines the rotation directions of the rotation axes A1 to A6 (step S22).
[0046] The calculation unit 211 refers to the error information EI stored in advance in the storage unit 22, and calculates the command angle θ i * and the angular positioning error Δθ corresponding to the direction of rotation i * Each rotation axis A i (Step S23). The error information EI is, for example, a lookup table similar to that in the first embodiment.
[0047] Next, the calculation unit 211 calculates the estimated angular positioning error Δθ i * Based on the above, the three-dimensional position of the hand 10a of the robot 10 is predicted (step S24). i The angular positioning error of Δθ i * Then, each rotation axis A i The command angle θ i * When rotating each axis A i The actual rotation angle θ i θ i =θ i * +Δθ i * The estimated rotation angle θ i The three-dimensional position of the hand 10a is calculated using r p * ∈R 3 is predicted as follows:
number
[0048] Also, r T6 is a 4×4 matrix (homogeneous transformation matrix) that transforms the coordinate system of the hand 10a into the reference coordinate system, and is a forward kinematic function that is determined by the axis configuration of the robot. For example, in the case of the axis configuration of the robot 10 according to the embodiment shown in FIG. 1, it is given by the following formula.
number
[0049] Here, L * is the link length. Also, D * (*) is a homogeneous transformation matrix that represents a translation or rotation, and is defined by the following formula.
number
[0050] Next, the calculation unit 211 calculates the predicted position of the hand 10a derived in step S24. r p and command position r p * Difference (3D position error) Δp = r p- r p * Calculate the command position r p * Correction ( r p * → r p * -Δp) (step S25). Furthermore, the operation control section 212 calculates the command position corrected in step S25. r p * Based on the above, each rotation axis A i Corrected command angle θ i *(Step S26). i * As a method for deriving can be used the same method (inverse kinematics) as in step S22.
[0051] The operation control unit 212 calculates the command angle θ i * Based on the above, each rotation axis A i is rotated, and the hand 10a is moved to the command position. r p * (step S27).
[0052] As described above, in the robot control device and control method according to the present embodiment, the rotation axis A i For each command angle θ i * and the modeled angular positioning error Δθ as a function of the direction of rotation i * The command position of the end effector 10a is r p * Correct each rotation axis A i Command angle θ i * Therefore, the command position of the end effector 10a is r p * Since the correction is performed, the operator can easily understand the correction contents and the hand 10a can be accurately moved to the command position. r p * can be moved to.
[0053] In each of the above embodiments, the control unit 21 controls each rotation axis A of the robot 10. i Angular positioning error Δθ i * and calculate the command angle θ i * Or the command position of the hand 10a r p * However, the present invention is not limited to this. For example, the rotation axis A of the robot 10 is corrected. i The axial motion error is the motion error in the axial direction of each rotation axis A iRadial motion error due to runout in the radial direction of rotation of each rotating axis A i In this case, the error information EI in the look-up table or the like includes the axial motion error, the radial motion error, the tilt motion error, etc., and the control unit 21 refers to the error information EI to correct the rotation axis A so as to cancel out these errors. i Command angle θ for each i * Or the command position of the hand 10a r p * Then, the robot 10 can be controlled by correcting the above.
[0054] In the above embodiments, each rotation axis A of the robot 10 i Angular positioning error Δθ i * However, this is not limited to the above. For example, depending on the rotation angle of each rotation axis, i The effect of gravity on the rotation axis A changes due to elastic deformation of the power transmission mechanism. i Angular positioning error Δθ i * Such an angular positioning error Δθ i * In order to compensate for the effect of the conversion, the error information EI is added to the lookup table, which contains the error information for the other rotation axis A. i This allows the relationship between the rotation angle of the other rotation axis A i The angular positioning error Δθ caused by the rotation angle of i * Since the fluctuations in the position can be corrected, the position of the robot 10 can be controlled with higher accuracy.
[0055] In each of the above embodiments, the robot 10 has a plurality of rotation axes A i However, the present invention is not limited to this, and only one rotation axis A1 may be provided. In the robot control device and control method according to the present invention, the rotation axis A1 is determined based on error information EI stored in advance in the storage unit 22. iCommand angle θ i * Since the above correction is performed, even when only the rotation axis A1 is provided, highly accurate positioning can be performed without complicating the control device. [Industrial Applicability]
[0056] The present invention is suitable for use in position control of industrial robots equipped with a rotary shaft, and is particularly suitable for use in position control of articulated robots that require high positioning accuracy. [Explanation of symbols]
[0057] 10 robot, 10a hand, 20 control unit, 21 control section, 211 calculation section, 212 motion control section, 22 memory section, 23 display section, 24 input section
Claims
1. A control unit that rotates two or more rotation axes to move a robot hand to a command position; a storage unit configured to store error information of a rotation angle modeled as a function of a command angle and a rotation direction for each of the rotation axes, the control unit predicts a three-dimensional position of the hand by forward kinematics from the command angle and rotation direction for each of the rotation axes derived from the command position and the error information; correcting the command position based on a difference between the predicted three-dimensional position of the hand and the command position; driving the rotation shaft to rotate based on a command angle for each of the rotation shafts derived from the corrected command position by inverse kinematics; Robot control device.
2. The error information is a look-up table that represents a difference between an actual angle of the rotation shaft corresponding to the command angle and a rotation direction and the command angle; The robot control device according to claim 1 .
3. The storage unit is storing a tilt motion error due to the tilt of the central axis accompanying the rotation of the rotation axis; The control unit is correcting the command position based on the tilt motion error; The control device for a robot according to claim 1 or 2.
4. a control unit that rotates two or more rotation axes to move a hand of the robot to a command position; a storage unit configured to store, for each of the rotation axes, a command angle, a rotation direction, and error information of the rotation angle modeled as a function of the rotation angles of the other rotation axes; the control unit predicts a three-dimensional position of the hand by forward kinematics from the command angle and rotation direction for each of the rotation axes derived from the command position and the error information; correcting the command position based on a difference between the predicted three-dimensional position of the hand and the command position; driving the rotation shaft to rotate based on a command angle for each of the rotation shafts derived from the corrected command position by inverse kinematics; Robot control device.
5. A method for predicting the three-dimensional position of a robot's hand by forward kinematics from command angles and rotation directions for each of two or more rotation axes derived from a command position for rotating and driving two or more rotation axes to move the hand, and error information of the rotation angles modeled as a function of the command angles and rotation directions for each of the rotation axes; correcting the command position based on a difference between the predicted three-dimensional position of the hand and the command position; driving the rotation shaft to rotate based on a command angle for each of the rotation shafts derived from the corrected command position by inverse kinematics; How to control a robot.
6. The error information is a look-up table that represents a difference between an actual angle of the rotation shaft corresponding to the command angle and a rotation direction and the command angle; A method for controlling a robot according to claim 5.
Citation Information
Patent Citations
Compensating method of absolute positioning error of robot
JP1986090205A
Positioning error correction method on machine tool and device thereof
JP1996118204A
Trajectory control device of articulated link mechanism
JP2008036733A
Numerical control device capable of error correction in light of moving directions of axes
JP2017021554A
Robot system
JP2019038040A