Robot singular point avoiding method and device and computer readable storage medium

By identifying singular points in the robot's trajectory path and designing arc path replacements, the problems of trajectory planning complexity and risk in the robot's singular point avoidance method are solved, and a more stable operation effect is achieved.

CN120773033APending Publication Date: 2025-10-14GREE ELECTRIC APPLIANCE INC OF ZHUHAI
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510983383.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-07-16
Publication Date
2025-10-14

AI Technical Summary

Technical Problem

The existing robot singularity avoidance methods are difficult to effectively avoid negative impacts and are prone to introduce risks, especially under high-precision requirements, where trajectory planning is complex, speed and posture changes are uncertain, and may sacrifice motion performance or increase control system complexity.

Method used

By determining the correspondence between the robot's end effector and joint state parameters, the singular point position is identified, and an arc path is designed based on the center of the circle and the radius of the circle to replace the singular path, forming a target trajectory path and avoiding the singular point.

Benefits of technology

The uncertainty of the robot's speed and posture changes when passing through the singular point is reduced, the risks caused by speed and posture changes are avoided, and more stable operation is achieved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120773033A_ABST
    Figure CN120773033A_ABST
Patent Text Reader

Abstract

The invention discloses a robot singular point avoiding method and device and a computer readable storage medium. The method comprises the following steps: determining a parameter corresponding relationship between a first state parameter of an end effector in the robot and a second state parameter which needs to be reached by each joint in the robot; determining that the current position of the end effector is a singular point existing in the current trajectory path of the robot under the condition that the parameter correspondence comprises a plurality of different correspondence; determining a circle center position according to the singular point, and determining an arc meeting a preset angle range by taking the circle center position as a circle center and a circle radius as a radius; replacing a singular path in the trajectory path with an arc to obtain a target trajectory path; and controlling the robot to operate according to the target trajectory path to avoid singular points. The technical problems that a traditional singular point avoiding method in the related technology is difficult to effectively avoid negative effects in the operation process of the robot, and a certain risk is likely to be introduced are solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of robotics technology, and more specifically, to a method and device for avoiding robot singularity points, and a computer-readable storage medium. Background Art

[0002] During the operation of the robot, it is often affected by the singularity point, causing the robot to stop abnormally and alarm. Although there are many attempts in the existing technology to avoid or minimize the negative effects of singularity points while maintaining the robot's motion ability, such as shutdown, drastic changes in speed or posture; these methods usually involve adjusting the robot's motion path, optimizing the inverse kinematic solution or switching the operation mode, and usually have the following problems: 1) When determining the avoidance trajectory, especially when high-precision avoidance is required, the uncertainty of interpolation point selection and the complexity of trajectory planning may be encountered; 2) In the process of avoiding singularity points, the speed and posture of the robot are often affected by the singularity point. The state may change unpredictably, especially when fast or abrupt path adjustments are made. This uncertainty increases the risk of operation; 3) In order to simplify calculations or reduce the difficulty of avoiding singularities, some technologies may choose to reduce the robot's degrees of freedom or sacrifice its motion performance, which is not advisable in application scenarios that require retaining the full range of motion and degrees of freedom; 4) In order to avoid singularities, some technologies need to switch between different operating modes. This switching not only increases the complexity of the control system, but may also affect the stability of the robot throughout the entire motion process; it is difficult to effectively improve the negative impact of singularities on the robot's operation.

[0003] In view of the problem that traditional singularity avoidance methods in the above-mentioned related technologies are difficult to effectively avoid negative impacts during robot operation and are prone to introduce certain risks, no effective solution has been proposed so far. Summary of the Invention

[0004] The embodiments of the present application provide a method and device for avoiding robot singularity points, and a computer-readable storage medium, to at least solve the technical problem in the related art that traditional singularity avoidance methods are difficult to effectively avoid negative impacts during robot operation and are prone to introduce certain risks.

[0005] According to one aspect of an embodiment of the present application, a method for avoiding robot singularity points is provided, comprising: determining a parameter correspondence between a first state parameter of an end effector in a robot and a second state parameter that each joint in the robot needs to reach, wherein the first state parameter is a parameter corresponding to a current state of the end effector, and the second state parameter is a parameter corresponding to a current state that each joint needs to reach; when the parameter correspondence includes a plurality of different correspondences, determining that the current position of the end effector is a singularity point in the current trajectory path of the robot, wherein the singularity point is the position of the robot when following the trajectory path. The method comprises the following steps: determining a point in the trajectory path where the degree of freedom is lower than a degree of freedom threshold during the trajectory movement, wherein the degree of freedom is used to characterize the movement ability of the robot; determining the center position of a circle according to the singular point, and determining an arc with the center position of the circle as the center and the radius of the circle as the radius that meets a predetermined angle range, wherein the radius of the circle is a radius determined according to the trajectory accuracy of the robot; replacing the singular path in the trajectory path with the arc to obtain a target trajectory path, wherein the singular path is a path segment in the trajectory path containing the singular point, and the starting position and the ending position of the arc are the same as those of the singular path; and controlling the robot to run according to the target trajectory path to avoid the singular point.

[0006] Optionally, the first state parameter is the end posture, and the second state parameter is the joint angle. Determining the parameter correspondence between the first state parameter of the end effector in the robot and the second state parameter that each joint in the robot needs to achieve includes: obtaining the end posture of the end effector in the current state, wherein the end posture is the position and posture of the end effector in the current state; performing inverse kinematics according to the end posture to solve the joint angle that each joint needs to achieve to obtain a solution result; when the solution result indicates that at least one joint corresponds to multiple joint angles, determining that the parameter correspondence contains multiple different correspondences.

[0007] Optionally, the first state parameter is the terminal velocity, and the second state parameter is the joint velocity. Determining the parameter correspondence between the first state parameter of the end effector in the robot and the second state parameter that each joint in the robot needs to achieve includes: obtaining the terminal velocity of the end effector in the current state and the current joint velocity of each joint; establishing a Jacobian matrix according to the rate of change of the terminal velocity with each joint velocity; and when the determinant of the Jacobian matrix is ​​zero, determining that the parameter correspondence includes multiple different correspondences.

[0008] Optionally, the center position of the circle is determined according to the singular point, and an arc that meets a predetermined angle range is determined with the center position of the circle as the center and the circle radius as the radius, including: determining the path segment in the trajectory path that contains the singular point and whose length meets the predetermined length range as the singular path; determining the starting position of the singular path as the avoidance starting point according to the running direction of the trajectory path, and determining the ending position of the singular path as the avoidance end point; determining the center position of the circle according to the singular point, the avoidance starting point, the avoidance end point and the circle radius; determining a plurality of trajectory points corresponding to the center position of the circle, the circle radius and the predetermined angle range according to a predetermined expression, and determining a curve composed of the plurality of trajectory points as the arc, wherein the predetermined expression is: (x±R sin θ, y±R cos θ), θ∈(α, β), (x, y) are the coordinates of the center position of the circle, R represents the circle radius, θ represents the angular position of the trajectory point relative to the center position of the circle, and (α, β) represents the predetermined angle range.

[0009] Optionally, the center position of the circle includes a first center position, a second center position and a third center position, and the center position of the circle is determined according to the singular point, the avoidance starting point, the avoidance end point and the circle radius, including: determining the position where the singular point is located as the second center position of the circle; determining the line connecting the avoidance starting point and the avoidance end point as the baseline; determining the position whose first vertical distance from the avoidance starting point in the vertical direction of the baseline is a predetermined distance as the first center position of the circle, and determining the position whose second vertical distance from the avoidance end point in the vertical direction of the baseline is a predetermined distance as the second center position of the circle, wherein the first center position and the second center position are located on the same side of the baseline, and the predetermined distance is proportional to the circle radius.

[0010] Optionally, the center position includes a first center position, a second center position, and a third center position, the predetermined angle range includes a first sub-predetermined angle range, a second sub-predetermined angle range, and a third sub-predetermined angle range, and the predetermined expression includes a first predetermined expression, a second predetermined expression, and a third predetermined expression. Determining multiple trajectory points corresponding to the center position, the circle radius, and the predetermined angle range according to the predetermined expression, and determining that a curve composed of the multiple trajectory points is the arc, includes: determining multiple first trajectory points corresponding to the first center position, the circle radius, and the first sub-predetermined angle range according to the first predetermined expression, and determining that the curve composed of the multiple first trajectory points is a first sub-arc, wherein the first predetermined expression is: (x1+R sin θ, y1-R cos θ) θ), θ∈(α1, β1), (x1, y1) are the coordinates of the center position of the circle, and (α1, β1) represents the first predetermined angle range; according to the second predetermined expression, a plurality of second trajectory points corresponding to the second center position of the circle, the circle radius and the second sub-predetermined angle range are determined, and the curve composed of the plurality of second trajectory points is determined to be a second sub-arc, wherein the first predetermined expression is: (x2+R sin θ, y2+R cos θ), θ∈(α2, β2), (x2, y2) are the coordinates of the center position of the circle, and (α2, β2) represents the first predetermined angle range; according to the third predetermined expression, a plurality of third trajectory points corresponding to the third center position of the circle, the circle radius and the third sub-predetermined angle range are determined, and the curve composed of the plurality of third trajectory points is determined to be a third sub-arc, wherein the first predetermined expression is: (x3-R sin θ, y3-R cos θ), θ∈(α3, β3), (x3, y3) are the coordinates of the center position of the circle, and (α3, β3) represents the first predetermined angle range; the first sub-arc, the second sub-arc and the third sub-arc are connected to obtain the arc, wherein the sub-starting position of the first sub-arc is the starting position of the arc, the sub-ending position of the third sub-arc is the ending position of the arc, the first sub-arc is tangent to the second sub-arc, and the second sub-arc is tangent to the third sub-arc.

[0011] Optionally, after using the arc to replace the singular path in the trajectory path to obtain the target trajectory path, the robot singular point avoidance method also includes: an adjustment step, when a target singular point is detected in the target trajectory path, increasing the circle radius according to a preset adjustment amplitude to obtain a target circle radius, wherein the target singular point is a singular point different from the singular point; an acquisition step, and re-determining the target arc that meets the predetermined angle range with the center position of the circle as the center and the target circle radius as the radius; an updating step, replacing the arc with the target arc to update the target trajectory path; repeating the adjustment step, the acquisition step and the updating step at least once in sequence until the singular point does not exist in the target trajectory path or the target circle radius exceeds the trajectory accuracy range of the robot.

[0012] According to another aspect of an embodiment of the present application, a device for avoiding singularity points of a robot is further provided, comprising: a first determining unit for determining a parameter correspondence between a first state parameter of an end effector in a robot and a second state parameter that each joint in the robot needs to reach, wherein the first state parameter is a parameter corresponding to a current state of the end effector, and the second state parameter is a parameter corresponding to a current state that each joint needs to reach; a second determining unit for determining, when the parameter correspondence includes a plurality of different correspondences, that the current position of the end effector is a singularity point in the current trajectory path of the robot, wherein the singularity point is a singularity point when the robot moves along the trajectory path. A point in the process of movement at which the degree of freedom is lower than a degree of freedom threshold, and the degree of freedom is used to characterize the movement ability of the robot; a third determination unit is used to determine the center position of a circle according to the singular point, and determine an arc that meets a predetermined angle range with the center position of the circle as the center and the radius of the circle as the radius, wherein the radius of the circle is a radius determined according to the trajectory accuracy of the robot; an acquisition unit is used to replace the singular path in the trajectory path with the arc to obtain a target trajectory path, wherein the singular path is a path segment in the trajectory path that contains the singular point, and the starting position and ending position of the arc are the same as those of the singular path; a control unit is used to control the robot to run according to the target trajectory path to avoid the singular point.

[0013] Optionally, the first state parameter is the end posture, the second state parameter is the joint angle, and the first determination unit includes: a first acquisition module, used to obtain the end posture of the end effector in the current state, wherein the end posture is the position and posture of the end effector in the current state; a second acquisition module, used to perform kinematic inverse solution according to the end posture to solve the joint angle that each joint needs to reach and obtain a solution result; a first determination module, used to determine that the parameter correspondence relationship contains multiple different correspondence relationships when the solution result indicates that at least one joint corresponds to multiple joint angles.

[0014] Optionally, the first state parameter is the terminal velocity, the second state parameter is the joint velocity, and the first determination unit includes: a third acquisition module, used to obtain the terminal velocity of the end effector in the current state and the current joint velocity of each joint; an establishment module, used to establish a Jacobian matrix according to the rate of change of the terminal velocity with the change of each joint velocity; a second determination module, used to determine that the parameter correspondence relationship contains multiple different correspondence relationships when the determinant result of the Jacobian matrix is ​​zero.

[0015] Optionally, the third determination unit includes: a third determination module, used to determine that the path segment in the trajectory path contains the singular point and the length satisfies a predetermined length range is the singular path; a fourth determination module, used to determine the starting position of the singular path as the avoidance starting point and the ending position of the singular path as the avoidance end point according to the running direction of the trajectory path; a fifth determination module, used to determine the center position of the circle according to the singular point, the avoidance starting point, the avoidance end point and the circle radius; a sixth determination module, used to determine a plurality of trajectory points corresponding to the center position of the circle, the circle radius and the predetermined angle range according to a predetermined expression, and determine that the curve formed by the plurality of trajectory points is the arc, wherein the predetermined expression is: (x±R sin θ, y±R cos θ), θ∈(α, β), (x, y) are the coordinates of the center position of the circle, R represents the circle radius, θ represents the angular position of the trajectory point relative to the center position of the circle, and (α, β) represents the predetermined angle range.

[0016] Optionally, the center position of the circle includes a first center position, a second center position and a third center position, and the fifth determination module includes: a first determination submodule, used to determine that the position where the singular point is located is the second center position of the circle; a second determination submodule, used to determine that the line connecting the avoidance starting point and the avoidance end point is the baseline; a third determination submodule, used to determine that the position whose first vertical distance from the avoidance starting point in the vertical direction of the baseline is a predetermined distance is the first center position of the circle, and determine that the position whose second vertical distance from the avoidance end point in the vertical direction of the baseline is a predetermined distance is the second center position of the circle, wherein the first center position and the second center position are located on the same side of the baseline, and the predetermined distance is proportional to the radius of the circle.

[0017] Optionally, the center position comprises a first center position, a second center position and a third center position, the predetermined angle range comprises a first sub predetermined angle range, a second sub predetermined angle range and a third sub predetermined angle range, the predetermined expression comprises a first predetermined expression, a second predetermined expression and a third predetermined expression, the sixth determining module comprises: a fourth determining submodule, configured to determine a plurality of first track point positions corresponding to the first center position, the circle radius and the first sub predetermined angle range according to the first predetermined expression, and determine that the curve formed by the plurality of first track point positions is a first sub-arc, wherein the first predetermined expression is (x1+Rsinθ, y1-R cos θ), θ∈(α1, β1), (x1, y1) is the coordinate of the center position, and (α1, β1) represents the first predetermined angle range; a fifth determining submodule, configured to determine a plurality of second track point positions corresponding to the second center position, the circle radius and the second sub predetermined angle range according to the second predetermined expression, and determine that the curve formed by the plurality of second track point positions is a second sub-arc, wherein the first predetermined expression is (x2+R sinθ, y2+R cosθ), θ∈(α2, β2), (x2, y2) is the coordinate of the center position, and (α2, β2) represents the first predetermined angle range; a sixth determining submodule, configured to determine a plurality of third track point positions corresponding to the third center position, the circle radius and the third sub predetermined angle range according to the third predetermined expression, and determine that the curve formed by the plurality of third track point positions is a third sub-arc, wherein the first predetermined expression is (x3-R sin θ, y3-R cosθ), θ∈(α3, β3), (x3, y3) is the coordinate of the center position, and (α3, β3) represents the first predetermined angle range; and an obtaining submodule, configured to connect the first sub-arc, the second sub-arc and the third sub-arc to obtain the arc, wherein the sub starting position of the first sub-arc is the starting position of the arc, the sub ending position of the third sub-arc is the ending position of the arc, the first sub-arc is tangent to the second sub-arc, and the second sub-arc is tangent to the third sub-arc.

[0018] Optionally, the robot singularity avoidance device also includes: an updating unit, which is used to replace the singular path in the trajectory path with the arc to obtain the target trajectory path, and then perform an adjustment step. When a target singular point is detected in the target trajectory path, the circle radius is increased according to a preset adjustment amplitude to obtain a target circle radius, wherein the target singular point is a singular point different from the singular point; perform an acquisition step, and re-determine a target arc that meets the predetermined angle range with the center position of the circle as the center and the target circle radius as the radius; perform an updating step, and replace the arc with the target arc to update the target trajectory path; repeat the adjustment step, the acquisition step and the update step at least once in sequence until the singular point does not exist in the target trajectory path or the target circle radius exceeds the trajectory accuracy range of the robot.

[0019] According to another aspect of an embodiment of the present application, a robot singular point avoidance system is provided, wherein the robot singular point avoidance system uses any one of the above-mentioned robot singular point avoidance methods.

[0020] According to another aspect of an embodiment of the present application, a computer-readable storage medium is further provided, wherein the computer-readable storage medium includes a stored program, wherein the program executes any one of the above-mentioned methods for avoiding robot singularity points.

[0021] According to another aspect of an embodiment of the present application, a processor is further provided, which is used to run a program, wherein the program executes any one of the above-mentioned methods for avoiding robot singularity points when running.

[0022] According to another aspect of an embodiment of the present application, a computer program product is further provided, comprising computer instructions, which, when executed by a processor, execute any one of the above-described methods for avoiding robot singularity points.

[0023] In an embodiment of the present application, the parameter correspondence between the first state parameter of the end effector in the robot and the second state parameter that each joint in the robot needs to achieve can be determined first; then, when the parameter correspondence includes multiple different correspondences, it can be determined that the robot is in the process of running according to the trajectory path, and the current position of the end effector can be determined as the singularity point in the current trajectory path of the robot; then, the center position of the circle can be determined based on the singularity point, and an arc that meets the predetermined angle range is determined with the center position of the circle as the center and the radius of the circle as the radius; then, the singular path in the trajectory path is replaced by the arc to avoid the singularity point and obtain the target trajectory path; finally, the robot can be controlled to run according to the target trajectory path that avoids the singularity point. Through the above technical solution, when it is determined that there is a singular point in the current trajectory path of the robot, the purpose of avoiding the singular point is achieved by making an arc based on the center of the circle determined by the singular point to replace the original path segment. The technical effect of using an arc path to replace the original path segment to better connect with the original path is achieved, which reduces the uncertainty of the robot's speed and posture changes when passing through the singular point, avoids the risks brought about by speed and posture changes, and thus solves the technical problem that traditional singular point avoidance methods in related technologies are difficult to effectively avoid negative impacts during the operation of the robot and are prone to introduce certain risks. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0025] Figure 1 This is a hardware structure block diagram of a mobile terminal for a method for avoiding robot singularity points according to an embodiment of the present application;

[0026] Figure 2 is a flow chart of a method for avoiding robot singularity points according to an embodiment of the present application;

[0027] Figure 3 is a flow chart of an optional method for avoiding robot singularity points according to an embodiment of the present application;

[0028] Figure 4 is a schematic diagram of a three-segment circular arc according to an embodiment of the present application;

[0029] Figure 5 2 is a schematic diagram of a device for avoiding robot singularity points according to an embodiment of the present application.

[0030] The above drawings include the following reference numerals:

[0031] 102. Processor; 104. Memory; 106. Transmission device; 108. Input / output device. DETAILED DESCRIPTION

[0032] In order to enable those skilled in the art to better understand the present invention, the following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments in the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts should fall within the scope of protection of this application.

[0033] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequential order. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in a sequence other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0034] As described in the background, conventional singularity avoidance methods in the related art are difficult to effectively avoid negative impacts on robot operation and are prone to introducing certain risks. To address these shortcomings, embodiments of the present application provide a method and apparatus for avoiding robot singularity points, as well as a computer-readable storage medium.

[0035] The technical solutions in the embodiments of the present application will be described clearly and completely below in conjunction with the drawings in the embodiments of the present application.

[0036] The method embodiments provided in the embodiments of the present application can be executed in a mobile terminal, a computer terminal or a similar computing device. Taking running on a mobile terminal as an example, Figure 1 This is a hardware structure block diagram of a mobile terminal for a method for avoiding robot singularity points according to an embodiment of the present application. Figure 1 As shown, the mobile terminal may include one or more ( Figure 1Only one is shown) a processor 102 (the processor 102 may include but is not limited to a microprocessor MCU or a programmable logic device FPGA and other processing devices) and a memory 104 for storing data, wherein the mobile terminal may also include a transmission device 106 and an input and output device 108 for communication functions. It will be understood by those skilled in the art that Figure 1 The structure shown is only for illustration and does not limit the structure of the mobile terminal. Figure 1 More or fewer components than shown, or with Figure 1 Different configurations shown.

[0037] The memory 104 can be used to store computer programs, such as software programs and modules for application software, such as the computer program corresponding to the robot singularity avoidance method in the embodiments of the present application. The processor 102 executes the computer programs stored in the memory 104 to execute various functional applications and data processing, thereby implementing the above-mentioned method. The memory 104 may include high-speed random access memory and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 may further include memory remotely located relative to the processor 102, and these remote memories can be connected to the mobile terminal via a network. Examples of such networks include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof. The transmission device 106 is used to receive or transmit data via a network. Specific examples of such networks may include a wireless network provided by the mobile terminal's telecommunications provider. In one example, the transmission device 106 includes a network interface controller (NIC), which can be connected to other network devices via a base station to enable communication with the Internet. In one example, the transmission device 106 may be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.

[0038] According to an embodiment of the present application, a method embodiment of a method for avoiding singularity points of a robot is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.

[0039] Figure 2 Flowchart of the method for avoiding robot singularity points according to an embodiment of the present application. Figure 2 As shown, the method includes the following steps:

[0040] Step S202, determine the parameter correspondence between the first state parameter of the end effector in the robot and the second state parameter that each joint in the robot needs to achieve, wherein the first state parameter is the parameter corresponding to the current state of the end effector, and the second state parameter is the parameter corresponding to the current state that each joint needs to achieve.

[0041] Optionally, the above-mentioned robots may include but are not limited to six-axis industrial robots, multi-arm collaborative robots, redundant degree of freedom robots and other robots with singular configurations.

[0042] Optionally, the first state parameter may include but is not limited to the position, linear velocity, angular velocity, etc. of the terminal robot; the second state parameter may include but is not limited to the angle value, joint velocity, etc. of each joint of the robot.

[0043] In this embodiment, the correspondence between the first state parameter of the end effector in the robot and the second state parameter of each joint can be analyzed to provide a data basis for subsequent analysis of whether there are singular points in the process of the robot running along the trajectory path.

[0044] Step S204, when the parameter correspondence includes multiple different correspondences, determines that the current position of the end effector is a singularity point in the current trajectory path of the robot, wherein the singularity point is a point where the degree of freedom of the robot is lower than the degree of freedom threshold during the operation of the robot according to the trajectory path, and the degree of freedom is used to characterize the robot's movement ability.

[0045] Generally speaking, the correspondence between the first state parameter and the second state parameter should be unique, that is, the state that each joint needs to reach when the end effector is in a certain state should be unique, so as to ensure that the robot can operate normally; if there are multiple different correspondences between the first state parameter and the second state parameter, it can be considered that the current robot's degree of freedom is damaged, which is equivalent to the robot not knowing which specific state it needs to continue operating in. In this case, it can be considered that a singularity point has appeared in the process of the robot running along the trajectory path, and it can be determined that the current position of the end effector is the singularity point in the robot's current trajectory path.

[0046] Step S206 , determining the center position of the circle according to the singular point, and determining an arc with the center position as the circle center and the circle radius as the radius that meets the predetermined angle range, wherein the circle radius is a radius determined according to the trajectory accuracy of the robot.

[0047] In this embodiment, the center position of the circle can be determined according to the position planning of the singular point, and the radius R of the circle can be adaptively determined according to the trajectory accuracy R′ of the robot. Then, a circle can be drawn with the center position as the center and the radius as the radius, and the arc that meets the predetermined angle range is selected as the path to avoid the singular point, so that the interpolated arc avoidance path can be well connected with the original path, avoiding the uncertainty of the robot's posture and speed changes during operation due to abrupt connection.

[0048] It should be noted that the robot's trajectory accuracy refers to the degree of fit between its actual motion path and the preset target path during the robot's operation. Generally, the robot's trajectory accuracy will decrease with the increase of the circle radius R. Therefore, when planning a new trajectory, the value of R can be determined based on the actual situation. Generally speaking, the smaller R, the better. Since the robot models and the requirements for trajectory accuracy are different, the value of R can be adaptively determined based on the actual situation in the actual process, and no specific restrictions are made here. Generally, the R of a large-load robot is larger than that of a small-load robot. In addition, the R of a robot with low trajectory accuracy requirements is larger than that of a robot with high trajectory accuracy requirements.

[0049] Step S208: replacing the singular path in the trajectory path with an arc to obtain the target trajectory path, wherein the singular path is a path segment in the trajectory path containing a singular point, and the arc and the singular path have the same starting position and ending position.

[0050] In this embodiment, the arc designed in the above steps can be used to replace the singular path containing the singular point in the original trajectory path, so as to obtain the target trajectory path after avoiding the singular point.

[0051] Step S210: Control the robot to run along the target trajectory path to avoid singular points.

[0052] In this embodiment, the robot can be controlled to run according to the target trajectory path planned in the above steps to avoid the singularity point, thereby avoiding the impact of the singularity point on the robot operation.

[0053] As can be seen from the above, by applying the technical solutions provided in the above embodiments of the present application, it is possible to first determine the parameter correspondence between the first state parameter of the end effector in the robot and the second state parameter that each joint in the robot needs to achieve; then, when the parameter correspondence includes multiple different correspondences, it is possible to determine that the robot is running along the trajectory path, and it is possible to determine that the current position of the end effector is a singular point in the current trajectory path of the robot; then, the center position of the circle can be determined based on the singular point, and an arc that meets a predetermined angle range can be determined with the center position of the circle as the center and the radius of the circle as the radius; Subsequently, an arc is used to replace the singular path in the trajectory path to avoid the singular point and obtain the target trajectory path; finally, the robot can be controlled to run according to the target trajectory path that avoids the singular point, thereby achieving the purpose of avoiding the singular point by replacing the original path segment with an arc based on the center of the circle determined by the singular point when determining that there is a singular point in the current trajectory path of the robot. This achieves the technical effect of using an arc path to replace the original path segment for better connection with the original path, reducing the uncertainty of the robot's speed and posture changes when passing the singular point, and avoiding the risks brought about by speed and posture changes.

[0054] Therefore, the technical solution provided by the above-mentioned embodiments of the present application solves the technical problem that the traditional singularity avoidance method in the related technology is difficult to effectively avoid the negative impact during the operation of the robot and is prone to introduce certain risks.

[0055] Since the first state parameter and the second state parameter of the terminal robot can be a variety of different parameters, the correspondence between the first state parameter and the second state parameter can be analyzed from multiple angles. Two methods for analyzing the correspondence are provided in the embodiment of the present application. The correspondence between the first state parameter and the second state parameter is analyzed from the two aspects of kinematic inverse solution and Jacobian matrix.

[0056] In an optional embodiment of the present application, the first state parameter is the end posture, the second state parameter is the joint angle, and the parameter correspondence between the first state parameter of the end effector in the robot and the second state parameter that each joint in the robot needs to achieve is determined, including: obtaining the end posture of the end effector in the current state, wherein the end posture is the position and posture of the end effector in the current state; performing inverse kinematics according to the end posture to solve the joint angle that each joint needs to achieve to obtain a solution result; when the solution result indicates that at least one joint corresponds to multiple joint angles, determining that the parameter correspondence contains multiple different correspondences.

[0057] Specifically, when analyzing the correspondence between the first state parameter and the second state parameter using the kinematic inverse solution method, the first state parameter can be the posture of the end effector (i.e., the end posture), and the second state parameter can be the angle value of each joint (i.e., the joint angle). Figure 3 The above embodiments of the present application are described. Figure 3 Flowchart of an optional method for avoiding robot singularity points according to an embodiment of the present application; Figure 3 As shown in the figure, the inverse kinematics solution can be performed according to the current position and posture of the end effector to solve the inverse kinematics equation, that is, to calculate the angle value of each joint of the robot when the end effector of the robot is at that point; if there are multiple solutions (generally an infinite set of solutions) at a given point (that is, when the end effector is at a certain position), it can be considered that at this point, there are multiple different corresponding relationships between the position and posture of the end effector of the robot and the angle value of each joint.

[0058] In another optional embodiment of the present application, the first state parameter is the terminal velocity, and the second state parameter is the joint velocity. Determining the parameter correspondence between the first state parameter of the end effector in the robot and the second state parameter that each joint in the robot needs to achieve includes: obtaining the terminal velocity of the end effector in the current state and the current joint velocity of each joint; establishing a Jacobian matrix based on the rate of change of the terminal velocity with the velocity of each joint; and when the determinant of the Jacobian matrix is ​​zero, determining that the parameter correspondence contains multiple different correspondences.

[0059] Specifically, when analyzing the correspondence between the first and second state parameters based on the Jacobian matrix, the first state parameter can be the linear velocity and angular velocity of the end effector (i.e., the end velocity), and the second state parameter can be the motion velocity of each joint (i.e., the joint velocity). The Jacobian matrix is ​​a key concept in robotic kinematics, describing the relationship between the end effector velocity and the angular velocity of each joint. By calculating the determinant of the Jacobian matrix (det(J)), singularities can be detected. The Jacobian matrix J of the manipulator can represent the linear relationship of velocity propagation from the joint space to the operational space. Its Jacobian matrix J(q) is a 6×6 matrix, with the first three rows representing the transfer ratio of the end linear velocity, and the last three rows representing the transfer ratio of the end angular velocity. Each column of the matrix represents the transfer ratio of the corresponding joint velocity to the end velocity and angular velocity. Qn is the unit joint velocity of the corresponding joint n, and Jln and Jan are the effects of the unit joint velocity of the corresponding joint n on the end linear velocity and angular velocity, respectively, as shown below: At the singularity point, the degree of freedom of the robot arm is reduced, resulting in a decrease in the rank of the matrix. Theoretically, the determinant of the Jacobian transformation matrix J of the six-axis robot arm is 0; therefore, when the determinant of the Jacobian matrix is ​​close to zero or equal to zero, it usually indicates that the robot is in or close to a singularity state. The determinant close to zero means that the Jacobian matrix is ​​close to singularity, which leads to instability or non-existence of the inverse solution. At this time, it can be considered that there are many different corresponding relationships between the first state parameters of the end effector in the robot and the second state parameters that each joint in the robot needs to achieve.

[0060] According to the above embodiment of the present application, the center position of the circle is determined according to the singular point, and an arc that meets the predetermined angle range is determined with the center position of the circle as the center and the circle radius as the radius, including: determining a path segment in the trajectory path that contains a singular point and whose length meets the predetermined length range as a singular path; determining the starting position of the singular path as the avoidance starting point according to the running direction of the trajectory path, and determining the end position of the singular path as the avoidance end point; determining the center position of the circle according to the singular point, the avoidance starting point, the avoidance end point and the circle radius; determining multiple trajectory points corresponding to the center position of the circle, the circle radius and the predetermined angle range according to a predetermined expression, and determining a curve composed of the multiple trajectory points as an arc, wherein the predetermined expression is: (x±R sin θ, y±Rcos θ), θ∈(α, β), (x, y) are the coordinates of the center position of the circle, R represents the circle radius, θ represents the angular position of the trajectory point relative to the center position of the circle, and (α, β) represents the predetermined angle range.

[0061] In this embodiment, after determining the singular point in the robot trajectory path, the path segment within a certain range near the singular point in the current trajectory path of the robot can be selected as the singular path, and the starting position of the singular path can be determined as the avoidance starting point and the ending position as the avoidance end point according to the running direction of the trajectory path. Then, the center position of the circle can be determined for subsequent design of the arc path based on the acquired singular point, the avoidance starting point, the avoidance end point and the circle radius designed according to the trajectory accuracy. Then, a circle is drawn with the center position as the center and the circle radius as the radius, and an arc that meets the predetermined angle range is selected as the subsequent avoidance path to avoid the singular point. Each trajectory point on the arc satisfies (x±R sinθ, y±R cos θ), where θ∈(α, β), (x, y) are the coordinates of the center position of the circle, R represents the circle radius, θ represents the angular position of the trajectory point relative to the center position of the circle, and (α, β) represents the predetermined angle range.

[0062] In addition, in order to ensure that the designed arc can not only avoid the singularity point well, but also connect well with the original path, and avoid the uncertainty of the robot's posture and speed changes during operation due to abrupt connection, a three-segment arc can be designed as an avoidance path for subsequent avoidance of the singularity point, wherein the arc in the middle is mainly used to avoid the singularity point, and the arcs on both sides are mainly used to smoothly connect the original trajectory path (i.e., the positions of the avoidance starting point and the avoidance end point) with the two end points of the middle arc. Therefore, the above-mentioned center position can include a first center position, a second center position, and a third center position, the above-mentioned predetermined angle range can include a first sub-predetermined angle range, a second sub-predetermined angle range, and a third sub-predetermined angle range, and the above-mentioned predetermined expression can include a first predetermined expression, a second predetermined expression, and a third predetermined expression; it should be noted that in the embodiment of the present application, only a three-segment arc is used as an example to achieve the purpose of a smooth trajectory path; of course, in the actual process, specific selection can also be made based on actual conditions, and it is not limited to replacing the singular path with a three-segment arc.

[0063] The following combination Figure 4 The design process of the three-segment circular arc in the above embodiment of the present application is further described in detail. Figure 4 Schematic diagram of a three-segment circular arc according to an embodiment of the present application.

[0064] In a specific embodiment of the present application, the center position of the circle is determined based on the singular point, the avoidance starting point, the avoidance end point and the circle radius, including: determining the position of the singular point as the second center position of the circle; determining the line connecting the avoidance starting point and the avoidance end point as the baseline; determining the position whose first vertical distance from the avoidance starting point in the vertical direction of the baseline is a predetermined distance as the first center position of the circle, and determining the position whose second vertical distance from the avoidance end point in the vertical direction of the baseline is a predetermined distance as the second center position of the circle, wherein the first center position and the second center position are located on the same side of the baseline, and the predetermined distance is proportional to the circle radius.

[0065] Specifically, since the robot's trajectory path is mostly a simple linear motion during the palletizing operation, the present application embodiment mainly uses the trajectory path as a straight line as an example for explanation. Figure 4As shown, when there is only one singular point on the straight trajectory path, the singular point can be used as the center of the middle arc (i.e., the second center position). When there are multiple singular points on the straight trajectory path, the geometric centers of these singular points can be used as the center of the middle arc (i.e., the second center position). Then, in the vertical direction of the straight trajectory path, the position with a first vertical distance from the avoidance starting point being a predetermined distance can be selected as the first center position, and the position with a second vertical distance from the avoidance end point being a predetermined distance can be selected as the third center position. Here, the distance between the avoidance starting point, the avoidance end point and the singular point can be 1.732R (the 1.732R here is just an example, and other values ​​can also be selected based on actual conditions, and there is no specific limitation here). In order for the left and right arcs to be better tangent to the middle arc, the predetermined distance here can be R.

[0066] In another specific embodiment of the present application, a plurality of trajectory points corresponding to a circle center position, a circle radius, and a predetermined angle range are determined according to a predetermined expression, and a curve composed of the plurality of trajectory points is determined to be an arc, including: determining a plurality of first trajectory points corresponding to a first circle center position, a circle radius, and a first sub-predetermined angle range according to a first predetermined expression, and determining the curve composed of the plurality of first trajectory points to be a first sub-arc, wherein the first predetermined expression is: (x1+Rsin θ, y1-R cos θ), θ∈(α1, β1), (x1, y1) is the coordinate of the circle center position, and (α1, β1) represents the first predetermined angle range; determining a plurality of second trajectory points corresponding to a second circle center position, a circle radius, and a second sub-predetermined angle range according to a second predetermined expression, and determining the curve composed of the plurality of second trajectory points to be a second sub-arc, wherein the first predetermined expression is: (x2+R sin θ, y2+R cos θ), θ∈(α2, β2), (x2, y2) are the coordinates of the center position of the circle, and (α2, β2) represents the first predetermined angle range; a plurality of third trajectory points corresponding to the third center position, the circle radius, and the third sub-predetermined angle range are determined according to a third predetermined expression, and a curve composed of the plurality of third trajectory points is determined as a third sub-arc, wherein the first predetermined expression is: (x3-R sin θ, y3-R cos θ), θ∈(α3, β3), (x3, y3) are the coordinates of the center position of the circle, and (α3, β3) represents the first predetermined angle range; the first sub-arc, the second sub-arc, and the third sub-arc are connected to obtain an arc, wherein the sub-start position of the first sub-arc is the starting position of the arc, the sub-end position of the third sub-arc is the ending position of the arc, the first sub-arc is tangent to the second sub-arc, and the second sub-arc is tangent to the third sub-arc.

[0067] Specifically, taking the robot's trajectory path as a straight line as an example, the design idea of ​​the three-segment arc used to avoid the singular path can be as follows: the singular point avoidance trajectory contains three paths, 2 one-sixth circles and 1 one-third circle. The purpose of selecting these three trajectories is that the middle arc trajectory ensures that the robot can bypass the singular point, and the trajectories at both ends ensure the connection between the robot's original running trajectory and the singular point avoidance trajectory, ensuring that the robot's speed and posture are controllable during the process of avoiding the singular point. The point positions in the three-segment trajectory are calculated as follows: First, confirm the center of the three-segment trajectory: center 1 (x1, y1), center 2 (x2, y2), and center 3 (x3, y3). Then, based on these three points, confirm the curve equation of the avoidance trajectory, which is calculated as follows: the point position in the first arc trajectory is (x1+R sin θ, y1-R cos θ), θ∈(0, π / 3); the point position in the second arc trajectory is (x2+R sin θ, y2+R cos θ), θ∈(-π / 3, π / 3); the point position in the third arc trajectory is (x3-R sin θ, y3-Rcos θ), θ∈(π / 3, 0), where (x2, y2) is the singular point, x1=x2-1.732R, x3=x2+1.732R, y1=y3=y2+R, the first arc (i.e., the first sub-arc) is tangent to the intersection point of the original trajectory (here refers to the avoidance starting point) and the second arc (i.e., the second sub-arc), and the second arc is tangent to the intersection point of the original trajectory (here refers to the avoidance end point) and the third arc (i.e., the third sub-arc), so that the trajectory path after avoiding the singular point is still smooth, thereby realizing the controllability of the trajectory error and speed posture of the robot in the process of avoiding the singular point.

[0068] It should be noted that the specific numerical values ​​appearing in the above embodiments of the present application are only examples and do not limit them to the specific numerical values. They can be adaptively adjusted according to actual conditions and are not specifically limited here.

[0069] When the robot's trajectory path is not a straight line, the design process of its avoidance path (a three-segment arc used to avoid singularities) is slightly different from that of a straight-line trajectory path. However, the design process must ultimately ensure that the trajectory path remains smooth after avoiding the singularity. The specific design process will not be described here.

[0070] In another optional embodiment of the present application, after replacing the singular path in the trajectory path with an arc to obtain the target trajectory path, the robot's singular point avoidance method also includes: an adjustment step, when a target singular point is detected in the target trajectory path, increasing the circle radius according to a preset adjustment amplitude to obtain a target circle radius, wherein the target singular point is a singular point different from the singular point; an acquisition step, and redetermining the target arc that meets the predetermined angle range with the center position of the circle as the center and the target circle radius as the radius; an updating step, replacing the arc with the target arc to update the target trajectory path; repeating the adjustment step, the acquisition step and the updating step at least once in sequence until there is no singular point in the target trajectory path or the target circle radius exceeds the trajectory accuracy range of the robot.

[0071] like Figure 3 As shown, the target trajectory path obtained after replacing the singular path can be re-analyzed for singular points according to the above-mentioned method of analyzing singular points, especially for the interpolated arc. If there are other singular points in the arc (i.e., target singular points), the value of the circle radius R can be appropriately adjusted and the arc can be redesigned until there are no singular points in the planned arc. The robot is then controlled to run according to the target trajectory path after the new interpolated arc. Or in the process of adjusting the circle radius R, if R exceeds the trajectory accuracy of the robot and no arc that can avoid the singular point is found, an abnormal alarm can be issued to prompt relevant staff to repair the robot.

[0072] By performing path planning using the method provided in the above embodiments of the present application to avoid singular points in the original trajectory, the probability of abnormal shutdown due to singular points can be reduced, while ensuring the controllability of trajectory error and speed attitude during the singular point avoidance process.

[0073] It should be noted that for the aforementioned method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that this application is not limited by the order of the actions described, because according to this application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by this application.

[0074] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus the necessary general hardware platform, and of course it can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for enabling a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in each embodiment of the present application.

[0075] According to an embodiment of the present application, a robot singular point avoidance device for implementing the above-mentioned robot singular point avoidance method is also provided. Figure 5 is a schematic diagram of a device for avoiding a robot singularity point according to an embodiment of the present application. Figure 5 As shown, the device includes: a first determining unit 51, a second determining unit 53, a third determining unit 55, an acquiring unit 57 and a control unit 59. The device for avoiding singular points of a robot is described in detail below.

[0076] The first determination unit 51 is used to determine the parameter correspondence between the first state parameter of the end effector in the robot and the second state parameter that each joint in the robot needs to achieve, wherein the first state parameter is the parameter corresponding to the current state of the end effector, and the second state parameter is the parameter corresponding to the current state that each joint needs to achieve.

[0077] The second determination unit 53 is used to determine that the current position of the end effector is a singularity point in the current trajectory path of the robot when the parameter correspondence relationship includes multiple different correspondence relationships, wherein the singularity point is a point where the degree of freedom of the robot is lower than the degree of freedom threshold during the operation of the robot according to the trajectory path, and the degree of freedom is used to characterize the robot's movement ability.

[0078] The third determining unit 55 is used to determine the center position of the circle according to the singular point, and determine an arc that meets the predetermined angle range with the center position as the circle center and the circle radius as the radius, wherein the circle radius is a radius determined according to the trajectory accuracy of the robot.

[0079] The acquisition unit 57 is used to replace the singular path in the trajectory path with an arc to obtain the target trajectory path, wherein the singular path is a path segment containing a singular point in the trajectory path, and the arc has the same starting position and ending position as the singular path.

[0080] The control unit 59 is used to control the robot to run along the target trajectory path to avoid singular points.

[0081] It should be noted here that the above-mentioned first determination unit 51, second determination unit 53, third determination unit 55, acquisition unit 57 and control unit 59 correspond to steps S202 to S210 in the above-mentioned embodiment. The five units have the same instances and application scenarios as the corresponding steps, but are not limited to the contents disclosed in the above-mentioned embodiment.

[0082] From the above, it can be seen that in the scheme recorded in the above embodiments of the present application, the first determination unit can be used to first determine the parameter correspondence between the first state parameter of the end effector in the robot and the second state parameter that each joint in the robot needs to achieve, wherein the first state parameter is the parameter corresponding to the current state of the end effector, and the second state parameter is the parameter corresponding to the state that each joint needs to achieve; then, when the parameter correspondence includes multiple different correspondences, the second determination unit is used to determine that the current position of the end effector is a singularity point in the current trajectory path of the robot, wherein the singularity point is a point where the degree of freedom of the robot is lower than the degree of freedom threshold during the operation of the trajectory path, and the degree of freedom is used to characterize the robot's movement ability; then, the third determination unit is used to determine the center position of the circle according to the singularity point, and the center position of the circle is used as the center of the circle and the radius of the circle is used as the radius to determine the center position of the circle. An arc that meets a predetermined angle range, wherein the radius of the circle is a radius determined according to the trajectory accuracy of the robot; then the acquisition unit is used to replace the singular path in the trajectory path with the arc to obtain the target trajectory path, wherein the singular path is a path segment containing a singular point in the trajectory path, and the starting position and ending position of the arc are the same as those of the singular path; finally, the control unit is used to control the robot to run according to the target trajectory path to avoid the singular point, thereby achieving the purpose of avoiding the singular point by replacing the original path segment with an arc based on the center of the circle determined by the singular point when determining that there is a singular point in the current trajectory path of the robot, thereby achieving the technical effect of replacing the original path segment with an arc path to facilitate better connection with the original path, reducing the uncertainty of the speed and posture changes of the robot when passing the singular point, and avoiding the risks brought by speed and posture changes.

[0083] Therefore, the technical solution provided by the above-mentioned embodiments of the present application solves the technical problem that the traditional singularity avoidance method in the related technology is difficult to effectively avoid the negative impact during the operation of the robot and is prone to introduce certain risks.

[0084] In an optional embodiment of the present application, the first state parameter is the end posture, the second state parameter is the joint angle, and the first determination unit includes: a first acquisition module, used to obtain the end posture of the end effector in the current state, wherein the end posture is the position and posture of the end effector in the current state; a second acquisition module, used to perform kinematic inverse solution according to the end posture to solve the joint angle that each joint needs to reach and obtain a solution result; a first determination module, used to determine that the parameter correspondence relationship contains multiple different correspondences when the solution result indicates that at least one joint corresponds to multiple joint angles.

[0085] In an optional embodiment of the present application, the first state parameter is the terminal velocity, the second state parameter is the joint velocity, and the first determination unit includes: a third acquisition module, used to obtain the terminal velocity of the end effector in the current state and the current joint velocity of each joint; an establishment module, used to establish a Jacobian matrix according to the rate of change of the terminal velocity with the velocity of each joint; a second determination module, used to determine that the parameter correspondence contains multiple different correspondences when the determinant result of the Jacobian matrix is ​​zero.

[0086] In an optional embodiment of the present application, the third determination unit includes: a third determination module, used to determine that a path segment in the trajectory path contains a singular point and the length of which satisfies a predetermined length range is a singular path; a fourth determination module, used to determine the starting position of the singular path as the avoidance starting point and the ending position of the singular path as the avoidance end point according to the running direction of the trajectory path; a fifth determination module, used to determine the center position of the circle according to the singular point, the avoidance starting point, the avoidance end point and the circle radius; a sixth determination module, used to determine a plurality of trajectory points corresponding to the center position, the circle radius and the predetermined angle range according to a predetermined expression, and determine that a curve composed of the plurality of trajectory points is an arc, wherein the predetermined expression is: (x±R sinθ, y±R cos θ), θ∈(α, β), (x, y) are the coordinates of the center position of the circle, R represents the circle radius, θ represents the angular position of the trajectory point relative to the center position of the circle, and (α, β) represents the predetermined angle range.

[0087] In an optional embodiment of the present application, the center position of the circle includes a first center position, a second center position and a third center position, and the fifth determination module includes: a first determination submodule, used to determine the position of the singularity point as the second center position; a second determination submodule, used to determine the line connecting the avoidance starting point and the avoidance end point as the baseline; a third determination submodule, used to determine the position whose first vertical distance from the avoidance starting point in the vertical direction of the baseline is a predetermined distance as the first center position, and determine the position whose second vertical distance from the avoidance end point in the vertical direction of the baseline is a predetermined distance as the second center position, wherein the first center position and the second center position are located on the same side of the baseline, and the predetermined distance is proportional to the radius of the circle.

[0088] In an optional embodiment of the present application, the center position includes a first center position, a second center position, and a third center position, the predetermined angle range includes a first sub-predetermined angle range, a second sub-predetermined angle range, and a third sub-predetermined angle range, and the predetermined expression includes a first predetermined expression, a second predetermined expression, and a third predetermined expression. The sixth determination module includes: a fourth determination submodule, configured to determine, according to the first predetermined expression, a plurality of first trajectory points corresponding to the first center position, the circle radius, and the first sub-predetermined angle range, and to determine that a curve composed of the plurality of first trajectory points is a first sub-arc, wherein the first predetermined expression is: (x1+R sin θ, y1-R cos θ), θ∈(α1, β1), (x1, y1) is the coordinate of the center position, and (α1, β1) represents the first predetermined angle range; a fifth determination submodule, configured to determine, according to the second predetermined expression, a plurality of second trajectory points corresponding to the second center position, the circle radius, and the second sub-predetermined angle range, and to determine that a curve composed of the plurality of second trajectory points is a second sub-arc, wherein the first predetermined expression is: (x2+R sin θ, y1-R cos θ) θ, y2+R cos θ), θ∈(α2, β2), (x2, y2) are the coordinates of the center position of the circle, and (α2, β2) represents the first predetermined angle range; a sixth determining submodule, configured to determine, according to a third predetermined expression, a plurality of third trajectory points corresponding to the third center position, the circle radius, and the third sub-predetermined angle range, and determine that a curve formed by the plurality of third trajectory points is a third sub-arc, wherein the first predetermined expression is: (x3-R sin θ, y3-R cos θ), θ∈(α3, β3), (x3, y3) are the coordinates of the center position of the circle, and (α3, β3) represents the first predetermined angle range; an obtaining submodule, configured to connect the first sub-arc, the second sub-arc, and the third sub-arc to obtain an arc, wherein the sub-start position of the first sub-arc is the start position of the arc, the sub-end position of the third sub-arc is the end position of the arc, the first sub-arc is tangent to the second sub-arc, and the second sub-arc is tangent to the third sub-arc.

[0089] In an optional embodiment of the present application, the robot singularity avoidance device also includes: an updating unit, which is used to replace the singular path in the trajectory path with an arc to obtain the target trajectory path, and then perform an adjustment step. When a target singular point is detected in the target trajectory path, the radius of the circle is increased according to a preset adjustment amplitude to obtain a target circle radius, wherein the target singular point is a singular point different from the singular point; perform an acquisition step, and re-determine a target arc that meets a predetermined angle range with the center position of the circle as the center and the target circle radius as the radius; perform an updating step, and replace the arc with the target arc to update the target trajectory path; repeat the adjustment step, acquisition step and update step in sequence at least once until there is no singular point in the target trajectory path or the target circle radius exceeds the trajectory accuracy range of the robot.

[0090] According to another aspect of an embodiment of the present application, a robot singular point avoidance system is provided. The robot singular point avoidance system uses any of the above-mentioned robot singular point avoidance methods.

[0091] According to another aspect of an embodiment of the present application, a computer-readable storage medium is further provided, the computer-readable storage medium including a stored program, wherein the program executes any one of the above-mentioned methods for avoiding robot singularity points.

[0092] Optionally, in this embodiment, the computer-readable storage medium may be located in any one of the computer terminals in a computer terminal group in a computer network, or in any one of the communication devices in a communication device group.

[0093] Optionally, in this embodiment, the computer-readable storage medium is configured to store program code for executing the following steps: determining a parameter correspondence between a first state parameter of an end effector in the robot and a second state parameter that each joint in the robot needs to achieve, wherein the first state parameter is a parameter corresponding to the current state of the end effector, and the second state parameter is a parameter corresponding to the current state that each joint needs to achieve; when the parameter correspondence includes multiple different correspondences, determining the current position of the end effector as a singular point in the current trajectory path of the robot, wherein the singular point is a point at which the degree of freedom of the robot is lower than a degree of freedom threshold during the process of the robot moving along the trajectory path, and the degree of freedom is used to characterize the robot's motion capability; determining a center position based on the singular point, and determining an arc that meets a predetermined angle range with the center position as the circle center and the circle radius as the radius, wherein the circle radius is a radius determined according to the trajectory accuracy of the robot; replacing the singular path in the trajectory path with the arc to obtain a target trajectory path, wherein the singular path is a path segment in the trajectory path that contains the singular point, and the arc and the singular path have the same starting position and ending position; and controlling the robot to move along the target trajectory path to avoid the singular point.

[0094] Optionally, in this embodiment, the computer-readable storage medium is configured to store program code for executing the following steps: obtaining the end pose of the end effector in the current state, wherein the end pose is the position and posture of the end effector in the current state; performing inverse kinematics according to the end pose to solve the joint angles that each joint needs to achieve to obtain a solution result; when the solution result indicates that at least one joint corresponds to multiple joint angles, determining that the parameter correspondence relationship contains multiple different correspondence relationships.

[0095] Optionally, in this embodiment, the computer-readable storage medium is configured to store program code for executing the following steps: obtaining the terminal velocity of the end effector in the current state and the current joint velocity of each joint; establishing a Jacobian matrix based on the rate of change of the terminal velocity with the velocity of each joint; and when the determinant of the Jacobian matrix is ​​zero, determining that the parameter correspondence relationship contains multiple different correspondence relationships.

[0096] Optionally, in this embodiment, the computer-readable storage medium is configured to store program codes for executing the following steps: determining a path segment in a trajectory path that contains a singular point and whose length satisfies a predetermined length range as a singular path; determining the starting position of the singular path as the avoidance starting point according to the running direction of the trajectory path, and determining the ending position of the singular path as the avoidance end point; determining the center position of the circle according to the singular point, the avoidance starting point, the avoidance end point and the circle radius; determining a plurality of trajectory points corresponding to the center position of the circle, the circle radius and the predetermined angle range according to a predetermined expression, and determining a curve composed of the plurality of trajectory points as an arc, wherein the predetermined expression is: (x±Rsin θ, y±R cosθ), θ∈(α, β), (x, y) are the coordinates of the center position of the circle, R represents the circle radius, θ represents the angular position of the trajectory point relative to the center position of the circle, and (α, β) represents the predetermined angle range.

[0097] Optionally, in this embodiment, the computer-readable storage medium is configured to store program code for executing the following steps: determining the position of the singular point as the second center position; determining the line connecting the avoidance starting point and the avoidance end point as the baseline; determining the position at which the first vertical distance from the avoidance starting point in the vertical direction of the baseline is a predetermined distance as the first center position, and determining the position at which the second vertical distance from the avoidance end point in the vertical direction of the baseline is a predetermined distance as the second center position, wherein the first center position and the second center position are located on the same side of the baseline, and the predetermined distance is proportional to the radius of the circle.

[0098] Optionally, in this embodiment, the computer-readable storage medium is configured to store program code for executing the following steps: determining a plurality of first trajectory points corresponding to a first circle center position, a circle radius, and a first sub-predetermined angular range according to a first predetermined expression, and determining a curve composed of the plurality of first trajectory points as a first sub-arc, wherein the first predetermined expression is: (x1+R sin θ, y1-R cosθ), θ∈(α1, β1), (x1, y1) are the coordinates of the circle center position, and (α1, β1) represents the first predetermined angular range; determining a plurality of second trajectory points corresponding to a second circle center position, a circle radius, and a second sub-predetermined angular range according to a second predetermined expression, and determining a curve composed of the plurality of second trajectory points as a second sub-arc, wherein the first predetermined expression is: (x2+R sin θ, y2+R cos θ), θ∈(α2, β2), (x2, y2) are the coordinates of the center position of the circle, and (α2, β2) represents the first predetermined angle range; a plurality of third trajectory points corresponding to the third center position, the circle radius, and the third sub-predetermined angle range are determined according to a third predetermined expression, and a curve composed of the plurality of third trajectory points is determined as a third sub-arc, wherein the first predetermined expression is: (x3-Rsinθ, y3-Rcosθ), θ∈(α3, β3), (x3, y3) are the coordinates of the center position of the circle, and (α3, β3) represents the first predetermined angle range; the first sub-arc, the second sub-arc, and the third sub-arc are connected to obtain an arc, wherein the sub-start position of the first sub-arc is the starting position of the arc, the sub-end position of the third sub-arc is the ending position of the arc, the first sub-arc is tangent to the second sub-arc, and the second sub-arc is tangent to the third sub-arc.

[0099] Optionally, in this embodiment, the computer-readable storage medium is configured to store program codes for executing the following steps: an adjustment step, in which, when a target singular point is detected in the target trajectory path, the radius of the circle is increased according to a preset adjustment amplitude to obtain a target circle radius, wherein the target singular point is a singular point different from the singular point; an acquisition step, and a target arc that meets a predetermined angle range is re-determined with the center position of the circle as the center and the target circle radius as the radius; an updating step, replacing the arc with the target arc to update the target trajectory path; and repeating the adjustment step, the acquisition step and the updating step at least once in sequence until there is no singular point in the target trajectory path or the target circle radius exceeds the trajectory accuracy range of the robot.

[0100] According to another aspect of an embodiment of the present application, a processor is further provided, which is used to run a program, wherein when the program is run, any one of the above-mentioned methods for avoiding robot singularity points is executed.

[0101] According to another aspect of an embodiment of the present application, a computer program product is further provided, comprising computer instructions, which, when executed by a processor, execute any one of the above-mentioned methods for avoiding robot singularity points.

[0102] The serial numbers of the above embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.

[0103] In the above embodiments of the present application, the description of each embodiment has its own focus. For parts that are not described in detail in a certain embodiment, please refer to the relevant description of other embodiments.

[0104] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. Among them, the device embodiments described above are only exemplary. For example, the division of the units can be a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of units or modules, which can be electrical or other forms.

[0105] The technical features of the above-mentioned embodiments can be combined arbitrarily. In order to make the description concise, not all possible combinations of the technical features in the above-mentioned embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0106] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple units. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.

[0107] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.

[0108] The integrated unit, if implemented in the form of a software function unit and sold or used as an independent product, can be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the present application essentially or say the part that contributes to the prior art or the whole or part of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a plurality of instructions for causing a computer device (which can be a personal computer, a server or a network device, etc.) to execute all or part of the steps of the method described in the various embodiments of the present application. The aforementioned storage medium includes: a U disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a mobile hard disk, a magnetic disk or an optical disk, and various media that can store program codes.

[0109] The above only describes the preferred embodiments of the present application. It should be noted that, for those skilled in the art, without departing from the principles of the present application, a number of improvements and refinements can be made, which should also be considered as the protection scope of the present application.

Claims

1. A method for avoiding singular points of a robot, characterized in that: include: Determining a parameter correspondence between a first state parameter of an end effector in a robot and a second state parameter that each joint in the robot needs to achieve, wherein the first state parameter is a parameter corresponding to a current state of the end effector, and the second state parameter is a parameter corresponding to a current state that each joint needs to achieve; In a case where the parameter correspondence includes a plurality of different correspondences, determining that the current position of the end effector is a singular point in the current trajectory of the robot, wherein the singular point is a point at which a degree of freedom of the robot is lower than a degree of freedom threshold during movement along the trajectory, the degree of freedom being used to characterize the motion capability of the robot; Determining the center position of a circle according to the singular point, and determining an arc that meets a predetermined angle range with the center position of the circle as the center and the circle radius as the radius, wherein the circle radius is a radius determined according to the trajectory accuracy of the robot; Replacing a singular path in the trajectory path with the circular arc to obtain a target trajectory path, wherein the singular path is a path segment in the trajectory path containing the singular point, and the arc and the singular path have the same starting position and ending position; The robot is controlled to run along the target trajectory path to avoid the singular point.

2. The method for avoiding robot singularity points according to claim 1, characterized in that: The first state parameter is the end pose, and the second state parameter is the joint angle. Determining the parameter correspondence between the first state parameter of the end effector in the robot and the second state parameter that each joint in the robot needs to achieve includes: Acquire the end position and posture of the end effector in the current state, wherein the end position and posture are the position and posture of the end effector in the current state; Performing an inverse kinematic solution according to the end position to solve the joint angles that each joint needs to achieve and obtain a solution result; In a case where the solution result indicates that at least one of the joints corresponds to a plurality of the joint angles, it is determined that the parameter correspondence includes a plurality of different correspondences.

3. The method for avoiding robot singularity points according to claim 1, characterized in that: The first state parameter is the end velocity, and the second state parameter is the joint velocity. Determining the parameter correspondence between the first state parameter of the end effector in the robot and the second state parameter that each joint in the robot needs to achieve includes: Acquire the end velocity of the end effector in the current state and the current joint velocity of each joint; Establishing a Jacobian matrix according to the rate of change of the terminal velocity with the change of each joint velocity; When the determinant result of the Jacobian matrix is ​​zero, it is determined that the parameter correspondence relationship includes a plurality of different correspondence relationships.

4. The method for avoiding robot singularity points according to claim 1, characterized in that: Determining the center position of a circle according to the singular point, and determining an arc that meets a predetermined angle range with the center position of the circle as the center and the circle radius as the radius, including: Determining the path segment containing the singular point in the trajectory path and having a length that satisfies a predetermined length range as the singular path; Determining the starting position of the singular path as the avoidance starting point according to the running direction of the trajectory path, and determining the ending position of the singular path as the avoidance end point; Determining the center position of the circle according to the singular point, the avoidance starting point, the avoidance end point, and the circle radius; Determine a plurality of trajectory points corresponding to the center position of the circle, the circle radius, and the predetermined angle range according to a predetermined expression, and determine that a curve formed by the plurality of trajectory points is the arc, wherein the predetermined expression is: (x±Rsinθ, y±Rcosθ), θ∈(α, β), (x, y) are the coordinates of the center position of the circle, R represents the circle radius, and θ represents the angular position of the trajectory point relative to the center position of the circle. (α, β) represents the predetermined angle range.

5. The method for avoiding robot singularity points according to claim 4, characterized in that: The circle center positions include a first circle center position, a second circle center position, and a third circle center position. Determining the circle center positions according to the singular point, the avoidance starting point, the avoidance end point, and the circle radius includes: Determining the position of the singular point as the second circle center position; Determine a line connecting the avoidance starting point and the avoidance end point as a baseline; Determine the position at a first vertical distance from the avoidance starting point in the vertical direction of the baseline as a predetermined distance as the first center position of the circle, and determine the position at a second vertical distance from the avoidance end point in the vertical direction of the baseline as a predetermined distance as the second center position of the circle, wherein the first center position and the second center position are located on the same side of the baseline, and the predetermined distance is proportional to the radius of the circle.

6. The method for avoiding robot singularity points according to claim 4, characterized in that: The center position includes a first center position, a second center position, and a third center position; the predetermined angle range includes a first sub-predetermined angle range, a second sub-predetermined angle range, and a third sub-predetermined angle range; the predetermined expression includes a first predetermined expression, a second predetermined expression, and a third predetermined expression; determining a plurality of trajectory points corresponding to the center position, the circle radius, and the predetermined angle range according to the predetermined expression, and determining a curve formed by the plurality of trajectory points as the arc, including: Determine, according to the first predetermined expression, a plurality of first trajectory points corresponding to the first circle center position, the circle radius, and the first sub-predetermined angular range, and determine that the curve formed by the plurality of first trajectory points is a first sub-arc, wherein the first predetermined expression is: (x1+Rsinθ, y1-Rcosθ), θ∈(α1, β1), (x1, y1) are the coordinates of the circle center position, and (α1, β1) represents the first predetermined angular range; Determine, according to the second predetermined expression, a plurality of second trajectory points corresponding to the second circle center position, the circle radius, and the second sub-predetermined angular range, and determine that the curve formed by the plurality of second trajectory points is a second sub-arc, wherein the first predetermined expression is: (x²+Rsinθ, y²+Rcosθ), θ∈(α², β²), (x², y²) are the coordinates of the circle center position, and (α², β²) represents the first predetermined angular range; Determine, according to the third predetermined expression, a plurality of third trajectory points corresponding to the third circle center position, the circle radius, and the third sub-predetermined angular range, and determine that the curve formed by the plurality of third trajectory points is a third sub-arc, wherein the first predetermined expression is: (x3-Rsinθ, y3-Rcosθ), θ∈(α3, β3), (x3, y3) are the coordinates of the circle center position, and (α3, β3) represents the first predetermined angular range; The first sub-arc, the second sub-arc and the third sub-arc are connected to obtain the arc, wherein the sub-starting position of the first sub-arc is the starting position of the arc, the sub-ending position of the third sub-arc is the ending position of the arc, the first sub-arc is tangent to the second sub-arc, and the second sub-arc is tangent to the third sub-arc.

7. The method for avoiding robot singularity points according to claim 1, characterized in that: After replacing the singular path in the trajectory path with the circular arc to obtain the target trajectory path, the method further includes: an adjustment step, in the case where a target singular point is detected in the target trajectory path, increasing the radius of the circle according to a preset adjustment amplitude to obtain a target circle radius, wherein the target singular point is a singular point different from the singular point; Acquisition step, and re-determining the target arc that meets the predetermined angle range with the center position of the circle as the center and the target circle radius as the radius; an updating step of replacing the arc with the target arc to update the target trajectory path; Repeat the adjusting step, the acquiring step, and the updating step at least once in sequence until the singular point does not exist in the target trajectory path or the radius of the target circle exceeds the trajectory accuracy range of the robot.

8. A device for avoiding singular points of a robot, characterized in that: include: a first determining unit, configured to determine a parameter correspondence between a first state parameter of an end effector in the robot and a second state parameter that each joint in the robot needs to achieve, wherein the first state parameter is a parameter corresponding to a current state of the end effector, and the second state parameter is a parameter corresponding to a current state that each joint needs to achieve; a second determining unit, configured to, when the parameter correspondence includes a plurality of different correspondences, determine that the current position of the end effector is a singularity point in the current trajectory of the robot, wherein the singularity point is a point at which a degree of freedom of the robot is lower than a degree of freedom threshold during movement along the trajectory, the degree of freedom being used to characterize the motion capability of the robot; a third determining unit, configured to determine a center position of a circle according to the singular point, and determine an arc having the center position of the circle as the center and a circle radius as the radius that satisfies a predetermined angle range, wherein the circle radius is a radius determined according to the trajectory accuracy of the robot; an acquisition unit, configured to replace a singular path in the trajectory path with the circular arc to obtain a target trajectory path, wherein the singular path is a path segment in the trajectory path containing the singular point, and the arc and the singular path have the same starting position and ending position; A control unit is used to control the robot to run along the target trajectory path to avoid the singular point.

9. A computer-readable storage medium, characterized in that The computer-readable storage medium includes a stored program, wherein the program executes the method for avoiding a robot singular point according to any one of claims 1 to 7.

10. A computer program product comprising computer instructions, characterized in that When the computer instructions are executed by a processor, the method for avoiding robot singularity points according to any one of claims 1 to 7 is executed.