CN114770510B - Kinematic analysis and selection method, device, computer equipment and storage medium - Google Patents

Kinematic analysis and selection method, device, computer equipment and storage medium Download PDF

Info

Publication number
CN114770510B
CN114770510B CN202210499390.6A CN202210499390A CN114770510B CN 114770510 B CN114770510 B CN 114770510B CN 202210499390 A CN202210499390 A CN 202210499390A CN 114770510 B CN114770510 B CN 114770510B
Authority
CN
China
Prior art keywords
angle value
current
target
target angle
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210499390.6A
Other languages
Chinese (zh)
Other versions
CN114770510A (en
Inventor
张鑫
金丁灿
袁沛
金杰锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Smart Technology Co ltd
Original Assignee
Hangzhou Smart Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Smart Technology Co ltd filed Critical Hangzhou Smart Technology Co ltd
Priority to CN202210499390.6A priority Critical patent/CN114770510B/en
Publication of CN114770510A publication Critical patent/CN114770510A/en
Application granted granted Critical
Publication of CN114770510B publication Critical patent/CN114770510B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning

Abstract

The application relates to a kinematic analytic solution optimization method, a device, computer equipment and a storage medium, wherein the method comprises the following steps: acquiring a current angle value of a robot and a target angle value of a kinematic inverse solution; according to the angle difference between the current angle value and the target angle value and the first position, and the angle difference between the current angle value and the target angle value and the second position, determining a reference position for movement between the current angle value and the target angle value, wherein the first position is a critical position for movement of the robot, the second position is 180 degrees different from the first position, and the reference position is the first position or the second position; and judging and outputting an optimal solution of the motion between the current angle value and the target angle value according to the reference position. The method can accurately obtain the optimal solution of the inverse kinematics solution at the critical position of the movement of the robot, and ensures the fluency and safety of the movement of the industrial robot.

Description

Kinematic analysis and selection method, device, computer equipment and storage medium
Technical Field
The present disclosure relates to the field of industrial control technologies, and in particular, to a method and apparatus for resolving and selecting motion, a computer device, and a storage medium.
Background
At present, the position control system of the industrial robot basically uses a kinematic inverse solution as a basis, calculates the joint angle corresponding to the target position, and inputs the joint angle information into the control system of the industrial robot to control the positions of all joints. The kinematic inverse solution algorithm is mainly divided into a numerical solution and a analytic solution, wherein the numerical solution is characterized by high universality, the solution is unique, but the solution speed is low (millisecond level), the analytic solution is characterized by high operation speed (microsecond level), multiple solutions can be generated, and the universality is poor. In order to enable the industrial robot to respond to the work tasks at different positions in real time, a control system generally uses an analytic solution to perform motion inverse solution on the robot, performs preferential selection on multiple solutions, and inputs the optimal solution into the control system.
However, since multiple sets of solutions occur in the solution, one solution most appropriate for the current motion state must be selected. The general preferred algorithm is that each solution is different from each joint angle of the current robot, a smaller threshold (usually 30-50 degrees) is set, and if the difference is smaller than the threshold, the solution is judged to be the optimal solution. The method is applicable under normal conditions, but is not applicable under the critical state of the joint angle, and the condition that the optimal solution cannot be obtained cannot be ensured, so that the motion smoothness cannot be ensured. In the preferred process, if the threshold value is set too small, the optimal solution is filtered, and if the threshold value is set too large, the optimal solution is obtained and is not the optimal solution, so that the robot has an angle mutation and damage to the external environment is caused.
Disclosure of Invention
In view of the foregoing, it is desirable to provide a method, an apparatus, a computer device, and a storage medium for optimizing a kinematic solution that can optimize a solution that is optimal for a critical position of the kinematic solution.
In a first aspect, the present application provides a method of kinematic analytic solution, comprising:
acquiring a current angle value of a robot and a target angle value of a kinematic inverse solution;
according to the angle difference between the current angle value and the target angle value and the first position, and the angle difference between the current angle value and the target angle value and the second position, determining a reference position for movement between the current angle value and the target angle value, wherein the first position is a critical position for movement of the robot, the second position is 180 degrees different from the first position, and the reference position is the first position or the second position;
and judging and outputting an optimal solution of the motion between the current angle value and the target angle value according to the reference position.
In one embodiment, determining the reference position for movement between the current angle value and the target angle value according to the angle difference between the current angle value and the target angle value and the first position, and the angle difference between the current angle value and the target angle value and the second position, respectively, includes:
If the sum of the angle difference values of the current angle value and the target angle value and the first position is smaller than or equal to the sum of the angle difference values of the current angle value and the target angle value and the second position, the first position is taken as a reference position;
and if the sum of the angle difference values of the current angle value and the target angle value and the first position is larger than the sum of the angle difference values of the current angle value and the target angle value and the second position, the second position is used as a reference position.
In one embodiment, determining to output an optimal solution for movement between the current angle value and the target angle value based on the reference position includes:
if the current angle value and the target angle value are positioned on different sides of the reference position, the motion optimal solution is the sum of angle difference values of the current angle value and the target angle value and the reference position respectively;
if the current angle value and the target angle value are positioned on the same side of the reference position, the motion optimal solution is the difference between the angle difference value of the current angle value and the angle difference value of the target angle value and the reference position respectively.
In one embodiment, the movement range of the robot is-180 degrees to +180 degrees, wherein the angle value corresponding to the first position is 180 degrees, the angle value corresponding to the second position is 0 degrees, the current angle value is θ, and the target angle value is θ1;
The angle difference Δ1_1=180° - |θ| between the current angle value and the first position;
an angle difference Δ1_2=180° - |θ1| between the target angle value and the first position;
the angle difference delta 2_1= |θ| -0° between the current angle value and the second position;
the angle difference Δ2_2= |θ1| -0° between the target angle value and the second position.
In one embodiment, determining the reference position for movement between the current angle value and the target angle value according to the angle difference between the current angle value and the target angle value and the first position, and the angle difference between the current angle value and the target angle value and the second position, respectively, includes:
if Δ1_1+Δ1_2 is less than or equal to Δ2_1+Δ2_2, the first position is taken as a reference position;
if Δ1_1+Δ1_2 > Δ2_1+Δ2_2, the second position is taken as the reference position.
In one embodiment, determining to output an optimal solution for movement between the current angle value and the target angle value based on the reference position includes:
if the first position is taken as the reference position, then: when the current angle value and the target angle value are located on different sides of the first position, an optimal solution delta= |delta 1_1+delta 1_2| of the motion between the current angle value and the target angle value, and conversely, an optimal solution delta= |delta 1_2-delta 1_1| of the motion between the current angle value and the target angle value;
If the second position is taken as the reference position, then: when the current angle value and the target angle value are located on different sides of the second position, an optimal solution delta= |delta 2_1+delta 2_2| of the motion between the current angle value and the target angle value is obtained, otherwise, the optimal solution delta= |delta 2_2-delta 2_1| of the motion between the current angle value and the target angle value is obtained.
In one embodiment, the positional relationship between the first position or the second position is determined by positive and negative determination of the current angle value and the target angle value.
In a second aspect, the present application further provides a kinematic analysis and solution optimizing apparatus, including:
the acquisition module is used for acquiring the current angle value of the robot and a target angle value of the inverse kinematics solution;
the position module is used for judging a reference position for movement between the current angle value and the target angle value according to the angle difference value between the current angle value and the target angle value and the first position respectively and the angle difference value between the current angle value and the target angle value and the second position respectively, wherein the first position is a movement critical position of the robot, the second position is 180 degrees different from the first position, and the reference position is the first position or the second position;
and the preferential module is used for judging and outputting an optimal solution of the motion between the current angle value and the target angle value according to the reference position.
In a third aspect, the present application further provides a computer device, the computer device including a memory and a processor, the memory storing a computer program, the processor implementing the steps of the method for resolving preferences by kinematic analysis in any one of the embodiments described above when the computer program is executed.
In a fourth aspect, the present application also provides a computer-readable storage medium. The computer readable storage medium having stored thereon a computer program which, when executed by a processor, performs the steps of the kinematic analytical solution method of any of the embodiments described above.
According to the method, the device, the computer equipment and the storage medium for optimizing the kinematic analytic solution, the current angle value and the target angle value of the kinematic inverse solution of the robot are obtained, the reference position of the motion between the current angle value and the target angle value is judged according to the angle difference value between the current angle value and the target angle value and the angle difference value between the current angle value and the second position respectively, the optimal solution of the motion between the current angle value and the target angle value is judged and output according to the reference position, the optimal solution of the kinematic inverse solution can be accurately obtained at the critical position of the motion of the robot, and the accuracy of optimizing the multiple solutions after the kinematic inverse solution is improved, so that the motion smoothness and the motion safety of the industrial robot are ensured. Meanwhile, the setting of the threshold value in the prior art is omitted, the optimal solution is prevented from being filtered out due to the fact that the threshold value is too small, the situation that the angle mutation occurs to the robot due to the fact that the threshold value is too large is avoided, the external environment is damaged, and the safety and accuracy of the movement of the robot are improved.
Drawings
In order to more clearly illustrate the technical solutions of embodiments or conventional techniques of the present application, the drawings required for the descriptions of the embodiments or conventional techniques will be briefly described below, and it is apparent that the drawings in the following description are only some embodiments of the present application, and other drawings may be obtained according to these drawings without inventive effort for a person of ordinary skill in the art.
FIG. 1 is a flow diagram of a method of kinematic analysis and selection in one embodiment;
FIG. 2 is a flowchart of an algorithm in a specific scenario of a kinematic analysis and selection method in one embodiment;
FIG. 3 is a block diagram of a kinematic analysis and selection device in one embodiment;
fig. 4 is an internal structural diagram of a computer device in one embodiment.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the present application will be further described in detail with reference to the accompanying drawings and examples. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the present application.
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein in the description of the application is for the purpose of describing particular embodiments only and is not intended to be limiting of the application.
It will be understood that the terms "first," "second," and the like, as used herein, may be used herein to describe elements of the same function or names of the same concepts, but these should not be limited by these terms.
As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and/or "comprising," and/or the like, specify the presence of stated features, integers, steps, operations, elements, components, or groups thereof, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or groups thereof. Also, the term "and/or" as used in this specification includes any and all combinations of the associated listed items.
As described in the background art, the inventor researches that the problem that the motion smoothness cannot be guaranteed in the critical state of the joint angle exists in the kinematic analysis solution in the prior art, and found that the problem arises because the computer cannot judge the rotation direction of the motor corresponding to the next solution when calculating the motion inverse solution, so that the optimal solution can be ignored, and the motion smoothness cannot be guaranteed, for example, when the current joint state is 179 degrees, the target angle is 179 degrees, the robot joint can rotate by 2 degrees to 179 degrees, and when the kinematic analysis solution in the prior art is 358 degrees, the absolute value is 358 degrees, so that the execution efficiency of the robot is greatly reduced, and meanwhile, the robot is damaged due to the angle mutation.
Based on the reasons, the invention provides a kinematic analysis solution preferred scheme.
In one embodiment, as shown in fig. 1, a kinematic analytical solution preference method is provided, comprising the steps of:
s100: acquiring a current angle value of a robot and a target angle value of a kinematic inverse solution;
specifically, the robot in this embodiment specifically takes the articulated robot arm as an example, but not limited thereto, and more broadly refers to a device based on a kinematic inverse solution, where the current angle value of the robot is the joint angle corresponding to the current position of the robot, and the target angle value of the kinematic inverse solution is the joint angle corresponding to the target position calculated based on the kinematic inverse solution. The present embodiment may acquire the current angle value through a position sensor of the robot, or may acquire the current angle value through communication with a driver of the robot, which is not limited in this embodiment.
S200: according to the angle difference between the current angle value and the target angle value and the first position, and the angle difference between the current angle value and the target angle value and the second position, determining a reference position for movement between the current angle value and the target angle value, wherein the first position is a critical position for movement of the robot, the second position is 180 degrees different from the first position, and the reference position is the first position or the second position;
The first position of the embodiment is a critical position of movement of the robot, the critical position of movement is a critical point position of a movement range of the robot, for example, when the movement range of the robot is ±180 degrees, the critical position of movement is a position corresponding to an angle value of ±180 degrees, for example, when the movement range of the robot is 0 degrees to 360 degrees, the critical position of movement is a position corresponding to an angle value of 0 degrees or 360 degrees, and the second position of the embodiment is 180 degrees different from the first position, for example, when the movement range of the robot is ±180 degrees, the first position is a position corresponding to an angle value of ±180 degrees, and the second position is a position corresponding to an angle value of 0 degrees.
Specifically, the embodiment takes the first position or the second position as the reference position, and can determine whether the motion between the current angle value and the target angle value is near the first position or near the second position according to the angle difference values between the current angle value and the target angle value and the first position and the second position, wherein the motion near the first position can determine that the motion may have the optimal solution problem of the critical position of the kinematic analysis, and the motion near the second position can determine that the motion may not have the problem.
S300: and judging and outputting an optimal solution of the motion between the current angle value and the target angle value according to the reference position.
Specifically, in the case of determining the reference position, that is, in the case of determining whether there is a problem that there is a possibility that there is an optimal solution for the kinematic solution critical position in the motion between the current angle value and the target angle value, for different cases, the embodiment may output an optimal solution for the motion between the current angle value and the target angle value, where when the first position is taken as the reference position, it is determined whether the motion between the current angle value and the target angle value spans the first position, that is, whether the motion spans the critical position of the motion, if the motion spans the first position, it may be determined that there is an optimal solution for the kinematic solution critical position in the motion between the current angle value and the target angle value, and if the motion does not span the first position, it may be determined that there is no optimal solution for the kinematic solution critical position in the motion between the current angle value and the target angle value, and if the motion does not span the first position, so, the optimal solution for the robot motion in the critical position state of the motion is realized. Similarly, when the second position is taken as the reference position, the same logic is adopted to perform the optimal solution determination of the robot motion, and it can be understood that although the problem does not exist in the second position, the corresponding determination logic when the second position is taken as the reference position can also be adopted to perform the optimal solution determination of the robot motion as the same logic, so as to obtain the optimal motion track of the robot, namely, the determination logic is suitable for not only the preference under the normal condition of the kinematic analysis solution, but also the preference under the state of the critical position of the kinematic analysis solution motion.
According to the kinematic analytic solution optimizing method, the current angle value of the robot and the target angle value of the kinematic inverse solution are obtained, the reference position of the motion between the current angle value and the target angle value is judged according to the angle difference value between the current angle value and the target angle value and the angle difference value between the current angle value and the second position respectively, and the optimal solution of the motion between the current angle value and the target angle value is judged and output according to the reference position, so that the optimal solution of the kinematic inverse solution can be accurately obtained at the critical position of the motion of the robot, the accuracy of multi-solution optimization after the kinematic inverse solution is improved, and the motion smoothness and the motion safety of the industrial robot are guaranteed. Meanwhile, the setting of the threshold value in the prior art is omitted, the optimal solution is prevented from being filtered out due to the fact that the threshold value is too small, the situation that the angle mutation occurs to the robot due to the fact that the threshold value is too large is avoided, the external environment is damaged, and the safety and accuracy of the movement of the robot are improved.
It should be noted that, the kinematic analysis and solution optimizing method of the embodiment not only can meet the kinematic analysis and solution optimizing under normal conditions, but also can meet the kinematic analysis and solution optimizing under the state of the critical position of the motion, thereby ensuring the optimization of the overall motion of the robot.
In one embodiment, the movement range of the robot is-180 degrees to +180 degrees, wherein the angle value corresponding to the first position is 180 degrees, the angle value corresponding to the second position is 0 degrees, the current angle value is θ, and the target angle value is θ1, and then:
the angle difference Δ1_1=180° - |θ| between the current angle value and the first position;
an angle difference Δ1_2=180° - |θ1| between the target angle value and the first position;
the angle difference delta 2_1= |θ| -0° between the current angle value and the second position;
the angle difference Δ2_2= |θ1| -0° between the target angle value and the second position.
In the case that ±180 degrees are used as the movement range of the robot in this embodiment, each angle difference value can be calculated by the above formula, but not limited thereto, and it can be understood that the above formula of this embodiment can be adjusted according to the movement range actually defined by the robot to satisfy the accurate calculation of the angle difference value. For example, in the case of using 0 to 360 degrees as the movement range of the robot, the angle value corresponding to the first position is 360 degrees, and the angle value corresponding to the second position is 180 degrees, the above formula may be adjusted as follows:
the angle difference Δ1_1=180° - |θ -180 ° | between the current angle value and the first position;
The angle difference Δ1_2=180° - |θ1-180° | between the target angle value and the first position;
an angle difference value delta 2_1= |theta-180 degrees| between the current angle value and the second position;
the angle difference Δ2_2= |θ1-180° | between the target angle value and the second position.
More widely, the movement range of the robot in this embodiment takes the 360 degree range as the movement range, and any definition under the condition of meeting the 360 degree range can be used, and the specific definition of the movement range of the robot is not limited in this embodiment.
In the embodiment, the movement range of the robot is + -180 degrees, so that the processor can calculate and control the movement of the robot conveniently, and the angle difference value is more convenient and efficient under the defined movement range, thereby improving the preferential efficiency of the kinematic analysis solution.
In one embodiment, determining the reference position for movement between the current angle value and the target angle value based on the angle difference between the current angle value and the target angle value and the first position, and the angle difference between the current angle value and the target angle value and the second position, respectively, comprises: if the sum of the angle difference values of the current angle value and the target angle value and the first position is smaller than or equal to the sum of the angle difference values of the current angle value and the target angle value and the second position, the first position is taken as a reference position; and if the sum of the angle difference values of the current angle value and the target angle value and the first position is larger than the sum of the angle difference values of the current angle value and the target angle value and the second position, the second position is used as a reference position.
Specifically, in this embodiment, the sum of the angle difference values of the previous angle value and the target angle value and the first position is compared with the sum of the angle difference values of the current angle value and the target angle value and the second position, so as to determine the reference position for movement between the current angle value and the target angle value, wherein the sum of the angle difference values of the current angle value and the target angle value and the first position is smaller than or equal to the sum of the angle difference values of the current angle value and the target angle value and the second position, and the movement between the current angle value and the target angle value and the second position is described as the movement near the first position, and then the first position is used as the reference position, and the sum of the angle difference values of the current angle value and the target angle value and the first position is larger than the sum of the angle difference values of the current angle value and the target angle value and the second position, so as to describe that the movement between the current angle value and the target angle value and the second position is moved near the second position.
Further, when the present embodiment is expressed based on the symbols in the above embodiments, the above logical relationship may be expressed as:
if Δ1_1+Δ1_2 is less than or equal to Δ2_1+Δ2_2, the first position is taken as a reference position;
If Δ1_1+Δ1_2 > Δ2_1+Δ2_2, the second position is taken as the reference position.
In the above embodiment, the current movement condition can be determined conveniently and efficiently by determining the reference position, so that the subsequent optimal solution determination of the movement between the current angle value and the target angle value is facilitated.
In one embodiment, determining to output an optimal solution for movement between the current angle value and the target angle value based on the reference position comprises: if the current angle value and the target angle value are positioned on different sides of the reference position, the motion optimal solution is the sum of angle difference values of the current angle value and the target angle value and the reference position respectively; if the current angle value and the target angle value are positioned on the same side of the reference position, the motion optimal solution is the difference between the angle difference value of the current angle value and the angle difference value of the target angle value and the reference position respectively.
Specifically, the embodiment determines an optimal solution of motion between a current angle value and a target angle value based on a position relation between the current angle value and the target angle value and a reference position, wherein the motion situation of the current angle value and the target angle value relative to the reference position can be determined based on the position relation, if the current angle value and the target angle value are located on different sides of the reference position, the motion between the current angle value and the target angle value is illustrated to cross the reference position, the sum of angle differences between the current angle value and the target angle value and the reference position is taken as the optimal solution of motion, if the current angle value and the target angle value are located on the same side of the reference position, the motion between the current angle value and the target angle value is illustrated to not cross the reference position, and the difference of angle differences between the current angle value and the target angle value and the reference position is taken as the optimal solution of motion.
Further, when the present embodiment is expressed based on the symbols in the above embodiments, the above logical relationship may be expressed as:
if the first position is taken as the reference position, then: when the current angle value and the target angle value are located on different sides of the first position, an optimal solution delta= |delta 1_1+delta 1_2| of the motion between the current angle value and the target angle value, and conversely, an optimal solution delta= |delta 1_2-delta 1_1| of the motion between the current angle value and the target angle value;
if the second position is taken as the reference position, then: when the current angle value and the target angle value are located on different sides of the second position, an optimal solution delta= |delta 2_1+delta 2_2| of the motion between the current angle value and the target angle value is obtained, otherwise, the optimal solution delta= |delta 2_2-delta 2_1| of the motion between the current angle value and the target angle value is obtained.
In the above embodiment, based on the positional relationship between the current angle value and the target angle value relative to the reference position, the optimal solution of the motion between the current angle value and the target angle value can be rapidly determined, and the same determination logic is not only suitable for the preference under the normal condition of the kinematic inverse solution, but also suitable for the preference under the critical position state of the kinematic inverse solution motion, so that the accuracy of the preference of multiple solutions after the kinematic inverse solution is improved, and the smoothness and the safety of the motion of the industrial robot are ensured.
In one embodiment, when the movement range of the robot is defined as-180 degrees to +180 degrees, in one embodiment, the position relationship between the current angle value and the positive and negative values of the target angle value and the reference position can be determined more conveniently and efficiently, in another embodiment, the position relationship can be determined by comparing the magnitudes of the current angle value and the angle value corresponding to the target angle value and the reference position, and in another embodiment, the position relationship is more widely determined by comparing the magnitudes of the current angle value and the angle value corresponding to the target angle value and the reference position, and the position relationship is suitable for determining the position relationship under any definition of the movement range.
Referring to fig. 2, the present embodiment will now be described in detail with reference to a specific scenario, but is not limited thereto.
Under the current scene, the motion range of the robot is from-180 degrees to 180 degrees, wherein the angle value corresponding to the first position is 180 degrees, the angle value corresponding to the second position is 0 degrees, and specific variables are set as follows:
the current angle value of the robot is theta, the target angle value of the kinematic inverse solution is theta 1, the difference value between the current angle value and the first position is delta 1_1, the difference value between the current angle value and the second position is delta 1_2, the difference value between the target angle value and the first position is delta 2_1, the difference value between the target angle value and the second position is delta 2_2, and the finally output optimal solution of the motion between the current angle value and the target angle value is delta.
Referring to fig. 2, the specific flow in the current scenario of the present embodiment is:
acquiring a current angle value theta of the robot and a target angle value theta 1 of a kinematic inverse solution;
based on the angle difference between the current angle value and the target angle value and the first position respectively, and the angle difference between the current angle value and the target angle value and the second position respectively:
the angle difference Δ1_1=180° - |θ| between the current angle value and the first position;
an angle difference Δ1_2=180° - |θ1| between the target angle value and the first position;
the angle difference delta 2_1= |θ| -0° between the current angle value and the second position;
the angle difference Δ2_2= |θ1| -0° between the target angle value and the second position.
Determining a reference position for determining movement between the current angle value and the target angle value:
if Δ1_1+Δ1_2 is less than or equal to Δ2_1+Δ2_2, the first position is taken as a reference position;
if Δ1_1+Δ1_2 > Δ2_1+Δ2_2, the second position is taken as the reference position.
Judging and outputting an optimal solution of the motion between the current angle value and the target angle value according to the reference position:
1) In the case of determining that Δ1_1+Δ1_2 is equal to or less than Δ2_1+Δ2_2, that is, the first position is taken as the reference position:
if θ is positive:
if θ1 is negative:
then the first position over ±180 degrees is explained, then the optimal solution Δ= |Δ1_2+Δ1_1|;
If θ1 is positive:
then it is explained that the first position of ±180 degrees has not passed, then the optimal solution Δ= |Δ1_2- Δ1_1|;
if θ is negative:
if θ1 is negative:
then it is explained that the first position of ±180 degrees has not passed, then the optimal solution Δ= |Δ1_2- Δ1_1|;
if θ1 is positive:
the first position passing through ±180 degrees is explained, and the optimal solution Δ= |Δ1_2+Δ1_1|.
2) In the case of determining that Δ1_1+Δ1_2 > Δ2_1+Δ2_2, i.e., taking the second position as the reference position:
if θ is positive:
if θ1 is negative:
then the second position, where 0 ° passes, is illustrated, then the optimal solution Δ= |Δ2_1+Δ2_2|;
if θ1 is positive:
then it is explained that the second position of 0 ° has not passed, then the optimal solution Δ= |Δ2_1- Δ2_2|;
if θ is negative:
if θ1 is negative:
then it is explained that the second position of 0 ° has not passed, then the optimal solution Δ= |Δ2_1- Δ2_2|;
if θ1 is positive:
then the second position, where 0 ° passes, is illustrated, the optimal solution Δ= |Δ2_1+Δ2_2|.
According to the embodiment, the current angle value and the target angle value of the inverse kinematics solution of the robot are obtained, the reference position of the motion between the current angle value and the target angle value is judged according to the angle difference value between the current angle value and the target angle value and the angle difference value between the current angle value and the target angle value, and the optimal solution of the motion between the current angle value and the target angle value is judged and output according to the reference position, so that the optimal solution of the inverse kinematics solution can be accurately obtained at the critical position of the motion of the robot, the accuracy of multi-solution preference after the inverse kinematics solution is improved, and the motion smoothness and the motion safety of the industrial robot are guaranteed. Meanwhile, the setting of the threshold value in the prior art is omitted, the optimal solution is prevented from being filtered out due to the fact that the threshold value is too small, the situation that the angle mutation occurs to the robot due to the fact that the threshold value is too large is avoided, the external environment is damaged, and the safety and accuracy of the movement of the robot are improved.
It should be understood that, although the steps in the flowcharts related to the embodiments described above are sequentially shown as indicated by arrows, these steps are not necessarily sequentially performed in the order indicated by the arrows. The steps are not strictly limited to the order of execution unless explicitly recited herein, and the steps may be executed in other orders. Moreover, at least some of the steps in the flowcharts described in the above embodiments may include a plurality of steps or a plurality of stages, which are not necessarily performed at the same time, but may be performed at different times, and the order of the steps or stages is not necessarily performed sequentially, but may be performed alternately or alternately with at least some of the other steps or stages.
Based on the same inventive concept, the embodiment of the application also provides a kinematic analysis and selection device for realizing the above related kinematic analysis and selection method. The implementation of the solution provided by the device is similar to that described in the above method, so the specific limitations in the embodiments of the one or more kinematic analytical solutions provided below may be referred to above as limitations of the kinematic analytical solutions, and will not be repeated here.
In one embodiment, as shown in fig. 3, there is provided a kinematic analytical solution preference apparatus comprising:
an acquisition module 10, configured to acquire a current angle value of the robot and a target angle value of a kinematic inverse solution;
the position module 20 is configured to determine a reference position for movement between the current angle value and the target angle value according to the angle difference between the current angle value and the target angle value and the first position, and the angle difference between the current angle value and the target angle value and the second position, where the first position is a critical position for movement of the robot, the second position is 180 degrees different from the first position, and the reference position is the first position or the second position;
and the preferred module 30 is used for judging and outputting an optimal solution of the motion between the current angle value and the target angle value according to the reference position.
In one embodiment, the position module determines a reference position for movement between the current angle value and the target angle value according to the angle difference between the current angle value and the target angle value and the first position, and the angle difference between the current angle value and the target angle value and the second position, wherein if the sum of the angle difference between the current angle value and the target angle value and the first position is smaller than or equal to the sum of the angle difference between the current angle value and the target angle value and the second position, the first position is used as the reference position, and if the sum of the angle difference between the current angle value and the target angle value and the first position is larger than the sum of the angle difference between the current angle value and the target angle value and the second position, the second position is used as the reference position.
In one embodiment, the optimizing module determines and outputs an optimal solution of the motion between the current angle value and the target angle value according to the reference position, wherein if the current angle value and the target angle value are located on different sides of the reference position, the optimal solution of the motion is the sum of angle differences between the current angle value and the target angle value and the reference position, respectively, and if the current angle value and the target angle value are located on the same side of the reference position, the optimal solution of the motion is the difference between the current angle value and the angle difference between the target angle value and the reference position, respectively.
In one embodiment, the movement range of the robot is-180 degrees to +180 degrees, wherein the angle value corresponding to the first position is 180 degrees, the angle value corresponding to the second position is 0 degrees, the current angle value is θ, and the target angle value is θ1;
the angle difference Δ1_1=180° - |θ| between the current angle value and the first position;
an angle difference Δ1_2=180° - |θ1| between the target angle value and the first position;
the angle difference delta 2_1= |θ| -0° between the current angle value and the second position;
the angle difference Δ2_2= |θ1| -0° between the target angle value and the second position.
Further, the position module determines a reference position for movement between the current angle value and the target angle value according to the angle difference between the current angle value and the target angle value and the first position, and the angle difference between the current angle value and the target angle value and the second position, wherein if Δ1_1+Δ1_2 is less than or equal to Δ2_1+Δ2_2, the first position is used as the reference position, and if Δ1_1+Δ1_2 > Δ2_1+Δ2_2, the second position is used as the reference position.
Further, the preferred module determines and outputs an optimal solution of the motion between the current angle value and the target angle value according to the reference position, wherein if the first position is used as the reference position, the preferred module: when the current angle value and the target angle value are located on different sides of the first position, an optimal solution delta= |Δ1_1+Δ1_2| of the motion between the current angle value and the target angle value is provided, otherwise, an optimal solution delta= |Δ1_2- Δ1_1| of the motion between the current angle value and the target angle value is provided, and if the second position is used as a reference position, the second position is provided: when the current angle value and the target angle value are located on different sides of the second position, an optimal solution delta= |delta 2_1+delta 2_2| of the motion between the current angle value and the target angle value is obtained, otherwise, the optimal solution delta= |delta 2_2-delta 2_1| of the motion between the current angle value and the target angle value is obtained.
Further, the preferred module determines a positional relationship with the reference position by positive and negative values of the current angle value and the target angle value.
The above-mentioned kinematic analysis and selection device may be implemented in whole or in part by software, hardware, or a combination thereof. The above modules may be embedded in hardware or may be independent of a processor in the computer device, or may be stored in software in a memory in the computer device, so that the processor may call and execute operations corresponding to the above modules.
According to the kinematic analysis solution optimizing device, the current angle value of the robot and the target angle value of the kinematic inverse solution are obtained, the reference position of the motion between the current angle value and the target angle value is judged according to the angle difference value between the current angle value and the target angle value and the angle difference value between the current angle value and the second position respectively, the optimal solution of the motion between the current angle value and the target angle value is judged and output according to the reference position, the optimal solution of the kinematic inverse solution can be accurately obtained at the critical position of the motion of the robot, the accuracy of multi-solution optimization after the kinematic inverse solution is improved, and accordingly the motion fluency and the safety of the industrial robot are guaranteed. Meanwhile, the setting of the threshold value in the prior art is omitted, the optimal solution is prevented from being filtered out due to the fact that the threshold value is too small, the situation that the angle mutation occurs to the robot due to the fact that the threshold value is too large is avoided, the external environment is damaged, and the safety and accuracy of the movement of the robot are improved.
In one embodiment, as shown in fig. 4, a computer device is provided, including a memory and a processor, the memory storing a computer program, the processor implementing the steps of any of the kinematic analytic solution optimization methods of the above embodiments when executing the computer program.
It should be noted that, specific examples in this embodiment may refer to examples described in the foregoing embodiments and alternative embodiments, and are not described in detail in this embodiment.
Those skilled in the art will appreciate that the structures shown in FIG. 4 are block diagrams only and do not constitute a limitation of the computer device on which the present aspects apply, and that a particular computer device may include more or less components than those shown, or may combine some of the components, or have a different arrangement of components.
In addition, in combination with the kinematic analysis solution optimization method provided in the above embodiment, a computer-readable storage medium may be provided in this embodiment, on which a computer program is stored, which when executed by a processor, implements the steps of any one of the kinematic analysis solution optimization methods in the above embodiment.
Those skilled in the art will appreciate that implementing all or part of the above described methods may be accomplished by way of a computer program stored on a non-transitory computer readable storage medium, which when executed, may comprise the steps of the embodiments of the methods described above. Any reference to memory, database, or other medium used in the various embodiments provided herein may include at least one of non-volatile and volatile memory. The nonvolatile Memory may include Read-Only Memory (ROM), magnetic tape, floppy disk, flash Memory, optical Memory, high density embedded nonvolatile Memory, resistive random access Memory (ReRAM), magnetic random access Memory (Magnetoresistive Random Access Memory, MRAM), ferroelectric Memory (Ferroelectric Random Access Memory, FRAM), phase change Memory (Phase Change Memory, PCM), graphene Memory, and the like. Volatile memory can include random access memory (Random Access Memory, RAM) or external cache memory, and the like. By way of illustration, and not limitation, RAM can be in the form of a variety of forms, such as static random access memory (Static Random Access Memory, SRAM) or dynamic random access memory (Dynamic Random Access Memory, DRAM), and the like. The databases referred to in the various embodiments provided herein may include at least one of relational databases and non-relational databases. The non-relational database may include, but is not limited to, a blockchain-based distributed database, and the like. The processors referred to in the embodiments provided herein may be general purpose processors, central processing units, graphics processors, digital signal processors, programmable logic units, quantum computing-based data processing logic units, etc., without being limited thereto.
The technical features of the above embodiments may be arbitrarily combined, and all possible combinations of the technical features in the above embodiments are not described for brevity of description, however, as long as there is no contradiction between the combinations of the technical features, they should be considered as the scope of the description.
The above examples only represent a few embodiments of the present application, which are described in more detail and are not to be construed as limiting the scope of the present application. It should be noted that it would be apparent to those skilled in the art that various modifications and improvements could be made without departing from the spirit of the present application, which would be within the scope of the present application. Accordingly, the scope of protection of the present application shall be subject to the appended claims.

Claims (8)

1. A method of kinematic analytical solution selection comprising:
acquiring a current angle value of a robot and a target angle value of a kinematic inverse solution;
according to the angle difference value between the current angle value and the target angle value and the first position, and the angle difference value between the current angle value and the target angle value and the second position, judging a reference position of movement between the current angle value and the target angle value, wherein the first position is a critical position of robot movement, the second position is 180 degrees different from the first position, and the reference position is the first position or the second position;
The determining the reference position of the motion between the current angle value and the target angle value according to the angle difference between the current angle value and the target angle value and the first position, and the angle difference between the current angle value and the target angle value and the second position, comprises:
if the sum of the angle differences between the current angle value and the target angle value and the first position is smaller than or equal to the sum of the angle differences between the current angle value and the target angle value and the second position, the first position is used as the reference position;
if the sum of the angle difference values of the current angle value and the target angle value and the first position is larger than the sum of the angle difference values of the current angle value and the target angle value and the second position, the second position is used as the reference position;
judging and outputting an optimal solution of the motion between the current angle value and the target angle value according to the reference position;
the determining to output the optimal solution of the motion between the current angle value and the target angle value according to the reference position comprises:
if the current angle value and the target angle value are positioned on different sides of the reference position, the motion optimal solution is the sum of angle difference values of the current angle value and the target angle value and the reference position respectively;
And if the current angle value and the target angle value are positioned on the same side of the reference position, the motion optimal solution is the difference between the angle difference values of the current angle value and the target angle value and the reference position respectively.
2. The method of claim 1, wherein the range of motion of the robot is-180 degrees to +180 degrees, wherein the first position corresponds to an angle value of 180 degrees, the second position corresponds to an angle value of 0 degrees, the current angle value is θ, and the target angle value is θ1;
an angle difference Δ1_1=180° - |θ| between the current angle value and the first position;
an angle difference Δ1_2=180° - |θ1| between the target angle value and the first position;
an angle difference Δ2_1= |θ| -0° between the current angle value and the second position;
an angle difference Δ2_2= |θ1| -0° between the target angle value and the second position.
3. The method of claim 2, wherein determining the reference position for movement between the current angle value and the target angle value based on the angle difference between the current angle value and the target angle value and the first position, respectively, and the angle difference between the current angle value and the target angle value and the second position, respectively, comprises:
If Δ1_1+Δ1_2 is less than or equal to Δ2_1+Δ2_2, the first position is used as the reference position;
if Δ1_1+Δ1_2 > Δ2_1+Δ2_2, the second position is used as the reference position.
4. The method of claim 2, wherein said determining from the reference position to output an optimal solution for movement between the current angle value and the target angle value comprises:
if the first position is taken as the reference position, then: when the current angle value and the target angle value are located on different sides of the first position, an optimal solution delta= |Δ1_1+Δ1_2| of movement between the current angle value and the target angle value, and conversely, an optimal solution delta= |Δ1_2- Δ1_1| of movement between the current angle value and the target angle value;
if the second position is taken as the reference position, then: when the current angle value and the target angle value are located on different sides of the second position, an optimal solution delta= |delta 2_1+delta 2_2| of movement between the current angle value and the target angle value is obtained, otherwise, the optimal solution delta= |delta 2_2-delta 2_1| of movement between the current angle value and the target angle value is obtained.
5. The method according to claim 2, wherein the positional relationship with the reference position is determined by positive and negative values of the current angle value and the target angle value.
6. A kinematic analytical solution preference device, comprising:
the acquisition module is used for acquiring the current angle value of the robot and a target angle value of the inverse kinematics solution;
the position module is used for judging a reference position for movement between the current angle value and the target angle value according to the angle difference value between the current angle value and the target angle value and a first position and the angle difference value between the current angle value and a second position, wherein the first position is a critical position for movement of the robot, the second position is 180 degrees different from the first position, and the reference position is the first position or the second position;
the location module is specifically configured to:
if the sum of the angle differences between the current angle value and the target angle value and the first position is smaller than or equal to the sum of the angle differences between the current angle value and the target angle value and the second position, the first position is used as the reference position;
if the sum of the angle difference values of the current angle value and the target angle value and the first position is larger than the sum of the angle difference values of the current angle value and the target angle value and the second position, the second position is used as the reference position;
The preferred module is used for judging and outputting an optimal solution of the motion between the current angle value and the target angle value according to the reference position;
the preferential module is specifically used for:
if the current angle value and the target angle value are positioned on different sides of the reference position, the motion optimal solution is the sum of angle difference values of the current angle value and the target angle value and the reference position respectively;
and if the current angle value and the target angle value are positioned on the same side of the reference position, the motion optimal solution is the difference between the angle difference values of the current angle value and the target angle value and the reference position respectively.
7. A computer device comprising a memory and a processor, the memory storing a computer program, characterized in that the processor implements the kinematic analytical solution method of any one of claims 1 to 5 when the computer program is executed.
8. A computer readable storage medium having stored thereon a computer program, wherein the computer program when executed by a processor implements the kinematic analytical solution preference method of any of claims 1 to 5.
CN202210499390.6A 2022-05-09 2022-05-09 Kinematic analysis and selection method, device, computer equipment and storage medium Active CN114770510B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210499390.6A CN114770510B (en) 2022-05-09 2022-05-09 Kinematic analysis and selection method, device, computer equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210499390.6A CN114770510B (en) 2022-05-09 2022-05-09 Kinematic analysis and selection method, device, computer equipment and storage medium

Publications (2)

Publication Number Publication Date
CN114770510A CN114770510A (en) 2022-07-22
CN114770510B true CN114770510B (en) 2024-02-23

Family

ID=82437119

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210499390.6A Active CN114770510B (en) 2022-05-09 2022-05-09 Kinematic analysis and selection method, device, computer equipment and storage medium

Country Status (1)

Country Link
CN (1) CN114770510B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110561422A (en) * 2019-08-14 2019-12-13 深圳市优必选科技股份有限公司 Method and device for calibrating joints of robot and robot
JP2020131314A (en) * 2019-02-14 2020-08-31 株式会社デンソーウェーブ Control device of robot and control method of robot
CN112091981A (en) * 2020-11-13 2020-12-18 杭州景业智能科技股份有限公司 Master-slave motion mapping method and system
CN113001537A (en) * 2019-12-20 2021-06-22 深圳市优必选科技股份有限公司 Mechanical arm control method, mechanical arm control device and terminal equipment
CN113618730A (en) * 2021-07-20 2021-11-09 深圳市优必选科技股份有限公司 Robot motion analysis method and device, readable storage medium and robot
CN114098990A (en) * 2022-01-28 2022-03-01 极限人工智能(北京)有限公司 Instrument driving method, device, electronic apparatus, and storage medium
KR20220039205A (en) * 2020-09-22 2022-03-29 한국전기연구원 System and method for controlling multi-degree-of-freedom robot

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020131314A (en) * 2019-02-14 2020-08-31 株式会社デンソーウェーブ Control device of robot and control method of robot
CN110561422A (en) * 2019-08-14 2019-12-13 深圳市优必选科技股份有限公司 Method and device for calibrating joints of robot and robot
CN113001537A (en) * 2019-12-20 2021-06-22 深圳市优必选科技股份有限公司 Mechanical arm control method, mechanical arm control device and terminal equipment
KR20220039205A (en) * 2020-09-22 2022-03-29 한국전기연구원 System and method for controlling multi-degree-of-freedom robot
CN112091981A (en) * 2020-11-13 2020-12-18 杭州景业智能科技股份有限公司 Master-slave motion mapping method and system
CN113618730A (en) * 2021-07-20 2021-11-09 深圳市优必选科技股份有限公司 Robot motion analysis method and device, readable storage medium and robot
CN114098990A (en) * 2022-01-28 2022-03-01 极限人工智能(北京)有限公司 Instrument driving method, device, electronic apparatus, and storage medium

Also Published As

Publication number Publication date
CN114770510A (en) 2022-07-22

Similar Documents

Publication Publication Date Title
CN112793562B (en) Automatic parking path planning and tracking control method, planning device, storage medium and computer equipment
JP2022009305A (en) Motion planning of robot storing discretized environment on one or more processors and improved operation of the same
CN111015656A (en) Control method and device for robot to actively avoid obstacle and storage medium
CN113609786B (en) Mobile robot navigation method, device, computer equipment and storage medium
Dönmez et al. Bi-RRT path extraction and curve fitting smooth with visual based configuration space mapping
WO2022135408A1 (en) Rotation angle control method and apparatus for steering wheel of vehicle, and vehicle
WO2021041223A1 (en) Motion planning for robots to optimize velocity while maintaining limits on acceleration and jerk
US20220412742A1 (en) Coordinate determination method and apparatus, computer device and storage medium
CN114770510B (en) Kinematic analysis and selection method, device, computer equipment and storage medium
Milford et al. Brain-inspired sensor fusion for navigating robots
CN117400267B (en) Robot welding path generation method, apparatus, computer device and storage medium
CN115922684A (en) Singular point processing method, device, equipment and medium for six-axis robot
CN114186189A (en) Method, device and equipment for calculating coordinate transformation matrix and readable storage medium
CN115760911A (en) Teaching path processing method, teaching path processing device, computer equipment and storage medium
CN116038686B (en) Robot singular point avoidance method, apparatus, computer device, and storage medium
CN114193458B (en) Robot control method based on Gaussian process online learning
CN112965440B (en) Tool path generation method, electronic device, and storage medium
CN112518744A (en) Robot trajectory planning method and device and robot
CN114889598A (en) Parking control method and device, computer equipment and storage medium
CN114310897B (en) Pose optimization and motion fairing calculation method, system and application of robot measurement
CN117182932B (en) Method and device for planning obstacle avoidance action of mechanical arm and computer equipment
CN114212081B (en) Vehicle lateral control method, apparatus, computer device, and readable storage medium
CN117498752B (en) Motor drive control method, device, equipment and storage medium
Jiang et al. Mapping, Navigation, Dynamic Collision Avoidance and Tracking with LiDAR and Vision Fusion for AGV Systems
CN117260731A (en) Robot polishing action planning method and device and computer equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant