Foot-type robot external force estimation method, device, equipment and medium
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-11-29
- Publication Date
- 2026-08-11
AI Technical Summary
[0003]本发明提供一种足式机器人外力估计方法、装置、设备及介质,用以解决相关技术中实现机器人感知其所受外力的方案成本过高的技术问题
[0080]本发明实施例中,在开始外力估计时首先控制足式机器人静止站立,避免运动带来的扰动,同时获取足式机器人躯干的姿态信息以及各足的关节角和关节力矩,然后分别计算足式机器人躯干中心到各足足端的向量和各足的足底受力,之后再根据足式机器人躯干中心到各足足端的向量和各足的足底受力估算足式机器人躯干中心受到的外力,因为足式机器人躯干中心受到的外力的第一估计结果是一个六维力,包括表示三维力的向量和三维力矩,所以将第一估计结果包含的三维力矩转换为外力作用点坐标,最后将外力作用点坐标以及第一估计结果包含的三维力组合为足式机器人所受外力的估计结果。与相关技术相比,可在没有电子皮肤等接触传感器的条件下,利用足式机器人本体的关节传感器和惯性测量单元实现检测机器人受到的外力,降低方案成本。
Smart Images

Figure CN117656090B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of robot control technology, and in particular to a method, apparatus, device and medium for estimating external forces in a legged robot. Background Technology
[0002] Significant progress has been made in the control of legged robots. In human-computer interaction, one of the current key pursuits is to enable robots to possess tactile capabilities similar to living organisms, allowing them to sense external forces acting on their bodies and trigger corresponding actions, voice prompts, lighting effects, and other feedback. Existing research aims to use electronic skin to enable robots to sense these forces; however, the application of electronic skin technology in this area is still very immature and extremely expensive, making solutions for realizing robot force sensing prohibitively costly. Summary of the Invention
[0003] This invention provides a method, apparatus, device, and medium for estimating external forces in a legged robot, in order to solve the technical problem that the cost of implementing solutions for robots to perceive the external forces they are subjected to is too high in related technologies.
[0004] In a first aspect, embodiments of the present invention provide a method for estimating the external force of a legged robot, the method comprising:
[0005] Control the legged robot to stand still and obtain the posture information of the legged robot's torso, as well as the joint angles and joint torques of each leg;
[0006] Based on posture information and joint angles of each foot, the vector from the trunk center of the legged robot to the foot tip is calculated.
[0007] Based on the joint angles and joint moments of each foot, estimate the plantar forces of each foot;
[0008] The first estimation result of the external force on the torso center of the legged robot is estimated based on the vector from the torso center to the foot tip and the force on the sole of each foot. The first estimation result includes three-dimensional force and three-dimensional torque.
[0009] The three-dimensional torque contained in the first estimation result is converted into the coordinates of the external force application point, and the coordinates of the external force application point and the three-dimensional force contained in the first estimation result are combined to form the estimation result of the external force on the legged robot.
[0010] In one possible implementation, the method provided in this embodiment of the invention, which obtains the posture information of the legged robot's torso and the joint angles and joint torques of each leg, includes:
[0011] Attitude information is determined by IMU data measured by the IMU at the center of the legged robot's torso;
[0012] The joint angles of each foot are measured by position sensors on each foot joint of the leg robot;
[0013] The joint torque of each leg joint is estimated by measuring the current of the motors in each leg joint of the leg robot.
[0014] In one possible implementation, the method provided in this embodiment of the invention calculates the vector from the trunk center of the legged robot to the foot tip based on posture information and the joint angles of each foot, including:
[0015] Based on the joint angles of each foot, the first position coordinates of each foot end in the robot coordinate system are calculated using the robot's forward kinematics. The origin of the robot coordinate system is located at the center of the legged robot's torso.
[0016] The second position coordinates of the torso center of the legged robot in the world coordinate system are determined based on the posture information.
[0017] Based on the second position coordinates, the first position coordinates of each foot end are converted into the third position coordinates of each foot end in the world coordinate system;
[0018] The vector from the torso center to each foot of the legged robot is determined based on the second position coordinates and the third position coordinates of each foot.
[0019] In one possible implementation, the method provided in this embodiment of the invention estimates the plantar force of each foot based on the joint angles and joint moments of each foot, including:
[0020] The Jacobian matrix of forces acting on the sole of each foot is determined based on the joint angles of each foot.
[0021] Multiply the inverse of the Jacobian matrix of the forces on the sole of each foot by the joint torque of the corresponding foot to obtain the forces on the sole of each foot in the robot coordinate system.
[0022] The plantar forces of each foot in the robot coordinate system are converted into plantar forces of each foot in the world coordinate system, thus obtaining the plantar forces of each foot.
[0023] In one possible implementation, the method provided in this embodiment of the invention estimates a first estimation result of the external force acting on the torso center of the legged robot based on the vector from the torso center of the legged robot to the foot tip and the force on the sole of each foot, including:
[0024] The total internal forces acting on the center of the legged robot's torso are calculated based on the forces acting on the soles of each foot.
[0025] The total internal torque on the torso center of the legged robot is calculated based on the vector from the center of the torso to the ends of each foot and the forces acting on the soles of each foot.
[0026] The total internal force acting on the center of the legged robot's torso is determined by the sum of the internal forces and the sum of the internal moments acting on the center of the torso.
[0027] The difference between the gravity acting on the legged robot and the total internal force acting on the center of the legged robot's torso is calculated to obtain the first estimate of the external force acting on the center of the legged robot's torso.
[0028] In one possible implementation, the method provided in this embodiment of the invention further includes, before converting the three-dimensional torque contained in the first estimation result into coordinates of the external force application point:
[0029] Within a preset time after the legged robot begins to stand still, the above steps of obtaining data, calculating vectors, estimating the force on the sole of the foot, and estimating the first estimation result are repeated to obtain multiple first estimation results of the external force on the center of the legged robot's torso.
[0030] The average of multiple first estimates is calculated as the external force bias result;
[0031] The second estimate of the external force acting on the center of the legged robot's torso is calculated based on the external force bias result.
[0032] The three-dimensional torque contained in the first estimation result is converted into the coordinates of the external force application point, and the coordinates of the external force application point and the three-dimensional force contained in the first estimation result are combined to form the estimation result of the external force acting on the legged robot, including:
[0033] The three-dimensional torque contained in the second estimation result is converted into the coordinates of the point of application of the external force;
[0034] The coordinates of the point of application of the external force are combined with the three-dimensional force contained in the second estimation result to obtain the estimation result of the external force on the legged robot.
[0035] In one possible implementation, the method provided in this embodiment of the invention uses the following formula to calculate the external force bias result:
[0036]
[0037] in, T represents the result of external force bias. offset Indicates the preset time. This indicates the first estimation result;
[0038] The formula for calculating the second estimation result is:
[0039]
[0040] in, This represents the second estimation result, where mg represents the gravity acting on the legged robot, i represents the corresponding leg of the legged robot, and f represents the force. iThis represents the force on the sole of the foot of a legged robot, r. i This represents the vector from the center of the torso of the legged robot to the corresponding foot.
[0041] In a second aspect, embodiments of the present invention provide a legged robot external force estimation device, comprising:
[0042] The start unit is used to control the legged robot to stand still and to acquire the posture information of the legged robot's torso, as well as the joint angles and joint torques of each foot.
[0043] The first estimation unit is used to calculate the vector from the trunk center to the foot end of each foot of the legged robot based on the posture information and the joint angle of each foot.
[0044] The second estimation unit is used to estimate the plantar force of each foot based on the joint angle and joint torque of each foot.
[0045] The third estimation unit is used to estimate the first estimation result of the external force on the center of the torso of the legged robot based on the vector from the center of the torso of the legged robot to the end of each foot and the force on the sole of each foot. The first estimation result includes three-dimensional force and three-dimensional torque.
[0046] The processing unit is used to convert the three-dimensional torque contained in the first estimation result into the coordinates of the external force application point, and combine the coordinates of the external force application point and the three-dimensional force contained in the first estimation result into the estimation result of the external force on the legged robot.
[0047] In one possible implementation, the starting unit in the apparatus provided by the embodiments of the present invention is specifically used for:
[0048] Attitude information is determined by IMU data measured by the IMU at the center of the legged robot's torso;
[0049] The joint angles of each foot are measured by position sensors on each foot joint of the leg robot;
[0050] The joint torque of each leg joint is estimated by measuring the current of the motors in each leg joint of the leg robot.
[0051] In one possible implementation, the apparatus provided in this embodiment of the invention, the first estimation unit is specifically used for:
[0052] Based on the joint angles of each foot, the first position coordinates of each foot end in the robot coordinate system are calculated using the robot's forward kinematics. The origin of the robot coordinate system is located at the center of the legged robot's torso.
[0053] The second position coordinates of the torso center of the legged robot in the world coordinate system are determined based on the posture information.
[0054] Based on the second position coordinates, the first position coordinates of each foot end are converted into the third position coordinates of each foot end in the world coordinate system;
[0055] The vector from the torso center to each foot of the legged robot is determined based on the second position coordinates and the third position coordinates of each foot.
[0056] In one possible implementation, the second estimation unit in the apparatus provided by the embodiments of the present invention is specifically used for:
[0057] The Jacobian matrix of forces acting on the sole of each foot is determined based on the joint angles of each foot.
[0058] Multiply the inverse of the Jacobian matrix of the forces on the sole of each foot by the joint torque of the corresponding foot to obtain the forces on the sole of each foot in the robot coordinate system.
[0059] The plantar forces of each foot in the robot coordinate system are converted into plantar forces of each foot in the world coordinate system, thus obtaining the plantar forces of each foot.
[0060] In one possible implementation, the third estimation unit in the apparatus provided by the embodiments of the present invention is specifically used for:
[0061] The total internal forces acting on the center of the legged robot's torso are calculated based on the forces acting on the soles of each foot.
[0062] The total internal torque on the torso center of the legged robot is calculated based on the vector from the center of the torso to the ends of each foot and the forces acting on the soles of each foot.
[0063] The total internal force acting on the center of the legged robot's torso is determined by the sum of the internal forces and the sum of the internal moments acting on the center of the torso.
[0064] The difference between the gravity acting on the legged robot and the total internal force acting on the center of the legged robot's torso is calculated to obtain the first estimate of the external force acting on the center of the legged robot's torso.
[0065] In one possible implementation, the apparatus provided in this embodiment of the invention further includes an external force bias estimation unit, specifically used for:
[0066] Within a preset time period during which the legged robot begins to stand still, the starting unit, the first estimation unit, the second estimation unit, and the third estimation unit sequentially repeat the above steps of obtaining the data, calculating the vector, estimating the force on the sole of the foot, and estimating the first estimation result, respectively, to obtain multiple first estimation results of the external force on the center of the legged robot's torso.
[0067] The average of multiple first estimates is calculated as the external force bias result;
[0068] The second estimate of the external force acting on the center of the legged robot's torso is calculated based on the external force bias result.
[0069] The processing unit is specifically used for:
[0070] The three-dimensional torque contained in the second estimation result is converted into the coordinates of the point of application of the external force;
[0071] The coordinates of the point of application of the external force are combined with the three-dimensional force contained in the second estimation result to obtain the estimation result of the external force on the legged robot.
[0072] In one possible implementation, the formula for calculating the external force bias result in the device provided by the embodiments of the present invention is as follows:
[0073]
[0074] in, T represents the result of external force bias. offset Indicates the preset time. This indicates the first estimation result;
[0075] The formula for calculating the second estimation result is:
[0076]
[0077] in, This represents the second estimation result, where mg represents the gravity acting on the legged robot, i represents the corresponding leg of the legged robot, and f represents the force. i This represents the force on the sole of the foot of a legged robot, r. i This represents the vector from the center of the torso of the legged robot to the corresponding foot.
[0078] Thirdly, embodiments of the present invention provide an electronic device, including: at least one processor, at least one memory, and computer program instructions stored in the memory, which, when executed by the processor, implement the method provided in the first aspect of the present invention.
[0079] Fourthly, embodiments of the present invention provide a computer-readable storage medium having stored thereon computer program instructions that, when executed by a processor, implement the method provided in the first aspect of the present invention.
[0080] In this embodiment of the invention, when starting the external force estimation, the legged robot is first controlled to stand still to avoid disturbances caused by movement. Simultaneously, the posture information of the legged robot's torso, as well as the joint angles and torques of each foot, are acquired. Then, the vector from the center of the torso to the tip of each foot and the force on the sole of each foot are calculated. Next, the external force acting on the center of the legged robot's torso is estimated based on the vector from the center of the torso to the tip of each foot and the force on the sole of each foot. Because the first estimation result of the external force acting on the center of the legged robot's torso is a six-dimensional force, including a vector representing a three-dimensional force and a three-dimensional torque, the three-dimensional torque contained in the first estimation result is converted into the coordinates of the point of application of the external force. Finally, the coordinates of the point of application of the external force and the three-dimensional force contained in the first estimation result are combined to obtain the estimated result of the external force acting on the legged robot. Compared with related technologies, this method can detect the external force acting on the robot using the joint sensors and inertial measurement unit of the legged robot body without the need for contact sensors such as electronic skin, thus reducing the cost of the solution. Attached Figure Description
[0081] Figure 1 A flowchart illustrating an external force estimation method for a legged robot provided in an embodiment of the present invention;
[0082] Figure 2 This is a schematic diagram of the configuration of a quadruped robot provided in an embodiment of the present invention;
[0083] Figure 3 A schematic diagram of the vector from the center of the torso of a quadruped robot to the soles of its four feet, provided as an embodiment of the present invention;
[0084] Figure 4 This is a schematic diagram illustrating an external force acting on the center of the torso of a quadruped robot, provided as an embodiment of the present invention.
[0085] Figure 5 This invention provides a schematic diagram illustrating the position of external forces acting on a quadruped robot, as provided in an embodiment of the invention.
[0086] Figure 6 This is a schematic diagram of the structure of a legged robot external force estimation device provided in an embodiment of the present invention;
[0087] Figure 7 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present invention. Detailed Implementation
[0088] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings. Obviously, the described embodiments are merely some embodiments of this invention, and not all embodiments. Based on the embodiments of this invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this invention.
[0089] The following are explanations of some of the words that appear in the text:
[0090] 1. An IMU (Inertial Measurement Unit) is a device that integrates sensors such as accelerometers and gyroscopes, and can be used to measure the acceleration, angular velocity, and directional changes of an object.
[0091] 2. Forward kinematics is a fundamental concept in robotics that describes the relationship between the joints and end effector positions of a robot. It is a transformation from the robot's joint angles to its end effector position, and it can be used to control the robot's motion. The basic principle of forward kinematics is that the robot's end effector position can be derived from the robot's joint angles.
[0092] 3. The Jacobian matrix, used in robot kinematics, describes the relationship between the position and orientation (e.g., position, velocity, and acceleration) of a robot's end effector and joint angles or actuator velocities. The Jacobian matrix is a matrix where the number of rows represents the degrees of freedom of the end effector (e.g., position and orientation in three-dimensional space), and the number of columns represents the robot's degrees of freedom (e.g., joint angles or actuator velocities).
[0093] 4. The pseudo-inverse algorithm is a mathematical operation that is a generalization of matrix inverse. Pseudo-inverses possess the desirable property of existence and uniqueness, and can be used to solve least squares and minimum norm problems, find the generalized inverse of a matrix, and in robot kinematics, solve inverse kinematics problems.
[0094] The method, apparatus, device, and medium for estimating external forces in legged robots provided by the present invention will be described in more detail below with reference to the accompanying drawings and embodiments.
[0095] This invention provides a method for estimating the external force of a legged robot, such as... Figure 1 As shown, it includes:
[0096] Step S101: Control the legged robot to stand still and obtain the posture information of the legged robot's torso, as well as the joint angles and joint torques of each foot.
[0097] Taking quadruped robots as an example, the configuration of a quadruped robot is as follows: Figure 2 As shown, robot 201 has four legs, denoted as FL, FR, RL, and RR, each with three degrees of freedom, for a total of 12 degrees of freedom. This allows for complete control over the relative positions of each leg in the robot coordinate system, which is a coordinate system constructed with the robot's torso center as the origin. Figure 2 The coordinate system shown is 202.
[0098] When performing external force estimation, the robot's main control computer keeps robot 201 in a static standing position to avoid disturbances caused by movement. For example, an external force estimation mode can be set for robot 201. When this mode is activated, it indicates that external force estimation of robot 201 has begun; that is, when the current external force estimation mode is activated, the robot's main control computer keeps robot 201 in a static standing position. The external force estimation mode can be activated manually by the user, or it can be set to activate automatically when the system detects that the user is making a specific action in preparation for touching or interacting with robot 201.
[0099] In one possible implementation, the posture information can be determined by IMU data measured by the IMU at the center of the legged robot's torso, the joint angles of each foot can be measured by position sensors on each foot joint, and the joint torque of the corresponding joint can be estimated by the current of the motors of each foot joint.
[0100] In practical applications, each joint of the robot is equipped with a position sensor, which can measure the joint angle and estimate the magnitude of the joint's output torque (i.e., joint torque) by measuring the current of the joint motors. Additionally, torque sensors can be installed on the robot's joints to measure joint torque.
[0101] The IMU (Integrated Mutual Regulator) can be fixed at the center of the robot's torso. The IMU measures the robot's torso's attitude relative to the world coordinate system. For example, the gyroscope in the IMU measures the angular velocity of the robot's torso along the three axes of the world coordinate system. By integrating the angular velocity, the rotation angle of the robot's torso along each axis can be obtained. Knowing the robot's torso angles determines its attitude relative to the world coordinate system. The joint angles and IMU attitude information are updated to the robot's main control computer in each control cycle, which uses this information to estimate external forces for subsequent steps.
[0102] Step S102: Based on the posture information and the joint angles of each foot, calculate the vector from the center of the torso of the legged robot to the end of each foot.
[0103] In practical implementation, forward kinematics can be used to obtain the vectors from each foot of the robot to the center of the robot's torso in the robot coordinate system, with the origin of the robot coordinate system located at the center of the robot's torso. Then, the origin of the world coordinate system can be set to the center of each foot. The IMU can measure the posture of the robot's torso relative to the world coordinate system. Knowing the posture information of the robot's torso, the position coordinates of the robot's torso center in the world coordinate system can be determined, which is also the position coordinates of the robot coordinate system origin in the world coordinate system. Using the position coordinates of the robot coordinate system origin in the world coordinate system, the rotation matrix R from the robot coordinate system to the world coordinate system can be obtained. This rotation matrix R represents the transformation relationship between the robot coordinate system and the world coordinate system. By transforming the vectors from each foot of the robot to the center of the robot's torso in the robot coordinate system to the world coordinate system, we can obtain... Figure 3 The vector r from the center of the robot's torso to each foot is shown in the world coordinate system. i (i = FL, FR, RL, RR).
[0104] In one possible implementation, based on the same transformation principle, the first position coordinates of each foot tip in the robot coordinate system can be calculated using the robot's forward kinematics based on the joint angles of each foot. In this embodiment, the origin of the robot coordinate system is located at the center of the legged robot's torso. Setting the origin of the world coordinate system at the center of each foot, the second position coordinates of the legged robot's torso center in the world coordinate system can be determined based on the posture information. The first position coordinates of each foot tip are then converted to third position coordinates in the world coordinate system based on the second position coordinates. Finally, the vector from the legged robot's torso center to each foot tip is determined based on the second and third position coordinates.
[0105] Step S103: Estimate the plantar force of each foot based on the joint angle and joint torque of each foot.
[0106] For quadruped robots, the mass and inertia of the legs are relatively small and can be ignored. Therefore, the forces on the soles of each leg can be estimated using the joint moments based on the static Jacobian matrix. For bipedal robots, although the mass and inertia of the legs are larger, the error caused by the mass and inertia of the legs is included in the external force bias because the robot is stationary. Therefore, this method can also be used to estimate the forces on the soles of each leg.
[0107] The Jacobian matrix can describe the relationship between the angles of each joint of a robot and the speed and force of the robot's end effector. The forces on the sole of the foot can be estimated by using joint torques based on the static Jacobian.
[0108] In one possible implementation, the Jacobian matrix of the forces acting on the sole of each foot can be determined based on the joint angles of each foot; the inverse of the Jacobian matrix of the forces acting on the sole of each foot can be multiplied by the joint torque of the corresponding foot to obtain the forces acting on the sole of each foot in the robot coordinate system; finally, the forces acting on the sole of each foot in the robot coordinate system can be converted into the forces acting on the sole of each foot in the world coordinate system to obtain the forces acting on the sole of each foot.
[0109] The method for calculating the static Jacobian matrix depends on the robot's kinematic model and geometry. For a robot with known model parameters, the static Jacobian matrix is fixed; it can be calculated simply by substituting the joint angles.
[0110] The formulas for calculating the forces acting on the soles of each foot are as follows:
[0111]
[0112] Where R represents the rotation matrix for transforming the robot coordinate system to the world coordinate system, i represents the corresponding leg of the legged robot, and f i q represents the force on the sole of the foot of a legged robot. i J represents the joint angle of the corresponding foot in a legged robot. i (q i ) represents the Jacobian matrix of the forces acting on the sole of the foot of a legged robot, T represents the transpose, and τ represents the t-axis. i This represents the joint torque of the leg in a legged robot.
[0113] Step S104: Based on the vector from the center of the torso of the legged robot to the ends of each foot and the force on the sole of each foot, estimate the first estimate of the external force on the center of the torso of the legged robot. The first estimate includes three-dimensional force and three-dimensional torque.
[0114] After determining the vector from the robot's torso center to the tips of each foot and the forces acting on the soles of each foot, the external forces acting on the origin of the robot's coordinate system, i.e., the external forces acting on the robot's torso center, can be estimated using the forces acting on the soles of each foot. (Refer to...) Figure 4 It is understandable that when the robot is standing still, the forces (fFL, fFR, fRL, fRR) on the soles of each foot create an internal total force through the feet on the robot's torso center. This can be understood as the supporting force of each foot on the robot's torso center. This internal total force, along with the external force f acting on the robot's torso center, constitutes the total internal force. ext The total force acting on the center of the robot's torso is the same in magnitude and opposite in direction to the robot's gravity, which can be expressed by the following formula:
[0115]
[0116] This represents the total internal force acting on the center of the legged robot's torso, provided by each leg, and includes the sum of the internal forces acting on the center of the legged robot's torso, ∑f. i And the sum of internal torques ∑r acting on the center of the legged robot's torso. i ×f i .
[0117] Therefore, in one possible implementation, the sum of internal forces acting on the torso center of the legged robot can be calculated based on the forces acting on the soles of each foot; the sum of internal torques acting on the torso center can be calculated based on the vectors from the torso center to the ends of each foot and the forces acting on the soles of each foot; then, the total internal force acting on the torso center can be determined based on the sum of internal forces and the sum of internal torques; finally, the difference between the gravity acting on the legged robot and the total internal force acting on the torso center is calculated to obtain a first estimate of the external forces acting on the torso center. The formula for calculating the first estimate of the external forces acting on the torso center of the legged robot is as follows:
[0118]
[0119] in, Let mg represent the first estimate of the external force acting on the center of the legged robot's torso, i represent the gravity acting on the legged robot, and f represent the corresponding foot of the legged robot. i This represents the force on the sole of the foot of a legged robot, r. i This represents the vector from the center of the torso of the legged robot to the corresponding foot.
[0120] The first estimate of the external force acting on the robot's torso center obtained here. It is a 6-dimensional generalized force, including a 3-dimensional force and a 3-dimensional torque. The 3-dimensional force is a 3-dimensional vector, namely f. ext 3D torque, i.e., τ ext .
[0121] Step S105: Convert the three-dimensional torque contained in the first estimation result into the coordinates of the external force application point, and combine the coordinates of the external force application point and the three-dimensional force contained in the first estimation result into the estimation result of the external force on the legged robot.
[0122] The external force obtained in step S104 is the equivalent torque acting at the center of the robot's torso, but it does not specify the location of the force. This embodiment of the disclosure assumes that the external force is a 3-dimensional force acting on the torso, excluding torque. Therefore, the location of the force can be determined based on the equivalent 6-dimensional external force.
[0123] like Figure 5 As shown, using r act =[x act ,yact ,z act ] T The vector represents the distance from the origin of the robot's coordinate system to the actual point of application of the external force, and T represents the transpose. act ,y act ,z act This represents the coordinates of the point where the external force applies, and we have the following formula:
[0124] τ ext =r act ×f ext
[0125]
[0126] in, They represent f respectively ext The components on the three coordinate axes of the world coordinate system.
[0127] Since L is a non-full-rank matrix, meaning there are multiple forces that can satisfy the above formula, this embodiment uses a pseudo-inverse algorithm to calculate the coordinates of the point of application of the external force acting on the robot. The result is the point of application of the force that is closest to the robot's original coordinates, as shown in the following formula:
[0128]
[0129] in, This represents the coordinates of the point of application of the external force, and + indicates the pseudo-inverse operation.
[0130] In one possible implementation, before converting the three-dimensional torque contained in the first estimation result into the coordinates of the point of application of the external force, the method further includes: repeating the above-described steps of obtaining the data, calculating the vector, estimating the force on the foot, and estimating the first estimation result within a preset time period during which the legged robot begins to stand still, to obtain multiple first estimation results of the external force acting on the center of the legged robot's torso; calculating the average value of the multiple first estimation results as the external force bias result; and calculating a second estimation result of the external force acting on the center of the legged robot's torso based on the external force bias result.
[0131] Theoretically, when a robot is standing still, it is only subject to gravity and the force of its feet. Therefore, in the absence of any actual external force, the estimated external force should be exactly zero. However, in reality, due to noise and zero bias in the robot's various sensors, the estimated external force is often not zero, meaning there is an external force bias.
[0132] Therefore, in order to solve this problem in specific implementation, this embodiment of the disclosure sets a preset time T for starting to stand still. offset Within this timeframe, steps S101, S102, S103, and S104 are repeated sequentially, and the process will continue for a preset time T. offsetThe average value of the external force estimation results obtained from the internal estimation of the robot's torso center is used as the external force bias to eliminate the influence of sensor noise and zero bias.
[0133] The formula for calculating the external force offset result is:
[0134]
[0135] in, T represents the result of external force bias. offset Indicates the preset time. This indicates the first estimate result.
[0136] The corresponding ones are:
[0137]
[0138] The formula for calculating the second estimate is as follows:
[0139]
[0140] in, This represents the second estimation result, where mg represents the gravity acting on the legged robot, i represents the corresponding leg of the legged robot, and f represents the force. i This represents the force on the sole of the foot of a legged robot, r. i This represents the vector from the center of the torso of the legged robot to the corresponding foot.
[0141] Correspondingly, the three-dimensional torque contained in the first estimation result is converted into the coordinates of the external force application point, and the coordinates of the external force application point and the three-dimensional force contained in the first estimation result are combined to form the estimation result of the external force on the legged robot, including: converting the three-dimensional torque contained in the second estimation result into the coordinates of the external force application point; and combining the coordinates of the external force application point and the three-dimensional force contained in the second estimation result to form the estimation result of the external force on the legged robot.
[0142] The principle of this step is similar to that of step S105, except that the first estimation result in step S105 is replaced with the second estimation result after external force bias correction for pseudo-inverse operation, so it will not be described in detail here.
[0143] like Figure 6 As shown, based on the same inventive concept as the legged robot external force estimation method, the present invention also provides a legged robot external force estimation device, comprising:
[0144] The start unit is used to control the legged robot to stand still and to acquire the posture information of the legged robot's torso, as well as the joint angles and joint torques of each foot.
[0145] The first estimation unit is used to calculate the vector from the trunk center to the foot end of each foot of the legged robot based on the posture information and the joint angle of each foot.
[0146] The second estimation unit is used to estimate the plantar force of each foot based on the joint angle and joint torque of each foot.
[0147] The third estimation unit is used to estimate the first estimation result of the external force on the center of the torso of the legged robot based on the vector from the center of the torso of the legged robot to the end of each foot and the force on the sole of each foot. The first estimation result includes three-dimensional force and three-dimensional torque.
[0148] The processing unit is used to convert the three-dimensional torque contained in the first estimation result into the coordinates of the external force application point, and combine the coordinates of the external force application point and the three-dimensional force contained in the first estimation result into the estimation result of the external force on the legged robot.
[0149] In one possible implementation, the starting unit in the apparatus provided by the embodiments of the present invention is specifically used for:
[0150] Attitude information is determined by IMU data measured by the IMU at the center of the legged robot's torso;
[0151] The joint angles of each foot are measured by position sensors on each foot joint of the leg robot;
[0152] The joint torque of each leg joint is estimated by measuring the current of the motors in each leg joint of the leg robot.
[0153] In one possible implementation, the apparatus provided in this embodiment of the invention, the first estimation unit is specifically used for:
[0154] Based on the joint angles of each foot, the first position coordinates of each foot end in the robot coordinate system are calculated using the robot's forward kinematics. The origin of the robot coordinate system is located at the center of the legged robot's torso.
[0155] The second position coordinates of the torso center of the legged robot in the world coordinate system are determined based on the posture information.
[0156] Based on the second position coordinates, the first position coordinates of each foot end are converted into the third position coordinates of each foot end in the world coordinate system;
[0157] The vector from the torso center to each foot of the legged robot is determined based on the second position coordinates and the third position coordinates of each foot.
[0158] In one possible implementation, the second estimation unit in the apparatus provided by the embodiments of the present invention is specifically used for:
[0159] The Jacobian matrix of forces acting on the sole of each foot is determined based on the joint angles of each foot.
[0160] Multiply the inverse of the Jacobian matrix of the forces on the sole of each foot by the joint torque of the corresponding foot to obtain the forces on the sole of each foot in the robot coordinate system.
[0161] The plantar forces of each foot in the robot coordinate system are converted into plantar forces of each foot in the world coordinate system, thus obtaining the plantar forces of each foot.
[0162] In one possible implementation, the third estimation unit in the apparatus provided by the embodiments of the present invention is specifically used for:
[0163] The total internal forces acting on the center of the legged robot's torso are calculated based on the forces acting on the soles of each foot.
[0164] The total internal torque on the torso center of the legged robot is calculated based on the vector from the center of the torso to the ends of each foot and the forces acting on the soles of each foot.
[0165] The total internal force acting on the center of the legged robot's torso is determined by the sum of the internal forces and the sum of the internal moments acting on the center of the torso.
[0166] The difference between the gravity acting on the legged robot and the total internal force acting on the center of the legged robot's torso is calculated to obtain the first estimate of the external force acting on the center of the legged robot's torso.
[0167] In one possible implementation, the apparatus provided in this embodiment of the invention further includes an external force bias estimation unit, specifically used for:
[0168] Within a preset time period during which the legged robot begins to stand still, the starting unit, the first estimation unit, the second estimation unit, and the third estimation unit sequentially repeat the above steps of obtaining the data, calculating the vector, estimating the force on the sole of the foot, and estimating the first estimation result, respectively, to obtain multiple first estimation results of the external force on the center of the legged robot's torso.
[0169] The average of multiple first estimates is calculated as the external force bias result;
[0170] The second estimate of the external force acting on the center of the legged robot's torso is calculated based on the external force bias result.
[0171] The processing unit is specifically used for:
[0172] The three-dimensional torque contained in the second estimation result is converted into the coordinates of the point of application of the external force;
[0173] The coordinates of the point of application of the external force are combined with the three-dimensional force contained in the second estimation result to obtain the estimation result of the external force on the legged robot.
[0174] In one possible implementation, the formula for calculating the external force bias result in the device provided by the embodiments of the present invention is as follows:
[0175]
[0176] in, T represents the result of external force bias. offset Indicates the preset time. This indicates the first estimation result;
[0177] The formula for calculating the second estimation result is:
[0178]
[0179] in, This represents the second estimation result, mg represents the gravity acting on the legged robot, i represents the corresponding foot of the legged robot, and f represents the second estimation result. i This indicates the force applied to the sole of the foot of the legged robot, r. i This represents the vector from the center of the torso of the legged robot to the corresponding foot.
[0180] Furthermore, the legged robot external force estimation method and apparatus of the present invention can be implemented by electronic devices. Figure 7 A schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present invention is shown.
[0181] The following is a detailed reference. Figure 7 It shows a schematic diagram of the structure suitable for implementing the electronic device 700 in the embodiments of this disclosure. Figure 7 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments disclosed herein.
[0182] like Figure 7 As shown, the electronic device 700 may include a processing device (e.g., a central processing unit, a graphics processor, etc.) 701, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 702 or a program loaded from a storage device 708 into a random access memory (RAM) 703 to implement the voice control method as described in the embodiments of this disclosure. The RAM 703 also stores various programs and data required for the operation of the electronic device 700. The processing device 701, ROM 702, and RAM 703 are interconnected via a bus 704. An input / output (I / O) interface 705 is also connected to the bus 704.
[0183] Typically, the following devices can be connected to I / O interface 705: input devices 706 including, for example, touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 707 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 708 including, for example, magnetic tapes, hard disks, etc.; and communication devices 709. Communication device 709 allows electronic device 700 to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 7 An electronic device 700 with various devices is shown; however, it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed alternatively.
[0184] In particular, according to embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this disclosure include a computer program product comprising a computer program carried on a non-transitory computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts, thereby implementing the voice control method as described above. In such embodiments, the computer program can be downloaded and installed from a network via communication device 709, or installed from storage device 708, or installed from ROM 702. When the computer program is executed by processing device 701, it performs the functions defined in the methods of embodiments of this disclosure.
[0185] It should be noted that the computer-readable medium described in this disclosure can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this disclosure, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in connection with an instruction execution system, apparatus, or device. In this disclosure, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), etc., or any suitable combination thereof.
[0186] In some implementations, clients and servers can communicate using any currently known or future-developed network protocol such as HTTP (Hypertext Transfer Protocol) and can interconnect with digital data communication (e.g., communication networks) of any form or medium. Examples of communication networks include local area networks (“LANs”), wide area networks (“WANs”), the Internet (e.g., the Internet of Things), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future-developed networks.
[0187] The aforementioned computer-readable medium may be included in the aforementioned electronic device; or it may exist independently and not assembled into the electronic device.
[0188] The aforementioned computer-readable medium carries one or more programs that, when executed by the electronic device, cause the electronic device to:
[0189] Control the legged robot to stand still and obtain the posture information of the legged robot's torso, as well as the joint angles and joint torques of each leg;
[0190] Based on posture information and joint angles of each foot, the vector from the trunk center of the legged robot to the foot tip is calculated.
[0191] Based on the joint angles and joint moments of each foot, estimate the plantar forces of each foot;
[0192] The first estimation result of the external force on the torso center of the legged robot is estimated based on the vector from the torso center to the foot tip and the force on the sole of each foot. The first estimation result includes three-dimensional force and three-dimensional torque.
[0193] The three-dimensional torque contained in the first estimation result is converted into the coordinates of the external force application point, and the coordinates of the external force application point and the three-dimensional force contained in the first estimation result are combined to form the estimation result of the external force on the legged robot.
[0194] Optionally, when one or more of the above-described procedures are executed by the electronic device, the electronic device may also perform other steps described in the above embodiments.
[0195] Computer program code for performing the operations of this disclosure can be written in one or more programming languages or a combination thereof, including but not limited to object-oriented programming languages such as Java, Smalltalk, and C++, as well as conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0196] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0197] The units described in the embodiments of this disclosure can be implemented in software or hardware. The names of the units are not, in some cases, intended to limit the specific unit.
[0198] The functions described above in this document can be performed, at least in part, by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: Field Programmable Gate Arrays (FPGAs), Application-Specific Integrated Circuits (ASICs), Application Standard Products (ASSPs), System-on-Chip (SoCs), Complex Programmable Logic Devices (CPLDs), and so on.
[0199] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0200] In this embodiment of the invention, firstly, when the indoor temperature reaches the set temperature but not the compressor shutdown temperature, or when the air conditioner is frosting, a first temperature difference between the indoor temperature and the compressor shutdown temperature is determined. Then, a fan speed adjustment value is determined based on the first temperature difference. Finally, the fan speed is adjusted using the fan speed adjustment value. Compared with related technologies, this method can adjust the indoor fan speed in real time according to the air conditioner's operating status, significantly improving comfort while alleviating the problem of frosting on the external heat exchanger when heating in low temperatures.
[0201] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0202] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0203] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0204] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0205] Although preferred embodiments of the invention have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments as well as all changes and modifications falling within the scope of the invention.
[0206] Obviously, those skilled in the art can make various modifications and variations to this invention without departing from its spirit and scope. Therefore, if these modifications and variations fall within the scope of the claims of this invention and their equivalents, this invention also intends to include these modifications and variations.
Claims
1. A method for estimating external forces in a legged robot, characterized in that, include: Control the legged robot to stand still, and obtain the posture information of the legged robot's torso, as well as the joint angles and joint torques of each foot; Based on the posture information and the joint angles of each foot, the vector from the trunk center of the legged robot to the foot tip of each foot is calculated. Based on the joint angles and joint moments of each foot, the plantar forces of each foot are estimated. The first estimation result of the external force on the torso center of the legged robot is estimated based on the vector from the toe center of the legged robot to the foot end and the force on the sole of each foot. The first estimation result includes three-dimensional force and three-dimensional torque. The three-dimensional torque contained in the first estimation result is converted into the coordinates of the external force application point, and the coordinates of the external force application point and the three-dimensional force contained in the first estimation result are combined to form the estimation result of the external force on the legged robot.
2. The method for estimating external forces in a legged robot according to claim 1, characterized in that, The acquisition of the posture information of the legged robot's torso, as well as the joint angles and joint torques of each leg, includes: The attitude information is determined by IMU data measured by the IMU at the center of the legged robot's torso; The joint angles of each foot are measured by position sensors on each foot joint of the leg robot; The joint torque of the corresponding joint is estimated by measuring the current of the motors of each foot joint of the leg robot.
3. The method for estimating external forces in a legged robot according to claim 1, characterized in that, The step of calculating the vector from the torso center to the foot tip of the legged robot based on the posture information and the joint angles of each foot includes: Based on the joint angles of each foot, the first position coordinates of the foot tip of each foot in the robot coordinate system are calculated by the robot's forward kinematics, where the origin of the robot coordinate system is located at the center of the torso of the legged robot. The second position coordinates of the torso center of the legged robot in the world coordinate system are determined based on the posture information. Based on the second position coordinates, the first position coordinates of each foot end are converted into the third position coordinates of each foot end in the world coordinate system; The vector from the torso center to each foot of the legged robot is determined based on the second position coordinates and the third position coordinates of each foot.
4. The method for estimating external forces in a legged robot according to claim 1, characterized in that, The estimation of plantar forces of each foot based on the joint angles and joint moments of each foot includes: The Jacobian matrix of the forces acting on the soles of each foot is determined based on the joint angles of each foot. Multiply the inverse of the Jacobian matrix of the forces on the soles of each foot by the joint torque of the corresponding foot to obtain the forces on the soles of each foot in the robot coordinate system. The plantar forces of each foot in the robot coordinate system are converted into plantar forces of each foot in the world coordinate system to obtain the plantar forces of each foot.
5. The method for estimating external forces in a legged robot according to claim 1, characterized in that, The first estimation result of estimating the external force on the torso center of the legged robot based on the vector from the torso center of the legged robot to the foot tip and the force on the sole of each foot includes: Calculate the total internal force acting on the center of the legged robot's torso based on the forces acting on the soles of each foot; The sum of internal torques acting on the torso center of the legged robot is calculated based on the vector from the center of the torso to the ends of each foot and the forces acting on the soles of each foot. The total internal force acting on the center of the legged robot's torso is determined based on the sum of the internal forces and the sum of the internal moments acting on the center of the torso. The difference between the gravity acting on the legged robot and the total internal force acting on the center of the legged robot's torso is calculated to obtain a first estimate of the external force acting on the center of the legged robot's torso.
6. The method for estimating external forces in a legged robot according to claim 1, characterized in that, Before converting the three-dimensional torque contained in the first estimation result into the coordinates of the point of application of the external force, the method further includes: Within a preset time after the legged robot begins to stand still, the above steps of obtaining the data, calculating the vector, estimating the force on the sole of the foot, and estimating the first estimation result are repeated to obtain multiple first estimation results of the external force on the center of the legged robot's torso. The average of the multiple first estimation results is calculated as the external force bias result; Based on the external force bias result, a second estimate of the external force acting on the center of the legged robot's torso is calculated. The step of converting the three-dimensional torque contained in the first estimation result into the coordinates of the external force application point, and combining the coordinates of the external force application point and the three-dimensional force contained in the first estimation result into the estimation result of the external force acting on the legged robot, includes: The three-dimensional torque contained in the second estimation result is converted into the coordinates of the point of application of the external force; The coordinates of the point of application of the external force are combined with the three-dimensional force contained in the second estimation result to form the estimation result of the external force on the legged robot.
7. The method for estimating external forces in a legged robot according to claim 6, characterized in that, The formula for calculating the external force offset result is as follows: in, T represents the result of external force bias. offset Indicates the preset time. This indicates the first estimation result; The formula for calculating the second estimation result is as follows: in, This represents the second estimation result, mg represents the gravity acting on the legged robot, i represents the corresponding foot of the legged robot, and f represents the second estimation result. i This indicates the force applied to the sole of the foot of the legged robot, r. i This represents the vector from the center of the torso of the legged robot to the corresponding foot.
8. A device for estimating the external force of a legged robot, characterized in that, include: The starting unit is used to control the legged robot to stand still and to acquire the posture information of the legged robot's torso, as well as the joint angles and joint torques of each foot. The first estimation unit is used to calculate the vector from the trunk center of the legged robot to the foot end of each foot based on the posture information and the joint angle of each foot. The second estimation unit is used to estimate the plantar force of each foot based on the joint angle and joint torque of each foot. The third estimation unit is used to estimate the first estimation result of the external force on the center of the torso of the legged robot based on the vector from the center of the torso of the legged robot to the foot end and the force on the sole of each foot. The first estimation result includes three-dimensional force and three-dimensional torque. The processing unit is configured to convert the three-dimensional torque contained in the first estimation result into the coordinates of the external force application point, and combine the coordinates of the external force application point and the three-dimensional force contained in the first estimation result into the estimation result of the external force on the legged robot.
9. An electronic device, characterized in that, include: At least one processor, at least one memory, and computer program instructions stored in the memory, which, when executed by the processor, implement the method as described in any one of claims 1-7.
10. A computer-readable storage medium having computer program instructions stored thereon, characterized in that, The method as described in any one of claims 1-7 is implemented when the computer program instructions are executed by the processor.
Citation Information
Patent Citations
Method for determining external interaction forces and / or interaction moments of a robot, robot and computer program product
EP4094903A1
State estimation system and state estimation method
JP2020069078A