A method, apparatus, equipment, and medium for solving the inverse kinematics of a single-rope suspended robotic arm.
By acquiring the current joint angle sequence of the robotic arm and performing iterative adjustment of the Jacobian matrix, the stability and accuracy problems of a single-rope suspended robotic arm were solved, achieving efficient motion planning and center of mass compensation, thus improving the accuracy of the end effector and the stability of the system.
Patent Information
- Application Number
- CN202410415086.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-04-08
- Publication Date
- 2025-12-02
- Estimated Expiration
- 2044-04-08
AI Technical Summary
In existing technologies, the motion stability and accuracy of single-rope suspended robotic arms are insufficient, especially in applications such as drones and cranes, where the instability of the robotic arm base leads to poor precision in end-effector operations.
By acquiring the current joint angle sequence of the robotic arm, its position, attitude, and center of mass position in the base coordinate system are calculated and transformed to the world coordinate system. The error between the position and the target position is calculated, and the Jacobian matrix is used for iterative adjustment to achieve efficient motion planning and center of mass compensation, thereby improving stability and accuracy.
It enhances the efficient motion planning of the end effector of the single-rope redundant robotic arm, improves the accuracy of the end effector reaching the designated position and posture, optimizes the control of the center of mass position, enhances the stability and accuracy of the overall system, and avoids the need for an additional counterweight mechanism.
Smart Images

Figure CN118357914B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of robotic arm technology, and more specifically, to a method, apparatus, equipment, and medium for solving the inverse kinematics of a single-rope suspended robotic arm. Background Technology
[0002] With the rapid development of drones and cranes, cable-suspended robotic arm technology has become a research hotspot. This technology suspends the robotic arm's base from a drone or crane using cables, leveraging the flexibility and deformability of the cables to allow the robotic arm to enter hard-to-reach areas to perform tasks. Such robotic arms have shown broad prospects in complex environments such as environmental monitoring, special operations, and even deep well rescue. However, the instability of the robotic arm's base poses a challenge to the accuracy of end-effector manipulation. Solving inverse kinematics to achieve the required precision in desired position and orientation has become crucial for technological development.
[0003] While past technological solutions in this field have attempted to improve operational accuracy and stability by adding counterweights, adjusting the attitude of the suspension platform, or utilizing propeller thrust to counteract the effects of gravitational torque, these methods, while mitigating disturbances caused by the movement of the center of mass to some extent, also introduce problems such as increased system weight, reliance on additional energy, and complex control systems. Furthermore, strategies to improve the stability of the robotic arm by adjusting the suspension point position and cable length also face the risks of mechanical failure and response time delays. Although solutions such as symmetrical structural designs and high-rigidity suspension platforms have been adopted to mitigate disturbances, these methods often focus on additional structural improvements and neglect the motion planning of the robotic arm itself, resulting in the existing technological shortcomings of low stability and accuracy. Summary of the Invention
[0004] To overcome the problems of low motion stability and low accuracy of existing robotic arms, this invention proposes the following technical solution:
[0005] In the first aspect, the present invention proposes a method for solving the inverse kinematics of a single-rope suspended manipulator, including: S1: obtaining the current joint angle sequence of the manipulator.
[0006] S2: Calculate the position, orientation, and center of mass of the robotic arm in the base coordinate system based on the current joint angle sequence.
[0007] S3: Convert the position, attitude, and center of mass of the robotic arm in the base coordinate system to the current position, attitude, and center of mass in the world coordinate system.
[0008] S4: Calculate the error between the current position, current attitude, and current centroid position and the target position, target attitude, and target centroid position.
[0009] S5: Determine whether the error is less than the set value. If yes, output the current joint angle sequence of the robotic arm as the target critical angle sequence. If no, execute S6.
[0010] S6: Calculate the Jacobian matrix of the robotic arm, use the Jacobian matrix to correct the current joint angle sequence of the robotic arm, and return to execute S1.
[0011] As a preferred technical solution, in S3, a centroid sway compensation algorithm is used to correct the position, attitude, and centroid position of the robotic arm in the base coordinate system, thereby obtaining the current position, current attitude, and current centroid position of the robotic arm in the world coordinate system, including:
[0012] S3.1: Based on the positions of the centers of mass of each joint of the robotic arm in the base coordinate system and the mass of each joint, calculate the position of the center of mass of the robotic arm in the base coordinate system. b c.
[0013] S3.2: Based on the vector formed by the line connecting the robotic arm's suspension point and its center of mass. And the vertically downward vector of the robotic arm's suspension point. Calculate the base rotation angle β and the rotation vector.
[0014] S3.3: Based on the base rotation angle β and rotation vector Calculate the homogeneous transformation matrix from the base coordinate system to the world coordinate system. W T B .
[0015] S3.4: Based on the homogeneous transformation matrix W T B The position, orientation, and center of mass of the robotic arm are corrected to obtain the current position, orientation, and center of mass of the robotic arm in the world coordinate system. w p end , w R end , w c).
[0016] As a preferred technical solution, in S3.1, the position of the center of mass of the robotic arm in the base coordinate system is calculated according to the following formula. b c:
[0017]
[0018] Where n represents the number of joints in the robotic arm. b c i Let m represent the position of the centroid of the i-th joint of the robotic arm in the base coordinate system. i Let represent the mass of the i-th joint of the robotic arm.
[0019] As a preferred technical solution, in S3.2, the base rotation angle β and the rotation vector are calculated according to the following formula.
[0020]
[0021]
[0022] As a preferred technical solution, in S3.3, the homogeneous transformation matrix from the base coordinate system to the world coordinate system is calculated according to the following formula. W T B Its expression is as follows:
[0023]
[0024] B = 1 - cosβ
[0025] Where, r x r y and r z They are rotation vectors The x, y, and z components in the world coordinate system.
[0026] As a preferred technical solution, in S6, the expression for calculating the Jacobian matrix of the robotic arm is as follows:
[0027]
[0028] in, W a i (i = 1, 2, ..., n) represents the rotation vector of each joint of the robotic arm in the world coordinate system. W p i (i = 1, 2, ..., n) represents the position of each joint of the robotic arm in the world coordinate system. W c represents the position of the robot arm's center of mass in the world coordinate system, q i (i = 1, 2, ..., n) represents the current joint angle sequence of the robotic arm.
[0029] As a preferred technical solution, S4, according to the following formula, calculate the error (Δp, ΔR, Δc) between the current position, current posture, and current center of mass position of the robotic arm and the target position, target posture, and target center of mass position:
[0030] (Δp, ΔR, Δc)=(p target - w p endd , w R end T R target c target- w c end )
[0031] Where, p target R target and c target These are the target position, target orientation, and target center of mass position of the robotic arm, respectively. w p end , w R end and w c end These represent the current position, current posture, and current center of mass of the robotic arm, respectively.
[0032] Secondly, the present invention also proposes an inverse kinematics solving device for a single-rope suspended manipulator, applied to the inverse kinematics solving method for a single-rope suspended manipulator as described in any of the embodiments of the first aspect, comprising:
[0033] The acquisition module is used to acquire the current joint angle sequence of the robotic arm.
[0034] The first calculation module is used to calculate the position, orientation, and center of mass of the robotic arm in the base coordinate system based on the current joint angle sequence.
[0035] The conversion module is used to convert the position, orientation, and center of mass of the robotic arm in the base coordinate system into its current position, orientation, and center of mass in the world coordinate system.
[0036] The second calculation module is used to calculate the error between the current position, current attitude, and current centroid position and the target position, target attitude, and target centroid position.
[0037] The judgment module is used to determine whether the error amount is less than a set value. If it is, the current joint angle sequence of the robotic arm is output as the target critical angle sequence. If not, the second calculation module is called.
[0038] The second calculation module is used to calculate the Jacobian matrix of the robotic arm and use the Jacobian matrix to correct the current joint angle sequence of the robotic arm.
[0039] Thirdly, the present invention also proposes an electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to perform the operations performed by the inverse kinematics solution method for a single-rope suspended manipulator as described in any of the embodiments of the first aspect.
[0040] In a fourth aspect, the present invention also proposes a computer-readable storage medium storing a program that is executed by a processor as described in any of the embodiments of the first aspect for solving the inverse kinematics of a single-rope suspended manipulator.
[0041] The beneficial effects of the present invention include at least the following:
[0042] This invention acquires the current joint angle sequence of the robotic arm, calculates its position, attitude, and center of mass position in the base coordinate system, transforms them to the world coordinate system, and then calculates the error between the target position and the target position. Based on the magnitude of the error, it determines whether the joint angles need to be adjusted based on the Jacobian matrix, thereby iteratively approaching the target state. This increases the system's adaptability to changing environments and dynamic targets, improves the accuracy of the end effector reaching the specified position and attitude, and not only enables efficient motion planning for the end effector of a single-rope redundant robotic arm without the need for additional counterweight or actuator mechanisms, but also significantly optimizes the control of the center of mass position under quasi-static conditions through pre-compensation of the center of mass, thereby enhancing the overall system's stability and accuracy. Attached Figure Description
[0043] Figure 1 This is a flowchart illustrating the inverse kinematics solution method for a single-rope suspended robotic arm provided in an embodiment of this application.
[0044] Figure 2 This is a schematic diagram of a constrained robotic arm example model provided in an embodiment of this application.
[0045] Figure 3 This is a schematic diagram of the centroid deflection compensation model provided in the embodiments of this application.
[0046] Figure 4 This is a schematic diagram of the inverse kinematics solving device for a single-rope suspended robotic arm provided in an embodiment of this application.
[0047] Figure 5 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0048] The embodiments of the present invention will be described below with reference to the accompanying drawings and preferred technical solutions. Those skilled in the art can easily understand other advantages and effects of the present invention from the content disclosed in this specification. The present invention can also be implemented or applied through other different specific embodiments, and various details in this specification can also be modified or changed based on different viewpoints and applications without departing from the spirit of the present invention. It should be understood that the preferred technical solutions are only for illustrating the present invention and not for limiting the scope of protection of the present invention.
[0049] It should be noted that the illustrations provided in the following embodiments are only schematic representations of the basic concept of the present invention. Therefore, the drawings only show the components related to the present invention and are not drawn according to the actual number, shape and size of the components in the actual implementation. In the actual implementation, the form, quantity and proportion of each component can be arbitrarily changed, and the layout of the components may also be more complex.
[0050] In the following description, numerous details are explored to provide a more thorough explanation of embodiments of the invention. However, it will be apparent to those skilled in the art that embodiments of the invention may be practiced without these specific details. In other embodiments, well-known structures and devices are shown in block diagram form rather than in detail to avoid obscuring embodiments of the invention.
[0051] Inverse kinematics solution refers to the process of calculating the joint angles that make the tool coordinate system reach the desired requirements relative to the base coordinate system based on the desired position and orientation.
[0052] Example 1
[0053] This embodiment provides a method for solving the inverse kinematics of a single-rope suspended robotic arm. Specifically... Figure 1 This is a flowchart illustrating the inverse kinematics solution method for a single-rope suspended manipulator provided in this application embodiment. The inverse kinematics solution method for a single-rope suspended manipulator includes the following steps:
[0054] S1: Obtain the current joint angle sequence of the robotic arm.
[0055] S2: Calculate the position, orientation, and center of mass of the robotic arm in the base coordinate system based on the current joint angle sequence.
[0056] S3: Convert the position, attitude, and center of mass of the robotic arm in the base coordinate system to the current position, attitude, and center of mass in the world coordinate system.
[0057] Optionally, in one embodiment of this application, a centroid yaw compensation algorithm is used to correct the position, attitude, and centroid position of the robotic arm in the base coordinate system to obtain the current position, current attitude, and current centroid position of the robotic arm in the world coordinate system, including:
[0058] S3.1: Based on the positions of the centers of mass of each joint of the robotic arm in the base coordinate system and the mass of each joint, calculate the position of the center of mass of the robotic arm in the base coordinate system. b c.
[0059] Optionally, in one embodiment of this application, the position of the robot arm's center of mass in the base coordinate system is calculated according to the following formula. b c:
[0060]
[0061] Where n represents the number of joints in the robotic arm. b c i Let m represent the position of the centroid of the i-th joint of the robotic arm in the base coordinate system. i Let represent the mass of the i-th joint of the robotic arm.
[0062] S3.2: Based on the vector formed by the line connecting the robotic arm's suspension point and its center of mass. And the vertically downward vector of the robotic arm's suspension point. Calculate the base rotation angle β and the rotation vector.
[0063] Optionally, in one embodiment of this application, the base rotation angle β and the rotation vector are calculated according to the following formula.
[0064]
[0065]
[0066] S3.3: Based on the base rotation angle β and rotation vector Calculate the homogeneous transformation matrix from the base coordinate system to the world coordinate system. W T B .
[0067] Optionally, in one embodiment of this application, the homogeneous transformation matrix from the base coordinate system to the world coordinate system is calculated according to the following formula. W T B Its expression is as follows:
[0068]
[0069] B = 1 - cosβ
[0070] Where, r x r y and r z They are rotation vectors The x, y, and z components in the world coordinate system.
[0071] S3.4: Based on the homogeneous transformation matrix W T B The position, orientation, and center of mass of the robotic arm are corrected to obtain the current position, orientation, and center of mass of the robotic arm in the world coordinate system. w p end w R end w c).
[0072] S4: Calculate the error between the current position, current attitude, and current centroid position and the target position, target attitude, and target centroid position.
[0073] Optionally, in one embodiment of this application, the error (Δp, ΔR, Δc) between the current position, current posture, and current center of mass position of the robotic arm and the target position, target posture, and target center of mass position is calculated according to the following formula:
[0074] (Δp, ΔR, Δc) = (p target - w p end , w R end T R target c target - w c end )
[0075] Where, p target R target and c target These are the target position, target orientation, and target center of mass position of the robotic arm, respectively. w p endd , w R end and w c end These represent the current position, current posture, and current center of mass of the robotic arm, respectively.
[0076] S5: Determine whether the error is less than the set value. If yes, output the current joint angle sequence of the robotic arm as the target critical angle sequence. If no, execute S6.
[0077] S6: Calculate the Jacobian matrix of the robotic arm, use the Jacobian matrix to correct the current joint angle sequence of the robotic arm, and return to execute S1.
[0078] Optionally, in one embodiment of this application, the expression for calculating the Jacobian matrix of the robotic arm is as follows:
[0079]
[0080] in, This represents the rotation vector of each joint of the robotic arm in the world coordinate system. This indicates the position of each joint of the robotic arm in the world coordinate system. W c represents the position of the robot arm's center of mass in the world coordinate system, q i (i = 1, 2, ..., n) represents the current joint angle sequence of the robotic arm.
[0081] Understandably, by acquiring the current joint angle sequence of the robotic arm, the position, attitude, and center of mass position in the base coordinate system are calculated, and then transformed to the world coordinate system. The error between the current position and the target position is then calculated. Based on the magnitude of the error, it is determined whether the joint angles need to be adjusted using the Jacobian matrix. This iterative approach gradually approximates the target state, increasing the system's adaptability to changing environments and dynamic targets. It also improves the accuracy of the end effector reaching the designated position and attitude. This not only enables efficient motion planning for the end effector of a single-rope redundant robotic arm without the need for additional counterweights or actuators, but also significantly optimizes the control of the center of mass position under quasi-static conditions through pre-compensation, thereby enhancing the overall system's stability and accuracy.
[0082] Example 2
[0083] This embodiment, based on the inverse kinematics solution method for a single-rope suspended manipulator proposed in Embodiment 1, solves for the following: in the suspended state, the manipulator's center of mass height remains constant, the end effector moves upward by d mm, and the end effector posture R0→R target The 10 path points, such as Figure 2 As shown, Figure 2 This is a schematic diagram of a constrained robotic arm example model provided in an embodiment of this application.
[0084] This embodiment is based on the robot arm's initial position, posture, and center of mass position (p0, R0, c0) and target position, posture, and center of mass position (p0, R0, c0). tarhet R target c target )=(p0+(0,0,d),R target (c0). The end effector path of the robotic arm is discretized. The default path is a straight line from the starting point to the ending point: the path from the initial position to the target position is discretized into 10 path points. Ten intermediate poses were calculated using attitude interpolation. Finally, ten sets of target poses and target centroid positions (p) were obtained. i R i c i (i = 1, 2, ..., n).
[0085] In this embodiment, to address the issue of the robotic arm's pose being affected by the movement of the center of mass, the concept of center of mass yaw compensation is introduced. For example... Figure 3 As shown, Figure 3 This is a schematic diagram of the center-of-gravity oscillation compensation model provided in the embodiments of this application. The compensation model uses the suspension point as the origin of the base coordinate system, and its orientation is consistent with the robot arm base. First, consider the joint angle q of the robot arm under forward kinematics. i-1 Determined base coordinate system ∑ B The position in the middleB p, posture B R and the position of the centroid B c, that is Figure 3 The model on the left is shown. Since the robotic arm base is only connected to the suspension point by ropes and is not completely fixed, the base will shift along with its center of mass under gravity. This transformation of the base coordinates ∑ W →∑ B This can be considered as the displacement of the center of mass, therefore it is necessary to calculate the angle β of rotation of the center of mass and the axis of rotation. Under the influence of gravity, the center of mass will eventually stabilize directly below the suspension point. This can be verified by comparing the center of mass vector c before the sway. b and the vertically downward vector c a To determine the rotation angle β and the axis of rotation This achieves the corresponding transformation of the base coordinates ∑ W →∑ B For a serial robotic arm, this transformation means that adjusting the base will trigger a chain reaction in each joint, thereby correcting the pose and center of mass of the entire robotic arm.
[0086] Based on the position, posture, and center of mass position (p) of the robotic arm i R i c i (i = 1, 2, ..., n), and the next position, attitude, and center of mass position (p i+1 R i+1 c i+1 The error quantities (Δp, ΔR, Δc) obtained by comparing (i = 1, 2, ..., n) are: (p i+1 -p i ,R i T R i+1 c i+1 -c i When the error is less than the set value, the calculation stops and the current joint angle sequence of the robotic arm is output as the target critical angle sequence; otherwise, the following steps continue.
[0087] By combining the actual position and orientation of the corrected robotic arm with a vector product construction method, a 6x6 matrix is calculated to represent the relationship between position, orientation, and joint angles. Next, the partial derivatives of the actual center of mass position with respect to each joint angle are calculated using a definition method and used as the seventh row of the Jacobian matrix, thus constructing a 7x6 position-orientation-center of mass Jacobian matrix. This matrix reflects the detailed relationship between the compensated position, orientation, center of mass position, and each joint angle. Using this matrix, the necessary corrections can be calculated, and the joint angle sequence updated accordingly. This process not only achieves accurate compensation of the robotic arm's pose and center of mass position but also provides the necessary computational support for the high-precision control of the robotic arm.
[0088] By iteratively applying the above method to 10 path points, 10 sets of objective solutions q are obtained. i (i = 0, 1, ..., 9).
[0089] Example 3
[0090] This embodiment proposes an inverse kinematics solving device for a single-rope suspended manipulator, applicable to the inverse kinematics solving method for a single-rope suspended manipulator as described in any of the above embodiments, such as... Figure 4 As shown, Figure 4 The architecture diagram of the inverse kinematics solving device for a single-rope suspended robotic arm provided in this application embodiment includes: an acquisition module 100, a first calculation module 200, a conversion module 300, a second calculation module 400, a judgment module 500, and a second calculation module 600.
[0091] The system includes the following modules: Acquisition module 100 acquires the current joint angle sequence of the robotic arm. First calculation module 200 calculates the position, orientation, and centroid position of the robotic arm in the base coordinate system based on the current joint angle sequence. Conversion module 300 converts the position, orientation, and centroid position of the robotic arm in the base coordinate system into the current position, orientation, and centroid position in the world coordinate system. Second calculation module 400 calculates the error between the current position, orientation, and centroid position and the target position, orientation, and centroid position. Judgment module 500 determines whether the error is less than a set value; if so, it outputs the current joint angle sequence of the robotic arm as the target key angle sequence; otherwise, it calls the second calculation module. Second calculation module 600 calculates the Jacobian matrix of the robotic arm and uses the Jacobian matrix to correct the current joint angle sequence of the robotic arm.
[0092] In the specific implementation process, the acquisition module 100 first acquires the current joint angle sequence of the robotic arm. Subsequently, the first calculation module 200 uses these angles to calculate the position, attitude, and center of mass position of the robotic arm in the base coordinate system. The transformation module 300 is responsible for transforming this position information to the world coordinate system. The second calculation module 400 calculates the error between the current position, attitude, and center of mass position and the target position, target attitude, and target center of mass position, and passes it to the judgment module. The judgment module 500 judges whether the error is less than a set value. If it is, it outputs the current joint angle sequence as the target key angle sequence; otherwise, it executes the second calculation module 600. The second calculation module 600 calculates the Jacobian matrix of the robotic arm, which is used to correct the joint angle sequence. The entire process is iteratively executed to achieve precise adjustment of the robotic arm's pose and center of mass position.
[0093] It should be noted that the foregoing explanation of the embodiment of the inverse kinematics solution method for a single-rope suspended manipulator also applies to the inverse kinematics solution device for a single-rope suspended manipulator in this embodiment, and will not be repeated here.
[0094] Example 4
[0095] As shown in the figure Figure 5 This is a schematic diagram of the structure of an electronic device 700 provided in an embodiment of this application. The electronic device 700 includes: a memory 701, a processor 702, and a computer program stored in the memory 701 and executable on the processor 702.
[0096] When the processor 702 executes the program, it implements the inverse kinematics solution method for a single-rope suspended manipulator provided in the above embodiments.
[0097] Furthermore, the electronic device 700 also includes a communication interface 703 for communication between the memory 701 and the processor 702.
[0098] The memory 701 may include high-speed RAM (Random Access Memory) and may also include non-volatile memory, such as at least one disk storage device.
[0099] If the memory 701, processor 702, and communication interface 703 are implemented independently, then the communication interface 703, memory 701, and processor 702 can be interconnected via a bus to complete communication between them. The bus can be an ISA (Industry Standard Architecture) bus, a PCI (Peripheral Component Interconnect) bus, or an EISA (Extended Industry Standard Architecture) bus, etc. The bus can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 5 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0100] Optionally, in a specific implementation, if the memory 701, processor 702, and communication interface 703 are integrated on a single chip, then the memory 701, processor 702, and communication interface 703 can communicate with each other through an internal interface.
[0101] The processor 702 may be a CPU (Central Processing Unit), an ASIC (Application Specific Integrated Circuit), or one or more integrated circuits configured to implement the embodiments of this application.
[0102] Example 5
[0103] This embodiment provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the inverse kinematics solution method for a single-rope suspended robotic arm as described in the above embodiment.
[0104] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of this application. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of different embodiments or examples.
[0105] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this application, "N" means at least two, such as two, three, etc., unless otherwise explicitly specified.
[0106] Any process or method described in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or more N executable instructions for implementing custom logic functions or processes, and the scope of the preferred embodiments of this application includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the functions involved, as should be understood by those skilled in the art to which embodiments of this application pertain.
[0107] It should be understood that the various parts of this application can be implemented using hardware, software, firmware, or a combination thereof. In the above embodiments, the N steps or methods can be implemented using software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, it can be implemented using any one or a combination of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (FPGAs), field-programmable gate arrays (FPGAs), etc.
[0108] Those skilled in the art will understand that all or part of the steps of the methods described in the above embodiments can be implemented by a program instructing related hardware, and the program can be stored in a computer-readable storage medium. When executed, the program includes one or a combination of the steps of the method embodiments.
[0109] Obviously, the above embodiments of the present invention are merely examples for clearly illustrating the present invention, and are not intended to limit the implementation of the present invention. Those skilled in the art can make other variations or modifications based on the above description. It is neither necessary nor possible to exhaustively describe all embodiments here. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention should be included within the scope of protection of the claims of the present invention.
Claims
1. A method for solving the inverse kinematics of a single-rope suspended robotic arm, characterized in that, include: S1: Obtain the current joint angle sequence of the robotic arm; S2: Calculate the position, orientation, and center of mass of the robotic arm in the base coordinate system based on the current joint angle sequence; S3: Converts the position, orientation, and center of mass of the robotic arm in the base coordinate system to its current position, orientation, and center of mass in the world coordinate system, including: S3.1: Based on the positions of the centers of mass of each joint of the robotic arm in the base coordinate system and the mass of each joint, calculate the position of the center of mass of the robotic arm in the base coordinate system. ; S3.2: Based on the vector formed by the line connecting the robotic arm's suspension point and its center of mass. and the vertically downward vector of the robotic arm's suspension point. Calculate the base rotation angle and rotation vector ; S3.3: Based on the base rotation angle and rotation vector Calculate the homogeneous transformation matrix from the base coordinate system to the world coordinate system. ; S3.4: Based on the homogeneous transformation matrix The position, orientation, and center of mass of the robotic arm are corrected to obtain the current position, orientation, and center of mass of the robotic arm in the world coordinate system. ; S4: Calculate the error between the current position, current attitude, and current centroid position and the target position, target attitude, and target centroid position; S5: Determine whether the error is less than the set value. If yes, output the current joint angle sequence of the robotic arm as the target joint angle sequence. If no, execute S6. S6: Calculate the Jacobian matrix of the robotic arm, use the Jacobian matrix to correct the current joint angle sequence of the robotic arm, and return to execute S1.
2. The method for solving the inverse kinematics of a single-rope suspended robotic arm according to claim 1, characterized in that, In S3.1, the position of the robot arm's center of mass in the base coordinate system is calculated according to the following formula. : in, This indicates the number of joints in the robotic arm. Indicates the first robotic arm i The position of the centroid of each joint in the base coordinate system Indicates the first robotic arm i The mass of each joint.
3. The method for solving the inverse kinematics of a single-rope suspended robotic arm according to claim 1, characterized in that, In S3.2, the base rotation angle is calculated according to the following formula. and rotation vector : 。 4. The method for solving the inverse kinematics of a single-rope suspended robotic arm according to claim 3, characterized in that, In S3.3, the homogeneous transformation matrix from the base coordinate system to the world coordinate system is calculated according to the following formula. Its expression is as follows: in, , and They are rotation vectors In the world coordinate system x , y and z Quantity.
5. The method for solving the inverse kinematics of a single-rope suspended robotic arm according to claim 4, characterized in that, In S6, the expression for calculating the Jacobian matrix of the robotic arm is as follows: in, This represents the rotation vector of each joint of the robotic arm in the world coordinate system. This indicates the position of each joint of the robotic arm in the world coordinate system. This indicates the position of the robot arm's center of mass in the world coordinate system. This represents the current joint angle sequence of the robotic arm.
6. The method for solving the inverse kinematics of a single-rope suspended robotic arm according to claim 1, characterized in that, S4, according to the following formula, calculate the error between the current position, current attitude, and current center of mass position of the robotic arm and the target position, target attitude, and target center of mass position. : in, , and These are the target position, target orientation, and target center of mass position of the robotic arm, respectively. , and These represent the current position, current posture, and current center of mass of the robotic arm, respectively.
7. A device for solving the inverse kinematics of a single-rope suspended manipulator, applied to the inverse kinematics solution method for a single-rope suspended manipulator as described in any one of claims 1 to 6, characterized in that, include: The acquisition module is used to acquire the current joint angle sequence of the robotic arm; The first calculation module is used to calculate the position, attitude and center of mass of the robotic arm in the base coordinate system based on the current joint angle sequence. The conversion module is used to convert the position, attitude, and center of mass of the robotic arm in the base coordinate system into its current position, attitude, and center of mass in the world coordinate system. The second calculation module is used to calculate the error between the current position, current attitude, and current centroid position and the target position, target attitude, and target centroid position; The judgment module is used to determine whether the error amount is less than a set value. If it is, the current joint angle sequence of the robotic arm is output as the target key angle sequence. If not, the second calculation module is called. The second calculation module is used to calculate the Jacobian matrix of the robotic arm and use the Jacobian matrix to correct the current joint angle sequence of the robotic arm.
8. An electronic device, characterized in that, The electronic device includes a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to perform the operations described in any one of claims 1 to 6 for the inverse kinematics solution method for a single-rope suspended manipulator.
9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a program that is executed by a processor as described in any one of claims 1 to 6 for the inverse kinematics solution method for a single-rope suspended manipulator.
Citation Information
Patent Citations
Armed rotor wing drone attitude control method aiming at centroid shift and base floating
CN111923047A
Robot posture control method and robot and computer readable storage medium using the same
US20220040851A1