CN113733104B - Control method of mechanical arm, computer equipment and storage medium - Google Patents

Control method of mechanical arm, computer equipment and storage medium Download PDF

Info

Publication number
CN113733104B
CN113733104B CN202111186449.8A CN202111186449A CN113733104B CN 113733104 B CN113733104 B CN 113733104B CN 202111186449 A CN202111186449 A CN 202111186449A CN 113733104 B CN113733104 B CN 113733104B
Authority
CN
China
Prior art keywords
joint
joint angle
mechanical arm
weight value
group
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
CN202111186449.8A
Other languages
Chinese (zh)
Other versions
CN113733104A (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.)
Wuhan United Imaging Zhirong Medical Technology Co Ltd
Original Assignee
Wuhan United Imaging Zhirong Medical 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 Wuhan United Imaging Zhirong Medical Technology Co Ltd filed Critical Wuhan United Imaging Zhirong Medical Technology Co Ltd
Priority to CN202111186449.8A priority Critical patent/CN113733104B/en
Publication of CN113733104A publication Critical patent/CN113733104A/en
Application granted granted Critical
Publication of CN113733104B publication Critical patent/CN113733104B/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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

The application relates to a control method of a mechanical arm, a computer device and a storage medium. According to the method, a plurality of joint angle groups corresponding to the mechanical arm to be controlled are obtained, weights are distributed to the joint angles in each joint angle group according to the motion influence degree of the joints on the tail end of the mechanical arm, the weight values corresponding to the joint angles in each joint angle group are obtained, a target joint angle group is screened out from the joint angle groups according to the weight values corresponding to the joint angles in each joint angle group, and finally the mechanical arm is controlled to move according to the joint angles of the joints in the target joint angle group to achieve the target pose. According to the control method, weights are distributed to the joints according to the motion influence degree of the joints of the mechanical arm on the tail end of the mechanical arm, the specific kinematic meaning of the weights of the joints is given, the motion of the joints on the mechanical arm is enabled not to be too large or too small, abrupt joint motion is avoided, and the stability and the high efficiency of the motion control of the mechanical arm are improved.

Description

Control method of mechanical arm, computer equipment and storage medium
Technical Field
The present disclosure relates to the field of robotics, and in particular, to a control method for a robotic arm, a computer device, and a storage medium.
Background
With the development of surgical robotics, performing surgical operations using robotic arms has become a routine operation in the current medical surgical procedures.
In the control process of the mechanical arm, the solution of the inverse kinematics of the mechanical arm by the start control module can be described as: given the pose information of the target, the joint angle capable of enabling the tail end of the mechanical arm to meet the pose of the target is found, however, multiple solutions exist inevitably in the solving result, namely, a group of solutions which are uniquely determined at the current moment are needed to be used as the input control mechanical arm of the mechanical arm, so that a specific method is needed to be introduced to screen the multiple solutions, and the current screening method is mostly realized based on the principles of 'nearest solutions' and 'minimum solutions', or based on the principles of 'multiple small joints with little movement' and 'large joints with little movement'.
However, the solution set screened by the screening method is used as an input control mechanical arm of the mechanical arm, and the control stability and efficiency of the mechanical arm are low.
Disclosure of Invention
In view of the foregoing, it is desirable to provide a control method of a robot arm, a computer device, and a storage medium that can effectively improve the control stability and efficiency of the robot arm.
In a first aspect, a method for controlling a mechanical arm, the method includes:
acquiring a plurality of joint angle groups corresponding to a mechanical arm to be controlled; each joint angle group comprises joint angles of joints on the mechanical arm;
according to the motion influence degree of each joint on the mechanical arm on the tail end of the mechanical arm, weight is allocated to each joint angle in each joint angle group, and a weight value corresponding to each joint angle in each joint angle group is obtained;
screening out a target joint angle group from the joint angle groups according to the weight value corresponding to each joint angle in each joint angle group;
and controlling the mechanical arm to move to reach the target pose according to the joint angles of all joints in the target joint angle group.
In a second aspect, a computer device comprises a memory storing a computer program and a processor implementing the method according to the first aspect when executing the computer program.
In a third aspect, a computer readable storage medium has stored thereon a computer program which, when executed by a processor, implements the method of the first aspect described above.
According to the control method, the computer equipment and the storage medium of the mechanical arm, the plurality of joint angle groups corresponding to the mechanical arm to be controlled are obtained, weights are distributed to all joint angles in each joint angle group according to the motion influence degree of all joints on the mechanical arm on the tail end of the mechanical arm, the weight value corresponding to all joint angles in each joint angle group is obtained, the target joint angle group is screened out from the plurality of joint angle groups according to the weight value corresponding to all joint angles in each joint angle group, and finally the mechanical arm motion is controlled according to the joint angles of all joints in the target joint angle group to reach the target pose. According to the control method, weights are distributed to the joints according to the motion influence degree of the joints of the mechanical arm on the tail end of the mechanical arm, the specific kinematic meaning of the weights of the joints is given, the movement of the joints on the mechanical arm is not too large or too small, abrupt joint movement is not caused, the joints of the whole mechanical arm can move smoothly, the problem of unstable movement of the whole mechanical arm can be avoided, and the stability and the high efficiency of motion control of the mechanical arm are improved.
Drawings
FIG. 1 is an application environment diagram of a control method of a robotic arm in one embodiment;
FIG. 2 is a flow chart of a method of controlling a robot arm according to an embodiment;
FIG. 3 is a schematic diagram of a kinematic model of a robotic arm in one embodiment;
FIG. 4 is a flow chart of one implementation of S102 in the embodiment of FIG. 2;
FIG. 5 is a flow chart of one implementation of S201 in the embodiment of FIG. 4;
FIG. 6 is a flow chart of one implementation of S202 in the embodiment of FIG. 4;
FIG. 7 is a schematic diagram of a flow chart of weight assignment for each joint of a manipulator in one embodiment;
FIG. 8 is a flow chart of one implementation of S103 in the embodiment of FIG. 2;
FIG. 9 is a flow chart of one implementation of S104 in the embodiment of FIG. 2;
FIG. 10 is a flow diagram of a pretreatment method in one embodiment;
FIG. 11 is a flow diagram of a post-processing method in one embodiment;
FIG. 12 is a flow chart of a method of controlling a robotic arm according to one embodiment;
FIG. 13 is a flow chart of a method of controlling a robotic arm according to one embodiment;
FIG. 14 is a flow chart of a method of controlling a robotic arm according to one embodiment;
FIG. 15 is a block diagram of a control device for a robotic arm in one embodiment;
FIG. 16 is a block diagram of a control device for a robotic arm in one embodiment;
FIG. 17 is a block diagram of a control device for a robotic arm in one embodiment;
FIG. 18 is a block diagram of a control device for a robotic arm in one embodiment;
FIG. 19 is a block diagram of a control device for a robotic arm in one embodiment;
FIG. 20 is a block diagram of a control device for a robotic arm in one embodiment;
FIG. 21 is a block diagram of a control device for a robotic arm in one embodiment;
FIG. 22 is a block diagram of a control device for a robotic arm in one embodiment;
fig. 23 is an internal structural view of the 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.
The control method of the mechanical arm can be applied to an application environment shown in fig. 1. The control terminal 102 is connected to the mechanical arm 104 through a wired or wireless manner. The control terminal 102 is configured to calculate a plurality of joint angles of the mechanical arm according to a preset control algorithm, and control the mechanical arm 104 to reach a target pose according to each joint angle. The control terminal 102 may be, but not limited to, various personal computers, notebook computers, smartphones, tablet computers, portable wearable devices, and the mechanical arm 104 may be any degree of freedom mechanical arm, such as a six degree of freedom mechanical arm, a five degree of freedom mechanical arm, and the like.
It will be appreciated by those skilled in the art that the structure shown in fig. 1 is merely a block diagram of a portion of the structure associated with the present application and is not limiting of the application environment in which the present application is applied, and that a particular application environment may include more or fewer components than shown, or may combine certain components, or have a different arrangement of components.
In one embodiment, as shown in fig. 2, a control method of a mechanical arm is provided, and an example of application of the method to the control terminal in fig. 1 is described, including the following steps:
s101, acquiring a plurality of joint angle groups corresponding to the mechanical arm to be controlled.
Each joint angle group comprises joint angles of joints on the mechanical arm.
In this embodiment, the control terminal may build a serial mechanical arm kinematics model with a preset degree of freedom in advance based on a related model building theory or a model building algorithm (for example, a spiral theory), and then implement forward and reverse kinematics description of the mechanical arm based on a corresponding method, and perform algebraic solution to obtain multiple joint angle groups of the mechanical arm. For example, a six-degree-of-freedom serial mechanical arm kinematics model meeting the Pieper criterion is established by adopting a spiral theory, corresponding mechanical configuration parameters and coordinate systems are shown in fig. 3, a left diagram is a motion diagram of each joint of the mechanical arm, and a right diagram is a corresponding kinematics joint coordinate system model. In the figure, i denotes the number of the joint, J i Is the kinematic pair of the ith joint, (x) 0 ,y 0 ,z 0 ) Is the coordinates of the base of the mechanical arm, (x) t ,y t ,z t ) Is the coordinates of the end flange of the mechanical arm, (x) i ,y i ,z i ) Is the coordinate of the ith joint of the mechanical arm, L i Is the mechanical configuration parameter of the ith joint. According to the rotation index mapping theory, the kinematic model shown in fig. 3 can realize forward and reverse kinematic description of the serial mechanical arm through an exponential product method, and algebraic solution is performed on the forward and reverse kinematic description, so that a plurality of joint angle groups of the mechanical arm can be obtained, and each joint angle group comprises joint angles of joints on the mechanical arm.
S102, according to the influence degree of each joint on the mechanical arm on the movement of the tail end of the mechanical arm, weight is allocated to each joint angle in each joint angle group, and a weight value corresponding to each joint angle in each joint angle group is obtained.
When the control terminal obtains a plurality of joint angle groups corresponding to the mechanical arm to be controlled, namely, when a kinematic model of the mechanical arm is solved to obtain a plurality of groups of solutions, the control terminal can further distribute weights to the joint angles in each group of solutions, namely, distribute weights to the motion influence degree of each joint on the tail end of the mechanical arm according to the motion influence degree of each joint on the tail end of the mechanical arm, specifically, the control terminal can quantize the motion influence degree of each joint on the mechanical arm to obtain a quantized expression of the motion influence degree of each joint on the tail end of the mechanical arm, then the initial joint angle of each joint is substituted into the quantized expression of the motion influence degree of each joint on the tail end of the mechanical arm, the quantized value of the motion influence degree of each joint on the tail end of the mechanical arm is obtained through calculation, and then the quantized value corresponding to each joint is directly used as the weight value corresponding to each joint angle in each joint angle group.
S103, screening out a target joint angle group from the joint angle groups according to the weight values corresponding to the joint angles in each joint angle group.
The target joint angle group is the final solution of the determined mechanical arm, namely, each joint angle for finally controlling the movement of the mechanical arm. In this embodiment, after the control terminal assigns weights to the joint angles in each joint angle group based on the foregoing steps, the control terminal may further perform corresponding weighted summation or other operations based on the weights of the joint angle groups and combine the values of the joint angles in the joint angle groups, and then, by comparing the calculation results of the joint angle groups in each group, select, as the target joint angle group, the joint angle group corresponding to the calculation result meeting the requirements according to the preset screening condition, where the preset screening condition may be predetermined by the control terminal, for example, set a preset value range, and determine the joint angle group corresponding to the calculation result falling within the range as the target joint angle group, or set a preset threshold, and determine the joint angle group corresponding to the calculation result smaller than the preset threshold as the target joint angle group.
And S104, controlling the mechanical arm to move to reach the target pose according to the joint angles of all joints in the target joint angle group.
The target pose is a given pose, namely the pose reached by the pre-control mechanical arm.
In this embodiment, after the control terminal determines the target joint angle group that ultimately controls the movement of the mechanical arm, the target joint angle group may be transmitted to the mechanical arm as control data, to instruct the mechanical arm to move according to the joint angles of the joints in the target joint angle group, and if the current pose of the mechanical arm reaches the target pose, the mechanical arm is controlled to stop moving; and if the current pose of the mechanical arm does not reach the target pose, re-acquiring the target joint angle group to control the mechanical arm to move.
According to the control method of the mechanical arm, the plurality of joint angle groups corresponding to the mechanical arm to be controlled are obtained, weights are allocated to the joint angles in each joint angle group according to the motion influence degree of the joints on the tail end of the mechanical arm, the weight values corresponding to the joint angles in each joint angle group are obtained, the target joint angle group is selected from the plurality of joint angle groups according to the weight values corresponding to the joint angles in each joint angle group, and finally the mechanical arm is controlled to move according to the joint angles of the joints in the target joint angle group to reach the target pose. According to the control method, weights are distributed to the joints according to the motion influence degree of the joints of the mechanical arm on the tail end of the mechanical arm, the specific kinematic meaning of the weights of the joints is given, the movement of the joints on the mechanical arm is not too large or too small, abrupt joint movement is not caused, the joints of the whole mechanical arm can move smoothly, the problem of unstable movement of the whole mechanical arm can be avoided, and the stability and the high efficiency of motion control of the mechanical arm are improved.
In one embodiment, a manner of assigning weights to each joint of the mechanical arm is provided, that is, a specific implementation manner of S102 is shown in fig. 4, where S102 "assigns weights to each joint angle in each joint angle group according to a degree of influence of each joint on motion of the mechanical arm end on the mechanical arm, to obtain a weight value corresponding to each joint angle in each joint angle group", and includes:
s201, obtaining initial weight values corresponding to all joint angles in each joint angle group according to the motion influence degree of all joints on the mechanical arm on the tail end of the mechanical arm.
When the control terminal obtains a plurality of joint angle groups corresponding to the mechanical arm to be controlled, namely, when a plurality of groups of solutions are obtained by solving the kinematic model of the mechanical arm, the weight can be further allocated to each joint angle in each group of solutions, namely, the weight can be further allocated according to the motion influence degree of each joint on the tail end of the mechanical arm. Specifically, the control terminal can quantize the motion influence degree of each joint on the mechanical arm on the tail end of the mechanical arm to obtain a quantized value of the motion influence degree of each joint on the tail end of the mechanical arm, and then directly uses the quantized value corresponding to each joint as an initial weight value corresponding to each joint angle in each joint angle group.
S202, weight redistribution is carried out on the abnormal weight value in the initial weight value corresponding to each joint angle, and the weight value corresponding to each joint angle is obtained.
The abnormal weight value is an unreasonable weight value, for example, the weight value of the abnormal weight value is zero.
When the control terminal obtains the initial weight value corresponding to each joint angle in each joint angle group of the mechanical arm, because abnormal weight values may exist in the initial weight values corresponding to each joint angle, and the abnormal weight values have great influence on the motion of each joint, recalculation is needed for the abnormal weight values, namely, weight redistribution is carried out on the joints corresponding to the abnormal weight values again, the redistributed weight values are not abnormal weight values, and finally, the redistributed weight values and the normal weight values are determined as the weight values corresponding to each joint angle.
Further, there is provided a method for calculating an initial weight value, i.e. a specific implementation manner of S201, as shown in fig. 5, the method includes:
s301, determining the turning radius of the tail end point of the mechanical arm around the corresponding joint axis when each joint on the mechanical arm moves independently according to the initial configuration of each joint on the mechanical arm.
The initial position of each joint on the mechanical arm represents the current position of the mechanical arm before the mechanical arm is controlled to move, and the initial position of each joint on the mechanical arm corresponds to the initial joint angle of each joint on the mechanical arm.
The embodiment relates to a method for quantifying the influence degree of each joint on a mechanical arm on the movement of the tail end of the mechanical arm by a control terminal, and particularly, the control terminal determines the influence degree of each joint on the mechanical arm on the movement of the tail end of the mechanical arm according to the turning radius of the tail end point of the mechanical arm around the corresponding joint axis when each joint on the mechanical arm moves independently. That is, in this embodiment, in order to quantitatively represent the degree of influence of each joint on the movement of the end point of the mechanical arm (such as the center of the flange) in the cartesian space, the positive kinematics of the mechanical arm is introduced, and the radius of gyration of the end point of the mechanical arm about the joint axis when each joint moves independently is determined by a geometric method, for example, the following relational expression (1) is used to represent the radius of gyration of the end point of the mechanical arm about the joint axis, that is, the degree of influence of each joint on the movement of the end of the mechanical arm:
in the above formula, i represents the serial number of the joint, ω i The weight value distributed by the ith joint is expressed (namely, the motion influence degree of each joint on the tail end point of the mechanical arm or the turning radius of the tail end point of the mechanical arm around the corresponding joint axis when each joint on the mechanical arm independently moves); l (L) i Representing the mechanical configuration parameters of the ith joint of the mechanical arm,the initial joint angle of the ith joint corresponding to the initial position of the mechanical arm is shown. Calculated in this example are the weight values of six joints of a six degree-of-freedom robotic arm.
When the control terminal quantitatively indicates the degree of influence of each joint on the mechanical arm on the movement of the mechanical arm end based on the method, for example, after the control terminal uses the relation (1) to indicate, substituting each initial joint angle corresponding to the initial configuration of the mechanical arm and the mechanical configuration parameters of each joint of the mechanical arm into the relation (1) to calculate, thereby obtaining the turning radius (omega in the relation (1)) of the end point of the mechanical arm around the corresponding joint axis when each joint on the mechanical arm moves independently 1 、ω 2 、ω 3 、ω 4 、ω 5 、ω 6 )。
S302, determining the turning radius of the tail end point of the mechanical arm around the corresponding joint axis when each joint on the mechanical arm moves independently as an initial weight value corresponding to each joint angle in each joint angle group.
When the control terminal obtains the radius of gyration of the tail end point of the mechanical arm around the corresponding joint axis when each joint on the mechanical arm moves independently based on the steps, the calculated radius of gyration of the tail end point of the mechanical arm around the corresponding joint axis when each joint moves independently can be determined as an initial weight value corresponding to each joint angle in each joint angle group. The initial weight value can represent the position component of each joint on the mechanical arm which 'contributes' to the tail end of the mechanical arm, the position component is set as the joint weight value, the dynamic evaluation of 'big/small joint' from the kinematic angle according to different initial joint angles is realized, compared with the existing weight value distribution method which directly takes the length of a joint connecting rod as the weight value, the weight value distribution method provided by the application fully considers that the mechanical arm is in different initial positions, the combination of mechanical configuration parameters and the initial motion state of the mechanical arm is realized, the dynamic and reasonable weight value distribution is realized, and the control stability of each joint is improved.
Optionally, a manner of reassigning weights according to the initial weight values is further provided, that is, a specific implementation manner of the foregoing S202 is shown in fig. 6, where the foregoing S202 "reassigns weights for abnormal weight values in the initial weight values corresponding to each joint angle to obtain weight values corresponding to each joint angle" includes:
s401, if the joint corresponding to the abnormal weight value is not the tail end joint in the mechanical arm, weight redistribution is carried out on the abnormal weight value according to the joint angle and/or the joint configuration parameter of the first connecting joint, and the weight value of the joint angle corresponding to the abnormal weight value is obtained.
The first connecting joint is an adjacent joint positioned behind the joint corresponding to the abnormal weight value in the direction from the base to the tail end of the mechanical arm, the smaller the serial number of the joint is indicated in the direction from the base to the tail end of the mechanical arm, the closer the position of the joint is to the base, the larger the serial number of the joint is, and the closer the position of the joint is to the tail end. For example, if the joints 1 to 6 are arranged in the direction from the base to the tip, and the joint corresponding to the abnormal weight value is the joint 4, the first joint is the adjacent joint after the joint 4, that is, the joint 5.
The embodiment relates to a method for controlling a terminal to redistribute weights for abnormal weight values in initial weight values of all joints, which specifically comprises the following steps: determining the type of the joint corresponding to the abnormal weight value, if the joint corresponding to the abnormal weight value is not the tail end joint in the mechanical arm (for example, the sixth joint in the six-degree-of-freedom mechanical arm), recalculating the weight value of the joint corresponding to the abnormal weight value according to the joint angle and/or the joint configuration parameter of the first connecting joint, namely, carrying out weight redistribution on the abnormal weight value, and obtaining the weight value of the joint corresponding to the abnormal weight value.
Optionally, if the joint corresponding to the abnormal weight value is not the end joint in the mechanical arm, for example, the joint corresponding to the abnormal weight value is the joint 4, the weight value of the joint 4 is calculated by using the following relation (2):
wherein omega 4 Weight value L representing joint 4 5 Representing the mechanical configuration parameters of the joint 5 (i.e. the joint configuration parameters of the first joint of the joint 4),the joint angle of the joint 5 (i.e. the joint angle of the first joint of the joint 4) is indicated.
For example, if the joint corresponding to the abnormal weight value is joint 1, the weight value of joint 1 is calculated by the following relation (3):
ω 1 =L 2 (3);
wherein omega 1 Weight value L representing joint 1 2 Representing the mechanical configuration parameters of the joint 2 (i.e. the joint configuration parameters of the first joint of the joint 1).
And S402, if the joint corresponding to the abnormal weight value is a tail end joint in the mechanical arm, weight redistribution is carried out on the abnormal weight value according to the joint angle of the second connecting joint, the joint configuration parameter and the preset weight coefficient, and the weight value of the joint angle corresponding to the abnormal weight value is obtained.
The second connection joint is an adjacent joint positioned in front of the joint corresponding to the abnormal weight value in the direction from the base to the tail end of the mechanical arm, the smaller the serial number of the joint is indicated in the direction from the base to the tail end of the mechanical arm, the closer the position of the joint is to the base, the larger the serial number of the joint is, and the closer the position of the joint is to the tail end. For example, the joints 1 to 6 are arranged in the direction from the base to the tip, and if the joint corresponding to the abnormal weight value is the joint 6, the second joint is the adjacent joint before the joint 6, that is, the joint 5. The preset weight coefficient may be predetermined, for example, the preset weight coefficient λe (0, 1) is set.
If the joint corresponding to the abnormal weight value is a terminal joint in the mechanical arm (for example, a sixth joint in the six-degree-of-freedom mechanical arm), the weight value of the joint corresponding to the abnormal weight value is recalculated according to the joint angle of the second connection joint, the joint configuration parameter and the preset weight coefficient, namely, the weight redistribution is carried out on the abnormal weight value, and the weight value of the joint angle corresponding to the abnormal weight value is obtained.
Optionally, if the joint corresponding to the abnormal weight value is an end joint in the mechanical arm, for example, the joint corresponding to the abnormal weight value is joint 6, the weight value of joint 6 is calculated by using the following relation (4):
ω 6 =L 5 ·max{ρ,λ} (4);
wherein omega 6 Weight value L representing joint 6 5 Represents the mechanical configuration parameter of the joint 5 (i.e. the joint configuration parameter of the second joint of the joint 6), λ represents a weight coefficient, which may be given a value of λe (0, 1), ρ represents another weight coefficient, whenWhen (I)>When->When (I)>
Illustrating the method described in FIG. 6 above, the initial weight value expression for each joint given by the above relation (1) is referred to, and analyzed as follows, if the initial joint angleThe value of (2) is zero, then->Zero, according to the corresponding kinematic meaning when the weight is initially distributed, the motion of the joint 4 does not affect the position of the end flange of the mechanical arm in the current initial position, so the value is zero. However, the joint 5, which is also assigned according to relation (1) in the initial assignment, is not set (see the model diagram shown in fig. 3), and the motion-affected joint rod is only L 5 The weight value therefore appears to be a constant value, which results in the weight re-initiating joint angle +.>In the particular configuration with a value of zero, a result that is not in agreement with the actual movement state, i.e. the weight (ω) of the joint 5 closer to the end flange 5 =L 5 ) Instead, the weight (ω) of the joint 4 is greatly exceeded 4 =0), thus, from the initial joint angle +.>In the special case where the value of (4) is zero, the weight value of the joint 4 is an abnormal weight value. Similarly, the weight value of the joint 1 assigned at the beginning is zero (ω 1 When=0), the same problem as described above also exists, that is, the weight value of the joint 1 is an abnormal weight value.
In order to eliminate the influence of the overall weight distribution method under the special conditions, additional special processing is required, namely, the weight redistribution of the joint corresponding to the abnormal weight value is re-performed, the specific distribution process is shown in the flow chart of fig. 7, and the specific distribution process is shown in fig. 7For the abnormal weight value in the initial weight value, firstly judgingWhether or not the value of (2) is less than +.>If the value of (2) is smaller than the predetermined value, the weight value ω of the joint 4 is calculated from the relational expression (2) 4 And according to->Calculating to obtain a weight coefficient rho; if not less than, the formula +.>Calculating to obtain a weight coefficient rho; then according to the weight coefficient rho, another weight coefficient lambda and the mechanical structure parameter L of the joint 5 5 Calculating the weight value omega of the joint 6 6 Then the weight value omega of the joint 1 is compared 1 And the mechanical structural parameters L of the joint 2 2 If the weight value omega 1 Less than L 2 Then the weight value omega of the joint 1 is calculated according to the relation (3) 1 If the weight value omega 1 Not less than L 2 Then according to omega in relation (1) 1 The weight value omega of the joint 1 is calculated by calculation of (a) 1 And calculating the weight values of all joints according to all the relational expressions in the relational expression (1) for other weight values except the abnormal weight value in the initial weight values.
In one embodiment, an implementation manner of S103 is provided, as shown in fig. 8, where S103 "the step of screening the target joint angle group from the plurality of joint angle groups according to the weight value corresponding to each joint angle in each joint angle group" includes:
s501, determining a distance index corresponding to each joint angle group according to the weight value corresponding to each joint angle in each joint angle group and each joint angle in each joint angle group.
When the control terminal obtains the weight value corresponding to each joint angle in each joint angle group based on the steps, the control terminal can further perform weighted summation operation on the weight value corresponding to each joint angle in each joint angle group and each joint angle in each joint angle group, and the obtained weighted summation operation result of each joint angle group is the distance index corresponding to each joint angle group.
For example, after the weight values of the different joints are calculated, the distance index of each joint angle group may be calculated according to the joint angle of each joint in each joint angle group and the initial joint angle, and optionally, the joint angle group corresponding to the minimum distance index may be calculated by using the following relation (5):
wherein Θ is min The method comprises the steps that a joint angle group corresponding to a minimum distance index is represented, d represents a dynamic weighted distance corresponding to each joint angle group, M represents the number of the joint angle groups, and k represents the serial number of the joint angle groups; θ i k Represents the joint angle of joint i in the k-th joint angle set,represents the initial joint angle of joint i of the mechanical arm, < >>The weight value of the joint i of the robot arm is shown.
The method realizes that the distance index of each joint angle group based on the kinematic dynamic weight distribution can be obtained by multiplying and summing the weight value according to the difference value between the joint angle of each joint in each joint angle group and the initial joint angle, and finally the unique joint angle group corresponding to the minimum distance index can be determined by sorting and taking the minimum operation.
S502, determining the joint angle group with the minimum distance index as a target joint angle group.
When the control terminal calculates the distance index corresponding to each joint angle group based on the steps, the distance index corresponding to each joint angle group can be further compared, the joint angle group with the minimum distance index is screened out from the distance index, and then the screened joint angle group is used as the target joint angle group. The method screens the target joint angle group based on the principle of minimum joint displacement, and can reduce the movement amount of the control displacement of the mechanical arm, thereby improving the stability of the control of each joint of the mechanical arm.
Optionally, an implementation manner of S104 is provided, as shown in fig. 9, where S104 "controlling the movement of the mechanical arm to reach the target pose according to the joint angles of each joint in the target joint angle set" includes:
s601, controlling the mechanical arm to move according to the joint angles of all joints in the target joint angle group.
When the control terminal calculates the joint angles of all joints in the target joint angle group, the obtained joint angles of all joints can be used for controlling the movement of all joint angles of the mechanical arm, so that the mechanical arm moves. Specifically, the control terminal may send a control instruction including the joint angle of each joint to the mechanical arm, and the mechanical arm performs movement of the corresponding joint angle position according to the control instruction.
S602, judging whether the mechanical arm reaches the target pose, if so, executing step S603, and if not, executing step S604.
And S603, controlling the mechanical arm to stop moving.
S604, returning to execute the step of acquiring a plurality of joint angle groups corresponding to the mechanical arm to be controlled until the mechanical arm reaches the target pose.
After the mechanical arm moves according to the joint angles of all joints, the pose reached after the mechanical arm moves can be judged, if the mechanical arm reaches the target pose, the control terminal is indicated to reach the control target, the mechanical arm is not required to be controlled any more, and the mechanical arm can be controlled to stop moving at the moment; if the mechanical arm does not reach the target pose, it is indicated that the control terminal does not reach the control target yet, so that it is necessary to continue to control the movement of the mechanical arm until the target pose is reached, in this embodiment, the control terminal may return to the step S101 to reacquire a plurality of joint angle groups corresponding to the mechanical arm, and then redefine the new target joint angle groups according to the steps, and then determine whether the mechanical arm reaches the target pose after moving according to the new target joint angle groups, if so, the mechanical arm is controlled to stop moving, and if not, return again to execute the step of acquiring a plurality of joint angle groups corresponding to the mechanical arm to be controlled, and then repeat the steps circularly until the target pose is reached after the mechanical arm moves.
It should be noted that, when the mechanical arm does not reach the target pose and the weight value needs to be allocated to each joint in each joint angle group each time in the process of re-acquiring the target joint angle group, the initial pose of the mechanical arm is different each time, so the weight value of each joint calculated according to the initial pose of the mechanical arm is also different each time, the method considers the initial position of the mechanical arm each time, and realizes the dynamic allocation of the weight value of each joint according to different initial positions, so that the displacement of each joint of the mechanical arm is not too large or too small, and the effect of stably controlling the movement of the mechanical arm can be achieved.
In practical application, before the step S102 is executed by the control terminal, the pretreatment may be further performed on the plurality of joint angle groups to screen out a suitable joint angle group, and based on this, the application provides a pretreatment method, as shown in fig. 10, including:
s105, eliminating joint angle groups exceeding a preset travel range from the joint angle groups, and/or eliminating joint angle groups with collision problems from the joint angle groups, so as to obtain a plurality of candidate joint angle groups.
The preset travel range can be determined by the control terminal in advance according to the movement range of each joint of the mechanical arm. In this embodiment, since the control terminal initially solves the completed inverse solution set (i.e., the multiple joint angle groups), mechanical, electrical and software limits of each joint on the mechanical arm are not considered, and there must be some inverse solution subsets (joint angle groups) that cannot truly control the mechanical arm to move to the target pose, so that the multiple joint angle groups may be rejected, and unreasonable results exceeding the stroke may be preferentially rejected, i.e., the joint angle groups exceeding the preset stroke range are rejected from the multiple joint angle groups, so as to obtain the solution set in the joint limits, i.e., multiple candidate joint angle groups, so as to reduce the computation amount of the control terminal in the later stage.
Or, collision detection screening can be performed on the plurality of joint angle groups, namely, the joint angle groups with collision problems are removed from the plurality of joint angle groups, so that a plurality of candidate joint angle groups are obtained. During specific screening, the external collision algorithm library, the mechanical arm physical model library and the positive kinematic model can be combined to simulate and calculate the practical application environment, and joint angle groups with collision risks or collision can be removed, so that the range is further narrowed to a non-collision solution set, namely a plurality of candidate joint angle groups.
Optionally, the control terminal may perform stroke range screening on the plurality of joint angle groups, or perform collision detection screening on the plurality of joint angle groups; the control terminal may perform travel range screening on the plurality of joint angle groups, and then perform collision detection screening on the remaining joint angle groups, so as to obtain a plurality of candidate joint angle groups.
Correspondingly, when the control terminal specifically executes the step S102, the control terminal specifically executes: and according to the motion influence degree of each joint on the mechanical arm on the tail end of the mechanical arm, distributing weights for each joint angle in each candidate joint angle group, and obtaining the weight value corresponding to each joint angle in each candidate joint angle group.
This step involves a method of assigning weights to the joint angles in each candidate joint angle set, which is substantially identical to the weight assignment method described in the embodiments of fig. 4 and 5, and the detailed method is described in the foregoing description and is not repeated here.
Optionally, after the step S102 is executed by the control terminal, that is, after the weight value corresponding to each joint angle is obtained, the post-processing may be further performed on the weight value corresponding to each joint angle, and based on this, the present application provides a post-processing method, as shown in fig. 11, where the method includes:
s106, carrying out normalization processing on the weight values corresponding to the joint angles in each joint angle group to obtain the weight values corresponding to the joint angles in each normalized joint angle group.
When the weight is assigned to each joint, the action component of each joint on the position of the end point of the mechanical arm is directly regarded as the weight value, and the default unit is consistent with the length unit in the kinematic modeling. In order to eliminate the influence introduced by different dimensions, the weight values of the joints which are already allocated need to be normalized, the general normalization processing mode is quite many, the specific application needs to be selected by combining with the actual application scene specificity, and optionally, the application provides 2-norm normalization processing, for example, normalization processing is carried out by adopting the following relational expression (6);
In the above-mentioned method, the step of,and the weight value corresponding to the joint angle of the ith joint in each joint angle group after normalization treatment is represented, and N represents the joint number of the mechanical arm.
Correspondingly, when the control terminal specifically executes the step S103, the control terminal specifically executes: and screening out a target joint angle group from the joint angle groups according to the normalized weight value corresponding to each joint angle in each joint angle group.
This step involves a method for screening the target joint angle set, which is substantially identical to the weight distribution method described in the embodiment of fig. 8, and the specific method is described in the foregoing description, which is not repeated here.
In summary, the present application further provides a control flow of the mechanical arm, as shown in fig. 12, where the flow includes:
(1) establishing a kinematic model of the mechanical arm, and calculating a total joint angle solution set theta based on the kinematic model 1 If not, returning to the kinematic library for recalculation until the solution set theta of all joint angles is calculated 1 . The specific implementation of this step may be referred to the description of step S101, which is not repeated here.
(2) Joint range of travel screening to determine joint angle solution set Θ 1 Whether there is a travel range solution, if so, from all joints Angular solution set Θ 1 The solution in the travel range is screened out, and the joint limit internal solution set theta in the graph is obtained 2 . If the solution in the travel range does not exist, returning to the kinematic library for recalculation, and recalculating the solution set theta of all joint angles 1 . The specific implementation of this step may be referred to the method described in the foregoing embodiment of fig. 10, which is not repeated here.
(3) Collision detection screening, judging joint limit internal solution set theta 2 Whether collision solution does not occur or not, namely solving the problem of theta from joint limit according to a kinematic library, a mechanical arm model library and a collision algorithm library 2 Non-collision solution set theta is screened out 3 . If no collision solution occurs, returning to the kinematic library for recalculation, and recalculating the total joint angle solution set Θ 1 . The specific implementation of this step may be referred to the method described in the foregoing embodiment of fig. 10, which is not repeated here.
(4) Inverse solution screening based on dynamic weight distribution, namely non-collision solution set Θ 3 Each joint in each set of joint angle sets of the model is assigned a weight. Specifically, according to the initial joint angle setAnd distributing weights to the joints in the joint angle groups according to the motion influence degree of the joints on the tail end of the mechanical arm to obtain the weight values of the joints in the joint angle groups, calculating the distance indexes of the joint angle groups according to the weight values of the joints in the joint angle groups and the values of the joint angles in the joint angle groups, and carrying out minimum distance screening according to the distance indexes of the joint angle groups to obtain the target joint angle groups. The specific implementation of this step may be referred to the method described in the foregoing embodiment of fig. 8, which is not repeated here.
Optionally, the step (4) may be specifically implemented according to a procedure shown in fig. 13, where after the initial weight is assigned to each joint based on the joint angle of each joint of the mechanical arm, an initial weight value Ω of each joint may be obtained 1 Then, the weight value of the special case is reassigned (the abnormal weight value is reassigned) to obtain the weight value omega of each joint after reassignment 2 Then weight the jointsValue omega 2 Normalization processing is carried out to obtain the weight value omega of each joint after normalization 3 Finally, the joint angles of all joints in all joint angle groups and the normalized weight value omega of all joints are obtained 3 Substituting the minimum distance dissociation into the minimum weighted distance model, and then determining the joint angle group corresponding to the minimum distance dissociation as the target joint angle group.
In summary, the present application further provides a control flow of the mechanical arm, as shown in fig. 14, where the flow includes:
s701, acquiring a plurality of joint angle groups corresponding to the mechanical arm to be controlled.
S702, eliminating joint angle groups exceeding a preset travel range from a plurality of joint angle groups, and/or eliminating joint angle groups with collision problems from the plurality of joint angle groups to obtain a plurality of candidate joint angle groups.
S703, determining the turning radius of the tail end point of the mechanical arm around the corresponding joint axis when each joint on the mechanical arm moves independently according to the initial position of each joint on the mechanical arm.
And S704, determining the turning radius of the tail end point of the mechanical arm around the corresponding joint axis when each joint on the mechanical arm moves independently as an initial weight value corresponding to each joint angle in each candidate joint angle group.
Step 705, determining an abnormal weight value in the initial weight values corresponding to the joint angles, if the joint corresponding to the abnormal weight value is not the end joint in the mechanical arm, executing step S706, and if the joint corresponding to the abnormal weight value is the end joint in the mechanical arm, executing step S707.
S706, weight redistribution is carried out on the abnormal weight value according to the joint angle and/or the joint configuration parameter of the first connecting joint, and the weight value of the joint angle corresponding to the abnormal weight value is obtained.
And S707, performing weight redistribution on the abnormal weight value according to the joint angle, the joint configuration parameter and the preset weight coefficient of the second connection joint to obtain the weight value of the joint angle corresponding to the abnormal weight value.
S708, carrying out normalization processing on the weight values corresponding to the joint angles in each joint angle group to obtain the weight values corresponding to the joint angles in each normalized joint angle group.
S709, determining the distance index corresponding to each joint angle group according to the weight value corresponding to each joint angle in each joint angle group and each joint angle in each joint angle group.
S710, determining the joint angle group with the minimum distance index as a target joint angle group.
S711, controlling the movement of the robot arm according to the joint angle of each joint in the target joint angle group.
S712, judging whether the mechanical arm reaches the target pose, if so, executing step S713, and if not, executing step S714.
S713, controlling the mechanical arm to stop moving.
And S714, returning to execute the step of acquiring a plurality of joint angle groups corresponding to the mechanical arm to be controlled until the mechanical arm reaches the target pose.
The above steps are all described in the foregoing, and the detailed content is referred to in the foregoing, which is not repeated here.
It should be understood that, although the steps in the flowcharts of fig. 2-14 are shown in order as indicated by the arrows, these steps are not necessarily performed in order as 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 of FIGS. 2-14 may include multiple steps or stages that are not necessarily performed at the same time, but may be performed at different times, nor do the order in which the steps or stages are performed necessarily performed in sequence, but may be performed alternately or alternately with at least a portion of the steps or stages of other steps or steps.
In one embodiment, as shown in fig. 15, there is provided a control device for a robot arm, including:
the acquisition module 10 is used for acquiring a plurality of joint angle groups corresponding to the mechanical arm to be controlled; each joint angle group comprises joint angles of joints on the mechanical arm.
The distribution module 11 is configured to distribute weights to the joint angles in each joint angle group according to the degree of influence of the joints on the mechanical arm on the motion of the mechanical arm end, so as to obtain weight values corresponding to the joint angles in each joint angle group.
And the screening module 12 is configured to screen out a target joint angle set from the multiple joint angle sets according to the weight values corresponding to the joint angles in each joint angle set.
And the control module 13 is used for controlling the mechanical arm to move to reach the target pose according to the joint angles of all joints in the target joint angle group.
In one embodiment, the distribution module 11, as shown in fig. 16, includes:
and the determining unit 110 is configured to obtain an initial weight value corresponding to each joint angle in each joint angle group according to the degree of influence of each joint on the motion of the tail end of the mechanical arm.
An allocation unit 111, configured to perform weight redistribution on an abnormal weight value in the initial weight values corresponding to the joint angles, so as to obtain a weight value corresponding to each joint angle; and the weight value of the abnormal weight value is zero.
In one embodiment, the determining unit 110, as shown in fig. 17, includes:
a first determining subunit 1100, configured to determine, according to an initial configuration of each joint on the mechanical arm, a radius of gyration of an end point of the mechanical arm about a corresponding joint axis when each joint on the mechanical arm moves independently;
the second determining subunit 1101 is configured to determine, as an initial weight value corresponding to each joint angle in each joint angle group, a radius of gyration of the end point of the mechanical arm about the corresponding joint axis when each joint on the mechanical arm moves independently.
In one embodiment, the distribution unit 111, as shown in fig. 18, includes:
a first allocation subunit 1110, configured to, when the joint corresponding to the abnormal weight value is not the end joint in the mechanical arm, perform weight redistribution for the abnormal weight value according to the joint angle and/or the joint configuration parameter of the first connection joint, so as to obtain a weight value of the joint angle corresponding to the abnormal weight value;
the second allocation subunit 1111 is configured to, when the joint corresponding to the abnormal weight value is a terminal joint in the mechanical arm, perform weight redistribution on the abnormal weight value according to a joint angle of a second connection joint, a joint configuration parameter, and a preset weight coefficient, to obtain a weight value of the joint angle corresponding to the abnormal weight value.
In one embodiment, the screening module 12, as shown in fig. 19, includes:
a determining index unit 120, configured to determine a distance index corresponding to each joint angle group according to the weight value corresponding to each joint angle in each joint angle group and each joint angle in each joint angle group;
a determination target unit 121 for determining a joint angle group with the smallest distance index as the target joint angle group.
In one embodiment, the control module 13, as shown in fig. 20, includes:
and a control unit 130, configured to control the movement of the mechanical arm according to the joint angle of each joint in the target joint angle set.
The execution unit 131 is configured to determine whether the mechanical arm reaches the target pose, and if so, control the mechanical arm to stop moving; and if not, returning to execute the step of acquiring a plurality of joint angle groups corresponding to the mechanical arm to be controlled until the mechanical arm reaches the target pose.
In one embodiment, as shown in fig. 21, the control device of the mechanical arm further includes:
a rejecting module 14, configured to reject joint angle groups exceeding a preset range of travel from the plurality of joint angle groups, and/or reject joint angle groups having a collision problem from the plurality of joint angle groups, so as to obtain a plurality of candidate joint angle groups;
Correspondingly, the allocation module 11 is specifically configured to allocate weights to each joint angle in each candidate joint angle group according to the degree of influence of each joint on the mechanical arm on the motion of the mechanical arm end, so as to obtain a weight value corresponding to each joint angle in each candidate joint angle group.
In one embodiment, as shown in fig. 22, the control device of the mechanical arm further includes:
the processing module 15 is configured to normalize the weight values corresponding to the joint angles in each joint angle group, so as to obtain normalized weight values corresponding to the joint angles in each joint angle group;
correspondingly, the above-mentioned screening module 12 is specifically configured to screen the target joint angle set from the multiple joint angle sets according to the normalized weight value corresponding to each joint angle in each joint angle set.
For specific limitations of the control device of the mechanical arm, reference may be made to the above limitations of the control method of the mechanical arm, which are not described herein. The above-mentioned each module in the control device of the mechanical arm may be implemented in whole or in part by software, hardware, and 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.
In one embodiment, a computer device is provided, which may be a terminal, and an internal structure diagram thereof may be as shown in fig. 23. The computer device includes a processor, a memory, a communication interface, a display screen, and an input device connected by a system bus. Wherein the processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage media. The communication interface of the computer device is used for carrying out wired or wireless communication with an external terminal, and the wireless mode can be realized through WIFI, an operator network, NFC (near field communication) or other technologies. The computer program, when executed by a processor, implements a method of controlling a robotic arm. The display screen of the computer equipment can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer equipment can be a touch layer covered on the display screen, can also be keys, a track ball or a touch pad arranged on the shell of the computer equipment, and can also be an external keyboard, a touch pad or a mouse and the like.
It will be appreciated by those skilled in the art that the structure shown in fig. 23 is merely a block diagram of a portion of the structure associated with the present application and is not limiting of the computer device to which the present application is applied, and that a particular computer device may include more or fewer components than shown, or may combine certain components, or have a different arrangement of components.
In one embodiment, a computer device is provided comprising a memory and a processor, the memory having stored therein a computer program, the processor when executing the computer program performing the steps of:
acquiring a plurality of joint angle groups corresponding to a mechanical arm to be controlled; each joint angle group comprises joint angles of joints on the mechanical arm;
according to the motion influence degree of each joint on the mechanical arm on the tail end of the mechanical arm, weight is allocated to each joint angle in each joint angle group, and a weight value corresponding to each joint angle in each joint angle group is obtained;
screening out a target joint angle group from the joint angle groups according to the weight value corresponding to each joint angle in each joint angle group;
and controlling the mechanical arm to move to reach the target pose according to the joint angles of all joints in the target joint angle group.
The computer device provided in the foregoing embodiments has similar implementation principles and technical effects to those of the foregoing method embodiments, and will not be described herein in detail.
In one embodiment, a computer readable storage medium is provided having a computer program stored thereon, which when executed by a processor, performs the steps of:
acquiring a plurality of joint angle groups corresponding to a mechanical arm to be controlled; each joint angle group comprises joint angles of joints on the mechanical arm;
according to the motion influence degree of each joint on the mechanical arm on the tail end of the mechanical arm, weight is allocated to each joint angle in each joint angle group, and a weight value corresponding to each joint angle in each joint angle group is obtained;
screening out a target joint angle group from the joint angle groups according to the weight value corresponding to each joint angle in each joint angle group;
and controlling the mechanical arm to move to reach the target pose according to the joint angles of all joints in the target joint angle group.
The foregoing embodiment provides a computer readable storage medium, which has similar principles and technical effects to those of the foregoing method embodiment, and will not be described herein.
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, storage, database, or other medium used in 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, or the like. Volatile memory can include random access memory (Random Access Memory, RAM) or external cache memory. 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 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 merely 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 invention. 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 is to be determined by the claims appended hereto.

Claims (10)

1. A method of controlling a robotic arm, the method comprising:
acquiring a plurality of joint angle groups corresponding to a mechanical arm to be controlled; each joint angle group comprises joint angles of joints on the mechanical arm;
according to the motion influence degree of each joint on the mechanical arm on the tail end of the mechanical arm, weight is allocated to each joint angle in each joint angle group, and a weight value corresponding to each joint angle in each joint angle group is obtained; the motion influence degree of each joint on the tail end of the mechanical arm is determined according to the turning radius of the tail end point of the mechanical arm around the corresponding joint axis when each joint on the mechanical arm moves independently, and the turning radius is determined based on the initial position of each joint and is used for representing the motion influence degree of each joint on the tail end of the mechanical arm when each joint moves independently;
Screening out a target joint angle group from the joint angle groups according to the weight value corresponding to each joint angle in each joint angle group;
and controlling the mechanical arm to move to reach the target pose according to the joint angles of all joints in the target joint angle group.
2. The method according to claim 1, wherein the step of assigning weights to the joint angles in each of the joint angle groups according to the degree of influence of the joints on the mechanical arm on the movement of the mechanical arm end, to obtain weight values corresponding to the joint angles in each of the joint angle groups, includes:
according to the motion influence degree of each joint on the mechanical arm on the tail end of the mechanical arm, obtaining an initial weight value corresponding to each joint angle in each joint angle group;
and carrying out weight redistribution on the abnormal weight value in the initial weight value corresponding to each joint angle to obtain the weight value corresponding to each joint angle.
3. The method according to claim 2, wherein the obtaining the initial weight value corresponding to each joint angle in each joint angle group according to the motion influence degree of each joint on the mechanical arm end comprises:
determining the turning radius of the tail end point of the mechanical arm around the axis of the corresponding joint when each joint on the mechanical arm moves independently according to the initial configuration of each joint on the mechanical arm;
And determining the turning radius of the tail end point of the mechanical arm around the corresponding joint axis when each joint on the mechanical arm moves independently as an initial weight value corresponding to each joint angle in each joint angle group.
4. The method of claim 2, wherein the weight reassigning the abnormal weight value among the initial weight values corresponding to the joint angles to obtain the weight value corresponding to the joint angle comprises:
if the joint corresponding to the abnormal weight value is not the tail end joint in the mechanical arm, weight redistribution is carried out on the abnormal weight value according to the joint angle and/or the joint configuration parameter of the first connecting joint, and the weight value of the joint angle corresponding to the abnormal weight value is obtained;
if the joint corresponding to the abnormal weight value is the tail end joint in the mechanical arm, weight redistribution is carried out on the abnormal weight value according to the joint angle of the second connecting joint, the joint configuration parameter and the preset weight coefficient, and the weight value of the joint angle corresponding to the abnormal weight value is obtained.
5. The method of any one of claims 1-4, wherein the screening the set of target joint angles from the plurality of joint angle sets based on the weight values corresponding to the joint angles in each of the joint angle sets comprises:
Determining a distance index corresponding to each joint angle group according to the weight value corresponding to each joint angle in each joint angle group and each joint angle in each joint angle group;
and determining the joint angle group with the minimum distance index as the target joint angle group.
6. The method of claim 1, wherein controlling the movement of the robotic arm to a target pose according to the joint angles of each joint in the set of target joint angles comprises:
controlling the mechanical arm to move according to the joint angles of all joints in the target joint angle group;
judging whether the mechanical arm reaches the target pose, and if so, controlling the mechanical arm to stop moving; and if not, returning to execute the step of acquiring a plurality of joint angle groups corresponding to the mechanical arm to be controlled until the mechanical arm reaches the target pose.
7. The method according to claim 1, wherein the method further comprises:
removing joint angle groups exceeding a preset travel range from the plurality of joint angle groups, and/or removing joint angle groups with collision problems from the plurality of joint angle groups to obtain a plurality of candidate joint angle groups;
According to the motion influence degree of each joint on the mechanical arm on the tail end of the mechanical arm, distributing weights for each joint angle in each joint angle group to obtain a weight value corresponding to each joint angle in each joint angle group, wherein the method comprises the following steps:
and according to the motion influence degree of each joint on the mechanical arm on the tail end of the mechanical arm, distributing weights for each joint angle in each candidate joint angle group, and obtaining weight values corresponding to each joint angle in each candidate joint angle group.
8. The method according to claim 1, wherein the method further comprises:
normalizing the weight values corresponding to the joint angles in each joint angle group to obtain the normalized weight values corresponding to the joint angles in each joint angle group;
the step of selecting the target joint angle group from the plurality of joint angle groups according to the weight value corresponding to each joint angle in each joint angle group comprises the following steps:
and screening the target joint angle group from the joint angle groups according to the normalized weight value corresponding to each joint angle in each joint angle group.
9. A computer device comprising a memory and a processor, the memory storing a computer program, characterized in that the processor implements the steps of the method of any of claims 1 to 8 when the computer program is executed.
10. A computer readable storage medium, on which a computer program is stored, characterized in that the computer program, when being executed by a processor, implements the steps of the method of any of claims 1 to 8.
CN202111186449.8A 2021-10-12 2021-10-12 Control method of mechanical arm, computer equipment and storage medium Active CN113733104B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111186449.8A CN113733104B (en) 2021-10-12 2021-10-12 Control method of mechanical arm, computer equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111186449.8A CN113733104B (en) 2021-10-12 2021-10-12 Control method of mechanical arm, computer equipment and storage medium

Publications (2)

Publication Number Publication Date
CN113733104A CN113733104A (en) 2021-12-03
CN113733104B true CN113733104B (en) 2023-07-21

Family

ID=78726458

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111186449.8A Active CN113733104B (en) 2021-10-12 2021-10-12 Control method of mechanical arm, computer equipment and storage medium

Country Status (1)

Country Link
CN (1) CN113733104B (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107038275A (en) * 2016-12-19 2017-08-11 中国科学院沈阳自动化研究所 A kind of mechanical arm error analysis method

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013066954A (en) * 2011-09-21 2013-04-18 Seiko Epson Corp Robot and robot control method
JP6305673B2 (en) * 2011-11-07 2018-04-04 セイコーエプソン株式会社 Robot control system, robot system and robot
CN110757450B (en) * 2019-09-06 2022-05-17 南京邮电大学 Shoulder joint rehabilitation robot parameter calibration method
KR102564849B1 (en) * 2019-11-25 2023-08-09 한국전자통신연구원 System, apparatus and method for recognizing motion of multi-users
CN111890364B (en) * 2020-07-29 2021-11-16 库卡机器人(广东)有限公司 Robot motion control method, device, electronic device and storage medium
CN112091979B (en) * 2020-10-10 2021-11-19 哈尔滨工业大学 Seven-degree-of-freedom mechanical arm limiting optimization method based on position-level inverse kinematics
CN113119081B (en) * 2021-03-18 2022-10-21 深圳市优必选科技股份有限公司 Inverse solution method and device for arm angle interval of mechanical arm and terminal equipment

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107038275A (en) * 2016-12-19 2017-08-11 中国科学院沈阳自动化研究所 A kind of mechanical arm error analysis method

Also Published As

Publication number Publication date
CN113733104A (en) 2021-12-03

Similar Documents

Publication Publication Date Title
Baressi Šegota et al. Path planning optimization of six-degree-of-freedom robotic manipulators using evolutionary algorithms
TWI830938B (en) Method and system of quantizing artificial neural network and artificial neural network apparatus
US20180085923A1 (en) Robot control device, robot, and robot system
CN104102693B (en) Object processing method and device
KR20220062622A (en) Data processing methods and related devices
EP3484674A1 (en) Method and system for preserving privacy for cloud-based manufacturing analysis services
CN110263493A (en) A kind of room construction area calculation method and device based on REVIT
CN116227043B (en) Aircraft numerical simulation method, system, equipment and computer storage medium
CN111283686A (en) Grasping posture calculation method for live working robot in grasping branch line scene
CN113733104B (en) Control method of mechanical arm, computer equipment and storage medium
CN114461386A (en) Task allocation method and task allocation device
CN113312183B (en) Edge calculation method for deep neural network
WO2021164277A1 (en) Spatial sampling method, apparatus, device, and medium applied to path planning
CN112836425A (en) Cylinder fitting method and device based on particle swarm optimization algorithm
CN116304227A (en) Multiplexing method and system for part processing technology and electronic equipment
CN112975954B (en) Control method of robot arm, computer device, and storage medium
US10168963B2 (en) Storage conditioning with intelligent rebuild
CN111738539B (en) Method, device, equipment and medium for distributing picking tasks
CN115431267A (en) Industrial robot curved surface machining method based on region division
JP7396505B2 (en) Model generation program, model generation method, and model generation device
CN109377510B (en) Particle tracking method and system on supercomputing cluster
CN113420604A (en) Multi-person posture estimation method and device and electronic equipment
CN116160444B (en) Mechanical arm kinematics inverse solution optimization method and device based on clustering algorithm
CN114595907A (en) Control method, device and equipment of warehousing system and computer-readable storage medium
CN111178529A (en) Data processing method and device, electronic equipment and readable storage medium

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