Robot control method and robot system
Patent Information
- Application Number
- JP2024526107
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-06-08
- Publication Date
- 2025-03-05
- Estimated Expiration
- 2042-06-08
Smart Images

Figure 0007640812000002 
Figure 0007640812000003 
Figure 0007640812000004
Abstract
Description
[Technical field]
[0001] The present invention relates to a control method for a vertical articulated robot equipped with redundant axes, and a robot system to which the control method is applied. [Background technology]
[0002] Vertically articulated robots have singular points, which are specific postures that make it impossible to control the robot in a mathematical formula, and which also cause the robot to become uncontrollable in actual control. Singular point postures include, for example, a posture in which each arm element of the robot extends in a straight line, or a posture in which two or more motion axes are aligned in a straight line. In controlling a robot, becoming uncontrollable is an event that must be avoided at all costs. Patent Document 1 discloses a control technology that prevents a six-axis robot from becoming uncontrollable when a taught position hits a singular point by preparing an inverse kinematics solution for the singular point.
[0003] Typically, a vertical articulated robot has six motion axes called the S-axis, L-axis, U-axis, R-axis, B-axis, and T-axis. If a robot arm is given six degrees of freedom, it can perform the required tasks, but there are also robots that are equipped with one or more redundant axes in addition to this. The advantage of having a redundant axis is that it is possible to change the position of the elbow part of the robot arm while maintaining the position and posture of the TCP (Tool center point). Even when controlling a vertical articulated robot with redundant axes, it is necessary to avoid uncontrollable states caused by singular points. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Special Publication No. 2020-505244 Summary of the Invention
[0005] An object of the present invention is to provide a control method for a vertical articulated robot having redundant axes that can prevent the robot from falling into an uncontrollable state while maintaining the position and posture of the TCP as taught, and a robot system to which the control method is applied.
[0006] A robot control method according to one aspect of the present invention is a control method for a vertical multi-joint robot equipped with a redundant axis, which monitors whether the robot has reached an area near a singularity based on information on the position and posture of the robot, and if the robot has reached an area near a singularity, detects the angle of the redundant axis joint at which the singularity can be avoided by calculating the angle of the other joints of the robot when the redundant axis is at the changed angle, and controls the operation of the robot by setting the detected angle as the new angle of the redundant axis.
[0007] A robot system according to another aspect of the present invention includes a vertical articulated robot having a redundant axis, and a control unit that controls operation of the robot, the control unit including: a monitoring unit that digitizes and monitors a position and posture of the robot using a Jacobian determinant; a determination unit that determines whether the robot has reached a region near a singularity based on whether an absolute value of the numerical value of the Jacobian determinant is below a predetermined threshold; a joint angle calculation unit that, when the robot has reached a region near a singularity, slightly changes the angle of the joint of the redundant axis in a positive direction and a negative direction in a calculation, performs an inverse kinematics calculation while leaving the position and posture of the TCP of the robot unchanged, and calculates an angle of each joint of the robot; and a detection unit that applies the position and posture of the robot specified from the changed angle of the redundant axis and the angle of each joint obtained by the inverse kinematics calculation to a Jacobian determinant to digitize, and detects the angle of the redundant axis that exceeds the threshold, and the control unit controls the operation of the robot using the detected angle as a new angle of the redundant axis. [Brief description of the drawings]
[0008] [Figure 1] FIG. 1 is a configuration diagram of a robot system according to an embodiment of the present invention. [Diagram 2] FIG. 2 is a block diagram showing the electrical configuration of the robot system. [Diagram 3] FIG. 3 is a perspective view of a robot arm illustrating a state in which joint angles of redundant axes are detected to avoid singular points. [Figure 4] FIG. 4 is a flowchart showing an example of operation control of the robot arm. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings. A robot system for implementing the robot control method according to the present invention includes a vertical articulated robot arm as a robot performing a predetermined task. A suitable application of the robot system according to the present invention is a collaborative robot arranged in an area where a worker performs a predetermined task. In collaborative robots, direct teaching is often adopted, in which the motion trajectory of the robot arm is manually taught. In the following embodiment, a seven-axis robot arm having one redundant axis in addition to the general six motion axes is exemplified as the robot arm. The present invention is also applicable to a robot having two or more redundant axes.
[0010] [Overall configuration of the robot system] 1 is a configuration diagram of a robot system according to an embodiment of the present invention. The robot system 1 includes a robot arm 10, which is a vertically articulated seven-axis robot, and a control device 30 that controls the operation of the robot arm 10. The robot arm 10 has seven rotation axes: a first axis 2A, a second axis 2B, a third axis 2C, a fourth axis 2D, a fifth axis 2E, a sixth axis 2F, and a seventh axis 2G.
[0011] The seven rotation axes described above respectively constitute seven joints 21 to 27 of the robot arm 10. The first axis 2A, the third axis 2C, the fifth axis 2E and the seventh axis 2G are rotation axes extending in the arm axial direction and respectively constitute a first torsion joint 21, a second torsion joint 23, a third torsion joint 25 and a fourth torsion joint 27 that twist and rotate the arm. The remaining second axis 2B, the fourth axis 2D and the sixth axis 2F are rotation axes extending in the horizontal direction and respectively constitute a first bending joint 22, a second bending joint 24 and a third bending joint 26 that bend and rotate the arm.
[0012] The robot arm 10 includes a base 11, a torso 12, a first arm 13, a second arm 14, a third arm 15, and a head 16. The base 11 is a housing that is fixedly installed on a floor surface, a pedestal, or the like. The torso 12 is connected to the upper surface of the base 11 via a first torsion joint 21. The torso 12 is rotatable in both forward and reverse directions around a first axis 2A at the first torsion joint 21.
[0013] The base end of the first arm 13 is connected to the torso 12 via a first bending joint 22. The first arm 13 can swing around the second axis 2B at the first bending joint 22. The first arm 13 is composed of an upper arm 131 closer to the torso 12 and a lower arm 132 closer to the second arm 14. The upper arm 131 and the lower arm 132 are connected by a third axis 2C. The lower arm 132 can rotate around the third axis 2C at the second torsion joint 23. The third axis J3 provided on the first arm 13 is a so-called redundant axis, and is a motion axis provided on the robot arm 10 in addition to the normal six axes.
[0014] The second arm 14 is an arm connected to the lower end of the first arm 13, and its base end is connected to the tip end of the first arm 13 via a second bending joint 24. The second arm 14 is capable of swinging around the fourth axis 2D at the second bending joint 24. The second arm 14 is made up of an upper arm 141 closer to the first arm 13 and a lower arm 142 closer to the third arm 15. The lower arm 142 is capable of rotating around the fifth axis 2E at the third torsion joint 25.
[0015] The third arm 15 is an arm connected to the lower end of the second arm 14, and its base end is connected to the tip of the second arm 14 via a third bending joint 26. The third arm 15 can swing around the axis of the sixth axis 2F at the third bending joint 26. The head unit 16 is connected to the tip side of the third arm 15 via a fourth torsion joint 27. The head unit 16 can rotate around the axis of the seventh axis 2G at the fourth torsion joint 27. An end effector (not shown) that performs a required operation on a workpiece to be operated is attached to the head unit 16. The end effector is a structure that performs operations such as gripping, suction, welding, and polishing the workpiece.
[0016] 1 shows the TCP 17 of the robot arm 10. The TCP 17 is a position that serves as a control reference point for the robot arm 10. For example, the TCP 17 can be set at the tip of the robot arm 10 or at the center of gravity of a workpiece gripped by an end effector. Alternatively, the TCP 17 can be set at the center of gravity of the end effector or at some other position associated with the end effector.
[0017] The control device 30 controls the movement of the robot arm 10 according to pre-given teaching data. In addition, the control device 30 accepts direct teaching, in which the user manually teaches the movement trajectory of the robot arm 10, in order to generate the teaching data. The teaching data may be created by online teaching or offline teaching. The control device 30 of this embodiment also executes control to prevent the robot arm 10 from reaching a singular point. The control device 30 will be described in detail later with reference to FIG. 2.
[0018] [Electrical configuration of the robot device] 2 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.
[0019] The force sensor 18 is a six-axis force detector that is attached near the head 16 of the robot arm 10. Specifically, the force sensor 18 is a sensor that can simultaneously detect force components in three translational axial directions of the x-axis, y-axis, and z-axis, which are three mutually perpendicular axes, and moment components about these x-axis, y-axis, and z-axis. Note that instead of the force sensor 18, a torque sensor may be provided at the joint of the robot arm 10.
[0020] The operation panel 19 performs various display functions related to the robot system 1, an input function for receiving operation input and data input to the control device 30, and a warning function for issuing an alarm or displaying an error when an abnormality occurs. The operation panel 19 can be configured, for example, as a display / input panel dedicated to the robot system 1, a personal computer, a tablet terminal, or a smartphone.
[0021] The control device 30 is a processor that executes various processes according to a given program, and operates to functionally include a robot control unit 31 (control unit), a teach control unit 32, and a memory unit 33 by executing the program.
[0022] When the robot system 1 is operated on site, the robot control unit 31 operates the robot arm 10 based on teaching data indicating a pre-given motion trajectory, and causes the end effector to perform a predetermined task on a workpiece. The robot control unit 31 of this embodiment also constantly executes avoidance control, which will be described later, for controlling the robot arm 10 so as not to reach a singular point while operating the robot arm 10.
[0023] The teach control unit 32 executes a direct teach operation. Specifically, the teach control unit 32 rotates the joints 21 to 27 of the robot arm 10 in response to a moving force applied to the robot arm 10 by the user, and moves each arm. The moving force applied to the robot arm 10 is detected by the force sensor 18. The teach control unit 32 acquires the detection result and estimates the magnitude and direction of the moving force. Based on the estimation result, the teach control unit 32 appropriately drives the motors 51 of the first drive unit 41 to the seventh drive unit 47 to move the robot arm 10 in the direction in which the user intends to move the robot arm 10. In addition, the teach control unit 32 stores the motion trajectory of the robot arm 10 set in the direct teach operation in the memory unit 33 as teaching data.
[0024] The storage unit 33 stores the program and the teaching data. The storage unit 33 also stores parameters that determine the operational feel of the direct teach. In addition, the storage unit 33 of this embodiment stores a threshold value that serves as a criterion when judging whether the robot arm 10 has reached a region near a singular point using the Jacobian.
[0025] [Configuration for singular point avoidance control] When the robot arm 10 approaches a singular point while operating the robot arm 10 according to the teaching data, the robot control unit 31 executes avoidance control to rotate the third axis 2C, which is the redundant axis, in a direction away from the singular point, i.e., the second torsion joint 23. This avoidance control makes it possible to prevent the robot arm 10 from becoming uncontrollable while maintaining the position and posture of the TCP 17.
[0026] A user with specialized knowledge can create teaching data so that the robot arm 10 does not reach a singular point. On the other hand, when the direct teaching method is adopted, even a user without specialized knowledge can easily create teaching data, but the teaching point may be a singular point or the teaching data may pass through a singular point during operation. Even when such teaching data is provided by a user, the robot control unit 31 executes the avoidance control to avoid an uncontrollable state of the robot arm 10.
[0027] The robot control unit 31 executes the following steps (A) to (D) as the avoidance control. (A) During the operation control of the robot arm 10, whether or not the robot arm 10 has reached the vicinity of the singular point is constantly monitored based on the information on the position and posture of the robot arm 10. (B) When the robot arm 10 reaches an area near the singular point, the joint angle of the second torsion joint 23 having the third axis 2C, which is a redundant axis, is changed while maintaining the position and orientation of the TCP 17 in calculations. (C) By calculating the joint angles of the other joints 21, 22, 24 to 27 of the robot arm 10 when the second torsion joint 23 of the redundant axis is set to the changed joint angle, the joint angle of the second torsion joint 23 that can avoid the singularity is detected. (D) The detected angle is set as the new joint angle of the second torsion joint 23, and motion control of the robot arm 10 is continued.
[0028] In order to execute the above avoidance control, 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 performs part of step (A) and monitors the position and posture of the robot arm 10 using a Jacobian. The Jacobian converts the joint angular velocity of the robot arm 10 into the tip velocity of the robot arm 10, that is, the velocity of the TCP 17. When the position and posture P of the TCP 17 of the robot arm 10 is P=[x, y, z, u, v, w], the Jacobian between the change amount of the joint angle and the change amount of the position and posture P is expressed by a Jacobian determinant det|J| shown in the following formula (1). Note that θ1 to θ7 in formula (1) are joint angle vectors of the first axis 2A to the seventh axis 2G in the joints 21 to 27, respectively.
[0029]
number
[0030] The monitoring unit 34 solves the Jacobian determinant det|J| from the length information of each arm element of the robot arm 10 and the rotation angle information acquired by each of the encoders 53 of the first driving unit 41 to the seventh driving unit 47, and digitizes and monitors the position and orientation P of the TCP 17. At a singular point, the Jacobian determinant det|J|=0.
[0031] The determination unit 35 is also a functional unit that performs part of step (A) above. The determination unit 35 determines whether the robot arm 10 has reached the vicinity area of the singular point based on whether the absolute value of the numerical value of the Jacobian determinant det|J| is below a predetermined threshold. The threshold is set in consideration of a margin for preventing the robot arm 10 from reaching the singular point, and is stored in advance in the storage unit 33. When the absolute value of det|J| is below the threshold, the determination unit 35 determines that the robot arm 10 has reached the vicinity area.
[0032] The joint angle calculation unit 36 is a functional unit that performs the above step (B). When the determination unit 35 determines that the vicinity of the singular point has been reached, the joint angle calculation unit 36 performs a process of calculating a 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 minutely changes the angle of the joint of the redundant axis in the positive and negative directions. FIG. 3 is a perspective view of the robot arm 10 showing a detection situation of the joint angle of the redundant axis that avoids the singular point. As described above, the redundant axis in this embodiment is the third axis 2C. The joint angle calculation unit 36 minutely changes the rotation angle of the third axis 2C, that is, the joint angle of the second torsion joint 23, in a simulation manner in the positive and negative directions.
[0033] Then, the joint angle calculation unit 36 performs an inverse kinematics calculation on the robot arm 10 in which the joint angle of the second torsion joint 23 has been changed while keeping the position and posture P of the TCP 17 unchanged, and calculates the angles of each 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 several stages in the positive and negative directions, and performs an inverse kinematics calculation for each rotation angle of each redundant axis.
[0034] The detection unit 37 is a functional unit that performs step (C) above. The detection unit 37 detects the angle of the redundant axis that can move the robot arm 10 away from the vicinity of the singular point. That is, the detection unit 37 detects the rotation angle of the third axis 2C, i.e., the joint angle of the second torsion joint 23, at which the absolute value of the Jacobian determinant det|J| exceeds the threshold value that defines the vicinity of the singular point.
[0035] Specifically, the detection unit 37 digitizes the position and posture of the TCP 17 of the robot arm 10, which is specified from the angles of each joint 21 to 27 including the redundant axis, which are calculated by the joint angle calculation unit 36 through the inverse kinematics calculation, by applying it to the Jacobian determinant det|J|. This digitization is performed for each rotation angle of the redundant axis changed in the positive and negative directions. The detection unit 37 refers to these numerical values and selects an appropriate angle of the redundant axis from among the angles of the redundant axes having numerical values exceeding the threshold value. Furthermore, the detection unit 37 updates the existing teaching data to the angle of the selected redundant axis, and stores it in the storage unit 33. Thereafter, the robot control unit 31 controls the robot arm 10 with the updated teaching data.
[0036] According to the robot system 1 performing the monitoring control described above, first, the monitoring unit 34 constantly monitors whether the robot arm 10 has reached the vicinity of the singular point using the Jacobian determinant. Next, when the determination unit 35 determines that the robot arm 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, which is a redundant axis in the calculation formula, while maintaining the position and posture of the TCP. Furthermore, an inverse kinematic calculation is performed for each changed joint angle, and the joint angles of each joint 21 to 27 are calculated. Then, the joint angle of the second torsion joint 23 that can avoid the singular point is detected by applying the changed joint angle to the Jacobian determinant and quantifying it. Therefore, by utilizing the redundant axis, it is possible to realize control that does not allow the robot arm 10 to reach the singular point while maintaining the position and posture of the TCP 17, that is, control that does not cause the robot arm 10 to become uncontrollable.
[0037] [Operation flow] 4 is a flowchart showing an example of the operation 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 memory unit 33 to operate the robot arm 10. While executing this operation, the monitoring unit 34 digitizes the Jacobian of the current joint angles of the joints 21 to 27 using the Jacobian determinant det|J| (step S1).
[0038] Next, the determination unit 35 determines whether the absolute value of the numerical value of det|J| calculated in step S1 is equal to or 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 continues to control the motion of the robot arm 10 without changing the joint angle of the second torsion joint 23, which is a redundant axis (step S3).
[0039] On the other hand, if the absolute value is below 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, for example, by one pitch of a predetermined angle pitch in the positive direction while keeping the position and posture of the TCP 17 fixed in the software calculation (step S4). Then, an inverse kinematic calculation is performed on the state of the robot arm 10 after the angle of the redundant axis is changed, and the angles of the joints 21 to 27 at that time are calculated (step S5).
[0040] Next, it is confirmed whether the change in the redundant shaft angle has been completed (step S6). For example, if the redundant shaft angle is set to be changed by 5 pitches in the positive direction and 5 pitches in the negative direction, it is confirmed whether the angle change for 10 pitches has been completed. If the change in the redundant shaft angle has not been completed (NO in step S6), the process returns to step S4, the redundant shaft angle is changed to another angle, and the same process is repeated.
[0041] When the change in the redundant axis angle is completed (YES in step S6), the joint angle calculation unit 36 checks whether or not a solution exists for the inverse kinematics calculation executed in step S5 (step S7). The robot arm 10 has a range in which it can move. As a result of changing the redundant axis angle, it may go outside the movable range of the robot arm 10. If it goes outside the movable range, the robot arm 10 cannot move. In such a case, even if an inverse kinematics calculation is performed, the result is that there is no solution.
[0042] If a solution of the inverse kinematics calculation exists (YES in step S7), the detection unit 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 different from the absolute value of det|J| calculated in step S1 because the redundant shaft angle has been changed. Thereafter, the detection unit 37 selects a redundant shaft angle that has an absolute value of det|J| greater than the threshold value used in the judgment in step S2 (step S9). If a redundant shaft angle for which multiple solutions exist is extracted in the inverse kinematics calculation in step S5, the redundant shaft angle that exceeds the threshold value and has the largest absolute value of det|J| may be set to be selected. In the subsequent operation control of the robot arm 10, the teaching data updated to the joint angles of the joints 21 to 27 based on the selected redundant shaft angle is adopted.
[0043] On the other hand, if there is no solution to the inverse kinematics calculation (NO in step S7), it means that there is no redundant axis angle that can prevent the robot arm 10 from reaching a singular point. In this case, the detection unit 37 issues an alarm on the operation panel 19 or another display device, and stops the control of the robot arm 10 (step S10). After that, measures such as recreating the teaching data are taken.
[0044] [Inventions included in the above embodiments] The above-described embodiment includes the following inventions.
[0045] A robot control method according to one aspect of the present invention is a control method for a vertical multi-joint robot equipped with a redundant axis, which monitors whether the robot has reached an area near a singularity based on information on the position and posture of the robot, and if the robot has reached an area near a singularity, detects the angle of the redundant axis joint at which the singularity can be avoided by calculating the angle of the other joints of the robot when the redundant axis is at the changed angle, and controls the operation of the robot by setting the detected angle as the new angle of the redundant axis.
[0046] According to this control method, whether the robot has reached the vicinity of the singular point is constantly monitored. If the robot has reached the vicinity of the singular point, the angle of the redundant axis joint is changed in a calculation formula, and the angle of the redundant axis that can avoid the singular point while maintaining the position and orientation of the TCP is detected. Therefore, by utilizing the redundant axis, it is possible to realize control that does not allow the robot to reach the singular point, that is, control that does not cause the robot to become uncontrollable, while maintaining the position and orientation of the TCP.
[0047] In the above-mentioned robot control method, the position and posture of the robot can be evaluated based on the numerical value of a Jacobian determinant, and when the absolute value of the numerical value of the Jacobian determinant falls below a predetermined threshold, it can be determined that the robot has reached an area near a singularity.
[0048] According to this embodiment, whether the robot has reached the vicinity of the singular point can be objectively evaluated by the value of the Jacobian determinant. That is, the relationship between each motion axis of the robot and the position of the TCP is constantly grasped by the Jacobian, and when the value of the Jacobian falls below a threshold, it can be determined that the robot has approached the singular point, thereby simplifying the robot control logic.
[0049] In the above-mentioned robot control method, the angle of the redundant axis can be changed to a positive direction or a negative direction, and an inverse kinematics calculation can be performed while keeping the position and posture of the TCP unchanged, thereby calculating the angle of each joint of the robot.
[0050] By performing the inverse kinematics calculation, the angles of the robot's joints can be calculated while the position and orientation of the TCP are fixed. According to the above embodiment, the angles of the redundant axes can be swung in the positive and negative directions, and the angles of the joints that can avoid singular points can be quickly found by the inverse kinematics calculation.
[0051] A robot system according to another aspect of the present invention includes a vertical articulated robot having a redundant axis, and a control unit that controls operation of the robot, the control unit including: a monitoring unit that digitizes and monitors a position and posture of the robot using a Jacobian determinant; a determination unit that determines whether the robot has reached a region near a singularity based on whether an absolute value of the numerical value of the Jacobian determinant is below a predetermined threshold; a joint angle calculation unit that, when the robot has reached a region near a singularity, slightly changes the angle of the joint of the redundant axis in a positive direction and a negative direction in a calculation, performs an inverse kinematics calculation while leaving the position and posture of the TCP of the robot unchanged, and calculates an angle of each joint of the robot; and a detection unit that applies the position and posture of the robot specified from the changed angle of the redundant axis and the angle of each joint obtained by the inverse kinematics calculation to a Jacobian determinant to digitize, and detects the angle of the redundant axis that exceeds the threshold, and the control unit controls the operation of the robot using the detected angle as a new angle of the redundant axis.
[0052] According to this robot system, the monitoring unit constantly monitors whether the robot has reached the vicinity of the singular point using the Jacobian determinant. If the determining 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 orientation of the TCP. Therefore, by utilizing the redundant axis, it is possible to realize control that does not allow the robot to reach the singular point, that is, control that does not cause the robot to become uncontrollable, while maintaining the position and orientation of the TCP.
Claims
1. A method for controlling a vertical articulated robot equipped with redundant axes, comprising the steps of: monitoring whether the robot has reached a region near a singular point based on information on the position and orientation of the robot; When the robot has reached a region near a singular point, a calculation is performed to change an angle of the joint of the redundant axis while maintaining a position and an orientation of the TCP of the robot; Detecting an angle of the redundant axis that can avoid the singular point by calculating an angle of another joint of the robot when the redundant axis is at the changed angle; A method for controlling a robot, the method comprising the steps of: controlling an operation of the robot by setting a detected angle as a new angle of the redundant axis; During the monitoring, a position and an orientation of the robot are evaluated based on a value of a Jacobian determinant, and when an absolute value of the value of the Jacobian determinant falls below a predetermined threshold, it is determined that the robot has reached a region near a singularity; When making the above change, the angle of the redundant axis is slightly changed in the positive and negative directions, and an inverse kinematics calculation is performed while keeping the position and posture of the TCP unchanged, to calculate the angle of each joint of the robot, In the detection, when a solution of the inverse kinematics calculation exists, an absolute value of a Jacobian determinant is calculated for each of the obtained angles of the joints, thereby detecting an angle of the redundant axis for which the absolute value of the Jacobian determinant is greater than the threshold value; A robot control method, comprising: determining, when a solution to the inverse kinematics calculation does not exist, that an angle of the redundant axis that can avoid the singular point does not exist.
2. A vertically articulated robot equipped with redundant axes, A control unit for controlling an operation of the robot, The control unit is a monitoring unit that monitors the position and orientation of the robot by converting the position and orientation into numerical values using a Jacobian determinant; a determination unit that determines whether or not the robot has reached a region near a singularity based on whether or not an absolute value of a numerical value of the Jacobian determinant is below a predetermined threshold; a joint angle calculation unit that, when the robot has reached a region near a singular point, minutely changes the angles of the joints of the redundant axes in a positive or negative direction in a calculation, performs an inverse kinematic calculation while keeping the position and posture of the TCP of the robot unchanged, and calculates the angles of each joint of the robot; a detection unit that applies a Jacobian determinant to a position and posture of the robot identified from the changed angle of the redundant axis and the angle of each joint obtained by the inverse kinematics calculation, to convert the position and posture of the robot into a numerical value, and detects an angle of the redundant axis for which an absolute value of the Jacobian determinant exceeds the threshold value; The detection unit includes: When a solution of the inverse kinematics calculation exists, an absolute value of a Jacobian determinant is calculated for each of the obtained angles of the joints, and an angle of the redundant axis for which the absolute value of the Jacobian determinant is greater than the threshold value is detected; If a solution to the inverse kinematics calculation does not exist, it is determined that there is no angle of the redundant axis that can avoid the singular point; The control unit controls the operation of the robot using the detected angle as a new angle of the redundant axis.
Citation Information
Patent Citations
Method for specific posture detection and specific posture avoidance for redundant manipulator
JP1998329066A
Control method and control device
JP2005230952A
Control device and control method for redundant robot having redundant joint
JP2007136590A
Articulated robot device and method for controlling the same
JP2010110878A
Working track formation device and method
JP2016002628A