Method and device for calculating robot barycenter position, electronic equipment and storage medium

By acquiring and mapping the link parameters of the robot's joint segments and utilizing coordinate transformation and mass calculation, the problem of inefficient calculation of the robot's center of gravity position is solved, and efficient and accurate center of gravity position determination is achieved.

CN119635636BActive Publication Date: 2025-10-17ZHUHAI GREE INTELLIGENT EQUIP CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

In the prior art, determining the center of gravity of a robot is labor-intensive and inefficient, especially when there are many robot models, which results in a large workload and affects efficiency.

Method used

By obtaining the link parameters of the two adjacent joint segments in the current posture of the target robot, mapping them to the robot model, setting the ground coordinate system and the first coordinate system of the joint, converting the center of mass of the joint segment to the ground coordinate system based on the coordinate transformation relationship, and calculating the center of gravity position in combination with the mass of the joint segment.

Benefits of technology

The complexity of coordinate transformation is simplified, the computational efficiency is improved, and an accurate estimation of the center of gravity position is provided with high reliability of the results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119635636B_ABST
    Figure CN119635636B_ABST
Patent Text Reader

Abstract

The application relates to the field of robots, in particular to a robot gravity center position calculation method and device, electronic equipment and storage medium, comprising: acquiring link parameters of adjacent two joint segments under a current posture of a target robot; mapping the link parameters to a robot model corresponding to the target robot, in the robot model, a ground coordinate system is arranged based on a base of the target robot, and a first coordinate system is arranged based on each joint segment; based on a coordinate transformation relationship between the adjacent two joint segments, converting positions of mass centers of each joint segment in the adjusted robot model into coordinate values in the ground coordinate system; and based on the coordinate values of the mass centers of each joint segment in the ground coordinate system and the mass of each joint segment, calculating coordinate values of a gravity center of the target robot in the ground coordinate system. The application calculates the gravity center position of the robot in a structured and systematic manner, reduces the complexity of calculation, and improves the calculation efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] Embodiments of the present application relate to the field of robots, and in particular to a method and device for calculating the center of gravity of a robot, an electronic device and a storage medium. BACKGROUND

[0002] In order to avoid the robot from falling over due to the bumping and vibration of the equipment during the robot transportation and hoisting process, causing personal injury, equipment damage, and delay of construction period, etc., it is necessary to determine the center position so as to reasonably fix the robot or determine a reasonable hoisting position.

[0003] Currently, when determining the center of gravity of a robot, the posture of each joint assembly needs to be adjusted repeatedly in a three-dimensional software to finally determine the center of mass, which is tedious and inefficient. Especially when there are many types of robots, the workload is large, and the work efficiency is further affected. SUMMARY

[0004] The purpose of the present application is to at least provide a method and device for calculating the center of gravity of a robot, an electronic device and a storage medium, which can at least solve the problem of large workload and low efficiency in determining the center of mass in the prior art, and can at least achieve the effect of efficiently determining the center of mass of a 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 of a robot, comprising:

[0006] Obtaining the link parameters of two adjacent joint segments under the current posture of a target robot, wherein the target robot comprises a base and a plurality of joint segments, the boundary of each joint segment is the output surface of a speed reducer, the connection between two adjacent joint segments is a joint, and the link parameters include link length, link torsion angle, joint distance and joint angle;

[0007] Mapping the link parameters into 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 based on each joint of the target robot;

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

[0009] The coordinate value of the center of gravity of the target robot in the ground coordinate system is calculated 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.

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

[0011] The acquisition module is configured to acquire link parameters of two adjacent joint segments in a current posture of a target robot, wherein the target robot comprises a base and a plurality of joint segments, the boundaries of the joint segments are respectively output surfaces of reducers, the connection between the two adjacent joint segments is a joint, and the link parameters comprise a link length, a link torsion angle, a joint distance, and a joint angle.

[0012] The mapping module is configured to map the link 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 respectively set based on each joint of the target robot.

[0013] The coordinate conversion module is configured to convert the coordinate value of the center of mass of each joint segment in the first coordinate system in the adjusted robot model into a coordinate value in the ground coordinate system based on a coordinate transformation relationship between the two adjacent joint segments.

[0014] The coordinate calculation module is configured 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 in communication connection with 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 to enable the at least one processor to execute the above-mentioned method for calculating the position of the center of gravity of a robot.

[0016] At least one embodiment of the present application also provides a computer-readable storage medium storing a computer program, and the computer program is executed by a processor to implement the above-mentioned method for calculating the position of the center of gravity of a robot.

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

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

[0019] According to the transformation matrix of each first coordinate system relative to the ground coordinate system, calculate the transformation matrix of the position of each joint segment centroid in the ground coordinate system in the first coordinate system, and obtain the coordinate value of each joint segment centroid in the ground coordinate system.

[0020] In some optional embodiments, the transformation matrix of each first coordinate system relative to the ground coordinate system is calculated based on the coordinate transformation relationship between the two adjacent joint segments, which comprises:

[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 A1 1 A2... i-1 A i , i = 1, 2…n;

[0024] Wherein, n is the total number of first coordinate system, i-1 A i is the coordinate transformation matrix between the two adjacent joint segments, 0 A i is the transformation matrix of the first coordinate system corresponding to the i-th joint relative to the ground coordinate system, θ is the rotation angle between the 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 the two adjacent joint axes along the x axis.

[0025] In some optional embodiments, the transformation matrix of each first coordinate system relative to the ground coordinate system is calculated based on the coordinate transformation relationship between the two adjacent joint segments, which comprises:

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

[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 provided on the joint, and calculating, based on the transformation matrix of each first coordinate system 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 includes:

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

[0031] According to the transformation matrix of each first coordinate system 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] wherein m i is the mass of the ith joint segment, m i1 is the mass of the joint segment body, m i2 is the mass of the external device, p xi1 , p yi1 , and p zi1 are the translational components of the center of mass of the joint segment body along the x-axis, y-axis, and z-axis in the corresponding first coordinate system, respectively, p xi2 , p yi2 , and p zi2 are the translational 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, x i , y i , and z i are the translational 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, respectively, and n is the total number of first coordinate systems.

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

[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] wherein p 0xi , p 0yi , and p 0zi are translational components of the center of mass of each of the joint segments along the x-axis, y-axis, and z-axis in the ground coordinate system, respectively, x c , y c , and z c are translational components of the center of gravity of the target robot along the x-axis, y-axis, and z-axis in the ground coordinate system, respectively, and m i is the mass of the ith joint segment.

[0045] The embodiments of the present application provide a method, device, electronic equipment and storage medium for calculating the center of gravity of a robot. The method can accurately describe the actual physical state of the robot by obtaining the link parameters of two adjacent joint segments in the current posture of the target robot. The position and direction of each joint in space can be accurately described by setting a first coordinate system with the rotation center as the origin for each joint. The coordinate transformation relationship between the two adjacent joint segments is defined based on the respective first coordinate systems, thereby simplifying the complexity of coordinate transformation. After adjusting the robot model, the center of mass positions of the joint segments 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 positions can be easily converted into coordinate values in the ground coordinate system, thereby realizing the comparison and analysis of the center of mass positions of different joint segments in a unified coordinate system. When calculating the center of gravity, not only the mass distribution of the joint segments is considered, but also the relative positions of the joints in space, thereby providing an accurate estimation of the center of gravity.

[0046] In summary, the method for calculating the center of gravity of a robot according to the present application calculates the center of gravity of the robot in a structured and systematic manner, thereby reducing the complexity of physical simulation or iterative calculation and improving the calculation efficiency. Since the method is based on an explicit mathematical model and physical principles, the results obtained are also more reliable. BRIEF DESCRIPTION OF DRAWINGS

[0047] One or more embodiments are illustrated by way of example in the figures that form a part of this patent document, and which do not limit the scope of embodiments.

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

[0049] Figure 2 This 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 1 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 1 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 This 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 This 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 2 is a schematic diagram of a device for calculating the center of gravity of a robot provided by another embodiment of the present application. DETAILED DESCRIPTION

[0056] In order to make the purpose, technical solutions and advantages of the embodiments of the present application clearer, each embodiment of the present application will be described in detail below with reference to the accompanying drawings. However, it will be understood by those skilled in the art that in each embodiment of the present application, many technical details are proposed 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 solutions claimed in the present application can be implemented. The division of the following embodiments is for convenience of description and should not constitute any limitation on the specific implementation of the present application. The various embodiments can be combined and referenced with each other under the premise of no contradiction.

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

[0058] At present, when the position of the robot center of gravity is determined, the posture of each joint assembly needs to be adjusted repeatedly in three-dimensional software to finally determine the center of mass, which is tedious and inefficient. Especially when there are many types of robots, the workload is large, and the work efficiency is more affected.

[0059] In order to solve the technical problems of large workload and low efficiency in determining the center of mass, the present application provides a method for calculating the position of the robot center of gravity. The implementation details of the method for calculating the position of the robot center of gravity in the embodiment will be described below. The following content is only provided for the implementation details for easy understanding, and is not necessary for implementing the scheme.

[0060] Embodiment one:

[0061] The method for calculating the position of the robot center of gravity in the embodiment can be applied to electronic devices with communication, calculation and data storage capabilities. The specific process can be as shown in Figure 1 , which includes:

[0062] Step 110, acquiring the link parameters of the adjacent two joint segments under the current posture of the target robot, wherein the target robot includes a base and a plurality of joint segments, the boundary of each joint segment is a reducer output surface, and the connection between the adjacent two joint segments is a joint. The link parameters include link length, link torsion angle, joint distance and joint angle.

[0063] Specifically, as shown in Figure 2 , 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 rotary connection structure between the adjacent two 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 the embodiment, the boundary between the joint segments is defined as the reducer output surface.

[0064] The link parameter is the key data for describing the relative position and movement between the joint segments of the robot, which specifically includes:

[0065] Link length a i : The straight-line distance between the axes of the adjacent two joints.

[0066] Link torsion angle a i : The angle of rotation of the link around its axis, which is used to describe the torsion state of the link.

[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 for calculating the position of the center of mass.

[0068] Joint angle θ i: current movement angle of the joint, used to determine the relative position of the joint segment.

[0069] The link parameters can be obtained through a robot design document or sensor measurement.

[0070] Step 120, mapping the link parameters into a robot model corresponding to the target robot, to obtain an adjusted robot model consistent with the current pose 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 respectively set based on each joint of the target robot;

[0071] In this embodiment, a robot model consistent with the structure of the target robot needs to be constructed in advance. The model is constructed based on the DH modeling method. Specifically, a fixed ground coordinate system is set based on the base of the target robot, which is used as the reference for all coordinate transformations. A first coordinate system is set on each joint, which moves with the movement of the joint and is used to describe the relative position and pose of the joint segment.

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

[0073] For example, Figure 2 The first coordinate system O 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 shown by each circle in Figure 2 , which is the center of rotation of each joint segment. O0X0Y0Z0 is the ground coordinate system. At this time, the rotation angles of the robot 1-6 axes are 0°, -60°, 80°, 0°, 70° and 0° respectively.

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

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

[0076] The coordinate transformation relationship usually includes both rotation and translation parts. The rotation part describes the rotation state of a joint segment around an axis, which depends on the type of joint (e.g., a revolute joint or a prismatic joint) and its current motion angle. The translation part describes the linear movement of a joint segment along a certain direction. These transformation relationships are based on the geometric parameters of the robot design, such as link lengths, link twist angles, and joint arrangements, etc.

[0077] In the coordinate transformation process, the first coordinate system of the previous joint segment is converted into the first coordinate system of the next joint segment based on the corresponding first coordinate system of each joint segment. This process requires the application of rotation matrices and translation vectors 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 into the ground coordinate system. In the ground coordinate system, the spatial positions of the center of mass of each joint segment can be directly observed, 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 value of the center of mass of the target robot in the ground coordinate system is calculated.

[0080] In this embodiment, the definition and calculation method of the center of mass are used to combine the center of mass positions and masses of each joint segment to determine the center of mass position of the entire robot. The position of the center of mass is a weighted average of the positions of the centers of mass of each joint segment, and the weight is the mass of each joint segment. By calculating the weighted sum of the positions of the centers of mass of each joint segment and then dividing by the total mass, the position of the center of mass is obtained. This center of mass position is the coordinate value in the ground coordinate system and can be used in motion planning, stability analysis, etc.

[0081] In summary, the robot center of gravity position calculation method provided in the embodiment can accurately describe the actual physical state of the robot by obtaining the link parameters of the adjacent two joint segments in the current posture of the target robot. By setting the 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 adjacent two joint segments is defined based on the respective first coordinate systems, thereby simplifying the complexity of coordinate transformation. After adjusting the robot model, the center of mass positions of the joint segments 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 positions can be easily converted into coordinate values in the ground coordinate system, thereby realizing the comparison and analysis of the center of mass positions of different joint segments in a unified coordinate system. When calculating the center of gravity position, not only the mass distribution of the joint segments is considered, but also the relative positions of the joints in space, thereby providing an accurate estimation of the center of gravity position.

[0082] The robot center of gravity position calculation method of the embodiment calculates the center of gravity position of the robot in a structured and systematic manner, reduces the complexity of physical simulation or iterative calculation, and improves the calculation efficiency. At the same time, since the method is based on an explicit mathematical model and physical principles, the calculated results are also more reliable.

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

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

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

[0086] In some optional embodiments, the transformation matrix of each of the first coordinate systems relative to the ground coordinate system is calculated based on the coordinate transformation relationship between two adjacent joint segments, and the method comprises:

[0087] The transformation matrix of each of the first coordinate systems 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 A1 1 A2... i-1 A i , i = 1, 2…n

[0090] wherein n is the total number of the 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 i-th joint corresponding first coordinate system 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 two joints along the x-axis, and α is the included angle between the 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, the transformation matrix of each of the first coordinate systems relative to the ground coordinate system is calculated based on the coordinate transformation relationship between two adjacent joint segments, and the method comprises:

[0094]

[0095] wherein p xi , p yi , and pzi respectively are the translational components of the centroid of each of the joint segments along the x, y and z axes in the corresponding first coordinate system, p 0xi respectively are the translational components of the centroid of each of the joint segments along the x, y and z axes in the corresponding first coordinate system, p 0yi respectively are the translational components of the centroid of each of the joint segments along the x, y and z axes in the corresponding first coordinate system, p 0zi respectively are the translational components of the centroid of each of the joint segments along the x, y and z axes in the corresponding first coordinate system, p xi respectively are the translational components of the centroid of each of the joint segments along the x, y and z axes in the corresponding first coordinate system, p yi respectively are the translational components of the centroid of each of the joint segments along the x, y and z axes in the corresponding first coordinate system, p zi is a rotation vector of the first coordinate system x axis of the ith joint transformed to the ground coordinate system x axis, o xi is a rotation vector of the first coordinate system x axis of the ith joint transformed to the ground coordinate system x axis, o yi is a rotation vector of the first coordinate system x axis of the ith joint transformed to the ground coordinate system x axis, o zi is a rotation vector of the first coordinate system y axis of the ith joint transformed to the ground coordinate system y axis, a xi is a rotation vector of the first coordinate system y axis of the ith joint transformed to the ground coordinate system y axis, a yi is a rotation vector of the first coordinate system y axis of the ith joint transformed to the ground coordinate system y axis, a zi is a rotation vector of the first coordinate system z axis of the ith joint transformed to the ground coordinate system z axis.

[0096] In some optional embodiments, the 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 each of the joint segment centroids in the first coordinate system in the ground coordinate system, to obtain the coordinate values of each of the joint segment centroids in the ground coordinate system, comprises: calculating the coordinate values of the center of gravity 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] wherein p 0xi , p 0yi , and p 0zi are the translational components of each of the joint segment centroids along the x, y and z axes in the ground coordinate system, x c , y c , and z c are the translational components of the center of gravity of the target robot along the x, y and z axes in the ground coordinate system, and m i is the mass of the ith joint segment.

[0101] In some alternative embodiments, the mass of the joint segment includes the mass of the joint segment body and the mass of an external device arranged on the joint, and the transformation matrix of the position of the mass center of each joint segment in the ground coordinate system in the first 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 mass center of the joint segment in the corresponding first coordinate system according to the mass of the joint segment body, the position of the mass center of the joint segment body in the corresponding first coordinate system, the mass of the external device, and the position of the mass center of the external device in the corresponding first coordinate system; and calculating the transformation matrix of the position of the mass center 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 the embodiment, for any external device or clamp added to a joint segment, the mass center position p xi2 , p yi2 , p zi2 and mass m i2 of the external device or clamp are measured in the first coordinate system of the corresponding joint, and the joint segment and the external clamp are regarded as a whole to calculate the total mass of the whole and the mass center position of the whole.

[0103] In some alternative embodiments, the position of the mass center of the joint segment in the corresponding first coordinate system is calculated according to the mass of the joint segment body, the position of the joint segment body in the corresponding first coordinate system, the mass of the external device, and the position of the external device in the corresponding first coordinate system, including: calculating the position of the mass center of each joint segment in the corresponding 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 P zi1 +m i2P 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 body, 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 the translation components of the joint segment mass center along the x-axis, y-axis and z-axis in the corresponding first coordinate system, respectively, 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 of the target robot in the xz plane when it is unloaded. At this time, the rotation angles of the target robot's 1-6 axes are 0°, -60°, 80°, 0°, 70°, and 0° respectively.

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

[0113] likeFigure 5 Figure 5 shows a schematic diagram of the center of gravity position of the target robot when no load is applied.

[0114] Figure 6 shows a schematic diagram of the center of gravity position of the target robot in the xz plane when a 270KG load is applied. Figure 6 Figure 7 shows a schematic diagram of the center of gravity position of the target robot in the yz plane when a 270KG load is applied.

[0115] Figure 7 Figure 8 shows a schematic diagram of the center of gravity position of the target robot when no load is applied.

[0116] In practical applications, for example, when the target robot needs to be shipped, the robot needs to be adjusted to the most stable posture to reduce the probability of tipping during transportation. Therefore, the posture of the robot can be simulated in the robot model. According to the above method, the corresponding center of gravity position under each posture can be quickly calculated, and a diagram similar to Figures 4-6 Figure 8 is shown. By comparing multiple center of gravity positions, it is found that when the target robot 1-6 axis rotation angles are 0°, -60°, 80°, 0°, 70° and 0°, the generated center of gravity position is closest to the z-axis. Therefore, the target robot is adjusted to the most stable 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 evaluate the risk of tipping. The corresponding center of gravity position under the current posture is calculated in real time by the above method, and the degree of deviation of the center of gravity position from the safety value is judged to evaluate the risk of tipping and make timely adjustments.

[0118] Embodiment Two:

[0119] Another embodiment of the present application relates to a robot center of gravity position calculation device. The implementation details of the robot center of gravity position calculation device of this embodiment are described below. The following implementation details are provided for easy understanding and are not essential for implementing this solution. The schematic diagram of the robot center of gravity position calculation device of this embodiment can be as shown in Figure 8 Figure 9, which 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 configured to acquire the link parameters of the adjacent two joint segments under the current posture of the target robot, wherein the target robot includes a base and a plurality of joint segments, the boundaries of each joint segment are respectively the output surfaces of the reducers, the connection between the adjacent two joint segments is a joint, and the link parameters include link length, link torsion angle, joint distance and joint angle.

[0121] ​The mapping module 820 is configured to map the linkage parameters to a robot model corresponding to the target robot, to obtain an adjusted robot model consistent with a current posture of the target robot, wherein in the robot model, a ground coordinate system is arranged based on a base of the target robot, and a first coordinate system is arranged based on each joint of the target robot.

[0122] The coordinate conversion module 830 is configured to convert coordinate values of each joint segment centroid in the first coordinate system in the adjusted robot model into coordinate values in the ground coordinate system based on a coordinate transformation relationship between two adjacent joint segments.

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

[0124] It is worth mentioning that each module involved in the embodiment is a logical module. In actual application, one logical unit can be one physical unit, or a part of one physical unit, or realized by a combination of multiple physical units. In addition, in order to highlight the innovative part of the present application, units not closely related to solving the technical problems proposed in the present application are not introduced in the embodiment, but this does not mean that there are no other units in the embodiment.

[0125] Embodiment three:

[0126] Another embodiment of the present application relates to an electronic device, comprising: at least one processor; and a memory connected in communication with 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 to enable the at least one processor to perform the robot center of gravity position calculation method in each of the above embodiments.

[0127] The memory and the processor are connected in a bus manner, and the bus can include any number of interconnected buses and bridges. The bus connects various circuits of one or more processors and memories together. The bus can also connect various other circuits such as peripheral devices, voltage stabilizers, and power management circuits together, which are well known in the art, and therefore, they will not be 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, which provide a unit for communicating with various other devices on the transmission medium. The data processed by the processor is transmitted on the wireless medium through the 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. The memory can be used to store data used by the processor in performing operations.

[0129] Embodiment Four

[0130] Another embodiment of the present application relates to a computer readable storage medium, which stores a computer program. The computer program is executed by a processor to implement the method embodiments.

[0131] That is, those skilled in the art can understand that all or part of the steps of the methods in the above embodiments can be completed by a program instructing relevant hardware, the program is stored in a storage medium, and includes a plurality of instructions for causing an apparatus (which can be a single-chip microcomputer, a chip, etc.) or a processor to execute all or part of the steps of the methods described in various embodiments of the present application. The foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and various media that can store program codes.

[0132] Those skilled in the art can understand that the above embodiments are specific embodiments for implementing the present application, and in actual applications, various changes can be made in form and details 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: Obtaining the link 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 connection between two adjacent joint segments is a joint, and the link parameters include link length, link torsion angle, joint distance, and joint angle; Mapping the link 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 corresponding to each joint 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 gravity of the target robot in the ground coordinate system is calculated; 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: Calculating a transformation matrix of each of the first coordinate systems relative to the ground coordinate system based on a coordinate transformation relationship between two adjacent joint segments; Calculating, based on the transformation matrix of each first coordinate system 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, and obtaining the coordinate value of the center of mass of each joint segment in the ground coordinate system; Calculate the coordinate value of the center of gravity of the target robot in the ground coordinate system according to the following formula: in, , ,and The center of mass of each joint segment is respectively along the ground coordinate system axis, Axis and The translational component of the axis, , and are the center of gravity of the target robot in the ground coordinate system along axis, Axis and The translational component of the axis, For the The quality of the joint segment.

2. The method for calculating the center of gravity of a robot according to claim 1, wherein: 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: The transformation matrix of the first coordinate system relative to the ground coordinate system is obtained according to the following calculation formula: ; , ; in, is the total number of the first coordinate system, is the coordinate transformation matrix between two adjacent joint segments, For the The transformation matrix of the first coordinate system corresponding to each joint relative to the ground coordinate system, For the The rotation angle between two adjacent joints of the axis, For the Joint offset of the axis, For the The two joint lengths of the axis, For the The angle between two adjacent joint axes of an axis.

3. The method for calculating the center of gravity of a robot according to claim 2, wherein: The step of calculating, based on 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: The transformation matrix of the position of the center of mass of each joint segment in the ground coordinate system is obtained according to the following calculation formula: in, , ,and The center of mass of each joint segment is respectively along the first coordinate system corresponding to axis, Axis and The translational component of the axis, , ,and The center of mass of each joint segment is respectively along the ground coordinate system axis, Axis and The translational component of the axis.

4. The method for calculating the center of gravity of a robot according to claim 1, wherein: The joint segment mass includes the mass of the joint segment body and the mass of the external device provided on the joint. 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 based on the transformation matrix of each first coordinate system relative to the ground coordinate system includes: Calculate the position of the joint segment center of mass in the first coordinate system based on the mass of the joint segment body, the position of the center of mass of the joint segment body in the first coordinate system, the mass of the external device, and the position of the center of mass of the external device in the first coordinate system; According to the transformation matrix of each first coordinate system 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.

5. The method for calculating the center of gravity of a robot according to claim 4, wherein: The calculating, based on the mass of the joint segment body, the position of the joint segment body in the corresponding first coordinate system, the mass of the external device, and the position of the external device in the corresponding first coordinate system, of the position of the joint segment center of mass in the corresponding first coordinate system includes: The position of the center of mass of each joint segment in the corresponding first coordinate system is calculated according to the following formula: , in, For the The mass of the joint segment, is the mass of the joint segment body, For the quality of the external device, , ,and are the mass centers of the joint segments in the corresponding first coordinate system along axis, Axis and The translational component of the axis, , ,and are respectively the center of mass of the external device in the corresponding first coordinate system along axis, Axis and The translational component of the axis, , and are respectively the center of mass of the joint segment in the corresponding first coordinate system along axis, Axis and The translational component of the axis, is the total number of the first coordinate system.

6. A device for calculating the center of gravity of a robot, characterized in that: include: an acquisition module, configured to acquire connecting rod parameters of two adjacent joint segments in a current posture of a target robot, wherein the target robot comprises a base and a plurality of the joint segments, the boundaries of each joint segment are respectively reducer output surfaces, the connection 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, configured to map the link 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 a first coordinate system is provided corresponding to 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; a coordinate calculation module, configured 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; Wherein, the coordinate conversion module is used for: Calculating a transformation matrix of each of the first coordinate systems relative to the ground coordinate system based on a coordinate transformation relationship between two adjacent joint segments; Calculating, based on the transformation matrix of each first coordinate system 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, and obtaining the coordinate value of the center of mass of each joint segment in the ground coordinate system; 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 according to the following calculation formula: in, , ,and The center of mass of each joint segment is respectively along the ground coordinate system axis, Axis and The translational component of the axis, , and are the center of gravity of the target robot in the ground coordinate system along axis, Axis and The translational component of the axis, For the The quality of the joint segment.

7. 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 that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method for calculating the center of gravity position of the robot according to any one of claims 1 to 5.

8. 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 5 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