Robot control method and robot system
By monitoring Jacobian determinant and inverse kinematic calculations, fine-tuning the redundant axis angle to avoid singular points, the problem of uncontrollable state in vertical multi-joint robots is solved, and stable control is achieved under the position and posture of the tool center point .
Patent Information
- Application Number
- CN202280096265.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2022-06-08
- Publication Date
- 2024-12-27
AI Technical Summary
In the control of vertical multi-joint robots, there is a problem of unavoidable singular points leading to uncontrollable states, especially in robots with redundant axes, how to avoid it while maintaining the position and posture of the tool center point (TCP) in the case of maintaining the position and posture of the tool center point (TCP) in the case of maintaining the position and posture of the tool center point (TCP) in particular. Singularity while maintaining controllability is a challenge.
By monitoring Jacobian determinant, we can determine whether the robot is close to the singular point, and fine-tune the joint angle of the redundant axis when approaching, detect and determine the angle that can avoid the singular point through inverse kinematic calculations, and update the angle of the redundant axis to maintain The robot is in a controllable state.
It effectively avoids uncontrollable state caused by singular points, ensures that the robot maintains the stability and controllability of its movement while maintaining the TCP position and posture, and prevents the robot from falling into an uncontrollable state.
Smart Images

Figure CN119212829A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a control method for a vertical articulated robot having redundant axes, and a robot system using the control method. Background Art
[0002] A vertical articulated robot has a problem that a specific posture of the robot cannot be controlled by calculation, that is, even in actual control, it will fall into an uncontrollable singularity. Postures that become singularities include, for example, postures in which the robot's arm components extend in a straight line, postures in which two or more working axes are arranged in a straight line, etc. In the control of the robot, falling into an uncontrollable state is a phenomenon that should be avoided at all costs. Patent document 1 discloses the following control technology: In the control of a 6-axis robot, when a singularity is encountered at the teaching position, the inverse kinematics solution for the singularity is prepared in advance to prevent it from falling into an uncontrollable state.
[0003] Generally, a vertical multi-joint robot has six working axes, namely, the S axis, the L axis, the U axis, the R axis, the B axis and the T axis. If the robot arm is given six degrees of freedom, it can perform the required work, but there are robots that have one or more redundant axes in addition to the six axes. The redundant axes have the following advantages: the position of the elbow of the robot arm can be changed while maintaining the position and posture of the TCP (Tool center point). In the control of a vertical multi-joint robot with redundant axes, it is also necessary to avoid uncontrollable states caused by singular points.
[0004] Prior art literature
[0005] Patent Literature
[0006] Patent Document 1: Japanese Patent Publication No. 2020-505244 Summary of the invention
[0007] The object of the present invention is to provide a control method capable of preventing a vertical articulated robot with redundant axes from falling into an uncontrollable state while maintaining the position and posture of the TCP shown by teaching, and to provide a robot system using the control method.
[0008] One aspect of the present invention relates to a robot control method, which is a vertical multi-joint robot with redundant axes, wherein: based on information on the position and posture of the robot, whether the robot reaches the vicinity of a singularity point is monitored; when the robot reaches the vicinity of the singularity point, the angles of the joints of the redundant axis are computationally changed while maintaining the position and posture of the TCP of the robot; the angle of the redundant axis that can avoid the singularity point is detected by calculating the angles of other joints of the robot when the redundant axis is at the changed angle; and the movement of the robot is controlled using the detected angle as the new angle of the redundant axis.
[0009] A robot system according to another aspect of the present invention includes: a vertical articulated robot having a redundant axis; and a control unit for controlling the movement of the robot; wherein the control unit includes: a monitoring unit for digitizing and monitoring the position and posture of the robot using a Jacobian determinant; a determination unit for determining whether the robot has reached a vicinity of a singular point based on whether the absolute value of the numerical value of the Jacobian determinant is less than a predetermined threshold value; a joint angle calculation unit for calculating, when the robot reaches a vicinity of a singular point, a small change in the angle of the joint of the redundant axis in a positive direction and a reverse direction, and performing an inverse kinematics calculation while maintaining the position and posture of the TCP of the robot to calculate the angle of each joint of the robot; and a detection unit for digitizing the position and posture of the robot determined based on the changed angle of the redundant axis and the angle of each joint obtained by the inverse kinematics calculation by applying the Jacobian determinant to detect the angle of the redundant axis that exceeds the threshold value; wherein the control unit uses the detected angle as a new angle of the redundant axis to control the movement of the robot. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] Figure 1 It is a configuration diagram of a robot system according to an embodiment of the present invention.
[0011] Figure 2 It is a block diagram showing the electrical structure of the robot system.
[0012] Figure 3 is a three-dimensional diagram of the robot arm, which shows the detection status of the joint angles of the redundant axes avoiding the singularity point.
[0013] Figure 4 This is a flowchart showing an example of motion control of a robot arm. DETAILED DESCRIPTION
[0014] Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. A robot system that implements the robot control method involved in the present invention comprises: a vertical multi-joint robot arm as a robot that performs designated operations. A suitable application of the robot system involved in the present invention is a collaborative robot, which is arranged in an area where an operator performs designated operations. For collaborative robots, direct teaching of the motion trajectory of the robot arm is mostly adopted manually. In the following embodiments, a 7-axis robot arm having 1 redundant axis in addition to the usual 6 working axes is exemplified as a robot arm. In addition, robots having 2 or more redundant axes can also be applied to the present invention.
[0015] [Overall structure of the robot system]
[0016] Figure 1 1 is a block diagram of a robot system according to an embodiment of the present invention. The robot system 1 comprises: a robot arm 10 which is a vertical multi-joint 7-axis robot; and a control device 30 which controls the movement of the robot arm 10. The robot arm 10 has 7 rotation axes, namely, a 1st axis 2A, a 2nd axis 2B, a 3rd axis 2C, a 4th axis 2D, a 5th axis 2E, a 6th axis 2F, and a 7th axis 2G.
[0017] The above-mentioned 7 rotation axes respectively constitute the 7 joints 21 to 27 of the robot arm 10. The 1st axis 2A, the 3rd axis 2C, the 5th axis 2E and the 7th axis 2G are rotation axes extending in the arm axis direction, and respectively constitute the 1st torsion joint 21, the 2nd torsion joint 23, the 3rd torsion joint 25 and the 4th torsion joint 27 for twisting and rotating the arm. The remaining 2nd axis 2B, the 4th axis 2D and the 6th axis 2F are rotation axes extending in the horizontal direction, and respectively constitute the 1st bending joint 22, the 2nd bending joint 24 and the 3rd bending joint 26 for bending and rotating the arm.
[0018] The robot arm 10 includes a base 11, a trunk 12, a first arm 13, a second arm 14, a third arm 15, and a head 16. The base 11 is a frame fixedly installed on the ground or a base. The trunk 12 is connected to the upper side of the base 11 via a first torsion joint 21. The trunk 12 can rotate in both positive and negative directions at the first torsion joint 21 with the first axis 2A as the axis.
[0019] The first arm 13 is connected to the trunk 12 through its base end and via the first bending joint 22. The first arm 13 can swing at the first bending joint 22 with the second axis 2B as the axis. The first arm 13 has an upstream arm 131 close to the trunk 12 and a downstream arm 132 close to the second arm 14. The upstream arm 131 and the downstream arm 132 are connected by the third axis 2C. The downstream arm 132 can rotate at the second torsion joint 23 with the third axis 2C as the axis. The third axis J3 of the first arm 13 is a so-called redundant axis, and is a working axis provided on the robot 10 in addition to the usual six axes.
[0020] The second arm 14 is an arm connected to the downstream of the first arm 13, and its base end is connected to the distal end of the first arm 13 via the second bending joint 24. The second arm 14 can swing around the fourth axis 2D at the second bending joint 24. The second arm 14 has an upstream arm 141 close to the first arm 13 and a downstream arm 142 close to the third arm 15. The downstream arm 142 can rotate around the fifth axis 2E at the third torsion joint 25.
[0021] The third arm 15 is an arm connected and arranged downstream of the second arm 14, and its base end is connected to the distal end of the second arm 14 via the third bending joint 26. The third arm 15 can swing at the third bending joint 26 with the sixth axis 2F as the axis. The head 16 is connected to the distal side of the third arm 15 via the fourth torsion joint 27. The head 16 can rotate at the fourth torsion joint 27 with the seventh axis 2G as the axis. An end effector (not shown) is installed on the head 16 for performing the required operation on the workpiece as the operation object. The end effector is a structure that performs operations such as gripping, adsorption, welding, grinding, etc. of the workpiece.
[0022] Figure 1 , the TCP 17 of the robot 10 is shown. The TCP 17 is a position that becomes a control reference point of the robot 10. The TCP 17 can be set, for example, at the far end of the robot 10 or at the center of gravity of the workpiece grasped by the end effector. In addition, the TCP 17 can also be set at the center of gravity of the end effector or at a certain position associated with the end effector.
[0023] The control device 30 controls the movement of the robot arm 10 according to the teaching data given in advance. In addition, in order to generate the teaching data, the control device 30 receives direct teaching of the movement trajectory of the robot arm 10 manually taught by the user. In addition, the teaching data can be generated by online teaching or offline teaching. The control device 30 of this embodiment also performs control to prevent the robot arm 10 from reaching a singular point. Figure 2 Describe in detail.
[0024] [Electrical structure of the robot device]
[0025] Figure 2 1 is a block diagram showing the electrical configuration of the robot system 1. The robot system 1 includes a force sensor 18 and an operation panel 19 in addition to the robot arm 10 and the control device 30 described above.
[0026] The force sensor 18 is a 6-axis force detector assembled near the head 16 of the robot arm 10. Specifically, the force sensor 18 is a sensor that can simultaneously detect force components in the three mutually orthogonal axes, namely, the x-axis, y-axis, and z-axis translation directions and torque components centered on these x-axis, y-axis, and z-axis. In addition, a torque sensor may be provided at the joint of the robot arm 10 instead of the force sensor 18.
[0027] The operation panel 19 is responsible for various display functions related to the robot system 1, an input function for accepting operation input and data input to the control device 30, and an alarm function such as alarm issuance or error display when an abnormal situation occurs. The operation panel 19 can be composed of, for example, a display and input panel dedicated to the robot system 1, a personal computer, a tablet terminal, or a smart phone.
[0028] The control device 30 is a processor that executes various processes according to a given program, and operates by executing the program so as to be functionally provided with a robot control unit 31 (control unit), a teaching control unit 32, and a storage unit 33.
[0029] When the robot system 1 is used on site, the robot control unit 31 moves the robot arm 10 according to the teaching data indicating the motion trajectory given in advance, so that the end effector performs the specified operation on the workpiece. In addition, the robot control unit 31 of this embodiment controls the robot arm 10 so that the robot arm 10 does not reach the singularity point while moving the robot arm 10, that is, the avoidance control described later is always performed.
[0030] The teaching control unit 32 enables the direct teaching operation to be performed. Specifically, the teaching control unit 32 rotates the joints 21 to 27 of the robot arm 10 according to the moving force given to the robot arm 10 by the user, so as to move each arm. The moving force given to the robot arm 10 is detected by the force sensor 18. The teaching control unit 32 obtains the detection result and estimates the size and direction of the moving force. Based on the estimated result, the teaching control unit 32 drives the motor 51 of the first drive unit 41 to the seventh drive unit 47 accordingly to move the robot arm 10 in the direction in which the user wants to drive the robot arm 10. In addition, the teaching control unit 32 stores the motion trajectory of the robot arm 10 set in the direct teaching operation as teaching data in the storage unit 33.
[0031] The storage unit 33 stores the program and the teaching data. In addition, the storage unit 33 stores parameters that determine the operability of direct teaching. In addition, the storage unit 33 of this embodiment stores a threshold value that serves as a judgment standard when judging whether the robot arm 10 has reached the vicinity of the singular point based on the Jacobian equation.
[0032] [Regarding the structure of the singular point avoidance control]
[0033] While the robot arm 10 is moving according to the teaching data, the robot control unit 31 performs avoidance control to rotate the third axis 2C, that is, the second torsion joint 23, which is a redundant axis, in a direction away from the singularity point when the robot arm 10 reaches the vicinity of the singularity point. This avoidance control can prevent the robot arm 10 from falling into an uncontrollable state while maintaining the position and posture of the TCP 17.
[0034] If the user is a person with professional knowledge, the user can generate teaching data that prevents the robot arm 10 from reaching the singular point. On the other hand, in the case of a direct teaching method, even if the user is a person without professional knowledge, it is easy to generate teaching data, but sometimes teaching data is generated in which the teaching point is a singular point or teaching data passes through a singular point during operation. The robot control unit 31 can perform the avoidance control to avoid the uncontrollable state of the robot arm 10 even when the user gives such teaching data.
[0035] The robot control unit 31 executes the control shown in the following steps (A) to (D) as the avoidance control.
[0036] (A) During the motion control of the robot arm 10 , based on the information on the position and posture of the robot arm 10 , it is constantly monitored whether the robot arm 10 has reached the vicinity of the singularity point.
[0037] (B) When the robot arm 10 reaches the vicinity of the singular point, the joint angle of the second torsion joint 23 having the third axis 2C serving as a redundant axis is changed while maintaining the position and posture of the TCP 17 in terms of calculation.
[0038] (C) The joint angle of the second torsion joint 23 that can avoid the singular point is detected by calculating the joint angles of the other joints 21, 22, 24 to 27 of the robot 10 when the second torsion joint 23 of the redundant axis is set to the changed joint angle.
[0039] (D) The detected angle is used as a new joint angle of the second torsion joint 23 , and the motion control of the robot arm 10 is continued.
[0040] In order to perform the avoidance control described above, the robot control unit 31 functionally includes a monitoring unit 34, a determination unit 35, a joint angle calculation unit 36, and a detection unit 37. The monitoring unit 34 is a functional unit that undertakes a part of step (A), and uses the Jacobian equation to monitor the position and posture of the robot arm 10. The Jacobian equation converts the joint angular velocity of the robot arm 10 into the distal velocity of the robot arm 10, that is, the velocity of TCP17. When the position and posture P of TCP17 of the robot arm 10 is taken as P=[x, y, z, u, v, w], the Jacobian equation between the change in joint angle and the change in position and posture P is expressed by the Jacobian determinant det|J| shown in the following equation (1). In addition, θ in equation (1) 1 to θ 7 They are joint angle vectors of the first axis 2A to the seventh axis 2G in the joints 21 to 27 respectively.
[0041]
[0042] The monitoring unit 34 solves the Jacobian determinant det|J| based on the length information of each arm member of the robot arm 10 and the rotation angle information obtained by each encoder 53 of the first to seventh drive units 41 to 47, and monitors the position and posture P of the TCP 17 by digitizing it. In addition, at the singular point, the Jacobian determinant det|J|=0.
[0043] The determination unit 35 is also a functional unit that performs part of the above step (A). The determination unit 35 determines whether the robot 10 has reached the vicinity of the singular point based on whether the absolute value of the value of the Jacobian determinant det|J| is less than a predetermined threshold value. The threshold value is set in consideration of the margin for preventing the robot 10 from reaching the singular point, and is pre-stored in the storage unit 33. When the absolute value of det|J| is less than the threshold value, the determination unit 35 determines that the robot 10 has reached the vicinity.
[0044] The joint angle calculation unit 36 is a functional unit that performs the above step (B). When the determination unit 35 determines that the area near the singular point has been reached, the joint angle calculation unit 36 calculates the joint angle that can avoid the singular point while maintaining the position and posture P of the TCP 17. Specifically, the joint angle calculation unit 36 makes a slight change in the angle of the joint of the redundant axis in the positive direction and the negative direction. Figure 3 1 is a perspective view of the robot arm 10 showing the detection status of the joint angle of the redundant axis avoiding the singular point. As mentioned above, the redundant axis of the present embodiment is the third axis 2C. The joint angle calculation unit 36 simulates the rotation angle of the third axis 2C, that is, the joint angle of the second torsion joint 23, to be slightly changed in the positive direction and the negative direction.
[0045] Next, the joint angle calculation unit 36 performs inverse kinematics calculation on the robot arm 10 whose joint angle of the second torsion joint 23 is changed while the position and posture P of the TCP 17 is maintained, and calculates the angles of the joints 21 to 27 of the robot arm 10. For example, the joint angle calculation unit 36 changes the third axis 2C of the redundant axis in the positive direction and the reverse direction in several stages, and performs inverse kinematics calculation for each rotation angle of the redundant axis.
[0046] The detector 37 is a functional unit that performs the above step (C). The detector 37 detects the angle of the redundant axis that enables the robot arm 10 to move away from the vicinity of the singular point. That is, the detector 37 detects the rotation angle of the third axis 2C, that is, the joint angle of the second torsion joint 23, when the absolute value of the value of the Jacobian determinant det|J| exceeds the threshold value that specifies the vicinity of the singular point.
[0047] Specifically, the detection unit 37 applies the Jacobian determinant det|J| to digitize the position and posture of the TCP 17 of the robot arm 10 determined based on the angles of each joint 21 to 27 including the redundant axis obtained by the joint angle calculation unit 36 using inverse kinematics. This digitization is performed for each rotation angle of the redundant axis that is changed in the positive direction and the reverse direction. The detection unit 37 refers to these numerical values and selects a suitable redundant axis angle from the redundant axis angles having a numerical value exceeding the threshold. Furthermore, the detection unit 37 updates the existing teaching data to the selected redundant axis angle and stores it in the storage unit 33. Thereafter, the robot control unit 31 controls the robot arm 10 using the updated teaching data.
[0048] According to the robot system 1 that performs the monitoring control described above, first, the monitoring unit 34 always monitors whether the robot 10 reaches the vicinity of the singular point using the Jacobian determinant. Next, when the determination unit 35 determines that the robot 10 has reached the vicinity of the singular point, the joint angle calculation unit 36 changes the joint angle of the second torsion joint 23 used as a redundant axis in the calculation formula while maintaining the position and posture of the TCP. And, the inverse kinematics calculation is performed for each changed joint angle to calculate the joint angle of each joint 21 to 27. Then, the changed joint angle is applied to the Jacobian determinant to be digitized, and the joint angle of the second torsion joint 23 that can avoid the singular point is detected. Therefore, by using the redundant axis, it is possible to achieve control that prevents the robot 10 from reaching the singular point while maintaining the position and posture of the TCP 17, that is, control that prevents the robot 10 from falling into an uncontrollable state.
[0049] [Action flow]
[0050] Figure 41 is a flowchart showing an example of motion control of the robot arm 10 by the control device 30. The robot control unit 31 controls the motors 51 of the first drive unit 41 to the seventh drive unit 47 of the robot arm 10 based on the teaching data stored in the storage unit 33 to move the robot arm 10. When the motion is executed, the monitoring unit 34 digitizes the Jacobian of the current joint angle of each joint 21 to 27 using the Jacobian determinant det|J| (step S1).
[0051] Next, the determination unit 35 determines whether the absolute value of the numerical value of det|J| obtained in step S1 is less than a predetermined threshold value (step S2). If the absolute value exceeds the threshold value ("No" in step S2), the determination unit 35 determines that the robot arm 10 has not reached the vicinity of the singular point. In this case, the robot control unit 31 does not change the joint angle of the second torsion joint 23 used as a redundant axis, and continues the motion control of the robot arm 10 (step S3).
[0052] On the other hand, when the absolute value is smaller than the threshold value ("Yes" in step S2), the joint angle calculation unit 36 changes the joint angle of the second torsion joint 23 of the redundant axis by one pitch of the specified angle pitch, for example, in the positive direction, while the position and posture of the TCP 17 are fixed in software calculation (step S4). Next, for the state of the robot arm 10 after the redundant axis angle is changed, inverse kinematics calculation is performed to calculate the angles of the joints 21 to 27 at this time (step S5).
[0053] Next, it is confirmed whether the change of the redundant axis angle has been completed (step S6). For example, when the redundant axis angle is set to be changed by 5 pitches in the positive direction and by 5 pitches in the negative direction, it is confirmed whether the angle change of 10 pitches has been completed. When the change of the redundant axis angle has not been completed ("No" in step S6), the process returns to step S4, the redundant axis angle is changed to another angle, and the same process is repeated.
[0054] When the redundant axis angle change is completed ("Yes" in step S6), the joint angle calculation unit 36 checks whether there is a solution to the inverse kinematics calculation performed in step S5 (step S7). The robot arm 10 has a range in which it can move. As a result of the redundant axis angle change, it may sometimes be out of the movable range of the robot arm 10. If it is outside the movable range, the robot arm 10 cannot move. In this case, even if the inverse kinematics calculation is performed, the result is that there is no solution.
[0055] When there is a solution to the inverse kinematics calculation ("Yes" in step S7), the detector 37 calculates the absolute value of the Jacobian determinant det|J| for the joint angle obtained in step S5 (step S8). The value calculated here is changed by the redundant axis angle, so it becomes a value different from the absolute value of det|J| calculated in step S1. Thereafter, the detector 37 selects a redundant axis angle whose absolute value of det|J| is greater than the threshold used in the judgment of step S2 (step S9). In the case where a redundant axis angle for which multiple solutions exist is extracted in the inverse kinematics calculation of step S5, the setting of the redundant axis angle that exceeds the threshold and has the largest absolute value of det|J| can be selected. In the subsequent motion control of the robot arm 10, the teaching data of the joint angles of joints 21 to 27 updated based on the selected redundant axis angle is used.
[0056] On the other hand, if there is no solution to the inverse kinematics calculation ("No" in step S7), there is no redundant axis angle that can prevent the robot arm 10 from reaching the singular point. In this case, the detector 37 issues an alarm through the operation panel 19 or other display devices to stop the control of the robot arm 10 (step S10). Thereafter, measures such as regenerating teaching data are taken.
[0057] [Inventions included in the above-mentioned embodiments]
[0058] The embodiments described above include the inventions described below.
[0059] One aspect of the present invention relates to a robot control method, which is a vertical multi-joint robot with redundant axes, wherein: based on information on the position and posture of the robot, whether the robot reaches the vicinity of a singularity point is monitored; when the robot reaches the vicinity of the singularity point, the angles of the joints of the redundant axis are computationally changed while maintaining the position and posture of the TCP of the robot; the angle of the redundant axis that can avoid the singularity point is detected by calculating the angles of other joints of the robot when the redundant axis is at the changed angle; and the movement of the robot is controlled using the detected angle as the new angle of the redundant axis.
[0060] According to the control method, it is always monitored whether the robot reaches the vicinity of the singularity point. And, if the robot reaches the vicinity of the singularity point, the angle of the joint of the redundant axis is changed in the calculation formula, and the angle of the redundant axis that can avoid the singularity point while maintaining the position and posture of the TCP is detected. Therefore, by using the redundant axis, it is possible to achieve control that prevents the robot from reaching the singularity point, that is, control that prevents the robot from falling into an uncontrollable state while maintaining the position and posture of the TCP.
[0061] In the above-mentioned robot control method, the following technical solution can be adopted: the position and posture of the robot are evaluated based on the numerical value of the Jacobian determinant, and when the absolute value of the numerical value of the Jacobian determinant is less than a predetermined threshold, it is determined that the robot has reached the vicinity of the singularity point.
[0062] According to the technical solution, based on the value of the Jacobian determinant, it is possible to objectively evaluate whether the robot has reached the vicinity of the singular point. That is, the relationship between the positions of the robot's working axes and the TCP is always grasped by the Jacobian, and when the value of the Jacobian is less than a threshold, it can be determined that the robot is close to the singular point, thereby simplifying the robot control logic.
[0063] In the above-mentioned robot control method, the following technical solution may be adopted: changing the angle of the redundant axis in the positive and negative directions, and performing inverse kinematics calculation while maintaining the position and posture of the TCP to calculate the angles of each joint of the robot.
[0064] By performing inverse kinematics calculation, the joint angles of the robot can be calculated while the position and posture of the TCP are fixed. According to the above technical solution, when the angle of the redundant axis is swung in the positive and negative directions, the angles of each joint that can avoid the singularity point can be quickly detected through inverse kinematics calculation.
[0065] A robot system according to another aspect of the present invention includes: a vertical articulated robot having a redundant axis; and a control unit for controlling the movement of the robot; wherein the control unit includes: a monitoring unit for digitizing and monitoring the position and posture of the robot using a Jacobian determinant; a determination unit for determining whether the robot has reached a vicinity of a singular point based on whether the absolute value of the numerical value of the Jacobian determinant is less than a predetermined threshold value; a joint angle calculation unit for calculating, when the robot reaches a vicinity of a singular point, a small change in the angle of the joint of the redundant axis in a positive direction and a reverse direction, and performing an inverse kinematics calculation while maintaining the position and posture of the TCP of the robot to calculate the angle of each joint of the robot; and a detection unit for digitizing the position and posture of the robot determined based on the changed angle of the redundant axis and the angle of each joint obtained by the inverse kinematics calculation by applying the Jacobian determinant to detect the angle of the redundant axis that exceeds the threshold value; wherein the control unit uses the detected angle as a new angle of the redundant axis to control the movement of the robot.
[0066] According to the robot system, the monitoring unit always monitors whether the robot reaches the vicinity of the singular point using the Jacobian determinant. Furthermore, when the determination unit determines that the robot has reached the vicinity of the singular point, the joint angle calculation unit and the detection unit change the angle of the joint of the redundant axis in the calculation formula, and detect the angle of the redundant axis that can avoid the singular point while maintaining the position and posture of the TCP. Therefore, by using the redundant axis, it is possible to achieve control that prevents the robot from reaching the singular point, that is, control that prevents the robot from falling into an uncontrollable state while maintaining the position and posture of the TCP.
Claims
1. A robot control method is a control method for a vertical multi-joint robot with redundant axes, characterized in that: Monitoring whether the robot reaches a vicinity of a singular point based on information about the position and posture of the robot; When the robot reaches a region near a singular point, computationally changing the angle of the joint of the redundant axis while maintaining the position and posture of the TCP of the robot; By calculating the angles of other joints of the robot when the redundant axis is at a changed angle, the angle of the redundant axis that can avoid the singular point is detected; and The detected angle is used as a new angle of the redundant axis to control the movement of the robot.
2. The robot control method according to claim 1, characterized in that: The position and posture of the robot are evaluated based on the numerical value of the Jacobian determinant, and when the absolute value of the numerical value of the Jacobian determinant is smaller than a predetermined threshold value, it is determined that the robot has reached a region near a singular point.
3. The robot control method according to claim 1, characterized in that: The angle of the redundant axis is changed in a positive direction and a negative direction, and an inverse kinematics calculation is performed while maintaining the position and posture of the TCP to calculate the angle of each joint of the robot.
4. A robot system, characterized in that include: A vertical articulated robot with redundant axes; and, A control unit controls the actions of the robot; wherein, The control unit comprises: A monitoring unit, which uses Jacobian determinant to digitize the position and posture of the robot and monitors the position and posture of the robot; a determination unit, which determines whether the robot has reached a vicinity of a singular point based on whether an absolute value of the numerical value of the Jacobian determinant is less than a predetermined threshold value; a joint angle calculation unit that, when the robot reaches a region near a singular point, computationally changes the angles of the joints of the redundant axes slightly in the positive and negative directions, and performs inverse kinematics calculations while maintaining the position and posture of the TCP of the robot to calculate the angles of the joints of the robot; and The detection unit applies the Jacobian determinant to digitize the position and posture of the robot determined according to the changed angle of the redundant axis and the angle of each joint obtained by the inverse kinematics calculation, and detects the angle of the redundant axis exceeding the threshold; wherein, The control unit controls the operation of the robot by using the detected angle as a new angle of the redundant axis.
Citation Information
Patent Citations
Method and system for teaching a robot to reach a predetermined target in robotic manufacturing - Patent Application 20070122999
JP2020505244A
Cited By
Robot dragging teaching method for singular point avoidance
CN120002652A
