A method and system for avoiding singular regions of a robot arm under different operation requirements

By identifying and avoiding the singular regions of the robotic arm, and utilizing transformation matrices and singularity avoidance strategies, the problem of loss of motion capability of the robotic arm in Cartesian space was solved, thereby improving task completion efficiency and safety.

CN117124320BActive Publication Date: 2026-05-05FOSHAN INST OF INTELLIGENT EQUIP TECH
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
FOSHAN INST OF INTELLIGENT EQUIP TECH
Filing Date
2023-08-03
Publication Date
2026-05-05

AI Technical Summary

Technical Problem

When a robotic arm operates in Cartesian space, the singularity causes the end effector to lose its motion capability, which can easily lead to joint overspeed and discontinuous motion, affecting the completion of tasks and robot safety.

Method used

By determining the transformation matrix between the joint coordinate system and the Cartesian coordinate system, the working area on the robotic arm's Cartesian space motion trajectory is marked, singularity avoidance strategies are identified and assigned, and a suitable singularity avoidance strategy is selected for trajectory correction using a fast query strategy and a singularity avoidance evaluation parameter library.

Benefits of technology

It speeds up the detection of singular regions, saves computing resources, improves the robot arm's ability to complete tasks under different operational requirements, and reduces damage caused by singularities.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117124320B_ABST
    Figure CN117124320B_ABST
Patent Text Reader

Abstract

This invention discloses a method, system, device, and medium for avoiding singularities in a robotic arm under different operational requirements. The method includes: determining the transformation matrix between the joint coordinate system and the Cartesian coordinate system based on the kinematic model of the robotic arm; marking all operational areas on the Cartesian motion trajectory of the robotic arm; identifying all singularities from all operational areas based on several motion information associated with several interpolation points in each operational area and the transformation matrix; and assigning corresponding singularity avoidance strategies to all singularities based on a singularity avoidance evaluation parameter library associated with all operational areas. This invention can accelerate the singularity detection speed by automatically adjusting the detection step size, and corrects the trajectory of all singularities within different operational areas by assigning singularity avoidance strategies to different operational areas containing singularities, thereby reducing the damage caused by the singularity of the robotic arm while better completing the task.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of robotic arm control technology, specifically to a method, system, device, and medium for avoiding singular areas in robotic arms under different operational requirements. Background Technology

[0002] In actual operation in Cartesian space, due to the singularity of the robotic arm, the end effector loses its ability to move in any direction in certain areas. When the robot moves in the singular point and the singular region, it is prone to joint overspeed and discontinuous movement. If the singular region is not detected and avoided in time, it will cause certain damage to the robot body and will not be conducive to the robot completing its own task better. Summary of the Invention

[0003] This invention provides a method, system, device, and medium for avoiding singular areas of a robotic arm under different operational requirements, in order to solve one or more technical problems existing in the prior art, and at least provide a beneficial option or create conditions.

[0004] Firstly, a method for avoiding singularities in a robotic arm under different operational requirements is provided, including:

[0005] Based on the kinematic model of the robotic arm, determine the transformation matrix between the joint coordinate system and the Cartesian coordinate system;

[0006] All work areas are marked on the Cartesian space motion trajectory of the robotic arm. Then, based on the motion information associated with several interpolation points in each work area and the transformation matrix, all singular regions are identified from all work areas.

[0007] Based on the singularity avoidance evaluation parameter library associated with all the work areas, assign corresponding singularity avoidance strategies to all the singular areas.

[0008] Furthermore, the step of identifying all singular regions from all work areas based on the motion information associated with several interpolation points in each work area and the transformation matrix includes:

[0009] For any one of the aforementioned work areas

[0010] Step 1: Based on the motion information of the i-th interpolation point in the work area and the transformation matrix, determine whether the i-th interpolation point meets the singularity judgment criteria; if not, proceed to step 2; if yes, assign a singularity start marker at the i-th interpolation point, call the fast query strategy to select the subsequent single interpolation point and assign it a singularity end marker, and then proceed to step 2.

[0011] Step 2: Determine whether i < N is true, where N is the number of interpolation points in the work area; if yes, assign i+1 to i and return to step 1; if no, identify all singular regions in the work area based on the start and end markers of all singular regions assigned to the work area.

[0012] Furthermore, the step of invoking the fast query strategy to select a single interpolation point and assigning it a singular region end marker includes:

[0013] Step 11: Determine whether i < NS is true, where S is the detection step size associated with the work area; if yes, assign i + S to i and execute step 12; if no, assign the singular region end marker at the last interpolation point in the work area.

[0014] Step 12: Based on the motion information of the i-th interpolation point in the work area and the transformation matrix, determine whether the i-th interpolation point meets the singularity judgment criteria; if yes, return to step 11; if no, assign a singularity end marker at the i-th interpolation point.

[0015] Further, determining whether the i-th interpolation point meets the singularity judgment criteria based on the motion information of the i-th interpolation point in the work area and the transformation matrix includes:

[0016] The motion information of the i-th interpolation point includes the spatial position and Euler angle of the robotic arm at the i-th interpolation point. The transformation matrix is ​​used to perform inverse kinematics on the spatial position and the Euler angle to obtain the current joint angle value and the next joint angle value of the robotic arm at the i-th interpolation point.

[0017] Based on the current joint angle value, the next joint angle value, and the time step between them, determine the singularity judgment value associated with the i-th interpolation point, and determine whether it falls within a given threshold range; if yes, determine that the i-th interpolation point does not meet the singularity judgment criteria; if no, determine that the i-th interpolation point meets the singularity judgment criteria.

[0018] Furthermore, the detection step size associated with the work area is determined by the number of interpolation points in the work area and the frequency factor associated with the work area.

[0019] Furthermore, if no singular region start marker and singular region end marker are assigned to the work area, it is determined that there is no singular region in the work area.

[0020] Furthermore, the step of assigning corresponding singularity avoidance strategies to all singular regions based on the singularity avoidance evaluation parameter library associated with all work areas includes:

[0021] For any work area with a singularity among all the work areas, obtain the motion weight parameters of the robotic arm associated with that work area from the given singularity avoidance evaluation parameter library, including no pose requirement weight, end-effector pose weight, end-effector orientation weight, and end-effector position weight.

[0022] Based on the motion weight parameters, determine the singularity avoidance evaluation value associated with the work area;

[0023] The given singularity avoidance strategy database is invoked to query and allocate the singularity avoidance evaluation value, thereby obtaining all the singularity avoidance strategies allowed in the singularity zones of the work area.

[0024] Secondly, a robotic arm singularity avoidance system is provided for different operational requirements, including:

[0025] The determination module is used to determine the transformation matrix between the joint coordinate system and the Cartesian coordinate system based on the kinematic model of the robotic arm;

[0026] The identification module is used to mark all working areas on the Cartesian space motion trajectory of the robotic arm, and then identify all singular regions from all working areas based on several motion information associated with several interpolation points in each working area and the transformation matrix.

[0027] The allocation module is used to allocate corresponding singularity avoidance strategies to all singular areas based on the singularity avoidance evaluation parameter library associated with all work areas.

[0028] Thirdly, a computer device is provided, including a memory and a processor, the memory storing a computer program, the processor executing the computer program to implement the robotic arm singularity avoidance method under different operational requirements as described in the first aspect.

[0029] Fourthly, a computer-readable storage medium is provided, on which a computer program is stored, wherein when the computer program is executed by a processor, it implements the robotic arm singularity avoidance method under different operational requirements as described in the first aspect.

[0030] The present invention has at least the following beneficial effects: In the process of identifying singular regions from any work area, it is only necessary to switch to an appropriate detection step size after determining the singular region start marker to select the interpolation points arranged later for calculation and judgment to obtain the corresponding singular region end marker, without having to calculate and judge all interpolation points in the singular region. This can speed up the singular region detection speed and save computing resources. Since different work areas have corresponding singularity avoidance evaluation values, for any work area with singularities, selecting a singularity avoidance strategy that matches its corresponding singularity avoidance evaluation value to correct the trajectory of all singularities within it can enable the robot to better complete its work tasks and minimize the damage caused by the singularity of the robotic arm during the task completion process. Attached Figure Description

[0031] The accompanying drawings are provided to further understand the technical solutions of the present invention and constitute a part of the specification. They are used together with the embodiments of the present invention to explain the technical solutions of the present invention, and do not constitute a limitation on the technical solutions of the present invention.

[0032] Figure 1 This is a flowchart illustrating a method for avoiding singular areas of a robotic arm under different operational requirements in an embodiment of the present invention.

[0033] Figure 2 This is a schematic diagram of the composition of a robotic arm singularity avoidance system under different operational requirements in an embodiment of the present invention;

[0034] Figure 3 This is a schematic diagram of the hardware structure of the computer device in an embodiment of this disclosure. Detailed Implementation

[0035] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the invention.

[0036] It should be noted that although functional modules are divided in the system diagram and a logical order is shown in the flowchart, in some cases, the steps shown or described may be performed in a different order than the module division in the system or the order in the flowchart. The terms "first," "second," "third," "fourth," etc., used in the specification and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units that are not explicitly listed and are inherent to these processes, methods, products, or apparatuses.

[0037] Please refer to Figure 1 , Figure 1 This is a flowchart illustrating a method for avoiding singular regions in a robotic arm under different operational requirements, provided by an embodiment of the present invention. The method includes the following:

[0038] Step S110: Based on the kinematic model of the robotic arm, determine the transformation matrix between the joint coordinate system and the Cartesian coordinate system;

[0039] Step S120: Mark all working areas on the Cartesian space motion trajectory of the robotic arm, and then identify all singular regions from all working areas based on the motion information associated with several interpolation points in each working area and the transformation matrix.

[0040] Step S130: Based on the singularity avoidance evaluation parameter library associated with all the work areas, assign corresponding singularity avoidance strategies to all singular areas.

[0041] In this embodiment of the invention, the robotic arm may be, but is not limited to, a six-degree-of-freedom HSR-JR605 robot. The specific implementation process of step S110 is as follows: First, based on the DH parameters of the robotic arm (specifically including link length, link twist, joint angle, and offset distance), a kinematic model of the robotic arm is established. On this basis, a reference joint coordinate system is established to derive the link transformation matrix associated with the robotic arm. Then, multiply all the parameters in the link transformation matrix together to obtain the transformation matrix required to convert the joint coordinate system to the Cartesian coordinate system.

[0042] In this embodiment of the invention, assuming the number of all work areas is K, where K is a positive integer and K is greater than 1, the specific implementation process of step S120 above includes the following:

[0043] Step S121: Obtain the kth work area from all the work areas, and count the number of interpolation points set in the kth work area as N, where N is a positive integer and N is greater than 1;

[0044] Step S122: Obtain the i-th interpolation point from the k-th work area (which should be in the direction of movement of the robotic arm), and then determine whether the i-th interpolation point meets the singularity judgment criteria based on the transformation matrix and the motion information corresponding to the i-th interpolation point; if it does not meet the criteria, continue to step S124; if it does meet the criteria, continue to step S123.

[0045] Step S123: Add a singular region start marker at the i-th interpolation point, then continue to select a suitable single interpolation point according to the fast query strategy pre-defined by the technicians, and add a singular region end marker at the selected single interpolation point, and continue to execute step S124.

[0046] Step S124: Determine whether i < N is true; if true, assign i+1 to i and return to execute step S122 above; if false, continue to execute step S125.

[0047] Step S125: Based on all singular region start markers and all singular region end markers added in the kth job area, identify all singular regions from the kth job area, and then continue to execute step S126.

[0048] Step S126: Determine whether k < K is true; if true, assign k+1 to k and then return to execute step S121 above; if false, end the entire singular region identification operation.

[0049] It should be noted that step S121 above is executed starting from k=1, and step S122 above is executed starting from i=1.

[0050] More specifically, the motion information corresponding to the i-th interpolation point mentioned in step S122 above specifically includes the Euler angles {α,β,γ} and spatial position {x,y,z} of the robotic arm at the i-th interpolation point. The implementation process of step S122 above includes the following:

[0051] Step S122.1: Perform inverse kinematics on the Euler angles {α,β,γ} and the spatial positions {x,y,z} using the transformation matrix to obtain the current joint angle value of the robotic arm at the i-th interpolation point (i.e., the six joint angle values ​​of the robotic arm at the current time t) as θ. t ={θ1,θ2,θ3,θ4,θ5,θ6} tAnd the next joint angle value (i.e., the six joint angle values ​​of the robotic arm at time t+Δt) is θ. t+△t ={θ1,θ2,θ3,θ4,θ5,θ6} t+△t Δt is the current joint angle value θ t and the next joint angle value θ t+△t The time step between;

[0052] Step S122.2: Combine the next joint angle value θ t+△t The current joint angle value θ t Given the time step Δt, calculate the singularity judgment value corresponding to the i-th interpolation point as Δθ = (θ t+△t -θ t ) / Δt;

[0053] Step S122.3: Determine whether the singularity judgment value Δθ corresponding to the i-th interpolation point is within the given threshold range (i.e., the speed limit threshold range of the six joints in the robotic arm); if yes, verify that the i-th interpolation point does not meet the singularity judgment criterion; if no, verify that the i-th interpolation point meets the singularity judgment criterion; wherein, the given threshold range is θ. limit ={θ 1_limit ,θ 2_limit ,θ 3_limit ,θ 4_limit ,θ 5_limit ,θ 6_limit}, θ 1_limit =[θ 1_min ,θ 1_max ], θ 2_limit =[θ 2_min ,θ 2_max ], θ 3_limit =[θ 3_min ,θ 3_max ], θ 4_limit =[θ 4_min ,θ 4_max ], θ 5_limit =[θ 5_min ,θ 5_max ], θ 6_limit =[θ 6_min ,θ 6_max ].

[0054] It should be noted that in step S122.1 above, multiple sets of joint angle values ​​of the robotic arm at the i-th interpolation point can actually be obtained through inverse kinematics. First, some joint angle values ​​are discarded according to the joint movement range of the robotic arm. Then, among the remaining joint angle values, a set of optimal joint angle values ​​that emphasizes the movement of the small link rather than the movement of the large link is selected. Finally, a weighted operation is performed on the set of optimal joint angle values ​​to obtain the final joint angle value output.

[0055] More specifically, the implementation process of step S123 above includes the following:

[0056] Step S123.1: Add a singular region start marker at the i-th interpolation point, which can be denoted as S. k-jA , where j is the singularity number identified sequentially in the k-th work area, and A represents the starting identifier code of the singularity;

[0057] Step S123.2: Determine if i < NS is true, where S is the detection step size associated with the k-th work area; if true, assign i + S to i, and continue to step S123.3; if false, directly add a singular region end marker, denoted as S, at the last interpolation point in the k-th work area. k-jB , where j is the singularity number identified sequentially in the k-th work area, and B is the end identifier code of the singularity;

[0058] Step S123.3: Obtain the i-th interpolation point from the k-th work area, and then determine whether the i-th interpolation point meets the singularity judgment criteria based on the transformation matrix and the motion information corresponding to the i-th interpolation point; if it does, return to execute the above step S123.2; if it does not meet, add a singularity end marker at the i-th interpolation point, which can be denoted as S. k-jB .

[0059] It should be noted that, regarding the detection step size S associated with the kth working area mentioned in step S123.2 above, setting it too large will lead to a decrease in the positional accuracy of the singular area, while setting it too small will lead to a slower speed of leaving the singular area. Therefore, the present invention sets it to be jointly determined by the frequency factor F associated with the kth working area given in advance by the technician and the number of interpolation points N set in the kth working area, and preferably set it to S = F × N. At the same time, the value range of S is set to [3, 15], but the present invention does not limit this value range and can be modified according to actual needs. In addition, the frequency factor F associated with the kth working area is comprehensively determined by the motion control accuracy, speed, performance, processing requirements and safety requirements of the robotic arm in the kth working area, and is generally taken between 0.01 and 0.05.

[0060] It should be noted that the implementation process of step S123.3 is basically similar to that of step S122, and will not be described again here.

[0061] It should be noted that after performing step S124 above and determining that i < N is not true, if it is found that no singular region start marker and no singular region end marker have been added in the kth job area, or if only the last interpolation point in the kth job area has been added with both singular region start marker and singular region end marker, it can be determined that there is no singular region in the kth job area. In this case, there is no need to perform step S125 above, and step S126 above can be performed directly.

[0062] More specifically, the implementation process of step S125 above will be explained here by way of example: Assume that only three singular region starting identifiers are added in the k-th work area, namely S k-1A S k-2A and S k-3A And only three singularity end markers are added, namely S k-1B S k-2B and S k-3B Then, the starting identifier S of the singular region will be... k-1A End marker S of the singularity zone k-1B The region of interpolation points encompassed between these points is defined as the first singular region and denoted as S. k-1 Set the singular region starting identifier S k-2A End marker S of the singularity zone k-2B The region of interpolation points encompassed between these points is defined as the second singular region and denoted as S. k-2 And the singularity starting identifier S k-3A End marker S of the singularity zone k-3B The region of interpolation points encompassed between these points is defined as the third singular region and denoted as S. k-3 .

[0063] In this embodiment of the invention, the specific implementation process of step S130 includes the following:

[0064] Step S131: Select all work areas with singular regions from all work areas, and count the number of all work areas as M, where M is a positive integer, M is greater than 1 and less than or equal to K;

[0065] Step S132: Obtain the m-th work area from all the work areas;

[0066] Step S133: Call the singularity avoidance evaluation parameter library pre-built by the technicians to query and match the m-th work area to obtain the corresponding motion weight parameters of the robotic arm, specifically including end position weight p1, end direction weight p2, end pose weight p3 and no pose requirement weight p4.

[0067] It should be noted that if the motion weight parameter corresponding to the m-th working area is not recorded in the singular avoidance evaluation parameter library, the default parameter values are adopted: p1 = 0, p2 = 0, p3 = 100, p4 = 0;

[0068] Step S134: Using the motion weight parameters {p1, p2, p3, p4}, calculate the singular avoidance evaluation value corresponding to the m-th working area as P = max[p1, 100 + p2, 200 + p3, 300 + p4};

[0069] Step S135: Invoke the singular avoidance strategy database pre-constructed by technicians to query and match the singular avoidance evaluation value P, so as to obtain the singular avoidance strategies uniformly allowed for all the singular areas existing in the m-th working area, and then correct the Cartesian space motion trajectory where the m-th working area is located.

[0070] It should be noted that if it is recognized that there are no singular areas in each of all the working areas, the above step S130 does not need to be executed.

[0071] In the embodiment of the present invention, the content recorded inside the singular avoidance strategy database mentioned in the above step S135 is specifically as follows:

[0072] When 0 ≤ P ≤ 100, according to the joint information of the starting point of the singular area and the joint information of the ending point of the singular area, adopt the first type of redundant singular avoidance method, mainly re-plan the singular area with the highest priority task of the end position accuracy, sacrificing part of the end direction accuracy;

[0073] When 100 < P ≤ 200, according to the joint information of the starting point of the singular area and the joint information of the ending point of the singular area, adopt the second type of redundant singular avoidance method, mainly re-plan the singular area with the highest priority task of the end direction accuracy, sacrificing part of the end position accuracy;

[0074] When 200 < P ≤ 300, according to the joint information of the starting point of the singular area and the joint information of the ending point of the singular area, adopt non-redundant singular avoidance methods such as the damping least squares method and the singular separation plus damping reciprocal method, and re-plan the singular area with the joint priority tasks of the end position accuracy and the end direction accuracy, sacrificing part of the end position accuracy and part of the end direction accuracy at the same time, and the partial sacrifice accuracies of both reach an average state;

[0075] When P>300, point-to-point joint space trajectory planning is performed based on the joint information of the starting point and ending point of the singular region. That is, the singular region can be replanned using polynomial interpolation, B-spline curve interpolation, etc. There is no need to consider the end position accuracy and end direction accuracy. Instead, the trajectory allowable error and the safety, continuity and working range during the operation process need to be considered.

[0076] It should be noted that the joint information mentioned above includes the joint position, joint velocity, and joint acceleration of the robotic arm. The four different singularity avoidance methods mentioned above are all existing technologies and will not be elaborated here.

[0077] It should be noted that after performing the above step S130, the following steps are also included: Since the Cartesian space motion trajectory of the robotic arm also includes multiple non-working areas connected to all the working areas, if a singular area exists at the beginning or end of a working area and the singular area is connected to a non-working area, the connection point between the singular area and the non-working area needs to be smoothed to ensure that the joint position, joint velocity, and joint acceleration at the connection point are the same; in addition, if a working area contains multiple singular areas and multiple non-singular areas, and a singular area is connected to a non-singular area, the connection point between the singular area and the non-singular area needs to be smoothed.

[0078] In this embodiment of the invention, during the process of identifying singular regions from any work area, it is only necessary to switch to an appropriate detection step size after determining the singular region start marker to select the interpolation points arranged later for calculation and judgment to obtain the corresponding singular region end marker, without having to calculate and judge all interpolation points within the singular region. This can speed up the singular region detection and save computing resources. Since different work areas have corresponding singularity avoidance evaluation values, for any work area containing singular regions, selecting a singularity avoidance strategy that matches its corresponding singularity avoidance evaluation value to correct the trajectory of all singular regions within it can enable the robot to better complete its work tasks and minimize the damage caused by the singularity of the robotic arm during the task completion process.

[0079] Please refer to Figure 2 , Figure 2 This is a schematic diagram illustrating the composition of a robotic arm singularity avoidance system under different operational requirements, provided in an embodiment of the present invention. The system includes:

[0080] Module 210 is used to determine the transformation matrix required to convert the joint coordinate system to the Cartesian coordinate system using the kinematic model of the robotic arm.

[0081] The identification module 220 is used to pre-mark all the working areas contained in the Cartesian space motion trajectory of the robotic arm, and then identify all the singular regions from all the working areas based on the transformation matrix and the motion information corresponding to several interpolation points set in each working area.

[0082] The allocation module 230 is used to allocate corresponding singularity avoidance strategies to all singular regions using the singularity avoidance evaluation parameter library associated with all the work areas, thereby correcting the Cartesian space motion trajectory of the robotic arm.

[0083] The content of the above method embodiments is applicable to this system embodiment. The functions implemented in this system embodiment are the same as those in the above method embodiments, and the beneficial effects achieved are the same as those in the above method embodiments. Therefore, they will not be repeated here.

[0084] Furthermore, embodiments of the present invention also provide a computer-readable storage medium storing a computer program. When executed by a processor, the computer program implements a robotic arm singularity avoidance method under different operational requirements as described in the above embodiments. The computer-readable storage medium includes, but is not limited to, any type of disk (including floppy disks, hard disks, optical disks, CD-ROMs, and magneto-optical disks), ROM (Read-Only Memory), RAM (Random Access Memory), EPROM (Erasable Programmable Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), flash memory, magnetic cards, or optical cards. In other words, the storage device includes any medium on which a device (e.g., a computer, mobile phone, etc.) stores or transmits information in a readable form, and can be a read-only memory, a disk, or an optical disk, etc.

[0085] also, Figure 3 This is a schematic diagram of the hardware structure of a computer device provided in an embodiment of the present invention. The computer device includes components such as a processor 320, a memory 330, an input unit 340, and a display unit 350. Those skilled in the art will understand that... Figure 3The illustrated device structure is not intended to limit all devices and may include more or fewer components than shown, or combine certain components. The memory 330 can be used to store the computer program 310 and various functional modules. The processor 320 runs the computer program 310 stored in the memory 330, thereby performing various functional applications and data processing of the device. The memory can be internal memory or external memory, or include both internal and external memory. Internal memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, or random access memory. External memory may include hard disks, floppy disks, USB flash drives, magnetic tapes, etc. The memory 330 disclosed in the embodiments of this invention includes, but is not limited to, these types of memory. The memory 330 disclosed in the embodiments of this invention is only an example and not a limitation.

[0086] Input unit 340 is used to receive signal input and user-input keywords. Input unit 340 may include a touch panel and other input devices. The touch panel can collect user touch operations on or near it (such as operations performed by the user using a finger, stylus, or any suitable object or accessory on or near the touch panel) and drive the corresponding connection device according to a pre-set program; other input devices may include, but are not limited to, one or more of physical keyboards, function keys (such as play control buttons, power buttons, etc.), trackballs, mice, joysticks, etc. Display unit 350 can be used to display user-input information or information provided to the user, as well as various menus of the terminal device. Display unit 350 may be in the form of a liquid crystal display, organic light-emitting diode, etc. Processor 320 is the control center of the terminal device, connecting various parts of the entire device through various interfaces and lines, performing various functions and processing data by running or executing software programs and / or modules stored in memory 330, and calling data stored in memory 330.

[0087] As one embodiment, the computer device includes a processor 320, a memory 330, and a computer program 310, wherein the computer program 310 is stored in the memory 330 and configured to be executed by the processor 320, and the computer program 310 is configured to perform a robotic arm singularity avoidance method under different operational requirements in the above embodiment.

[0088] Although the description of this application has been quite detailed and particularly focused on several of the described embodiments, it is not intended to limit itself to any of these details or embodiments or any particular embodiment. Rather, it should be considered as effectively covering the intended scope of this application by referring to the appended claims and taking into account the prior art, which provides for a broad possible interpretation of these claims. Furthermore, the foregoing description of this application with respect to embodiments foreseeable by the inventors is intended to provide a useful description, and non-substantial modifications to this application that have not yet been foreseen may still represent equivalent modifications.

Claims

1. A method for avoiding singular regions in a robotic arm under different operational requirements, characterized in that, include: Based on the kinematic model of the robotic arm, determine the transformation matrix between the joint coordinate system and the Cartesian coordinate system; All work areas are marked on the Cartesian space motion trajectory of the robotic arm. Then, based on the motion information associated with several interpolation points in each work area and the transformation matrix, all singular regions are identified from all work areas. Based on the singularity avoidance evaluation parameter library associated with all the work areas, assign corresponding singularity avoidance strategies to all the singular areas; The step of identifying all singular regions from all work areas based on several motion information associated with several interpolation points in each work area and the transformation matrix includes: For any one of the aforementioned work areas Step 1: Based on the motion information of the i-th interpolation point in the work area and the transformation matrix, determine whether the i-th interpolation point meets the singularity judgment criteria; if not, proceed to step 2; if yes, assign a singularity start marker at the i-th interpolation point, call the fast query strategy to select the subsequent single interpolation point and assign it a singularity end marker, and then proceed to step 2. Step 2: Determine whether i < N is true, where N is the number of interpolation points in the work area; if yes, assign i+1 to i and return to step 1; if no, identify all singular regions from the work area based on all singular region start markers and all singular region end markers assigned in the work area. The step of invoking the fast query strategy to select a single interpolation point and assigning it a singular region end marker includes: Step 11: Determine whether i < NS is true, where S is the detection step size associated with the work area; if yes, assign i + S to i and execute step 12; if no, assign the singular region end marker at the last interpolation point in the work area. Step 12: Based on the motion information of the i-th interpolation point in the work area and the transformation matrix, determine whether the i-th interpolation point meets the singularity judgment criteria; if yes, return to step 11; if no, assign a singularity end marker at the i-th interpolation point. The step of determining whether the i-th interpolation point meets the singularity judgment criteria based on the motion information of the i-th interpolation point in the work area and the transformation matrix includes: The motion information of the i-th interpolation point includes the spatial position and Euler angle of the robotic arm at the i-th interpolation point. The transformation matrix is ​​used to perform inverse kinematics on the spatial position and the Euler angle to obtain the current joint angle value and the next joint angle value of the robotic arm at the i-th interpolation point. Based on the current joint angle value, the next joint angle value, and the time step between them, determine the singularity judgment value associated with the i-th interpolation point, and determine whether it falls within a given threshold range; if yes, determine that the i-th interpolation point does not meet the singularity judgment criteria; if no, determine that the i-th interpolation point meets the singularity judgment criteria.

2. The method for avoiding singular areas of a robotic arm under different operational requirements according to claim 1, characterized in that, The detection step size associated with the work area is determined by the number of interpolation points in the work area and the frequency factor associated with the work area.

3. The method for avoiding singular areas of a robotic arm under different operational requirements according to claim 1, characterized in that, If no singular region start marker or singular region end marker is assigned to the work area, it is determined that there is no singular region in the work area.

4. The method for avoiding singular areas of a robotic arm under different operational requirements according to claim 1, characterized in that, The step of assigning corresponding singularity avoidance strategies to all singular areas based on the singularity avoidance evaluation parameter library associated with all work areas includes: For any work area with a singularity among all the work areas, obtain the motion weight parameters of the robotic arm associated with that work area from the given singularity avoidance evaluation parameter library, including no pose requirement weight, end-effector pose weight, end-effector orientation weight, and end-effector position weight. Based on the motion weight parameters, determine the singularity avoidance evaluation value associated with the work area; The given singularity avoidance strategy database is invoked to query and allocate the singularity avoidance evaluation value, thereby obtaining all the singularity avoidance strategies allowed in the singularity zones of the work area.

5. A robotic arm singularity avoidance system under different operational requirements, characterized in that, include: The determination module is used to determine the transformation matrix between the joint coordinate system and the Cartesian coordinate system based on the kinematic model of the robotic arm; The identification module is used to mark all working areas on the Cartesian space motion trajectory of the robotic arm, and then identify all singular regions from all working areas based on several motion information associated with several interpolation points in each working area and the transformation matrix. The allocation module is used to allocate corresponding singularity avoidance strategies to all singular areas based on the singularity avoidance evaluation parameter library associated with all work areas. The step of identifying all singular regions from all work areas based on several motion information associated with several interpolation points in each work area and the transformation matrix includes: For any one of the aforementioned work areas Step 1: Based on the motion information of the i-th interpolation point in the work area and the transformation matrix, determine whether the i-th interpolation point meets the singularity judgment criteria; if not, proceed to step 2; if yes, assign a singularity start marker at the i-th interpolation point, call the fast query strategy to select the subsequent single interpolation point and assign it a singularity end marker, and then proceed to step 2. Step 2: Determine whether i < N is true, where N is the number of interpolation points in the work area; if yes, assign i+1 to i and return to step 1; if no, identify all singular regions from the work area based on all singular region start markers and all singular region end markers assigned in the work area. The step of invoking the fast query strategy to select a single interpolation point and assigning it a singular region end marker includes: Step 11: Determine whether i < NS is true, where S is the detection step size associated with the work area; if yes, assign i + S to i and execute step 12; if no, assign the singular region end marker at the last interpolation point in the work area. Step 12: Based on the motion information of the i-th interpolation point in the work area and the transformation matrix, determine whether the i-th interpolation point meets the singularity judgment criteria; if yes, return to step 11; if no, assign a singularity end marker at the i-th interpolation point. The step of determining whether the i-th interpolation point meets the singularity judgment criteria based on the motion information of the i-th interpolation point in the work area and the transformation matrix includes: The motion information of the i-th interpolation point includes the spatial position and Euler angle of the robotic arm at the i-th interpolation point. The transformation matrix is ​​used to perform inverse kinematics on the spatial position and the Euler angle to obtain the current joint angle value and the next joint angle value of the robotic arm at the i-th interpolation point. Based on the current joint angle value, the next joint angle value, and the time step between them, determine the singularity judgment value associated with the i-th interpolation point, and determine whether it falls within a given threshold range; if yes, determine that the i-th interpolation point does not meet the singularity judgment criteria; if no, determine that the i-th interpolation point meets the singularity judgment criteria.

6. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, The processor executes the computer program to implement the robotic arm singularity avoidance method under different operational requirements as described in any one of claims 1 to 4.

7. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the robotic arm singularity avoidance method under different operational requirements as described in any one of claims 1 to 4.

Citation Information

Patent Citations

  • Method for determining singular area of joint, robot and storage device

    CN113084792A

  • Method for detecting singular region in motion planning stage of robot

    CN113305881A

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

    CN115922684A