Humanoid robot zero position automatic calibration method and system based on current characteristic analysis
By using current characteristic analysis and adaptive threshold adjustment, the problem of reduced lifespan caused by reliance on external hardware and mechanical limits for zero-position calibration of humanoid robots was solved. This enabled fast, safe, and automatic zero-position calibration, improving calibration accuracy and system reliability.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- ZHEJIANG UNIV OF TECH
- Filing Date
- 2026-04-01
- Publication Date
- 2026-06-26
AI Technical Summary
Existing humanoid robot zero-position calibration methods rely on external hardware or sensors, have low automation levels, and suffer from structural compression and impact during mechanical limit calibration, leading to reduced lifespan and low calibration accuracy.
By analyzing the current characteristics of the joint motor and combining multi-cycle sampling and filtering techniques, the current threshold is adaptively adjusted to achieve zero-position calibration of multiple joints without the need for external sensors. This avoids mechanical limit judgment and adopts adaptive threshold and limit judgment strategies to ensure the safety and accuracy of the calibration process.
It enables rapid, safe, and automatic zero-position calibration of all joints in a humanoid robot, avoiding mechanical interference and structural compression, improving calibration accuracy and system reliability, reducing hardware dependence, and making it suitable for complex postures and rapid recovery after component maintenance.
Smart Images

Figure CN121946543B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of robot control technology, specifically relating to an automatic zero-position calibration method and system for humanoid robots based on current characteristic analysis. Background Technology
[0002] In the field of humanoid robot control technology, joint zero-position calibration is a crucial step in ensuring the consistency between the robot's kinematic model and the actual mechanical structure, and it is also an important prerequisite for achieving precise motion control and posture recovery. Inaccurate zero-position calibration will lead to deviations between the initial angles of each joint and the actual posture, causing systematic errors in the control system's posture calculation, trajectory planning, and coordinated control, thus affecting the overall motion consistency and repeatability of the robot. Therefore, how to implement an efficient, fast, accurate, and automatically executable zero-position calibration method on the robot body has become one of the key technical problems in current humanoid robot control systems.
[0003] There are two main types of existing zero-position calibration methods for humanoid robots:
[0004] The first category is self-calibration methods based on internal sensor feedback. These methods typically rely on devices such as attitude sensors, force / torque sensors, or encoders to determine whether a joint has reached its zero position by analyzing signal characteristics during the robot's force state or posture changes. While this type of method achieves automatic calibration to some extent, it is highly dependent on the number, accuracy, and installation consistency of sensors. The multi-sensor fusion algorithm is complex, easily affected by noise and environmental interference, and has poor real-time performance and versatility. Furthermore, the algorithm involves a large computational load during multi-joint collaborative adjustment, making it difficult to operate stably under real-time control conditions and unsuitable for humanoid robots with limited hardware resources or lightweight designs.
[0005] The second category is calibration methods based on external devices. These methods typically utilize clamps, positioning platforms, or external support structures to mechanically grip and adjust the posture of the robot's legs or feet, thereby determining the initial positions of each joint. While this type of method offers high calibration accuracy, it is structurally complex, costly, reliant on external assembly, and involves cumbersome procedures, making it difficult to integrate onto the robot itself or achieve rapid calibration. Furthermore, the posture adjustment and gripping parameters of external devices usually require manual intervention, resulting in limited automation and hindering large-scale or field applications.
[0006] To overcome the aforementioned problems, those skilled in the art have long sought a zero-position calibration method within the robot's body that requires no external devices and can be achieved solely through its own structure. In existing technologies, the calibration principle of determining the mechanical zero position by moving the actuator to a mechanical limit position and then retracting by a predetermined offset has been applied in some single-degree-of-freedom or loosely coupled actuators, such as vehicle steering systems or linear drive devices. This type of solution has a simple structure, requires no external sensors, and can reliably determine the zero position in single-axis scenarios. However, when this method is applied to humanoid robots, due to their numerous joints, compact spatial layout, strong coupling relationships, and complex posture control, directly adopting this method will face several technical limitations.
[0007] First, this method requires the joint to actually move to the mechanical limiting structure. When the robot reaches the limit, a rigid contact impact will occur, which not only causes hard collision and stress concentration of mechanical parts, but also easily causes metal fatigue, plastic deformation of the limiting part and increased assembly gap after multiple calibrations, thereby reducing the overall structural life and repeatability accuracy of the machine.
[0008] Secondly, the friction coefficient, transmission ratio and load characteristics of different joints are significantly different, and a unified limit judgment threshold cannot be accurately adapted. Under high coupling conditions, if all joints return to zero at the same time, attitude interference and mechanical collision are likely to occur. In addition, when the stop command is issued only after the joint has fully reached the mechanical limit, the motor inertia may still cause structural compression and zero position deviation due to the control command transmission and response delay, thereby affecting attitude consistency and calibration accuracy. Summary of the Invention
[0009] The purpose of this invention is to overcome the problems of low efficiency, reliance on external hardware, insufficient automation, and reduced lifespan caused by structural compression and impact during mechanical limit calibration of humanoid robots in the prior art. It provides a method and system for automatic zero-position calibration of humanoid robots based on current characteristic analysis, which can achieve efficient, safe, automatic and fast zero-position calibration of multiple joints through adaptive analysis and zero-return control of the current characteristics of the robot's drive motor without the need for external sensors.
[0010] To achieve the above objectives, the technical solution adopted by the present invention is as follows:
[0011] Firstly, a method for automatic zero-position calibration of a humanoid robot based on current characteristic analysis is provided, including the following steps:
[0012] During the initial calibration, the zero-position calibration sequence and zero-return direction of each joint are determined based on the spatial layout and motion coupling relationship of each joint of the humanoid robot.
[0013] Obtain the offset of each joint from the mechanical limit position to the zero position along the return-to-zero direction, and use it as the initial return-to-zero offset of each joint;
[0014] According to the zero-position calibration sequence, each joint is controlled to move towards the mechanical limit position in sequence. The active current signal of the joint motor is collected in real time during each sampling cycle. The zero-return current threshold is determined based on the real-time collected active current signal. If several consecutive real-time collected active current signals exceed the zero-return current threshold, it is determined that the joint has reached the mechanical limit position and stops.
[0015] Once all joints have moved to their mechanical limit positions, control each joint to move in the zero-return direction according to the zero-position calibration sequence until the movement offset reaches the initial zero-return offset and then stops.
[0016] The initial zero-return offset is corrected based on the difference between the current position and the expected zero position of each joint, and the final zero-return offset of each joint is generated. In subsequent calibration, the joints are controlled to return to zero based on the final zero-return offset.
[0017] Several alternative methods are provided below, but they are not intended as additional limitations on the overall solution above. They are merely further additions or optimizations. Provided there are no technical or logical contradictions, each alternative method can be combined individually with respect to the overall solution above, or multiple alternative methods can be combined with each other.
[0018] Preferably, the process for determining the zero-position calibration order is as follows:
[0019] Based on the structural description file of the humanoid robot, calculate the minimum directed bounding box of the humanoid robot's torso;
[0020] Obtain the limiting intervals of each joint in the structural description file, discretize the limiting intervals to obtain multiple sets of joint angle vectors, and calculate the minimum directed bounding box of each joint link under each set of joint angle vectors.
[0021] The union of all minimum directed bounding boxes of each joint link is taken as the swept region. The overlapping region between the swept region of the joint and the minimum directed bounding box of the humanoid robot torso is taken, and the ratio of the volume of the overlapping region to the volume of the swept region is taken as the interference risk index.
[0022] All joints are sorted from smallest to largest according to the interference risk index, and the sorting order is used as the zero-position calibration order.
[0023] Preferably, the overlapping area of the sweeping regions of the two joints is taken as the inter-joint overlapping area;
[0024] If the volume of the overlapping region between joints is zero compared to the volume of the swept region of one of the joints, then the two joints are changed to have the same zero-position calibration order, and the two joints are synchronously calibrated.
[0025] Otherwise, the serial numbers of the two joints in the zero-position calibration sequence are not changed, and the two joints are calibrated at the zero position according to the zero-position calibration sequence.
[0026] Preferably, determining the current threshold for the current return to zero based on the real-time acquired active current signal includes:
[0027] Within a preset timeframe during which the joint begins to move towards its mechanical limit position, the active current signal is valid and continuous. The active current signal within each sampling period;
[0028] For the taken The average value of each active current signal is calculated, and the average value is weighted using a current threshold factor to obtain the current threshold.
[0029] Preferably, the current threshold factor is determined by the ratio of the maximum value of the stall current of the joint motor to the average value of the current during normal operation.
[0030] Preferably, the step of controlling each joint to move toward the mechanical limit position sequentially according to the zero-position calibration order includes: controlling the joint motor to operate at a speed lower than the rated speed. It moves towards the mechanical limit position at a speed of times.
[0031] Secondly, a humanoid robot zero-position automatic calibration system based on current characteristic analysis is provided, including:
[0032] The joint calibration sequence generation unit is used to determine the zero-position calibration sequence and zero-return direction of each joint based on the spatial layout and motion coupling relationship of each joint of the humanoid robot.
[0033] The data acquisition and feature analysis unit is used to first control each joint to move to the mechanical limit position, and then control each joint to move from the mechanical limit position to the zero position along the zero return direction to obtain the initial zero return offset of each joint; according to the zero position calibration sequence, each joint is controlled to move towards the mechanical limit position in sequence, and the active current signal of the corresponding joint motor is acquired in real time in each sampling period, and the current threshold of each joint motor is obtained according to the active current signal of the preset sampling period.
[0034] The limit judgment and protection control unit is used to determine that if several consecutive real-time acquired active current signals exceed the current threshold, the joint will be stopped after reaching the mechanical limit position; after all joints have moved to the mechanical limit position, the joints will be controlled to move along the zero-return direction until the movement offset reaches the initial zero-return offset and then stop.
[0035] The offset management and automatic calibration unit is used to correct the initial zero-return offset based on the difference between the current position and the expected zero position of each joint, generate the final zero-return offset of each joint, and control the joint to return to zero based on the final zero-return offset during zero-position calibration.
[0036] Preferably, the offset management and automatic calibration unit is also used for one-click zero-position automatic calibration, performing the following operations:
[0037] After receiving the zero-point return command, each joint is controlled to move toward the mechanical limit position in sequence according to the zero-position calibration order. The active current signal of the joint motor is collected in real time in each sampling cycle. The zero-point return current threshold is determined based on the real-time collected active current signal. If several consecutive real-time collected active current signals exceed the zero-point return current threshold, it is determined that the joint has reached the mechanical limit position and stops.
[0038] Once all joints have moved to their mechanical limit positions, control each joint to move in the zero-return direction according to the zero-position calibration sequence until the movement offset reaches the final zero-return offset and stops, thus completing the zero-return process.
[0039] The present invention provides an automatic zero-position calibration method and system for humanoid robots based on current characteristic analysis, which has the following advantages compared with the prior art:
[0040] This method enables rapid and safe zero-position calibration of all joints in a humanoid robot without relying on external calibration devices. By calculating the collision risk of each joint based on the structural description file and determining the safe return-to-zero sequence, mechanical interference between joints and the torso can be effectively avoided during calibration. Multi-cycle sampling and filtering analysis are used to obtain the active current characteristics of the motor, and combined with historical data, the threshold is dynamically adjusted, enabling the limit judgment to adapt to various operating conditions such as posture changes, friction differences, and load fluctuations, ensuring the stability and reliability of the calibration process. The current threshold factor is used to determine the current threshold during the calibration process as a basis for early shutdown, which can prevent structural compression and protect the safety of mechanical components. The accurate zero-position offset is obtained by combining limit judgment and manual correction. After the first calibration, the system can record the correction results and automatically recall them in subsequent calibrations, realizing one-click rapid calibration of the entire robot. The system only relies on the native current detection signal of the driver to complete the limit recognition and position calibration, reducing hardware dependence and exhibiting good versatility and engineering portability.
[0041] This method is particularly suitable for scenarios that require rapid zero-position calibration, especially in the research, development, debugging and long-term operation of humanoid robots. It can quickly restore the zero-position state after complex postures or component maintenance, thereby significantly improving the system's efficiency and overall practicality. Attached Figure Description
[0042] Figure 1This is a schematic diagram of the zero-position posture of the joints of the humanoid robot of the present invention;
[0043] Figure 2 This is a flowchart illustrating an automatic zero-position calibration method for a humanoid robot based on current characteristic analysis according to the present invention.
[0044] Figure 3 This is a schematic diagram showing the zero-return offset required for the joint motor of the present invention to move from the mechanical limit position to the zero position;
[0045] Figure 4 This is a schematic diagram showing the changes in active current and position over time during the operation of the joint motor of the present invention;
[0046] Figure 5 This is a schematic diagram of the structure of an automatic zero-position calibration system for a humanoid robot based on current characteristic analysis according to the present invention. Detailed Implementation
[0047] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0048] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention pertains. The terminology used herein in the description of the invention is for the purpose of describing particular embodiments only and is not intended to limit the invention.
[0049] This invention improves upon the characteristics of multi-degree-of-freedom systems in humanoid robots by proposing an automatic zero-position calibration method based on current characteristic analysis. This method collects real-time current signals from the drive motors of each joint, combining multi-cycle sampling filtering, adaptive threshold setting, and an early stop control strategy to achieve limit identification and zero-position calibration without fully touching mechanical limits. This scheme effectively suppresses noise interference, avoids structural compression, and dynamically adjusts the judgment threshold according to the load characteristics of each joint, achieving safe, rapid, and accurate calibration of multiple joints throughout the body. Thus, the humanoid robot can complete one-click automatic zero-position calibration without relying on external hardware or high-precision sensors, significantly improving the system's maintainability and versatility. In this invention, humanoid robot joint zero-position calibration refers to determining the zero-point position of each joint relative to a reference position using a preset method, and using this zero point as the initial reference position of the motion control system.
[0050] like Figure 1As shown, in this embodiment of the invention, the zero position refers to the reference position when the humanoid robot is completely still and maintains an upright posture. Specifically, the robot's feet are placed flat on a horizontal surface, maintaining balance, with the legs naturally extended, the torso upright, the arms hanging naturally or in a preset reference posture, and the head facing forward. In this state, the angle values of each joint are set as the zero point position, serving as a reference for subsequent motion control and calibration.
[0051] Furthermore, in this embodiment of the invention, "joint" refers to all joints of the humanoid robot; specifically including, but not limited to, joints controlling the pitch and yaw motion of the head; joints controlling the pitch, yaw, and roll motion of the left and right shoulder joints; joints controlling the pitch and yaw motion of the left and right elbow joints; joints controlling the pitch, yaw, and roll motion of the left and right wrist joints; joints controlling the pitch, yaw, and roll motion of the left and right thigh joints; joints controlling the pitch and yaw motion of the left and right knee joints; and joints controlling the pitch and roll motion of the left and right ankle joints.
[0052] Example 1, as Figure 2 As shown, this invention provides an automatic zero-position calibration method for a humanoid robot based on current characteristic analysis, specifically including the following steps:
[0053] Step S1: Based on the spatial layout and motion coupling relationship of each joint of the humanoid robot, determine the zero-position calibration sequence and return-to-zero direction of each joint to prevent mechanical interference or collision between adjacent joints or structures during the calibration process.
[0054] The zero-return direction is the direction of movement from the mechanical limit position to the joint zero position.
[0055] The zero-point calibration sequence is determined as follows: First, based on the humanoid robot joint simulation model used in the Unified Robot Description Format (URDF), i.e., the stereolithography (STL) file, the three-dimensional vertex information of the link surface is obtained by parsing the file. This vertex set can be regarded as point cloud data. Then, Principal Component Analysis (PCA) is performed on the point cloud to obtain the three orthogonal directions with the largest variance of the point cloud distribution. These three principal directions reflect the principal axis directions of the link in three-dimensional space. Using these three principal directions as the orientation basis of the bounding box, the bounding box size is determined according to the minimum and maximum projections of the point cloud on each principal direction, thus constructing the three-dimensional minimum directed bounding box (OBB) that tightly encloses the point cloud. Similarly, the minimum directed bounding box of the humanoid robot torso is calculated, denoted as... A bounding box is a minimal directed cuboid that can completely enclose an irregular joint link / torso geometry model. This cuboid can rotate freely in three-dimensional space, and its orientation is aligned with the main orientation of the link point cloud / torso. It is used to approximate the spatial area occupied by the joint link / torso in the current posture.
[0056] Secondly, the limit range of each joint is obtained from the URDF file of the humanoid robot and denoted as a vector. ,in Indicates the number of joints, each The range of values is , characterizing the The limiting intervals of each joint; then construct a vector. This is used to characterize the angle information of each joint of a humanoid robot, where each element... The range of values depends on ,Right now:
[0057]
[0058] based on The range of values is determined by a discrete uniform distribution, generating 300,000 sets of joint angle vectors. }, No. The joint angle vector is denoted as , For each set of generated joint angle vectors Calculate the joint angle vector for each group. Lower joint link Minimum Directed Bounding Box in 3D Space and form a set , denoted as:
[0059]
[0060] Definition of the first For each joint, the sweep region is the union of the smallest directed bounding boxes in 3D space, obtained by traversing all joint angle vectors. , denoted as:
[0061]
[0062] And calculate the first The overlap volume of the joint sweep region with the minimum directed bounding box of the humanoid robot torso. ,in To represent the volume of a three-dimensional set, define the first... The ratio of the overlap volume of each joint to the volume of its own swept region is the interference risk indicator, denoted as:
[0063]
[0064] in, Larger joints The higher the risk of interference with the torso during the homing process, the larger the set of interference risks calculated by the system for all joints { The system sorts the joints according to their estimated risk values from smallest to largest to generate a safe calibration order. This risk analysis is independent of the humanoid robot's initial pose and depends only on the geometric parameters defined in the structural description file.
[0065] Furthermore, for any two joint links, the overlapping area of the swept regions of the two joints is taken as the inter-joint overlapping area. If the volume of the inter-joint overlapping area is zero compared to the volume of the swept region of one of the joints, the joint numbers in the zero-position calibration sequence are changed to be the same, and the two joints are synchronously zero-position calibrated; otherwise, the joint numbers in the zero-position calibration sequence are not changed, and the two joints are zero-position calibrated according to the zero-position calibration sequence. Taking joint A and joint B as an example, the volume ratio between joint A and joint B is calculated as follows:
[0066]
[0067] in, Let V be the volume of the overlapping region between joints A and B. Let be the volume of the swept region of joint A. This is the ratio of the volume of the overlapping area between joints A and B to the volume of the swept area of joint A. This risk indicator is applicable to the potential interference analysis between the joints of the robot's upper body. For joints without interference, synchronous zeroing can be performed to further improve zeroing efficiency. It should be noted that the calibration sequence can also be determined manually based on experience, i.e., by operating the links of the humanoid robot, observing the mechanical limits and interference, and then manually setting the calibration sequence.
[0068] For the lower body joints of the humanoid robot, since the leg links are structurally far from the torso, the overlap volume between their sweeping areas and the torso area is theoretically zero under structural design and motion space constraints. Therefore, the interference risk index calculated using the joint links and torso pattern is also zero. Based on this characteristic, this embodiment does not use a joint-by-joint risk value calculation method for leg zeroing, but instead designs a unified zeroing direction for both legs, allowing them to return to zero synchronously under safe conditions of being off the ground and without load.
[0069] Step S2: Control each joint to slowly move to the mechanical limit position; then, the host computer controls the joint motor to slowly move in the opposite direction to the joint zero position and stop, obtaining the initial zero offset of each joint. This offset will be used as a reference value for the automatic calibration of subsequent joints.
[0070] like Figure 3 As shown, zero offset For the first The amount of motion offset required for a joint to return from its mechanical limit to its zero position; it should be noted that, for motor motion control, the zero-return offset is... The offset should be mapped to position values in motion control modes such as Profile Position (PP). For rotary joints, the offset is angular displacement; for translational joints, the offset is linear displacement; and for compound motion mechanisms, the offset is a combination of angular and linear displacement.
[0071] In this embodiment of the invention, the slow-moving knuckle motor moves along the mechanical limit direction at a speed lower than its rated speed by a certain percentage (e.g., 10%-20%) when it is enabled. This speed range can ensure that the motor moves smoothly, with little impact and obvious current response characteristics when it approaches the mechanical limit, thus facilitating the detection of the limit state. For different motor models, this percentage can be adjusted according to the control precision or mechanical structure.
[0072] Step S3: Control each joint to move in the mechanical limit direction according to the zero-position calibration sequence, and collect the active current signal of the corresponding joint motor in real time during each sampling cycle.
[0073] Feature analysis is performed on the collected current data, such as... Figure 4 As shown, Figure 4 The upper part shows the curve of the active current of the joint motor changing over time; Figure 4 The lower half shows the curve of the joint motor position changing over time, where the horizontal axis represents time and the vertical axis represents current and position, respectively. The lower half of the curve includes the current actual position of the joint motor and the position command issued by the controller. During the zero-position calibration process, when the joint motor moves at low speed from the initial state to the mechanical limit direction, the actual position curve closely follows the position command curve and the active current remains at about 5A. When the position command and the actual position no longer change synchronously, it is determined that the joint motor has reached the mechanical limit. At this time, its active current rises sharply to several times the normal operating current.
[0074] It should be noted that, Figure 4 The example shown is only for illustrating the principle of the present invention and does not constitute a limitation on other joint motors.
[0075] Step S4: Continuous The sampling period records the current position, velocity, and torque conditions. The active current signal value of each joint motor, according to One active current signal Automatically generate the first Current threshold of individual joint motors The specific formula is as follows: ;in This is the current threshold factor, used to characterize the degree of proximity to the mechanical limit. Indicates the first The joint motor in the first The active current signal during each sampling period.
[0076] Current threshold factor The value range is determined by the ratio of the maximum value of the stall current of the motor to the average value of the current during normal operation. Different motors have different electrical parameters, and usually 1 / 3 of the ratio of the maximum value of the stall current to the current during normal operation is selected.
[0077] In this embodiment of the invention, the main controller and the underlying motor communicate via the EtherCAT communication protocol. The sampling period is set to 1ms, and the joint is sampled in parallel during each sampling period. During the joint motor's movement toward the mechanical limit, the sampling time obtained within 5 sampling periods is used. Active current of each joint motor Take the average, and multiply the resulting average by a threshold factor. The current threshold of the current joint dynamics is obtained. As the first step in this calibration process The threshold for limit determination of each joint motor can be set to avoid current fluctuations caused by multiple robot calibrations, changes in joint damping, friction, and various known and unknown factors, thereby accurately adjusting the determination threshold and achieving precise joint limit determination.
[0078] Step S5: For the first Real-time active current signal of each joint motor and its corresponding current threshold Comparison is performed when the current threshold is exceeded for several consecutive sampling periods. When the current joint reaches the mechanical limit, it is determined that the current joint has reached the mechanical limit, the power is maintained and the movement is stopped. The current threshold can prevent the joint from moving completely to the mechanical limit, which would cause structural compression and joint deformation.
[0079] In this embodiment of the invention, three sampling periods are used for determination, based on the current threshold automatically generated during the zero-position calibration of the humanoid robot in step S4. The current threshold factor can avoid the mechanical damage and deformation of the humanoid robot's joint structure caused by the complete stall of the joint motor.
[0080] Step S6: After all joints have reached the limit judgment condition, control each joint to return to zero according to the reference value of the zero offset obtained in step S2. Perform reverse movements sequentially or in parallel until each joint stops.
[0081] Step S7: Determine the difference between each joint and the expected zero position, make minor corrections to the offset of the joints with discrepancies until the expected zero position is reached, generate the final zero-return offset for all joints, and the first calibration ends. Subsequent automatic calibration processes will complete the precise zero-return calibration of the entire machine with a single click based on the final zero-return offset.
[0082] The expected zero position can be determined manually during the initial calibration. This involves manually observing the difference between the position after returning to zero based on the initial zero offset and the expected zero position, controlling the joint movement to the expected zero position, and compensating for this difference with the initial zero offset to obtain the final zero offset. Alternatively, the expected zero position can be determined using an external device or sensor during the initial calibration. For example, if the joint does not contact the sensor at the expected zero position after the movement ends, or if it contacts the sensor at the expected zero position before the movement ends, it indicates that the initial zero offset needs to be increased (increased by the offset from the position after the movement based on the initial zero offset to the point of contact with the sensor) or decreased (subtracted from the offset in the initial zero offset that has not yet participated in the joint's zeroing process).
[0083] Example 2, as Figure 5 As shown, based on the automatic zero-position calibration method for humanoid robots based on current characteristic analysis in Embodiment 1, this invention also provides an automatic zero-position calibration system for humanoid robots based on current characteristic analysis. The system includes:
[0084] (1) Joint calibration sequence generation unit, used to parse the structural description file of the humanoid robot, calculate the interference risk based on the spatial layout and coupling relationship between each joint and the torso, and generate the calibration sequence and zeroing direction of each joint accordingly.
[0085] (2) Data acquisition and feature analysis unit, used to first control each joint to move to the mechanical limit position, and then control each joint to move from the mechanical limit position to the zero position along the zero return direction to obtain the initial zero return offset of each joint; then control each joint to move to the mechanical limit position in sequence according to the zero position calibration order, and collect the real-time active current signal of each joint drive motor in real time in each sampling cycle; according to the characteristics of EtherCAT protocol, all joint motors are sampled in parallel in each sampling cycle, and the real-time current signal is sampled and filtered in multiple cycles to extract current features and generate a unique limit judgment current threshold for each joint; the limit judgment current threshold can be adaptively adjusted according to the differences in joint friction, load and transmission ratio to compensate for current deviation and generate a dynamic threshold suitable for the current mechanical conditions and for this calibration.
[0086] (3) Limit judgment and protection control unit, used to judge the joint approaching the mechanical limit according to the limit judgment current threshold and generate the limit judgment signal; when the joint is detected to be approaching the limit, control the corresponding drive motor to stop moving before fully touching the mechanical limit, and keep the driver enabled and torque limiting state to prevent structural compression and zero position deviation; when all joints move to the mechanical limit position, control each joint to move along the return to zero direction until the movement deviation reaches the initial return to zero deviation and stop.
[0087] (4) Offset Management and Automatic Calibration Unit: During the initial calibration, this unit records the reference values of the zero-return offset for each joint. After manually observing the zero-position differences of each joint and inputting the correction results, it generates the final zero-return offset for each joint. In subsequent calibrations, it executes automatic zero-return control for each joint based on the final offset, completing the one-key automatic zero-position calibration of the entire machine sequentially or in parallel according to the calibration order. The one-key automatic zero-position calibration performs the following operations:
[0088] After receiving the zero-point return command, each joint is controlled to move towards the mechanical limit position in sequence according to the zero-position calibration order. The active current signal of the joint motor is collected in real time during each sampling cycle. The zero-point return current threshold is determined based on the real-time collected active current signal. If several consecutive real-time collected active current signals exceed the zero-point return current threshold, it is determined that the joint has reached the mechanical limit position and stops. After all joints have moved to the mechanical limit position, each joint is controlled to move along the zero-point return direction in sequence according to the zero-position calibration order until the movement offset reaches the final zero-point return offset and stops, thus completing the zero-point return.
[0089] In the humanoid robot zero-position automatic calibration method of the present invention, the execution order of each step does not necessarily have to strictly follow the order listed in the specification. As long as the logical relationship is not violated, some steps can be executed in parallel or the execution order can be adjusted. For example, the current sampling and threshold update process can be performed synchronously between different joints, and the offset correction can also be dynamically adjusted according to the calibration accuracy requirements.
[0090] The terms used in this invention, such as current characteristic analysis, limit determination, offset correction, adaptive threshold, and multi-cycle sampling, are only for describing the core technical ideas and processes of this invention and should not be construed as limitations on specific implementation methods. For example, current characteristic analysis can be implemented through real-time hardware sampling or through software modeling or offline calculation; the current signal can be any type such as active current, torque current, stator phase current, or DC bus current, as long as it can reflect the motor limit characteristics, it falls within the protection scope of this invention.
[0091] Furthermore, the parameters involved in this invention, such as the adaptive current threshold setting, the number of multi-cycle samplings, the offset calculation formula, and the joint calibration sequence, can be adjusted according to different humanoid robot structures, load characteristics, and control systems. These adjustments do not change the core principle of this invention, namely, achieving multi-joint limit recognition and automatic zero-position calibration through current characteristic analysis.
[0092] Based on the ideas disclosed in this invention, other equivalent solutions that can be obtained by those skilled in the art without creative effort, such as using different current components for limit determination, using different statistical filtering algorithms to determine the threshold, or using different offset correction strategies, should all be considered to fall within the protection scope of this invention.
[0093] 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.
[0094] The embodiments described above are merely illustrative of several implementations of the present invention, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of the invention. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of the present invention, and these modifications and improvements all fall within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the appended claims.
Claims
1. A method for automatic zero-position calibration of a humanoid robot based on current characteristic analysis, characterized in that, Includes the following steps: During the initial calibration, the zero-position calibration sequence and zero-return direction of each joint are determined based on the spatial layout and motion coupling relationship of each joint of the humanoid robot. Obtain the offset of each joint from the mechanical limit position to the zero position along the return-to-zero direction, and use it as the initial return-to-zero offset of each joint; According to the zero-position calibration sequence, each joint is controlled to move towards the mechanical limit position in sequence. The active current signal of the joint motor is collected in real time during each sampling cycle. The zero-return current threshold is determined based on the real-time collected active current signal. If several consecutive real-time collected active current signals exceed the zero-return current threshold, it is determined that the joint has reached the mechanical limit position and stops. Once all joints have moved to their mechanical limit positions, control each joint to move in the zero-return direction according to the zero-position calibration sequence until the movement offset reaches the initial zero-return offset and then stops. The initial zero-return offset is corrected based on the difference between the current position and the expected zero position of each joint, and the final zero-return offset of each joint is generated. In subsequent calibration, the joints are controlled to return to zero based on the final zero-return offset.
2. The automatic zero-position calibration method for humanoid robots based on current characteristic analysis according to claim 1, characterized in that, The process for determining the zero-position calibration order is as follows: Based on the structural description file of the humanoid robot, calculate the minimum directed bounding box of the humanoid robot's torso; Obtain the limiting intervals of each joint in the structural description file, discretize the limiting intervals to obtain multiple sets of joint angle vectors, and calculate the minimum directed bounding box of each joint link under each set of joint angle vectors. The union of all minimum directed bounding boxes of each joint link is taken as the swept region. The overlapping region between the swept region of the joint and the minimum directed bounding box of the humanoid robot torso is taken, and the ratio of the volume of the overlapping region to the volume of the swept region is taken as the interference risk index. All joints are sorted from smallest to largest according to the interference risk index, and the sorting order is used as the zero-position calibration order.
3. The automatic zero-position calibration method for humanoid robots based on current characteristic analysis according to claim 2, characterized in that, The overlapping area of the sweep regions of two joints is taken as the inter-joint overlapping area; If the volume of the overlapping region between joints is zero compared to the volume of the swept region of one of the joints, then the two joints are changed to have the same zero-position calibration order, and the two joints are synchronously calibrated. Otherwise, the serial numbers of the two joints in the zero-position calibration sequence are not changed, and the two joints are calibrated at the zero position according to the zero-position calibration sequence.
4. The automatic zero-position calibration method for humanoid robots based on current characteristic analysis according to claim 1, characterized in that, The process of determining the current zero-return current threshold based on the real-time acquired active current signal includes: Within a preset timeframe during which the joint begins to move towards its mechanical limit position, the active current signal is valid and continuous. The active current signal within each sampling period; For the taken The average value of each active current signal is calculated, and the average value is weighted using a current threshold factor to obtain the current threshold.
5. The automatic zero-position calibration method for humanoid robots based on current characteristic analysis according to claim 4, characterized in that, The current threshold factor is determined by the ratio of the maximum value of the stall current of the joint motor to the average value of the current during normal operation.
6. The automatic zero-position calibration method for humanoid robots based on current characteristic analysis according to claim 1, characterized in that, The step of controlling each joint to move toward the mechanical limit position sequentially according to the zero-position calibration order includes: controlling the joint motor to operate at a speed lower than the rated speed. It moves towards the mechanical limit position at a speed of times.
7. An automatic zero-position calibration system for a humanoid robot based on current characteristic analysis, characterized in that, include: The joint calibration sequence generation unit is used to determine the zero-position calibration sequence and zero-return direction of each joint based on the spatial layout and motion coupling relationship of each joint of the humanoid robot. The data acquisition and feature analysis unit is used to first control each joint to move to the mechanical limit position, and then control each joint to move from the mechanical limit position to the zero position along the zero return direction to obtain the initial zero return offset of each joint; according to the zero position calibration sequence, each joint is controlled to move towards the mechanical limit position in sequence, and the active current signal of the corresponding joint motor is acquired in real time in each sampling period, and the current threshold of each joint motor is obtained according to the active current signal of the preset sampling period. The limit judgment and protection control unit is used to determine that if several consecutive real-time acquired active current signals exceed the current threshold, the joint will be stopped after reaching the mechanical limit position; after all joints have moved to the mechanical limit position, the joints will be controlled to move along the zero-return direction until the movement offset reaches the initial zero-return offset and then stop. The offset management and automatic calibration unit is used to correct the initial zero-return offset based on the difference between the current position and the expected zero position of each joint, generate the final zero-return offset of each joint, and control the joint to return to zero based on the final zero-return offset during zero-position calibration.
8. The humanoid robot zero-position automatic calibration system based on current characteristic analysis according to claim 7, characterized in that, The offset management and automatic calibration unit is also used for one-click zero-position automatic calibration, performing the following operations: After receiving the zero-point return command, each joint is controlled to move toward the mechanical limit position in sequence according to the zero-position calibration order. The active current signal of the joint motor is collected in real time in each sampling cycle. The zero-point return current threshold is determined based on the real-time collected active current signal. If several consecutive real-time collected active current signals exceed the zero-point return current threshold, it is determined that the joint has reached the mechanical limit position and stops. Once all joints have moved to their mechanical limit positions, control each joint to move in the zero-return direction according to the zero-position calibration sequence until the movement offset reaches the final zero-return offset and stops, thus completing the zero-return process.
Citation Information
Patent Citations
Quadruped robot joint zero point progressive self-calibration method based on incremental encoder
CN121625177A
Zero-point-free zero returning method of double-position synchronous motor for symmetric vacuum pressure control valve
CN121739170A