Method for controlling or regulating motor torque and robot control or regulating device
By controlling motor torques using sensor feedback and calculation methods, the method stabilizes articulated robot operation near singular points, addressing the issue of excessive torque in direct teaching.
Patent Information
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- YAMAHA MOTOR CO LTD
- Filing Date
- 2023-09-05
- Publication Date
- 2026-05-21
AI Technical Summary
Existing direct teaching methods for articulated robots result in excessively large torques near singular points, leading to instability in the control system.
A method for controlling motor torque during direct teaching involves obtaining joint angles and velocities from sensors, calculating deviations, and using formulas to control motor torques based on these values, thereby stabilizing the robot's operation near singular points.
Prevents the output of excessively large torques near singular points, ensuring stable Cartesian direct gauging by regulating motor torques through sensor feedback and calculation.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Title of invention: Method for controlling or regulating motor torque and robot control or regulation device. Field of engineering:
[0001] The technology described here relates to the direct teaching of an articulated robot. TECHNICAL BACKGROUND
[0002] Direct teaching is an example of the teaching methods of an articulated robot. In direct teaching, an operator performs the teaching by moving the robot with their hand.
[0003] Direct teaching encompasses two types of teaching methods: direct joint teaching and Cartesian direct teaching. In direct joint teaching, a robot is taught movements by freely moving the joints.
[0004] In Cartesian direct teaching, movements are taught to an articulated robot, where one or more of x, y, z, roll, pitch, yaw are free in a space with orthogonal coordinates and others are fixed.
[0005] For example, the robot arm is configured to move only in the (x, y, z) position, while the angle (roll, pitch, yaw) of one of the robot arm's handtips is fixed. With Cartesian direct gauging, the direction of movement in orthogonal space can be predetermined. Therefore, Cartesian direct gauging is easily applicable to placement movements, such as changing only the position without altering the workpiece's pose. However, excessive command calculations must be performed at a singular point on the articulated robot, leading to instability in the control system.
[0006] Direct teaching can be performed by controlling or regulating torques based on input positions, and by controlling or regulating positions and speed by detecting force.
[0007] The technology relating to the technical background is disclosed in patent documents 1 and 2. State of the Art Document Patent document Patent document 1: Unexamined Japanese patent application, publication no. 2021-62436 Patent document 2: Unexamined Japanese patent application, Publication No. 2005-88114 BRIEF DESCRIPTION OF THE INVENTION Problem to be solved by the invention
[0008] One object of the invention is to prevent the output of an excessively large torque near a singular point during direct teaching of an articulated robot arm. Means to solve the problem
[0009] A method for controlling or regulating motor torque during direct teaching of an articulated robot includes
[0010] Obtaining joint angles and joint angular velocities of joints of the articulated robot from sensors when a handtip of the robot arm moves into a target teaching position during direct teaching; calculating a deviation of a handtip variable of the robot arm and a velocity deviation of the handtip variable based on the joint angles and joint angular velocities of the joints obtained from the sensors; calculating control target values of joint torques of the joints from a formula (A) based on the deviation of the handtip variable of the robot arm, the velocity deviation of the handtip variable and the joint angles of the robot arm; and controlling motor torques of motors contained in the joints to the control target values of the joint torques that are calculated.
[0011] Robot control device for controlling or regulating an articulated robot which includes joints and motors mounted in the joints, wherein the robot control device includes sensors which are mounted on the joints of the articulated robot and a controller.
[0012] The sensors obtain joint angles and joint angular velocities of the joints of the articulated robot when, during direct teaching, a hand tip of the robot arm moves into a target teaching position, and the controller is configured to calculate a deviation of a hand tip variable of the robot arm and a velocity deviation of the hand tip variable based on the joint angles and joint angular velocities of the joints obtained from the sensors, to calculate control target values of joint torques of the joints from a formula (A) based on the deviation of the hand tip variable of the robot arm, the velocity deviation of the hand tip variable and the joint angles of the robot arm, and to control motor torques of the motors mounted in the joints to the control target values of the joint torques that are calculated. [Formula 1] τ=g(q)+C(q)+J(q)T(Kdx˜+Ddx˜˙) τ represents the joint torque, q represents the joint angle x̃ represents the deviation of the robot arm's handtip variable x˜˙ g(q) represents the velocity deviation of the robot arm's handtip variable, g(q) represents the gravitational torque, and C(q) represents the Coriolis torque. J(q) T represents the transposed matrix of the Jacobian matrix, K d represents the stiffness matrix, D d represents the viscosity matrix
[0013] The handtip variable of the robot arm is the position and angle of the handtip. The deviation of the handtip variable is the positional deviation and the angular deviation of the handtip. The velocity deviation of the handtip variable is the velocity deviation and the angular velocity deviation of the handtip. Effects of the invention
[0014] According to the technology described here, the output of an excessively large torque near a specific point during direct teaching of an articulated robot arm is prevented. BRIEF DESCRIPTION OF THE DRAWINGS [ Fig. 1] a perspective view of a robot [ Fig. 2] a block diagram illustrating an electrical configuration of a robot control device [ Fig. 3] a block diagram illustrating an electrical configuration of the robot control device [ Fig. 4] a simple model of a robot arm [ Fig. 5] a flowchart of an engine torque control system OPERATING MODES FOR REALIZING THE INVENTION<Erste Ausführungsform> 1. Configuration of the articulated robot arm
[0015] Fig.Figure 1 is a perspective view of an articulated robot 10. The articulated robot 10 includes a base 11 and a robot arm 12. The robot arm 12 includes arms 13-17 and joints 21A-21E, which connect the arms 13-17.
[0016] This embodiment relates to a six-axis robot comprising six joints. The six joints include a first joint 21A, a second joint 21B, a third joint 21C, a fourth joint 21D, a fifth joint 21E, and a sixth joint 21F from the side of the base 11.
[0017] The fourth joint 21D corresponds to an elbow joint, and the fifth joint 21E and the sixth joint 21F correspond to joints of an arm at a wrist. A load attachment section is mounted on a hand tip 12A of the robot arm 12, and a load 50 can be attached to the load attachment section.
[0018] As in Fig.Figure 2 illustrates that joints 21A-21F each contain motors 23A-23F and a joint angle (an angle of the arm) can be adjusted by driving the motor.
[0019] As in Fig. Figure 3 illustrates a robot control device 30 comprising a first sensor 31A to sixth sensor 31F and a controller 32.
[0020] As in Fig. Figure 2 illustrates that joints 21A-21F each contain the first sensor 31A to the sixth sensor 31F. The first sensor 31A to the sixth sensor 31F measure and output the joint angle and angular acceleration of joints 21A-21F.
[0021] The controller 32 includes a computing area 33, a memory 34, and an input area 35. The input area 35 is a user interface for an operator and serves to input various types of information into the controller 32.
[0022] Memory 34 is configured to store data necessary for controlling or regulating torques during the direct teaching of the articulated robot 10. Specifically, the following data (A)-(F) are stored to obtain a control or regulation target value for a joint torque from a formula (A). <Daten zum Berechnen des Gelenkdrehmoment-Steuer- bzw. Regelzielwerts> (A) Learning target value of a handtip variable of handtip 12A and velocity command value of the handtip variable (B) Calculation formula for obtaining a gravitational torque applied to each joint of the articulated robot 10 (C) Calculation formula for obtaining a Coriolis torque applied to each joint of the articulated robot 10 (D) Stiffness matrix representing an apparent stiffness (spring properties) of the hand tip 12A (E) Viscosity matrix representing an apparent viscosity (damping properties) of the hand tip 12A (F) Jacobi matrix of the articulated robot 10 and transposed matrix of the Jacobi matrix 2. Jacobi Matrix
[0023] In general, the relationships between the handtip variable and the joint variable of the robot arm 12, as represented by numerical formula (1) and numerical formula (2), are established. The joint variable corresponds to the joint angle of each of the joints 21A-21G. Fig. Figure 4 illustrates the handtip variable and the joint variable using a simple model of the robot arm. [Formula 2] x=x(q) x=J(q)q˙ ẋ: Handtip variable q: Joint variable ẋ: Derivative (speed) of the hand-tip variable x q̇: Derivative (speed) of the joint variable
[0024] J(q) represents a Jacobian matrix. The Jacobian matrix is a matrix for converting a derivative (velocity) of the joint variable into a derivative (velocity) of the handtip variable of robot arm 12. The Jacobian matrix is calculated from the arm length of the arms using the joint variable as the variable. 3. Cartesian impedance control method
[0025] The Cartesian impedance control method is a method for controlling the mechanical impedance of the robot arm 12 in orthogonal space. The mechanical impedance represents the ratio of an external force acting on the tip of the robot arm 12 to a reaction rate and includes an inertial element, a viscosity element (damping properties), and a stiffness element (spring properties). [Formula 3] τ=g(q)+C(q)−M(q)J(q)−1j(q)q˙ +J(q)T(Fref+J−TM(q)J−1x¨d+Kdx˜+Ddx˜˙)
[0026] Equation (3) is an equation of motion for the articulated robot 10. The left-hand side of the equation represents a joint torque. On the right-hand side of the equation, the first term is a gravity term, the second term is a Coriolis term, the third term is an inertia compensation term, and the fourth term is a mechanical impedance control term (see Table 1). The gravity term represents a torque (weight torque) applied to the joint by the weight of the robot arm 12. The Coriolis term represents a torque (Coriolis torque) applied to the joint by the Coriolis force due to the rotation of the robot arm 12. [Table 1] JOINT TORQUE: τ JOINT ANGLE: q GRAVITATIONAL TORQUE: g(q) CORIOLIS TORQUE: C(q) IGNITION MATRIX: M(q) COMMAND ACCELERATION: ẍ d , JACOBI MATRIX: J(q) REFERENCE PERFORMANCE: F ref TARGET POSITION OF THE HANDTOP: x d STIFFNESS MATRIX: K d DEVIATION OF HANDTOP VARIABLE: x̃ SPEED DEVIATION OF HAND TIP VARIABLE: x˜˙ VISCOSITY MATRIX: D d
[0027] In formula (3), where the reference force and the command acceleration on the right-hand side of the equation are set to zero and the mechanical impedance, which is related to the direction in which the hand tip 12A is to be moved or rotated, is zero, the hand tip 12A is moved in the direction and direct teaching can be carried out in Cartesian space (orthogonal space).
[0028] For example, if the mechanical impedance of the position (x, y, z) is set to zero and the mechanical impedance of the angle (roll, pitch, yaw) is set to a large value, it is possible to perform a gauge of only the position of the hand tip 12A without changing the angle (pose) of the hand tip 12A.
[0029] Formula (4) is an equation of motion where the reference force and the command acceleration on the right-hand side of the equation are zero. Analogous to formula (3), on the right-hand side of the equation, the first term is a gravity term, the second term is a Coriolis term, the third term is an inertial compensation term, and the fourth term is a mechanical impedance control term (see Table 1). [Formula 4] τ=g(q)+C(q)−M(q)J(q)−1j(q)q˙+J(q)T(Kdx˜+Ddx˜˙)
[0030] As the rank of the matrix J(q) decreases, 1 / J(q) of the third term on the right-hand side (the inertia compensation term) increases, and the joint torque approaches infinity. Therefore, the motion of the articulated robot 10 becomes unstable near the singularity.
[0031] Only the third term on the right-hand side (the inertia compensation term) of formula 4 affects the pose at the singular point, and this third term serves for the dynamic compensation of inertia. During Cartesian direct teaching, the section of the robot arm 12 near the handtip is supported by an operator with their hand. Therefore, the effect on performance may be small if the term for the dynamic compensation of inertia (the following formula (5)) is omitted. [Formula 5] −M(q)J(q)−1j(q)q˙
[0032] Therefore, by calculating the joint torque using formula (A), from which the inertia compensation term from the equation of motion of formula (4) is eliminated, and controlling or regulating the motor torque, the Cartesian direct gauge can be stably performed near the singular point without an excessively large joint torque being output near the singular point. [Formula 6] τ=g(q)+C(q)+J(q)T(Kdx˜+Ddx˜˙)
[0033] As shown by formulas (B) to (F), the joint torque, the gravitational torque, the Coriolis torque, and the handtip variable are multidimensional vectors, specifically six-dimensional vectors. As shown by formulas (G) to (I), the Jacobian matrix (transposed matrix), the viscosity matrix, and the stiffness matrix are each a matrix with six rows and six columns. The angular deviation (rotational deviation) of the handtip 12A can be calculated using the quaternions and an angular axis vector expression that does not include any expressive singular points. The angular axis vector expression is described in the unexamined Japanese patent application, publication no. 2021-194734. [Formula 7] τ=[τ1τ2τ3τ4τ5τ6] [Formula 8] g(q)=[g1g2g3g4g5g6] [Formula 9] C(q)=[C1C2C3C4C5C6] [Formula 10] X˜=[x˜1x˜2x˜3x˜4x˜5x˜6] [Formula 11] x˜˙=[x˜˙1x˜˙2x˜˙3x˜˙4x˜˙5x˜˙6] [Formula 12] J(q)T=[J11J12J13J14J15J16J21J22J23J24J25J26J31J32J33J34J35J36J41J42J43J44J45J46J51J52J53J54J55J56J61J62J63J64J65J66] [Formula 13] Kd=[Kx000000Ky000000Kz000000Kr000000Kp000000Kyaw] [Formula 14] Dd=[Dx000000Dy000000Dz000000Dr000000Dp000000Dyaw]
[0034] By changing the coefficient of the stiffness matrix Kd, the direction of movement and rotation of the hand tip 12A of the robot arm 12 can be controlled. For example, to move the hand tip 12A in the x-direction, the coefficient Kx is set to zero, and the coefficients Ky and Kz are set to non-zero values, as described below.
[0035] To move the hand tip 12A in the y-direction, the coefficient Ky is set to zero, and the coefficients Kx and Kz are set to non-zero values. Setting any one of the coefficients Kr, Kp, or Kyaw to zero rotates the hand tip 12A in that direction. Kd=[000000010000000001000000000300000000300000000300]
[0036] By adjusting the coefficients of the viscosity matrix, the uniformity of the movement of the hand tip 12A can be changed.
[0037] The following describes the torque control during a Cartesian direct gauge operation with reference to the flowchart in Fig. 5 described. The following describes the torque control or regulation, whereby the angle of the hand tip 12A is fixed and only the position of the hand tip 12A is measured.
[0038] First, an operator touches the robot arm 12 with the operator's hand and moves the hand tip 12A into a teaching target position (S10).
[0039] When the hand tip 12A is moved into the learning target position, the joint angle and joint angular velocity of each of the joints 21A-21F of the robot arm 12 are detected by the sensor 31A-31F. The data of the detected joint angle and the detected joint angular velocity of each of the joints 21A-21F are input to the controller 32 (S20).
[0040] The controller 32 calculates the position of the hand tip 12A of the robot arm 12 from the numerical formula (1) based on the joint angles of the joints 21A-21F and compares the achieved position and the target position and calculates a position deviation.
[0041] The controller 32 calculates the speed of the hand tip 12A of the robot arm 12 from the numerical formula (2) based on the joint angular velocities of the joints 21A-21F and compares the obtained speed and the command speed and calculates a speed deviation of the hand tip 12A (S30).
[0042] The controller 32 calculates control or regulation target values of the joint torques of joints 21A-21G from formula (A) based on the information (1), (2) (S40). (1) Joint angle, joint angular velocity of each of the joints 21A-21F (2) Position deviation, velocity deviation of the hand tip 12A
[0043] Then the controller 32 controls or regulates the motor torques of the motors 23A-23G mounted in the joints 21A-21G to the control or regulation target values of the joint torques calculated in S40 (S50).
[0044] By repeatedly performing steps (S10-S50), the motor torques of motors 23A-23G are controlled or regulated during Cartesian gauge setting. 3. Effects
[0045] According to this embodiment, it is less likely that an excessively large torque will be generated near the singular point during Cartesian direct gauging. Therefore, Cartesian direct gauging can be performed stably near the singular point. <Zweite Ausführungsform>
[0046] In the first embodiment, the six-axis articulated robot (with six joints) is controlled. The degree of freedom of the hand tip is 6, and there are no redundant degrees of freedom in the six-axis robot. A seven-axis articulated robot (with seven joints) is described below, along with a control method featuring redundant degrees of freedom. (1) In the seven-axis articulated robot, the joint torque, the gravitational torque, and the Coriolis torque are represented by seven-dimensional vectors. By changing the Jacobian matrix to a matrix with six rows and seven columns, the joint torques can be calculated using formula A disclosed in the first embodiment. (2) However, using formula A does not restore the original degree of freedom. (3) In a robot that includes an additional axis beyond that of an ordinary six-axis robot, for example, the position of an elbow can be moved using the redundant degree of freedom. A person can move their elbow while keeping their hand fixed, and the position of the elbow can be moved using the redundant degree of freedom. (4) That is to say, in the seven-axis articulated robot, even when all diagonal elements of Kd are set to large values, the elbow can be moved freely, while the hand tip is fixed.
[0047] In the seven-axis articulated robot, direct teaching with the redundant degree of freedom is carried out using the method from (1) to (4).
[0048] When performing direct teaching for the seven-axis articulated robot with movement of the position and angle of the hand tip, if the coefficient corresponding to the stiffness matrix Kd is reduced, the movement is performed with the redundant degree of freedom in the direction of the reduced coefficient.
[0049] If the position of the handtip needs to be moved in the three orthogonal directions (x, y, z), the position of the elbow also moves. Therefore, the operator must always apply force to hold the elbow in place, which reduces usability.
[0050] If the hand tip of the seven-axis articulated robot is not moved in the direction of the redundant degree of freedom, the controller 32 controls or regulates the position of the joint with the redundant degree of freedom and limits the displacement in the direction of the redundant degree of freedom during the Cartesian direct teaching.
[0051] With regard to the joint with the redundant degree of freedom, the displacement in the direction of the redundant degree of freedom is restricted, and the robot can be manipulated analogously to the six-axis robot. Therefore, it is less likely that operability will be impaired during Cartesian direct teaching.
[0052] If the joint with the redundant degree of freedom is moved in the direction of the redundant degree of freedom, direct teaching can be performed using the procedure from (1) to (4). Since there are no singular points, the joint can be manipulated naturally with the seven degrees of freedom by changing the control procedure according to the direction of movement.
[0053] The embodiments are described in detail; however, these embodiments are examples and do not limit the technical scope of the technology. The technical scope of the technology may include various modifications and variations of the embodiments.
[0054] (1) In the foregoing embodiments, the articulated robot 10 is described as having six joints. The number of joints is not necessarily six, but may be seven or eight. Reference symbol list 10 robots 11 Basic 12 robot arm 12 Hand tip 13-18 Arm 21A-21G joint 23A-23G Motor 30 Robot control or regulating device 32 Controller 33 Computing area 34 storage 35 Input area QUOTES INCLUDED IN THE DESCRIPTION
[0000] This list of documents cited by the applicant was automatically generated and is included solely for the reader's convenience. The list is not part of the German patent or utility model application. The DPMA accepts no liability for any errors or omissions. Cited patent literature
[0000] JP 2021-62436
[0007] JP 2005-88114
[0007] JP 2021-194734
[0033]
Claims
A method for controlling or regulating a motor torque during direct teaching of an articulated robot, comprising: obtaining joint angles and joint angular velocities of joints of the articulated robot from sensors when, during direct teaching, a hand tip of a robot arm moves into a target teaching position; calculating a deviation of a hand tip variable of the robot arm and a velocity deviation of the hand tip variable based on the joint angles and joint angular velocities of the joints obtained from the sensors; calculating control or regulation target values of joint torques of the joints from a formula (A) based on the deviation of the hand tip variable of the robot arm, the velocity deviation of the hand tip variable, and the joint angles of the robot arm; and controlling or regulating motor torques of motors contained in the joints on the control or regulation target values of the joint torques of the joints.Target values for the joint torques that are calculated. Robot control device for controlling an articulated robot, which includes joints and motors mounted in the joints, wherein the robot control device comprises: sensors, each mounted on the joints of the articulated robot; and a controller, wherein the sensors obtain joint angles and joint angular velocities of the joints of the articulated robot when, during direct teaching, a hand tip of a robot arm moves into a target teaching position, the controller is configured to calculate a deviation of a hand tip variable of the robot arm and a velocity deviation of the hand tip variable based on the joint angles and joint angular velocities of the joints obtained from the sensors, control or...To calculate target values of joint torques from the following formula (A) based on the deviation of the robot arm's handtip variable, the velocity deviation of the handtip variable, and the joint angles of the robot arm, and to control or regulate the motor torques of the motors mounted in the joints to the calculated target values of the joint torques. [Formula 1] τ = g ( q ) + C ( q ) + J ( q ) T ( K dx ˜ + D dx ˜ ˙ ). τ represents the joint torque, q represents the joint angle x̃ represents the deviation of the handtip variable of the robot arm x ˜ ˙ represents the velocity deviation of the robot arm's handtip variable g(q) represents the gravitational torque, C(q) represents the Coriolis torque J(q) T represents the transposed matrix of the Jacobian matrix, K d represents the stiffness matrix, D d represents the viscosity matrix
Citation Information
Patent Citations
Direct teaching device of robot
JP2005088114A
Teaching method
JP2021062436A
Robot and robot control program
JP2021194734A
2005-88114
2021-194734