Robot gravity center position calculation method and device, electronic equipment and storage medium

By acquiring and mapping the link parameters of the robot joint segment, and using coordinate transformation to relate to the center of gravity position of the computer robot, the problem of inefficient determination of center of gravity position in the existing technology is solved, and efficient and accurate center of gravity position calculation is achieved.

CN119635636AActive Publication Date: 2025-03-18ZHUHAI GREE INTELLIGENT EQUIP CO LTD +1
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
CN202411868079.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-18
Publication Date
2025-03-18
Estimated Expiration
2044-12-18

AI Technical Summary

Technical Problem

In the prior art, the workload and inefficiency are high when determining the center of gravity of the robot, especially when there are many types of robots, which affects the work efficiency.

Method used

By obtaining the link parameters of two adjacent joint segments in the current posture of the target robot, mapping them into the robot model, using the coordinate transformation relationship to convert the center of mass to the ground coordinate system, and calculate the center of gravity position based on the center of mass and mass.

Benefits of technology

The efficient determination of the robot's centroid position is achieved, reducing the complexity of physical simulation or iterative calculations, improving the computing efficiency, and providing an accurate estimate of the centroid position.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119635636A_ABST
    Figure CN119635636A_ABST
Patent Text Reader

Abstract

The invention relates to the field of robots, in particular to a calculation method and device for the center-of-gravity position of a robot, electronic equipment and a storage medium. The connecting rod parameters are mapped to a robot model corresponding to the target robot, and in the robot model, a ground coordinate system is arranged based on a base of the target robot, and a first coordinate system is correspondingly arranged based on each joint section; based on a coordinate transformation relation between two adjacent joint sections, converting the position of the mass center of each joint section in the adjusted robot model into a coordinate value in a ground coordinate system; and calculating the coordinate value of the gravity center of the target robot in the ground coordinate system based on the coordinate value of the mass center of each joint section in the ground coordinate system and the mass of each joint section. The center-of-gravity position of the robot is calculated in a structured and systematized mode, the calculation complexity is reduced, and the calculation efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present invention relate to the field of robots, and in particular to a method, device, electronic device and storage medium for calculating the center of gravity position of a robot. Background Art

[0002] In order to avoid the robot tipping over due to equipment bumps and vibrations during transportation and hoisting, which may cause personal injury, equipment damage, delays in construction, etc., it is necessary to determine the center position in order to properly fix the robot or determine a reasonable hoisting position.

[0003] At present, when determining the center of gravity of a robot, it is necessary to repeatedly adjust the posture of each joint component in the 3D software to finally determine the center of gravity, which makes the workload cumbersome and inefficient. Especially when there are many robot models, the workload is large, which further affects the work efficiency. Summary of the invention

[0004] The purpose of the present invention is to at least provide a method, device, electronic device and storage medium for calculating the center of gravity of a robot, which can at least solve the problems of large workload and low efficiency in determining the center of mass in the prior art, and at least achieve the effect of efficiently determining the center of mass of the robot.

[0005] To solve the above technical problems, at least one embodiment of the present application provides a method for calculating the center of gravity position of a robot, comprising:

[0006] Obtain the connecting rod parameters of two adjacent joint segments in the current posture of the target robot, wherein the target robot includes a base and a plurality of the joint segments, the boundaries of each joint segment are the output surfaces of the reducer, the connecting portion between two adjacent joint segments is a joint, and the connecting rod parameters include connecting rod length, connecting rod torsion angle, joint distance and joint angle;

[0007] Mapping the connecting rod parameters to a robot model corresponding to the target robot to obtain an adjusted robot model consistent with the current posture of the target robot, wherein in the robot model, a ground coordinate system is set based on the base of the target robot, and a first coordinate system is set correspondingly based on each of the joints of the target robot;

[0008] Based on the coordinate transformation relationship between two adjacent joint segments, the coordinate values ​​of the center of mass of each joint segment in the adjusted robot model in the first coordinate system are converted into coordinate values ​​in the ground coordinate system;

[0009] Based on the coordinate value of the center of mass of each joint segment in the ground coordinate system and the mass of each joint segment, the coordinate value of the center of mass of the target robot in the ground coordinate system is calculated.

[0010] At least one embodiment of the present application further provides a device for calculating the center of gravity position of a robot, comprising:

[0011] An acquisition module is used to acquire the connecting rod parameters of two adjacent joint segments in the current posture of the target robot, wherein the target robot comprises a base and a plurality of the joint segments, the boundaries of each of the joint segments are the output surfaces of the reducer, the connecting portion between two adjacent joint segments is a joint, and the connecting rod parameters include connecting rod length, connecting rod torsion angle, joint distance and joint angle;

[0012] A mapping module, used for mapping the connecting rod parameters to a robot model corresponding to the target robot, to obtain an adjusted robot model consistent with the current posture of the target robot, wherein in the robot model, a ground coordinate system is provided based on the base of the target robot, and first coordinate systems are provided correspondingly based on each of the joints of the target robot;

[0013] A coordinate conversion module, configured to convert the coordinate values ​​of the center of mass of each joint segment in the adjusted robot model in the first coordinate system into the coordinate values ​​in the ground coordinate system based on the coordinate transformation relationship between two adjacent joint segments;

[0014] The coordinate calculation module is used to calculate the coordinate value of the center of gravity of the target robot in the ground coordinate system based on the coordinate value of the center of mass of each joint segment in the ground coordinate system and the mass of each joint segment.

[0015] At least one embodiment of the present application also provides an electronic device, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the above-mentioned method for calculating the center of gravity position of the robot.

[0016] At least one embodiment of the present application further provides a computer-readable storage medium storing a computer program, which implements the above-mentioned method for calculating the center of gravity position of the robot when executed by a processor.

[0017] In some optional embodiments, based on the coordinate transformation relationship between two adjacent joint segments, converting the coordinate values ​​of the center of mass of each joint segment in the adjusted robot model in the first coordinate system into the coordinate values ​​in the ground coordinate system includes:

[0018] Based on the coordinate transformation relationship between two adjacent joint segments, calculating the transformation matrix of each of the first coordinate systems relative to the ground coordinate system;

[0019] According to the transformation matrix of each of the first coordinate systems relative to the ground coordinate system, the transformation matrix of the position of the center of mass of each joint segment in the first coordinate system in the ground coordinate system is calculated to obtain the coordinate value of the center of mass of each joint segment in the ground coordinate system.

[0020] In some optional embodiments, the calculating, based on the coordinate transformation relationship between two adjacent joint segments, a transformation matrix of each of the first coordinate systems relative to the ground coordinate system includes:

[0021] The transformation matrix of the first coordinate system relative to the ground coordinate system is obtained according to the following calculation formula:

[0022] i-1 A i =rot z (θ i )trans z (d i )trans x (a i )rot x (α i );

[0023] 0 A i = 0 A 1 1 A 2 ... i-1 A i , i=1,2…n;

[0024] Where n is the total number of first coordinate systems, i-1 A i is the coordinate transformation matrix between two adjacent joint segments, 0 A i is the transformation matrix of the first coordinate system corresponding to the ith joint relative to the ground coordinate system, θ is the rotation angle between two adjacent joints along the z-axis, d is the joint offset along the z-axis, a is the length of the two joints along the x-axis, and α is the angle between two adjacent joint axes along the x-axis.

[0025] In some optional embodiments, calculating, according to the transformation matrix of each of the first coordinate systems relative to the ground coordinate system, the transformation matrix of the position of the center of mass of each of the joint segments in the first coordinate system in the ground coordinate system includes:

[0026] According to the following calculation formula, the transformation matrix of the position of the center of mass of each joint segment in the ground coordinate system is obtained:

[0027]

[0028] Among them, p xi , p yi , and p zi are the translation components of the center of mass of each joint segment along the x-axis, y-axis and z-axis in the corresponding first coordinate system, p 0xi , p 0yi , and p 0zi are respectively the translation components of the center of mass of each joint segment along the x-axis, y-axis and z-axis in the ground coordinate system.

[0029] In some optional embodiments, the joint segment mass includes the mass of the joint segment body and the mass of an external device arranged on the joint, and the calculation of the transformation matrix of the position of the center of mass of each joint segment in the first coordinate system in the ground coordinate system according to the transformation matrix of each first coordinate system relative to the ground coordinate system includes:

[0030] Calculate the position of the joint segment center of mass in the first coordinate system according to the mass of the joint segment body, the position of the joint segment center of mass in the first coordinate system, the mass of the external device, and the position of the external device center of mass in the first coordinate system;

[0031] According to the transformation matrix of each of the first coordinate systems relative to the ground coordinate system, the transformation matrix of the position of the center of mass of the joint segment in the corresponding first coordinate system in the ground coordinate system is calculated.

[0032] In some optional embodiments, calculating the position of the joint segment center of mass in the first coordinate system according to the mass of the joint segment body, the position of the joint segment body in the first coordinate system, the mass of the external device, and the position of the external device in the first coordinate system includes:

[0033] The position of the center of mass of each joint segment in the corresponding first coordinate system is calculated according to the following formula:

[0034] x i =(m i1 P xi1 +m i2 P xi2 ) / (m i1 +m i2 )

[0035] y i =(mi1 P yi1 +m i2 P yi2 ) / (m i1 +m i2 )

[0036] z i =(m i1 P zi1 +m i2 P zi2 ) / (m i1 +m i2 )

[0037] m i =m i1 +m i2 , i=1,2…n

[0038] Among them, m i is the mass of the i-th joint segment, m i1 is the mass of the joint segment, m i2 is the mass of the external device, p xi1 , p yi1 , and p zi1 are the translation components of the mass center of the joint segment body along the x-axis, y-axis and z-axis in the corresponding first coordinate system, respectively, xi2 , p yi2 , and p zi2 are the translation components of the center of mass of the external device along the x-axis, y-axis and z-axis in the corresponding first coordinate system, respectively. i ,y i and z i are respectively the translation components of the center of mass of the joint segment along the x-axis, y-axis and z-axis in the corresponding first coordinate system, and n is the total number of first coordinate systems.

[0039] In some optional embodiments, calculating the transformation matrix of the position of the center of mass of each joint segment in the first coordinate system in the ground coordinate system according to the transformation matrix of each first coordinate system relative to the ground coordinate system, and obtaining the coordinate value of the center of mass of each joint segment in the ground coordinate system includes:

[0040] The coordinate value of the center of gravity of the target robot in the ground coordinate system is calculated according to the following calculation formula:

[0041] x C =∑(m i P 0xi ) / ∑m i

[0042] y C =∑(m i P0yi ) / ∑m i

[0043] z C =∑(m i P 0zi ) / ∑m i

[0044] Among them, p 0xi , p 0yi , and p 0zi are the translation components of the center of mass of each joint segment along the x-axis, y-axis and z-axis in the ground coordinate system, respectively. c ,y c and z c are the translation components of the target robot’s center of gravity along the x-axis, y-axis, and z-axis in the ground coordinate system, respectively, m i is the mass of the i-th joint segment.

[0045] The calculation method, device, electronic device and storage medium of the center of gravity position of the robot provided by the embodiment of the present application can accurately describe the actual physical state of the robot by obtaining the connecting rod parameters of the two adjacent joint segments under the current posture of the target robot. By setting a first coordinate system with the rotation center as the origin for each joint, the position and direction of the joint in space can be accurately described. The coordinate transformation relationship between the two adjacent joint segments is defined based on the respective first coordinate systems, thereby simplifying the complexity of the coordinate transformation. After adjusting the robot model, the center of mass position of each joint segment can be represented in the respective first coordinate systems. Then, by applying the coordinate transformation relationship between the adjacent joint segments, the center of mass position can be easily converted into the coordinate value in the ground coordinate system, thereby realizing the ability to compare and analyze the center of mass positions of different joint segments in a unified coordinate system. Finally, when calculating the center of gravity position, not only the mass distribution of the joint segment is considered, but also the relative position of each joint in space is considered, thereby providing an accurate estimation of the center of gravity position.

[0046] In summary, the method for calculating the center of gravity of the robot of the present application calculates the center of gravity of the robot in a structured and systematic manner, reduces the complexity of physical simulation or iterative calculation, and thus improves the calculation efficiency. At the same time, since the method is based on a clear mathematical model and physical principles, the calculated results are more reliable. BRIEF DESCRIPTION OF THE DRAWINGS

[0047] One or more embodiments are exemplarily described by the pictures in the corresponding drawings, and these exemplary descriptions do not constitute limitations on the embodiments.

[0048] Figure 1is a flow chart of a method for calculating the center of gravity position of a robot provided by an embodiment of the prior application;

[0049] Figure 2 is a schematic diagram of establishing a ground coordinate system and a first coordinate system provided by an embodiment of the present application;

[0050] Figure 3 is a schematic diagram of the center of gravity position of the target robot in the xz plane when there is no load provided by an embodiment of the present application;

[0051] Figure 4 is a schematic diagram of the center of gravity position of the target robot in the yz plane when there is no load provided by an embodiment of the present application;

[0052] Figure 5 is a schematic diagram of the center of gravity position of a target robot provided by an embodiment of the present application;

[0053] Figure 6 It is a schematic diagram of the center of gravity position of the target robot in the xz plane when the load is 270KG provided by an embodiment of the present application;

[0054] Figure 7 It is a schematic diagram of the center of gravity position of the target robot in the yz plane when the load is 270KG provided by an embodiment of the present application;

[0055] Figure 8 It is a schematic diagram of a device for calculating the center of gravity position of a robot provided by another embodiment of the present application. DETAILED DESCRIPTION

[0056] To make the purpose, technical scheme and advantages of the embodiments of the present application clearer, the embodiments of the present application will be described in detail below in conjunction with the accompanying drawings. However, it will be appreciated by those skilled in the art that in the present application, many technical details are proposed in order to enable the reader to better understand the present application. However, even without these technical details and various changes and modifications based on the following embodiments, the technical scheme claimed in the present application can also be implemented. The division of the following embodiments is for the convenience of description, and the specific implementation of the present application should not be construed as any limitation, and the various embodiments can be combined and referenced with each other under the premise of no contradiction.

[0057] In order to avoid the robot tipping over due to equipment bumps and vibrations during transportation and hoisting, which may cause personal injury, equipment damage, delays in construction, etc., it is necessary to determine the center position in order to properly fix the robot or determine a reasonable hoisting position.

[0058] At present, when determining the center of gravity of a robot, it is necessary to repeatedly adjust the posture of each joint component in the 3D software to finally determine the center of gravity, which makes the workload cumbersome and inefficient. Especially when there are many robot models, the workload is large, which further affects the work efficiency.

[0059] In order to solve the above-mentioned technical problems of large workload and low efficiency in determining the center of mass, the present invention proposes a method for calculating the center of gravity position of a robot. The implementation details of the method for calculating the center of gravity position of the robot in this embodiment are specifically described below. The following content is only the implementation details provided for easy understanding and is not necessary for implementing this solution.

[0060] Embodiment 1:

[0061] The method for calculating the center of gravity of the robot of this embodiment can be applied to electronic devices with communication, computing and data storage capabilities. The specific process can be as follows: Figure 1 As shown, including:

[0062] Step 110, obtaining the connecting rod parameters of two adjacent joint segments in the current posture of the target robot, wherein the target robot includes a base and a plurality of the joint segments, the boundaries of each joint segment are the output surfaces of the reducer, the connecting portion between two adjacent joint segments is a joint, and the connecting rod parameters include connecting rod length, connecting rod torsion angle, joint distance and joint angle;

[0063] Specifically, if Figure 2 As shown, the target robot includes a base and J1 joint segment, J2 joint segment, J3 joint segment, J4 joint segment, J5 joint segment and J6 joint segment. The rotational connection structure between two adjacent joint segments is a joint. In robot design, a reducer is usually used to transmit the rotation of a motor to a joint, thereby controlling the movement of the joint. Therefore, in this embodiment, the boundary between the joint segments is defined as the output surface of the reducer.

[0064] Link parameters are key data that describe the relative position and motion between robot joint segments, including:

[0065] Connecting rod length a i : The straight-line distance between two adjacent joint axes.

[0066] Connecting rod torsion angle α i : The angle of rotation of the connecting rod around its axis, used to describe the torsional state of the connecting rod.

[0067] Joint distance d i : The distance between the joint axis and the center of mass of the joint segment, which is an important parameter when calculating the center of mass position.

[0068] Joint angle θ i: The current motion angle of the joint, used to determine the relative position of the joint segments.

[0069] Link parameters can be obtained from robot design documents or sensor measurements.

[0070] Step 120, mapping the connecting rod parameters to a robot model corresponding to the target robot to obtain an adjusted robot model consistent with the current posture of the target robot, wherein in the robot model, a ground coordinate system is set based on the base of the target robot, and a first coordinate system is set correspondingly based on each of the joints of the target robot;

[0071] In this embodiment, a robot model consistent with the structure of the target robot needs to be pre-built. The model is built based on the DH modeling method. Specifically, based on the base of the target robot, a fixed ground coordinate system is set to serve as a reference for all coordinate transformations. A first coordinate system is set on each joint, and these coordinate systems move with the movement of the joint to describe the relative position and posture of the joint segments.

[0072] The link parameters are input into the robot model, and the robot model adjusts the position and posture of the joint segments according to these parameters to match the current actual posture of the target robot.

[0073] For example, Figure 2 The first coordinate system O in i X i Y i Z i , i=1,2,3,4,5,6,t, the coordinate system only marks the X and Z directions, and the Y direction follows the right-hand rule. The origin of each coordinate system is as follows Figure 2 The circles in the figure are the rotation centers of the joint segments. 0 X 0 Y 0 Z 0 is the ground coordinate system. At this time, the rotation angles of the robot's 1-6 axes are 0°, -60°, 80°, 0°, 70° and 0° respectively.

[0074] Step 130, based on the coordinate transformation relationship between two adjacent joint segments, convert the coordinate value of the center of mass of each joint segment in the adjusted robot model in the first coordinate system into the coordinate value in the ground coordinate system;

[0075] In this embodiment, the mass center position of each joint segment can be measured from the adjusted robot model. In order to more accurately understand the overall motion state of the target robot, the mass center position of each joint segment in the adjusted robot model is accurately converted into a coordinate value in the ground coordinate system.

[0076] Coordinate transformation relationships usually include rotation and translation. The rotation part describes the rotation state of the joint segment around a certain axis, which depends on the type of joint (such as revolute joint or translation joint) and its current movement angle. The translation part describes the linear movement of the joint segment along a certain direction. These transformation relationships are based on the geometric parameters of the robot design, such as the length of the connecting rod, the torsion angle of the connecting rod, and the arrangement of the joints.

[0077] When performing coordinate transformation, based on the first coordinate system corresponding to each joint segment, the first coordinate system of the previous joint segment is transformed into the first coordinate system of the next joint segment. This process requires the application of rotation matrix and translation vector to ensure the accuracy and continuity of the transformation.

[0078] Through a series of coordinate transformations, the center of mass positions of all joint segments in the robot model are finally converted to the ground coordinate system. In the ground coordinate system, the spatial position of the center of mass of each joint segment can be intuitively seen, thus providing a reliable basis for subsequent motion planning, stability analysis, etc.

[0079] Step 140: Based on the coordinate values ​​of the center of mass of each joint segment in the ground coordinate system and the mass of each joint segment, the coordinate values ​​of the center of mass of the target robot in the ground coordinate system are calculated.

[0080] In this embodiment, the center of mass position and mass of each joint segment are combined using the definition and calculation method of the center of mass to determine the center of gravity position of the entire robot. The center of mass position is the weighted average of the center of mass positions of each joint segment, and the weight is the mass of each joint segment. The center of gravity position is obtained by calculating the weighted sum of the center of mass positions of each joint segment and then dividing it by the total mass. The center of gravity position is a coordinate value in the ground coordinate system and can be used in applications such as robot motion planning and stability analysis.

[0081] In summary, the method for calculating the center of gravity position of the robot provided in this embodiment can accurately describe the actual physical state of the robot by obtaining the connecting rod parameters of the two adjacent joint segments under the current posture of the target robot. By setting a first coordinate system with the rotation center as the origin for each joint, the position and direction of the joint in space can be accurately described. The coordinate transformation relationship between the two adjacent joint segments is defined based on their respective first coordinate systems, thereby simplifying the complexity of the coordinate transformation. After adjusting the robot model, the center of mass position of each joint segment can be represented in their respective first coordinate systems. Then, by applying the coordinate transformation relationship between adjacent joint segments, the center of mass position can be easily converted into a coordinate value in the ground coordinate system, thereby achieving the ability to compare and analyze the center of mass positions of different joint segments in a unified coordinate system. Finally, when calculating the center of gravity position, not only the mass distribution of the joint segment is considered, but also the relative position of each joint in space is considered, thereby providing an accurate estimation of the center of gravity position.

[0082] The method for calculating the center of gravity of the robot of this embodiment calculates the center of gravity of the robot in a structured and systematic manner, reduces the complexity of physical simulation or iterative calculation, and thus improves the calculation efficiency. At the same time, since the method is based on a clear mathematical model and physical principles, the calculated result is more reliable.

[0083] In some embodiments, based on the coordinate transformation relationship between two adjacent joint segments, the coordinate values ​​of the center of mass of each joint segment in the adjusted robot model in the first coordinate system are converted into coordinate values ​​in the ground coordinate system, including: based on the coordinate transformation relationship between two adjacent joint segments, calculating the transformation matrix of each first coordinate system relative to the ground coordinate system; according to the transformation matrix of each first coordinate system relative to the ground coordinate system, calculating the transformation matrix of the position of the center of mass of each joint segment in the first coordinate system in the ground coordinate system, to obtain the coordinate value of the center of mass of each joint segment in the ground coordinate system.

[0084] In this embodiment, the coordinate transformation relationship between adjacent joint segments can be represented by a homogeneous transformation matrix (4x4 matrix). The homogeneous transformation matrix contains information about rotation and translation, and can transform a point from one coordinate system to another. For each joint segment in the robot model, it is necessary to know the transformation matrix between the joint segment and the previous joint segment.

[0085] Since the robot model usually contains multiple joint segments, it is necessary to transform the center of mass position of each joint segment from the local coordinate system to the ground coordinate system by accumulating transformation matrices. This process usually starts with the base joint segment and then applies the transformation matrix of each adjacent joint segment in turn.

[0086] In some optional embodiments, the calculating, based on the coordinate transformation relationship between two adjacent joint segments, a transformation matrix of each of the first coordinate systems relative to the ground coordinate system includes:

[0087] The transformation matrix of the first coordinate system relative to the ground coordinate system is obtained according to the following calculation formula:

[0088] i-1 A i =rot z (θ i )trans z (d i )trans x (a i )rot x (α i );

[0089] 0 A i = 0 A 1 1 A 2 ... i-1 A i , i=1,2…n;

[0090] Where n is the total number of first coordinate systems, i-1 A i is the coordinate transformation matrix between two adjacent joint segments, 0 A i is the transformation matrix of the first coordinate system corresponding to the ith joint relative to the ground coordinate system, θ is the rotation angle between two adjacent joints along the z-axis, d is the joint offset along the z-axis, a is the length of the two joints along the x-axis, and α is the angle between two adjacent joint axes along the x-axis.

[0091] Specifically, i-1 A i The detailed calculation process after expansion is as follows:

[0092]

[0093] In some optional embodiments, calculating the transformation matrix of the position of the center of mass of each joint segment in the first coordinate system in the ground coordinate system according to the transformation matrix of each first coordinate system relative to the ground coordinate system includes: obtaining the transformation matrix of the position of the center of mass of each joint segment in the ground coordinate system according to the following calculation formula:

[0094]

[0095] Among them, p xi, p yi , and p zi are the translation components of the center of mass of each joint segment along the x-axis, y-axis and z-axis in the corresponding first coordinate system, p 0xi , p 0yi , and p 0zi are the translation components of the center of mass of each joint segment along the x-axis, y-axis and z-axis in the ground coordinate system, n xi , n yi , and n zi is the rotation vector of the first coordinate system x-axis of the i-th joint transformed to the ground coordinate system x-axis, o xi , o yi , and o zi is the rotation vector of the y-axis of the first coordinate system of the i-th joint transformed to the y-axis of the ground coordinate system, α xi , α yi , and α zi is the rotation vector of the z-axis of the first coordinate system of the i-th joint transformed to the z-axis of the ground coordinate system.

[0096] In some optional embodiments, the step of calculating the transformation matrix of the position of the center of mass of each joint segment in the first coordinate system in the ground coordinate system according to the transformation matrix of each first coordinate system relative to the ground coordinate system, and obtaining the coordinate value of the center of mass of each joint segment in the ground coordinate system, comprises: calculating the coordinate value of the center of mass of the target robot in the ground coordinate system according to the following calculation formula:

[0097] x C =Σ(m i P 0xi ) / Σm i

[0098] y C =Σ(m i P 0yi ) / Σm i

[0099] z C =∑(m i P 0zi ) / ∑m i

[0100] Among them, p 0xi , p 0yi , and p 0zi are the translation components of the center of mass of each joint segment along the x-axis, y-axis and z-axis in the ground coordinate system, respectively. c ,y c and z c are the translation components of the target robot’s center of gravity along the x-axis, y-axis, and z-axis in the ground coordinate system, respectively, mi is the mass of the i-th joint segment.

[0101] In some optional embodiments, the joint segment mass includes the mass of the joint segment body and the mass of the external device arranged on the joint, and the transformation matrix of the position of the center of mass of each joint segment in the first coordinate system in the ground coordinate system is calculated according to the transformation matrix of each first coordinate system relative to the ground coordinate system, including: calculating the position of the center of mass of the joint segment in the corresponding first coordinate system according to the mass of the joint segment body, the position of the center of mass of the joint segment body in the corresponding first coordinate system, the mass of the external device, and the position of the center of mass of the external device in the corresponding first coordinate system; calculating the transformation matrix of the position of the center of mass of the joint segment in the corresponding first coordinate system in the ground coordinate system according to the transformation matrix of each first coordinate system relative to the ground coordinate system.

[0102] In this embodiment, for any external device or fixture added to a joint segment, it is necessary to measure the center of mass position p of the external device or fixture in the first coordinate system of the corresponding joint. xi2 , p yi2 , p zi2 and mass m i2 ,Considering the joint segment and the external fixture as a whole, the total mass of the whole and the position of the center of mass of the whole are calculated.

[0103] In some optional embodiments, calculating the position of the joint segment center of mass in the first coordinate system according to the mass of the joint segment body, the position of the joint segment body in the first coordinate system, the mass of the external device, and the position of the external device in the first coordinate system comprises: calculating the position of the joint segment center of mass in the first coordinate system according to the following calculation formula:

[0104] x i =(m i1 P xi1 +m i2 P xi2 ) / (m i1 +m i2 )

[0105] y i =(m i1 P yi1 +m i2 P yi2 ) / (m i1 +m i2 )

[0106] z i =(m i1 Pzi1 +m i2 P zi2 ) / (m i1 +m i2 )

[0107] m i =m i1 +m i2 , i=1,2…n

[0108] Among them, m i is the mass of the i-th joint segment, m i1 is the mass of the joint segment, m i2 is the mass of the external device, p xi1 , p yi1 , and p zi1 are the translation components of the mass center of the joint segment body along the x-axis, y-axis and z-axis in the corresponding first coordinate system, respectively, xi2 , p yi2 , and p zi2 are the translation components of the center of mass of the external device along the x-axis, y-axis and z-axis in the corresponding first coordinate system, respectively. i ,y i and z i are respectively the translation components of the center of mass of the joint segment along the x-axis, y-axis and z-axis in the corresponding first coordinate system, and n is the total number of first coordinate systems.

[0109] Afterwards, x i ,y i and z i Replace p in the above steps xi , p yi , and p zi , calculate in sequence to find the center of mass position of the robot when it has external equipment or fixtures.

[0110] According to the calculation steps described in the above embodiment, the center of gravity position in the current posture can be solved when any set of robot parameters (including joint segment mass, connecting rod parameters, etc.) is given.

[0111] For example, Figure 3 As shown in the figure, the solid circle is the center of mass position in the xz plane when the target robot is unloaded. At this time, the rotation angles of the 1-6 axes of the target robot are 0°, -60°, 80°, 0°, 70° and 0° respectively.

[0112] like Figure 4 As shown in the figure, the solid circle is the center of gravity position in the yz plane when the target robot is unloaded. At this time, the rotation angles of the 1-6 axes of the target robot are 0°, -60°, 80°, 0°, 70° and 0° respectively.

[0113] like Figure 5 As shown, it is a schematic diagram of the center of gravity position of the target robot when there is no load.

[0114] like Figure 6 As shown, it is the position of the center of gravity in the xz plane when a load of 270KG is applied.

[0115] like Figure 7 As shown, it is the position of the center of gravity in the yz plane when a load of 270KG is applied.

[0116] In practical applications, for example, when shipping a target robot, the robot needs to be adjusted to the most stable posture to reduce the probability of tipping over during transportation. Therefore, the posture of the robot can be simulated and adjusted in the robot model. According to the above method, the corresponding center of gravity position under each posture can be quickly calculated and output similar Figure 4-6 The center of mass position diagram is shown in Figure 1. By comparing multiple center of mass positions, it is found that when the target robot 1-6 axis rotation angles are 0°, -60°, 80°, 0°, 70° and 0° respectively, the generated center of mass position is closest to the z axis, indicating that the posture at this time is the most stable. Therefore, the target robot is adjusted to this posture for transportation.

[0117] In some other application scenarios, for example, the working posture of the target robot needs to be monitored in real time to assess the risk of tipping. The above method can be used to calculate the center of gravity position corresponding to the current posture in real time, and determine the degree to which the center of gravity position deviates from the safety value, so as to assess the risk of tipping and make timely adjustments.

[0118] Embodiment 2:

[0119] Another embodiment of the present application relates to a device for calculating the center of gravity position of a robot. The implementation details of the device for calculating the center of gravity position of the robot of this embodiment are specifically described below. The following content is only for the convenience of understanding the implementation details provided, and is not necessary for the implementation of this solution. The schematic diagram of the device for calculating the center of gravity position of the robot of this embodiment can be as follows: Figure 8 As shown, it includes an acquisition module 810, a mapping module 820, a coordinate conversion module 830 and a coordinate calculation module 840.

[0120] The acquisition module 810 is used to acquire the connecting rod parameters of two adjacent joint segments in the current posture of the target robot, wherein the target robot includes a base and a plurality of the joint segments, the boundaries of each joint segment are the output surfaces of the reducer, the connecting part between two adjacent joint segments is a joint, and the connecting rod parameters include connecting rod length, connecting rod torsion angle, joint distance and joint angle;

[0121] A mapping module 820 is used to map the connecting rod parameters to a robot model corresponding to the target robot to obtain an adjusted robot model consistent with the current posture of the target robot, wherein in the robot model, a ground coordinate system is set based on the base of the target robot, and a first coordinate system is set correspondingly based on each of the joints of the target robot;

[0122] A coordinate conversion module 830, configured to convert the coordinate value of the center of mass of each joint segment in the adjusted robot model in the first coordinate system into the coordinate value in the ground coordinate system based on the coordinate transformation relationship between two adjacent joint segments;

[0123] The coordinate calculation module 840 is used to calculate the coordinate value of the center of gravity of the target robot in the ground coordinate system based on the coordinate value of the center of mass of each joint segment in the ground coordinate system and the mass of each joint segment.

[0124] It is worth mentioning that all modules involved in this embodiment are logic modules. In practical applications, a logic unit can be a physical unit, a part of a physical unit, or a combination of multiple physical units. In addition, in order to highlight the innovative part of this application, this embodiment does not introduce units that are not closely related to solving the technical problems proposed by this application, but this does not mean that there are no other units in this embodiment.

[0125] Embodiment three:

[0126] Another embodiment of the present application relates to an electronic device, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the method for calculating the center of gravity position of the robot in the above-mentioned embodiments.

[0127] Among them, the memory and the processor are connected in a bus manner, and the bus may include any number of interconnected buses and bridges, and the bus connects various circuits of one or more processors and memories together. The bus can also connect various other circuits such as peripherals, voltage regulators, and power management circuits, which are well known in the art and are therefore not further described herein. The bus interface provides an interface between the bus and the transceiver. The transceiver can be one element or multiple elements, such as multiple receivers and transmitters, providing a unit for communicating with various other devices on a transmission medium. The data processed by the processor is transmitted on a wireless medium via an antenna, and further, the antenna also receives data and transmits the data to the processor.

[0128] The processor is responsible for managing the bus and general processing, and can also provide various functions, including timing, peripheral interfaces, voltage regulation, power management, and other control functions. Memory can be used to store data used by the processor when performing operations.

[0129] Embodiment 4:

[0130] Another embodiment of the present application relates to a computer-readable storage medium storing a computer program, which implements the above method embodiment when executed by a processor.

[0131] That is, those skilled in the art can understand that all or part of the steps in the above-mentioned embodiment method can be completed by instructing the relevant hardware through a program, and the program is stored in a storage medium, including a number of instructions to enable a device (which can be a single-chip microcomputer, chip, etc.) or a processor to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (Read-Only Memory, referred to as: ROM), random access memory (Random Access Memory, referred to as: RAM), disk or optical disk and other media that can store program codes.

[0132] Those skilled in the art will appreciate that the above embodiments are specific embodiments for implementing the present application, and in actual applications, various changes may be made thereto in form and detail without departing from the spirit and scope of the present application.

Claims

1. A method for calculating the center of gravity of a robot, characterized in that: include: Obtain the connecting rod parameters of two adjacent joint segments in the current posture of the target robot, wherein the target robot includes a base and a plurality of the joint segments, the boundaries of each joint segment are the output surfaces of the reducer, the connecting portion between two adjacent joint segments is a joint, and the connecting rod parameters include connecting rod length, connecting rod torsion angle, joint distance and joint angle; Mapping the connecting rod parameters to a robot model corresponding to the target robot to obtain an adjusted robot model consistent with the current posture of the target robot, wherein in the robot model, a ground coordinate system is set based on the base of the target robot, and a first coordinate system is set correspondingly based on each of the joints of the target robot; Based on the coordinate transformation relationship between two adjacent joint segments, the coordinate values ​​of the center of mass of each joint segment in the adjusted robot model in the first coordinate system are converted into coordinate values ​​in the ground coordinate system; Based on the coordinate value of the center of mass of each joint segment in the ground coordinate system and the mass of each joint segment, the coordinate value of the center of mass of the target robot in the ground coordinate system is calculated.

2. The method for calculating the center of gravity of a robot according to claim 1, characterized in that: The step of converting the coordinate values ​​of the center of mass of each joint segment in the adjusted robot model in the first coordinate system into the coordinate values ​​in the ground coordinate system based on the coordinate transformation relationship between two adjacent joint segments includes: Based on the coordinate transformation relationship between two adjacent joint segments, calculating the transformation matrix of each of the first coordinate systems relative to the ground coordinate system; According to the transformation matrix of each of the first coordinate systems relative to the ground coordinate system, the transformation matrix of the position of the center of mass of each joint segment in the first coordinate system in the ground coordinate system is calculated to obtain the coordinate value of the center of mass of each joint segment in the ground coordinate system.

3. The method for calculating the center of gravity of a robot according to claim 2, characterized in that: The step of calculating the transformation matrix of each of the first coordinate systems relative to the ground coordinate system based on the coordinate transformation relationship between two adjacent joint segments includes: The transformation matrix of the first coordinate system relative to the ground coordinate system is obtained according to the following calculation formula: i-1 TO i =rot z (θ i )trans z (d i )trans x (to i )rot x (α i ); Where n is the total number of first coordinate systems, i-1 A i is the coordinate transformation matrix between two adjacent joint segments, 0 A i is the transformation matrix of the first coordinate system corresponding to the ith joint relative to the ground coordinate system, θ is the rotation angle between two adjacent joints along the z-axis, d is the joint offset along the z-axis, a is the length of the two joints along the x-axis, and α is the angle between two adjacent joint axes along the x-axis.

4. The method for calculating the center of gravity of a robot according to claim 3, characterized in that: The step of calculating, according to the transformation matrix of each of the first coordinate systems relative to the ground coordinate system, the transformation matrix of the position of the center of mass of each of the joint segments in the first coordinate system in the ground coordinate system comprises: According to the following calculation formula, the transformation matrix of the position of the center of mass of each joint segment in the ground coordinate system is obtained: Among them, p xi , p yi , and p zi are the translation components of the center of mass of each joint segment along the x-axis, y-axis and z-axis in the corresponding first coordinate system, p 0xi , p 0yi , and p 0zi are respectively the translation components of the center of mass of each joint segment along the x-axis, y-axis and z-axis in the ground coordinate system.

5. The method for calculating the center of gravity of a robot according to claim 2, characterized in that: The joint segment mass includes the mass of the joint segment body and the mass of the external device arranged on the joint, and the transformation matrix of the position of the center of mass of each joint segment in the ground coordinate system is calculated in the first coordinate system according to the transformation matrix of each first coordinate system relative to the ground coordinate system, including: Calculate the position of the joint segment center of mass in the first coordinate system according to the mass of the joint segment body, the position of the joint segment center of mass in the first coordinate system, the mass of the external device, and the position of the external device center of mass in the first coordinate system; According to the transformation matrix of each of the first coordinate systems relative to the ground coordinate system, the transformation matrix of the position of the center of mass of the joint segment in the corresponding first coordinate system in the ground coordinate system is calculated.

6. The method for calculating the center of gravity of a robot according to claim 5, characterized in that: The calculating the position of the joint segment mass center in the first coordinate system according to the mass of the joint segment body, the position of the joint segment body in the first coordinate system, the mass of the external device, and the position of the external device in the first coordinate system comprises: The position of the center of mass of each joint segment in the corresponding first coordinate system is calculated according to the following formula: x i =(m i1 P xi1 +m i2 P xi2 ) / (m i1 +m i2 ) y i =(m i1 P yi1 +m i2 P yi2 ) / (m i1 +m i2 ) z i =(m i1 P zi1 +m i2 P zi2 ) / (m i1 +m i2 ) m i =m i1 +m i2 ,i=1,2...n Among them, m i is the mass of the i-th joint segment, m i1 is the mass of the joint segment, m i2 is the mass of the external device, p xi1 , p yi1 , and p zi1 are the translation components of the mass center of the joint segment body along the x-axis, y-axis and z-axis in the corresponding first coordinate system, respectively, xi2 , p yi2 , and p zi2 are the translation components of the center of mass of the external device along the x-axis, y-axis and z-axis in the corresponding first coordinate system, respectively. i ,y i and z i are respectively the translation components of the center of mass of the joint segment along the x-axis, y-axis and z-axis in the corresponding first coordinate system, and n is the total number of first coordinate systems.

7. The method for calculating the center of gravity of a robot according to any one of claims 1 to 6, characterized in that: The step of calculating the transformation matrix of the position of the center of mass of each joint segment in the first coordinate system in the ground coordinate system according to the transformation matrix of each first coordinate system relative to the ground coordinate system, and obtaining the coordinate value of the center of mass of each joint segment in the ground coordinate system, comprises: The coordinate value of the center of gravity of the target robot in the ground coordinate system is calculated according to the following calculation formula: x C =∑(m i P 0xi ) / ∑m i y C =∑(m i P 0yi ) / ∑m i z C =Σ(m i P 0zi ) / ∑m i Among them, p 0xi , p 0yi , and p 0zi are the translation components of the center of mass of each joint segment along the x-axis, y-axis and z-axis in the ground coordinate system, respectively. c ,y c and z c are the translation components of the target robot’s center of gravity along the x-axis, y-axis, and z-axis in the ground coordinate system, respectively, m i is the mass of the i-th joint segment.

8. A device for calculating the center of gravity of a robot, characterized in that: include: An acquisition module is used to acquire the connecting rod parameters of two adjacent joint segments in the current posture of the target robot, wherein the target robot comprises a base and a plurality of the joint segments, the boundaries of each of the joint segments are the output surfaces of the reducer, the connecting portion between two adjacent joint segments is a joint, and the connecting rod parameters include connecting rod length, connecting rod torsion angle, joint distance and joint angle; A mapping module, used for mapping the connecting rod parameters to a robot model corresponding to the target robot, to obtain an adjusted robot model consistent with the current posture of the target robot, wherein in the robot model, a ground coordinate system is provided based on the base of the target robot, and first coordinate systems are provided correspondingly based on each of the joints of the target robot; A coordinate conversion module, configured to convert the coordinate values ​​of the center of mass of each joint segment in the adjusted robot model in the first coordinate system into the coordinate values ​​in the ground coordinate system based on the coordinate transformation relationship between two adjacent joint segments; The coordinate calculation module is used to calculate the coordinate value of the center of gravity of the target robot in the ground coordinate system based on the coordinate value of the center of mass of each joint segment in the ground coordinate system and the mass of each joint segment.

9. An electronic device, characterized in that: include: at least one processor; as well as, a memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the method for calculating the center of gravity position of the robot as claimed in any one of claims 1 to 7.

10. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the method for calculating the center of gravity position of a robot according to any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • Method for distinguishing stable gesture of underwater robot

    CN106840143A

  • Trajectory tracking control method, device and system of variable-parameter open-frame type ocean underwater robot

    CN107656530A

  • Method and system for solving tail end pose of series multi-degree-of-freedom robot and robot

    CN109262610A

  • Robot joint acceleration constraint planning method and system

    CN113510705A

  • Six-axis collaborative robot calibration method based on Levenberg-Marquard algorithm

    CN114714362A