Singularity point processing method, device, equipment and medium for six-axis robot

By obtaining constraint indicators and determining the pass strategy, the six-axis robot can successfully pass the singular points without changing the structure, solving the inconvenience and trajectory deviation problems of singular points processing in the existing technology, ensuring the stability and programming of the robot application trajectory accuracy.

CN115922684BActive Publication Date: 2025-01-14GUANGDONG BRIGHT DREAM ROBOTICS CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110952970.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-08-19
Publication Date
2025-01-14
Estimated Expiration
2041-08-19

AI Technical Summary

Technical Problem

The prior art cannot guarantee the robot's smooth passage without changing the structure when dealing with singular points in a six-axis robot, and may lead to deviations in the original programming trajectory and unexpected results.

Method used

By obtaining constraint indicators in the pre-planned path, determining the pass policy and pass loss value, and using the target pass strategy to enable the robot to pass through the singular points smoothly, meeting the user's original programming trajectory requirements, taking into account both the scope of application and universality.

Benefits of technology

The six-axis robot is successfully passed at the singular point, avoiding unexpected results caused by re-planning the trajectory, and maintaining the integrity of the robot structure and the accuracy of the programming trajectory.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115922684B_ABST
    Figure CN115922684B_ABST
Patent Text Reader

Abstract

The embodiment of the present invention discloses a singularity processing method, device, equipment and medium for a six-axis robot, the method comprising: if it is determined that the pre-planned path includes at least one singular area, then obtaining at least one pre-configured constraint index; wherein the constraint index includes at least one of a posture index, a speed index and a trajectory deviation index; according to the at least one constraint index, determining at least one passage strategy and a passage loss value corresponding to each singular area; based on the passage loss value corresponding to each passage strategy, determining a target passage strategy to pass through the corresponding singular area based on the target passage strategy. The technical solution of the embodiment of the present invention can ensure that the robot passes through the singularity point smoothly, while meeting the requirements of the user's original programming trajectory, taking into account the scope of application and versatility of the robot.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present invention relate to the technical field of intelligent robots, and in particular to a singularity processing method, device, equipment and medium for a six-axis robot. Background Art

[0002] During the movement of the robot, singular points may appear at any position in the robot's workspace, causing a series of problems that affect task execution and bringing great inconvenience to the application of the robot.

[0003] In the prior art, when processing singularity points, the main method used is to stop with an alarm, that is, when the robot moves to the singularity point, it stops working and sends an alarm message to the outside; in addition, other methods that can be used include adding special tooling (such as a displacement device) to the end of the robot to assist the robot in passing the singularity point, or converting the robot's singularity area to the joint space for replanning, so that the robot passes the singularity point based on joint movement.

[0004] However, when the alarm stop method is adopted, the robot cannot pass the singularity point smoothly; adding special tooling will change the robot structure, reducing the robot's applicability and versatility; replanning the singularity area will cause deviation from the original programmed trajectory. At the same time, the replanned trajectories at different speeds are also different, which may lead to unexpected results. Summary of the invention

[0005] The present invention provides a singularity processing method, device, equipment and medium for a six-axis robot to ensure that the robot passes through the singularity smoothly, while meeting the requirements of the user's original programming trajectory and taking into account the application scope and versatility of the robot.

[0006] In a first aspect, an embodiment of the present invention provides a method for avoiding singularity points, which is applied to a six-axis robot. The method includes:

[0007] If it is determined that the pre-planned path includes at least one singular area, obtaining at least one pre-configured constraint index; wherein the constraint index includes at least one of a posture index, a speed index, and a trajectory deviation index;

[0008] Determining at least one traffic strategy and a traffic loss value corresponding to each singular area according to the at least one constraint indicator;

[0009] Based on the traffic loss values ​​corresponding to each traffic strategy, a target traffic strategy is determined to pass through the corresponding singular area based on the target traffic strategy.

[0010] In a second aspect, an embodiment of the present invention further provides a singularity avoidance device, which is applied to a six-axis robot, and the device includes:

[0011] A constraint index acquisition module, used for acquiring at least one pre-configured constraint index if it is determined that the pre-planned path includes at least one singular area; wherein the constraint index includes at least one of a posture index, a speed index, and a trajectory deviation index;

[0012] A traffic strategy determination module, used to determine at least one traffic strategy and a traffic loss value corresponding to each singular area according to the at least one constraint index;

[0013] The target traffic strategy determination module is used to determine the target traffic strategy based on the traffic loss value corresponding to each traffic strategy, so as to pass through the corresponding singular area based on the target traffic strategy.

[0014] In a third aspect, an embodiment of the present invention further provides an electronic device, the electronic device comprising:

[0015] one or more processors;

[0016] a storage device for storing one or more programs,

[0017] When the one or more programs are executed by the one or more processors, the one or more processors implement the singularity avoidance method as described in any one of the embodiments of the present invention.

[0018] In a fourth aspect, an embodiment of the present invention further provides a storage medium comprising computer executable instructions, wherein the computer executable instructions, when executed by a computer processor, are used to execute the singularity avoidance method as described in any one of the embodiments of the present invention.

[0019] The technical solution of the embodiment of the present invention is that if it is determined that the pre-planned path includes at least one singular area, at least one pre-configured constraint indicator is obtained. It can be understood that based on the constraint indicator, the subsequent processing process can be more in line with actual needs; according to at least one constraint indicator, at least one traffic strategy and traffic loss value corresponding to each singular area are determined, and further, based on the traffic loss value corresponding to each traffic strategy, a target traffic strategy is determined to pass through the corresponding singular area based on the target traffic strategy. This can not only ensure that the robot passes through the singularity point smoothly, but also does not need to add special tooling to the robot, taking into account the applicability and versatility of the robot. At the same time, the traffic strategy determined based on the constraint indicator meets the requirements of the user's original programming trajectory, and avoids the situation where the robot re-plans the trajectory during work and causes unexpected results. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] In order to more clearly illustrate the technical solutions of the exemplary embodiments of the present invention, the following briefly introduces the drawings required to describe the embodiments. Obviously, the drawings introduced are only drawings of a part of the embodiments to be described in the present invention, rather than all the drawings. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0021] Figure 1 A schematic diagram of a flow chart of a method for avoiding singular points provided in the first embodiment of the present invention;

[0022] Figure 2 A schematic diagram of a flow chart of a method for avoiding singular points provided in the second embodiment of the present invention;

[0023] Figure 3 This is a schematic diagram of the structure of a six-axis robot provided in Embodiment 2 of the present invention;

[0024] Figure 4 A schematic diagram of adjusting the posture of the end of a robot arm with 2 axes, 3 axes, 4 axes and 6 axes provided in the second embodiment of the present invention;

[0025] Figure 5 A flow chart of a method for avoiding singular points provided in Embodiment 3 of the present invention;

[0026] Figure 6 A structural block diagram of a singular point avoidance device provided in Embodiment 4 of the present invention;

[0027] Figure 7 This is a schematic diagram of the structure of an electronic device provided in Embodiment 5 of the present invention. DETAILED DESCRIPTION

[0028] The present invention will be further described in detail below in conjunction with the accompanying drawings and embodiments. It is to be understood that the specific embodiments described herein are only used to explain the present invention, rather than to limit the present invention. It should also be noted that, for ease of description, only parts related to the present invention, rather than all structures, are shown in the accompanying drawings.

[0029] Embodiment 1

[0030] Figure 1 This is a flow chart of a method for avoiding singularity points provided in Embodiment 1 of the present invention. This embodiment is applicable to the situation where a six-axis robot processes singularity points in a workspace. The method can be executed by a singularity avoidance device, which can be implemented in the form of software and / or hardware. The hardware can be an electronic device, such as a mobile terminal, a PC or a server.

[0031] Before further describing the present disclosure in detail, the six-axis robot involved in the embodiments of the present disclosure and the singularity points in the field of robot motion control are described here.

[0032] Industrial robots are automated, programmable, and have three or more axes of motion. They are widely used in manufacturing and other fields. For example, five-axis articulated robots and six-axis articulated robots have multiple rotation axes, each of which is similar to a human arm. Among them, six-axis robots are the most widely used in the market.

[0033] Compared with five-axis robots, six-axis robots have more joints and therefore have a higher "freedom of movement". Specifically, the six-axis robot can use the three basic axes as the main axes to control the rotation of the body, the movement of the upper arm and the movement of the lower arm respectively. At the same time, the three axes that control the movement of the wrist are used as secondary axes to control the rotation of the wrist, the up and down movement of the wrist, and the circular movement of the wrist respectively. The six-axis robot drives the main axis and secondary axis of the body based on servo motors and drive devices to complete a variety of complex tasks. For example, the six-axis robot can pick up parts in any direction on the horizontal plane and move the parts to another position at a special angle.

[0034] Although the multiple joints of the six-axis robot enhance the flexibility and adaptability of the robot, singularity problems may occur during the actual work process. Specifically, singularity problems may occur during the movement of the robot.

[0035] For robots, singularities are configurations that make the Jacobian matrix in the robot's kinematic equations unsatisfactory rank, which is caused by the robot's inverse kinematics. When a robot encounters a singularity, its joints may be commanded to move in an impossible way, causing the robot arm to move in unpredictable ways and speeds.

[0036] In actual application, when a six-axis robot encounters a singularity point during operation, it may cause many problems such as joint overspeed, servo alarm, and loss of motion trajectory of the robotic arm. In severe cases, it may also endanger the personal safety of workers around the equipment.

[0037] Therefore, the technical solution in the embodiment of the present disclosure provides a solution to the problem that the six-axis robot may encounter singular points during movement.

[0038] like Figure 1 As shown, the method specifically comprises the following steps:

[0039] S110: If it is determined that the pre-planned path includes at least one singular area, obtain at least one pre-configured constraint indicator.

[0040] Among them, the pre-planned path can be the motion trajectory pre-planned by the user for the six-axis robot for this operation task. For example, the staff can manually write a corresponding program for the robot based on a specific programming language. When the six-axis robot receives the operation instruction, it can call and run the program written by the staff, so that its own robotic arm can perform the operation task according to the motion trajectory reflected by the program.

[0041] According to the above description, when the robot encounters a singular point during movement, it may enter an abnormal state that causes the robot arm to have many problems such as joint overspeed, servo alarm, and loss of motion trajectory. This state is a singular state. Based on this, on the motion path of the six-axis robot, the part of the path that puts the robot in a singular state is the singular area. It can be understood that the determined singular area includes at least one singular point. It should be noted that the determination of the singular area in the robot's motion path can be completed before the robot performs the work task.

[0042] In this embodiment, when it is determined that the path pre-planned for the six-axis robot includes at least one singular area, in order to enable the robot to avoid singular points in the singular area during subsequent operations, it is also necessary to obtain a constraint index, wherein the constraint index can be a threshold or value range set by the user for a specific parameter, including at least one of a posture index, a speed index, and a trajectory deviation index. In the actual application process, in order to simplify the user's operation process, default information (i.e., directly specifying a threshold or value range of a specific parameter) can also be set as a constraint index. When the robot obtains a constraint index, it indicates that the robot needs to take the specific requirements reflected by the constraint index as the object of priority consideration during this operation, and when the constraint index is different, the object of priority consideration is also different.

[0043] Specifically, when the robot obtains the posture index, it indicates that the robot prioritizes the robot arm posture in this operation, that is, in the process of subsequent operation passing through the singularity point, priority is given to maintaining the position and posture accuracy of the robot arm end trajectory; when the robot obtains the speed index, it indicates that the robot prioritizes the robot arm speed in this operation, that is, in the process of subsequent operation passing through the singularity point, priority is given to the problems of sudden change and over-limit of the robot joint speed; when the robot obtains the trajectory deviation index, it indicates that the robot prioritizes the allowable deviation range of the robot arm trajectory in this operation, that is, priority is given to the safety and continuity of the robot's working process.

[0044] S120. Determine at least one traffic strategy and traffic loss value corresponding to each singular area according to at least one constraint index.

[0045] In this embodiment, after obtaining at least one constraint index, the six-axis robot can determine the corresponding passage strategy based on the constraint index, wherein the passage strategy can be a control algorithm that enables the robot arm to smoothly pass through the corresponding singular area in the subsequent operation process; at the same time, the passage loss value corresponding to the passage strategy can also be determined based on the constraint index, wherein the passage loss value can be the change in the value of a specific parameter, at least used to characterize the difference between the passage strategy selected by the robot and the original passage strategy (the initial movement trajectory pre-edited for the six-axis robot). The robot can obtain at least one constraint index, so when there are multiple constraint indicators, the determined passage strategies and passage loss values ​​will also be different with different constraint indicators.

[0046] The following describes the situations where the constraint indicators obtained by the robot are posture indicators, speed indicators, and trajectory deviation indicators.

[0047] (1) When the robot obtains the posture index, it can determine the joint space movement combined with the variable configuration scheme as the passage strategy. Furthermore, when the robot maintains the position and posture accuracy of the terminal trajectory, it will inevitably slow down the movement of the robot arm. Therefore, based on the original programming trajectory and the passage strategy corresponding to the posture index, the difference between the original passage time and the actual passage time of the robot in the singular area can be calculated, and the calculated difference is used as the passage loss value corresponding to the posture index constraint condition in the singular area;

[0048] (2) When the robot obtains the speed index, it can determine the speed reduction plan as the passage strategy. Furthermore, when the robot gives priority to the problems of sudden change and over-limit of the robot joint speed, it will inevitably sacrifice the robot's movement speed and movement time. Therefore, based on the original programming trajectory and the passage strategy corresponding to the speed index, the robot's increased movement time during the operation can be calculated, and the calculated movement time is used as the passage loss value corresponding to the speed index constraint condition;

[0049] (3) When the robot obtains the trajectory deviation index, it can determine a solution based on the smooth passage of the Bezier curve as a passage strategy. Furthermore, when the robot gives priority to the allowable deviation range of the robot arm trajectory, it may happen that the Bezier curve planned within the allowable deviation of the trajectory given by the user cannot avoid the singularity point. At this time, it can be determined that a speed reduction solution or an expanded trajectory deviation solution is combined as an alternative solution, and the passage loss value of the alternative solution is determined at the same time.

[0050] S130. Determine a target traffic strategy based on the traffic loss values ​​corresponding to each traffic strategy, so as to pass through the corresponding singular area based on the target traffic strategy.

[0051] In this embodiment, when a set of corresponding traffic strategies and traffic loss values ​​are determined based on a constraint condition, the strategy can be directly used as the target traffic strategy; when multiple sets of corresponding traffic strategies and traffic loss values ​​are determined based on a constraint condition, or multiple sets of corresponding traffic strategies and traffic loss values ​​are determined based on multiple constraints, it is also necessary to select a specific set of traffic strategies and traffic loss values ​​from the multiple sets as the target traffic strategy according to the user's choice or preset screening conditions. It can be understood that for this singular area in the pre-planned path, the target traffic strategy is the optimal solution for the six-axis robot to pass through this singular area smoothly.

[0052] Furthermore, after determining the target traffic strategy, when the six-axis robot passes through the singular area in the subsequent operation process, it can avoid the singular points in the area according to the target traffic strategy, so that the robot can complete the operation task under the premise of meeting the constraints.

[0053] The technical solution of this embodiment is that if it is determined that the pre-planned path includes at least one singular area, at least one pre-configured constraint indicator is obtained. It can be understood that based on the constraint indicator, the subsequent processing process can be more in line with actual needs; according to at least one constraint indicator, at least one traffic strategy and traffic loss value corresponding to each singular area are determined, and further, based on the traffic loss value corresponding to each traffic strategy, a target traffic strategy is determined to pass through the corresponding singular area based on the target traffic strategy. This can not only ensure that the robot passes through the singularity point smoothly, but also eliminate the need to add special tooling to the robot, taking into account the applicability and versatility of the robot. At the same time, the traffic strategy determined based on the constraint indicator meets the requirements of the user's original programming trajectory, and avoids the situation where the robot re-plans the trajectory during work and causes unexpected results.

[0054] Embodiment 2

[0055] Figure 2The flowchart of a method for avoiding singular points provided in the second embodiment of the present invention is as follows. Based on the above-mentioned embodiment, the robot motion path is checked for singularity in advance and prompted according to the user's programmed trajectory, so that the user can actively adjust the current path plan, thereby improving the flexibility of the plan; the corresponding singular range threshold is determined based on the constraint index, and a quantified passage loss value is obtained as a singularity evaluation, which solves the problem of highly algorithmic and abstract methods of singularity evaluation and reduces the requirements for user expertise. When the Cartesian control is converted to the joint space for replanning, the trajectory accuracy of the robot end when passing through the singular area is guaranteed by combining with the variable configuration method; multiple groups of passage strategies and passage loss values ​​are displayed to the user, so that the user can flexibly select the ideal processing strategy according to actual needs. The specific implementation method can be found in the technical solution of this embodiment. Among them, the technical terms that are the same as or corresponding to the above-mentioned embodiments are not repeated here.

[0056] like Figure 2 As shown, the method specifically comprises the following steps:

[0057] S210, determining a Jacobian matrix corresponding to each sampling point, and determining at least one singular value corresponding to each sampling point according to the Jacobian matrix; determining a singular point according to at least one singular value of each sampling point and a preset singular threshold, and taking a region to which the singular point belongs as a singular region.

[0058] In this embodiment, in order to determine whether there are singular points and singular areas in the motion trajectory written by the user for the six-axis robot based on the programming language, the user's programming instructions can be pre-planned and interpolated by offline verification. Pre-planned interpolation means that before the robot performs the motion, the joint angles of each joint of the robot at each operation time are calculated. In the actual application process, the Jacobian matrix corresponding to each sampling point can be determined first. It can be understood that the sampling point is each joint of the robot. Figure 3 From the structural diagram of the six-axis robot, it can be seen that there can be 6 sampling points (i.e. joints 1 to 6). This process is described in detail below.

[0059] First, the forward and inverse kinematics model of the robot is established according to the configuration DH parameters of the robot. Those skilled in the art should understand that the DH model is a standard method for representing and modeling robots and is widely used in the field of robot control. I will not go into details here. The forward and inverse kinematics model is to describe the joint angles q_i (q = 1, 2, 3, 4, 5, 6) of the six joints of the robot and the robot's terminal posture (P x , P x , P x, α, β, γ) between the position coordinates P and the position information of the robot. x , P x , P x , and the joint angles associated with the posture coordinates α, β, γ (three components expressed in the form of Euler angles) of the robot actuator end.

[0060] Furthermore, the user's programming instructions are pre-planned and interpolated. In actual application, if the planning is performed in Cartesian space, it can be converted to the joint space through inverse kinematics after planning; if the planning is performed in the joint space, it can be interpolated directly. At the same time, it should be noted that since the motion controllers of the six-axis robot are all discrete digital systems, the process of the robot from the starting position to the target position is not in one step, but will go through many intermediate moments and intermediate positions. The interval between each two intermediate moments is a motion cycle. Through the process of pre-planning interpolation, the variables of the angle q_i, velocity dq_i and acceleration ddq_i of each joint of the robot in each motion cycle can be obtained.

[0061] Finally, the current Jacobian matrix of the robot can be calculated based on the joint angle q_i of each interpolation cycle. Among them, the interpolation cycle is the time interval between sending motion instructions to the servo driver of the robot joint motor. The Jacobian matrix is ​​to use the 6 components of the robot's end posture to find the partial derivatives of the 6 joint angles respectively, and form a 6*6 matrix with the obtained partial derivatives. It can be understood that the Jacobian matrix corresponds to the current joint angle of the robot.

[0062] In this embodiment, after determining the Jacobian matrix, the Jacobian matrix is ​​subjected to singular value (SVD) decomposition to obtain at least one singular value corresponding to each sampling point. For a six-axis robot, there are six singular values, namely sigma1 to sigma6. Further, the condition number cond_num of the Jacobian matrix can be obtained by dividing the maximum and minimum singular values, which is cond_num=sigma1 / sigma6. After comparing the condition number cond_num with the pre-set threshold cond_limit, if cond_num>cond_limit holds, it is determined that the robot arm will enter the singular region at the above angle, otherwise, it is determined that the robot arm is in the normal region without special processing.

[0063] Furthermore, based on the user's programmed trajectory, after multiple judgments are made on the joint variables of the entire trajectory using the above method, it is possible to determine whether there are singular areas in the entire motion trajectory of the six-axis robot manipulator, and obtain the judgment results corresponding to each singular area. It should be noted that the above process of determining whether there are singular areas in the user's programmed trajectory can be completed in an offline verification manner.

[0064] In this embodiment, before the robot is put into use, the singular points and singular areas in the program segment are judged in advance and the judgment results are obtained. If the results show that the robotic arm will not enter the singular state in the entire motion trajectory, all joint variables are directly sent to the joint driver in sequence to make the robotic arm execute the movement; if the judgment result shows that the robotic arm will enter the singular state in the entire motion trajectory, the user is informed of the specific location of the singularity point, and the user chooses whether to actively adjust the current path plan of the robot. That is, a channel is provided for the user to adjust the robot's motion trajectory, thereby avoiding the singularity points in the robot's motion path in advance, thereby improving the flexibility of the plan.

[0065] S220: If it is determined that the pre-planned path includes at least one singular area, obtain at least one pre-configured constraint indicator.

[0066] In this embodiment, if the judgment result indicates that the robot arm will enter a singular state during the entire motion trajectory, and the user has not made any adjustments to the current path of the robot due to the constraints of the actual environment, at least one pre-configured constraint indicator is obtained to handle the singularity problem in this operation task in an online processing manner.

[0067] S230: Determine at least one traffic strategy and traffic loss value corresponding to each singular area according to at least one constraint index.

[0068] In actual application, the constraint index may be at least one of a posture index, a speed index, and a trajectory deviation index. The above constraint indexes and their corresponding traffic strategies and traffic loss values ​​are described below.

[0069] Optionally, if the constraint indicators include posture indicators, the passage strategy corresponding to each singular area is determined by planning each joint control, obtaining the joint angle value corresponding to each joint, and adjusting the joint posture of other joints based on the preset posture determination function under the condition that the angle values ​​of the first joint and the last joint remain unchanged.

[0070] Specifically, according to the derivation of the Jacobian matrix, it can be determined that when the joint angle of joint 5 is at 0° or 180°, the determinant of the Jacobian matrix is equal to 0, and the robot will be in a wrist singularity state. Therefore, the pose index includes the singularity constraint index threshold limit5 of joint 5. At the same time, the joint angle theta5 of joint 5 is used as the singularity index. When the absolute value of the angle of joint 5 is less than the preset threshold limit5 (i.e., -limit5 < theta5 < limit5), it is determined that the robotic arm enters the singularity region. At this time, a passing scheme combining the joint space corresponding to the pose index and the variable configuration can be adopted. The following will be described in detail with reference to the attached Figure 3 This scheme will be described in detail.

[0071] Referring to Figure 3 the structure of the robotic arm of the robot, it can be seen that when joint 5 is in the singularity region, axis 4 and axis 6 are parallel to each other. Also, since axis 2, axis 3, and axis 4 are parallel to each other themselves, therefore, axis 2, axis 3, axis 4, and axis 6 are all parallel. At this time, in the singularity region, joint space planning is carried out to obtain multiple sets of joint angle values q1 to q6 of joints 1 to 6 of the robot. Then, keep the last planned value of the Cartesian control before entering the singularity region unchanged for q1 to eliminate the influence of the change of q1 on the end trajectory of the robot. At the same time, because q5 always changes near 0 degrees, axis 2, axis 3, axis 4, and axis 6 can be regarded as a parallel four-axis robotic arm. Further, using the inverse kinematic properties of the parallel four-axis robotic arm, pass through the singularity range of axis 5 while keeping the end pose unchanged. This process can be understood as using axis 2, axis 3, and axis 4 to adjust the position of the robot end, and using axis 6 to adjust the attitude of the robot end. Specifically, the calculation formula (i.e., the preset pose determination function) for adjusting the end pose of the robot based on the above four axes includes:

[0072] When the joint pose of the robot includes joint position coordinates, based on the initial angles of axis 2, axis 3, and axis 4, the pose of the end joint 6 of the robot can be determined according to the forward kinematic formula as:

[0073] P x = L1cosq2 + L2cos(q2 + q3) + L3cos(q2 + q3 + q4)

[0074] P y = L1sinq2 + L2sin(q2 + q3) + L3sin(q2 + q3 + q4)

[0075] P hi = q2 + q3 + q4

[0076] where, P x 、P yThat is, the position coordinates of the robot end, q1~q4 refer to the angle values ​​of the robot's four joints, P hi Refers to the attitude angle of the robot end. L1, L2, and L3 are the distances between joint 2 and joint 3, joint 3 and joint 4, and joint 4 and joint 6. When the angle of the 2-axis changes, the position coordinates of the 3-axis can be determined as:

[0077] P 3x =L1cos q′1

[0078] P 3y =L1sin q′1

[0079] Based on this, the position coordinates of the robot end joint 6 relative to the 3-axis are:

[0080] P 63x =P x -P 3x

[0081] P 63y =P y -P 3y

[0082] Through the above calculation process, the singularity problem can be transformed into the inverse solution problem of a planar 2R robot arm (i.e., a robot arm with two parallel rotating joints on a plane) from 3 axes to 6 axes, and the inverse solution calculation and analysis are performed. There are two sets of feasible solutions in the inverse solution calculation results, which are as follows: Figure 4 As shown in 3′ and 3″, when selecting the optimal solution, the group with the same configuration as the initial one can be selected. The 6-axis is used to compensate for the change in the terminal attitude angle, so that the 6-axis rotates the same angle in the opposite direction of the terminal attitude angle change, thereby ensuring that the position and attitude of the terminal do not change when the robot arm passes through the singularity point. When it is determined that the 5-axis passes through the singularity range (that is, theta5<-limit5 or theta5>limit5), the robot's working state is switched to the normal motion state, and the task continues to be performed according to the original programmed trajectory.

[0083] Furthermore, the passage loss value corresponding to the passage strategy can be determined based on the original passage time and the actual passage time corresponding to the singular area. That is to say, while maintaining the accuracy of the robot's terminal trajectory, the robot's movement speed will be reduced. By calculating the difference between the original passage time origin_time and the actual passage time real_time of the robot in the singular area, the passage loss value corresponding to the posture index passage strategy can be obtained.

[0084] In this embodiment, when the Cartesian control is converted into the joint space for re-planning, it is combined with the variable configuration method to ensure the trajectory accuracy of the robot end when passing through the singular area.

[0085] Optionally, if the constraint index is a speed index, the passage strategy corresponding to each singular area is to determine the actual joint speed of each joint, and determine the theoretical joint speed of each joint according to the actual joint speed, so as to pass through the singular area based on the theoretical joint speed.

[0086] In this embodiment, when the robot uses the joint speed reduction ratio in the speed index as a singularity index, a speed reduction scheme can be adopted. Specifically, the process of determining the theoretical joint speed of each joint according to each actual joint speed includes: when it is detected that there is a target actual joint speed greater than a preset joint speed threshold, then according to the speed threshold of each target actual joint speed and the preset joint speed, the speed reduction ratio corresponding to each target actual joint speed is determined; the maximum speed reduction ratio is used as a reference to adjust the actual joint speed of each joint to obtain the theoretical joint speed of each joint. Among them, the speed reduction ratio ratio_i refers to: the ratio of the joint speed dq_i calculated by inverse kinematics exceeding the joint allowable speed vmax_i, that is, ratio_i = (dq_i-vmax_i) / dq_i*100%.

[0087] Exemplarily, when the calculated speed of a joint from joint 1 to joint 6 exceeds the allowed speed of the joint, its actual speed is set to the allowed speed of the joint, that is, vreal_i = vmax_i, and the speed reduction ratio ratio_i is calculated based on this. If more than two joints are overspeeding, the actual speeds of the other five joints are reduced in the same proportion, based on the joint with the largest speed reduction ratio, that is, vreal_i = dq_i*(1-ratio_i), so as to ensure that the speed of each joint is moderately maintained within the speed adjustment range set by the user. When the calculated speeds of all joints return to the normal range (that is, when dq_i≤vmax_i), the robot's working state is switched to the normal motion state, and the robot continues to perform the task according to the original programmed trajectory.

[0088] Furthermore, the passage loss value corresponding to each singular area is determined according to the theoretical joint speed, actual joint speed, actual passage time and theoretical passage time corresponding to each singular area. In other words, the speed reduction method reduces the robot's movement speed while also increasing the overall running time of the machine. Therefore, the increased running time can be used as the passage loss value.

[0089] Optionally, if the constraint indicator is a trajectory deviation indicator, the traffic strategy corresponding to each singular area is to determine the original trajectory corresponding to the singular area, and process each original trajectory according to a preset displacement deviation to obtain at least one Bezier curve corresponding to each singular area, so as to pass through the corresponding singular area according to each Bezier curve.

[0090] In this embodiment, if the constraint condition is a trajectory deviation index, the condition number cond_num of the Jacobian matrix is ​​used as the singularity index. When the condition number of the Jacobian matrix reaches the threshold (i.e., cond_num>cond_limit), the Bezier curve smoothing solution is adopted. Specifically, a new Bezier smooth trajectory is planned for the robot with the trajectory allowable deviation cart_err_limit set by the user as a constraint, and the robot moves along this new trajectory. At the same time, the movement time of this trajectory remains the same as the original trajectory, that is, at any time during the movement of the robot along this trajectory, the posture deviation from the original trajectory will not exceed the trajectory allowable deviation set by the user, that is, cart_err≤cart_err_limit. Among them, the posture deviation cart_err is obtained by taking the square root of the sum of the squares of the position deviation and the posture deviation.

[0091] Furthermore, it is determined whether at least one Bezier curve corresponding to each singular area can pass through the singular area, and whether it can pass through is used as the passage loss value. That is to say, when the passage strategy corresponding to the trajectory deviation index constraint condition is adopted, it may happen that the Bezier curve planned within the trajectory allowable deviation given by the user cannot avoid the singular point. At this time, it is necessary to combine the speed reduction scheme or the scheme of expanding the trajectory deviation as an alternative scheme, and determine the passage loss value corresponding to the alternative scheme.

[0092] S240: Taking the traffic strategy corresponding to the minimum traffic loss value as the target traffic strategy, and passing through the corresponding singular area based on the target traffic strategy.

[0093] In this embodiment, when multiple groups of traffic strategies and traffic loss values ​​are determined based on one or more constraints, the minimum traffic loss value can be used as a screening condition to filter out the target traffic strategy, that is, the group of traffic strategies with the smallest deviation in posture or speed from the original programming trajectory in the subsequent execution of the robot's task is used as the target traffic strategy. After determining the target traffic strategy, the manipulator arm of the six-axis robot can perform the task according to the target traffic strategy, thereby successfully passing through the singular points in each singular area.

[0094] It should be noted that if at least one constraint indicator includes one, when the traffic strategy corresponding to the constraint indicator cannot pass through each singular area, the traffic strategy and traffic loss value corresponding to other constraint indicators will be displayed in the target display area for user selection.

[0095] It can be understood that when the constraint strategy corresponding to the constraint indicator cannot meet the work requirements, other traffic strategies and traffic loss values ​​can also be displayed to the user. Through the specific quantitative cost indicators corresponding to each traffic strategy, the user can intuitively understand the cost of each traffic strategy, that is, clarify the impact of each traffic strategy on the original programming trajectory, so that the user can flexibly choose the ideal processing strategy according to actual needs.

[0096] The technical solution of this embodiment performs a singularity check on the robot's motion path in advance and provides prompts according to the user's programmed trajectory, so that the user can actively adjust the current path plan, thereby improving the flexibility of the plan; the corresponding singular range threshold is determined based on the constraint index, and a quantified passage loss value is obtained as a singularity evaluation, which solves the problem of highly algorithmic and abstract methods of singularity evaluation and reduces the requirements for user expertise. Specifically, when using Cartesian controls to convert to joint space for re-planning, the trajectory accuracy of the robot end when passing through the singular area is guaranteed by combining with a variable configuration method; multiple sets of passage strategies and passage loss values ​​are displayed to the user, so that the user can flexibly select the ideal processing strategy according to actual needs.

[0097] Embodiment 3

[0098] As an alternative embodiment of the above embodiment, Figure 5 A flowchart of a method for avoiding singular points provided in Embodiment 3 of the present invention. In order to clearly introduce the technical solution of this embodiment, the application scenario of a six-axis robot processing singular points in a workspace can be used as an example, but it is not limited to the above scenario and can be applied to various scenarios that require processing singular points in the robot's motion trajectory.

[0099] See also Figure 5 In order for the six-axis robot to perform the task, the staff first needs to write a program segment that reflects a specific motion trajectory based on the programming language. When the robot detects the program, it can pre-plan and interpolate the user's programming instructions through offline verification, that is, verify in advance whether there are singular points in the program segment in an offline manner. If it is determined that the robot does not have a singular state in the entire motion trajectory based on the programming instructions, all joint variables are directly sent to the joint driver in sequence to enable the robotic arm to perform the task. If it is determined that the robot will enter a singular state in the entire motion trajectory based on the programming instructions, that is, when there is a singular area in the motion trajectory, the user can adjust the robot's motion trajectory in advance by modifying the written program segment.

[0100] Continue to see Figure 5When the actual working environment restricts the user from modifying the robot's motion trajectory, it is necessary to perform online processing on the singular points in the singular area. The specific online processing method includes three stages. In the first stage, the constraint indicators pre-set by the user are converted into corresponding singularity indicators. The constraint indicators include the priority of the task (posture priority or speed priority) and the allowable deviation range of the trajectory. When they are converted into the underlying mathematical evaluation indicators, the posture indicator corresponds to the joint angle theta5 of joint 5, the speed indicator corresponds to the joint speed reduction ratio ratio_i (i=1,2,3,4,5,6), and the allowable deviation range of the trajectory corresponds to the Jacobian matrix condition number cond_num. In the second stage, according to the underlying mathematical evaluation indicators obtained by conversion, the corresponding passage strategy can be adopted to meet the operation requirements. Among them, when the constraint index is the posture index, the scheme of joint space motion combined with variable configuration can be adopted. When this method is adopted, the position and posture accuracy of the trajectory of the end effector of the robot arm can be guaranteed when the robot passes through the singularity point; when the constraint index is the speed index, the scheme of slowing down can be adopted to solve the problem of joint speed mutation and over-limit when passing through the singularity point within the speed adjustment range set by the user; when the constraint index is the trajectory allowable deviation range, the Bezier curve smoothing scheme can be adopted. This method is used to deal with the singularity point as a non-critical working point. The robot can bypass the singularity point within the trajectory deviation value set by the user and continue to work, ensuring the safety and continuity of the robot's work. In the third stage, a specific quantitative cost indicator can be given to each of the above processing schemes in the form of a pass loss value to evaluate the impact of the current processing scheme on the motion trajectory reflected by the original program.

[0101] Continue to see Figure 5 After multiple passage strategies are determined, these solutions and their cost indicators (passage loss values) can also be displayed on a specific page to allow users to evaluate whether each solution is feasible and select the best solution as the target passage strategy. After the target passage strategy is determined, the robot can perform the task according to the determined passage strategy, so that the robot arm can smoothly pass the singularity point in the singularity area. If the user evaluates that these solutions are not feasible, it is necessary to rewrite the corresponding program for the robot's motion trajectory and execute the above steps again to obtain the target passage strategy.

[0102] The beneficial effects of the above technical solution are: it can not only ensure that the robot passes through the singularity point smoothly, but also there is no need to add special tooling to the robot, taking into account the applicability and versatility of the robot. At the same time, the passage strategy determined based on the constraint indicators meets the requirements of the user's original programming trajectory, avoiding the situation where the robot re-plans the trajectory during work and causes unexpected results.

[0103] Embodiment 4

[0104] Figure 6 This is a structural block diagram of a singular point avoidance device provided in the fourth embodiment of the present invention, which can execute the singular point avoidance method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method. Figure 6 As shown, the device is applied to a six-axis robot, and specifically includes: a constraint index acquisition module 310, a traffic strategy determination module 320, and a target traffic strategy determination module 330.

[0105] The constraint indicator acquisition module 310 is used to acquire at least one pre-configured constraint indicator if it is determined that the pre-planned path includes at least one singular area; wherein the constraint indicator includes at least one of a posture indicator, a speed indicator, and a trajectory deviation indicator.

[0106] The traffic strategy determination module 320 is used to determine at least one traffic strategy and a traffic loss value corresponding to each singular area according to the at least one constraint index.

[0107] The target traffic strategy determination module 330 is used to determine the target traffic strategy based on the traffic loss value corresponding to each traffic strategy, so as to pass through the corresponding singular area based on the target traffic strategy.

[0108] On the basis of the above technical solutions, the singular point avoidance device also includes a singular point determination module.

[0109] The singular point determination module is used to determine the Jacobian matrix corresponding to each sampling point, and determine at least one singular value corresponding to each sampling point according to the Jacobian matrix; determine the singular point according to the at least one singular value of each sampling point and a preset singular threshold, and use the area to which the singular point belongs as the singular area.

[0110] On the basis of the above-mentioned technical solutions, the traffic strategy determination module 320 includes a traffic strategy determination unit based on a posture index, a traffic strategy determination unit based on a speed index, and a traffic strategy determination unit based on a trajectory deviation index.

[0111] A passage strategy determination unit based on posture indicators is used to determine, if the constraint indicators include posture indicators, the passage strategy corresponding to each singular area as planning for each joint control, obtain the joint angle value corresponding to each joint, and adjust the joint posture of other joints based on a preset posture determination function under the condition that the first joint and the last joint angle values ​​remain unchanged; wherein the joint posture includes joint position coordinates; and determine the passage loss value corresponding to the passage strategy based on the original passing time and the actual passing time corresponding to the singular area.

[0112] A speed index-based traffic strategy determination unit is used for, if the constraint index is a speed index, then the traffic strategy corresponding to each singular area is to determine the actual joint speed of each joint, and determine the theoretical joint speed of each joint according to the actual joint speed, so as to pass through the singular area based on the theoretical joint speed; according to the theoretical joint speed, actual joint speed, actual passage time and theoretical passage time corresponding to each singular area, determine the traffic loss value corresponding to each singular area.

[0113] Optionally, the speed indicator-based traffic strategy determination unit is also used to determine the speed reduction ratio corresponding to each target actual joint speed based on the speed threshold of each target actual joint speed and the preset joint speed when it is detected that there is a target actual joint speed whose actual joint speed is greater than a preset joint speed threshold; and to adjust the actual joint speed of each joint using the maximum speed reduction ratio as a benchmark to obtain the theoretical joint speed of each joint.

[0114] A traffic strategy determination unit based on a trajectory deviation index is used for, if the constraint index is the trajectory deviation index, then the traffic strategy corresponding to each singular area is to determine the original trajectory corresponding to the singular area, and process each original trajectory according to a preset displacement deviation to obtain at least one Bezier curve corresponding to each singular area, so as to pass through the corresponding singular area according to each Bezier curve; determine whether at least one Bezier curve corresponding to each singular area can pass through the singular area, and use whether it can pass through as the traffic loss value.

[0115] On the basis of the above technical solutions, the singularity point avoidance device also includes a traffic strategy display module.

[0116] A traffic strategy display module is used to display the traffic strategies and traffic loss values ​​corresponding to other constraint indicators in the target display area for user selection if the at least one constraint indicator includes one, and when the traffic strategy corresponding to the constraint indicator cannot pass through each singular area.

[0117] Optionally, the target traffic strategy determination module 330 is further configured to use the traffic strategy corresponding to the minimum traffic loss value as the target traffic strategy, and pass through the corresponding singular area based on the target traffic strategy.

[0118] The technical solution provided in this embodiment, if it is determined that the pre-planned path includes at least one singular area, then at least one pre-configured constraint indicator is obtained. It can be understood that based on the constraint indicator, the subsequent processing process can be more in line with actual needs; according to at least one constraint indicator, at least one traffic strategy and traffic loss value corresponding to each singular area are determined, and further, based on the traffic loss value corresponding to each traffic strategy, the target traffic strategy is determined to pass through the corresponding singular area based on the target traffic strategy. This can not only ensure that the robot passes through the singularity point smoothly, but also eliminate the need to add special tooling to the robot, taking into account the applicability and versatility of the robot. At the same time, the traffic strategy determined based on the constraint indicator meets the requirements of the user's original programming trajectory, and avoids the situation where the robot re-plans the trajectory during work and causes unexpected results.

[0119] The singularity avoidance device provided in the embodiment of the present invention can execute the singularity avoidance method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.

[0120] It is worth noting that the various units and modules included in the above-mentioned device are only divided according to functional logic, but are not limited to the above-mentioned division, as long as the corresponding functions can be achieved; in addition, the specific names of the functional units are only for the convenience of distinguishing each other, and are not used to limit the protection scope of the embodiments of the present invention.

[0121] Embodiment 5

[0122] Figure 7 This is a schematic diagram of the structure of an electronic device provided in Embodiment 5 of the present invention. Figure 7 A block diagram of an exemplary electronic device 40 suitable for implementing exemplary embodiments of the present invention is shown. Figure 7 The electronic device 40 shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present invention.

[0123] like Figure 7 As shown, the electronic device 40 is in the form of a general computing device. The components of the electronic device 40 may include but are not limited to: one or more processors or processing units 401, a system memory 402, and a bus 403 connecting different system components (including the system memory 402 and the processing unit 401).

[0124] Bus 403 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processor or a local bus using any of a variety of bus structures. For example, these architectures include but are not limited to Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MAC) bus, Enhanced ISA bus, Video Electronics Standards Association (VESA) local bus and Peripheral Component Interconnect (PCI) bus.

[0125] The electronic device 40 typically includes a variety of computer system readable media. These media can be any available media that can be accessed by the electronic device 40, including volatile and non-volatile media, removable and non-removable media.

[0126] System memory 402 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) 404 and / or cache memory 405. Electronic device 40 may further include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, storage system 406 may be used to read and write non-removable, non-volatile magnetic media ( Figure 7 not shown, usually called a "hard drive"). Although Figure 7 Not shown in the figure, a disk drive for reading and writing to a removable non-volatile disk (e.g., a "floppy disk"), and an optical disk drive for reading and writing to a removable non-volatile optical disk (e.g., a CD-ROM, a DVD-ROM, or other optical media) may be provided. In these cases, each drive may be connected to bus 403 via one or more data medium interfaces. Memory 402 may include at least one program product having a set (e.g., at least one) of program modules that are configured to perform the functions of various embodiments of the present invention.

[0127] A program / utility 408 having a set (at least one) of program modules 407 may be stored, for example, in memory 402, such program modules 407 including, but not limited to, an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment. Program modules 407 generally perform the functions and / or methods of the embodiments described herein.

[0128] The electronic device 40 may also communicate with one or more external devices 409 (e.g., keyboards, pointing devices, displays 410, etc.), may communicate with one or more devices that enable a user to interact with the electronic device 40, and / or may communicate with any device that enables the electronic device 40 to communicate with one or more other computing devices (e.g., a network card, a modem, etc.). Such communication may be performed via an input / output (I / O) interface 411. Furthermore, the electronic device 40 may also communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network, such as the Internet) via a network adapter 412. As shown, the network adapter 412 communicates with other modules of the electronic device 40 via the bus 403. It should be understood that although Figure 7 Not shown, other hardware and / or software modules may be used in conjunction with the electronic device 40, including but not limited to microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0129] The processing unit 401 executes various functional applications and data processing by running the programs stored in the system memory 402, such as implementing the singularity avoidance method provided in the embodiment of the present invention.

[0130] Embodiment 6

[0131] Embodiment 6 of the present invention further provides a storage medium comprising computer executable instructions, wherein the computer executable instructions are used to execute a method for avoiding singular points when executed by a computer processor.

[0132] The method includes:

[0133] If it is determined that the pre-planned path includes at least one singular area, obtaining at least one pre-configured constraint index; wherein the constraint index includes at least one of a posture index, a speed index, and a trajectory deviation index;

[0134] Determining at least one traffic strategy and a traffic loss value corresponding to each singular area according to the at least one constraint indicator;

[0135] Based on the traffic loss values ​​corresponding to each traffic strategy, a target traffic strategy is determined to pass through the corresponding singular area based on the target traffic strategy.

[0136] The computer storage medium of the embodiment of the present invention can adopt any combination of one or more computer-readable media. The computer-readable medium can be a computer-readable signal medium or a computer-readable storage medium. The computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples (non-exhaustive list) of computer-readable storage media include: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In this document, a computer-readable storage medium can be any tangible medium containing or storing a program, which can be used by an instruction execution system, device or device or used in combination with it.

[0137] Computer-readable signal media may include a data signal propagated in baseband or as part of a carrier wave, in which computer-readable project code is carried. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium other than a computer-readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device.

[0138] Project code embodied on a computer-readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.

[0139] Computer project code for performing the operation of embodiments of the present invention may be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" or similar programming languages. The project code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0140] Note that the above are only preferred embodiments of the present invention and the technical principles used. Those skilled in the art will understand that the present invention is not limited to the specific embodiments described herein, and that various obvious changes, readjustments and substitutions can be made by those skilled in the art without departing from the scope of protection of the present invention. Therefore, although the present invention has been described in more detail through the above embodiments, the present invention is not limited to the above embodiments, and may include more other equivalent embodiments without departing from the concept of the present invention, and the scope of the present invention is determined by the scope of the appended claims.

Claims

1. A method for avoiding singular points, characterized in that: Applied to six-axis robots, including: If it is determined that the pre-planned path includes at least one singular area, obtaining at least one pre-configured constraint index; wherein the constraint index includes at least one of a posture index, a speed index, and a trajectory deviation index; Determining at least one traffic strategy and a traffic loss value corresponding to each singular area according to the at least one constraint indicator; Determine a target traffic strategy based on the traffic loss values ​​corresponding to each traffic strategy, so as to pass through the corresponding singular area based on the target traffic strategy; Determining at least one traffic strategy and a traffic loss value corresponding to each singular area according to the at least one constraint indicator includes: If the constraint index includes a posture index, the passage strategy corresponding to each singular area is determined to be planning for each joint control, obtaining a joint angle value corresponding to each joint, and adjusting the joint postures of other joints based on a preset posture determination function under the condition that the first joint and the last joint angle values ​​remain unchanged; wherein the joint postures include joint position coordinates; Determining a passage loss value corresponding to the passage strategy according to an original passage time and an actual passage time corresponding to the singular area; If the constraint index is a speed index, the passage strategy corresponding to each singular area is to determine the actual joint speed of each joint, and determine the theoretical joint speed of each joint according to each actual joint speed, so as to pass through the singular area based on the theoretical joint speed; Determine the passage loss value corresponding to each singular area according to the theoretical joint speed, actual joint speed, actual passage time and theoretical passage time corresponding to each singular area; If the constraint index is the trajectory deviation index, the passage strategy corresponding to each singular area is to determine the original trajectory corresponding to the singular area, and process each original trajectory according to a preset displacement deviation to obtain at least one Bezier curve corresponding to each singular area, so as to pass through the corresponding singular area according to each Bezier curve; It is determined whether at least one Bezier curve corresponding to each singular region can pass through the singular region, and whether it can pass through is used as the passage loss value.

2. The method according to claim 1, characterized in that Also includes: Determine a Jacobian matrix corresponding to each sampling point, and determine at least one singular value corresponding to each sampling point based on the Jacobian matrix; According to at least one singular value of each sampling point and a preset singular threshold, a singular point is determined, and a region to which the singular point belongs is used as the singular region.

3. The method according to claim 1, characterized in that Determining the theoretical joint speed of each joint according to each actual joint speed includes: When it is detected that there is a target actual joint speed whose actual joint speed is greater than a preset joint speed threshold, a speed reduction ratio corresponding to each target actual joint speed is determined according to each target actual joint speed and the speed threshold of the preset joint speed; The maximum speed reduction ratio is used as a benchmark to adjust the actual joint speed of each joint to obtain the theoretical joint speed of each joint.

4. The method according to claim 1, characterized in that: Also includes: If the at least one constraint indicator includes one, when it is impossible to pass through each singular area based on the traffic strategy corresponding to the constraint indicator, the traffic strategies and traffic loss values ​​corresponding to other constraint indicators will be displayed in the target display area for user selection.

5. The method according to claim 1, characterized in that The determining of a target traffic strategy based on the traffic loss values ​​corresponding to each traffic strategy so as to pass through a corresponding singular area based on the target traffic strategy includes: The traffic strategy corresponding to the minimum traffic loss value is used as the target traffic strategy, and the corresponding singular area is passed based on the target traffic strategy.

6. A singular point avoidance device, characterized in that: Applied to six-axis robots, including: A constraint index acquisition module, used for acquiring at least one pre-configured constraint index if it is determined that the pre-planned path includes at least one singular area; wherein the constraint index includes at least one of a posture index, a speed index, and a trajectory deviation index; A traffic strategy determination module, used to determine at least one traffic strategy and a traffic loss value corresponding to each singular area according to the at least one constraint index; A target traffic strategy determination module, used to determine a target traffic strategy based on the traffic loss values ​​corresponding to each traffic strategy, so as to pass through a corresponding singular area based on the target traffic strategy; The traffic strategy determination module includes a traffic strategy determination unit based on a posture index, a traffic strategy determination unit based on a speed index, and a traffic strategy determination unit based on a trajectory deviation index; A passage strategy determination unit based on posture indicators, for determining, if the constraint indicators include posture indicators, that the passage strategy corresponding to each singular area is to plan each joint control, obtain the joint angle value corresponding to each joint, and adjust the joint postures of other joints based on a preset posture determination function under the condition that the first joint and the last joint angle values ​​remain unchanged; wherein the joint postures include joint position coordinates; and determining the passage loss value corresponding to the passage strategy according to the original passing time and the actual passing time corresponding to the singular area; A speed index-based passage strategy determination unit, for determining, if the constraint index is a speed index, a passage strategy corresponding to each singular area by determining an actual joint speed of each joint, and determining a theoretical joint speed of each joint according to each actual joint speed, so as to pass through the singular area based on the theoretical joint speed; determining a passage loss value corresponding to each singular area according to the theoretical joint speed, the actual joint speed, the actual passage time and the theoretical passage time corresponding to each singular area; A traffic strategy determination unit based on a trajectory deviation index is used for, if the constraint index is the trajectory deviation index, then the traffic strategy corresponding to each singular area is to determine the original trajectory corresponding to the singular area, and process each original trajectory according to a preset displacement deviation to obtain at least one Bezier curve corresponding to each singular area, so as to pass through the corresponding singular area according to each Bezier curve; determine whether at least one Bezier curve corresponding to each singular area can pass through the singular area, and use whether it can pass through as the traffic loss value.

7. An electronic device, characterized in that: The electronic device comprises: one or more processors; a storage device for storing one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors implement the singularity avoidance method as described in any one of claims 1 to 5.

8. A storage medium comprising computer executable instructions, wherein the computer executable instructions are used to execute the singularity avoidance method according to any one of claims 1 to 5 when executed by a computer processor.

Citation Information

Patent Citations

  • Six-freedom-degree robot track planning method giving consideration to tail end motion error

    CN106647282A

  • Localization, synchronization and navigation using passive sensor networks

    US20150092766A1