Robot load position detection method, device, robot, and storage medium

By detecting changes in the current of the drive motors in the robot's leg structure, the load position is automatically calculated, solving the problem of items leaving the load area during robot handling and achieving accurate load position detection and resource conservation.

CN116394309BActive Publication Date: 2026-05-12DONGGUAN DIRECT DRIVE TECH LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
DONGGUAN DIRECT DRIVE TECH LTD
Filing Date
2023-03-31
Publication Date
2026-05-12

AI Technical Summary

Technical Problem

In existing technologies, during the process of robots handling items, items can easily leave the load area due to untimely human observation or high accuracy requirements of pressure sensors, making it impossible to detect the load position in a timely manner and increasing the cost of the robot.

Method used

By detecting changes in the current of the robot's leg structure drive motor, the presence of external forces on the load plane can be determined. The current value is then used to calculate the load position, achieving automatic detection without the need for additional hardware components.

Benefits of technology

It can easily determine whether the load position has changed, save hardware resources, is suitable for a variety of robot application scenarios, and improves the automation and accuracy of load position detection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116394309B_ABST
    Figure CN116394309B_ABST
Patent Text Reader

Abstract

The application relates to a robot load position detection method and device, a robot, a storage medium and a computer program product. The method comprises the following steps: detecting the current of a driving motor of a leg structure of a robot; when it is detected that the current of the driving motor of the leg structure of the robot changes by a preset change, determining that a corresponding load position of a load plane of the robot caused by external force exists; the leg structure is connected to the body of the robot through the driving motor, and the body is provided with the load plane; acquiring the current value of the driving motor when the preset change occurs; and based on the acquired current value, determining the corresponding load position of the load plane of the robot caused by external force. The method can automatically detect the load position and is suitable for various robot application scenarios.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of robotics technology, and in particular to a robot load position detection method, apparatus, robot, storage medium, and computer program product. Background Technology

[0002] A robot is a machine capable of performing various tasks through programming and control. It possesses basic characteristics such as perception, decision-making, and execution, and can assist or even replace humans in completing dangerous, heavy, and complex tasks, improving work efficiency and quality. With economic and social development, the application scenarios of robots are becoming increasingly widespread. In some scenarios, robots can transport objects to reduce the manpower required for human handling. However, during the robot's handling process, various factors may cause the object to move out of the robot's load area, preventing the robot from completing the transport. Current technologies involve manually observing the robot's handling of objects; when movement is observed, commands are used to control the robot to return the object to its original position so the robot can continue transporting the object. Alternatively, numerous pressure sensors are placed under the load plane to sense the position or weight of objects on the load plane. However, these pressure sensors require high accuracy, and damage to even one sensor is difficult to repair, significantly increasing the robot's cost.

[0003] However, relying on manual observation to determine whether items being moved by robots is problematic because human fatigue and other factors can lead to delayed observations and an inability to promptly ascertain the load position of the items carried by the robot, which can still result in items leaving the robot's load area. Summary of the Invention

[0004] Therefore, it is necessary to provide a robot load position detection method, device, robot, computer-readable storage medium, and computer program product that can automatically detect the load position, addressing the aforementioned technical problems.

[0005] Firstly, this application provides a method for detecting the load position of a robot. The method includes:

[0006] Detect the current of the drive motors of the robot's leg structure;

[0007] When a preset change in the current of the drive motor of the robot's leg structure is detected, it is determined that there is a corresponding load position on the robot's load plane caused by external force; the leg structure is connected to the robot's body through the drive motor, and the body is provided with the load plane;

[0008] Obtain the current value of the drive motor when the preset change occurs;

[0009] Based on the acquired current value, the corresponding load position generated by the external force acting on the load plane of the robot is determined.

[0010] Secondly, this application also provides a load position detection device. The device includes:

[0011] A current detection module is used to determine the presence of a corresponding load position generated by an external force on the load plane when a preset change in the current of the drive motor of the robot's leg structure is detected; the leg structure is connected to the robot's body through the drive motor, and the load plane is provided on the body; the module acquires the current value of the drive motor when the preset change occurs;

[0012] The load position determination module is used to determine the corresponding load position generated by the external force acting on the load plane of the robot based on the acquired current value.

[0013] Thirdly, this application also provides a robot. The robot includes a memory and a processor, the memory storing a computer program, and the processor executing the computer program to perform the following steps:

[0014] Detect the current of the drive motors of the robot's leg structure;

[0015] When a preset change in the current of the drive motor of the robot's leg structure is detected, it is determined that there is a corresponding load position on the robot's load plane caused by external force; the leg structure is connected to the robot's body through the drive motor, and the body is provided with the load plane;

[0016] Obtain the current value of the drive motor when the preset change occurs;

[0017] Based on the acquired current value, the corresponding load position generated by the external force acting on the load plane of the robot is determined.

[0018] Fourthly, this application also provides a computer-readable storage medium. The computer-readable storage medium stores a computer program thereon, which, when executed by a processor, performs the following steps:

[0019] Detect the current of the drive motors of the robot's leg structure;

[0020] When a preset change in the current of the drive motor of the robot's leg structure is detected, it is determined that there is a corresponding load position on the robot's load plane caused by external force; the leg structure is connected to the robot's body through the drive motor, and the body is provided with the load plane;

[0021] Obtain the current value of the drive motor when the preset change occurs;

[0022] Based on the acquired current value, the corresponding load position generated by the external force acting on the load plane of the robot is determined.

[0023] Fifthly, this application also provides a computer program product. The computer program product includes a computer program that, when executed by a processor, performs the following steps:

[0024] Detect the current of the drive motors of the robot's leg structure;

[0025] When a preset change in the current of the drive motor of the robot's leg structure is detected, it is determined that there is a corresponding load position on the robot's load plane caused by external force; the leg structure is connected to the robot's body through the drive motor, and the body is provided with the load plane;

[0026] Obtain the current value of the drive motor when the preset change occurs;

[0027] Based on the acquired current value, the corresponding load position generated by the external force acting on the load plane of the robot is determined.

[0028] The aforementioned robot load position detection method, device, robot, storage medium, and computer program product can conveniently determine whether a corresponding load position generated by external force needs to exist on the load plane by detecting whether the current of the drive motor of the robot's leg structure has changed according to a preset value. Then, based on the current value of the drive motor when the preset value occurs, the load position can be determined. Load position detection can be achieved without setting up a dedicated component on the robot for detecting the load position, which can save hardware resources. Moreover, the automatic detection of the load position by detecting the robot's own current makes it easy to determine whether the load position has changed, and it is suitable for a variety of robot application scenarios. Attached Figure Description

[0029] Figure 1 This is an application environment diagram of the robot load position detection method in one embodiment;

[0030] Figure 2 This is a flowchart illustrating a robot load position detection method in one embodiment;

[0031] Figure 3 This is a schematic diagram of the structural logic of a robot in one embodiment;

[0032] Figure 4 This is a schematic diagram of the load plane of the robot in one embodiment;

[0033] Figure 5This is a structural front view of one form of the robot when it is placed on the ground in one embodiment;

[0034] Figure 6 This is a schematic diagram of the robot's appearance in one embodiment;

[0035] Figure 7 This is a schematic diagram of the robot support leg linkage in one embodiment;

[0036] Figure 8 This is a force diagram of the robot in one embodiment;

[0037] Figure 9 This is a schematic diagram of the coordinate system of the load plane in one embodiment;

[0038] Figure 10 This is a schematic diagram of the robot's pitch angle when the robot body is tilted in one embodiment;

[0039] Figure 11 This is a schematic diagram of the load position detection process corresponding to the external force in one embodiment;

[0040] Figure 12 This is a structural block diagram of a robot load position detection device in one embodiment;

[0041] Figure 13 This is a diagram of the internal structure of a robot in one embodiment. Detailed Implementation

[0042] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0043] The robot load position detection method provided in this application embodiment can be applied to, for example... Figure 1The application environment shown is illustrated. The robot is equipped with a load plane 104 and a processor 106. The load plane 104 can be subjected to external forces applied by an external force-applying object 102. The processor 106 can detect the current of the drive motors of the robot's leg structure. When a preset change in the current of the drive motors of the robot's leg structure is detected, the processor 106 can determine that there is a corresponding load position on the robot's load plane 104 caused by the external force, acquire the current value of the drive motor when the preset change occurs, and determine the corresponding load position generated by the external force acting on the robot's load plane 104 based on the acquired current value. The external force-applying object 102 can be an inanimate object, such as a baton or ball, or a living organism, such as an animal or a human. The processor 106 is the component that controls the robot and can be a central processing unit (CPU) or a microcontroller unit (MCU).

[0044] In one embodiment, such as Figure 2 As shown, a robot load position detection method is provided. This embodiment applies this method to... Figure 1 Taking processor 106 as an example, the method includes the following steps:

[0045] Step 202: Detect the current of the drive motor of the robot's leg structure.

[0046] A robot is a machine capable of performing tasks. Robots can work by running pre-programmed instructions or by receiving human commands. The leg structure is the component in a robot that enables its movements. The leg structure can support the robot's overall movement or stillness; for example, it allows the robot to turn sideways, walk on the ground, remain stationary on the ground, or otherwise. The leg structure can also support the movement or stillness of the robot's body; for example, it allows the body to rotate along its rotatable direction or to levitate. The drive motor is the component in the leg structure that converts electrical energy into mechanical energy to enable the robot's movements.

[0047] In one embodiment, the robot's processor can acquire the current value of the drive motor at preset time intervals to detect the current of the drive motor of the robot's leg structure. The preset time interval is a pre-set time interval length, such as 0.1 milliseconds, 0.5 milliseconds, 1 millisecond, 2 milliseconds, etc.

[0048] Step 204: When a preset change in the current of the drive motor of the robot's leg structure is detected, it is determined that there is a corresponding load position generated by external force on the robot's load plane; the leg structure is connected to the robot's body through the drive motor, and the body is provided with a load plane.

[0049] The load-bearing plane is the load-bearing area within the robot. It can accept external forces. The load-bearing plane can be irregularly shaped or regularly shaped, such as a quadrilateral or circle. Quadrilaterals can be rectangles, parallelograms, etc. The body is the robot's main body and includes the load-bearing plane. The body can be connected to the leg structure to form the robot as a whole. A schematic diagram of the robot's structural logic can be shown below. Figure 3 As shown, the robot 300 includes a body 310 and a leg structure 320. The body 310 is provided with a load-bearing plane, and the leg structure 320 is connected to the body 310 through a drive motor.

[0050] External force is the force exerted on the robot's load plane by external forces. This force can be the force exerted by an object on the robot's load plane, or it can be the pressure applied by a human through direct contact with the robot's load plane. Examples of objects include batons, iron bars, balls, or others. The load position is the location created by the external force acting on the load plane; it can be the point of application of the external force on the load plane.

[0051] A preset change is a pre-defined change in the current of the drive motor, representing an external force acting on the load plane. The preset change can be an increase or decrease in the drive motor current relative to a reference current value. The reference current value is the current value used as a benchmark. The reference current value can be a preset current value; it can also be determined based on drive motor current values ​​acquired over a historical preset time period, for example, the average value calculated from current values ​​acquired over that period. The historical preset time period is a pre-set duration in the past, which can be a preset time period prior to the current moment, or a preset time period prior to the moment when the drive motor current first experienced a preset change within a certain time period.

[0052] In one embodiment, when the robot's processor detects the current of the drive motor and the difference between the current value obtained and the reference current value is greater than a preset current value, the robot's processor can determine that the current of the drive motor of the robot's leg structure has undergone a preset change.

[0053] Step 206: Obtain the current value of the drive motor when the preset change occurs.

[0054] The current value is the effective value of the current driving the motor.

[0055] In one embodiment, the robot's processor may determine that the difference between the acquired current value and the reference current value is greater than a preset current value, and use the acquired current value as the current value for driving the motor when a preset change occurs.

[0056] Step 208: Based on the acquired current value, determine the corresponding load position generated by the external force acting on the robot's load plane.

[0057] In one embodiment, the robot's processor can determine the external force acting on the robot's load plane based on the acquired current value, and determine the corresponding load position generated by the external force acting on the robot's load plane based on the determined external force.

[0058] In the above-mentioned robot load position detection method, by detecting whether the current of the drive motor of the robot's leg structure has changed by a preset, it is easy to determine whether there is a corresponding load position generated by external force on the load plane. Then, based on the current value of the drive motor when the preset occurs, the load position can be determined. The load position can be detected without setting up a special component on the robot for detecting the load position, which can save hardware resources. Moreover, the automatic detection of the load position by detecting the robot's own current makes it easy to determine whether the load position has changed, and it is suitable for a variety of robot application scenarios.

[0059] In one embodiment, the drive motors include a hip drive motor and a knee drive motor; the hip drive motor is used to drive the movement of the robot body; the knee drive motor is used to drive the movement of the supporting leg of the leg structure relative to the hip drive motor, so that the leg structure supports the robot body on the ground; step 208 includes: determining the motor torque of each of the hip drive motors and the knee drive motors respectively based on their respective current values; determining the supporting force of the supporting leg supporting the robot body based on the motor torque of the knee drive motor; determining the external force based on the supporting force; and determining the corresponding load position generated by the external force acting on the robot's load plane based on the dimensions of the load plane, the motor torque of the hip drive motor, the supporting force, and the external force.

[0060] Here, motor torque is the output torque of the drive motor. Support force is the supporting force exerted by the support legs on the machine body. Support force can also be the lifting force exerted on the machine body by the knee drive motor connected to the support legs. The dimensions of the load plane can characterize the specifications of the load plane. For example, when the load plane is rectangular, the dimensions of the load plane can be the length of the two sides of the rectangle or the length of the diagonal of the rectangle; when the load plane is circular, the dimensions of the load plane can be the radius or diameter of the circle.

[0061] In this embodiment, the external force can be calculated and determined by the current value of each drive motor, eliminating the need to install additional components on the robot to detect the external force. Furthermore, the load position can be calculated based on the determined external force, thus saving hardware resources.

[0062] In one embodiment, the robot's processor can determine the torque value of each hip drive motor and the knee drive motor by multiplying their respective current values ​​by their respective torque coefficients. Using the direction of rotation of each hip drive motor and the knee drive motor as their respective torque directions, the processor determines the torque of each hip drive motor and the knee drive motor based on their respective torque values ​​and torque directions. The torque coefficient is a motor parameter in each drive motor, which can be directly measured or preset.

[0063] In one embodiment, the load plane is a rectangle including a first side length and a second side length; the first side length is the side length of the first side of the load plane corresponding to the side of the body connecting the leg structure, and the second side length is the side length of the second side of the load plane that is different from the first side; the load position is represented by a coordinate system formed by the first side and the second side, and the load position includes a first-dimensional coordinate corresponding to the first side and a second-dimensional coordinate corresponding to the second side; the step of determining the corresponding load position generated by the external force acting on the load plane of the robot based on the size of the load plane, the motor torque of the hip drive motor, the support force, and the external force includes: determining the first-dimensional coordinate based on the motor torque of the hip drive motor and the external force; determining the second-dimensional coordinate based on the support force and the second side length; and determining the corresponding load position generated by the external force acting on the load plane of the robot based on the first-dimensional coordinate and the second-dimensional coordinate.

[0064] Among them, such as Figure 4 The schematic diagram of the robot's load plane is shown. The length of the first side can be... Figure 4 The L shown x The length of the second side can be Figure 4 The L shown y The coordinate system formed by the first and second sides can be a coordinate system with any point in the load plane as the origin and constructed using two rays passing through the origin and parallel to the first and second sides respectively. This coordinate system can be a rectangular coordinate system. The first dimension coordinate is the coordinate value of the dimension corresponding to the first side in the coordinate system formed by the first and second sides. The second dimension coordinate is the coordinate value of the dimension corresponding to the second side in the coordinate system formed by the first and second sides.

[0065] In this embodiment, a two-dimensional coordinate system is constructed on the rectangular load plane to conveniently determine the load position. The first-dimensional coordinate is determined based on the motor torque and external force of the hip drive motor, and the second-dimensional coordinate is determined based on the supporting force of the support leg on the body and the second side length of the load plane. The load position is determined by calculation, eliminating the need to set additional components on the robot to detect the load position, thus saving hardware resources.

[0066] In one embodiment, the leg structure includes a first walking section and a second walking section disposed on opposite sides of the body; the drive motor of the first walking section is connected to the body and the distal end of the first supporting leg of the first walking section, respectively, and the drive motor of the second walking section is connected to the body and the distal end of the second supporting leg of the second walking section, respectively; the drive motor of the first walking section includes a first hip drive motor and a first knee drive motor, the first hip drive motor is connected to the body and the first knee drive motor, and the first knee drive motor is connected to the first hip drive motor and the distal end of the first supporting leg, respectively; the drive motor of the second walking section includes a second hip drive motor and a second knee drive motor, the second hip drive motor is connected to the body and the second knee drive motor, and the second knee drive motor is connected to the second hip drive motor and the distal end of the second supporting leg, respectively.

[0067] Among them, based on such Figure 3 The robot shown in this embodiment can be as follows: Figure 5 The main view of the robot's structure in one form when it is placed on the ground is shown. The leg structure 320 includes a first walking part and a second walking part disposed on opposite sides of the body. The drive motors of the first walking part include a first hip drive motor 3211 and a first knee drive motor 3212. The first hip drive motor 3211 is connected to the body 310 and the first knee drive motor 3212, and the first knee drive motor 3212 is connected to the first hip drive motor 3211 and the far end of the first supporting leg 3213. The drive motors of the second walking part include a second hip drive motor 3221 and a second knee drive motor 3222. The second hip drive motor 3221 is connected to the body 310 and the second knee drive motor 3222, and the second knee drive motor 3222 is connected to the second hip drive motor 3221 and the far end of the second supporting leg 3223.

[0068] The first and second walking sections are used to support the robot's movements on opposite sides of the body. The first and second hip drive motors are components that support the robot's body movements; for example, the first and second hip drive motors can work in coordination to drive the body to rotate in a rotatable direction or to stop the body from rotating. The rotatable direction is the direction in which the body can rotate.

[0069] The first knee drive motor controls the movement of the first supporting leg and, together with the second knee drive motor, supports the robot's movements. The second knee drive motor controls the movement of the second supporting leg. The movement of either the first or second supporting leg can be walking, folding to turn the robot sideways, remaining stationary, or other actions. The first supporting leg can be implemented using a single component, such as a single link, a linkage, or a wheel; the second supporting leg can also be implemented using a combination of components, such as a combination of a single link and a wheel, or a combination of a linkage and a wheel. A single link is a single rod forming a link. A linkage is a link that connects multiple links through hinges. A linkage can be a two-link, three-link, four-link, or other linkage. The far end is the end furthest from the ground.

[0070] The body can be an irregular cube or a regular cube, such as a cuboid, cube, or cylinder. The load plane can be located on the side of the body that is not connected to the first or second traveling part. The load plane can be a fixed surface of the body; it can also be a non-fixed surface. For example, when the body is a cube, the load plane can be the top surface relative to other surfaces.

[0071] In this embodiment, the robot can move relatively stably through the first and second walking parts set on opposite sides of the body. Moreover, each of the first and second walking parts includes two drive motors, which facilitates the movement of the robot's body and the two side support legs, thereby improving the robot's stability.

[0072] In one embodiment, the robot may further include a third walking unit and a fourth walking unit disposed on opposite sides of the body, and the positions of the third and fourth walking units are different from those of the first and second walking units. The drive motors of the third walking unit are respectively connected to the body and the third support leg of the third walking unit, and the drive motors of the fourth walking unit are respectively connected to the body and the fourth support leg of the fourth walking unit. The drive motors of the third walking unit include a third hip drive motor and a third knee drive motor, with the third hip drive motor connected to the body and the third knee drive motor, and the third knee drive motor connected to the third hip drive motor and the third support leg. The drive motors of the fourth walking unit include a fourth hip drive motor and a fourth knee drive motor, with the fourth hip drive motor connected to the body and the fourth knee drive motor, and the fourth knee drive motor connected to the fourth hip drive motor and the fourth support leg.

[0073] In one embodiment, the third and fourth walking parts of the robot may be located on opposite sides of the robot body, and the third and first walking parts are located on the same side of the robot body, and the fourth and second walking parts are located on the same side of the robot body.

[0074] In one embodiment, based on such Figure 5 The robot shown is illustrated in the diagram below. Figure 6As shown, it is possible to... Figure 6 The robot shown forms a load-bearing plane after its flat outer shell is installed; the schematic diagram of the robot's support leg linkage connection is as follows. Figure 7 As shown. A first hip drive motor is connected to the body and a first knee drive motor, and the first knee drive motor is connected to the first hip drive motor and the distal end of the first support leg. The motor includes: the rotor of the first hip drive motor is connected to the body 310; the rotor of the first knee drive motor 3212 is connected to the stator of the first hip drive motor and the distal end of the first link 32131 of the first support leg; the stator of the first knee drive motor 3212 is connected to the distal end of the third link 32133 of the first support leg; the first link 32131 and the second link 32132 of the first support leg are rotatably connected between the near-ground end and the distal end of the second link 32132; the distal end of the second link 32132 is rotatably connected to the near-ground end of the third link 32133; and the near-ground end of the second link 32132 is connected to the rotation axle of the wheel of the first support leg.

[0075] The second hip drive motor is connected to the body and the second knee drive motor respectively. The second knee drive motor is connected to the second hip drive motor and the distal end of the second support leg respectively. The second walking unit includes a drive motor for the second hip drive motor and the second knee drive motor. The rotor of the second hip drive motor is connected to the body. The rotor of the second knee drive motor is connected to the stator of the second hip drive motor and the distal end of the first link of the second support leg. The stator of the first knee drive motor is connected to the distal end of the third link of the second support leg. The first link of the second support leg and the second link of the second support leg are rotatably connected between the near end and the distal end of the second link of the second support leg. The distal end of the second link of the second support leg is rotatably connected to the near end of the third link of the second support leg. The near end of the second link of the second support leg is connected to the rotating shaft of the wheel of the second support leg.

[0076] In this embodiment, the rotation control of the robot body can be achieved by connecting the rotors of each hip drive motor to the robot body; by combining multiple links and connecting different links by connecting the stators and rotors of each knee drive motor to different links, the stability of the supporting legs can be ensured, and it is suitable for the robot to perform various actions.

[0077] In one embodiment, the load plane is a rectangle including a first side length and a second side length; the first side length is the side length of the first side of the load plane corresponding to the side of the body connecting to the leg structure, and the second side length is the side length of the second side of the load plane that is different from the first side; the load position is represented by a coordinate system formed by the first side and the second side, and the load position includes a first dimension coordinate corresponding to the first side and a second dimension coordinate corresponding to the second side; step 208 further includes: determining the motor torque of each of the first hip drive motor, the second hip drive motor, the first knee drive motor, and the second knee drive motor respectively based on their respective current values; determining the first support force of the first support leg supporting the body based on the motor torque of the first knee drive motor, and determining the second support force of the second support leg supporting the body based on the motor torque of the second knee drive motor; determining the external force based on the first support force and the second support force; determining the first dimension coordinate based on the motor torque of the first hip drive motor, the motor torque of the second hip drive motor, and the external force; determining the second dimension coordinate based on the first support force, the second support force, and the second side length; and determining the corresponding load position generated by the external force acting on the load plane of the robot based on the first dimension coordinate and the second dimension coordinate.

[0078] The first supporting force is the supporting force of the first supporting leg supporting the machine body. The first supporting force can also be the lifting force exerted on the machine body by the first knee drive motor connected to the first supporting leg. The second supporting force is the supporting force of the second supporting leg supporting the machine body. The second supporting force can also be the lifting force exerted on the machine body by the second knee drive motor connected to the second supporting leg.

[0079] In this embodiment, as Figure 5 Based on the robot shown, the methods for determining the supporting force, external force, first-dimensional coordinates, and second-dimensional coordinates are clarified. The load position is determined by calculation, eliminating the need to set up additional components on the robot to detect the load position, thus saving hardware resources.

[0080] In one embodiment, the robot's processor can determine the torque value of each of the first hip drive motor, the second hip drive motor, the first knee drive motor, and the second knee drive motor by multiplying their respective current values ​​by their respective torque coefficients; and determine the torque of each of the first hip drive motor, the second hip drive motor, the first knee drive motor, and the second knee drive motor by taking their respective directions of rotation as their respective torque directions.

[0081] In one embodiment, the robot's processor can determine a first Jacobian matrix between the first knee drive motor and the first supporting leg, and a second Jacobian matrix between the second knee drive motor and the second supporting leg, respectively. Based on the first Jacobian matrix and the motor torque of the first knee drive motor, it can determine a first supporting force of the first supporting leg supporting the body, and based on the second Jacobian matrix and the motor torque of the second knee drive motor, it can determine a second supporting force of the second supporting leg supporting the body.

[0082] The first Jacobian matrix represents the relationship between the joint rotational speed of the joint between the first knee drive motor and the first supporting leg, the Cartesian velocity of the near-ground end of the first supporting leg, and the angular velocity. The first Jacobian matrix can be determined based on the joint angle and the length of the first supporting leg. The joint between the first knee drive motor and the first supporting leg refers to the connection point between the first knee drive motor and the first supporting leg. The second Jacobian matrix represents the relationship between the joint rotational speed of the joint between the second knee drive motor and the second supporting leg, the Cartesian velocity of the near-ground end of the second supporting leg, and the angular velocity. The second Jacobian matrix can be determined based on the joint angle and the length of the second supporting leg. The joint between the second knee drive motor and the second supporting leg refers to the connection point between the second knee drive motor and the second supporting leg.

[0083] For example, such as Figure 7 As shown, the first supporting leg includes a first link, a second link, and a third link. The joint between the first knee drive motor and the first supporting leg may include the portion where the first link connects to the first knee joint, the portion where the third link connects to the first knee drive motor, and the portion where the third link connects to the second link. The angle of the joint is the included angle between the components connected to the joint. The length of the first supporting leg includes the individual lengths of the first link, the second link, and the third link.

[0084] In one embodiment, the robot's processor can determine the first support force by formula (1) and the second support force by formula (2).

[0085]

[0086]

[0087] In formula (1), J1 can represent the first Jacobian matrix between the first knee drive motor and the first supporting leg. The first transpose of the first Jacobian matrix can be represented. This matrix can be used to represent the inverse of the first transpose matrix; T LKnee This can be used to characterize the motor torque of the first knee drive motor, and can also be referred to as the motor torque of the left knee drive motor. F LKneeThis can characterize the first supporting force, which can be called the lifting force of the first knee drive motor, or the lifting force of the left knee drive motor; F LKnee It can be the product of the motor torque of the first knee drive motor and the inverse of the first transpose of the first Jacobian matrix.

[0088] In formula (2), J2 can represent the second Jacobian matrix between the second knee drive motor and the second supporting leg. T The second transpose of the second Jacobian matrix can be represented. This can be represented by the inverse matrix of the second transpose matrix; T RKnee This can be used to characterize the motor torque of the second knee drive motor, and can also be referred to as the motor torque of the right knee drive motor. F RKnee This can characterize the second supporting force, which can be called the lifting force of the second knee drive motor, or the lifting force of the right knee drive motor; F RKnee It can be the product of the motor torque of the second knee drive motor and the inverse of the second transpose of the second Jacobian matrix.

[0089] In one embodiment, the robot's processor can acquire the robot's roll angle and the robot's mass, and determine the external force based on the first support force, the second support force, the roll angle, and the mass of the robot. The roll angle can include a first-direction roll angle and a second-direction roll angle. When the load plane is positioned on the top of the robot, the first-direction roll angle can be the angle between a ray perpendicular to the load plane upwards and a ray perpendicular to the ground upwards; the second-direction roll angle can be the angle between a ray perpendicular to the load plane downwards and a ray perpendicular to the ground downwards.

[0090] In one embodiment, the robot's processor can determine the external force according to the following formula (3).

[0091]

[0092] Among them, see as Figure 8 The diagram shows the forces acting on the robot. The load plane can be located on the top of the robot body. γ represents the roll angle in the first direction, which can be measured by the robot's angle sensor, gyroscope, or IMU (Inertial Measurement Unit). cosγ represents the cosine value of γ. M represents the mass of the robot body, and M*g represents the gravity acting on the robot body. M*g can be the product of the robot's mass M and the gravitational acceleration g. F LKnee +F RKnee It can represent the resultant force of the first supporting force and the second supporting force. It can characterize the component of the resultant force of the first and second supporting forces in the ray direction perpendicular to the ground. It can be the ratio between the sum of the first support force and the second support force and the cosine of the roll angle in the first direction. F E It can represent an external force perpendicular to the ground. For example, when an object is placed on a load plane and generates an external force, the object's weight can be taken as the external force, and the direction of the external force is the direction of gravity. An external force perpendicular to the ground can be the difference between the component of the supporting force and the weight of the aircraft. The value of the external force perpendicular to the ground can be the difference between the value of the component of the supporting force and the value of the weight of the aircraft.

[0093] In one embodiment, the robot's processor can determine the external force according to the following formula (4).

[0094] F' E =F LKnee +F RKnee Formula (4) -M*g*cosγ'

[0095] The load plane can be located at the top of the aircraft. γ' represents the roll angle in the second direction, and cosγ' represents the cosine of γ'. M*g*cosγ' represents the component of gravity acting on the aircraft in the ray direction perpendicular to the load plane and pointing downwards. M*g*cosγ' can be the product of the aircraft's gravity and the cosine of the roll angle in the second direction. F' E It can characterize an external force perpendicular to the load plane and pointing downwards, for example, F E 'It could be the pressure of a person's finger on the load plane. The external force perpendicular to the load plane and downward can be the difference between the resultant force of the supporting force and the component of gravity.'

[0096] In one embodiment, the external force can be a force perpendicular to the ground and downwards, such as F in formula (3). E The coordinate system formed by the first and second sides can be a rectangular coordinate system with the center of the load plane as the origin, the ray passing through the center and parallel to the first side as the x-axis (horizontal axis), and the ray passing through the center and parallel to the second side as the y-axis (vertical axis), such as... Figure 9 As shown. In this embodiment, the robot's processor can determine the first dimension coordinates using the following formula (5).

[0097]

[0098] Formula (5) can be derived from the torque balance formula x0*F of the machine body. E *cosθ=T Lhip +T Rhip Obtained by transformation. T Lhip It can be used to characterize the motor torque of the first hip drive motor, and can also be referred to as the motor torque of the left hip drive motor. T RhipIt can be used to characterize the motor torque of the second hip drive motor, and can also be referred to as the motor torque of the right hip drive motor.

[0099] F E It can represent the downward force perpendicular to the ground. θ can represent the robot's pitch angle, which can be measured by the robot's angle sensor, gyroscope, or IMU sensor. The load plane can be set on the top of the robot, such as... Figure 10 The diagram illustrates the pitch angle of a robot when its body is tilted. The pitch angle can be the angle between a ray perpendicular to the load plane pointing downwards and a ray perpendicular to the ground pointing downwards; the value of θ can be the same as the value of θ', where θ' represents the horizontal pitch angle of the robot, which can be the angle between the load plane and the ground. cosθ represents the cosine value of the pitch angle. E *cosθ can be the product of the downward force perpendicular to the ground and the cosine of the pitch angle, and can characterize the component of the downward force perpendicular to the ground in the ray direction perpendicular to the load plane.

[0100] x0 can represent the external force F. E The first-dimensional coordinate of the load position P; the first-dimensional coordinate can be the ratio between the sum of the motor torque of the first hip drive motor and the motor torque of the second hip drive motor and the component of the external force perpendicular to the ground downward in the ray direction perpendicular to the load plane downward.

[0101] In one embodiment, the external force can be a force perpendicular to the load plane and downwards, such as F in formula (4). E In this embodiment, the robot's processor can determine the first dimension coordinates using the following formula (6).

[0102]

[0103] Where x'0 can represent the external force F E The first-dimensional coordinate of the load position; the first-dimensional coordinate can be the ratio between the sum of the motor torque of the first hip drive motor and the motor torque of the second hip drive motor and the external force perpendicular to the load plane and pointing downwards.

[0104] In one embodiment, based on such Figure 9 In the coordinate system shown, the robot's processor can determine the second-dimensional coordinate of the load position P using the following formula (7).

[0105]

[0106] Among them, L y It can represent the length of the second side; The ratio of the difference between the first support force and the second support force to the sum of the first support force and the second support force; It can represent half the length of the second side; y0 can represent the second-dimensional coordinate, which can be... and The product of.

[0107] In one embodiment, in a specific application scenario, the robot structure can be as follows: Figure 5 As shown, the load plane is a rectangle including the first side length and the second side length. The load plane can be as follows: Figure 4 As shown, the coordinate system in the load plane can be as follows: Figure 9 As shown, the above-mentioned robot load position detection method specifically includes the following steps.

[0108] like Figure 11 As shown in the schematic diagram of the load position detection process corresponding to external force, when a preset change in the current of any one of the first hip drive motor, second hip drive motor, first knee drive motor and second knee drive motor of the robot's leg structure is detected, the robot's processor can determine that there is a corresponding load position generated by external force on the load plane, and obtain the current values ​​of the first knee drive motor, second knee drive motor, first hip drive motor and second hip drive motor respectively.

[0109] The robot's processor can determine the motor torque of each of the first knee drive motor, the second knee drive motor, the first hip drive motor, and the second hip drive motor based on their respective current values. A first Jacobian matrix is ​​determined between the first knee drive motor and the first supporting leg, and a second Jacobian matrix is ​​determined between the second knee drive motor and the second supporting leg. Based on the motor torque of the first knee drive motor and the first Jacobian matrix, the first supporting force is determined using formula (1); based on the motor torque of the second knee drive motor and the second Jacobian matrix, the second supporting force is determined using formula (2). The external force is determined based on the first supporting force, the second supporting force, and formula (3).

[0110] The robot's processor can obtain the first dimension coordinate x0 in the load position using formula (5) based on the motor torque of the first hip drive motor, the motor torque of the second hip joint, and the external force; and determine the second dimension coordinate y0 using formula (7) based on the first support force, the second support force, and the second side length; and determine the corresponding load position generated by the external force acting on the robot's load plane based on the first dimension coordinate and the second dimension coordinate.

[0111] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.

[0112] Based on the same inventive concept, this application also provides a robot load position detection device for implementing the robot load position detection method described above. The solution provided by this device is similar to the implementation described in the above method; therefore, the specific limitations in one or more robot load position detection device embodiments provided below can be found in the limitations of the robot load position detection method described above, and will not be repeated here.

[0113] In one embodiment, such as Figure 12 As shown, a robot load position detection device 1200 is provided, including: a current detection module 1210 and a load position determination module 1220, wherein:

[0114] The current detection module 1210 is used to determine the corresponding load position generated by external force on the load plane when a preset change in the current of the drive motor of the robot's leg structure is detected; the leg structure is connected to the robot's body through the drive motor, and the body is provided with a load plane; the current value of the drive motor when the preset change occurs is obtained.

[0115] The load position determination module 1220 is used to determine the corresponding load position generated by the external force acting on the load plane of the robot based on the acquired current value.

[0116] In one embodiment, the drive motors include a hip drive motor and a knee drive motor; the hip drive motor is used to drive the movement of the robot body; the knee drive motor is used to drive the support leg of the leg structure to move relative to the hip drive motor, so that the leg structure supports the robot body on the ground; the load position determination module 1220 is also used to determine the motor torque of each of the hip drive motors and the knee drive motors respectively based on their respective current values; determine the support force of the support leg supporting the robot body based on the motor torque of the knee drive motor; determine the external force based on the support force; and determine the corresponding load position generated by the external force acting on the load plane of the robot based on the size of the load plane, the motor torque of the hip drive motor, the support force, and the external force.

[0117] In one embodiment, the load plane is a rectangle including a first side length and a second side length; the first side length is the side length of the first side of the load plane corresponding to the side of the body connecting the leg structure, and the second side length is the side length of the second side of the load plane that is different from the first side; the load position is represented by a coordinate system formed by the first side and the second side, and the load position includes a first dimension coordinate corresponding to the first side and a second dimension coordinate corresponding to the second side; the load position determination module 1220 is further used to determine the first dimension coordinate based on the motor torque of the hip drive motor and the external force; determine the second dimension coordinate based on the support force and the second side length; and determine the corresponding load position generated by the external force acting on the load plane of the robot based on the first dimension coordinate and the second dimension coordinate.

[0118] In one embodiment, the leg structure includes a first walking section and a second walking section disposed on opposite sides of the body; the drive motor of the first walking section is connected to the body and the distal end of the first supporting leg of the first walking section, respectively, and the drive motor of the second walking section is connected to the body and the distal end of the second supporting leg of the second walking section, respectively; the drive motor of the first walking section includes a first hip drive motor and a first knee drive motor, the first hip drive motor is connected to the body and the first knee drive motor, and the first knee drive motor is connected to the first hip drive motor and the distal end of the first supporting leg, respectively; the drive motor of the second walking section includes a second hip drive motor and a second knee drive motor, the second hip drive motor is connected to the body and the second knee drive motor, and the second knee drive motor is connected to the second hip drive motor and the distal end of the second supporting leg, respectively.

[0119] In one embodiment, the rotor of the first hip drive motor is connected to the body, the rotor of the first knee drive motor is connected to the stator of the first hip drive motor and the far end of the first link of the first support leg, and the stator of the first knee drive motor is connected to the far end of the third link of the first support leg; the first link of the first support leg and the second link of the first support leg are rotatably connected between the near end and the far end of the second link of the first support leg; the far end of the second link of the first support leg is rotatably connected to the near end of the third link of the first support leg, and the near end of the second link of the first support leg is connected to the rotation shaft of the wheel of the first support leg.

[0120] In one embodiment, the drive motor of the second walking unit includes a second hip drive motor and a second knee drive motor. The rotor of the second hip drive motor is connected to the body, and the rotor of the second knee drive motor is connected to the stator of the second hip drive motor and the distal end of the first link of the second support leg. The stator of the first knee drive motor is connected to the distal end of the third link of the second support leg. The first link of the second support leg and the second link of the second support leg are rotatably connected between the proximal end and the distal end of the second link of the second support leg. The distal end of the second link of the second support leg is rotatably connected to the proximal end of the third link of the second support leg, and the proximal end of the second link of the second support leg is connected to the rotation shaft of the wheel of the second support leg.

[0121] In one embodiment, the load plane is a rectangle including a first side length and a second side length; the first side length is the side length of the first side of the load plane corresponding to the side of the body connecting to the leg structure, and the second side length is the side length of the second side of the load plane that is different from the first side; the load position is represented by a coordinate system formed by the first side and the second side, and the load position includes a first dimension coordinate corresponding to the first side and a second dimension coordinate corresponding to the second side; the load position determination module 1220 is further configured to determine the motor torque of each of the first hip drive motor, the second hip drive motor, the first knee drive motor, and the second knee drive motor respectively based on their respective current values; determine the first support force of the first support leg supporting the body based on the motor torque of the first knee drive motor, and determine the second support force of the second support leg supporting the body based on the motor torque of the second knee drive motor; determine the external force based on the first support force and the second support force; determine the first dimension coordinate based on the motor torque of the first hip drive motor, the motor torque of the second hip drive motor, and the external force; determine the second dimension coordinate based on the first support force, the second support force, and the second side length; and determine the corresponding load position generated by the external force acting on the load plane of the robot based on the first dimension coordinate and the second dimension coordinate.

[0122] Each module in the aforementioned robot load detection device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in the robot's processor in hardware form or independent of it, or stored in the robot's memory in software form, so that the processor can call and execute the corresponding operations of each module.

[0123] In one embodiment, a robot is provided, which may be a server, and its internal structure diagram may be as follows: Figure 13As shown, the robot includes a processor, memory, input / output (I / O) interfaces, and a communication interface. The processor, memory, and I / O interfaces are connected via a system bus, and the communication interface is also connected to the system bus via the I / O interfaces. The robot's processor provides computational and control capabilities. The robot's memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and a database. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage media. The robot's database stores data required for executing the robot load position detection method described above. The robot's I / O interfaces are used for exchanging information between the processor and external devices. The robot's communication interface is used for communication with external terminals via a network connection. When the computer program is executed by the processor, it implements a robot load position detection method.

[0124] Those skilled in the art will understand that Figure 13 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the robot to which the present application is applied. A specific robot may include more or fewer parts than shown in the figure, or combine certain parts, or have different part arrangements.

[0125] In one embodiment, a robot is provided, including a memory and a processor, the memory storing a computer program, the processor executing the computer program to implement the steps in the above method embodiments.

[0126] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the steps in the above method embodiments.

[0127] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above method embodiments.

[0128] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.

[0129] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0130] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.

Claims

1. A method for detecting the load position of a robot, characterized in that, The method includes: The current of the drive motors of the robot's leg structure is detected; the drive motors include a hip drive motor and a knee drive motor. When a preset change in the current of the drive motor of the robot's leg structure is detected, it is determined that there is a corresponding load position on the robot's load plane caused by an external force. The leg structure is connected to the robot's body through the drive motor, and the body is provided with the load plane. The load plane is a rectangle including a first side length and a second side length. The first side length is the side length of the first side of the load plane corresponding to the side of the body connected to the leg structure, and the second side length is the side length of the second side of the load plane that is different from the first side. The load position is represented by a coordinate system formed by the first side and the second side, and the load position includes a first-dimensional coordinate corresponding to the first side and a second-dimensional coordinate corresponding to the second side. Obtain the current value of the drive motor when the preset change occurs; The motor torque of each hip drive motor and the knee drive motor is determined based on their respective current values. The supporting force of the supporting leg supporting the robot body is determined based on the motor torque of the knee drive motor. The external force is determined based on the supporting force. The first dimension coordinate is determined based on the motor torque of the hip drive motor and the external force. The second dimension coordinate is determined based on the supporting force and the second side length. The corresponding load position generated by the external force acting on the load plane of the robot is determined based on the first dimension coordinate and the second dimension coordinate.

2. The method according to claim 1, characterized in that, The hip drive motor is used to drive the movement of the body; the knee drive motor is used to drive the supporting leg of the leg structure to move relative to the hip drive motor, so that the leg structure supports the body on the ground.

3. The method according to claim 1, characterized in that, The leg structure includes a first walking section and a second walking section disposed on opposite sides of the body; The drive motor of the first walking part is connected to the far end of the first support leg of the first walking part and the body, respectively; the drive motor of the second walking part is connected to the far end of the second support leg of the second walking part and the body, respectively. The drive motor of the first walking unit includes a first hip drive motor and a first knee drive motor. The first hip drive motor is connected to the body and the first knee drive motor respectively, and the first knee drive motor is connected to the first hip drive motor and the distal end of the first supporting leg respectively. The drive motor of the second walking unit includes a second hip drive motor and a second knee drive motor. The second hip drive motor is connected to the body and the second knee drive motor respectively, and the second knee drive motor is connected to the second hip drive motor and the distal end of the second support leg respectively.

4. The method according to claim 3, characterized in that, The first hip drive motor is connected to the body and the first knee drive motor respectively, and the first knee drive motor is connected to the first hip drive motor and the distal end of the first supporting leg respectively, including: The rotor of the first hip drive motor is connected to the body, the rotor of the first knee drive motor is connected to the stator of the first hip drive motor and the far end of the first link of the first support leg, and the stator of the first knee drive motor is connected to the far end of the third link of the first support leg; the first link of the first support leg and the second link of the first support leg are rotatably connected between the near end and the far end of the second link of the first support leg; the far end of the second link of the first support leg is rotatably connected to the near end of the third link of the first support leg, and the near end of the second link of the first support leg is connected to the rotation axle of the wheel of the first support leg; The second hip drive motor is connected to the body and the second knee drive motor respectively, and the second knee drive motor is connected to the second hip drive motor and the distal end of the second supporting leg respectively, including: The drive motor of the second walking unit includes a second hip drive motor and a second knee drive motor. The rotor of the second hip drive motor is connected to the body, and the rotor of the second knee drive motor is connected to the stator of the second hip drive motor and the distal end of the first link of the second support leg. The stator of the first knee drive motor is connected to the distal end of the third link of the second support leg. The first link of the second support leg and the second link of the second support leg are rotatably connected between the proximal end and the distal end of the second link of the second support leg. The distal end of the second link of the second support leg is rotatably connected to the proximal end of the third link of the second support leg. The proximal end of the second link of the second support leg is connected to the rotation axle of the wheel of the second support leg.

5. The method according to claim 3, characterized in that, The load plane is a rectangle including a first side length and a second side length; the first side length is the side length of the first side of the load plane corresponding to the side of the body connected to the leg structure, and the second side length is the side length of the second side of the load plane that is different from the first side; the load position is represented by a coordinate system formed by the first side and the second side, and the load position includes a first dimension coordinate corresponding to the first side and a second dimension coordinate corresponding to the second side; determining the corresponding load position generated by the external force acting on the load plane of the robot based on the acquired current value includes: The motor torque of each of the first hip drive motor, the second hip drive motor, the first knee drive motor, and the second knee drive motor is determined based on their respective current values. The first supporting force of the first supporting leg supporting the body is determined based on the motor torque of the first knee drive motor, and the second supporting force of the second supporting leg supporting the body is determined based on the motor torque of the second knee drive motor. The external force is determined based on the first supporting force and the second supporting force; The first dimension coordinates are determined based on the motor torque of the first hip drive motor, the motor torque of the second hip drive motor, and the external force. The second dimension coordinates are determined based on the first support force, the second support force, and the second side length; Based on the first dimension coordinates and the second dimension coordinates, the corresponding load position generated by the external force acting on the load plane of the robot is determined.

6. A robot load position detection device, characterized in that, The device includes: A current detection module is used to determine the presence of a corresponding load position generated by an external force on the load plane when a preset change in the current of the drive motor of the robot's leg structure is detected. The leg structure is connected to the robot's body via the drive motor, and the body is provided with the load plane. The module acquires the current value of the drive motor when the preset change occurs. The drive motor includes a hip drive motor and a knee drive motor. The load plane is a rectangle with a first side length and a second side length. The first side length is the side length of the first side of the load plane corresponding to the side of the body connected to the leg structure, and the second side length is the side length of the second side of the load plane that is different from the first side. The load position is represented by a coordinate system formed by the first side and the second side, and the load position includes a first-dimensional coordinate corresponding to the first side and a second-dimensional coordinate corresponding to the second side. The load position determination module is used to determine the motor torque of the hip drive motor and the knee drive motor respectively based on their respective current values; determine the supporting force of the supporting leg supporting the body based on the motor torque of the knee drive motor; determine the external force based on the supporting force; determine the first dimension coordinate based on the motor torque of the hip drive motor and the external force; determine the second dimension coordinate based on the supporting force and the second side length; and determine the corresponding load position generated by the external force acting on the load plane of the robot based on the first dimension coordinate and the second dimension coordinate.

7. The apparatus according to claim 6, characterized in that, The hip drive motor is used to drive the movement of the body; the knee drive motor is used to drive the supporting leg of the leg structure to move relative to the hip drive motor, so that the leg structure supports the body on the ground.

8. A robot comprising a memory and a processor, the memory storing a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 5.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 5.

10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 5.