Robot motion control method, electronic device, and computer-readable storage medium
Patent Information
- Application Number
- CN202310335181.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-03-28
- Publication Date
- 2026-08-18
- Estimated Expiration
- 2043-03-28
AI Technical Summary
但是,该方法无法适用于三关节子问题的逆解,适用范围较小
[0085] This application provides a robot motion control method, electronic device, and computer-readable storage medium. The method, through geometric constraint functions, algebraic constraint functions, and initial functional relationships, derives the target functional relationships corresponding to the positional relationships of the joint axes of a three-axis robotic arm. Based on the positional relationships of the joint axes in the three-axis robotic arm to be controlled, the inverse kinematics is performed using the target functional relationships corresponding to these positional relationships to obtain the values of the joint angles in the three-axis robotic arm. Motion control of the robot is then achieved based on these joint angle values. Specifically, given a fixed structure of the robot to be controlled, an initial functional relationship can be obtained. Based on this initial functional relationship and constraint functions, a reference functional relationship can be obtained. By transforming the reference functional relationship under different joint axis positional relationships, target functional relationships under different positional relationships can be obtained. This transforms the motion control problem into a mathematical problem for solution, effectively solving the inverse kinematics problem of a three-joint robot and achieving an efficient inverse kinematics process.
Smart Images

Figure CN116277010B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of mechanical control technology, and more specifically, to a robot motion control method, electronic device, and computer-readable storage medium. Background Technology
[0002] With the continuous development of robotics technology, intelligent robot control can replace manual labor in performing many precise operations. Robot control is typically achieved through the control of multi-joint robotic arms, and the inverse kinematics of these arms is a crucial step. Inverse kinematics refers to determining the motion positions of each joint given the robot's end-effector pose.
[0003] Traditional methods often employ inverse kinematics solutions based on the PoE (Product of Exponential) model. However, this method is not applicable to the inverse kinematics of three-joint subproblems and has a limited scope of application. Summary of the Invention
[0004] The purpose of this application is to address the shortcomings of the prior art by providing a robot motion control method, electronic device, and computer-readable storage medium to facilitate the solution of the RRR three-joint inverse kinematics problem.
[0005] To achieve the above objectives, the technical solutions adopted in the embodiments of this application are as follows:
[0006] In a first aspect, embodiments of this application provide a robot motion control method, applied to a processing device in a robot control system. The robot control system includes the processing device and a robot body. The robot body includes a three-axis robotic arm, which includes a first rotary joint, a second rotary joint, and a third rotary joint. The method includes:
[0007] Receive control commands, the control commands including: the target point to which the end effector of the robot body is to run;
[0008] Based on the positional relationship of the axes of each joint of the three-axis robotic arm and the target function relationship corresponding to the positional relationship, the values of the angles of each joint of the three-axis robotic arm are determined. The target function relationship is obtained based on a reference function relationship, which is constructed based on the initial function relationship between the intermediate point and the target point, the current starting point of the end effector of the robot body, and the angles of each joint of the three-axis robotic arm, a preset geometric constraint function, and a preset algebraic constraint function. The intermediate point includes the points traversed by the end effector of the robot body during its movement from the starting point to the target point. The reference function relationship is used to characterize the relationship between the first joint angle of the first rotary joint and the third joint angle of the third rotary joint.
[0009] The joints of the three-axis robotic arm are controlled to operate according to their corresponding joint angle values, so that the end of the robot body moves from the starting point to the target point.
[0010] Optionally, the initial functional relationship includes: a first functional relationship corresponding to the first intermediate point and a second functional relationship corresponding to the second intermediate point;
[0011] The first functional relationship is used to characterize the relationship between the first intermediate point and the starting point, the third reference point, the third direction vector and the third joint angle. The third reference point is a reference point on the joint axis of the third rotary joint, the third direction vector is the direction vector of the joint axis of the third rotary joint, and the third joint angle is the angle of rotation of the third rotary joint during the process of the end of the robot body moving from the starting point to the target point.
[0012] The second functional relationship is used to characterize the relationship between the second intermediate point and the target point, the first reference point, the first direction vector, and the first joint angle; the first reference point is a reference point on the joint axis of the first rotary joint, the first direction vector is the direction vector of the joint axis of the first rotary joint, and the first joint angle is the angle rotated by the first rotary joint during the process of the end of the robot body moving from the starting point to the target point.
[0013] Optionally, if the axis of the second joint is parallel to the axis of the third joint, and the axis of the second joint is not parallel to the axis of the first joint, then the target function relationship is the function relationship related to the angle of the first joint in the reference function relationship;
[0014] The step of determining the angle values of each joint of the three-axis robotic arm based on the positional relationship of the axes of each joint and the objective function relationship corresponding to the positional relationship includes:
[0015] The value of the first joint angle is determined based on the objective function relationship;
[0016] The value of the third joint angle is determined based on the value of the first joint angle and the functional relationship between the first joint angle and the third joint angle in the reference function relationship;
[0017] Based on the values of the first joint angle and the third joint angle, the values of the first intermediate point and the second intermediate point are determined respectively.
[0018] The value of the second joint angle is determined based on the value of the first intermediate point, the value of the second intermediate point, and the preset functional relationship between the spatial point, the joint axis, and the joint angle.
[0019] Optionally, if the second joint axis is not parallel to the third joint axis, and the second joint axis is parallel to the first joint axis, then the target function relationship is the function relationship related to the third joint angle in the reference function relationship;
[0020] The step of determining the angle values of each joint of the three-axis robotic arm based on the positional relationship of the axes of each joint and the objective function relationship corresponding to the positional relationship includes:
[0021] Based on the objective function relationship, determine the value of the third joint angle;
[0022] The value of the first joint angle is determined based on the value of the third joint angle and the functional relationship between the first joint angle and the third joint angle in the reference function relationship;
[0023] Based on the values of the first joint angle and the third joint angle, the values of the first intermediate point and the second intermediate point are determined respectively.
[0024] The value of the second joint angle is determined based on the value of the first intermediate point, the value of the second intermediate point, and the preset functional relationship between the spatial point, the joint axis, and the joint angle.
[0025] Optionally, if the second joint axis is parallel to the third joint axis and the second joint axis is parallel to the first joint axis, then the target function relationship is the initial function relationship;
[0026] The step of determining the angle values of each joint of the three-axis robotic arm based on the positional relationship of the axes of each joint and the objective function relationship corresponding to the positional relationship includes:
[0027] When the functional relationship between the first joint angle and the third joint angle has a unique solution, determine the position vector of the first intermediate point and the position vector of the second intermediate point;
[0028] Based on the position vector of the first intermediate point, the position vector of the second intermediate point, and the objective function relationship, the values of the first joint angle and the third joint angle are determined respectively.
[0029] The value of the second joint angle is determined based on the position vector of the first intermediate point, the position vector of the second intermediate point, and the preset functional relationship between the spatial point, the joint axis, and the joint angle.
[0030] Optionally, if the second joint axis is not parallel to the third joint axis, and the second joint axis is not parallel to the first joint axis, and adjacent joint axes among the first joint axis, the second joint axis, and the third joint axis do not intersect, then the target function relationship is the function relationship related to the third joint angle in the reference function relationship;
[0031] The step of determining the angle values of each joint of the three-axis robotic arm based on the positional relationship of the axes of each joint and the objective function relationship corresponding to the positional relationship includes:
[0032] Based on the objective function relationship, determine the value of the third joint angle;
[0033] The value of the first joint angle is determined based on the value of the third joint angle and the functional relationship between the first joint angle and the third joint angle in the reference function relationship;
[0034] Based on the values of the first joint angle and the third joint angle, the values of the first intermediate point and the second intermediate point are determined respectively.
[0035] The value of the second joint angle is determined based on the value of the first intermediate point, the value of the second intermediate point, and the preset functional relationship between the spatial point, the joint axis, and the joint angle.
[0036] Optionally, if the second joint axis is not parallel to the third joint axis, and the second joint axis is not parallel to the first joint axis, and the second joint axis intersects the first joint axis, and the second reference point and the third reference point are intersection points, then the target function relationship is the function relationship related to the third joint angle in the reference function relationship;
[0037] The step of determining the angle values of each joint of the three-axis robotic arm based on the positional relationship of the axes of each joint and the objective function relationship corresponding to the positional relationship includes:
[0038] Based on the objective function relationship, determine the value of the third joint angle;
[0039] The value of the first joint angle is determined based on the value of the third joint angle and the functional relationship between the first joint angle and the third joint angle in the reference function relationship;
[0040] Based on the value of the third joint angle and the value of the first joint angle, the value of the first midpoint and the value of the second midpoint are determined respectively.
[0041] The value of the second joint angle is determined based on the value of the first intermediate point, the value of the second intermediate point, and the preset functional relationship between the spatial point, the joint axis, and the joint angle.
[0042] Optionally, it includes: if the second joint axis is not parallel to the third joint axis, and the second joint axis is not parallel to the first joint axis, and the first joint axis, the second joint axis, and the third joint axis intersect simultaneously, then the target function relationship is determined to be the function relationship related to the first joint angle in the reference function relationship;
[0043] The step of determining the angle values of each joint of the three-axis robotic arm based on the positional relationship of the axes of each joint and the objective function relationship corresponding to the positional relationship includes:
[0044] Based on the objective function relationship, determine the value of the first joint angle;
[0045] The value of the second joint angle is determined based on the value of the first joint angle and the preset functional relationship between the first joint angle, the second joint angle, the first joint axis, the second joint axis, the new first reference point, and the target point; the new first reference point is a reference point located only on the third joint axis.
[0046] The value of the third joint angle is determined based on the value of the first joint angle, the value of the second joint angle, and the preset functional relationship between the first joint angle, the second joint angle, the third joint angle, the first joint axis, the second joint axis, the third joint axis, the new second reference point, and the target point; the new second reference point is a reference point located on a point other than the third joint axis.
[0047] Secondly, this application also provides a robot motion control device, applied to a processing device in a robot control system. The robot control system includes a processing device and a robot body. The robot body includes a three-axis robotic arm, which includes a first rotary joint, a second rotary joint, and a third rotary joint. The device includes a receiving module, a determining module, and a control module.
[0048] The receiving module is used to receive control commands, the control commands including: the target point to be reached by the end of the robot body;
[0049] The determining module is used to determine the values of the angles of each joint of the three-axis robotic arm based on the positional relationship of the axes of each joint of the three-axis robotic arm and the target function relationship corresponding to the positional relationship. The target function relationship is obtained based on the reference function relationship, which is constructed based on the initial function relationship between the intermediate point and the target point, the starting point where the end of the robot body is currently located, and the angles of each joint of the three-axis robotic arm, a preset geometric constraint function, and a preset algebraic constraint function. The intermediate point includes the point passed by the end of the robot body during its movement from the starting point to the target point. The reference function relationship is used to characterize the relationship between the first joint angle of the first rotary joint and the third joint angle of the third rotary joint.
[0050] The control module is used to control each joint in the three-axis robotic arm to operate according to the corresponding joint angle value, so that the end of the robot body moves from the starting point to the target point.
[0051] Optionally, the initial functional relationship includes: a first functional relationship corresponding to the first intermediate point and a second functional relationship corresponding to the second intermediate point;
[0052] The first functional relationship is used to characterize the relationship between the first intermediate point and the starting point, the third reference point, the third direction vector and the third joint angle. The third reference point is a reference point on the joint axis of the third rotary joint, the third direction vector is the direction vector of the joint axis of the third rotary joint, and the third joint angle is the angle of rotation of the third rotary joint during the process of the end of the robot body moving from the starting point to the target point.
[0053] The second functional relationship is used to characterize the relationship between the second intermediate point and the target point, the first reference point, the first direction vector, and the first joint angle; the first reference point is a reference point on the joint axis of the first rotary joint, the first direction vector is the direction vector of the joint axis of the first rotary joint, and the first joint angle is the angle rotated by the first rotary joint during the process of the end of the robot body moving from the starting point to the target point.
[0054] Optionally, if the axis of the second joint is parallel to the axis of the third joint, and the axis of the second joint is not parallel to the axis of the first joint, then the target function relationship is the function relationship related to the angle of the first joint in the reference function relationship;
[0055] The determining module is specifically used to determine the value of the first joint angle based on the target function relationship;
[0056] The value of the third joint angle is determined based on the value of the first joint angle and the functional relationship between the first joint angle and the third joint angle in the reference function relationship;
[0057] Based on the values of the first joint angle and the third joint angle, the values of the first intermediate point and the second intermediate point are determined respectively.
[0058] The value of the second joint angle is determined based on the value of the first intermediate point, the value of the second intermediate point, and the preset functional relationship between the spatial point, the joint axis, and the joint angle.
[0059] Optionally, if the second joint axis is not parallel to the third joint axis, and the second joint axis is parallel to the first joint axis, then the target function relationship is the function relationship related to the third joint angle in the reference function relationship;
[0060] The determining module is specifically used to determine the value of the third joint angle based on the objective function relationship;
[0061] The value of the first joint angle is determined based on the value of the third joint angle and the functional relationship between the first joint angle and the third joint angle in the reference function relationship;
[0062] Based on the values of the first joint angle and the third joint angle, the values of the first intermediate point and the second intermediate point are determined respectively.
[0063] The value of the second joint angle is determined based on the value of the first intermediate point, the value of the second intermediate point, and the preset functional relationship between the spatial point, the joint axis, and the joint angle.
[0064] Optionally, if the second joint axis is parallel to the third joint axis and the second joint axis is parallel to the first joint axis, then the target function relationship is the initial function relationship;
[0065] The determining module is specifically used to determine the position vector of the first intermediate point and the position vector of the second intermediate point when the functional relationship between the first joint angle and the third joint angle has a unique solution.
[0066] Based on the position vector of the first intermediate point, the position vector of the second intermediate point, and the objective function relationship, the values of the first joint angle and the third joint angle are determined respectively.
[0067] The value of the second joint angle is determined based on the position vector of the first intermediate point, the position vector of the second intermediate point, and the preset functional relationship between the spatial point, the joint axis, and the joint angle.
[0068] Optionally, if the second joint axis is not parallel to the third joint axis, and the second joint axis is not parallel to the first joint axis, and adjacent joint axes among the first joint axis, the second joint axis, and the third joint axis do not intersect, then the target function relationship is the function relationship related to the third joint angle in the reference function relationship;
[0069] The determining module is specifically used to determine the value of the third joint angle based on the objective function relationship;
[0070] The value of the first joint angle is determined based on the value of the third joint angle and the functional relationship between the first joint angle and the third joint angle in the reference function relationship;
[0071] Based on the values of the first joint angle and the third joint angle, the values of the first intermediate point and the second intermediate point are determined respectively.
[0072] The value of the second joint angle is determined based on the value of the first intermediate point, the value of the second intermediate point, and the preset functional relationship between the spatial point, the joint axis, and the joint angle.
[0073] Optionally, if the second joint axis is not parallel to the third joint axis, and the second joint axis is not parallel to the first joint axis, and the second joint axis intersects the first joint axis, and the second reference point and the third reference point are intersection points, then the target function relationship is the function relationship related to the third joint angle in the reference function relationship;
[0074] The determining module is specifically used to determine the value of the third joint angle based on the objective function relationship;
[0075] The value of the first joint angle is determined based on the value of the third joint angle and the functional relationship between the first joint angle and the third joint angle in the reference function relationship;
[0076] Based on the value of the third joint angle and the value of the first joint angle, the value of the first midpoint and the value of the second midpoint are determined respectively.
[0077] The value of the second joint angle is determined based on the value of the first intermediate point, the value of the second intermediate point, and the preset functional relationship between the spatial point, the joint axis, and the joint angle.
[0078] Optionally, if the second joint axis is not parallel to the third joint axis, and the second joint axis is not parallel to the first joint axis, and the first joint axis, the second joint axis, and the third joint axis all intersect, then the target function relationship is determined to be the function relationship related to the first joint angle in the reference function relationship;
[0079] The determining module is specifically used to determine the value of the first joint angle based on the objective function relationship;
[0080] The value of the second joint angle is determined based on the value of the first joint angle and the preset functional relationship between the first joint angle, the second joint angle, the first joint axis, the second joint axis, the new first reference point, and the target point; the new first reference point is a reference point located only on the third joint axis.
[0081] The value of the third joint angle is determined based on the value of the first joint angle, the value of the second joint angle, and the preset functional relationship between the first joint angle, the second joint angle, the third joint angle, the first joint axis, the second joint axis, the third joint axis, the new second reference point, and the target point; the new second reference point is a reference point located on a point other than the third joint axis.
[0082] Thirdly, embodiments of this application provide an electronic device, including: a processor, a storage medium, and a bus. The storage medium stores machine-readable instructions executable by the processor. When the electronic device is running, the processor communicates with the storage medium via the bus, and the processor executes the machine-readable instructions to perform the steps of the robot motion control method provided in the first aspect.
[0083] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program that, when executed by a processor, performs the steps of the robot motion control method provided in the first aspect.
[0084] The beneficial effects of this application are:
[0085] This application provides a robot motion control method, electronic device, and computer-readable storage medium. The method, through geometric constraint functions, algebraic constraint functions, and initial functional relationships, derives the target functional relationships corresponding to the positional relationships of the joint axes of a three-axis robotic arm. Based on the positional relationships of the joint axes in the three-axis robotic arm to be controlled, the inverse kinematics is performed using the target functional relationships corresponding to these positional relationships to obtain the values of the joint angles in the three-axis robotic arm. Motion control of the robot is then achieved based on these joint angle values. Specifically, given a fixed structure of the robot to be controlled, an initial functional relationship can be obtained. Based on this initial functional relationship and constraint functions, a reference functional relationship can be obtained. By transforming the reference functional relationship under different joint axis positional relationships, target functional relationships under different positional relationships can be obtained. This transforms the motion control problem into a mathematical problem for solution, effectively solving the inverse kinematics problem of a three-joint robot and achieving an efficient inverse kinematics process. Attached Figure Description
[0086] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of this application and should not be regarded as a limitation of the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0087] Figure 1 A schematic diagram of a mathematical model of a three-axis robotic arm provided for an embodiment of this application;
[0088] Figure 2 A flowchart illustrating the robot motion control method provided in this application embodiment. Figure 1 ;
[0089] Figure 3 A flowchart illustrating the robot motion control method provided in this application embodiment. Figure 2 ;
[0090] Figure 4 A flowchart illustrating the robot motion control method provided in this application embodiment. Figure 3 ;
[0091] Figure 5 A flowchart illustrating the robot motion control method provided in this application embodiment. Figure 4 ;
[0092] Figure 6 A schematic diagram of an inverse mathematical model provided in an embodiment of this application;
[0093] Figure 7 A flowchart illustrating the robot motion control method provided in this application embodiment. Figure 5 ;
[0094] Figure 8 A flowchart illustrating the robot motion control method provided in this application embodiment. Figure 6 ;
[0095] Figure 9 A flowchart illustrating the robot motion control method provided in this application embodiment. Figure 7 ;
[0096] Figure 10 A schematic diagram of joint sampling points and inverse solution values provided in an embodiment of this application;
[0097] Figure 11 A schematic diagram of a robotic arm structure provided in an embodiment of this application;
[0098] Figure 12 A schematic diagram of another joint sampling point and inverse solution value provided in an embodiment of this application;
[0099] Figure 13 A schematic diagram of a robot motion control device provided in an embodiment of this application;
[0100] Figure 14 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0101] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. It should be understood that the accompanying drawings in this application are for illustrative and descriptive purposes only and are not intended to limit the scope of protection of this application. Furthermore, it should be understood that the schematic drawings are not drawn to scale. The flowcharts used in this application illustrate operations implemented according to some embodiments of this application. It should be understood that the operations in the flowcharts may not be implemented in sequence, and steps without logical contextual relationships may be reversed or implemented simultaneously. In addition, those skilled in the art, guided by the content of this application, may add one or more other operations to the flowcharts, or remove one or more operations from the flowcharts.
[0102] Furthermore, the described embodiments are merely some, not all, of the embodiments of this application. The components of the embodiments of this application described and illustrated herein can typically be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of this application provided in the accompanying drawings is not intended to limit the scope of the claimed application, but merely to illustrate selected embodiments of the application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without inventive effort are within the scope of protection of this application.
[0103] It should be noted that this method is applicable to the control of any configuration of "RRR (RRR represents a robot consisting of 3 rotary joints, generally referring to a three-axis robotic arm, or a robot consisting of three orthogonal axis rotary joints) three-joint robot", realizing the analytical inverse solution method of the RRR three-joint subproblem.
[0104] It should be noted that the term "comprising" will be used in the embodiments of this application to indicate the presence of the features declared thereafter, but does not exclude the addition of other features.
[0105] Figure 1 This is a schematic diagram of a mathematical model of a three-axis robotic arm provided for an embodiment of this application. Figure 1As shown, a three-axis robotic arm can refer to the robotic arm to be controlled in a robot. Robot operation control is typically achieved by controlling the movement of each joint within the robot. When controlling the end effector movement of the robot, the required angles of movement for each joint are calculated using inverse kinematics. By controlling each joint to move according to the calculated angles, the end effector of the robot can move to the corresponding position.
[0106] like Figure 1 As shown, the three-axis robotic arm may include a first rotary joint (circle 1 in the figure), a second rotary joint 2 (circle 2 in the figure), and a third rotary joint (circle 3 in the figure). ξ1 is the joint axis of the first rotary joint, ξ2 is the joint axis of the second rotary joint, and ξ3 is the joint axis of the third rotary joint; p1 is a reference point on the first rotary joint, p2 is a reference point on the second rotary joint, and p3 is a reference point on the third rotary joint; θ1 is the joint rotation angle of the first rotary joint, θ2 is the joint rotation angle of the second rotary joint, and θ3 is the joint rotation angle of the third rotary joint. In the following embodiments, ξ1, ξ2, and ξ3 are represented by the first joint axis, the second joint axis, and the third joint axis, respectively; p1, p2, and p3 are represented by the first reference point, the second reference point, and the third reference point, respectively; and θ1, θ2, and θ3 are represented by the first joint angle, the second joint angle, and the third joint angle, respectively.
[0107] Additionally, point p represents the starting point, which is the current position of the robot's end effector, and point q represents the target point, which is the position the robot's end effector will move to. Point c represents the first intermediate point, and point d represents the second intermediate point. When controlling the robot's end effector to move from the starting point p to the target point q, the third rotary joint can be controlled to rotate θ3 angles from point p to reach point c, the second rotary joint can rotate θ2 angles from point c to reach point d, and the third rotary joint can rotate θ1 angles from point d to reach point q, thereby moving the robot's end effector from point p to point q.
[0108] Combination Figure 1 The mathematical model shown illustrates the specific implementation process of this scheme.
[0109] Figure 2 A flowchart illustrating the robot motion control method provided in this application embodiment. Figure 1 This method can be applied to the processing equipment in a robot control system. The robot control system may include the processing equipment and the robot body, and the robot body may include the aforementioned... Figure 1 The three-axis robotic arm shown is as follows: Figure 1 As shown, the method may include:
[0110] S101. Receive control commands, including the target point to be reached by the end effector of the robot body.
[0111] Control commands can be input by the user through the user interface of the processing device. These commands can include the position information of the target point that the end effector of the robot body is to reach. The movement of the end effector is achieved through corresponding movements of the controllable joints within the robot body.
[0112] S102. Determine the angle values of each joint of the three-axis robotic arm based on the positional relationship of the axes of each joint and the objective function relationship corresponding to the positional relationship.
[0113] The objective function relationship is derived from the baseline function relationship, which is constructed based on the initial function relationship between the intermediate point and the target point, the current starting point of the robot's end effector, and the angles of each joint of the three-axis robotic arm, as well as preset geometric and algebraic constraint functions. The intermediate point includes the points traversed by the robot's end effector as it moves from the starting point to the target point. The baseline function relationship characterizes the relationship between the first joint angle of the first rotary joint and the third joint angle of the third rotary joint.
[0114] Optionally, since the positions of the joint axes in three-axis robotic arms with different configurations are not fixed, the results obtained after inverse kinematics of the joint angles will also be different under different joint axis position relationships.
[0115] In some embodiments, when the structure of the robot to be controlled is fixed, the positional relationship of the joint axes of the three-axis robotic arm is also fixed. Then, based on the positional relationship of the joint axes and the objective function relationship corresponding to the positional relationship, the inverse kinematics solution can be performed to determine the value of the angle of each joint of the three-axis robotic arm, that is, to determine the value of the first joint angle θ1, the second joint angle θ2 and the third joint angle θ3 respectively.
[0116] Here, the objective function relationship is different under different joint axis positional relationships, and specific solutions can be found according to the actual situation.
[0117] It is worth noting that the objective function relationship can be obtained by transforming the baseline function relationship.
[0118] The baseline function relationship is constructed based on the initial function relationships between the intermediate point and the target point, the starting point, and the angles of each joint, as well as preset geometric constraint functions and preset algebraic constraint functions. Figure 1 Under the three-axis robotic arm model shown, the initial functional relationship can be directly obtained, that is, the publishing functional relationship is naturally valid.
[0119] S103. Control each joint in the three-axis robotic arm to operate according to the corresponding joint angle value, so that the end of the robot body moves from the starting point to the target point.
[0120] Based on the determined values of the first joint angle θ1, the second joint angle θ2, and the third joint angle θ3, the first rotary joint can be rotated by θ1, the second rotary joint by θ2, and the third rotary joint by θ3, respectively, thereby moving the end of the robot body to be controlled from the starting point to the target point.
[0121] In summary, the robot motion control method provided in this embodiment, through geometric constraint functions, algebraic constraint functions, and initial function relationships, can derive the target function relationships corresponding to the positional relationships of the joint axes of a three-axis robotic arm. Therefore, based on the positional relationships of the joint axes in the three-axis robotic arm to be controlled, the inverse kinematics can be performed using the target function relationships corresponding to the positional relationships to obtain the values of the joint angles in the three-axis robotic arm. Based on the values of the joint angles, the robot's motion control is achieved. Specifically, given a fixed structure of the robot to be controlled, an initial function relationship can be obtained. Based on the initial function relationship and constraint functions, a reference function relationship can be obtained. By transforming the reference function relationship under different joint axis positional relationships, target function relationships under different positional relationships can be obtained. This transforms the motion control problem into a mathematical problem for solution, effectively solving the inverse kinematics problem of a three-joint robot and achieving an efficient inverse kinematics process.
[0122] Optionally, the initial functional relationship described above may include: the first functional relationship corresponding to the first intermediate point and the second functional relationship corresponding to the second intermediate point.
[0123] The first function relationship corresponding to the first intermediate point c is used to characterize the relationship between the first intermediate point and the starting point, the third reference point, the third direction vector, and the third joint angle. The third reference point is the reference point on the joint axis of the third rotary joint, the third direction vector is the direction vector of the joint axis of the third rotary joint, and the third joint angle is the angle rotated by the third rotary joint during the process of the end of the robot body moving from the starting point to the target point. The first intermediate point characterizes the point reached by the starting point p after rotating θ3 around the third joint axis ξ3.
[0124] The second function relationship corresponding to the second intermediate point d is used to characterize the relationship between the second intermediate point and the target point, the first reference point, the first direction vector, and the first joint angle; the first reference point is the reference point on the joint axis of the first rotary joint, the first direction vector is the direction vector of the joint axis of the first rotary joint, and the first joint angle is the angle rotated by the first rotary joint during the process of the end of the robot body moving from the starting point to the target point; the second intermediate point characterizes the point reached by the first intermediate point c after rotating θ2 around the second joint axis ξ2.
[0125] Among them, Figure 1 If the model shown holds true, the first functional relationship corresponding to the first intermediate point and the second functional relationship corresponding to the second intermediate point will naturally hold true.
[0126] The first functional relationship can be expressed as: The second functional relationship can be expressed as follows:
[0127] The following explains how the baseline function is constructed:
[0128] Continue as Figure 1 As shown, it can be seen that the first intermediate point c and the second intermediate point d are both located on circle 2 perpendicular to the second joint axis ξ2. Therefore, according to geometric and algebraic constraints, we know that:
[0129] ω2 T (dc)=0 (1)
[0130] ||c-p2||=||d-p2|| (2)
[0131] Where ω2 represents the direction vector of the second joint axis ξ2. Formula (1) indicates that the product of two mutually perpendicular vectors is 0, and formula (2) indicates that the distance between the two sides of the equal sign is equal.
[0132] Substitute the first functional relationship corresponding to the first intermediate point c and the second functional relationship corresponding to the second intermediate point d into formulas (1) and (2), square both sides of the equality sign in formula (2), and then... and By replacing them with the corresponding Rodrigues formula, formulas (1) and (2) can be transformed into formulas (3) and (4) as follows.
[0133] x1sinθ1+y1cosθ1+x2sinθ3+y2cosθ3+z1=0 (3)
[0134] x3sinθ1+y3cosθ1+x4sinθ3+y4cosθ3+z2=0 (4)
[0135] Formulas (3) and (4) here are the benchmark function relationships mentioned above.
[0136] The parameters in the formula are as follows:
[0137]
[0138]
[0139]
[0140]
[0141]
[0142]
[0143]
[0144]
[0145]
[0146] Similarly, ω1 represents the direction vector of the first joint axis ξ1, and ω3 represents the direction vector of the third joint axis ξ3.
[0147] Next, we will discuss different configurations and derive the values of each joint angle under any configuration. It is worth noting that for two rotational joints, if ξ1∥ξ2, we have... This holds true; and for any two joints, if ξ1⊥ξ2, then ω1 T The statement ω2=0 holds true.
[0148] Figure 3 A flowchart illustrating the robot motion control method provided in this application embodiment. Figure 2 Optionally, in case (1), ξ2∥ξ3 and That is, if the axis of the second joint is parallel to the axis of the third joint, and the axis of the second joint is not parallel to the axis of the first joint, then the objective function relationship is the function relationship related to the angle of the first joint in the reference function relationship.
[0149] When the joint axis ξ2 is parallel to ξ3 but not parallel to ξ1, it indicates that... and If this holds true, then we can derive the above parameters x2=y2=0, and formula (3) is transformed into the following formula (5):
[0150] x1sinθ1+y1cosθ1+z1=0 (5)
[0151] Optionally, in step S102, determining the angle values of each joint of the three-axis robotic arm based on the positional relationship between the axes of each joint and the corresponding objective function relationship may include:
[0152] S301. Determine the value of the first joint angle based on the objective function relationship.
[0153] Formula (5) refers to the objective function relationship under case (1). Formula (5) is the univariate trigonometric function equation for the first joint angle θ1. According to the trigonometric function relationship, if x1≠0, the first joint angle θ1 can be obtained through... Solve this problem; if y1≠0, the first joint angle θ1 can be obtained through... Please provide a solution.
[0154] S302. Determine the value of the third joint angle based on the value of the first joint angle and the functional relationship between the first joint angle and the third joint angle in the reference function relationship.
[0155] Optionally, the value of the first joint angle θ1 can be substituted into formula (4) of the reference function relationship. Formula (4) can be converted into a univariate trigonometric function equation for the third joint angle θ3. If x4≠0, the third joint angle θ3 can be obtained through... Solve this problem; if y4≠0, the third joint angle θ3 can be obtained through... Please provide a solution.
[0156] S303. Based on the values of the first joint angle and the third joint angle, determine the values of the first intermediate point and the second intermediate point respectively.
[0157] Based on the value of the first joint angle θ1 and the second function relationship corresponding to the second intermediate point d in the initial function relationship, the value of the second intermediate point can be determined. Similarly, based on the value of the third joint angle θ3 and the first function relationship corresponding to the first intermediate point c in the initial function relationship, the value of the first intermediate point can be determined.
[0158] S304. Determine the value of the second joint angle based on the value of the first intermediate point, the value of the second intermediate point, and the preset functional relationship between the spatial point, the joint axis, and the joint angle.
[0159] It should be noted that, in Figure 1 When the model shown holds true, space point p rotates by an angle θ around the joint axis ξ to space point q, i.e., there exists... Converting homogeneous coordinates to spatial coordinates, we obtain formula (6) as shown below:
[0160]
[0161] The functional relationship between the preset spatial point and the joint axis and joint angle can be shown in formula (6).
[0162] When the empty point p in formula (6) corresponds to the first intermediate point c, and the spatial point q corresponds to the second intermediate point d, θ can be θ2. Then, by substituting the value of the first intermediate point c and the value of the second intermediate point d into formula (6), the value of the second joint angle θ2 can be obtained.
[0163] Therefore, in case (1), the values of the first joint angle, the second joint angle, and the third joint angle were determined respectively.
[0164] Figure 4 A flowchart illustrating the robot motion control method provided in this application embodiment. Figure 3 Alternatively, in case (2), And ξ2∥ξ1, that is, the axis of the second joint is not parallel to the axis of the third joint, and the axis of the second joint is parallel to the axis of the first joint. Then the objective function relationship is the function relationship related to the angle of the third joint in the reference function relationship.
[0165] When ξ2 is not parallel to ξ3 but is parallel to ξ1, it indicates that... and If the condition is met, i.e., x1 = y1 = 0, then formula (3) is transformed into the following formula (7):
[0166] x²sinθ³ + y²cosθ³ + z₁ = 0 (7)
[0167] Optionally, in step S102, determining the angle values of each joint of the three-axis robotic arm based on the positional relationship between the axes of each joint and the corresponding objective function relationship may include:
[0168] S401. Determine the value of the third joint angle based on the objective function relationship.
[0169] Formula (7) refers to the objective function relationship under case (2). Formula (7) is the trigonometric function equation of the third joint angle θ3. According to the trigonometric function relationship, if x2≠0, the third joint angle θ3 is obtained through... Solve; if y2≠0, the third joint angle θ3 passes through Please provide a solution.
[0170] S402. Determine the value of the first joint angle based on the value of the third joint angle and the functional relationship between the first joint angle and the third joint angle in the reference function relationship.
[0171] Optionally, the value of the third joint angle θ3 can be substituted into formula (4) of the reference function relationship, and formula (4) can be converted into a univariate trigonometric function equation for the first joint angle θ1. Similarly, the value of the first joint angle θ1 can be determined in case (1).
[0172] S403. Based on the values of the first joint angle and the third joint angle, determine the values of the first intermediate point and the second intermediate point respectively.
[0173] Based on the value of the first joint angle θ1 and the second function relationship corresponding to the second intermediate point d in the initial function relationship, the value of the second intermediate point can be determined. Similarly, based on the value of the third joint angle θ3 and the first function relationship corresponding to the first intermediate point c in the initial function relationship, the value of the first intermediate point can be determined.
[0174] S404. Determine the value of the second joint angle based on the value of the first intermediate point, the value of the second intermediate point, and the preset functional relationship between the spatial point, the joint axis, and the joint angle.
[0175] Substituting the values of the first intermediate point c and the second intermediate point d into formula (6), the second joint angle value θ2 under case (2) can be determined.
[0176] Figure 5 A flowchart illustrating the robot motion control method provided in this application embodiment. Figure 4 Optionally, in case (3), ξ2∥ξ3 and ξ2∥ξ1, that is, the second joint axis is parallel to the third joint axis and the second joint axis is parallel to the first joint axis, then the objective function relationship is the initial function relationship.
[0177] Unlike cases (1) and (2), in case (3), the objective function relationship can refer to the initial function relationship, that is, the first function relationship corresponding to the first intermediate point c and the second function relationship corresponding to the second intermediate point d.
[0178] When ξ2 is parallel to both ξ1 and ξ3, it indicates that... and The equation holds true, i.e., x1 = y1 = x2 = y2 = z1 = 0. Moreover, points c, d, p1, p2, p, and q are all located in the same plane P1. Formula (3) always holds true, while formula (4) is a bivariate trigonometric function equation for joint angles θ1 and θ3. This equation has two possible solutions: a unique solution or an infinite number of solutions.
[0179] Optionally, in step S102, determining the angle values of each joint of the three-axis robotic arm based on the positional relationship between the axes of each joint and the corresponding objective function relationship may include:
[0180] S501. Determine the position vector of the first intermediate point and the position vector of the second intermediate point when the functional relationship between the first joint angle and the third joint angle has a unique solution.
[0181] Figure 6 This is a schematic diagram of an inverse mathematical model provided in an embodiment of this application.
[0182] The case where there is only one solution is as follows: Figure 6 As shown, let l 12=||p1-p2||, l 23 =||p3-p2||, δ1=||q-p1||, δ3=||p-p3||.
[0183] exist Figure 6 In (a), it is assumed that l 12 >l 23 Therefore, when formula (4) has one and only one unique solution, it must satisfy the following formula (8).
[0184] l 12 -δ1=l 23 +δ3 (8)
[0185] Formula (8) represents the relationship between the radii of two adjacent circles when they are tangent. The position vectors of the first intermediate point c and the second intermediate point d are then expressed as c = p2 + (p3 - p2)(l 23 +δ3) / l 23 and d=p1+(p2-p1)δ1 / l 12 .
[0186] exist Figure 6 In (b), it is assumed that l 12 <l 23 Therefore, when formula (4) has one and only one unique solution, it must satisfy the following formula (9).
[0187] l 12 +δ1=l 23 -δ3 (9)
[0188] At this point, the position vectors of the first intermediate point c and the second intermediate point d are represented as c = p2 + (p3 - p2)(l 23 -δ3) / l 23 and d=p1+(p1-p2)δ1 / l 12 .
[0189] S502. Based on the position vector of the first intermediate point, the position vector of the second intermediate point, and the objective function relationship, determine the values of the first joint angle and the third joint angle, respectively.
[0190] Since, under condition (3), the objective function relationship includes: the first function relationship and the second function relationship, then, substituting the position vector of the first intermediate point c obtained above into the first function relationship... In this process, the value of the third joint angle θ3 can be calculated, and the position vector of the second intermediate point d can be substituted into the second functional relationship. From this, the value of the first joint angle θ1 can be calculated.
[0191] S503. Determine the value of the second joint angle based on the position vector of the first intermediate point, the position vector of the second intermediate point, and the preset functional relationship between the spatial point, the joint axis, and the joint angle.
[0192] Similarly, by substituting the position vectors of the first intermediate point c and the second intermediate point into formula (6), the value of the second joint angle θ2 in case (3) can be determined.
[0193] When the distance between the joint axes does not satisfy formulas (8) and (9), then formula (4) has infinite solutions.
[0194] Figure 7 A flowchart illustrating the robot motion control method provided in this application embodiment. Figure 5 Alternatively, in case (4), and That is, the axis of the second joint is not parallel to the axis of the third joint, and the axis of the second joint is not parallel to the axis of the first joint.
[0195] When ξ2 is neither parallel to ξ1 nor parallel to ξ3, it indicates that... and If the equation holds true, that is, the coefficients in formulas (3) and (4) are not 0. To derive the general case, we assume that the adjacent joint axes of the first joint axis, the second joint axis, and the third joint axis do not intersect. Then the objective function relationship is the function relationship related to the angle of the third joint in the benchmark function relationship.
[0196] When adjacent joint axes of the first joint axis, the second joint axis, and the third joint axis do not intersect, then x1y3-x3y1≠0 and x2y4-x4y2≠0 are satisfied. The first joint angle θ1 in formulas (3) and (4) is expressed by the third joint angle θ3, and the trigonometric function of the first joint angle θ1 is expressed by the following formula (10):
[0197]
[0198] The coefficients in the formula are
[0199] Formula (10) still contains equations for two joint angles, which facilitates the solution. Substituting formula (10) into sin 2 θ1+cos 2 θ1=1, so we can get formula (11):
[0200] (a1sinθ3+b1cosθ3+c1) 2 +(a²sinθ³ + b²cosθ³ + c²) 2 =1 (11)
[0201] Optionally, in step S102, determining the angle values of each joint of the three-axis robotic arm based on the positional relationship between the axes of each joint and the corresponding objective function relationship may include:
[0202] S701. Determine the value of the third joint angle based on the objective function relationship.
[0203] Formula (11) refers to the objective function relationship under case (4) where adjacent joint axes do not intersect. Formula (11) is the quadratic trigonometric function equation of the third joint angle θ3. Here, let t = tanθ3 / 2 half-angle formula, then sinθ3 = 2t / (1+t) 2 ) and cosθ3=(1-t 2 ) / (1+t 2 Substituting the expression into formula (11), we get the following formula (12):
[0204] m1t 4 +m2t 3 +m3t 2 +m4t+m5=0 (12)
[0205] In the formula, the coefficients are m1 = (b1 - c1). 2 +(b2-c2) 2 -1, m2=4[a1(c1-b1)+a2(c2-b2)], m3=2(2a1 2 +2a2 2 -b1 2 -b2 2 +c1 2 +c2 2 -1), m4=4[a1(b1+c1)+a2(b2+c2)], m5=(b1+c1) 2 +(b²+c²) 2 -1. At this point, formula (12) is a quartic equation for the variable t, which can be solved using the Ferrari method. Then, the third joint angle θ3 can be solved by θ3 = 2arctant.
[0206] S702. Determine the value of the first joint angle based on the value of the third joint angle and the functional relationship between the first joint angle and the third joint angle in the reference function relationship.
[0207] Optionally, by substituting the value θ3 of the third joint angle into formula (3) in the reference function relationship, the value θ1 of the first joint angle can be determined.
[0208] S703. Based on the values of the first joint angle and the third joint angle, determine the values of the first intermediate point and the second intermediate point respectively.
[0209] Based on the value of the first joint angle θ1 and the second function relationship corresponding to the second intermediate point d in the initial function relationship, the value of the second intermediate point can be determined. Similarly, based on the value of the third joint angle θ3 and the first function relationship corresponding to the first intermediate point c in the initial function relationship, the value of the first intermediate point can be determined.
[0210] S704. Determine the value of the second joint angle based on the value of the first intermediate point, the value of the second intermediate point, and the preset functional relationship between the spatial point, the joint axis, and the joint angle.
[0211] Substituting the values of the first intermediate point c and the second intermediate point d into formula (6), the second joint angle value θ2 under the condition that the adjacent joint axes do not intersect in case (4) can be determined.
[0212] Figure 8 A flowchart illustrating the robot motion control method provided in this application embodiment. Figure 6 Alternatively, in case (4), and That is, the axis of the second joint is not parallel to the axis of the third joint, and the axis of the second joint is not parallel to the axis of the first joint.
[0213] Furthermore, when the second joint axis ξ2 intersects the first joint axis ξ1, and the second reference point and the third reference point are intersection points, the target function relationship is the function relationship related to the third joint angle in the reference function relationship.
[0214] When two adjacent joint axes ξ1 and ξ2 intersect, and the reference points p1 and p2 are chosen as the intersection points, there exists x3 = y3 = 0. Then, formula (4) is transformed into the following formula (13):
[0215] x4sinθ3+y4cosθ3+z2=0 (13)
[0216] Optionally, in step S102, determining the angle values of each joint of the three-axis robotic arm based on the positional relationship between the axes of each joint and the corresponding objective function relationship may include:
[0217] S801. Determine the value of the third joint angle based on the objective function relationship.
[0218] Formula (13) refers to the objective function relationship when the first joint axis ξ1 and the second joint axis ξ2 intersect in case (4).
[0219] Formula (13) is the trigonometric function equation of the third joint angle θ3. According to the trigonometric relationship, if x4≠0, the third joint angle θ3 is obtained through... Solve; if y4≠0, the third joint angle θ3 passes through Please provide a solution.
[0220] S802. Determine the value of the first joint angle based on the value of the third joint angle and the functional relationship between the first joint angle and the third joint angle in the reference function relationship.
[0221] Optionally, the value of the third joint angle θ3 is substituted into formula (3) in the reference function relationship, and formula (3) is converted into a univariate trigonometric function equation of the first joint angle θ1, which can be solved to obtain the value of the first joint angle θ1.
[0222] S803. Based on the value of the third joint angle and the value of the first joint angle, determine the value of the first intermediate point and the value of the second intermediate point respectively.
[0223] Based on the value of the first joint angle θ1 and the second function relationship corresponding to the second intermediate point d in the initial function relationship, the value of the second intermediate point can be determined. Similarly, based on the value of the third joint angle θ3 and the first function relationship corresponding to the first intermediate point c in the initial function relationship, the value of the first intermediate point can be determined.
[0224] S804. Determine the value of the second joint angle based on the value of the first intermediate point, the value of the second intermediate point, and the preset functional relationship between the spatial point, the joint axis, and the joint angle.
[0225] Substituting the values of the first intermediate point c and the second intermediate point d into formula (6), the second joint angle value θ2 under the condition that the first joint axis ξ1 and the second joint axis ξ2 intersect in case (4) can be determined.
[0226] Figure 9 A flowchart illustrating the robot motion control method provided in this application embodiment. Figure 7 Alternatively, in case (4), and That is, the axis of the second joint is not parallel to the axis of the third joint, and the axis of the second joint is not parallel to the axis of the first joint.
[0227] If the axes of the first joint, the second joint, and the third joint intersect simultaneously, then the target function relationship is determined to be the function relationship related to the angle of the first joint in the reference function relationship.
[0228] When the three joint axes ξ1, ξ2 and ξ3 intersect, and the reference points p1, p2 and p3 are all chosen as intersection points, there exists x3 = y3 = x4 = y4 = 0, and formula (4) always holds true. Formula (3) is a bivariate trigonometric function equation of joint angles θ1 and θ3, which cannot be solved.
[0229] Therefore, for the case where the axes of the three joints intersect, it is necessary to select a special reference point for the solution, that is, first select a reference point p. 1 Only on the joint axis ξ3, there exists x2=y2=0, and formula (3) is transformed into the following formula (14):
[0230] x1sinθ1+y1cosθ1+z1=0 (14)
[0231] Optionally, in step S102, determining the angle values of each joint of the three-axis robotic arm based on the positional relationship between the axes of each joint and the corresponding objective function relationship may include:
[0232] S901. Determine the value of the first joint angle based on the objective function relationship.
[0233] Formula (14) refers to the objective function relationship when the three joint axes ξ1, ξ2 and ξ3 intersect in case (4).
[0234] Formula (14) is the trigonometric function equation of the first joint angle θ1, obtained through... Solve for the first joint angle θ1.
[0235] S902. Determine the value of the second joint angle based on the value of the first joint angle and the preset functional relationship between the first joint angle, the second joint angle, the first joint axis, the second joint axis, the new first reference point, and the target point; the new first reference point is a reference point located only on the third joint axis.
[0236] According to the principle of invariant position, there is a functional relationship. Heng was established.
[0237] Therefore, based on the value of the first joint angle θ1, and By calculating the equation relationship between the middle and right terms, the value of the second joint angle θ2 is obtained. Here, p is taken as the new first reference point p. 1 .
[0238] S903. Based on the values of the first joint angle, the second joint angle, and the preset functional relationship between the first joint angle, the second joint angle, the third joint angle, the first joint axis, the second joint axis, the third joint axis, the new second reference point, and the target point, determine the value of the third joint angle; the new second reference point is a reference point located on a non-third joint axis.
[0239] Choose a new second reference point p on a non-third joint axis ξ3. 2 And based on the values of the first joint angle θ1, the second joint angle θ2, and The value of the third joint angle θ3 can be calculated by using the equation relating the left and right terms. Here, p is taken as the new second reference point p. 2 .
[0240] Based on this, the values of the joint angles in case (4) when all three joint axes intersect can be calculated.
[0241] Through the analysis of the above four cases, the analytical values of the joint angles in each case can be solved, thus realizing the inverse kinematic solution of the RR three joints.
[0242] The following examples illustrate the inverse kinematics and simulation verification of this scheme when applied to RRR joints and robotic arms:
[0243] First, we will introduce some basic mathematical knowledge that may be involved. This part is generally known:
[0244] The physical meaning of the three-joint kinematic model based on spinor theory is clear: it represents the rotation or movement of a spatial point about the joint axis, as shown below:
[0245]
[0246] Under the same joint axis, by reversing the sequence of movements and changing the positions of the starting and ending points, formula (4-1) can be transformed into:
[0247]
[0248] Spatial point p rotates by an angle θ around the joint axis ξ to spatial point q, i.e. Converting homogeneous coordinates to spatial coordinates, we obtain formula (4-3):
[0249]
[0250] Where vector r represents any point r on the joint axis ξ. Rodriguez formula Substituting into formula (4-3), we get:
[0251] x sinθ + y cosθ + z = 0 (4-4)
[0252] in Because x T y=0 and x T x = y T The properties of y, the rotation angle θ can be obtained through and Please provide a solution.
[0253] The distance invariance principle is commonly applied when solving for the angles of revolute joints, often accompanied by squaring both sides of the equation. For example, if the distance between vectors s and t is δ, i.e., ||st||=δ, then squaring both sides of the equation easily yields ||s||. 2 +||t|| 2 +2t T s=δ 2 .
[0254] First: Simulation verification of the analytical inverse solution of the RRR subproblem
[0255] The above method embodiments analyze in detail the possible forms of the RRR subproblem and all its analytical inverse solutions. In this case (4), the joint axis ξ2 is neither parallel to ξ1 nor parallel to ξ3, and the adjacent joint axes do not intersect. The method is simulated to verify the correctness of the analytical solution.
[0256] Figure 10 This is a schematic diagram of a joint sampling point and inverse solution value provided in an embodiment of this application. Given a set of joint rotations and reference point positions that satisfy the joint axis relationships, the direction vectors of the three joint axes are ω1 = [1 0 1]. T ω2=[01 1] T And ω3=[2 1 0] T The reference point position vectors for the three rotational joints are p1 = [1 0 0]. T p2 = [5 0 0] T p3 = [0 5 0] T The position vector of the starting point p is p = [5 -10 -10]. T Given the range of motion of the three joints as follows: and Based on the given range of motion, 51 data points are uniformly sampled. The position of point q after point p moves around each joint is calculated using formula (4-1). The inverse kinematics (IK) of the three joints is then performed based on the position of point q, and the angle values of the IK are compared with the given sampled data points. It is important to note that the direction vector of each moving joint needs to be normalized before calculation, i.e., ω = ω / ||ω||. After calculating the IK values of the joints, the IK values need to be evaluated; if they do not meet the range constraints, they are discarded. The horizontal axis represents the sampled points, and the vertical axis represents the joint angles. The sampled points and IK values of the joints are as follows: Figure 10 As shown, the symbol "o" represents the sampling point of each joint, and the symbol "+" represents the inverse kinematics value of each joint. The curve marked with a triangle represents joint angle θ1, the curve marked with a circle represents joint angle θ2, and the curve marked with a square represents joint angle θ3. Figure 10 It can be seen that the sampling point is consistent with the inverse solution value, and there is no error in the theoretical calculation, which verifies the correctness of the analytical solution of the proposed RRR subproblem.
[0257] Second: Solving and Simulation Verification of Inverse Kinematics of the Robotic Arm
[0258] Figure 11 This is a schematic diagram of a robotic arm structure provided in an embodiment of this application. Taking a minimally invasive surgical robot with 11 degrees of freedom capable of performing minimally invasive surgery as an example, 4 degrees of freedom are redundant distal point position adjustment joints, 3 degrees of freedom are intra-abdominal position adjustment joints, and the 4 degrees of freedom include pitch, yaw, roll, and claw opening and closing. Figure 11 As shown in the figure, the screw coordinate system of each joint of the robotic arm is established based on screw theory, as shown in the following formula (4-5):
[0259]
[0260] The reference points for the axes of each rotary joint are:
[0261]
[0262] The initial pose of the robotic arm tool coordinate system relative to the inertial coordinate system is:
[0263] g sti (0) = [I 3×3 (a 2i +a 3i +d 5i cosα 4i 0d 1i -d 5i sinα 4i -a9) T ;0 3×1 1] (4-7)
[0264] The pose transformation of the tool coordinate system relative to the inertial coordinate system after rigid body motion is as follows:
[0265]
[0266] Since the distal point remains unchanged during the operation, the first four degrees of freedom remain stationary during the operation, and their corresponding joint angles can be read by the encoder. Formula (4-8) can be transformed into:
[0267]
[0268] The right side of formula (4-9) is the product of six-joint transformation matrices. Since the six-joint transformation matrix cannot be solved, it is decomposed into the product of two three-joint transformation matrices. The transformation matrices of joints 8 to 10 are then moved to the left side of formula (4-9) by multiplying them on the right by their inverses. Formula (4-9) is then transformed into:
[0269]
[0270] The right side of formula (4-10) is the transformation matrix for joints 5 to 7. Since joints 5 to 7 are three rotational joints that intersect at a single point, according to the principle of position invariance, both sides of formula (4-10) are multiplied by the homogeneous coordinates of the intersection point p5 of the axes of joints 5 to 7. make Formula (4-10) is converted to:
[0271]
[0272] Formula (4-10) is in the form of an RRT subproblem. Here, joints 8, 9, and 10 are perpendicular to each other (joints 9 and 10 intersect each other, and joints 8 and 9 are perpendicular to each other). The second case of the RRT subproblem can be applied to solve the angle values of joints 10, 8, and 9 sequentially. Substituting the solution into formula (4-10) transforms it into solving an RRR subproblem. Furthermore, there is no fixed homogeneous coordinate reference point in the formula. Joints 5 to 7 intersect at a single point and satisfy the condition that adjacent joint axes are perpendicular and not parallel. The fourth case of the RRR subproblem can be used to solve the angle values of joints 5, 6, and 7 sequentially.
[0273] Figure 12 This diagram illustrates another joint sampling point and inverse solution value provided in an embodiment of this application. To verify the correctness of the inverse solution method, the given structural parameter value of the robotic arm is d. 1i =1000mm, a 2i =500mm, a 3i =500mm, α 4i =π / 4rad, d 5i=800mm. Given the angles of the passive joints of the robotic arm as θ1 = 200mm, θ2 = π / 9rad, θ3 = -π / 18rad, θ4 = -π / 18rad. The range of motion of the active joints is θ5 ∈ [-π / 2, π / 2]rad, θ6 ∈ [-π / 4, π / 2]rad, θ7 ∈ (-π, π]rad. The motion curve of the active joint is... The range of motion of the surgical instrument joint is θ8∈[100,300]mm, θ9∈(-π / 2,π / 2)rad, θ 10 ∈(-π / 2,π / 2)rad. The motion curve of the surgical instrument joint is θ8=4(x-1)+100mm. like Figure 12 As shown, the symbol "o" represents the sampling point of each joint, and the symbol "+" represents the inverse solution value of each joint. Using the ordinate (the ordinate where the joint angle is located) as the reference, the curves from bottom to top represent joint angles θ8, θ6, θ7, and θ8, respectively. 10 Joint angles θ5 and θ9. As shown in Figure 12, the sampling points of the active joints of the robotic arm are consistent with the inverse solution values, and there is no error in the theoretical calculation. This verifies the correctness of the application of analytical solutions to the RRR and RRT subproblems in the inverse solution of the robotic arm joints.
[0274] In summary, the robot motion control method provided in this embodiment, through geometric constraint functions, algebraic constraint functions, and initial function relationships, can derive the target function relationships corresponding to the positional relationships of the joint axes of a three-axis robotic arm. Therefore, based on the positional relationships of the joint axes in the three-axis robotic arm to be controlled, the inverse kinematics solution can be performed using the target function relationships corresponding to the positional relationships to obtain the values of the joint angles in the three-axis robotic arm. Based on the values of the joint angles, the robot's motion control is achieved. Specifically, given a fixed structure of the robot to be controlled, an initial function relationship can be obtained. Based on the initial function relationship and constraint functions, a reference function relationship can be obtained. By transforming the reference function relationship under different joint axis positional relationships, target function relationships under different positional relationships can be obtained. This transforms the motion control problem into a mathematical problem for solution, effectively solving the inverse kinematics problem of a three-joint robot and achieving an efficient inverse kinematics solution process.
[0275] The following describes the apparatus, device, and storage medium used to execute the robot motion control method provided in this application. The specific implementation process and technical effects are described above and will not be repeated below.
[0276] Figure 13This is a schematic diagram of a robot motion control device provided in an embodiment of this application. The functions implemented by this robot motion control device correspond to the steps executed by the above-described method. This device can be understood as the aforementioned processing equipment, such as... Figure 13 As shown, the device may include: a receiving module 110, a determining module 120, and a control module 130;
[0277] The receiving module 110 is used to receive control commands, including the target point to be reached by the end of the robot body;
[0278] The determination module 120 is used to determine the values of the angles of each joint of the three-axis robotic arm based on the positional relationship of each joint axis and the corresponding objective function relationship. The objective function relationship is obtained based on the reference function relationship, which is constructed based on the initial function relationship between the intermediate point and the target point, the current starting point of the robot body's end effector, and the angles of each joint of the three-axis robotic arm, as well as preset geometric constraint functions and preset algebraic constraint functions. The intermediate point includes the points that the robot body's end effector passes through during its movement from the starting point to the target point. The reference function relationship is used to characterize the relationship between the first joint angle of the first rotary joint and the third joint angle of the third rotary joint.
[0279] The control module 130 is used to control each joint in the three-axis robotic arm to run according to the corresponding joint angle value, so that the end of the robot body moves from the starting point to the target point.
[0280] Optionally, the initial functional relationship includes: the first functional relationship corresponding to the first intermediate point and the second functional relationship corresponding to the second intermediate point;
[0281] The first functional relationship is used to characterize the relationship between the first intermediate point and the starting point, the third reference point, the third direction vector and the third joint angle. The third reference point is the reference point on the joint axis of the third rotary joint, the third direction vector is the direction vector of the joint axis of the third rotary joint, and the third joint angle is the angle of rotation of the third rotary joint during the process of the end of the robot body moving from the starting point to the target point.
[0282] The second functional relationship is used to characterize the relationship between the second intermediate point and the target point, the first reference point, the first direction vector, and the first joint angle; the first reference point is the reference point on the joint axis of the first rotary joint, the first direction vector is the direction vector of the joint axis of the first rotary joint, and the first joint angle is the angle rotated by the first rotary joint during the process of the end of the robot body moving from the starting point to the target point.
[0283] Optionally, if the axis of the second joint is parallel to the axis of the third joint, and the axis of the second joint is not parallel to the axis of the first joint, then the objective function relationship is the function relationship related to the angle of the first joint in the reference function relationship;
[0284] Module 120 is specifically used to determine the value of the first joint angle based on the objective function relationship;
[0285] The value of the third joint angle is determined based on the value of the first joint angle and the functional relationship between the first joint angle and the third joint angle in the reference function relationship;
[0286] Based on the values of the first joint angle and the third joint angle, determine the values of the first intermediate point and the second intermediate point respectively;
[0287] The value of the second joint angle is determined based on the value of the first intermediate point, the value of the second intermediate point, and the preset functional relationship between the spatial point, the joint axis, and the joint angle.
[0288] Optionally, if the axis of the second joint is not parallel to the axis of the third joint, and the axis of the second joint is parallel to the axis of the first joint, then the objective function relationship is the function relationship related to the angle of the third joint in the reference function relationship;
[0289] Module 120 is specifically used to determine the value of the third joint angle based on the objective function relationship;
[0290] The value of the first joint angle is determined based on the value of the third joint angle and the functional relationship between the first joint angle and the third joint angle in the reference function relationship;
[0291] Based on the values of the first joint angle and the third joint angle, determine the values of the first intermediate point and the second intermediate point respectively;
[0292] The value of the second joint angle is determined based on the value of the first intermediate point, the value of the second intermediate point, and the preset functional relationship between the spatial point, the joint axis, and the joint angle.
[0293] Optionally, if the axis of the second joint is parallel to the axis of the third joint, and the axis of the second joint is parallel to the axis of the first joint, then the objective function relationship is the initial function relationship;
[0294] The determination module 120 is specifically used to determine the position vector of the first intermediate point and the position vector of the second intermediate point when the functional relationship between the first joint angle and the third joint angle has a unique solution.
[0295] Based on the position vector of the first intermediate point, the position vector of the second intermediate point, and the objective function relationship, determine the values of the first joint angle and the third joint angle respectively;
[0296] The value of the second joint angle is determined based on the position vector of the first intermediate point, the position vector of the second intermediate point, and the preset functional relationship between the spatial point, the joint axis, and the joint angle.
[0297] Optionally, if the second joint axis is not parallel to the third joint axis, and the second joint axis is not parallel to the first joint axis, and the adjacent joint axes of the first joint axis, the second joint axis, and the third joint axis do not intersect, then the objective function relationship is the function relationship related to the third joint angle in the reference function relationship;
[0298] Module 120 is specifically used to determine the value of the third joint angle based on the objective function relationship;
[0299] The value of the first joint angle is determined based on the value of the third joint angle and the functional relationship between the first joint angle and the third joint angle in the reference function relationship;
[0300] Based on the values of the first joint angle and the third joint angle, determine the values of the first intermediate point and the second intermediate point respectively;
[0301] The value of the second joint angle is determined based on the value of the first intermediate point, the value of the second intermediate point, and the preset functional relationship between the spatial point, the joint axis, and the joint angle.
[0302] Optionally, if the second joint axis is not parallel to the third joint axis, and the second joint axis is not parallel to the first joint axis, and the second joint axis intersects the first joint axis, and the second reference point and the third reference point are intersection points, then the objective function relationship is the function relationship related to the third joint angle in the reference function relationship;
[0303] Module 120 is specifically used to determine the value of the third joint angle based on the objective function relationship;
[0304] The value of the first joint angle is determined based on the value of the third joint angle and the functional relationship between the first joint angle and the third joint angle in the reference function relationship;
[0305] Based on the values of the third joint angle and the first joint angle, determine the values of the first midpoint and the second midpoint respectively;
[0306] The value of the second joint angle is determined based on the value of the first intermediate point, the value of the second intermediate point, and the preset functional relationship between the spatial point, the joint axis, and the joint angle.
[0307] Optionally, if the second joint axis is not parallel to the third joint axis, and the second joint axis is not parallel to the first joint axis, and the first joint axis, the second joint axis, and the third joint axis intersect simultaneously, then the target function relationship is determined to be the function relationship related to the first joint angle in the reference function relationship;
[0308] Module 120 is specifically used to determine the value of the first joint angle based on the objective function relationship;
[0309] The value of the second joint angle is determined based on the value of the first joint angle and the preset functional relationship between the first joint angle, the second joint angle, the first joint axis, the second joint axis, the new first reference point, and the target point; the new first reference point is a reference point located only on the third joint axis.
[0310] The value of the third joint angle is determined based on the values of the first joint angle, the second joint angle, the preset first joint angle, the second joint angle, the third joint angle, the first joint axis, the second joint axis, the third joint axis, the new second reference point, and the target point; the new second reference point is a reference point located on a non-third joint axis.
[0311] The above-described device is used to execute the method provided in the foregoing embodiments, and its implementation principle and technical effect are similar, so they will not be described again here.
[0312] These modules can be one or more integrated circuits configured to implement the above methods, such as one or more Application Specific Integrated Circuits (ASICs), one or more digital signal processors (DSPs), or one or more Field Programmable Gate Arrays (FPGAs). Alternatively, when a module is implemented using processing element scheduler code, the processing element can be a general-purpose processor, such as a Central Processing Unit (CPU) or other processor capable of calling program code. Furthermore, these modules can be integrated together as a system-on-a-chip (SOC).
[0313] The modules described above can be connected or communicate with each other via wired or wireless connections. Wired connections can include metal cables, optical fibers, hybrid cables, or any combination thereof. Wireless connections can include connections via LAN, WAN, Bluetooth, ZigBee, or NFC, or any combination thereof. Two or more modules can be combined into a single module, and any module can be divided into two or more units. Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems and devices described above can be referred to the corresponding processes in the method embodiments, and will not be repeated here.
[0314] Figure 14 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. This device can refer to the processing device in a robot control system.
[0315] The device may include: a processor 801 and a storage medium 802.
[0316] Storage medium 802 is used to store programs, and processor 801 calls the programs stored in storage medium 802 to execute the above method embodiments. The specific implementation and technical effects are similar, and will not be described in detail here.
[0317] The storage medium 802 stores program code, which, when executed by the processor 801, causes the processor 801 to perform various steps in the methods according to various exemplary embodiments of this application described in the "Exemplary Methods" section above.
[0318] The processor 801 can be a general-purpose processor, such as a central processing unit (CPU), digital signal processor (DSP), application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), or other programmable logic device, discrete gate or transistor logic device, or discrete hardware component, capable of implementing or executing the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly manifested as being executed by a hardware processor, or executed by a combination of hardware and software modules within the processor.
[0319] Storage medium 802, as a non-volatile computer-readable storage medium, can be used to store non-volatile software programs, non-volatile computer-executable programs, and modules. The storage medium can include at least one type of storage medium, such as flash memory, hard disk, multimedia card, card-type storage medium, random access memory (RAM), static random access memory (SRAM), programmable read-only memory (PROM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), magnetic storage medium, magnetic disk, optical disk, etc. The storage medium is any other medium capable of carrying or storing desired program code in the form of instructions or data structures that can be accessed by a computer, but is not limited thereto. In the embodiments of this application, storage medium 802 can also be a circuit or any other device capable of implementing storage functions for storing program instructions and / or data.
[0320] Optionally, this application also provides a program product, such as a computer-readable storage medium, including a program that, when executed by a processor, performs the above-described method embodiments.
[0321] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0322] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0323] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or in a combination of hardware and software functional units.
[0324] The integrated units implemented as software functional units described above can be stored in a computer-readable storage medium. These software functional units, stored in a storage medium, include several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute some steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
Claims
1. A robot motion control method, characterized in that, A processing device used in a robot control system, the robot control system including the processing device and a robot body, the robot body including a three-axis robotic arm, the three-axis robotic arm including a first rotary joint, a second rotary joint and a third rotary joint; The method includes: Receive control commands, the control commands including: the target point to which the end effector of the robot body is to run; Based on the positional relationship of the axes of each joint of the three-axis robotic arm and the corresponding objective function relationship, the values of the angles of each joint of the three-axis robotic arm are determined. The objective function relationship is obtained based on a reference function relationship, which is constructed based on the initial function relationship between the intermediate point and the target point, the current starting point of the robot's end effector, and the angles of each joint of the three-axis robotic arm, as well as preset geometric constraint functions and preset algebraic constraint functions. The intermediate point includes the points traversed by the robot's end effector as it moves from the starting point to the target point. The reference function relationship characterizes the relationship between the first joint angle of the first rotary joint and the third joint angle of the third rotary joint. The objective function relationship is obtained by transforming the reference function relationship. Control each joint in the three-axis robotic arm to operate according to the corresponding joint angle value, so that the end of the robot body moves from the starting point to the target point; The initial functional relationship includes: the first functional relationship corresponding to the first intermediate point and the second functional relationship corresponding to the second intermediate point; The first functional relationship is used to characterize the relationship between the first intermediate point and the starting point, the third reference point, the third direction vector and the third joint angle. The third reference point is a reference point on the joint axis of the third rotary joint, the third direction vector is the direction vector of the joint axis of the third rotary joint, and the third joint angle is the angle of rotation of the third rotary joint during the process of the end of the robot body moving from the starting point to the target point. The second functional relationship is used to characterize the relationship between the second intermediate point and the target point, the first reference point, the first direction vector, and the first joint angle; the first reference point is a reference point on the joint axis of the first rotary joint, the first direction vector is the direction vector of the joint axis of the first rotary joint, and the first joint angle is the angle rotated by the first rotary joint during the process of the end of the robot body moving from the starting point to the target point.
2. The method according to claim 1, characterized in that, If the axis of the second joint is parallel to the axis of the third joint, and the axis of the second joint is not parallel to the axis of the first joint, then the target function relationship is the function relationship related to the angle of the first joint in the reference function relationship; The step of determining the angle values of each joint of the three-axis robotic arm based on the positional relationship of the axes of each joint and the objective function relationship corresponding to the positional relationship includes: The value of the first joint angle is determined based on the objective function relationship; The value of the third joint angle is determined based on the value of the first joint angle and the functional relationship between the first joint angle and the third joint angle in the reference function relationship; Based on the values of the first joint angle and the third joint angle, the values of the first intermediate point and the second intermediate point are determined respectively. The value of the second joint angle is determined based on the value of the first intermediate point, the value of the second intermediate point, and the preset functional relationship between the spatial point, the joint axis, and the joint angle.
3. The method according to claim 1, characterized in that, If the axis of the second joint is not parallel to the axis of the third joint, and the axis of the second joint is parallel to the axis of the first joint, then the target function relationship is the function relationship related to the angle of the third joint in the reference function relationship; The step of determining the angle values of each joint of the three-axis robotic arm based on the positional relationship of the axes of each joint and the objective function relationship corresponding to the positional relationship includes: Based on the objective function relationship, determine the value of the third joint angle; The value of the first joint angle is determined based on the value of the third joint angle and the functional relationship between the first joint angle and the third joint angle in the reference function relationship; Based on the values of the first joint angle and the third joint angle, the values of the first intermediate point and the second intermediate point are determined respectively. The value of the second joint angle is determined based on the value of the first intermediate point, the value of the second intermediate point, and the preset functional relationship between the spatial point, the joint axis, and the joint angle.
4. The method according to claim 1, characterized in that, If the axis of the second joint is parallel to the axis of the third joint, and the axis of the second joint is parallel to the axis of the first joint, then the objective function relationship is the initial function relationship; The step of determining the angle values of each joint of the three-axis robotic arm based on the positional relationship of the axes of each joint and the objective function relationship corresponding to the positional relationship includes: When the functional relationship between the first joint angle and the third joint angle has a unique solution, determine the position vector of the first intermediate point and the position vector of the second intermediate point; Based on the position vector of the first intermediate point, the position vector of the second intermediate point, and the objective function relationship, the values of the first joint angle and the third joint angle are determined respectively. The value of the second joint angle is determined based on the position vector of the first intermediate point, the position vector of the second intermediate point, and the preset functional relationship between the spatial point, the joint axis, and the joint angle.
5. The method according to claim 1, characterized in that, If the second joint axis is not parallel to the third joint axis, and the second joint axis is not parallel to the first joint axis, and adjacent joint axes among the first joint axis, the second joint axis, and the third joint axis do not intersect, then the target function relationship is the function relationship related to the third joint angle in the reference function relationship; The step of determining the angle values of each joint of the three-axis robotic arm based on the positional relationship of the axes of each joint and the objective function relationship corresponding to the positional relationship includes: Based on the objective function relationship, determine the value of the third joint angle; The value of the first joint angle is determined based on the value of the third joint angle and the functional relationship between the first joint angle and the third joint angle in the reference function relationship; Based on the values of the first joint angle and the third joint angle, the values of the first intermediate point and the second intermediate point are determined respectively. The value of the second joint angle is determined based on the value of the first intermediate point, the value of the second intermediate point, and the preset functional relationship between the spatial point, the joint axis, and the joint angle.
6. The method according to claim 1, characterized in that, If the second joint axis is not parallel to the third joint axis, and the second joint axis is not parallel to the first joint axis, and the second joint axis intersects the first joint axis, and the second reference point and the third reference point are intersection points, then the target function relationship is the function relationship related to the third joint angle in the benchmark function relationship; The step of determining the angle values of each joint of the three-axis robotic arm based on the positional relationship of the axes of each joint and the objective function relationship corresponding to the positional relationship includes: Based on the objective function relationship, determine the value of the third joint angle; The value of the first joint angle is determined based on the value of the third joint angle and the functional relationship between the first joint angle and the third joint angle in the reference function relationship; Based on the value of the third joint angle and the value of the first joint angle, the value of the first midpoint and the value of the second midpoint are determined respectively. The value of the second joint angle is determined based on the value of the first intermediate point, the value of the second intermediate point, and the preset functional relationship between the spatial point, the joint axis, and the joint angle.
7. The method according to claim 1, characterized in that, include: If the second joint axis is not parallel to the third joint axis, and the second joint axis is not parallel to the first joint axis, and the first joint axis, the second joint axis, and the third joint axis all intersect, then the target function relationship is determined to be the function relationship related to the first joint angle in the reference function relationship; The step of determining the angle values of each joint of the three-axis robotic arm based on the positional relationship of the axes of each joint and the objective function relationship corresponding to the positional relationship includes: Based on the objective function relationship, determine the value of the first joint angle; The value of the second joint angle is determined based on the value of the first joint angle and the preset functional relationship between the first joint angle, the second joint angle, the first joint axis, the second joint axis, the new first reference point, and the target point; the new first reference point is a reference point located only on the third joint axis. The value of the third joint angle is determined based on the value of the first joint angle, the value of the second joint angle, and the preset functional relationship between the first joint angle, the second joint angle, the third joint angle, the first joint axis, the second joint axis, the third joint axis, the new second reference point, and the target point; the new second reference point is a reference point located on a point other than the third joint axis.
8. An electronic device, characterized in that, include: The device includes a processor, a storage medium, and a bus. The storage medium stores program instructions executable by the processor. When the electronic device is running, the processor communicates with the storage medium via the bus, and the processor executes the program instructions to perform the steps of the robot motion control method as described in any one of claims 1 to 7.
9. A computer-readable storage medium, characterized in that, The storage medium stores a computer program, which, when executed by a processor, performs the steps of the robot motion control method as described in any one of claims 1 to 7.
Citation Information
Patent Citations
Inverse kinematics solving method for any three joints
CN108763151A