Mechanical arm dynamics analysis and modeling method, robot, device and medium
Patent Information
- Application Number
- CN202111654782.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-30
- Publication Date
- 2026-10-23
- Estimated Expiration
- 2041-12-30
AI Technical Summary
由于直驱电机的质量较重,M2电机的安装方式会导致电机M1的扭矩需求就比较大,这就导致M1电机的质量与体积较大,最终将增加整机的重量和体积
[0044]本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
Smart Images

Figure CN116408786B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robotics, and more particularly to a method for analyzing and modeling the dynamics of a robotic arm, a robot, a computer device, and a storage medium. Background Technology
[0002] The SCARA (Short-Range Auto-Analog Robot) consists of four joints: the first, second, and fourth joints are horizontal rotational joints, and the third joint is a vertical translational joint. In related technologies, the axes of direct-drive motors M1 and M2 are not collinear, and they drive the first and second robotic arms respectively. Due to the heavy weight of the direct-drive motors, the mounting method of motor M2 results in a high torque requirement for motor M1, leading to a larger mass and volume for motor M1, ultimately increasing the overall weight and size of the robot. Currently, to reduce the overall weight and size, traditional robotic arm modeling methods are not suitable for the proposed rear-mounted motor design in SCARA structures. Summary of the Invention
[0003] This application provides a method for analyzing and modeling the dynamics of a robotic arm, a robot, a computer device, and a storage medium.
[0004] The robotic arm dynamics analysis and modeling method provided in this application includes:
[0005] A first dynamic formula is constructed to determine the inertial force and torque acting on the centers of mass of the first, second, and third robotic arms. The first robotic arm is rotatably connected to the second robotic arm. The first robotic arm rotates about a first joint, the second robotic arm rotates about a second joint, and the third robotic arm moves in the vertical direction relative to the second robotic arm.
[0006] Based on the inertial force and torque of the centers of mass of the first robotic arm, the second robotic arm, and the third robotic arm, a second dynamic formula for the interaction force and interaction torque between the robotic arms is constructed.
[0007] Based on the inertial force and torque of the centers of mass of the first robotic arm, the second robotic arm, and the third robotic arm, a third dynamic formula is constructed to determine the force and torque exerted by the first robotic arm and the double-link transmission mechanism on the second robotic arm, wherein the double-link transmission mechanism is disposed in the first robotic arm;
[0008] Based on the inertial force and torque acting on the centers of mass of the first, second, and third robotic arms, a first calculation formula for the torque of the first motor is constructed, and the first motor is used to drive the first robotic arm to rotate.
[0009] Based on the inertial force and torque acting on the centers of mass of the first, second, and third robotic arms, a second calculation formula for the torque of the second motor is constructed. The second motor is used to drive the second robotic arm to rotate through the double-link transmission mechanism.
[0010] Verify the first dynamic formula, the second dynamic formula, the third dynamic formula, the first calculation formula, and the second calculation formula.
[0011] In some embodiments, the first dynamic formula for the inertial forces and moments acting on the centers of mass of the first, second, and third robotic arms includes:
[0012] Based on the Newton-Euler iterative dynamics algorithm, the formulas for the second angular velocity, second angular acceleration, and acceleration of the first joint and the second joint are constructed, as well as the formula for the linear acceleration of the center of mass acting on the first robotic arm, the second robotic arm, and the third robotic arm.
[0013] Based on the formulas for the second angular velocity, second angular acceleration, and linear acceleration of the first and second joints, and the formula for the linear acceleration of the center of mass acting on the first, second, and third robotic arms, the first dynamic formula is constructed.
[0014] In some embodiments, the second angular velocity, second angular acceleration, and linear acceleration of the first joint and the second joint are expressed by the following formulas:
[0015]
[0016]
[0017]
[0018] Where R is the rotation transformation matrix between coordinate systems. Let θ be the rotation transformation matrix from coordinate system {i} to coordinate system {i+1}. Representing the angle, first angular velocity, and first angular acceleration of the i-th joint, in coordinate system {i+1} Axle is called i ω i , Let $\mathbf{i}$ represent the second angular velocity, second angular acceleration, and linear acceleration of the $i$-th joint in the robot arm coordinate system $\mathbf{i}$ relative to its own coordinate system.
[0019] In some embodiments, the linear accelerations acting on the centers of mass of the first robotic arm, the second robotic arm, and the third robotic arm are expressed by the following formula:
[0020]
[0021] in, Let be the linear acceleration acting on the center of mass of the i-th robotic arm. Let {i} be the position vector of the (i+1)th robotic arm's center of mass relative to coordinate system {i}. i P i+1 Let $\mathbf{i}$ be the position vector of the origin of the robot arm coordinate system $\mathbf{i}$ in the robot arm coordinate system $\mathbf{i}$.
[0022] In some implementations, the first kinetic formula is:
[0023]
[0024]
[0025] Where, m i+1 Let the mass of the (i+1)th robotic arm be... i+1 F i+1 The inertial force acting on the center of mass of the (i+1)th robotic arm, i+ 1 N i+1 Let n be the torque acting on the center of mass of the (i+1)th robotic arm. Let the (i+1)th robotic arm be in the centroid coordinate system {C i+1 The inertial tensor in}.
[0026] In some embodiments, the second kinetic formula is:
[0027]
[0028]
[0029] in, i F i , i N i Let be the inertial force and torque at the center of mass of the i-th robotic arm. i+1 f i+1 , i+1 n i+1 Let be the force and torque exerted by the i-th robotic arm on the (i+1)-th robotic arm.
[0030] In some embodiments, the third dynamic formula for the force and torque of the second robotic arm is:
[0031]
[0032]
[0033] in, 2 f2、2 n2 represents the inertial force and torque exerted by the first robotic arm and the double-link transmission mechanism on the center of mass of the second robotic arm. 2 F2 is the inertial force acting on the center of mass of the second robotic arm. 2 N2 is the torque acting on the center of mass of the second robotic arm.
[0034] In some embodiments, the torque of the first motor is expressed by the following formula:
[0035] τ1= 1 n1,
[0036] Where τ1 is the torque of the first motor, 1 n1 is the torque of the first joint.
[0037] In some embodiments, the torque of the second motor is expressed by the following formula:
[0038] τ2= link + 2 n2,
[0039] Where τ2 is the torque of the second motor. 2 n2 is the torque at the center of mass of the second robotic arm, τ link This is the torque required for the rotation of the double-link transmission mechanism.
[0040] The robot provided in this application includes a first robotic arm, a second robotic arm, a third robotic arm, and a double-link transmission mechanism. The first robotic arm is rotatably connected to the second robotic arm. The first robotic arm rotates around a first joint, and the second robotic arm rotates around a second joint. The third robotic arm moves vertically relative to the second robotic arm. The double-link transmission mechanism is disposed in the first robotic arm. The robotic arm dynamics analysis and modeling method in any of the above embodiments can be used in the robot.
[0041] This application provides a computer device, which includes a memory and a processor. The memory stores a computer program, and the processor executes the computer program to implement the robotic arm dynamics analysis and modeling method in any of the above embodiments.
[0042] The non-volatile computer-readable storage medium for computer-executable instructions provided in this application, when executed by one or more processors, causes the processors to perform the robotic arm dynamics analysis and modeling method described in any one of the above-described embodiments.
[0043] The robotic arm dynamics analysis and modeling method provided in this application is applicable to robots with a hybrid series-parallel connection and a dual-linkage transmission system where the motor is located at the rear. By using the robotic arm dynamics analysis and modeling method to build a dynamic model of the robot, on the one hand, it can provide a theoretical basis for the design of the robot's motor and structure, thereby optimizing the design of the robot's electromechanical system; on the other hand, it can provide a basic model for robot control, on which algorithm designers can design and improve control algorithms, thereby improving the dynamic performance of the robot.
[0044] Additional aspects and advantages of this application will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of this application. Attached Figure Description
[0045] The above and / or additional aspects and advantages of this application will become apparent and readily understood from the description of the embodiments taken in conjunction with the following drawings, wherein:
[0046] Figure 1 This is a flowchart illustrating the robotic arm dynamics analysis and modeling method according to an embodiment of this application;
[0047] Figure 2 This is a partial structural schematic diagram of the robot according to an embodiment of this application;
[0048] Figure 3 This is a schematic diagram of the structure of the first robotic arm and the double-link transmission mechanism according to the embodiments of this application;
[0049] Figure 4 This is a schematic diagram of the structure of the robot according to an embodiment of this application;
[0050] Figure 5 This is a structural schematic diagram of the robot according to another embodiment of this application;
[0051] Figure 6 This is a partially exploded schematic diagram of the double-link transmission mechanism according to an embodiment of this application;
[0052] Figure 7 This is an exploded view of the first robotic arm and the double-link transmission mechanism according to the embodiments of this application;
[0053] Figure 8 This is a schematic diagram of the computer device according to an embodiment of this application;
[0054] Figure 9 This is another flowchart illustrating the robotic arm dynamics analysis and modeling method according to the embodiments of this application;
[0055] Figure 10 This is a schematic diagram illustrating the derivation of the robotic arm dynamics analysis and modeling method according to the embodiments of this application;
[0056] Figure 11 This is another derivation diagram of the robotic arm dynamics analysis and modeling method according to the embodiments of this application;
[0057] Figure 12 These are simulation comparison diagrams of the robotic arm dynamics analysis and modeling methods according to the embodiments of this application;
[0058] Figure 13 This is another simulation comparison diagram of the robotic arm dynamics analysis and modeling method according to the embodiments of this application.
[0059] Explanation of key component symbols:
[0060] Robot 100, First robotic arm 11, Second robotic arm 12, Third robotic arm 13, First joint 21, Second joint 22, Double linkage transmission mechanism 30, Upper link 31, Lower link 32, First flange 331, Second flange 332, Third flange 333, Fourth flange 334, First upper bearing 341, Second upper bearing 342, First lower bearing 343, Second lower bearing 344, Third bearing 35, Intermediate shaft 36, Retaining ring 37, First motor 41, Second motor 42, Base 50, Computer equipment 200, Memory 201, Processor 202. Detailed Implementation
[0061] The embodiments of this application are described in detail below. Examples of these embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and are only used to explain this application, and should not be construed as limiting this application.
[0062] In the description of this application, it is worth mentioning that the terms "center," "longitudinal," "transverse," "length," "width," "thickness," "upper," "lower," "front," "rear," "left," "right," "vertical," "horizontal," "top," "bottom," "inner," and "outer," etc., are used for the purpose of simplifying the description of this application for ease of understanding. Features specified as "first" or "second" may explicitly or implicitly include one or more. In the description of this application, "multiple" means two or more.
[0063] In the description of this application, it should be noted that the connection can be an electrical connection or a connection that enables communication between the parties. Those skilled in the art can understand the specific meaning of the above terms in this application based on the specific circumstances.
[0064] In this application, unless specifically defined, "above" or "below" the second feature can include direct contact between the first and second features, or contact between the first and second features through another feature between them. Furthermore, "above," "over," and "on top" of the second feature includes the first feature being directly above or diagonally above the second feature, or simply indicates that the first feature is at a higher horizontal level than the second feature. "Below," "below," and "under" of the second feature includes the first feature being directly below or diagonally below the second feature, or simply indicates that the first feature is at a lower horizontal level than the second feature.
[0065] The following disclosure provides many different embodiments or examples for implementing different structures of this application. To simplify the disclosure, specific examples of components and arrangements are described below. Of course, these are merely examples and are not intended to limit the scope of this application. Reference numerals and / or letters may be repeated in different examples; such repetition is for simplification and clarity and does not in itself indicate a relationship between the various embodiments and / or arrangements discussed. Various specific examples of processes and materials are provided in this application, but those skilled in the art will recognize the application of other processes and / or the use of other materials.
[0066] Please see Figures 1-4 The robotic arm dynamics analysis and modeling method provided in this application includes:
[0067] Step S10: Construct the first dynamic formula for the inertial force and torque acting on the center of mass of the first robotic arm 11, the second robotic arm 12, and the third robotic arm 13. The first robotic arm 11 is rotatably connected to the second robotic arm 12. The first robotic arm 11 rotates around the first joint 21, the second robotic arm 12 rotates around the second joint 22, and the third robotic arm 13 moves relative to the second robotic arm 12 in the vertical direction Z.
[0068] Step S20: Based on the inertial force and torque of the center of mass of the first robotic arm 11, the second robotic arm 12, and the third robotic arm 13, construct the second dynamic formula for the interaction force and interaction torque between the robotic arms;
[0069] Step S30: Based on the inertial force and torque of the center of mass of the first robotic arm 11, the second robotic arm 12, and the third robotic arm 13, construct a third dynamic formula for the force and torque of the first robotic arm 11 and the double-link transmission mechanism 30 acting on the second robotic arm 12. The double-link transmission mechanism 30 is set in the first robotic arm 11.
[0070] Step S40: Based on the inertial force and torque acting on the center of mass of the first robotic arm 11, the second robotic arm 12, and the third robotic arm 13, construct a first calculation formula for the torque of the first motor 41, which is used to drive the first robotic arm 11 to rotate.
[0071] Step S50: Based on the inertial force and torque acting on the center of mass of the first robotic arm 11, the second robotic arm 12, and the third robotic arm 13, construct a second calculation formula for the torque of the second motor 42, which is used to drive the second robotic arm 12 to rotate through the double linkage transmission mechanism 30.
[0072] Step S60: Verify the first dynamic formula, the second dynamic formula, the third dynamic formula, the first calculation formula, and the second calculation formula.
[0073] Please see Figures 2-5 The robot 100 provided in this application embodiment may include a double-link transmission mechanism 30, a third robotic arm 13, a second robotic arm 12, and a first robotic arm 11.
[0074] The second robotic arm 12 and the first robotic arm 11 can be rotatably connected. More specifically, the first robotic arm 11 can rotate around the first joint 21, and the second robotic arm 12 can rotate around the second joint 22.
[0075] The third robotic arm 13 can move relative to the second robotic arm 12 in the vertical direction Z. The first robotic arm 11 is equipped with a double-link transmission mechanism 30. The above-mentioned robotic arm dynamics analysis and modeling method can be used for the robot 100.
[0076] It should be noted that the SCARA (Short-Range Auto-Analog Robot) mainly consists of four joints: the first, second, and fourth joints are horizontal rotary joints, and the third joint is a vertical traverse joint. In related technologies, motor M1 of the first joint is connected to the first joint to drive the rotation of the first robotic arm; motor M2 of the second joint is connected to the second joint to drive the rotation of the second robotic arm; and the motors of the third and fourth joints use a synchronous belt and ball screw transmission scheme. Since the axes of the direct drive motors M1 and M2 are not on the same straight line, they are used to drive the first and second robotic arms respectively.
[0077] Because the direct-drive motor is relatively heavy, the mounting method of the M2 motor results in a higher torque requirement for the M1 motor. This leads to a larger mass and volume for the M1 motor, ultimately increasing the overall weight and size of the machine. Currently, to reduce the overall weight and size, traditional robotic arm modeling methods are not suitable for the proposed rear-mounted motor SCARA structure model, as the traditional approach is not applicable to this design.
[0078] It is understandable that mechatronics, built upon the foundation of modern industry—characterized by the advanced development of microelectronics (represented by large-scale integrated circuits and microcomputers), the rapid advancement of precision machinery, and the high degree of integration between mechanical and electronic technologies—comprehensively applies a group of technologies including mechanical technology, microelectronics technology, automatic control technology, information technology, sensing and testing technology, power electronics technology, interface technology, signal conversion technology, and software programming technology. This has fundamentally changed product structure and brought enormous economic benefits to humanity. Therefore, optimizing the design of robot mechatronic systems has become a problem that needs further research and development.
[0079] Therefore, the robotic arm dynamics analysis and modeling method provided in this application is applicable to a robot 100 with a rear-mounted series-parallel hybrid motor and a double-link transmission system. By using the robotic arm dynamics analysis and modeling method to build a dynamic model of the robot 100, on the one hand, it can provide a theoretical basis for the motor and structural design of the robot 100, thereby optimizing the electromechanical system design of the robot 100; on the other hand, it can provide a basic model for the control of the robot 100, upon which algorithm designers can design and improve control algorithms, thereby improving the dynamic performance of the robot 100.
[0080] In this design, the first robotic arm 11 can be driven by the first motor 41 to rotate around the first joint 21. In the rear-mounted design, the second motor 42 needs to drive the rotation of the second robotic arm 12, and the double-link transmission mechanism 30 can play a transmission role.
[0081] The movement of the double-link transmission mechanism 30 can be driven by the second motor 42, so that the double-link transmission mechanism 30 can drive the second robotic arm 12 to rotate around the second joint 22. When the first robotic arm 11 moves, that is to say, the second motor 42 can drive the second robotic arm 12 to rotate through the double-link transmission mechanism 30.
[0082] In this embodiment, both the first motor 41 and the second motor 42 of the robot 100 are rear-mounted, meaning that the first motor 41 and the second motor 42 are located on opposite sides of the first robotic arm 11 along the vertical direction Z. It should be noted that the axis of the second motor 42 and the axis of the first motor 41 are on the same straight line.
[0083] The double-link transmission mechanism 30 is installed in the first robotic arm 11. The first robotic arm 11 can be driven by the first motor 41. When the first robotic arm 11 moves, it can also drive the transmission of the double-link transmission mechanism 30 through the second motor 42, so that the first robotic arm 11 and the double-link transmission mechanism 30 jointly drive the movement of the second robotic arm 12.
[0084] In some embodiments, along the vertical direction Z, a first motor 41 may be located at the upper end of a first robotic arm 11, and a second motor 42 may be located at the lower end of a second robotic arm 12. The second robotic arm 12 is located at the end of the first robotic arm 11 away from the first motor 41 and the second motor 42. A third robotic arm 12 is located at the end of the second robotic arm 12 away from the first robotic arm 11.
[0085] The first robotic arm 11 can be rectangular, cylindrical, or cylindrical with cylindrical ends and a rectangular shape in the middle; there are no restrictions on its shape. Similarly, the second robotic arm 12 can be rectangular, cylindrical, cylindrical, or cylindrical with cylindrical ends and a rectangular shape in the middle; there are no restrictions on its shape.
[0086] The third robotic arm 13 can be rectangular, or it can be cylindrical at both ends and rectangular in the middle; there is no limitation on this. In one embodiment, the third robotic arm 13 can be rod-shaped, which facilitates the movement of the third robotic arm 13 along the vertical direction Z and reduces wear during the movement of the third robotic arm 13.
[0087] The shapes of the third robotic arm 13, the second robotic arm 12 and the first robotic arm 11 can be the same or different. There are no restrictions here. The shapes of the third robotic arm 13, the second robotic arm 12 and the first robotic arm 11 can be selected according to actual needs.
[0088] It is worth noting that robot 100 can refer to an electromechanical system composed of mechanical structures and electronic components. In some implementations, electromechanical systems such as automated robotic arms commonly used in industry and drivable wheeled platforms can also be referred to as "industrial robots".
[0089] The robot 100 mentioned in this application can be a SCARA (Selective Compliance Assembly Robot Arm) robot, which is a robot with selective flexibility and a near-cylindrical workspace. SCARA robots have high horizontal flexibility and good vertical plane rigidity, and can be widely used in sorting, assembly, and palletizing. That is to say, SCARA robots are lightweight and have a fast response, making them suitable for planar positioning and vertical assembly operations. In one example, a SCARA robot can be used to insert a round-headed pin into a round hole. The robot provided in this application can be widely used in the electronics, automotive, plastics, pharmaceutical, and food industries to perform operations such as handling, assembly, painting, and welding.
[0090] Industrial applications require SCARA robots to possess high speed and high precision, which means they need precise motion control algorithms. Motion control algorithms rely heavily on the dynamics analysis of the robot's robotic arm; to obtain more accurate dynamic equations, it is necessary to identify the robot's dynamic parameters.
[0091] In some implementations, the robot 100's mechanical arm dynamics can be analyzed and modeled using methods such as disassembly and experimental measurement, CAD, and theoretical identification. However, disassembly and experimental measurement requires disassembling the robot and placing it on a specific measurement platform before conducting inertial parameter measurement experiments. This method requires specific experimental equipment and involves a significant workload. Furthermore, the dynamic parameters identified by the CAD model method cannot accurately correspond to the robot's actual dynamic model.
[0092] Therefore, in the embodiments of this application, the theoretical identification method is used to identify the parameters of the robot's mechanical energy dynamics. The identified dynamic parameters can make the robot arm dynamic model operate more accurately.
[0093] Please refer to the following: Figures 2-4 In some embodiments, the robot 100 may further include a first motor 41 connected to the first robotic arm 11 and a second motor 42 connected to the double-link transmission mechanism 30, wherein the axis of the second motor 42 is located in the same axis as the axis of the first motor 41.
[0094] Thus, by placing the second motor 42 at the rear, since the second motor 42 is no longer installed on the first robotic arm 11, its moment of inertia is significantly reduced relative to the rotation axis of the first joint 21. Therefore, the torque requirement for the first motor 41 is reduced, thereby reducing the mass and volume of the first motor 41, and further reducing the overall mass and volume of the robot 100.
[0095] Please refer to the following: Figure 2 , Figure 4 , Figure 6 and Figure 7 The double-link transmission mechanism 30 may include an upper link 31 and a lower link 32. The left end of the upper link 31 is connected to the first flange 331 and is connected to the first robotic arm 11 through the first upper bearing 341. The right end of the upper link 31 is connected to the second flange 332 and is connected to the first robotic arm 11 through the second upper bearing 342.
[0096] The left end of the lower link 32 of the double-link transmission mechanism 30 is connected to the third flange 333 and to the first robotic arm 11 via the first lower bearing 343. The left end of the lower link 32 is connected to the fourth flange 334 and to the first robotic arm 11 via the second lower bearing 344. The upper link 31 and the lower link 32 can be connected to the intermediate shaft 36 via the third bearing 35. The double-link transmission mechanism 30 may also include multiple retaining rings 37, which can be installed on the upper and lower end faces of the third bearing 35.
[0097] When the double-link transmission mechanism 30 is installed on the robot 100, the double-link transmission mechanism 30 can be located in the first robotic arm 11. More specifically, the second motor 42 can be connected to the left end of the upper link 31 through the first flange 331, and the second robotic arm 12 can be connected to the right end of the upper link 31 through the second flange 332.
[0098] Thus, when the second motor 42 rotates, it can drive the first flange 331 connected to the left end of the upper connecting rod 31 to rotate. Through the transmission between the upper connecting rod 31 and the lower connecting rod 32, it can drive the second flange 332 connected to the right end of the upper connecting rod 31 to rotate, and finally drive the second robotic arm 12 to rotate. In this way, the second motor 42 can drive the second robotic arm 12 to rotate through the double connecting rod transmission mechanism 30.
[0099] The first flange 331, the second flange 332, the third flange 333, and the fourth flange 334 can be made of materials such as carbon steel, low alloy steel, and stainless steel. The first flange 331, the second flange 332, the third flange 333, and the fourth flange 334 can all be annular discs.
[0100] The first flange 331 connects the left end of the first robotic arm 11 and the upper connecting rod 31, and the second flange 332 connects the right end of the first robotic arm 11 and the upper connecting rod 32. The third flange 333 connects the left end of the first robotic arm 11 and the lower connecting rod 31, and the fourth flange 334 connects the right end of the first robotic arm 11 and the lower connecting rod 31. The upper connecting rod 31 and the lower connecting rod 32 can be arranged in the first robotic arm 11 through the first upper bearing 341, the second upper bearing 342, the first lower bearing 343, the second lower bearing 344, the third bearing 35, the intermediate shaft 36, and the retaining ring 37.
[0101] The first upper bearing 341, the second upper bearing 342, the first lower bearing 343, the second lower bearing 344, and the third bearing 35 serve to support the rotating mechanical body, reduce the coefficient of friction during its movement, and ensure its rotational accuracy. Common bearings include rolling bearings, deep groove ball bearings, self-aligning ball bearings, and needle roller bearings.
[0102] In one example, the third bearing 35 can be a deep groove ball bearing. Deep groove ball bearings are a widely used type of rolling bearing. They are characterized by low frictional resistance and high speed, and can be used in components that bear radial loads or combined radial and axial loads, as well as components that bear axial loads. These components can be small-power electric motors, automotive and tractor gearboxes, machine tool gearboxes, etc. A deep groove ball bearing consists of an outer ring, an inner ring, a set of steel balls, and a cage.
[0103] In this embodiment, the rotation angle of the first robotic arm 11 is determined by the first motor 41, and the rotation angle of the second robotic arm 12 is jointly determined by the first motor 41 and the second motor 42. The robotic arms of the robot 100 are a hybrid series-parallel mechanism, with the first robotic arm 11 in series and the second robotic arm 12 in parallel.
[0104] The dynamic analysis and modeling of the robotic arm of robot 100 first involves analyzing the robotic arm using the dynamic modeling method for serial robot 100, and then considering the dynamic model of parallel structure to establish the dynamic model of the serial-parallel hybrid mechanism robot 100.
[0105] In some embodiments, the robot 100 may also include a base 50. When the robot 100 is placed on any plane, the base 50 contacts the plane and provides stable support for the main body of the robot 100. The base 50 may also be used to support the first motor 41.
[0106] In some embodiments, a load is detachably mounted on the third robotic arm 13, so that the load can be moved or assembled by the combined movement of the third robotic arm 13, the second robotic arm 12 and the first robotic arm 13.
[0107] The third robotic arm 13, the base 50, the second robotic arm 12, and the first robotic arm 11 can all be made of alloy to ensure the robot's strength. In one embodiment, the third robotic arm 13, the base 50, the second robotic arm 12, and the first robotic arm 11 are all made of aluminum alloy to make the robot 100 lightweight and sturdy.
[0108] In some embodiments, the third robotic arm 13, the base 50, the second robotic arm 12, and the first robotic arm 11 may also be made of composite plastics, and there is no limitation on this.
[0109] In summary, in the robot 100 provided in this embodiment, when the first motor 41 rotates, it drives the rotation of the first robotic arm 11. When the second motor 42 rotates, it drives the rotation of the first flange 331 connected to the left end of the upper link 31. Through the transmission between the upper link 31 and the lower link 32, the second flange 332 connected to the right end of the upper link 31 is driven to rotate, ultimately driving the rotation of the second robotic arm 12. Thus, the second motor 42 can drive the rotation of the second robotic arm 12 through the double-link transmission mechanism 30. Since the double-link transmission mechanism 30 is located within the first robotic arm 11 of the robot 100, the double-link transmission mechanism 30 rotates along with the first robotic arm 11 while rotating itself.
[0110] In some embodiments, the robot 100 may further include a third motor connected to the third robotic arm 13, wherein the third motor may employ a transmission scheme of synchronous belt and ball screw. More specifically, the third motor may drive the third robotic arm 13 to move up and down along the vertical direction Z via pulleys.
[0111] Thus, the first robotic arm 11 can be rotated around the first joint 21 and the second robotic arm 12 can be rotated around the second joint 22 by the first motor 41, the second motor 42 and the double-link transmission mechanism 30. Along the vertical Z direction, the third robotic arm 13 is then driven to move by the third motor. When the third robotic arm 13 is loaded, the robot 100 can perform operations such as moving or assembling the load.
[0112] In some embodiments, both the first motor 41 and the second motor 42 can be servo motors. Servo motors can control speed and have very accurate positioning. They can convert voltage signals into torque and speed to drive the controlled object. The rotor speed of the servo motor is controlled by the input signal and can respond quickly. In automatic control systems, they are used as actuators and have characteristics such as small electromechanical time constant and high linearity. They can convert the received electrical signals into angular displacement or angular velocity output on the motor shaft. They are divided into two main categories: DC and AC servo motors. Their main characteristic is that they do not rotate when the signal voltage is zero, and their speed decreases uniformly as the torque increases.
[0113] In some embodiments, the first motor 41 and the second motor 42 can also be stepper motors to reduce costs. A stepper motor is a type of electric motor that converts electrical pulse signals into corresponding angular or linear displacements. For each input pulse signal, the rotor rotates by an angle or moves forward one step. The output angular or linear displacement is proportional to the number of input pulses, and the rotational speed is proportional to the pulse frequency. Therefore, a stepper motor is also called a pulse motor. Based on the most basic electromagnet principle, it is a freely rotating electromagnet whose operating principle relies on changes in the air gap permeability to generate electromagnetic torque.
[0114] Please see Figure 8 This application provides a computer device 200, which includes a memory 201 and a processor 202. The memory 201 stores a computer program, and the processor 202 executes the computer program to implement the robotic arm dynamics analysis and modeling method in the above embodiments.
[0115] Specifically, the computer device 200 in the embodiments of this application may be a calculator, programmable controller, desktop computer, laptop computer, tablet computer, server, etc. The computer device 200 may include a processor 202, memory 201, communication interface, display screen and input device connected through a system bus.
[0116] The processor 202 of the computer device 200 provides computing and control capabilities, and the memory 201 includes a non-volatile storage medium and an internal memory 201. The non-volatile storage medium stores the operating system and computer programs, and the internal memory 201 provides an environment for the operation of the operating system and computer programs in the non-volatile storage medium.
[0117] In some embodiments, the processor 202 is used to execute a computer program to implement the robotic arm dynamics analysis and modeling method described in steps S10, S20, S30, S40, S50 and S60 above.
[0118] The communication interface of the computer device 200 is used to communicate with external terminals via wired or wireless means. The wireless means can be achieved through WIFI, carrier networks, NFC (near field communication) or other technologies. When the computer program is executed by the processor 202, it implements a method for analyzing and modeling the dynamics of the robotic arm of a high-degree-of-freedom robot 100, which is aimed at more complex application scenarios.
[0119] The display screen of the computer device 200 can be an LCD screen or an e-ink screen. The input device of the computer device 200 can be a touch layer covering the display screen, or buttons, trackballs or touchpads set on the casing of the computer device 200, or external keyboards, touchpads or mice, etc.
[0120] In one embodiment, the memory 201 and processor 202 can be implemented using a general-purpose personal computer or a robot 100 computer installed on the robot 100. The robot 100 has been equipped with necessary components such as sensors and actuators in accordance with the prior art, and is able to acquire the necessary data for the processor 202 to process, and the actuators are able to execute the processing results of the processor 202.
[0121] Please see Figure 9 In some embodiments, a first dynamic formula for constructing the inertial forces and moments acting on the centers of mass of the first robotic arm 11, the second robotic arm 12, and the third robotic arm 13 includes:
[0122] Step S11: Based on the Newton-Euler iterative dynamics algorithm, construct the formulas for the second angular velocity, second angular acceleration and linear acceleration of the first joint 21 and the second joint 22, as well as the formula for the linear acceleration of the center of mass acting on the first robotic arm 11, the second robotic arm 12 and the third robotic arm 13.
[0123] Step S12: Based on the formulas for the angular velocity, angular acceleration and acceleration of the first joint 21 and the second joint 22, and the formula for the linear acceleration of the center of mass acting on the first robotic arm 11, the second robotic arm 12 and the third robotic arm 13, the first dynamic formula is constructed.
[0124] In some implementations, the processor 202 is used to execute computer programs to implement the robotic arm dynamics analysis and modeling methods in steps S11 and S12.
[0125] Specifically, there are many research methods for the analysis and modeling of robotic arm dynamics, such as the Newton-Euler method, the generalized d'Alembert method, the Lagrange method, the Hamiltonian method, the Kane equations, the Gaussian method, and the Abel equations, etc. Among them, the Newton-Euler method is a commonly used iterative dynamics algorithm for robots, which is based on Newton's second law and Euler's equations.
[0126] More specifically, robotic arms are typical multibody systems. The most common method for establishing multibody systems is to use the Newton-Euler method, since the Newton-Euler equations can well describe the translation and rotation of a single rigid body under force and torque.
[0127] Single rigid body dynamics primarily addresses modeling translational and rotational motions. In the Newton-Euler equations, Newton's equations mainly solve translational problems, i.e., the relationship between external forces and acceleration. Euler's equations, on the other hand, mainly deal with the rotational problems of rigid bodies, involving the angular velocity and angular acceleration of the rigid body.
[0128] Among them, the Newton-Euler dynamics equations can yield a set of forward and backward recursive equations. A significant advantage of Newton-Euler dynamics is that it can shorten the calculation time of the driving torque to a level that can be controlled in real time.
[0129] The Newton-Euler equations of motion apply d'Alembert's principle to transform dynamic problems into static equilibrium problems in the Newton-Euler form. That is, when a non-free system of particles moves, the system of principal forces, the system of constraint reactions, and the system of inertial forces acting on the system formally constitute a balanced force system (whose algebraic sum in any direction is zero).
[0130] Please see Figure 2 and Figure 10 ,in Figure 10 This is a schematic diagram illustrating the derivation of velocity and acceleration when the (i+1)th joint is a rotary joint. In some embodiments, the second angular velocity, second angular acceleration, and linear acceleration of the first joint 21 and the second joint 22 are expressed using the following formulas:
[0131]
[0132]
[0133]
[0134] Where R is the rotation transformation matrix between coordinate systems. Let θ be the rotation transformation matrix from coordinate system {i} to coordinate system {i+1}. Representing the angle, first angular velocity, and first angular acceleration of the i-th joint, in coordinate system {i+1} Axle is called i ω i , Let $\mathbf{i}$ represent the second angular velocity, second angular acceleration, and linear acceleration of the $i$-th joint in the robot arm coordinate system $\mathbf{i}$ relative to its own coordinate system.
[0135] Specifically, coordinate transformation is the description of the position of a spatial entity; it is the process of transforming from one coordinate system to another. This is achieved by establishing a one-to-one correspondence between the two coordinate systems. Through the relationship between coordinate system {i} and coordinate system {i+1}, the rotation transformation matrix R between the two coordinate systems can be derived. In other words, the rotation transformation matrix can be used to represent the relationship between two coordinate systems. The rotation matrix is mainly used to calculate the transformation between the representations of the same point in different coordinate systems.
[0136] It should be noted that in formulas (1) and (2), The angular velocity vector and angular acceleration vector of the (i+1)th joint are provided by the (i+1)th motor.
[0137] It should be noted that, in the embodiments of this application, both the first joint 21 and the second joint 22 are rotary joints.
[0138] In this context, the first joint 21 is located in coordinate system {i}, and the second joint 22 is located in coordinate system {i+1}. The calculation involves the second angular velocity, second angular acceleration, and linear acceleration of the first joint 21 and the second joint 22 in the robot arm coordinate system {i} relative to their own coordinate system. It should be noted that the angle, first angular velocity, and first angular acceleration of the first joint 21 and the second joint 22 refer to their angle, angular velocity, and angular acceleration within their own coordinate system.
[0139] Specifically, the calculation of the outward iteration from the first robotic arm 11 to the third robotic arm 13 can be performed using the Newton-Euler iterative dynamics algorithm. When i = 0, the second angular velocity of the first joint 21 can be calculated according to formula (1). 1 After ω1, 1 Substituting ω1 into formula (2), we obtain the second angular acceleration of the first joint 21. Then Substituting into formula (3), the linear acceleration of the first joint 21 can be obtained.
[0140] Similarly, when i = 1, the second angular velocity of the second joint 22 can be calculated according to formula (1). 2 After ω2, 2 Substituting ω2 into formula (2), we obtain the second angular acceleration of the second joint 22. Then Substituting into formula (3), the linear acceleration of the second joint 22 can be obtained.
[0141] Similarly, when i = 2, the second angular velocity of the third joint can be calculated using formula (1). 3 After ω3, 3 Substituting ω3 into formula (2), we obtain the second angular acceleration of the third joint. Then Substituting into formula (3), the linear acceleration of the third joint can be obtained.
[0142] The center of mass, or CSM, is an imaginary point on a material system where the mass is considered to be concentrated. Unlike the center of gravity, the CSM does not necessarily exist in a system with a gravitational field. It is important to note that unless the gravitational field is uniform, the CSM and the center of gravity of the same material system are usually not at the same imaginary point. The CSM of an object refers to the superposition of two motions: translation with respect to a fixed point and rotation about that point, when the line of action of an external force passes through that fixed point.
[0143] Please see Figure 2 and Figure 10In some embodiments, the linear accelerations acting on the centers of mass of the first robotic arm 11, the second robotic arm 12, and the third robotic arm 13 are expressed by the following formula:
[0144]
[0145] in, Let be the linear acceleration acting on the center of mass of the i-th robotic arm. Let {i} be the position vector of the (i+1)th robotic arm's center of mass relative to coordinate system {i}. i P i+1 This is the position vector of the origin of the robot arm coordinate system {i+1} in the robot arm coordinate system {i}. The meanings of the other parameters are the same as described above and will not be repeated here.
[0146] Specifically, a position vector is a directed line segment that starts at the origin of the coordinate system and ends at the position of the moving particle at a given moment.
[0147] More specifically, the calculations can be performed iteratively from the first to the third robotic arm using the Newton-Euler iterative dynamics algorithm.
[0148] When i = 0, the formula (1) above can be used. 1 ω1, in formula (2) With formula (3) Substituting into formula (4), the linear acceleration acting on the center of mass of the first robotic arm 11 can be calculated.
[0149] When i = 1, the formula (1) above can be used. 2 ω2, in formula (2) With formula (3) Substituting into formula (4), the linear acceleration acting on the center of mass of the second robotic arm 12 can be calculated.
[0150] When i = 2, the formula (1) above can be used as follows: 3 ω3, in formula (2) With formula (3) Substituting into formula (4), the linear acceleration acting on the center of mass of the third robotic arm 13 can be calculated.
[0151] Please see Figure 2 and Figure 11 In some implementations, the first kinetic formula is:
[0152]
[0153]
[0154] Where, m i+1 Let the mass of the (i+1)th robotic arm be... i+1 F i+1 The inertial force acting on the center of mass of the (i+1)th robotic arm, i+ 1 N i+1 Let n be the torque acting on the center of mass of the (i+1)th robotic arm. Let the (i+1)th robotic arm be in the centroid coordinate system {C i+1 The inertia tensor in}. The meanings of the other parameters are the same as described above, and will not be repeated here.
[0155] The inertia tensor refers to the coordinate system Kxyz with respect to any reference point K in three-dimensional space and the coordinate system Kxyz with the reference point as the origin.
[0156] Specifically, the common statement of Newton's second law of motion is that the magnitude of an object's acceleration is directly proportional to the force acting on it, inversely proportional to the object's mass, and directly proportional to the reciprocal of the object's mass; the direction of the acceleration is the same as the direction of the force acting on it.
[0157] Given the mass m1 of the first robotic arm 11, the mass m2 of the second mechanical wall, and the linear acceleration acting on the center of mass of the first robotic arm 11... and the linear acceleration acting on the center of mass of the second robotic arm 12 In this case, the inertial force acting on the center of mass of the first robotic arm 11 can be calculated according to Newton's second law of motion. 1 F1 and the inertial force acting on the center of mass of the second robotic arm 12 2 F2.
[0158] When i = 0, the linear acceleration acting on the center of mass of the first robotic arm 11 calculated in formula (4) is... Substituting into formula (5), the inertial force acting on the center of mass of the first robotic arm 11 can be obtained. 1 F1. Then... 1 Substituting the value of F1 into formula (6), the torque acting on the center of mass of the first robotic arm 11 is finally calculated. 1 N1.
[0159] When i = 1, the linear acceleration acting on the center of mass of the second robotic arm 12 calculated in formula (4) is... Substituting into formula (5), the inertial force acting on the center of mass of the second robotic arm 12 can be obtained. 2 F2. Then... 2 Substituting the value of F2 into formula (6), the torque acting on the center of mass of the second robotic arm 12 is finally calculated. 2 N2.
[0160] When i = 2, the linear acceleration acting on the center of mass of the third robotic arm 13 calculated in formula (4) is... Substituting into formula (5), the inertial force acting on the center of mass of the third robotic arm 13 can be obtained. 3 F3. Then... 3 Substituting the value of F3 into formula (6), the torque acting on the center of mass of the third robotic arm 13 is finally calculated. 3 N3.
[0161] Please see Figure 2 and Figure 11 In some implementations, the second kinetic formula is:
[0162]
[0163]
[0164] in, i F i , i N i Let be the inertial force and torque at the center of mass of the i-th robotic arm. i+1 f i+1 , i+1 n i+1 Let represent the force and torque exerted by the i-th robotic arm on the (i+1)-th robotic arm. The meanings of the remaining parameters are the same as described above and will not be repeated here.
[0165] Specifically, when the inertial force acting on the center of mass of the first robotic arm 11 is determined... 1 F1 and torque 1 N1, the inertial force acting on the center of mass of the second robotic arm 12. 2 F2 and torque 2 N2, and the inertial force acting on the center of mass of the third robotic arm 13. 3 F3 and torque 3 After N3, the interaction forces and torques between the robotic arms can be calculated by iterating from the third robotic arm 13 to the first robotic arm 11 inwards using the Newton-Euler iterative dynamics algorithm.
[0166] Among them, calculation 3 f3 and 3 When n3 is used, it will be used 4 f4 and 4 n4. For example... Figure 2 As shown, because the end 131 of the third robotic arm 13 in the vertical direction Z is not subjected to any external force or torque, therefore 4 f4 = 0, 4 n4 = 0.
[0167] When i=3, the inertial force acting on the center of mass of the third robotic arm 13, calculated when i=2, can be used. 3 Substituting F3 into formula (7), we can obtain the force exerted by the second robotic arm 12 on the third robotic arm 13. 3 f3.
[0168] When i=3, the inertial force acting on the center of mass of the third robotic arm 13, calculated when i=2, can be used. 3 F3 and torque 3 Substituting N3 into formula (7), we can obtain the torque exerted by the second robotic arm 12 on the third robotic arm 13. 3 n3.
[0169] When i=2, the inertial force acting on the center of mass of the third robotic arm 12, calculated when i=1, can be used. 2 F2, and the force calculated when i=3, acting on the third robotic arm 13 by the second robotic arm 12. 3 Substituting f3 into formula (7), we can obtain the force exerted by the first robotic arm 11 on the second robotic arm 12. 2 f2.
[0170] When i=2, the inertial force acting on the center of mass of the third robotic arm 13, calculated when i=1, can be used. 2 F2 and torque 2 N2, and the torque of the second robotic arm 12 acting on the third robotic arm 13 calculated when i=3. 3 Substituting N3 into formula (8), we can obtain the torque exerted by the first robotic arm 11 on the second robotic arm 12. 2 n2. It is understandable that the calculation methods for the remaining parameters have already been explained above, and will not be repeated here.
[0171] Please see Figure 2 and Figure 11 In some implementations, the third kinetic formula is:
[0172]
[0173]
[0174] in, 2 f2、 2 n2 represents the inertial force and torque exerted by the first robotic arm 11 and the double-link transmission mechanism 30 on the center of mass of the second robotic arm 12. 2 F2 is the inertial force acting on the center of mass of the second robotic arm 12. 2 N2 is the torque acting on the center of mass of the second robotic arm 12.
[0175] More specifically, the inertial force acting on the center of mass of the third robotic arm 12, calculated when i=1, can be used as an example. 2 F2, and the force calculated when i=3, acting on the third robotic arm 13 by the second robotic arm 12. 3 Substituting f3 into formula (9), we can obtain the force exerted by the first robotic arm 11 on the second robotic arm 12. 2 f2.
[0176] The inertial force acting on the center of mass of the third robotic arm 13, calculated when i=1. 2 F2 and torque 2 N2, and the torque of the second robotic arm 12 acting on the third robotic arm 13 calculated when i=3. 3 Substituting N3 into formula (10), the torque exerted by the first robotic arm 11 on the second robotic arm 12 can be obtained. 2 N2. It should be noted that the calculation methods for the other parameters have been explained above and will not be repeated here.
[0177] In some embodiments, the torque of the first motor 41 is expressed by the following formula:
[0178] τ1= 1 n1, (11)
[0179] Where τ1 is the torque of the first motor 41, 1 n1 is the torque of the first joint 21.
[0180] The torque of the second joint 22 is provided by the second motor 42. The second motor 42 is installed in a rear-mounted manner. The reaction force generated by the motor torque of the second motor 42 will act directly on the first flange 331 through the double linkage transmission mechanism 30. Unlike the dynamic modeling method of series structure, the reaction torque of the rotation of the second motor 42 will not act on the first joint 21.
[0181] Simultaneously, while the double-link transmission mechanism 30 rotates, it is also located within the first robotic arm 11 of the robot 100. Therefore, the double-link transmission mechanism 30 will revolve with the first robotic arm 11, thus affecting the torque of the first joint 21. In summary, the formula for calculating the torque of the first joint 21 can be derived as follows:
[0182] in, 1 N1 is the inertial force at the center of mass of the first robotic arm 11. Let {1} be the position vector of the center of mass of the first robotic arm 11 relative to coordinate system {1}. 1 F1 is the torque at the center of mass of the first robotic arm 11. 1P2 is the position vector of the origin of the robotic arm coordinate system {2} in the robotic arm coordinate system {1}. Let $\mathbf{a}$ be the rotation transformation matrix from coordinate system ${1}$ to coordinate system ${2}$. 2 f2 is the force exerted by the first robotic arm 11 on the second robotic arm 12.
[0183] Substituting formula (12) into formula (11), we can obtain... Therefore, the torque τ1 of the first motor 41 can be calculated using formula (13).
[0184] In some embodiments, the torque of the second motor 42 is expressed by the following formula:
[0185] τ2=τ link + 2 n2, (14)
[0186] Where τ2 is the torque of the second motor 42. 2 n2 is the torque at the center of mass of the second robotic arm 12, τ link This is the torque required for the rotation of the double linkage transmission mechanism 30.
[0187] Specifically, the second motor 42 bears the torque generated by the rotation of the second robotic arm 12 and also provides the torque required for the rotation of the double-link transmission mechanism 30. Let the rotation radius of the double-link transmission mechanism 30 be r, and the rotational speed of the second motor 42 be... The mass of the double linkage transmission mechanism 30 is m L The kinetic energy of the double-link transmission mechanism 30 is T, and the formula for calculating the kinetic energy T of the double-link transmission mechanism 30 can be further derived as follows:
[0188]
[0189] According to the Lagrange equations of dynamics, the double-link transmission mechanism 30 only has kinetic energy, and the required torque for the double-link transmission mechanism 30 can be derived as follows: Where L = TV, V = 0, therefore, formulas (15) and (16) can be substituted into formula (14) to obtain the torque τ2 of the second motor 42 = τ link + 2 n2, where, 2 n2 can be calculated using formula (10), and there are no restrictions here.
[0190] In summary, through the above steps, the linear acceleration, second angular velocity, and second angular acceleration of the second joint 22 and the first joint 21 are constructed, and the inertial force and torque acting on the center of mass of the third robotic arm 13, the second robotic arm 12, and the first robotic arm 11 are constructed. Thus, the interaction force and interaction torque between the second robotic arm 12 and the third robotic arm 13, as well as between the first robotic arm 11 and the double-link transmission mechanism 30 and the second robotic arm 12, are constructed. Then, the first calculation formula for the torque of the first motor 41 and the second calculation formula for the torque of the second motor 42 are constructed, thereby completing the dynamic analysis and modeling of the robotic arm of the robot 100.
[0191] After completing the dynamic analysis and modeling of the robotic arm of robot 100, the dynamic analysis and modeling method provided in this application can be simulated and verified with the existing dynamic modeling software ADAMS (Automatic Dynamic Analysis of Mechanical Systems) to determine whether the robotic arm dynamic analysis and modeling method in this application is effective.
[0192] ADAMS software uses an interactive graphical environment and libraries of parts, constraints, and forces to create fully parametric geometric models of mechanical systems. Its solver employs the Lagrange equation method from multi-rigid-body system dynamics theory to establish the system's dynamic equations, performing static, kinematic, and dynamic analyses on the virtual mechanical system and outputting displacement, velocity, acceleration, and reaction force curves. ADAMS simulations can be used to predict the performance, range of motion, collision detection, peak loads, and calculate input loads for finite element methods of mechanical systems. However, the calculation process is a "black box" for the user, primarily used for verifying the dynamics of mechanical systems.
[0193] ADAMS is, on the one hand, an application software for virtual prototyping analysis, allowing users to easily perform static, kinematic, and dynamic analyses on virtual mechanical systems. On the other hand, it is also a virtual prototyping analysis development tool. Its open program structure and multiple interfaces make it a secondary development platform for users in specialized industries to perform special types of virtual prototyping analyses. ADAMS software has two operating system versions: UNIX and Windows NT / 2000. This introduction will focus on the Windows 2000 version of ADAMS 12.0.
[0194] The CAD model of the SCARA robot 100 based on the double-link transmission mechanism 30 is substituted into the dynamic analysis and modeling method proposed in this application embodiment. The cycle test trajectory is input, and the torques of the rear-mounted first motor 41 and second motor 42 are calculated. Simultaneously, using the same CAD model, modeling is performed in the robot 100 dynamics simulation software ADAMS, and the cycle trajectory is tested. The resulting torque comparison diagram is shown below. Figure 12 and Figure 13 As shown.
[0195] in, Figure 12 A comparison diagram of the torque of the first motor 41 in the embodiments of this application and the torque in the dynamic simulation software ADAMS. Figure 13 A comparison diagram of the torque of the CAD model of the first motor 42 in the embodiment of this application and the torque in the dynamic simulation software ADAMS.
[0196] according to Figure 12 and Figure 13 It can be seen that the robotic arm dynamics analysis and modeling method proposed in this application is consistent with the calculation results of the ADAMS dynamics simulation software, thus proving the effectiveness of the robotic arm dynamics analysis and modeling method provided in this application.
[0197] Dynamic parameter identification is fundamental to robot dynamics control, and the accuracy of dynamic parameters directly affects the accuracy of the dynamic model. The higher the accuracy of the robotic arm's dynamics analysis and modeling, the more accurate the estimation of the joint torques of the robot will be when the same method is applied to the robot, resulting in better force control and improved robot efficiency.
[0198] The non-volatile computer-readable storage medium for computer-executable instructions provided in this application enables the processor to execute the robotic arm dynamics analysis and modeling method described in any one of the above-described embodiments when the computer-executable instructions are executed by one or more processors.
[0199] The algorithms or displays provided herein are not inherently related to any particular computer, virtual system, or other device. Various general-purpose systems can also be used in conjunction with the teachings herein. The required structure for constructing such systems is apparent from the above description. Furthermore, the embodiments of the present invention are not directed to any particular programming language. It should be understood that the content of the invention described herein can be implemented using various programming languages, and the above description of specific languages is for the purpose of disclosing the best mode of implementation of the invention.
[0200] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "illustrative embodiment," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with the 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.
[0201] 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 executable instructions for implementing a particular logical function or process, 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 function involved, as will be understood by those skilled in the art to which embodiments of this application pertain.
[0202] The logic and / or steps represented in the flowchart or otherwise described herein can be considered as a ordered list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus, or device (such as a computer-based system, a system including a processing module, or other system that can fetch and execute instructions from, an instruction execution system, apparatus, or device). For the purposes of this specification, "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transmit programs for use by, or in conjunction with, an instruction execution system, apparatus, or device.
[0203] More specific examples of computer-readable media (a non-exhaustive list) include: electrical connections (electronic devices) having one or more wires, portable computer disk drives (magnetic devices), random access memory (RAM), read-only memory (ROM), erasable and editable read-only memory (EPROM or flash memory), fiber optic devices, and portable optical disc read-only memory (CDROM). Furthermore, computer-readable media can even be paper or other suitable media on which the program can be printed, since the program can be obtained electronically by optically scanning the paper or other medium, followed by editing, interpreting, or otherwise processing as necessary, and then stored in computer memory.
[0204] The processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor. It should be understood that various parts of the embodiments of this application can be implemented in hardware, software, firmware, or a combination thereof.
[0205] In the above embodiments, multiple steps or methods can be implemented using software or firmware stored in memory and executed by a suitable instruction execution system. In one embodiment, 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 (PGAs), field-programmable gate arrays (FPGAs), etc.
[0206] Those skilled in the art will understand that all or part of the steps of the methods in the above embodiments can be implemented by a program instructing related hardware. The program can be stored in a computer-readable storage medium, and when executed, the program includes one or a combination of the steps of the method embodiments.
[0207] Furthermore, the functional units in the various embodiments of this application can be integrated into a processing module, or each unit can exist physically separately, or two or more units can be integrated into a module. The integrated module can be implemented in hardware or as a software functional module. If the integrated module is implemented as a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. The storage medium mentioned above can be a read-only memory, a hard disk, or an optical disk, etc.
[0208] Although embodiments of this application have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting this application. Those skilled in the art can make changes, modifications, substitutions and variations to the above embodiments within the scope of this application.
Claims
1. A method for analyzing and modeling the dynamics of a robotic arm, characterized in that, include: A first dynamic formula is constructed to determine the inertial force and torque acting on the centers of mass of the first, second, and third robotic arms. The first robotic arm is rotatably connected to the second robotic arm. The first robotic arm rotates about a first joint, the second robotic arm rotates about a second joint, and the third robotic arm moves in the vertical direction relative to the second robotic arm. Based on the inertial force and torque of the centers of mass of the first robotic arm, the second robotic arm, and the third robotic arm, a second dynamic formula for the interaction force and interaction torque between the robotic arms is constructed. Based on the inertial force and torque of the centers of mass of the first robotic arm, the second robotic arm, and the third robotic arm, a third dynamic formula is constructed for the force and torque of the first robotic arm and the double-link transmission mechanism acting on the second robotic arm, wherein the double-link transmission mechanism is disposed in the first robotic arm; Based on the inertial force and torque acting on the centers of mass of the first, second, and third robotic arms, a first calculation formula for the torque of the first motor is constructed, and the first motor is used to drive the first robotic arm to rotate. Based on the inertial force and torque acting on the centers of mass of the first, second, and third robotic arms, a second calculation formula for the torque of the second motor is constructed. The second motor is used to drive the second robotic arm to rotate through the double-link transmission mechanism. Verify the first dynamic formula, the second dynamic formula, the third dynamic formula, the first calculation formula, and the second calculation formula; The first dynamic formula for the inertial forces and moments acting on the centers of mass of the first, second, and third robotic arms includes: Based on the Newton-Euler iterative dynamics algorithm, the formulas for the second angular velocity, second angular acceleration, and acceleration of the first joint and the second joint are constructed, as well as the formula for the linear acceleration of the center of mass acting on the first robotic arm, the second robotic arm, and the third robotic arm. Based on the formulas for the second angular velocity, second angular acceleration, and linear acceleration of the first joint and the second joint, and the formula for the linear acceleration of the center of mass acting on the first robotic arm, the second robotic arm, and the third robotic arm, the first dynamic formula is constructed. The second angular velocity, second angular acceleration, and linear acceleration of the first joint and the second joint are expressed by the following formulas: The linear accelerations acting on the centers of mass of the first robotic arm, the second robotic arm, and the third robotic arm are expressed by the following formula:
2. The method for analyzing and modeling the dynamics of a robotic arm according to claim 1, characterized in that, The first dynamic formula is:
3. The method for analyzing and modeling the dynamics of a robotic arm according to claim 2, characterized in that, The second dynamic formula is:
4. The method for analyzing and modeling the dynamics of a robotic arm according to claim 3, characterized in that, The third dynamic formula is:
5. The method for analyzing and modeling the dynamics of a robotic arm according to claim 4, characterized in that, The torque of the first motor is expressed by the following formula: , 。 6. The method for analyzing and modeling the dynamics of a robotic arm according to claim 5, characterized in that, The torque of the second motor is expressed by the following formula: , 7. A robot, characterized in that, The robot includes a first robotic arm, a second robotic arm, a third robotic arm, and a double-link transmission mechanism. The first robotic arm is rotatably connected to the second robotic arm. The first robotic arm rotates around a first joint, and the second robotic arm rotates around a second joint. The third robotic arm moves vertically relative to the second robotic arm. The double-link transmission mechanism is disposed in the first robotic arm. The robotic arm dynamics analysis and modeling method according to any one of claims 1-6 can be used in the robot.
8. A computer device, characterized in that, The computer device includes a memory and a processor. The memory stores a computer program, and when the processor executes the computer program, it implements the robotic arm dynamics analysis and modeling method as described in any one of claims 1-6.
9. A non-volatile computer-readable storage medium with computer-executable instructions, characterized in that, When the computer-executable instructions are executed by one or more processors, the processors perform the robotic arm dynamics analysis and modeling method according to any one of claims 1-6.
Citation Information
Patent Citations
Static and dynamic identification method for dynamic parameter for robot
CN102320043A
Electric wheel steering control system integrating active steering function, power-assisted steering function and direct yawing moment control function and control method of electric wheel steering control system
CN106080753A