Humanoid robot control method based on point cloud clustering
By establishing the association between the obstacle point cloud cluster in the current frame and the obstacle trajectory in the historical frame, clustering topological continuity and gait perturbation sensitivity are generated, which solves the problem of unstable robot motion control caused by unstable point cloud clustering in the existing technology, and improves the stability and safety of humanoid robots in complex environments.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SHENZHEN HONGBOJIA IND PROD CO LTD
- Filing Date
- 2026-06-23
- Publication Date
- 2026-07-28
AI Technical Summary
Existing humanoid robot control methods based on point cloud clustering are prone to obstacle cluster splitting, merging, loss, or boundary jumps when the environment changes and the robot's motion state is unstable, resulting in unstable robot motion control. In particular, bipedal humanoid robots may experience collisions, imbalances, or even falls.
By acquiring the point cloud of the humanoid robot's surrounding environment and its own state, preprocessing and clustering are performed to establish the association between the current frame's candidate obstacle point cloud clusters and the obstacle trajectories of historical frames. Clustering topological continuity and gait perturbation sensitivity are generated, and the degree of temporal dynamic constraints is comprehensively determined to control the path, landing point, and centroid trajectory.
It improves the walking stability and obstacle avoidance safety of humanoid robots in complex environments, avoids control oscillations caused by inter-frame jumps in point cloud clustering results, and ensures stable passage of robots in complex scenarios.
Smart Images

Figure CN122463167A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of humanoid robot environmental perception and motion control technology, specifically to a humanoid robot control method based on point cloud clustering. Background Technology
[0002] Humanoid robots typically need to perform tasks such as movement, obstacle avoidance, material handling, or interaction in complex environments like warehouses, factories, hospitals, shopping malls, and homes. To achieve environmental perception, existing technologies usually employ devices such as LiDAR, depth cameras, and binocular vision sensors to acquire environmental point clouds. These point clouds are then processed through filtering, downsampling, ground segmentation, and point cloud clustering to divide objects such as obstacles, pedestrians, boxes, shelves, and walls into different clusters. Based on the clustering results, path planning, landing point planning, and centroid trajectory control are then performed.
[0003] Existing humanoid robot control methods based on point cloud clustering typically input obstacle point cloud clusters obtained from the current frame's point cloud clustering directly into the control system, or update the obstacle map based solely on the position, size, and bounding box information of a single frame's point cloud clusters, and then generate corresponding motion control commands from the path planning module and gait control module. These methods can achieve basic obstacle avoidance control when the environment is stable, the point cloud quality is high, and the robot's motion is relatively smooth.
[0004] However, in practical applications, humanoid robots experience torso swaying, changes in head sensor perspective, foot impacts, and posture disturbances during walking, leading to significant differences in point cloud data between adjacent frames. Simultaneously, factors such as obstacle occlusion, localized adhesion between shelf edges and boxes, dynamic changes in the human body or moving objects, and sensor noise can easily cause the same obstacle to exhibit cluster splitting, cluster merging, short-term loss, or boundary jumps in different frames. If the control system directly adjusts the path or gait based on these unstable clustering results, it may result in frequent changes in the robot's circling direction, foothold position, stride length, and centroid trajectory.
[0005] Especially for bipedal humanoid robots, motion control not only needs to consider obstacle positions, but also needs to meet dynamic constraints such as gait phase, support stability, center of mass continuity, and foot contact reliability. When the robot is in a state of single-leg support, about to land on the swinging foot, with small center of mass stability margin, or large torso posture disturbance, frequent replanning due to frame jumps in point cloud clustering results can easily cause abrupt changes in foot trajectory, discontinuous center of mass trajectory, abnormal switching of supporting foot, and increased body swaying. In severe cases, it may lead to collisions, imbalance, or even falls.
[0006] Therefore, the existing technology has at least the following shortcomings: First, it mainly focuses on the spatial clustering results of the current frame point cloud cluster, lacking an effective assessment of the continuous relationship between the current frame point cloud cluster and the obstacle trajectories of historical frames; Secondly, the robot's ability to withstand adjustments to its path, landing point, and center of mass trajectory was not fully assessed based on its current physical state. Third, the lack of a mechanism to comprehensively determine the degree of control constraints based on cluster continuity and gait stability makes it easy for cluster fluctuations at the perception level to be amplified into gait oscillations at the control level. Summary of the Invention
[0007] The purpose of this invention is to provide a humanoid robot control method based on point cloud clustering to address the shortcomings of the prior art.
[0008] To achieve the above objectives, the present invention provides the following technical solution: a humanoid robot control method based on point cloud clustering, comprising: S1: Obtain the point cloud of the humanoid robot's surrounding environment and the robot's own state, and preprocess and cluster the point cloud to obtain the candidate obstacle point cloud cluster in the current frame; S2, associate the current frame candidate obstacle point cloud clusters with the historical frame obstacle trajectories, determine the association results of each point cloud cluster, generate cluster topological continuity based on the association results, and obtain gait perturbation sensitivity based on the robot body state; S3. Based on the clustering topological continuity and gait perturbation sensitivity, the degree of temporal dynamic constraint is determined. According to the degree of temporal dynamic constraint, it is divided into three cases: low constraint, medium constraint and high constraint, and respectively, the current clustering result is directly updated, the clustering result is smoothly limited and updated or the historical stable trajectory is maintained control is executed. S4 generates path, landing point, and center of mass trajectory control instructions for the humanoid robot based on the corresponding control results.
[0009] Preferably, S1 includes: The coordinates of the supporting foot are determined based on the foot contact state and the posture of the torso, and the surrounding environmental point cloud is transformed to the coordinates of the supporting foot. The limb occupancy envelope is determined based on the robot joint angle, and self-point clouds that overlap with the limb occupancy envelope are removed from the transformed point cloud. Motion compensation is performed on the point cloud after removing self-point clouds based on the torso angular velocity to obtain a stable environmental point cloud.
[0010] Preferably, the candidate obstacle point cloud clusters obtained in the current frame include: For the stable environment point cloud, points below the plane of the supporting foot are deleted, and downsampling is performed according to the spatial cubic grid. Discrete points are deleted based on the average distance between adjacent points to obtain the preprocessed point cloud. Starting with unvisited points in the preprocessed point cloud, expand the set of neighboring points, and determine the set of points that meet the retention criteria as the candidate obstacle point cloud cluster for the current frame.
[0011] Preferably, in S2, associating the current frame's candidate obstacle point cloud cluster with the historical frame's obstacle trajectory includes: Based on the center position, spatial boundary, and height range of the previous stable observation in the obstacle trajectory of the historical frame, the predicted trajectory region under the support foot coordinates of the current frame is obtained by combining the robot body displacement mapping; the center position, spatial boundary, number of points, and height range of the candidate obstacle point cloud clusters in the current frame are extracted; the candidate obstacle point cloud clusters in the current frame are compared with the predicted trajectory region to obtain the candidate correspondence relationship.
[0012] Preferably, the association results for determining each point cloud cluster include: When a predicted trajectory region corresponds to a candidate obstacle point cloud cluster in the current frame, it is determined to be a continuous observation relationship; When a predicted trajectory region corresponds to multiple candidate obstacle point cloud clusters in the current frame, it is determined to be a split relationship; when multiple predicted trajectory regions correspond to the same candidate obstacle point cloud cluster in the current frame, it is determined to be a merge relationship. When the predicted trajectory region does not form a candidate correspondence in the current frame and does not exceed the number of consecutive uncorresponding frames, it is determined to be a short-term lost relationship.
[0013] Preferably, generating cluster topological continuity includes: Continuous observation relationships are denoted as hold events, while splitting, merging, and short-term loss relationships are denoted as perturbation events. Statistical analysis was conducted on the percentage of obstacle trajectory retention events and the number of disturbance events across multiple consecutive frames in the same historical frame. By combining the changes in the center position and spatial boundary of obstacle trajectories in historical frames, a clustering topological continuity is generated.
[0014] Preferably, obtaining gait perturbation sensitivity includes: Determine whether the robot is in a single-leg support state based on the foot contact status; The amount of trunk posture change is determined based on trunk posture, and the degree of approach to landing of the swing foot is determined based on joint angles. Gait perturbation sensitivity is generated based on single-leg support status, trunk posture changes, and the degree to which the swinging foot approaches the ground.
[0015] Preferably, determining the degree of temporal dynamic constraints includes: The cluster topological continuity is inversely converted into cluster fluctuation, and the gait perturbation sensitivity is used as the gait tolerance limit. The degree of temporal dynamic constraint is obtained by weighting and superimposing the clustering fluctuation, gait tolerance constraint, and coupling amplification when both exist simultaneously. The temporal dynamics constraint level is compared with the first constraint boundary value and the second constraint boundary value, and divided into three cases: low constraint, medium constraint and high constraint.
[0016] Preferably, the corresponding control results include: Under low constraints, the candidate obstacle point cloud clusters of the current frame are written into the obstacle trajectories of the corresponding historical frames to obtain the current stable trajectory. Under medium constraints, the center position and spatial boundary of the candidate obstacle point cloud clusters of the current frame are adjusted by single-frame amplitude limiting based on the historical stable trajectory to obtain the amplitude-limited stable trajectory. Under high constraints, the historical stable trajectory is retained as the control basis, and the candidate obstacle point cloud clusters of the current frame are recorded as observations to be confirmed.
[0017] Preferably, S4 includes: Project the spatial boundary of the current stable trajectory, the amplitude-limited stable trajectory, or the historical stable trajectory onto the horizontal plane of the support foot coordinates, and expand it outward according to the corresponding constraints to obtain the horizontal occupied area; determine the path control command based on the robot's current position, target direction, and horizontal occupied area, and determine the landing point control command based on the path control command; determine the centroid trajectory control command based on the path control command, the landing point control command, and the current support state.
[0018] The technical effects and advantages provided by the present invention in the above technical solution are as follows: The core technical approach of this invention, which distinguishes it from existing technologies, lies in the fact that instead of directly inputting the current frame's point cloud clustering results into the humanoid robot's path and gait control, it establishes a correlation between the current frame's candidate obstacle point cloud clusters and historical frame obstacle trajectories, identifying continuous observation relationships, splitting relationships, merging relationships, and short-term loss relationships, and generating clustering topological continuity accordingly. Simultaneously, it combines foot contact state, torso posture, and joint angles to obtain gait perturbation sensitivity. Therefore, this invention can simultaneously determine whether the point cloud clustering results are stable and whether the robot's current movement is suitable for adjustment, avoiding misidentification caused by single-frame point cloud adhesion, splitting, or occlusion that directly triggers path replanning, foothold changes, and abrupt changes in centroid trajectory.
[0019] This invention further integrates clustering topological continuity and gait perturbation sensitivity into a temporal dynamic constraint level, and accordingly divides it into three cases: low constraint, medium constraint, and high constraint, performing direct updates of the current clustering results, smooth and limited updates of the clustering results, or historical stable trajectory preservation control, respectively. This approach enables the robot to maintain passage efficiency when environmental perception is stable and gait tolerance is sufficient, restrict trajectory abrupt changes when clustering results fluctuate or the robot is in a sensitive gait phase, and maintain historical stable trajectories as the control basis under high-risk conditions. Therefore, this invention can directly suppress the transmission of clustering jumps between adjacent frames to the control layer, reduce repeated switching of detour directions, frequent changes in landing points, and discontinuities in the centroid trajectory, and improve the walking stability and obstacle avoidance safety of humanoid robots in complex scenarios such as narrow passages, occluded obstacles, and shelf edges. Attached Figure Description
[0020] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this invention. For those skilled in the art, other drawings can be obtained based on these drawings.
[0021] Figure 1 This is a flowchart of the humanoid robot control method based on point cloud clustering of the present invention.
[0022] Figure 2 This is a flowchart of the method for determining the degree of temporal dynamic constraints according to the present invention. Detailed Implementation
[0023] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, 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, 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.
[0024] Example 1, please refer to Figure 1 As shown in this embodiment, the humanoid robot control method based on point cloud clustering includes: S1: Obtain the point cloud of the humanoid robot's surrounding environment and the robot's own state, and preprocess and cluster the point cloud to obtain the candidate obstacle point cloud cluster for the current frame.
[0025] When the humanoid robot performs point cloud acquisition, the surrounding environment point cloud and the robot's own state are acquired simultaneously. The surrounding environment point cloud is acquired by depth sensors installed on the head or torso, and each point contains three-dimensional coordinate values. The robot's own state includes foot contact state, torso posture, torso angular velocity, and the angles of each joint. The foot contact state is determined by the pressure values of the left and right feet. When the pressure value of the left foot is not 0 and the pressure value of the right foot is 0, the left foot is the supporting foot; when the pressure value of the right foot is not 0 and the pressure value of the left foot is 0, the right foot is the supporting foot; when neither the pressure value of the left nor the right foot is 0, the foot with the higher pressure value as a percentage of the total pressure of both feet is selected as the supporting foot. A supporting foot coordinate system is established based on the selected supporting foot, with the center of the supporting foot as the origin, the forward direction of the foot as the first coordinate axis, the lateral direction of the foot as the second coordinate axis, and the vertical upward direction of the foot as the third coordinate axis.
[0026] After the environmental point cloud is acquired, each point in the sensor coordinate system is transformed to the support foot coordinate system. During the transformation, the rotation and translation relationships of the sensor coordinates relative to the support foot coordinates are first determined based on the robot's joint angles and sensor installation calibration. Then, the original point coordinates are multiplied left by this rotation relationship and added to the translation relationship to obtain the transformed point coordinates. This process ensures that the point cloud position no longer changes directly with head or torso movements, but uses the current support foot as a stable reference, facilitating subsequent removal of self-point clouds and acquisition of candidate obstacle point cloud clusters.
[0027] After the point cloud undergoes coordinate transformation, the robot's limb occupancy envelope is determined based on the angles of each joint. The limb occupancy envelope consists of the positional range of each limb segment in the supporting foot coordinate system. Each limb segment corresponds to a closed spatial range, determined by the line connecting the joint centers at both ends of the limb segment, the limb segment's outer radius, and a safe outward expansion distance. The joint centers at both ends of the limb segment are calculated step-by-step from the current joint angle, starting from the supporting foot and sequentially superimposing the spatial transformation relationships of the ankle, knee, hip, torso, shoulder, elbow, and wrist joints to obtain the coordinates of each joint center in the supporting foot coordinate system. For any point cloud point, the vertical distance from the point to the line connecting the joint centers at both ends of the corresponding limb segment is calculated, along with the point's projected position along the line segment direction. When the projected position is located between the two ends of the limb segment, and the vertical distance does not exceed the sum of the limb segment's outer radius and the safe outward expansion distance, the point is determined to coincide with the limb occupancy envelope and is deleted from the transformed point cloud. After all limb segments are determined, the remaining point cloud serves as the environmental point cloud after removing self-interference.
[0028] After removing the self-point cloud, motion compensation is performed on the remaining point cloud based on the torso angular velocity. Due to the intra-frame sampling time difference in point cloud acquisition, the torso angular velocity during robot movement will cause the same stationary obstacle to appear as a positional shift within the current frame. For each point within the same frame, the time difference between the sampling time of that point and the end time of the current frame is recorded. The torso angular velocity is multiplied by the time difference to obtain the corresponding angle compensation amount for that point. Then, using the origin of the supporting foot coordinates as a reference, the coordinates of that point are rotated in the opposite direction according to the angle compensation amount to obtain the compensated point coordinates. If a torso linear velocity also exists, the torso linear velocity is multiplied by the time difference to obtain the translation compensation amount, which is then subtracted from the rotated point coordinates. After this processing, the point cloud distribution of the same stationary obstacle within the current frame is corrected to the same reference time.
[0029] After obtaining the stable environment point cloud, preprocessing is performed. First, points with elevation coordinates below 0.03 meters below the plane of the supporting foot are deleted. Then, the point cloud is divided into spatial cubic grids with sides of 0.05 meters. Within each cubic grid, the point closest to the grid center is retained to reduce the number of duplicate points. Next, the average distance between each point and its 10 neighboring points is calculated. Points are deleted if this average distance exceeds the sum of the average distance of all points and twice the standard deviation of the distances. After preprocessing, the remaining point cloud undergoes clustering.
[0030] During clustering, any unvisited point is used as the starting point. Neighboring points within a 0.18-meter radius of this starting point are searched and added to the same temporary set. The process continues for newly added points within the temporary set, searching for neighboring points within a 0.18-meter radius until no new neighboring points are added. Each temporary set forms a candidate obstacle point cloud cluster. Sets with fewer than 15 points are removed as discrete noise, while sets with 15 or more points are retained, and their center position, spatial boundaries, number of points, and height range are calculated. All retained sets together constitute the candidate obstacle point cloud cluster for the current frame. Through support foot coordinate transformation, self-point cloud culling, and torso angular velocity compensation, the candidate obstacle point cloud cluster for the current frame can reduce mis-clustering caused by robot limb occlusion and gait swaying, providing stable input for subsequent association results, cluster topological continuity, and gait perturbation sensitivity acquisition.
[0031] S2, associate the candidate obstacle point cloud clusters in the current frame with the obstacle trajectories in the historical frames, determine the association results of each point cloud cluster, generate cluster topological continuity based on the association results, and obtain gait perturbation sensitivity based on the robot's body state.
[0032] After obtaining the candidate obstacle point cloud cluster in the current frame, the previous stable observation in the obstacle trajectory of historical frames is used as the correlation reference. The previous stable observation includes the center position, spatial boundary, height range, and number of points. The spatial boundary is defined by the minimum and maximum coordinate values of the first, second, and third directions in the support foot coordinate system. The robot's body displacement from the time of the previous stable observation to the time of the current frame is read. The body displacement includes the displacement in the first direction, the displacement in the second direction, the displacement in the third direction, and the change in yaw angle. The center position of the previous stable observation is rotated in the reverse direction around the third direction in the support foot coordinate system according to the change in yaw angle. Then, the body displacement in the three directions is subtracted to obtain the predicted center position. The eight vertices of the spatial boundary of the previous stable observation are rotated and translated in the reverse direction in the same way. After processing, the minimum and maximum coordinate values in the three directions are taken to form the predicted trajectory region. The height range is determined by the minimum and maximum coordinate values in the third direction after processing.
[0033] For each candidate obstacle point cloud cluster in the current frame, calculate its center position, spatial boundary, number of points, and height range. The center position is the arithmetic mean of the coordinates of all points within the cluster in three directions; the spatial boundary is the minimum and maximum coordinates of each point within the cluster in the three directions; the height range is from the minimum to the maximum coordinates in the third direction; and the number of points is the total number of points within the cluster. Compare the candidate obstacle point cloud clusters in the current frame with each predicted trajectory region. The comparison includes horizontal center distance, height overlap ratio, spatial boundary overlap ratio, and number of points ratio. The horizontal center distance is the square root of the sum of the squared distances between the center positions in the first and second directions. The height overlap length is the lower value of the upper height boundary minus the higher value of the lower height boundary; if the result is less than 0, it is recorded as 0. The height overlap ratio is the height overlap length divided by the minimum of the height lengths. The spatial boundary overlap volume is obtained by multiplying the overlap lengths in the three directions, and the spatial boundary overlap ratio is the spatial boundary overlap volume divided by the minimum of the spatial boundary volumes. The point ratio is the number of points in the current frame divided by the number of stable observation points in the previous frame.
[0034] When the horizontal center distance is no more than 0.25 meters, the height overlap ratio is no less than 0.60, the spatial boundary overlap ratio is no less than 0.35, and the point count ratio is between 0.40 and 2.50, a candidate correspondence is formed between the candidate obstacle point cloud clusters and the predicted trajectory region in the current frame. 0.25 meters is obtained by multiplying the 0.05-meter side length of the spatial cube in point cloud preprocessing by 5; 0.60 is used to ensure at least 60% overlap in the height range; 0.35 is used to exclude erroneous correspondences formed only by edge contact; and 0.40 to 2.50 are used to absorb point cloud occlusion and sampling density variations. If the side length of the spatial cube in point cloud preprocessing is adjusted to other values, the upper limit of the horizontal center distance is simultaneously set to 5 times that side length, while the height overlap ratio, spatial boundary overlap ratio, and point count ratio remain unchanged.
[0035] The association results are determined based on candidate correspondences. When a predicted trajectory region corresponds to only one candidate obstacle point cloud cluster in the current frame, it is considered a continuous observation relationship. When a predicted trajectory region corresponds to two or more candidate obstacle point cloud clusters in the current frame, and the overlap ratio between the spatial boundary of these merged point cloud clusters and the spatial boundary of the predicted trajectory region is not less than 0.50, it is considered a split relationship. When two or more predicted trajectory regions correspond to the same candidate obstacle point cloud cluster in the current frame, and the overlap ratio between the spatial boundary of the current frame candidate obstacle point cloud cluster and the spatial boundary of these merged predicted trajectory regions is not less than 0.50, it is considered a merged relationship. When a predicted trajectory region does not form a candidate correspondence in the current frame, and the number of consecutive non-corresponding frames does not exceed three frames, it is considered a short-term loss relationship; after exceeding three frames, it will no longer participate in the association of the next frame. Continuous observation relationships, split relationships, merged relationships, and short-term loss relationships are collectively used as the association results for each point cloud cluster.
[0036] After obtaining the correlation results, the correlation results within the most recent 5 frames are read one by one according to the obstacle trajectory in the historical frames. 5 frames is the preferred statistical length, with the rule being no less than 3 frames and no more than the number of sampling frames within a complete step cycle of the robot. When the sampling frequency is 30 frames per second and the single step cycle is 0.6 seconds, a complete step cycle corresponds to 18 frames. 5 frames can cover the continuous observation changes during the foot swing process without introducing excessive delay. Continuous observation relationships are denoted as hold events, while splitting, merging, and short-term loss relationships are denoted as disturbance events. The proportion of hold events is equal to the number of hold events in the most recent 5 frames divided by 5; the normalization of disturbance events is equal to the number of disturbance events in the most recent 5 frames divided by 5. The change in center position is the average distance between the centers of two adjacent stable observations in the most recent 5 frames, divided by 0.30 meters. If the result exceeds 1, it is rounded down to 1. 0.30 meters is obtained by multiplying the side length of a 0.05-meter spatial cube by 6. The change in spatial boundary is the sum of the absolute values of the differences in side lengths in three directions between two consecutive stable observations within the last 5 frames. This is divided by the sum of the side lengths in three directions of the previous stable observation, and then the average of the results of each adjacent frame is calculated. If the calculated result exceeds 1, it is taken as 1.
[0037] Cluster topological continuity is calculated using a percentage system. The calculation process is as follows: multiply the percentage of maintained events by 45, subtract the normalization of perturbation events from 1, multiply the result by 20, subtract the change in center position from 1, multiply the result by 20, subtract the change in spatial boundary from 1, multiply the result by 15, and then add the four results together. A result below 0 is taken as 0, and a result above 100 is taken as 100. The closer the value is to 100, the closer the obstacle trajectory in the same historical frame is to a continuous state in adjacent frames; the closer the value is to 0, the more the trajectory is affected by splitting, merging, short-term loss, center jump, and boundary changes.
[0038] Gait disturbance sensitivity is obtained based on the robot's body state. First, the single-leg support state is determined based on the foot contact state. When the pressure on one foot accounts for no less than 0.85% of the total pressure of both feet, and the other foot accounts for no more than 0.15%, the single-leg support state is recorded as 1; otherwise, it is recorded as 0. 0.85 and 0.15 are obtained by calibrating the bipedal pressure sensors while the robot is standing still. During calibration, the uniform force ratio of both feet is 0.50, and the single-leg support judgment value is taken as 70% of the value between 0.50 and 1.00, i.e., 0.85. Then, the trunk posture change is determined based on the trunk posture. The trunk posture change is equal to the absolute change of the roll angle of the current frame relative to the roll angle of the previous frame, plus the absolute change of the pitch angle of the current frame relative to the pitch angle of the previous frame, and then divided by 10 degrees. If the result exceeds 1, it is taken as 1. 10 degrees is the preferred normalized upper limit, and the rule is set as the upper limit of the cumulative change of trunk posture in a single frame for which the robot is allowed to continue walking. Then, calculate the height of the swing foot relative to the bottom plane of the supporting foot based on the joint angle. The degree to which the swing foot is close to landing is equal to 1 minus the height of the swing foot divided by 0.08 meters. If the calculated result is less than 0, take 0; if it is greater than 1, take 1. 0.08 meters is the preferred swing foot passing height, and the rule is set as the nominal foot lifting height for robot walking on flat ground.
[0039] Gait perturbation sensitivity is calculated on a percentage basis. The calculation process is as follows: multiply the single-leg support state by 40, the trunk posture change by 30, and the swing foot's approach to landing by 30, then add the three results together. A result below 0 is taken as 0, and a result above 100 is taken as 100. The resulting gait perturbation sensitivity reflects the robot's tolerance to adjustments in path, landing point, and centroid trajectory under the combined effects of single-leg support, trunk posture change, and swing foot's approach to landing. It is used in conjunction with clustering topological continuity for subsequent calculations of temporal dynamic constraints.
[0040] Please see Figure 2 As shown in S3, the degree of temporal dynamic constraints is determined comprehensively based on the clustering topological continuity and gait perturbation sensitivity. According to the degree of temporal dynamic constraints, it is divided into three cases: low constraint, medium constraint and high constraint, and respectively executes direct update of the current clustering result, smooth amplitude limit update of the clustering result or historical stable trajectory preservation control.
[0041] After obtaining the clustering topological continuity and gait perturbation sensitivity, both are standardized in terms of dimensions. The clustering topological continuity uses a value range of 0 to 100. The closer the value is to 100, the more stable the continuity between the current frame's candidate obstacle point cloud cluster and the historical frame's obstacle trajectory. To ensure it aligns with constraint requirements, the clustering topological continuity is converted into clustering volatility, calculated as: clustering volatility equals 100 minus the clustering topological continuity. The gait perturbation sensitivity also uses a value range of 0 to 100. The closer the value is to 100, the more limited the robot's ability to withstand adjustments to the path, foothold, and centroid trajectory in the current gait stage. Therefore, the gait perturbation sensitivity is directly used as the gait tolerance constraint.
[0042] After completing the unidirectional expression, the coupling amplification is calculated when both clustering volatility and gait tolerance constraints exist simultaneously. The coupling amplification is equal to the clustering volatility multiplied by the gait tolerance constraint and then divided by 100. This calculation ensures that when either the clustering volatility or the gait tolerance constraint is close to 0, the coupling amplification decreases synchronously; when both are in a high value range, the coupling amplification increases accordingly, reflecting the impact of point cloud cluster discontinuities and gait tolerance constraints on control stability.
[0043] The temporal dynamic constraint level is calculated using a percentage system. The optimal calculation process is as follows: multiply the clustering fluctuation by 0.35, the gait tolerance limitation by 0.35, and the coupling amplification by 0.30, then add the three results together. A result below 0 is taken as 0, and a result above 100 is taken as 100. 0.35, 0.35, and 0.30 are the optimal weights, with the following rules: clustering fluctuation and gait tolerance limitation are considered two direct sources, each with equal weight; coupling amplification is used to express the additional control risk caused by the superposition of the two, accounting for the remaining weight. The temporal dynamic constraint level obtained in this way reflects both the continuity of clustering results between adjacent frames and the robot's tolerance to control adjustments in its current gait.
[0044] The preferred first constraint boundary value is 35, and the preferred second constraint boundary value is 65. The temporal dynamics constraint level ranges from 0 to 100. 0 to 35 is considered a stable interval allowing direct use of the current frame's observations; 35 to 65 is considered a buffer zone requiring trajectory transitions; and 65 to 100 is considered a safe interval prohibiting direct changes to the control basis from the current frame's observations. A 30-count-unit interval is maintained between the first and second constraint boundary values to avoid frequent switching between adjacent frames in these three scenarios. If the robot's sampling frequency is adjusted from 30 frames per second to other frequencies, the two boundary values remain unchanged because the clustering topological continuity and gait perturbation sensitivity have been normalized within the range of 0 to 100.
[0045] When the time-series dynamics constraint level is less than 35, it is classified as a low-constraint case. Under low-constraint conditions, the current frame's candidate obstacle point cloud clusters are considered directly usable as the update source for historical frame obstacle trajectories. For point cloud clusters with continuous observation relationships, the center position, spatial boundary, height range, and number of points of the point cloud cluster are written into the corresponding historical frame obstacle trajectory, and the written trajectory is recorded as the current stable trajectory. The center position of the current stable trajectory is equal to the center position of the current frame's candidate obstacle point cloud cluster, the spatial boundary is equal to the spatial boundary of the current frame's candidate obstacle point cloud cluster, and the height range is equal to the height range of the current frame's candidate obstacle point cloud cluster. For splitting and merging relationships, under low-constraint conditions, it is permissible to re-record trajectory assignments according to the current frame's candidate obstacle point cloud clusters, and the re-recorded result is used as the current stable trajectory.
[0046] When the time-series dynamics constraint level is not less than 35 and less than 65, it is classified as a medium-constraint case. In the medium-constraint case, the current frame's candidate obstacle point cloud cluster is not directly used to replace the historical stable trajectory; instead, a progressive correction is performed based on the historical stable trajectory. First, the center difference between the center position of the current frame's candidate obstacle point cloud cluster and the center position of the historical stable trajectory is calculated, and the length of the center difference is also calculated. When the center difference length does not exceed 0.08 meters, the center position is updated to the center position of the current frame's candidate obstacle point cloud cluster; when the center difference length exceeds 0.08 meters, the center position of the historical stable trajectory is advanced by 0.08 meters along the center difference direction, becoming the corrected center position. 0.08 meters is the preferred upper limit for single-frame center change, set as one-quarter of the robot's nominal step length of 0.32 meters for flat-ground walking, to ensure that obstacle trajectory changes do not exceed the acceptable range for foot placement adjustments within a single frame.
[0047] When progressively correcting the spatial boundaries, the lower and upper boundaries of the first, second, and third directions are read respectively. If the absolute value of the difference between each boundary value and the corresponding boundary value in the historical stable trajectory does not exceed 0.05 meters, the boundary value of the candidate obstacle point cloud cluster in the current frame is used; if the absolute value of the difference exceeds 0.05 meters, only a correction of 0.05 meters is made along the difference direction. 0.05 meters is the preferred upper limit for single-frame boundary changes, set as one times the side length of the spatial cube in the point cloud preprocessing, to ensure that the changes in single-frame spatial boundaries are consistent with the point cloud resolution scale. The height range is determined by the corrected third direction lower and upper boundaries. After completing the center position and spatial boundary correction, a limited-amplitude stable trajectory is obtained. If a splitting or merging relationship occurs in the current frame, the limited-amplitude stable trajectory retains the number of trajectories of the historical stable trajectory. Multiple point cloud clusters split from the current frame or merged point cloud clusters are only used to calculate the progressive correction amount and do not immediately change the number of trajectories.
[0048] When the temporal dynamics constraint level is not less than 65, it is classified as a high-constraint case. Under high-constraint conditions, the current frame's candidate obstacle point cloud clusters are not used as the basis for path, landing point, and centroid trajectory control. The center position, spatial boundary, and height range of historical stable trajectories are retained, and the retained historical stable trajectories are used as the control basis. The current frame's candidate obstacle point cloud clusters are recorded as observations to be confirmed. Observations to be confirmed save the current frame time, center position, spatial boundary, height range, and association results. If the same observation to be confirmed forms a continuous observation relationship with the same historical stable trajectory within 3 consecutive frames, and the temporal dynamics constraint level calculated subsequently drops below 65, the observation to be confirmed will participate in subsequent medium-constraint or low-constraint processing. 3 consecutive frames are the preferred number of confirmations, with a rule set at 0.1 seconds of observation time corresponding to 30 frames per second sampling conditions, used to exclude single-frame occlusion, point cloud noise, and instantaneous boundary jumps.
[0049] After processing the three scenarios, the current stable trajectory obtained under low constraints, the amplitude-limited stable trajectory obtained under medium constraints, or the historical stable trajectory retained under high constraints are used as the corresponding control results. These control results are then used to generate subsequent path, landing point, and centroid trajectory control commands. This ensures that the control basis for the candidate obstacle point cloud cluster in the current frame only changes when both cluster continuity and gait tolerance meet the corresponding conditions, thereby reducing control oscillations caused by cluster jumps between adjacent frames.
[0050] S4 generates path, landing point, and center of mass trajectory control instructions for the humanoid robot based on the corresponding control results.
[0051] After obtaining the corresponding control results, the current stable trajectory, the limited stable trajectory, or the historical stable trajectory are uniformly used as the obstacle trajectory input for control calculation. Each obstacle trajectory includes the center position, spatial boundary, and height range. First, the spatial boundary of the obstacle trajectory is projected onto the horizontal plane of the supporting foot coordinates to obtain the horizontal occupied area. Then, the horizontal occupied area is expanded outward according to the current constraints. The expansion distance is 0.12 meters under low constraints, 0.16 meters under medium constraints, and 0.20 meters under high constraints. The rules for setting the expansion distance are as follows: under low constraints, the basic safe distance between the outer edge of the humanoid robot's foot and the obstacle is satisfied; under medium constraints, 0.04 meters is added on the basis of low constraints to absorb the delay difference between the limited stable trajectory and the actual obstacle boundary; under high constraints, another 0.04 meters is added on the basis of medium constraints to compensate for the perception conservatism caused when the candidate obstacle point cloud cluster in the current frame is not directly adopted. The expanded horizontal occupied area serves as the prohibited entry area for subsequent path and foothold calculations.
[0052] Path control commands are determined based on the robot's current position, target direction, and expanded horizontal occupancy area. The current support foot coordinate origin is used as the path starting point, and the projection direction of the target point in the support foot coordinate system is used as the priority direction of travel. Candidate travel segments are established around the priority direction of travel. Each candidate travel segment consists of forward displacement, lateral displacement, and yaw angle. Forward displacement ranges from 0.08 meters to 0.32 meters, with intervals of 0.04 meters; lateral displacement ranges from -0.18 meters to 0.18 meters, with intervals of 0.06 meters; and yaw angle ranges from -15 degrees to 15 degrees, with intervals of 5 degrees. 0.32 meters is the nominal step length for flat ground walking, 0.18 meters is the allowable lateral adjustment distance per step, and 15 degrees is the allowable turning angle per step. For each candidate travel segment, it is calculated whether the swept area of the travel segment intersects with the expanded horizontal occupancy area; candidate travel segments that intersect are discarded. For non-intersecting candidate travel segments, calculate the lateral deviation distance from its endpoint to the target direction line, the minimum distance between the travel segment and the nearest horizontally occupied area, and the absolute value of the yaw angle. Weight the lateral deviation distance, the absolute value of the yaw angle, and the reciprocal of the minimum distance in a ratio of 5:2:3, and sum them. The candidate travel segment with the lowest value is selected as the current travel segment. Path control instructions are obtained from the current travel segment, including the next forward displacement, lateral displacement, and yaw angle.
[0053] The landing point control command is determined based on the path control command and the expanded horizontal occupancy area. First, the initial landing point of the swinging foot is determined according to the current supporting foot and the path control command. The initial landing point is located near the end of the current travel segment and maintains a lateral foot spacing of 0.18 meters with the supporting foot. Centered on the initial landing point of the swinging foot, a foot landing area is established with a foot length of 0.24 meters and a foot width of 0.10 meters. This foot landing area is then expanded outwards by 0.03 meters as a landing verification area. If the landing verification area does not intersect with any expanded horizontal occupancy area, the initial landing point of the swinging foot is used as the landing point control command. If an intersection occurs, candidate landing points are established around the initial landing point. The forward adjustment range of the candidate landing points is -0.06 meters to 0.06 meters, with intervals of 0.03 meters, and the lateral adjustment range is also -0.06 meters to 0.06 meters, with intervals of 0.03 meters. Each candidate landing point is verified against its corresponding landing verification area. The candidate landing point that does not intersect with the initial landing point and has the shortest displacement is selected as the landing point control command. If all candidate landing points intersect, the forward movement of the swing foot is canceled, the landing point control command is set to stable landing in place, and the forward displacement in the path control command is set to 0.
[0054] The center of mass trajectory control command is determined based on the path control command, landing point control command, and the current support status. First, the current center of mass position is obtained, and the support area formed after the next landing point is determined. The horizontal target position of the center of mass is set near the midpoint of the line connecting the center of the current supporting foot and the center of the next landing foot, offset by 0.04 meters in the path forward direction. The center of mass height remains at the current standing height; when the forward displacement in the path control command is 0, the center of mass height does not change forward. The center of mass trajectory gradually transitions from the current center of mass position to the horizontal target position. During the transition, the horizontal displacement change in each control cycle does not exceed 0.02 meters, and the center of mass compensation displacement corresponding to the roll and pitch angles does not exceed 0.03 meters. If the current condition is medium constraint, the upper limit of the horizontal displacement change of the center of mass is reduced to 0.015 meters; if the current condition is high constraint, the upper limit of the horizontal displacement change of the center of mass is reduced to 0.01 meters, and priority is given to keeping the center of mass projection within the current supporting foot's range.
[0055] When generating the centroid trajectory control command, the distance between the centroid projection and the support area boundary is also checked. The minimum distance from the centroid projection to any boundary of the support area must not be less than 0.04 meters. If the calculated centroid trajectory makes this minimum distance less than 0.04 meters, the horizontal target position of the centroid is moved back along the center direction of the support area, and the move back amount is equal to 0.04 meters minus the current minimum distance. If the 0.04-meter distance requirement cannot be met after the move back, the forward displacement and lateral displacement in the path control command are both set to 0, the landing point control command is set to stable landing in place, and the centroid trajectory control command is set to maintain the current centroid position and reduce the trunk attitude change rate.
[0056] The final output humanoid robot control commands include path control commands, landing point control commands, and centroid trajectory control commands. Under low constraints, path control commands are allowed to update in real-time with the current stable trajectory, and landing points can be adjusted according to the obstacle positions in the current frame. Under medium constraints, path control commands and landing point control commands are updated based on the limited stable trajectory, with single landing point changes restricted by a 0.06-meter range in both the forward and lateral directions, and the centroid trajectory is executed according to the reduced upper limit of displacement change. Under high constraints, the control is based on the historical stable trajectory, and the current frame's candidate obstacle point cloud clusters do not directly change the path direction or landing point position; stable landing is only triggered when there is an outward horizontally occupied area less than 0.20 meters away. Through the above processing, the point cloud clustering results are converted into path, landing point, and centroid trajectory control commands via the corresponding control results, avoiding sudden changes in the detour direction, landing point, and centroid trajectory caused by instantaneous jumps in the current frame's candidate obstacle point cloud clusters.
[0057] Example 2, to verify the effectiveness of the humanoid robot control method based on point cloud clustering in suppressing cluster jumps between adjacent frames, gait oscillations, and frequent changes in footholds, a comparative test was conducted as follows. This example uses a bipedal humanoid robot as the test object. The robot is 1.45 meters tall, with a nominal stride length of 0.32 meters, a foot length of 0.24 meters, and a foot width of 0.10 meters. The point cloud acquisition frequency is 30 frames per second. The robot walks within a warehouse aisle that is 1.20 meters wide and 12 meters long. Metal shelves are installed on both sides of the aisle, and partially obscured cardboard boxes, low turnover boxes, and protruding edges of the shelves are placed in the middle of the aisle. The minimum distance between the partially obscured cardboard boxes and the shelves is 0.18 meters, the height of the low turnover boxes is 0.22 meters, and the height of the protruding edges of the shelves is 0.75 meters. This scenario simulates situations where point cloud clusters split, merge, experience short-term loss, and exhibit boundary jumps between adjacent frames.
[0058] The test included Comparative Example 1 and this embodiment. Comparative Example 1 employed a conventional single-frame point cloud clustering control method, where the point cloud was preprocessed and clustered in each frame, and the current frame's clustering result was directly used as the obstacle input. The path, landing point, and centroid trajectory were updated accordingly, without calculating clustering topological continuity, gait perturbation sensitivity, or temporal dynamic constraints. This embodiment employed the method of this invention, where, after obtaining the candidate obstacle point cloud clusters for the current frame, they were associated with the obstacle trajectories of historical frames to obtain continuous observation relationships, splitting relationships, merging relationships, and short-term loss relationships. Then, clustering topological continuity and gait perturbation sensitivity were generated, and the temporal dynamic constraints were categorized into low-constraint, medium-constraint, and high-constraint cases, respectively executing direct updates of the current clustering result, smooth and limited updates of the clustering result, or historical stable trajectory preservation control.
[0059] In this embodiment, each test involves the robot walking from the starting point to the end point of the channel, with each group covering a distance of 12 meters, and the test is repeated 10 times. Each test records the number of cluster jumps, path replanning attempts, landing point changes, peak lateral swing of the center of mass, peak body roll angle, minimum obstacle distance, and task completion status. The number of cluster jumps refers to the number of times the trajectory of the same obstacle exhibits splitting, merging, or short-term loss relationships between adjacent frames. The number of path replanning attempts refers to the number of times the robot changes its detour direction or reselects candidate travel segments during continuous walking. The number of landing point changes refers to the number of times the generated swing foot landing point is recalculated and changed before landing. The peak lateral swing of the center of mass is the maximum lateral offset of the robot's center of mass projection relative to the desired forward direction. The minimum obstacle distance is the minimum interval between the outer edge of the robot's foot and the expanded horizontal occupancy area.
[0060] Table 1 Main Test Parameters Point cloud acquisition frequency 30 frames per second Test channel length 12 meters Test channel width 1.20 meters Single-step nominal step size 0.32 meters Side length of point cloud spatial cube 0.05 meters Clustering proximity distance 0.18 meters Recent Related Statistics Frame Count 5 frames First constraint boundary value 35 Second constraint boundary value 65 Upper limit of single-frame variation at the center of the constraint 0.08 meters Upper limit of single-frame variation in constrained spatial boundaries 0.05 meters Number of high-constraint unconfirmed observation confirmation frames 3 frames As shown in Table 1, during the test, Comparative Example 1 exhibited significant point cloud cluster adhesion and separation at the location where the partially obscured cardboard box was adjacent to the shelf edge. Because Comparative Example 1 directly used the clustering results of the current frame, when the cardboard box point cloud and the shelf edge point cloud were clustered into a single point cloud cluster in certain frames, the robot determined that a local area of the passage was occupied by continuous obstacles; when the point cloud cluster separated again in the next frame, the robot determined that a passable gap existed. These changes caused the path control command to switch repeatedly between left-side and right-side detours, resulting in frequent changes in the swing foot's landing point.
[0061] In this embodiment, at the same test location, a predicted trajectory region can be formed first based on the obstacle trajectories of historical frames. Then, cluster topology changes are identified through continuous observation relationships, splitting relationships, merging relationships, and short-term loss relationships. When the cluster topology continuity decreases and the gait perturbation sensitivity increases, the temporal dynamic constraint degree enters the medium or high constraint range. At this time, the candidate obstacle point cloud clusters in the current frame no longer directly change the control basis, but are controlled by using amplitude-limited stable trajectories or historical stable trajectories, thereby avoiding the direct transmission of single-frame cluster jumps to the path, landing point, and centroid trajectory.
[0062] Table 2. Average results of Comparative Example 1 and this embodiment in 10 tests. Cluster jump count 46.8 times 18.2 times Reduced by 61.1% Number of path replanning 13.5 times 4.1 times Reduced by 69.6% Number of times the landing point has changed 16.7 times 5.3 times Reduced by 68.3% peak of lateral oscillation of the center of mass 0.118 meters 0.064 meters Reduced by 45.8% Peak torso roll angle 8.6 degrees 4.7 degrees Reduced by 45.3% Minimum distance between feet and obstacles 0.071 meters 0.126 meters Increased by 77.5% Number of collisions 3 times 0 times Completely avoid Number of times a stable footing occurs 1.2 times 2.8 times Stable strategies increase Average completion time 41.6 seconds 43.2 seconds Increased by 3.8% As shown in Table 2, although the average completion time increased from 41.6 seconds to 43.2 seconds due to the handling of medium and high constraints in this embodiment, the number of cluster jumps, path replanning, and landing point changes all decreased significantly. Specifically, the number of cluster jumps decreased from 46.8 to 18.2, indicating that the present invention can effectively suppress erroneous updates caused by splitting, merging, and short-term loss by utilizing historical frame obstacle trajectories and cluster topological continuity. The number of path replanning decreased from 13.5 to 4.1, and the number of landing point changes decreased from 16.7 to 5.3, demonstrating that the present invention can reduce the direct impact of point cloud perception fluctuations on path control and gait control.
[0063] Table 3. Trigger statistics for the three constraint conditions in 10 tests. Low constraint case 62.4% Open passage areas and stable obstacle boundary areas Update directly using the current stable trajectory In the case of constraints 27.9% Near the partially covered cardboard boxes and near the edge of the shelves Amplitude-limited stabilizing trajectory update High constraint cases 9.7% The point cloud attachment position of the cardboard box to the shelf, and the moment when the swinging foot is about to land. Maintain historical stable trajectories and record observations awaiting confirmation. As shown in Table 3, this embodiment does not employ conservative control in all frames. Instead, it dynamically determines the degree of temporal dynamic constraints based on cluster topological continuity and gait perturbation sensitivity. Low-constraint cases account for 62.4%, indicating that in most stable frames, the current frame's candidate obstacle point cloud clusters can still be directly used for control without significantly reducing passage efficiency. Medium-constraint cases account for 27.9%, mainly occurring near partially obscured cardboard boxes and shelf edges. In these cases, progressive corrections are made using amplitude-limited stable trajectories to ensure that obstacle trajectory changes do not exceed the upper limits of single-frame center change and spatial boundary change. High-constraint cases account for 9.7%, mainly occurring when point cloud adhesion is significant and the robot is in a swinging foot nearing landing. In these cases, maintaining historical stable trajectories as the control basis can prevent the robot from suddenly changing its landing point at unsuitable moments for gait adjustment.
[0064] Further data analysis was conducted using a typical test scenario. In this test, when the robot reached a distance of 6.4 meters, the point cloud of the partially obscured cardboard box and the point cloud of the right-side shelf edge alternated between merging and separating in consecutive frames. In Comparative Example 1, five path replanning events occurred between frames 193 and 210, with the swing foot landing point changing four times within 0.4 seconds, and the peak lateral swing of the centroid reaching 0.121 meters. Using this embodiment, the calculated cluster topological continuity of frame 193 was 48, the gait perturbation sensitivity was 71, and the temporal dynamic constraint level entered a high-constraint state. The candidate obstacle point cloud cluster in the current frame was recorded as an observation to be confirmed, and the historical stable trajectory continued to serve as the control basis. From frames 196 to 199, the observations to be confirmed formed a continuous correspondence, and the temporal dynamic constraint level decreased to 58, entering a medium-constraint state. Subsequently, a frame-by-frame correction of the center position and spatial boundary was performed using a limited-amplitude stable trajectory. During this process, the path was replanned once, the landing point was changed once, the peak value of the lateral swing of the center of mass was 0.066 meters, and the robot did not experience any collisions.
[0065] Table 4 Data table of typical test segments Statistical frame range Frames 193 to 210 Frames 193 to 210 Number of split or merge events 7 times 7 times Actual number of trigger trajectory replacements 7 times 2 times Number of path replanning 5 times 1 time Number of times the landing point has changed 4 times 1 time peak of lateral oscillation of the center of mass 0.121 meters 0.066 meters Peak torso roll angle 8.9 degrees 4.8 degrees Did any collision occur? yes no As shown in Table 4, when the number of splitting or merging events is the same, this embodiment does not eliminate all fluctuations at the point cloud clustering level. Instead, it determines whether the fluctuation is allowed to enter the control layer based on the degree of temporal dynamic constraints. Under high constraints, the candidate obstacle point cloud clusters in the current frame are only considered as observations to be confirmed; under medium constraints, the candidate obstacle point cloud clusters in the current frame only gradually affect the amplitude-limited stable trajectory according to the upper limit of single-frame changes. Therefore, this embodiment can transform the same degree of perceived fluctuations into a smoother control input.
[0066] In summary, the data from this embodiment demonstrates that the present invention, through comprehensive calculation of cluster topological continuity and gait perturbation sensitivity, can select between direct updating of the current clustering results, smooth amplitude-limited updating, and historical stable trajectory preservation control based on the degree of temporal dynamic constraints. This prevents the point cloud clustering results from directly driving the humanoid robot's path, landing point, and centroid trajectory in a single-frame manner. Compared to conventional single-frame point cloud clustering control methods, the present invention can reduce the impact of clustering jumps on gait control, reduce path replanning and frequent changes in landing points, increase the safe distance between the feet and obstacles, and reduce the lateral sway of the centroid and the peak value of the torso roll angle. This improves the walking stability and obstacle avoidance safety of the humanoid robot in complex environments such as partial obstruction, narrow passages, and shelf edges.
[0067] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application.
Claims
1. A humanoid robot control method based on point cloud clustering, characterized in that, include: S1: Obtain the point cloud of the humanoid robot's surrounding environment and the robot's own state, and preprocess and cluster the point cloud to obtain the candidate obstacle point cloud cluster in the current frame; S2, associate the current frame candidate obstacle point cloud clusters with the historical frame obstacle trajectories, determine the association results of each point cloud cluster, generate cluster topological continuity based on the association results, and obtain gait perturbation sensitivity based on the robot body state; S3. Based on the clustering topological continuity and gait perturbation sensitivity, the degree of temporal dynamic constraint is determined. According to the degree of temporal dynamic constraint, it is divided into three cases: low constraint, medium constraint and high constraint, and respectively, the current clustering result is directly updated, the clustering result is smoothly limited and updated or the historical stable trajectory is maintained control is executed. S4 generates path, landing point, and center of mass trajectory control instructions for the humanoid robot based on the corresponding control results.
2. The humanoid robot control method based on point cloud clustering according to claim 1, characterized in that, S1 includes: The coordinates of the supporting foot are determined based on the foot contact state and the torso posture, and the point cloud of the surrounding environment is transformed to the coordinates of the supporting foot. The limb occupancy envelope is determined based on the robot's joint angles, and self-point clouds that overlap with the limb occupancy envelope are removed from the transformed point cloud. Motion compensation is then performed on the point cloud after removing self-point clouds based on the torso angular velocity to obtain a stable environment point cloud.
3. The humanoid robot control method based on point cloud clustering according to claim 2, characterized in that, The current frame's candidate obstacle point cloud clusters include: For the stable environment point cloud, points below the plane of the supporting foot are deleted, and downsampling is performed according to the spatial cubic grid. Discrete points are deleted based on the average distance between adjacent points to obtain the preprocessed point cloud. Starting with unvisited points in the preprocessed point cloud, expand the set of neighboring points, and determine the set of points that meet the retention criteria as the candidate obstacle point cloud cluster for the current frame.
4. The humanoid robot control method based on point cloud clustering according to claim 1, characterized in that, In S2, associating the current frame's candidate obstacle point cloud clusters with the historical frame obstacle trajectories includes: Based on the center position, spatial boundary, and height range of the previous stable observation in the obstacle trajectory of the historical frame, the predicted trajectory region under the support foot coordinates of the current frame is obtained by combining the robot body displacement mapping; the center position, spatial boundary, number of points, and height range of the candidate obstacle point cloud clusters in the current frame are extracted; the candidate obstacle point cloud clusters in the current frame are compared with the predicted trajectory region to obtain the candidate correspondence relationship.
5. The humanoid robot control method based on point cloud clustering according to claim 4, characterized in that, The results of determining the association between point cloud clusters include: When a predicted trajectory region corresponds to a candidate obstacle point cloud cluster in the current frame, it is determined to be a continuous observation relationship; When a predicted trajectory region corresponds to multiple candidate obstacle point cloud clusters in the current frame, it is determined to be a split relationship; when multiple predicted trajectory regions correspond to the same candidate obstacle point cloud cluster in the current frame, it is determined to be a merge relationship. When the predicted trajectory region does not form a candidate correspondence in the current frame and does not exceed the number of consecutive uncorresponding frames, it is determined to be a short-term lost relationship.
6. The humanoid robot control method based on point cloud clustering according to claim 5, characterized in that, Generating cluster topological continuity includes: Continuous observation relationships are denoted as hold events, while splitting, merging, and short-term loss relationships are denoted as perturbation events. Statistical analysis was conducted on the percentage of obstacle trajectory retention events and the number of disturbance events across multiple consecutive frames in the same historical frame. By combining the changes in the center position and spatial boundary of obstacle trajectories in historical frames, a clustering topological continuity is generated.
7. The humanoid robot control method based on point cloud clustering according to claim 6, characterized in that, Acquiring gait perturbation sensitivity includes: Determine whether the robot is in a single-leg support state based on the foot contact status; The amount of trunk posture change is determined based on trunk posture, and the degree of approach to landing of the swing foot is determined based on joint angles. Gait perturbation sensitivity is generated based on single-leg support status, trunk posture changes, and the degree to which the swinging foot approaches the ground.
8. The humanoid robot control method based on point cloud clustering according to claim 7, characterized in that, Determining the degree of temporal dynamic constraints includes: The cluster topological continuity is inversely converted into cluster fluctuation, and the gait perturbation sensitivity is used as the gait tolerance limit. The degree of temporal dynamic constraint is obtained by weighting and superimposing the clustering fluctuation, gait tolerance constraint, and coupling amplification when both exist simultaneously. The temporal dynamics constraint level is compared with the first constraint boundary value and the second constraint boundary value, and divided into three cases: low constraint, medium constraint and high constraint.
9. The humanoid robot control method based on point cloud clustering according to claim 8, characterized in that, The results of executing the corresponding control include: Under low constraints, the candidate obstacle point cloud clusters of the current frame are written into the obstacle trajectories of the corresponding historical frames to obtain the current stable trajectory. Under medium constraints, the center position and spatial boundary of the candidate obstacle point cloud clusters of the current frame are adjusted by single-frame amplitude limiting based on the historical stable trajectory to obtain the amplitude-limited stable trajectory. Under high constraints, the historical stable trajectory is retained as the control basis, and the candidate obstacle point cloud clusters of the current frame are recorded as observations to be confirmed.
10. The humanoid robot control method based on point cloud clustering according to claim 9, characterized in that, S4 include: Project the spatial boundary of the current stable trajectory, the amplitude-limited stable trajectory, or the historical stable trajectory onto the horizontal plane of the support foot coordinates, and expand it outward according to the corresponding constraints to obtain the horizontal occupied area; determine the path control command based on the robot's current position, target direction, and horizontal occupied area, and determine the landing point control command based on the path control command; determine the centroid trajectory control command based on the path control command, the landing point control command, and the current support state.