Trajectory obstacle avoidance control method and system for cleaning robot based on multi-collision detection

CN122984667APending Publication Date: 2026-10-27HENGYANG HUIDI INTELLIGENT TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611249495.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-08-18
Publication Date
2026-10-27

AI Technical Summary

Technical Problem

[0002]现有低成本清洁机器人为控制硬件成本,普遍不配备激光雷达、视觉传感器、红外测距或超声波测距装置,仅通过前部碰撞开关检测碰撞事件,碰撞发生后执行固定的后退转向动作实现避障,现有纯碰撞避障方案存在多方面固有缺陷,碰撞检测仅能获取开关通断信号,难以确定碰撞接触点位置与障碍物表面角度,也难以区分碰撞严重程度,固定动作参数难以适配不同碰撞场景,容易出现后退距离不足导致二次碰撞,或后退距离过大导致清扫路径偏离,碰撞后无主动试探步骤,难以识别障碍物类型,容易将柱状桌腿误判为墙体执行长距离沿边,或在不规则障碍物前反复转向出现卡滞,贴边清扫依赖额外测距传感器,纯碰撞方案难以实现稳定沿边,贴边距离波动大容易出现边缘漏扫或家具剐蹭,避障绕开后直接继续行驶,障碍物与原路径之间的区域难以得到清扫,后续经过同一位置会重复触发碰撞,整体清扫覆盖率低,避障过程流畅性差,为了解决这一技术问题,于是我们提供了基于多碰撞探测的清洁机器人轨迹避障控制方法及系统

Benefits of technology

通过全局时间戳同步碰撞信号、轮速信号与电机电流信号,结合触发置信度计算与机器人自身运动状态修正,实现碰撞接触点位置与障碍物法向的精准解算,碰撞方位判断误差控制在预设角度以内,提升碰撞等级判断准确率,有效解决了纯碰撞方案方位判断不准和误触发率高的问题;

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122984667A_ABST
    Figure CN122984667A_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of autonomous navigation of cleaning robots, in particular, the present application relates to a cleaning robot trajectory obstacle avoidance control method and system based on multiple collision detection, the cleaning robot is equipped with multiple independent collision modules with pressure detection, drive wheel encoder and motor current acquisition unit, multiple source motion and collision data are synchronously collected during the process, the contact point position, obstacle surface normal and collision level are calculated after collision, the hierarchical trial action is executed to collect the boundary point, the least square fitting is used to judge the obstacle type and determine the only circumnavigation direction, the hierarchical deceleration, quantitative retreat and adaptive steering are executed in turn to complete the obstacle avoidance, when the straight line type boundary is determined, the side pressure feedback is used to realize the edge cleaning without additional ranging sensors, after the edge cleaning is completed, the trajectory is backtracked to calculate the uncleaned area of the obstacle shelter, the local arch-shaped supplementary cleaning is executed, and the local grid map is updated to return to the original path for further work.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of autonomous navigation technology for cleaning robots, and more specifically, to a method and system for trajectory obstacle avoidance control of cleaning robots based on multi-collision detection. Background Technology

[0002] To control hardware costs, existing low-cost cleaning robots generally do not equip themselves with lidar, vision sensors, infrared ranging, or ultrasonic ranging devices. They only detect collision events through a front-mounted collision switch, and perform a fixed backward turning motion to avoid obstacles after a collision. This existing pure collision avoidance solution has several inherent flaws: collision detection can only obtain the on / off signal of the switch, making it difficult to determine the location of the collision contact point and the angle of the obstacle surface, and also difficult to distinguish the severity of the collision; fixed motion parameters are difficult to adapt to different collision scenarios, easily leading to insufficient backward distance causing secondary collisions, or excessive backward distance causing deviation from the cleaning path; and there is no active reconnaissance after a collision. The process is problematic because it's difficult to identify obstacle types, easily mistaking columnar table legs for walls and performing long-distance edge cleaning, or getting stuck repeatedly when facing irregular obstacles. Edge cleaning relies on additional ranging sensors, and pure collision solutions struggle to achieve stable edge cleaning. Large fluctuations in edge-keeping distance can easily lead to missed edges or furniture scraping. After avoiding obstacles, the robot continues directly, leaving the area between the obstacle and the original path uncleaned. Repeated collisions occur when passing the same location, resulting in low overall cleaning coverage and poor obstacle avoidance smoothness. To address this technical issue, we have developed a multi-collision detection-based trajectory obstacle avoidance control method and system for cleaning robots. Summary of the Invention

[0003] The purpose of this invention is to provide a trajectory obstacle avoidance control method and system for cleaning robots based on multi-collision detection, so as to solve the problems mentioned in the background art.

[0004] To achieve the above objectives, one objective of this invention is to provide a trajectory obstacle avoidance control method for a cleaning robot based on multi-collision detection, comprising the following steps: S1. During the movement of the cleaning robot, multiple independent collision modules arranged on the bumper collect the collision trigger status and contact pressure. The independent collision modules include the front collision module and the side collision module. The left and right wheel speeds are collected through the drive wheel encoder, the working current of the left and right drive motors is collected synchronously, and the odometer trajectory information containing position coordinates, heading angle and driving speed is stored. S2. When any collision module is triggered, the trigger sequence is obtained based on the time sequence of the collision trigger states of each collision module. The wheel speed difference is calculated by combining the left and right wheel speeds. The load change is obtained by combining the difference between the driving motor operating current and the reference current. The position of the obstacle contact point and the surface normal are calculated by integrating the trigger sequence, contact pressure, wheel speed difference and load change. The collision is classified based on the contact pressure and the wheel speed decrease, and the collision level is obtained. The wheel speed decrease is the ratio of the wheel speed at the moment of collision to the average wheel speed in the 100ms before the collision. S3. Perform corresponding probing actions according to the collision level, collect the contact point coordinates and odometer trajectory information during the probing process, determine the obstacle type by least squares fitting, and determine the detour direction. S4. Generate gradient control commands based on collision level and obstacle type, and execute graded deceleration, quantitative backward movement and adaptive steering in sequence. When the obstacle type is determined to be a straight boundary, adjust the cleaning robot's course in real time based on the contact pressure of the side collision module, and perform edge cleaning without relying on additional ranging sensor detection data. S5. After the edge cleaning is completed, the odometer trajectory information stored before the collision and the obstacle boundary position obtained during the edge cleaning process are combined to calculate the uncleaned area blocked by the obstacle. Local bow-shaped supplementary cleaning is performed. After the supplementary cleaning is completed, the obstacle boundary is updated to the local grid map to correct the subsequent cleaning trajectory of the cleaning robot. Finally, it returns to the original cleaning path before the collision to continue the operation.

[0005] The second objective of this invention is to provide a system for implementing a trajectory obstacle avoidance control method for a cleaning robot based on multi-collision detection, including a multi-source sensing and acquisition unit, a collision state calculation unit, an obstacle boundary recognition unit, a hierarchical obstacle avoidance control unit, an edge-following cleaning control unit, and a supplementary cleaning and trajectory correction unit. The multi-source sensing and acquisition unit includes multiple independent collision modules, a drive wheel encoder, a motor current acquisition submodule, and a trajectory storage submodule arranged along the front of the cleaning robot.

[0006] Compared with the prior art, the beneficial effects of the present invention are as follows: By synchronizing collision signals, wheel speed signals, and motor current signals using global timestamps, and combining trigger confidence calculation with correction of the robot's own motion state, the system achieves accurate calculation of the collision contact point position and obstacle normal. The collision orientation judgment error is controlled within a preset angle, improving the accuracy of collision level judgment and effectively solving the problems of inaccurate orientation judgment and high false trigger rate in pure collision schemes. By actively collecting obstacle contact points through graded probing actions and combining straight line and circular arc dual residual fitting to achieve obstacle type identification, the accuracy of type identification is improved. Through five S-curve graded deceleration, pressure matching dynamic backward distance and real-time angle correction during the turning process, the secondary collision rate is reduced. Through the pressure feedback of the side collision module, closed-loop edge cleaning without additional sensors is achieved, and high-precision edge cleaning can be achieved without adding distance measuring hardware. By accurately calculating the missed area through pre-collision trajectory backtracking, equal-spaced bow-shaped supplementary cleaning is performed. Combined with obstacle updates of the local grid map, the missed cleaning rate of wall edges is reduced, and the overall cleaning coverage is improved. Attached Figure Description

[0007] Figure 1 This is a flowchart illustrating the overall workflow of the present invention; Figure 2 This is a schematic diagram of the overall structure of the present invention. Detailed Implementation

[0008] 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.

[0009] Please see Figure 1 As shown, one of the objectives of this embodiment is to provide a trajectory obstacle avoidance control method for a cleaning robot based on multi-collision detection, including the following steps: S1. During the movement of the cleaning robot, multiple independent collision modules arranged on the bumper collect the collision trigger status and contact pressure. The independent collision modules include the front collision module and the side collision module. The left and right wheel speeds are collected through the drive wheel encoder, the working current of the left and right drive motors is collected synchronously, and the odometer trajectory information containing position coordinates, heading angle and driving speed is stored. S2. When any collision module is triggered, the trigger sequence is obtained based on the time sequence of the collision trigger states of each collision module. The wheel speed difference is calculated by combining the left and right wheel speeds. The load change is obtained by combining the difference between the driving motor operating current and the reference current. The position of the obstacle contact point and the surface normal are calculated by integrating the trigger sequence, contact pressure, wheel speed difference and load change. The collision is classified based on the contact pressure and the wheel speed decrease, and the collision level is obtained. The wheel speed decrease is the ratio of the wheel speed at the moment of collision to the average wheel speed in the 100ms before the collision. S3. Perform corresponding probing actions according to the collision level, collect the contact point coordinates and odometer trajectory information during the probing process, determine the obstacle type by least squares fitting, and determine the detour direction. S4. Generate gradient control commands based on collision level and obstacle type, and execute graded deceleration, quantitative backward movement and adaptive steering in sequence. When the obstacle type is determined to be a straight boundary, adjust the cleaning robot's course in real time based on the contact pressure of the side collision module, and perform edge cleaning without relying on additional ranging sensor detection data. S5. After the edge cleaning is completed, the odometer trajectory information stored before the collision and the obstacle boundary position obtained during the edge cleaning process are combined to calculate the uncleaned area blocked by the obstacle. Local bow-shaped supplementary cleaning is performed. After the supplementary cleaning is completed, the obstacle boundary is updated to the local grid map to correct the subsequent cleaning trajectory of the cleaning robot. Finally, it returns to the original cleaning path before the collision to continue the operation.

[0010] During the operation of the cleaning robot, the control unit generates a global millisecond-level timestamp at a fixed clock beat. All sensor data acquisition is based solely on the global timestamp, eliminating time offset. When the independent collision module detects a change in the microswitch level or the membrane pressure sensor value exceeding the trigger threshold, it immediately packages and uploads the on / off Boolean value of the microswitch and the pressure value collected by the membrane pressure sensor along with the current global timestamp. The pressure value collected by the membrane pressure sensor is in Newtons, and the on / off state of the microswitch is a Boolean value of 0 or 1, where 0 represents no trigger and 1 represents trigger. The drive wheel encoder records the pulse moment and corresponding wheel speed for each pulse output. The wheel speed is calculated by multiplying the number of pulses per unit time by the wheel circumference and then dividing by the number of encoder lines, with the unit being meters per second. The driving motor operating current is collected through a sampling resistor connected in series in the motor circuit, with the unit being amperes. The motor reference current is taken as the average current of the cleaning robot during the most recent period of uniform straight-line travel on the current driving surface. The reference current is updated in real time according to changes in the ground material to adapt to different ground resistance.

[0011] When any independent collision module uploads a trigger signal, the control unit first extracts the uploaded data of all independent collision modules within a preset window before and after the collision trigger time, the wheel speed data of the left and right drive wheel encoders, the current data of the left and right drive motors, and the heading angular velocity data output by the inertial measurement unit. All data are aligned using a global timestamp to prevent timing misalignment. To eliminate false triggering of adjacent independent collision modules due to bumper elastic deformation, the trigger confidence level is first calculated for each triggered independent collision module. The trigger confidence level is calculated as follows: ,in It is the first The trigger confidence of each triggered independent collision module is a dimensionless value ranging from 0 to 1. It is the first The contact pressure collected by each independent collision module, in Newtons. This is the maximum contact pressure collected by all triggering modules during this collision, measured in Newtons. It is the first The trigger global timestamp for each independent collision module, in milliseconds. This is the global timestamp of the first independent collision module triggered in this collision, in milliseconds. It is the time decay constant, with a value of 5 milliseconds. It means that for every 5 milliseconds the trigger time is delayed, the trigger confidence of the corresponding module decreases to the inverse of the original natural exponent. Modules with a trigger confidence of less than 0.1 will be judged as bumper elastic transmission, resulting in false triggers and will be removed from subsequent calculations.

[0012] After the effective trigger module is screened, the azimuth angle of the obstacle contact point relative to the center of the cleaning robot is calculated using confidence weighting. The calculation method is as follows: ,in This is the calculated azimuth angle of the obstacle contact point relative to the center of the cleaning robot, in degrees. 0 degrees is defined as the angle directly in front of the cleaning robot, with the left side being negative and the right side positive. This represents the total number of valid, independently triggered collision modules after filtering in this collision event. It is the first The fixed installation azimuth angle of each independent collision module, in degrees.

[0013] To eliminate the interference from wheel speed difference caused by the cleaning robot's active steering, the expected wheel speed difference generated by active steering is first calculated. The calculation method is as follows: ,in This is the expected wheel speed difference generated by the cleaning robot's active steering, measured in meters per second. This is the current speed of the cleaning robot, measured in meters per second. It is the circumference of the drive wheel, in meters. This is the current angular velocity of the cleaning robot, measured in degrees per second, and is output in real time by the inertial measurement unit. This refers to the wheelbase between the left and right drive wheels, measured in meters. The effective wheel speed difference resulting from the collision is obtained by subtracting the expected wheel speed difference from the actual collected left and right wheel speed difference. The calculation method is as follows: ,in This refers to the effective wheel speed difference caused by the collision, measured in meters per second. It is the real-time wheel speed of the left wheel at the moment the collision is triggered, in meters per second. It is the real-time wheel speed of the right wheel at the moment the collision is triggered, in meters per second.

[0014] To eliminate interference from the increased current caused by the cleaning robot accelerating, the expected operating current of the motor under the current driving state is first calculated. The calculation method is as follows: ,in This is the expected operating current of the drive motor, measured in amperes. This is the reference current of the cleaning robot's motor when it is moving at a constant speed on the current ground, measured in amperes. It is the current acceleration coefficient, measured in amperes per meter per second squared, and is an inherent calibration parameter of the motor. This is the current acceleration of the cleaning robot, measured in meters per second squared (m / s²), obtained from the differential of the wheel speed. The current increment caused by the collision is calculated by subtracting the expected current from the actual real-time motor current. Then, the current increment is converted into the actual resistance generated by the collision using the motor torque constant. The calculation method is as follows: ,in It is the drag force in the direction of travel of the drive wheels caused by the collision, measured in Newtons. This is the torque constant of the drive motor, measured in Newton-meters per ampere, and is an inherent calibration parameter of the motor. It is the real-time operating current of the drive motor at the instant of the collision trigger, measured in amperes. It is the radius of the drive wheel, in meters. The calculated resistance value will be cross-validated with the contact pressure collected by the independent collision module. If the deviation between the two exceeds the preset range, it will be judged as a sensor false trigger and the data will be re-collected.

[0015] After calculating the effective wheel speed difference and load resistance, the normal angle of the obstacle surface is calculated by combining the effective wheel speed difference and the trigger time difference of the left and right side modules. The calculation method is as follows: ,in It is the angle between the normal to the obstacle surface and the heading of the cleaning robot, measured in degrees. It is the trigger timestamp of the first independent collision module triggered on the right, in milliseconds. It is the trigger timestamp of the first independent collision module triggered on the left, in milliseconds. It is the time difference correction factor, with the unit being degrees per millisecond. It is pre-calibrated to 2.25 degrees per millisecond, which means that for every 1 millisecond difference in the triggering time between the left and right sides, the normal angle is corrected by 2.25 degrees.

[0016] For example, a cleaning robot is traveling in a straight line at a speed of 0.2 meters per second on a wooden floor. At this speed, its angular velocity is 0 degrees, its acceleration is 0 meters per second squared, and the reference current of both left and right motors during the last 10 seconds of constant speed travel is 0.12 amps. The wheelbase of the left and right drive wheels is 0.2 meters, the drive wheel radius is 0.035 meters, the wheel circumference is 0.22 meters, and the motor torque constant is 0.01 Nm per amp. When the cleaning robot reaches a global timestamp of 1256789 milliseconds, the independent collision module at a position 22.5 degrees to the right front is triggered first, collecting a contact pressure of 1.8 Newtons. One millisecond later, the independent collision module at a position 0 degrees directly in front is triggered, collecting a contact pressure of 0.4 Newtons. Two milliseconds later, the independent collision module at a position 45 degrees to the right front is triggered. The independent collision module at the location triggered and collected a contact pressure of 0.2 Newtons. The other independent collision modules did not trigger. At the moment of collision triggering, the speed of the left wheel was 0.2 m / s and the speed of the right wheel was 0.11 m / s. The real-time operating current of the left drive motor was 0.12 amps and the real-time operating current of the right drive motor was 0.36 amps. The trigger confidence levels of the three trigger modules were calculated to be 1, 0.182, and 0.074, respectively. After screening, all were found to be valid modules. The weighted calculation showed that the contact point azimuth angle was approximately 20.6 degrees, the effective wheel speed difference was 0.09 m / s, and the right wheel collision resistance was approximately 1.96 Newtons. The close proximity of the contact pressure value to the right wheel verified the authenticity of the collision. Finally, the normal angle of the obstacle was calculated to be approximately 24.2 degrees.

[0017] The calculated contact point azimuth angle will serve as the core basis for determining the collision location and will be used to determine the initial direction of subsequent probing actions. The effective wheel speed difference and load resistance will serve as the core parameters for collision level classification. When the contact pressure is greater than or equal to 3 Newtons and the wheel speed reduction rate is greater than or equal to 60%, it will be classified as a Level 3 frontal collision. When the contact pressure is between 1 Newton and 3 Newtons and the wheel speed reduction rate is between 20% and 60%, it will be classified as a Level 2 moderate contact. When the contact pressure is less than 1 Newton and the wheel speed reduction rate is less than 20%, it will be classified as a Level 1 minor scrape. The obstacle surface normal angle will serve as the core parameter for adaptive steering to determine the steering angle. The trigger timing interval will be used to determine the collision type. When the multi-module trigger interval is less than 3 milliseconds, it will be classified as a frontal hard collision. When the trigger interval is greater than 10 milliseconds, it will be classified as a side scrape.

[0018] Existing technologies typically rely solely on the first triggered collision switch as the collision location criterion, or solely on / off status of the collision switch. This is susceptible to errors in collision location judgment due to bumper elastic deformation, sensor malfunctions, and robot acceleration during steering. Consequently, problems such as incorrect steering direction, repeated collisions, and jamming occur. This invention aligns all sensor data using global timestamps, introduces a trigger confidence module to eliminate malfunctions, and incorporates expected wheel speed differences and expected currents to correct data deviations caused by the robot's own motion. It converts current data into actual collision resistance to verify the authenticity of the collision. By combining multi-source data to calculate the contact point position and normal angle, the collision location judgment error can be controlled within 5 degrees, reducing the collision misjudgment rate by more than 90%. This provides accurate basic data for subsequent obstacle boundary judgment and obstacle avoidance actions, enabling accurate collision state perception even on low-cost hardware without expensive sensors such as vision or lasers.

[0019] After completing the trigger confidence calculation and screening of false trigger modules, the process of solving the contact point position and obstacle normal can be entered. Existing technologies usually directly take the position of the first triggered collision module as the collision point, ignoring the error caused by the sliding of the contact point along the arc surface of the bumper elastic deformation and the instantaneous deflection after the robot collision. This can easily lead to excessive deviation in the judgment of the contact position, causing subsequent obstacle avoidance actions to deviate from the correct direction.

[0020] First, extract the independent collision module whose global trigger timestamp equals the timestamp of the first trigger module from all valid trigger modules. Use the fixed installation azimuth of this module as the initial collision azimuth. The initial collision azimuth is only used as the initial value for calculation and not as the final contact point azimuth. This is because the bumper will undergo elastic deformation after the collision, and the contact force will be transmitted to the adjacent module along the curved surface of the bumper. At the same time, the robot's inertial movement at the moment of collision will cause the contact point to slide along the curved surface of the bumper. Directly using the initial collision azimuth will result in angular errors.

[0021] Considering that the impact force attenuates with distance as it is transmitted along the curved surface of the bumper, and that independent collision modules farther from the initial impact point experience longer trigger delays and greater pressure attenuation, a curved surface transmission weight is added to the pressure weighting to calculate the final contact point azimuth angle. The calculation method is as follows: ,in It is the weighted azimuth angle of the obstacle contact point relative to the center of the cleaning robot, expressed in degrees, with 0 degrees directly in front of the cleaning robot, negative to the left, and positive to the right. This represents the total number of valid, independently triggered collision modules after filtering in this collision event. It is the number calculated in the previous step. Trigger confidence level of each trigger module It is the first The fixed installation azimuth angle of each independent collision module, in degrees. It is the first The arc surface propagation weight of each independent collision module is a dimensionless value, calculated as follows: ,in It is the first The distance between each independent collision module and the initial collision module along the bumper's curved surface, in meters. It is the force transmission attenuation constant, with the unit being meters. It is pre-calibrated to 0.03 meters, which means that for every 3 centimeters increase in arc length, the transmission weight decreases to the reciprocal of the original natural exponent. Module signals with a trigger weight lower than 0.05 will be judged as transmission error signals and will not participate in the azimuth calculation.

[0022] After calculating the azimuth angle of the contact point, the distance from the contact point to the robot's center is further calculated. The bumper is a uniform radius arc structure installed on the outside of the robot's body. When no collision occurs, the radius of the bumper's arc surface is... The unit is meters, which is the initial distance from the center of the robot body to the outer surface of the bumper. When a collision occurs, the bumper at the contact point will be compressed inward. The amount of compression is linearly related to the contact pressure. The ratio of compression to pressure is obtained in advance through pressure calibration tests. The unit is meters per Newton (mN). This means that every 1 Newton of contact pressure will cause a corresponding amount of compressive deformation in the bumper. First, the average contact pressure at the contact point is calculated using confidence level weighting. Then, the amount of bumper compression at the contact point is calculated using the average pressure. The calculation method is as follows: ,in This refers to the amount of bumper compression at the contact point, measured in meters. It is the first The contact pressure, measured in Newtons, is collected by each independent collision module. Based on this, the distance from the contact point to the robot's center is calculated. ,in This is the distance from the contact point to the robot's center, in meters. The azimuth angle of the contact point and the distance to the contact point together form the coordinates of the contact point in the robot's local coordinate system. The horizontal coordinate in the local coordinate system is... Multiply by the cosine of the azimuth angle of the contact point, the vertical coordinate is Multiplying by the sine of the contact point azimuth angle, all contact points collected in subsequent trial actions will be converted into local coordinates through this coordinate transformation method. Then, combined with the robot pose output by the odometry, it will be converted into global coordinates for obstacle boundary fitting. At the same time, the bumper compression amount will be used as the core parameter for calculating the retreat distance. For every 1 mm increase in compression amount, the retreat distance will increase by 1 cm, to avoid insufficient retreat distance causing secondary collisions between the robot and obstacles.

[0023] Next, we calculate the normal angle correction caused by the instantaneous deflection trend during the collision. At the moment of impact, the unilateral resistance causes a difference in the rotational speeds of the left and right drive wheels, resulting in an instantaneous deflection trend in the robot. Here, we use the effective wheel speed difference calculated in the previous step, excluding active steering interference, for calculation. When the effective wheel speed difference is greater than 0 (i.e., the effective speed of the left wheel is greater than that of the right wheel), it indicates that the right side experiences greater collision resistance, and the robot tends to deflect to the right at the moment of collision. When the effective wheel speed difference is less than 0 (i.e., the effective speed of the right wheel is greater than that of the left wheel), it indicates that the left side experiences greater collision resistance, and the robot tends to deflect to the left at the moment of collision. The normal angle correction corresponding to the deflection trend is calculated as follows: ,in It is the normal angle correction caused by the wheel speed difference, in degrees. It is the wheel speed difference correction coefficient, with the unit being degrees per second per meter. It is pre-calibrated to 250 degrees per second per meter, which means that for every 0.1 meters per second difference in effective wheel speed, the normal angle is corrected by 25 degrees. The direction of the correction is opposite to the deflection trend, and it is used to offset the angle perception error caused by the instantaneous deflection during the collision. After correcting the wheel speed difference, the angle error caused by the contact point sliding is further corrected by combining the trigger time difference and the bumper arc radius. After the collision, the robot will continue to move forward a short distance due to inertia, and the contact point will slide along the arc surface of the bumper. The trigger time difference of the independent collision modules at different positions corresponds to the duration of the contact point sliding along the arc surface. Combined with the bumper arc radius, the angle deviation corresponding to the contact point sliding can be calculated. First, the time difference of the earliest triggering modules on the left and right sides is calculated. When there is no triggering module on one side, the trigger time of the module closest to the initial collision point on that side is taken as a reference. The linear velocity of the contact point sliding along the bumper arc surface is approximately equal to the robot's travel speed at the moment of collision. The arc length corresponding to the sliding is the travel speed multiplied by the time difference. Then, the corresponding central angle, which is the angle correction amount, is calculated through the relationship between the arc length and the radius. The calculation method is as follows: ,in It is the normal angle correction caused by the trigger time difference, in degrees. It is the robot's speed at the moment of collision, measured in meters per second. This is the difference in global timestamps between the earliest triggered module on the right and the earliest triggered module on the left, in milliseconds. Dividing by 1000 converts milliseconds to seconds to ensure unit consistency. It is a sign function. When the time difference is greater than 0, that is, the right trigger is later than the left, the correction amount is positive normal and deflected to the right. When the time difference is less than 0, that is, the left trigger is later than the right, the correction amount is negative normal and deflected to the left.

[0024] Finally, by summing the initial contact point azimuth angle, wheel speed difference correction, and time difference correction, the normal angle of the obstacle surface relative to the robot's heading can be obtained. The calculation method is as follows: ,in This is the final output of the obstacle surface normal angle, in degrees. A normal angle of 0 means the obstacle surface is directly in front of the robot, a positive normal angle means the obstacle surface normal points to the right of the robot, and a negative normal angle means the obstacle surface normal points to the left of the robot.

[0025] For example, in a scenario involving a robot driving on a wooden floor, the initial radius of the robot's bumper is 0.175 meters, which is equivalent to a body diameter of 35 centimeters. The compression ratio is 0.003 meters per Newton, meaning each Newton of pressure compresses 3 millimeters. The force transmission attenuation constant is 0.03 meters, and the wheel speed difference correction coefficient is 250 degrees per second per meter. The three effective triggering modules are the initial collision module at 22.5 degrees to the right front, the module at 0 degrees directly in front, and the module at 45 degrees to the right front. The arc length distance between the initial module and the other two modules is approximately 0.0687 meters, corresponding to a central angle of 22.5 degrees. The calculated arc surface transmission weight of the two adjacent modules is approximately 0.101. After weighting, the contact point azimuth angle is approximately 22.3 degrees, and the weighted average contact pressure is approximately 1.5 Newtons, corresponding to the bumper compression amount. The contact point is 4.5 mm, the distance from the contact point to the center is 0.1705 m, the effective wheel speed difference is 0.09 m / s, corresponding to a wheel speed correction of 22.5 degrees, and the trigger time difference of the three modules is 1 ms, corresponding to a sliding correction of approximately 0.065 degrees. The final obstacle normal angle is approximately 44.9 degrees, which will be used as the parameter for adaptive steering. When steering, the robot is controlled to turn in the opposite direction of the normal angle, that is, to the left. The rotation angle is the absolute value of the normal angle plus a safety margin of 5 degrees to ensure that the robot body will not scrape against the obstacle after steering. At the same time, the deflection trend data will be used for collision type judgment. When the correction corresponding to the left and right wheel speed difference exceeds 30 degrees, it is judged as a side collision. No large backward movement is required; only a small adjustment of the heading is needed to continue driving.

[0026] In existing technologies, the error in calculating the contact point position typically exceeds 20 degrees, often resulting in misjudging a collision to the right front as a direct front collision, leading to incorrect steering direction and repeated collisions with obstacles. This invention eliminates interference from force transmission by adding arc surface transmission weights, calculates accurate contact point distances using bumper compression, corrects the instantaneous deflection effect of the collision using wheel speed differences, and corrects angle deviations using a contact point sliding model. Ultimately, the contact point position error can be controlled within 3 degrees, and the contact distance error within 2 millimeters. This provides accurate basic data for subsequent obstacle boundary fitting and obstacle avoidance actions, achieving contact perception accuracy close to that of high-end ranging sensors even under low-cost hardware conditions.

[0027] After calculating the obstacle contact point location and surface normal, the collision level determination process can begin. Existing technologies typically classify collision levels solely based on the collision switch trigger state or a single global pressure threshold, without considering the physical characteristics of the collision orientation and the actual causes of wheel speed changes. This easily leads to misjudging side grazes as frontal collisions, triggering significant obstacle avoidance maneuvers, and misinterpreting wheel speed reductions caused by active deceleration as collision effects, resulting in unnecessary stopping and retreating. This invention comprehensively determines collision levels by combining three dimensions: effective wheel speed reduction due to contact pressure, and contact point orientation. Differentiated judgment thresholds are set for different orientation regions, and fuzzy membership calculation is introduced to avoid sensor errors at threshold boundaries causing misjudgments. First, the effective wheel speed reduction caused by the collision is calculated. During the calculation, the influence of wheel speed changes caused by the robot's active deceleration is excluded to avoid misjudging normal deceleration triggered by control commands as a collision-induced wheel speed reduction. The calculation method for the effective wheel speed reduction is as follows: ,in The effective wheel speed reduction caused by the collision is expressed as a percentage value. It is the robot's average speed in the 100 milliseconds prior to the collision, measured in meters per second. It is the real-time wheel speed of the drive wheel on the side with the lower rotational speed at the moment of the collision, measured in meters per second. It is the change in speed command issued by the control unit before the collision occurs, which is the expected reduction in wheel speed caused by active deceleration. The unit is meters per second. When there is no active deceleration command, this value is 0.

[0028] After calculating the effective wheel speed reduction, the collision area is divided according to the previously calculated contact point azimuth angle. The front area is the range where the absolute value of the contact point azimuth angle is less than or equal to 15 degrees, which is a fan-shaped area of ​​15 degrees to the left and right of the robot's front. The front side area is the range where the absolute value of the contact point azimuth angle is greater than 15 degrees and less than or equal to 45 degrees, which is a fan-shaped area of ​​15 degrees to 45 degrees on both sides of the robot's front. The side area is the range where the absolute value of the contact point azimuth angle is greater than 45 degrees and less than or equal to 90 degrees, which is a area of ​​45 degrees to 90 degrees on both sides of the robot's left and right. Different areas correspond to different pressure and wheel speed judgment thresholds. The side area is a high-incidence area for rubbing collisions during the robot's movement, and collisions are mostly scrapes with the edges of obstacles, so the threshold is set higher. The front area is a high-incidence area for frontal collisions, and even a low pressure and wheel speed change can be judged as a high-level collision. The threshold for the front side area is between the two.

[0029] For each region, a trapezoidal fuzzy membership function is set to calculate the matching degree of each level, avoiding misjudgment caused by sensor errors at threshold boundaries. For the directly in front region, the pressure membership degree for Level 1 slight contact is 1 when the contact pressure is less than 0.8 N, linearly decreases from 1 to 0 when the contact pressure is between 0.8 N and 1.2 N, and is 0 when the contact pressure is greater than 1.2 N. The wheel speed membership degree is 1 when the effective wheel speed decreases by less than 15%, linearly decreases from 1 to 0 when the effective wheel speed decreases by 15% to 25%, and is 0 when the effective wheel speed decreases by more than 25%. The pressure membership degree for Level 2 moderate contact is 0 when the contact pressure is less than 0.8 N, linearly increases from 0 to 1 when the contact pressure is between 0.8 N and 1.2 N, is 1 when the contact pressure is between 1.2 N and 2.8 N, and is 0 when the contact pressure is between 2.8 N and 3.2 N. The time interval decreases linearly from 1 to 0, and is set to 0 when the contact pressure is greater than 3.2 N. The wheel speed membership degree is set to 0 when the effective wheel speed decreases by less than 15%, increases linearly from 0 to 1 when the effective wheel speed decreases by 15% to 25%, is set to 1 when the effective wheel speed decreases by 25% to 55%, decreases linearly from 1 to 0 when the effective wheel speed decreases by 55% to 65%, and is set to 0 when the effective wheel speed decreases by more than 65%. The pressure membership degree for a level 3 frontal collision is set to 0 when the contact pressure is less than 2.8 N, increases linearly from 0 to 1 when the contact pressure is between 2.8 N and 3.2 N, and is set to 1 when the contact pressure is greater than 3.2 N. The wheel speed membership degree is set to 0 when the effective wheel speed decreases by less than 55%, increases linearly from 0 to 1 when the effective wheel speed decreases by 55% to 65%, and is set to 1 when the effective wheel speed decreases by more than 65%.

[0030] For the front side area, the pressure threshold for each level is increased by 0.5 Newtons and the wheel speed reduction threshold is increased by 5% to adapt to the pressure characteristics of side scraping. For the side area, the pressure threshold for each level is increased by 2 Newtons and the wheel speed reduction threshold is increased by 10% to avoid misjudging side scraping as frontal collision.

[0031] The overall matching degree for each collision level is the product of the corresponding pressure membership degree, wheel speed membership degree, and orientation weight. The orientation weight changes linearly according to the position of the contact point within the region. When the contact point is located at the center of the region, the orientation weight is 1. When the contact point is located at the boundary of the region, the orientation weight of each of the two adjacent regions is 0.5. Finally, the level with the highest overall matching degree is selected as the collision judgment result. When the contact point is located at the boundary of two regions, the overall matching degree of the corresponding levels of the two regions is calculated simultaneously, and the boundary contact is not forcibly classified into a certain region.

[0032] For example, in a scenario involving a wooden floor, the average speed before the collision is 0.2 meters per second, and the right wheel speed at the moment of collision is 0.11 meters per second. There is no active deceleration command, and the effective wheel speed reduction is calculated to be 45%. The contact point azimuth angle is 22.3 degrees, which is in the front lateral area. The weighted average pressure at the contact point is 1.5 Newtons. The overall matching degree of the level 2 moderate contact is calculated to be 1. The matching degree of the level 1 minor scratch and level 3 frontal collision is 0. Therefore, it is judged as level 2 moderate contact.

[0033] For example, if a collision occurs at a 60-degree angle to the side, with a contact pressure of 2 Newtons and an effective wheel speed reduction of 20%, it would be classified as a Level 2 moderate contact according to the threshold for the front area. However, according to the threshold for the side area, the overall matching degree of a Level 1 minor collision is the highest. Therefore, it is classified as a Level 1 minor collision and will not trigger unnecessary backward movement.

[0034] For example, if the contact point azimuth angle is 15 degrees and it is located at the front and front side boundary, the contact pressure is 1 Newton, and the effective wheel speed decreases by 20%, the matching degree of the two areas is calculated at the same time. Finally, the overall matching degree of the second-level medium contact is the highest, and there will be no misjudgment because it is just at the threshold boundary.

[0035] After the collision level is determined, different levels correspond to different subsequent control parameters. Level 1, minor collision, corresponds to no reversing action, but only reducing the vehicle speed to 30% of the original speed within 100 milliseconds, while slightly adjusting the heading according to the normal angle. Level 2, moderate contact, corresponds to reducing the speed to 0 within 50 milliseconds, with the reversing distance dynamically adjusted according to the contact pressure, with 1 centimeter of reversing for every 1 Newton of contact pressure, followed by boundary probing after turning according to the normal angle. Level 3, frontal collision, corresponds to emergency stop within 20 milliseconds, with the reversing distance increased by 3 centimeters compared to Level 2, a larger safety margin set for the turning angle, and a wider coverage of the probing action.

[0036] Existing technologies using a globally uniform threshold for collision classification have a misjudgment rate of over 30%. This often results in issues such as side scrapes triggering large-angle turns that interrupt the cleaning path, or small collisions in front of the robot not being recognized, leading to hard collisions with furniture. This invention sets differentiated thresholds for different directions, eliminates active deceleration interference through effective wheel speed calculation, and introduces fuzzy membership to solve the boundary value misjudgment problem. The collision level determination accuracy can reach over 98%, preventing normal cleaning from being interrupted due to misjudgment and avoiding hard collisions between the robot and obstacles due to missed judgments, thus significantly improving the smoothness of obstacle avoidance under low-cost hardware.

[0037] After determining the collision level, an independent probing action of the corresponding level is executed first. The probing action is only used to collect contact point information on the obstacle surface and does not directly complete the final obstacle avoidance. Existing pure collision solutions directly execute fixed backward turning after collision, which makes it difficult to obtain the shape and boundary information of the obstacle and is prone to repeated collisions or significant path deviation. This invention collects sufficient contact point data within a very small range of movement through graded probing actions, providing a basis for subsequent obstacle type judgment and boundary fitting. The robot's movement range does not exceed 10 centimeters during the entire probing process.

[0038] After determining it to be a minor collision (Level 1), the target speed of the drive wheels is first set to 30% of the original travel speed. Speed ​​control uses PID closed-loop regulation to ensure a smooth deceleration to the target speed within 100 milliseconds. After deceleration, the robot continues to move forward while maintaining the current heading. During travel, the distance traveled is calculated in real time through the drive wheel encoder. The robot automatically stops when the travel distance reaches 5 centimeters. During travel, the trigger status and contact pressure of all independent collision modules are collected at a frequency of 100Hz. Each time a collision trigger signal is collected, the coordinates of the contact point in the robot's local coordinate system at the current moment are calculated in real time. Combined with the robot's real-time position and heading angle output from the odometer, the coordinates of the contact point are converted to coordinates in a global coordinate system with the collision point as the origin. The coordinate conversion method is as follows:

[0039] in and It is the first The coordinates of each contact point in the global coordinate system, in meters. and These are the current coordinates of the robot's center in the global coordinate system, in meters, obtained through real-time integration by the drive wheel encoder odometer. It is the robot's heading angle at the current moment, in radians, obtained by fusing data from the inertial measurement unit and encoder. It is the distance from the contact point to the center of the robot, calculated previously, in meters. It is the azimuth angle of the contact point in the robot's local coordinate system, in radians. The transformed coordinates are directly stored in the boundary point set.

[0040] After determining it to be a level 2 moderate contact, the drive wheels are first controlled to perform synchronized rotation and backward movement. The rotation target direction is opposite to the obstacle's normal direction, with an initial rotation target angle of 5 degrees and an initial backward target distance of 2 centimeters. The rotation and backward movements are executed synchronously using differential control. The target speed of the left and right drive wheels is synthesized from the backward linear velocity and rotation angular velocity, calculated as follows:

[0041] in and This refers to the target speed of the left and right drive wheels, measured in meters per second. The linear velocity of the backward motion is fixed at 0.1 meters per second. It is the wheelbase between the left and right drive wheels, in meters. The angular velocity of the rotation is fixed at 0.5 radians per second to ensure a smooth and impact-free rotation process.

[0042] A real-time interruption mechanism is set during the execution of the action to continuously collect signals from all collision modules. If the triggering state of all collision modules changes to non-triggered and the contact pressure drops below 0.1 N, it means that the robot has broken away from the obstacle and immediately stops rotating and reversing. It does not need to complete the preset 5-degree rotation and 2-centimeter reversal to avoid excessive movement and deviation from the original cleaning path. If the collision module on the other side is triggered during the rotation, it means that there is an obstacle in the direction of rotation. It immediately stops rotating in the current direction, rotates 3 degrees in the opposite direction, and then continues to reverse the movement. During the rotation and reversal, collision signals and odometry information are also collected at a frequency of 100Hz. Each time a collision is triggered, the global coordinates of the corresponding contact point are calculated and stored in the boundary point set. After the action stops, the current robot pose is recorded.

[0043] Upon determining a level 3 frontal collision, an emergency stop is initiated first. Within 20 milliseconds, the speed of the left and right drive wheels is reduced to 0. Then, the robot is controlled to retreat in a straight line in the opposite direction of the current heading, with a fixed retreating speed of 0.1 meters per second. The retreating distance is calculated in real time through encoder integration. Retreating stops when the retreating distance reaches 5 centimeters. After retreating, a leftward rotation is performed, with a fixed rotational angular velocity of 0.5 radians per second. During the rotation, the left-side collision module signal is continuously collected. If the left-side collision module is triggered during the rotation, it indicates the presence of an obstacle on the left. The leftward rotation is immediately stopped, and the left side is recorded as unobstructed. The direction of travel does not need to be fully rotated to the preset 3 degrees. If no collision is triggered when rotating to 3 degrees, the left side is recorded as the passable direction. Then, the robot is controlled to return to the heading after the backward movement is completed, and then the rightward rotation action is performed. During the rotation, the right-side collision module signal is also detected in real time. If the right-side collision module is triggered, the right side is recorded as the impassable direction and the rotation stops. If no collision is triggered when rotating to 3 degrees, the right side is recorded as the passable direction. After the rotation is completed, the robot is controlled to return to the heading after the backward movement is completed. During the left and right rotation, the global coordinates of all triggered collision points are calculated and stored in the boundary point set.

[0044] Throughout the entire trial process, all contact points stored in the boundary point set will first undergo outlier filtering. The average Euclidean distance from each point to all other points in the point set will be calculated. Points whose average distance is greater than twice the average distance of all points will be identified as outliers caused by sensor noise and removed from the boundary point set to avoid noise points affecting the subsequent boundary fitting accuracy. The passable status of the left and right sides recorded during the trial will serve as the initial basis for subsequent detour direction determination, eliminating the need for further trial and error in subsequent obstacle avoidance processes.

[0045] For example, in a level 2 moderate contact scenario, the collision point is located 22.3 degrees to the right front, and the obstacle normal angle is 44.9 degrees. Therefore, the target rotation direction is to the left. During the execution of the action, when the rotation reaches 3 degrees, the contact pressure of all collision modules drops below 0.1 Newtons, and the collision signal disappears. At this point, the rotation and backward movement are immediately stopped. The actual rotation angle is 3 degrees, and the actual backward movement distance is 1.2 centimeters. The preset amount of action is not completed. A total of 3 effective contact points are collected during the process. After being converted into global coordinates, they are stored in the boundary point set. After detection, there are no outliers, which can be used for subsequent obstacle type determination.

[0046] For example, in a level 3 collision scenario directly in front, after retreating 5 centimeters, a left turn is executed. When the left turn reaches 1 degree, the left collision module is triggered, the left turn is immediately stopped, and the left side is recorded as an impassable direction. Then, a right turn is executed. When the right turn reaches 3 degrees, no collision signal is triggered, and the right side is recorded as a passable direction. During the process, two valid contact points are collected and stored in the boundary point set. When avoiding obstacles and turning later, the right side is directly selected as the detour direction without the need for additional trial and error.

[0047] Existing technologies that perform fixed actions after a collision either have insufficient movement to escape the collision or excessive movement causing significant path deviation and making it difficult to obtain obstacle boundary information. The tiered probing action of this invention has a maximum movement distance of no more than 7 centimeters, which will not deviate significantly from the original cleaning path. At the same time, it avoids excessive movement by interrupting the action through real-time collision detection. It collects sufficient contact point data within a very small movement range to support subsequent boundary fitting. It can also determine the passable direction in advance to reduce the number of subsequent trials. Compared with the fixed action solution, the probing process time is reduced by more than 60%, and the path deviation is reduced by 70%. It can achieve active acquisition of local obstacle boundary information on low-cost hardware without the need for additional ranging sensors.

[0048] After the trial action is completed and the outlier filtering of the boundary point set is completed, the obstacle type judgment and detour direction determination process can be entered. Existing pure collision obstacle avoidance schemes have difficulty distinguishing the shape of obstacles. They are prone to judging columnar table legs as walls and performing long-distance edge-following, and they are also prone to judging walls as small obstacles and randomly turning, resulting in low detour efficiency and repeated cleaning. This invention judges the obstacle type through a dual verification method of least squares linear fitting and circular arc fitting, and sets three-level priority to determine the optimal detour direction. It achieves obstacle shape recognition and optimal path selection without relying on visual laser sensors.

[0049] First, convert the global coordinates of all contact points to coordinates in the robot's local coordinate system after the trial is completed, with the robot's center at the end of the trial as the origin and the current heading as... The positive axis direction reduces the computational load of the fitting process and adapts to the computing power of low-cost MCUs. The coordinate transformation method is as follows:

[0050] in and It is the first The coordinates of each contact point in the robot's local coordinate system after the trial is completed, in meters. and These are the global coordinates of the robot's center when the probe is completed, in meters. It is the robot's heading angle when the test is completed, in radians. and These are the previously stored global coordinates of the contact points, in meters.

[0051] After coordinate transformation, straight line fitting and circular arc fitting are performed on the boundary point set. For straight line fitting, the optimal straight line parameters are calculated using the total least squares method to avoid the large error in fitting perpendicular lines by ordinary least squares. The fitted straight line equation is then obtained. Then, the root mean square of the perpendicular distance from all contact points to the straight line is calculated as the line fitting residual. The calculation method is as follows: ,in It is the root mean square residual of the straight line fit, in meters. It is the number of effective contact points in the boundary point set. It is the slope of the fitted line. It is the intercept of the fitted line.

[0052] The circular arc fitting method uses the least squares approach to calculate the optimal circle parameters and obtain the circle equation. Then, the root mean square of the difference between the distance from all contact points to the center of the circle and the radius of the arc is calculated as the arc fitting residual. The calculation method is as follows: ,in It is the root mean square residual of the circular arc fitting, in meters. It is the radius of the fitted arc, in meters. and These are the coordinates of the center of the circle obtained from the fitting in the local coordinate system, in meters.

[0053] Both fitting methods use the same residual threshold, which is 0.002 meters (2 millimeters) pre-calibrated through numerous collision experiments. When the average distance from the contact point to the fitted shape is less than 2 millimeters, the contact point is considered to match the fitted shape. After residual calculation, obstacle types are determined by priority. Straight boundaries are prioritized. When the residual of the straight-line fitting is less than the set threshold, the obstacle type is determined to be a straight boundary regardless of the size of the residual of the arc fitting, avoiding misfitting local segments of long straight lines as arcs and causing incorrect type determination. When the residual of the straight-line fitting is greater than or equal to the set threshold and the residual of the arc fitting is less than the set threshold, and the radius of the fitted arc is less than the radius of the cleaning robot's body (0.175 meters), the obstacle type is determined to be a columnar obstacle, corresponding to small columnar objects such as table legs and chair legs. When the residuals of both fitting methods are greater than or equal to the set threshold, the obstacle type is determined to be an irregular obstacle, corresponding to irregularly shaped objects such as the bottom support wires of furniture.

[0054] After determining the boundary to be a straight line, the edge-fitting direction is determined according to a three-level priority system. The first priority is to judge the cleaning status of the extension direction, retrieve the cleaned area markers from the local grid map, and take a line segment of one fuselage length in each of the two extension directions along the fitted straight line. The cleaning status of the grid covered by the line segment is checked, and directions pointing to cleaned areas are excluded, retaining only directions pointing to uncleaned areas. If only one direction pointing to uncleaned areas exists, it is directly selected as the edge-fitting direction. The second priority is to calculate the backtracking path length. If both directions point to uncleaned areas, the edge-fitting travel along the corresponding direction is calculated separately. After reaching the boundary endpoint, the robot returns to the original path point where the collision occurred. The total travel distance includes the travel distance along the edge and the travel distance to return to the original path. The direction with the shorter total travel distance is selected as the edge-following direction to reduce empty travel. The third priority is to select the minimum turning angle. If the difference in the total travel distance between the two directions is less than the length of the cleaning robot body, which is 0.35 meters, it means that the detour efficiency of the two directions is similar. The angle between the two edge-following directions and the robot's current heading is calculated respectively. The direction with the smaller angle is selected as the edge-following direction to reduce the turning motion and improve the cleaning smoothness.

[0055] After determining that it is a columnar obstacle, a bypass direction is selected. The collision signal status of both sides collected during the trial is retrieved. When the contact pressure of all collision modules on a certain side drops below 0.1 N and there is no new trigger signal for 100 milliseconds, it is determined that the collision signal on that side has disappeared, indicating that there is no obstacle blocking the way. The side where the collision signal disappeared first during the trial is selected as the bypass direction, and no additional turning trial is required.

[0056] After identifying an irregular obstacle, a detour direction is selected. The odometer trajectory information stored for the last 10 seconds and the cleaned markers on the local grid map are retrieved. The number of uncleaned grids within the robot's width coverage area on both sides of the obstacle is counted, multiplied by the area of ​​a single grid to obtain the area of ​​the uncleaned region on both sides. The side with the larger uncleaned area is selected as the detour direction to ensure that more uncleaned areas are covered after detour, reducing missed areas. For example, in a level 2 medium contact scenario, after trial and error, three valid contact points are collected. After converting to a local coordinate system and performing straight-line fitting, the residual is found to be 0.0015 meters, less than the 2 mm threshold, indicating a straight-line boundary. After checking the two extension directions, one direction points to the cleaned area and the other to the uncleaned area. The direction of the uncleaned area is directly selected as the edge-fitting direction, without needing to perform subsequent priority judgments.

[0057] For example, in a three-level collision scenario where a robot collides directly with a table leg, four valid contact points were collected after trial and error. The linear fitting residual was 0.008 meters, which is greater than the threshold, while the circular fitting residual was 0.0012 meters, which is less than the threshold. The radius of the fitted circular arc was 0.02 meters, which is much smaller than the robot's radius. Therefore, it was determined to be a columnar obstacle. During the trial and error, the collision signal disappeared first when the robot turned 3 degrees to the right. Therefore, the right side was selected as the bypass direction.

[0058] For example, in the scenario of colliding with the metal support at the bottom of a chair, the two fitting residuals are 0.006 meters and 0.005 meters, respectively, both of which are greater than the threshold. They are judged to be irregular obstacles. The area of ​​the uncleaned area on the left is 0.2 square meters and the area on the right is 0.5 square meters. The right side is selected as the detour direction.

[0059] The determined obstacle type and detour direction are directly transmitted to the subsequent obstacle avoidance control module. Straight boundaries correspond to pressure feedback edge-following cleaning mode, cylindrical obstacles correspond to circular detour, and irregular obstacles correspond to low-speed detour. All boundary points are synchronously updated to be marked as obstacle areas in the local grid map. Existing technologies have difficulty distinguishing obstacle types. Straight lines and cylindrical objects use the same detour logic, which can easily lead to ineffective circling along table legs or collisions with walls. This invention uses double fitting to prioritize the determination of straight boundaries, selects the optimal edge-following direction with three-level priority, determines the detour direction of cylindrical obstacles by combining the trial process signal, and selects the detour direction of irregular obstacles based on the un-cleaned area. The obstacle type determination accuracy reaches over 95%, the detour empty driving distance is reduced by 40%, and the missed scan rate is reduced by 30%. It achieves obstacle shape recognition effect close to that of LiDAR with low-cost hardware.

[0060] After determining the obstacle type and the possible detour direction, the graded obstacle avoidance action can be executed. Existing obstacle avoidance solutions typically use fixed deceleration time, fixed retreat distance, and fixed turning angle, which are difficult to adapt to scenarios with different collision levels. This can easily lead to insufficient retreat distance resulting in secondary collisions, or excessive retreat distance causing path deviation, insufficient turning angle causing scraping of obstacles, or excessive turning angle wasting cleaning time. This invention matches a smooth deceleration curve according to the collision level, dynamically adjusts the retreat distance according to the actual contact pressure, dynamically calculates the turning angle according to the obstacle normal, and corrects the angle in real time during the turning process to ensure the safety and efficiency of the obstacle avoidance action.

[0061] The deceleration process employs a five-fold S-curve to achieve smooth deceleration, avoiding wheel slippage, dust generation, or mechanical impact caused by linear or step deceleration. The deceleration curve ensures continuous acceleration without abrupt changes. Different collision levels correspond to different total deceleration durations: Level 1 (minor collision) has a total deceleration duration of 100 milliseconds, with a target speed of 30% of the pre-collision speed; after deceleration, stopping is not required, and the vehicle continues to travel at the target speed. Level 2 (moderate contact) has a total deceleration duration of 50 milliseconds, with a target speed of 0. Level 3 (frontal collision) has a total deceleration duration of 20 milliseconds, with a target speed of 0. The target speed at any given moment during deceleration is calculated using the following method:

[0062] in After deceleration begins The target speed of the drive wheels at any given time, in meters per second. This is the robot's speed before the collision, measured in meters per second. This is the target speed after deceleration, expressed in meters per second. This is the total deceleration duration for the corresponding level, in seconds. This is the duration of the deceleration process, measured in seconds, with a value ranging from 0 to... .

[0063] During deceleration, the drive motor current is controlled by PID closed-loop control, and the output torque of the left and right wheels is adjusted in real time to ensure that the actual wheel speed follows the target speed curve. When the difference between the actual wheel speed and the target speed is less than 0.01 meters per second, the deceleration is considered complete. After the second-level moderate contact and the third-level frontal collision deceleration are completed, the quantitative retreat stage is entered. After the first-level slight scuff deceleration is completed, the adaptive steering stage is directly entered.

[0064] During the quantitative retreat process, the retreat distance is dynamically calculated based on the contact pressure. A baseline of 1 cm retreat corresponds to 1 Newton of contact pressure. When the contact pressure is less than 1 Newton, the basic retreat distance is 1 cm. For every 1 Newton increase in contact pressure, the retreat distance increases by 1 cm. For level 3 frontal collisions, an additional 3 cm retreat distance is added to the pressure calculation to offset the inertial forward momentum of the frontal collision, ensuring the robot detaches from obstacle contact. The retreat distance calculation method is as follows:

[0065] in It is the distance the target has retreated, in meters. It is the weighted average contact pressure of the contact points calculated earlier, in Newtons. Multiplying by 0.01 converts the unit to meters to ensure dimensional consistency. The additional 0.03 meters for a level 3 collision corresponds to a 3-centimeter safe retreat.

[0066] During the reverse process, the drive wheels move backward at a uniform speed of 0.1 meters per second. The actual reverse distance is calculated in real time by the encoder. When the actual reverse distance reaches the target reverse distance, the reverse movement stops. During the reverse process, the signal of the rear collision module is continuously collected. If the rear collision module is triggered, it means that there is an obstacle behind. The reverse movement is stopped immediately and the turning phase is entered directly. It is not necessary to complete the preset reverse distance to avoid hitting objects behind during the reverse process.

[0067] After reversing, an adaptive steering maneuver is executed. The steering direction is the opposite of the obstacle's surface normal; that is, the robot turns left when the obstacle's normal is on its right and turns right when it is on its left. The initial steering angle is the angle between the obstacle's surface normal and the current heading plus 5 degrees. 5 degrees corresponds to a safety clearance of approximately 1.5 centimeters, ensuring sufficient safety distance between the robot and the obstacle after the turn to prevent scraping. During the turn, the drive wheels steer at a differential angular velocity of 0.5 radians per second. Signals from all collision modules are continuously collected during the turn to correct the steering angle in real time. If the collision module on the turning side is triggered during the turning process, it indicates that the current turning angle is insufficient and there is still a risk of collision. Increase the turning angle by 2 degrees based on the current target angle and continue turning. If the collision module on the non-turning side is triggered during the turning process, it indicates that the turning angle is too large and scrapes against the obstacle on the other side. Decrease the turning angle by 1 degree based on the current target angle and turn back. If the trigger signals of all collision modules disappear during the turning process and the contact pressure drops below 0.1 N and there are no new triggers for 100 milliseconds, it indicates that the robot has broken away from the obstacle contact. Stop turning immediately and do not need to complete the preset turning angle to avoid over-turning and causing path deviation.

[0068] For example, in a level 2 moderate contact scenario, the vehicle speed before the collision is 0.2 meters per second, the weighted average contact pressure is 1.5 Newtons, the obstacle normal angle is 44.9 degrees to the right, the deceleration process is a five-fold S-curve from 0.2 meters per second to 0 in 50 milliseconds, after deceleration the calculated backward distance is 1.5 centimeters, no rear collision is triggered during the backward movement, the backward movement stops after 1.5 centimeters, the turning direction is to the left, the initial target turning angle is 49.9 degrees, during the turning process, when the turning reaches 40 degrees, all collision module signals disappear and there is no trigger for 100 milliseconds, the turning stops immediately, the actual turning of 40 degrees does not reach the initial target angle, to avoid over-turning and deviation from the path.

[0069] For example, in a Level 3 frontal collision scenario, the vehicle speed before the collision is 0.2 meters per second, the weighted average contact pressure is 4 Newtons, the obstacle's normal direction is directly in front, and during the probing process, the right side is determined to be the passable direction. The deceleration process is to come to an abrupt stop at 0 with an S-curve in 20 milliseconds, the calculated backward distance is 7 centimeters, there is no rear collision during the backward process, after backing up 7 centimeters, the vehicle turns to the right with an initial target angle of 5 degrees. During the turning process, the right-side collision module is triggered, increasing the turning angle by 2 degrees to 7 degrees. After the turning is completed, there is no collision signal, and the turning stops.

[0070] For example, in a level one side collision scenario, the contact pressure is 0.8 Newtons, the obstacle's normal is 60 degrees to the left, the deceleration process is a 100-millisecond S-curve to 0.06 meters per second, no reverse is required, the initial right turn angle is 65 degrees, no new collision is triggered during the turn, and after turning to the target angle, it continues to drive along the edge.

[0071] If the vehicle retracts 1 cm after a level 2 collision, the rear collision module will be triggered, immediately stopping the retraction and directly entering the turning phase to avoid colliding with the rear wall.

[0072] Existing fixed-parameter obstacle avoidance actions have a secondary collision rate of over 25% and an average path deviation of over 10 cm. This invention uses an S-curve for smooth deceleration to avoid slippage and dust, dynamically matches the retreat distance based on contact pressure to ensure just enough to avoid collision without excessive retreat, and adaptive steering plus real-time angle correction to ensure a safe clearance while reducing ineffective steering. The secondary collision rate can be reduced to below 2%, and the average path deviation can be controlled within 3 cm. The obstacle avoidance action is smooth without the jerky feeling of sudden stops and turns.

[0073] After completing adaptive steering and determining that the obstacle type is a straight boundary, the pressure feedback edge cleaning process without additional ranging sensors can be entered. Existing edge cleaning solutions generally rely on additional sensors such as infrared and ultrasonic ranging to achieve distance detection, which not only increases hardware costs but is also easily affected by dark objects, transparent objects, or soft fabrics, resulting in distance detection errors. This can lead to missed cleaning due to excessive distance or scratching furniture due to excessive distance. This invention achieves edge distance control only through the contact pressure feedback of the independent side collision module, without requiring any additional ranging sensors, and is not affected by the material or color of the obstacle. The edge distance is stably controlled within the set range.

[0074] After adaptive steering is completed, initial heading calibration is performed first. After steering, the vehicle remains stationary for 100 milliseconds and continuously collects the contact pressure of the side collision module. If the initial pressure is not within the target range of 0.3 N to 1 N, a pre-adjustment is performed based on the pressure deviation. If the pressure is less than 0.3 N, the vehicle rotates a small angle towards the obstacle; if the pressure is greater than 1 N, the vehicle rotates a small angle away from the obstacle. The vehicle continues to rotate until the lateral pressure enters the target range before starting edge driving, thus avoiding continuous deviation during edge driving caused by the initial heading deviation.

[0075] The driving speed along the edge is fixed at 0.15 meters per second. During the driving process, the contact pressure of the side collision module is collected at a frequency of 100Hz. To avoid frequent adjustments due to ground bumps or sensor noise, a sliding window averaging filter is applied to the collected pressure values. The window size is 10 sampling points corresponding to a duration of 100 milliseconds. The window slides in real time during the sampling process. The average pressure is calculated as follows: ,in It is the sliding average value of the lateral contact pressure, in Newtons. It is the first one in the window The lateral instantaneous contact pressure obtained from the second sampling is in Newtons. All heading adjustments are based on the average pressure and are not triggered directly by the instantaneous pressure value. During heading adjustment, the turning angular velocity is limited to 0.1 radians per second, with each adjustment angle being 1 degree. The adjustment process is smooth and shock-free, avoiding sudden large-angle turns that could cause a serpentine path along the edge. When the average lateral contact pressure is less than 0.3 Newtons, it indicates that the cleaning robot is too far from the boundary. The robot is then controlled to rotate 1 degree closer to the obstacle. After adjustment, the robot maintains a straight course for 100 milliseconds before re-collecting the pressure. When the average lateral contact pressure is greater than 1 Newton, it indicates that the cleaning robot is too close to the boundary and the bumper compression is too large. The robot is then controlled to rotate 1 degree further away from the obstacle. After adjustment, the robot maintains a straight course for 100 milliseconds before re-collecting the pressure. When the average lateral contact pressure is between 0.3 Newtons and 1 Newton, the robot maintains a straight course without adjustment. Through continuous small-angle closed-loop adjustments, the lateral contact pressure is kept within the target range, corresponding to a stable distance between the cleaning robot and the obstacle between 0 and 1 centimeter. This prevents the robot from being too far away and missing areas along walls, or from being too pressured and scratching furniture surfaces.

[0076] During edge-traveling, the robot accumulates the edge-traveling distance in real time through the drive wheel encoder, while continuously collecting data on lateral contact points to update the straight-line fitting results. The total length of the contact point distribution on the fitted straight line is recorded as the boundary length. Edge-traveling cleaning is considered complete if one of two conditions is met. The first condition is that the lateral contact pressure disappears for more than 2 seconds, that is, the average lateral contact pressure is less than 0.1 N for 2 consecutive seconds, indicating that the cleaning robot has traveled to the endpoint of the straight-line boundary, such as a wall corner or furniture edge, and there are no continuous obstacles on the side. The second condition is that the accumulated edge-traveling distance reaches the fitted boundary length, indicating that the cleaning robot has completely traversed the detected straight-line boundary. If either of the two conditions is met, edge-traveling cleaning is considered complete.

[0077] An exception handling logic is added during edge-following. If the forward collision module is triggered, it indicates the presence of an obstacle perpendicular to the current boundary. The robot immediately exits edge-following mode and re-executes the collision detection and obstacle avoidance process. If the lateral average contact pressure suddenly exceeds 3 N, it indicates the robot is stuck in an obstacle gap. The robot is immediately controlled to move backward 1 cm, rotate 2 degrees away from the obstacle, and then continue edge-following. For example, in a wall-following scenario, after adaptive steering, the initial lateral pressure is 0.2 N. After rotating 1 degree towards the wall, the pressure becomes 0.4 N, entering the target range, and edge-following begins. During the journey, when passing through a gap in the floor tiles, the instantaneous pressure reaches 1.2 N, but the sliding average pressure is still within the target range at 0.8 N, so no heading adjustment is triggered. When the robot reaches the corner of the wall, the lateral pressure drops to 0.05 N and remains there for 2 seconds without rising. The edge-following is then determined to be complete, and the robot exits edge-following mode. For example, in the scenario of furniture side edge bonding, the fitted boundary length is 1.2 meters. When the cumulative distance traveled along the edge reaches 1.2 meters, there is still contact pressure on the side, but the detected boundary segment has been completed, and the edge bonding is also determined to be completed.

[0078] Existing edge-following solutions that rely on ranging sensors have high hardware costs and are easily affected by the surface characteristics of obstacles. The edge-following distance error is usually between 1 and 2 centimeters. This invention achieves closed-loop control purely through lateral pressure feedback, without the need for additional ranging hardware. It is not affected by the material, color, or transparency of obstacles, and the edge-following distance is stably controlled between 0 and 1 centimeter. The missed scan rate along walls is reduced by more than 60%, the edge path is smooth without serpentine wobbling, and the probability of scraping furniture during long-term operation is greatly reduced.

[0079] After the edge cleaning is completed, the process of cleaning missed areas and connecting the cleaning path can begin. Existing collision avoidance solutions continue along the obstacle avoidance path after bypassing the obstacle. The area between the obstacle and the original cleaning path becomes a cleaning blind spot. At the same time, the obstacle position is not updated in the local grid map. When cleaning passes through this area, collisions will occur repeatedly. This invention accurately calculates the missed areas by tracing back the trajectory before the collision, performs bow-shaped cleaning to cover the blind spots, updates the grid map to mark the obstacle position, and finally smoothly connects to the original cleaning path. This solves the problem of missed cleaning around obstacles along the wall and avoids repeated collisions in the future.

[0080] First, the odometry trajectory information stored within 5 seconds before the collision is retrieved, and all trajectory points from 5 seconds before the collision to the moment of collision are extracted. A straight line fit is performed on this trajectory segment to obtain the straight line equation of the original cleaning path. The robot's normal bow-shaped cleaning path within 5 seconds is approximately a straight line, and the equation form is consistent with the straight line equation of the previous boundary fitting. Combined with the straight line obstacle boundary equation obtained during the edge-fitting process, since the robot's heading is parallel to the boundary after edge-fitting, the original cleaning path and the obstacle boundary are parallel straight lines. The vertical distance between the two parallel straight lines is calculated as the width of the supplementary cleaning area. Taking the trajectory point 5 seconds before the collision and the collision point as the two endpoints, the endpoints are vertically projected onto the obstacle boundary to obtain two corresponding projection points on the boundary. The rectangular area enclosed by the four points is the supplementary cleaning area between the obstacle and the original cleaning path that has not been cleaned. The calculation of the vertical distance from the point to the line follows the previous distance formula to ensure dimensional consistency.

[0081] After the cleaning area is determined, the robot is first controlled to move to the side corner of the original path away from the collision point. During the movement, an arc transition path is used to avoid sharp turns in place. After reaching the starting point, the robot performs a bow-shaped cleaning path at 50% of the normal cleaning speed. The row spacing of the bow-shaped path is consistent with the normal cleaning row spacing, that is, the same as the effective cleaning width of the roller brush. The bow-shaped path extends along the length of the cleaning area. After each length of the path, the robot moves laterally by one row spacing and moves in the opposite direction to the next stroke until the entire rectangular cleaning area is covered. The number of bow-shaped passes is the width of the cleaning area divided by the row spacing and rounded up to ensure that the cleaning area is covered without dead corners. During the cleaning process, the robot continuously collects signals from the independent collision module. If a new collision occurs, an obstacle avoidance action is temporarily performed. After obstacle avoidance is completed, the robot returns to the cleaning path to continue cleaning the remaining area.

[0082] After the supplementary cleaning is completed, the fitted obstacle boundary will be expanded by a safe distance along the normal direction to one side of the obstacle. The expanded area will be updated in the local grid map, and the corresponding position will be marked as the obstacle area. In subsequent global cleaning path planning, the marked obstacle area will be automatically avoided, and the driving path will not be planned to the obstacle position to avoid repeated collisions.

[0083] After the map is updated, control the robot to move towards the connection point. The connection point is the original path point 10 centimeters ahead of the collision point along the original cleaning path. The driving path uses a continuous curvature arc transition to ensure that the robot's heading when it reaches the connection point is consistent with the original cleaning path direction, without turning in place or path jerking. After reaching the connection point, switch back to normal cleaning speed and continue to perform the global cleaning task along the original cleaning path.

[0084] For example, the robot along The obstacle is swept in a straight line at a speed of 0.2 m / s along the positive axis. The collision point is located at (2,0). The fitted obstacle boundary line is parallel to the line. The axis is 0.1 meters perpendicular to the original path. Five seconds before the collision, the robot's position coordinates are (1,0). The calculated re-sweeping area is... From 1 to A rectangle ranging from 0 to 0.1, with a normal sweeping row spacing of 0.1 meters, is planned to have a single-pass bow-shaped path starting from position (1, 0.05) along... Traveling in the positive direction to (2, 0.05) will cover the entire area. The rescanning speed is 0.1 meters per second. After rescanning, the boundary will expand 0.02 meters towards the obstacle side for safety, and then be marked. Areas with a value greater than 0.12 are considered obstacle areas. The robot is then guided to travel along an arc path from the end point of the cleaning process to position (2.1,0). Upon arrival, its heading follows the... With the axis aligned in the positive direction, switch back to the normal speed of 0.2 meters per second and continue cleaning along the original path.

[0085] If the perpendicular distance between the obstacle and the original path is 0.3 meters, calculations show that 3 bow-shaped paths are needed to cover the entire rectangular area, sequentially along... The axis moves in both directions to complete the coverage.

[0086] Existing obstacle avoidance solutions have an average missed area of ​​over 0.1 square meters after bypassing obstacles, and the rate of repeated collisions at the same location exceeds 40%. This invention accurately calculates the rectangular supplementary cleaning area through trajectory backtracking, and the bow-shaped path fully covers the blind spot, reducing the missed cleaning rate by 90%. After the grid map is updated, the rate of repeated collisions at the same location is reduced to below 5%, the path is smoothly connected without driving jerks, and the overall cleaning coverage is significantly improved.

[0087] Please see Figure 2 As shown, the second objective of this invention is to provide a system for implementing a trajectory obstacle avoidance control method for a cleaning robot based on multi-collision detection, including a multi-source sensing and acquisition unit, a collision state calculation unit, an obstacle boundary recognition unit, a hierarchical obstacle avoidance control unit, an edge-following cleaning control unit, and a supplementary cleaning and trajectory correction unit. The multi-source sensing and acquisition unit includes multiple independent collision modules, a drive wheel encoder, a motor current acquisition submodule, and a trajectory storage submodule arranged along the front of the cleaning robot.

[0088] The foregoing has shown and described the basic principles, main features, and advantages of the present invention. Those skilled in the art should understand that the present invention is not limited to the above embodiments. The embodiments and descriptions in the specification are merely preferred examples and are not intended to limit the invention. Various changes and modifications can be made to the invention without departing from its spirit and scope, and all such changes and modifications fall within the scope of the present invention as claimed. The scope of protection of the present invention is defined by the appended claims and their equivalents.

Claims

1. A trajectory obstacle avoidance control method for cleaning robots based on multi-collision detection, characterized in that: Includes the following steps: S1. During the movement of the cleaning robot, the collision triggering state and contact pressure are collected by multiple independent collision modules arranged on the bumper. The independent collision modules include a front collision module and a side collision module. The left and right wheel speeds are collected by the drive wheel encoder, the working current of the left and right drive motors is collected synchronously, and the odometer trajectory information containing position coordinates, heading angle and driving speed is stored. S2. When any collision module is triggered, the trigger sequence is obtained based on the time sequence of the collision trigger states of each collision module. The wheel speed difference is calculated by combining the left and right wheel speeds. The load change is obtained by combining the difference between the driving motor operating current and the reference current. The position of the obstacle contact point and the surface normal are calculated by integrating the trigger sequence, contact pressure, wheel speed difference and load change. The collision is classified based on the contact pressure and the wheel speed decrease, and the collision level is obtained. The wheel speed decrease is the ratio of the wheel speed decrease at the moment of collision to the average wheel speed in the 100ms before the collision. S3. Perform corresponding probing actions according to the collision level, collect the contact point coordinates and odometer trajectory information during the probing process, determine the obstacle type by least squares fitting, and determine the detour direction. S4. Generate gradient control commands based on collision level and obstacle type, and execute graded deceleration, quantitative backward movement and adaptive steering in sequence. When the obstacle type is determined to be a straight boundary, adjust the cleaning robot's course in real time based on the contact pressure of the side collision module, and perform edge cleaning without relying on additional ranging sensor detection data. S5. After the edge cleaning is completed, the odometer trajectory information stored before the collision and the obstacle boundary position obtained during the edge cleaning process are combined to calculate the uncleaned area blocked by the obstacle. Local bow-shaped supplementary cleaning is performed. After the supplementary cleaning is completed, the obstacle boundary is updated to the local grid map to correct the subsequent cleaning trajectory of the cleaning robot. Finally, it returns to the original cleaning path before the collision to continue the operation.

2. The trajectory obstacle avoidance control method for cleaning robots based on multi-collision detection according to claim 1, characterized in that: A unified timestamp is marked for the collision triggering state of each independent collision module. All triggered collision modules are arranged in the order of the unified timestamps to obtain the triggering sequence of collisions in each direction when a collision occurs. The real-time wheel speeds of the left and right drive wheels are collected synchronously at the moment of collision triggering, and the difference between the wheel speeds of the left and right drive wheels is calculated to obtain the wheel speed difference. At the same time, the real-time operating current of the left and right drive motors is collected at the moment of collision triggering. The real-time operating current of each motor is compared with the corresponding motor reference current when the cleaning robot is driving normally to obtain the current change of each motor as the load change of the corresponding side drive wheel.

3. The trajectory obstacle avoidance control method for cleaning robots based on multi-collision detection according to claim 2, characterized in that: The initial collision orientation is determined by identifying the first collision module triggered based on the triggering sequence. A weighted calculation is then performed based on the contact pressure of all triggered collision modules to obtain the orientation of the obstacle contact point relative to the center of the cleaning robot. Simultaneously, based on a pre-calibrated relationship between the bumper's compression after a collision and the contact pressure, the bumper compression is obtained from the collected contact pressure, and the distance from the contact point to the center of the cleaning robot is calculated, completing the contact point position calculation. Then, the deflection trend of the cleaning robot during collision is obtained by combining the wheel speed difference. When the left wheel speed is greater than the right wheel speed, the robot tends to deflect to the right, and vice versa. Combining the triggering time difference of different collision modules in the triggering sequence, the contact angle is corrected using the pre-set arc radius of the bumper, ultimately obtaining the normal direction of the obstacle surface relative to the cleaning robot.

4. The trajectory obstacle avoidance control method for cleaning robots based on multi-collision detection according to claim 3, characterized in that: The grading criteria are based on the contact pressure and the rate of wheel speed reduction, combined with the location of the contact point. When the contact pressure is less than 1 N and the wheel speed decreases by less than 20%, and the contact point is located on the side of the cleaning robot, it is judged as a level one minor collision. When the contact pressure is 1 to 3 Newtons and the wheel speed decreases by 20% to 60%, and the contact point is located in front of the cleaning robot, it is judged as a level 2 medium contact. When the contact pressure is greater than or equal to 3 Newtons and the wheel speed decreases by greater than or equal to 60%, and the contact point is located directly in front of the cleaning robot, it is judged as a level three frontal collision. For collisions in other directions, the severity level should be determined according to the contact pressure and the degree of wheel speed reduction, referring to the above standards.

5. The trajectory obstacle avoidance control method for cleaning robots based on multi-collision detection according to claim 4, characterized in that: When the collision is determined to be a minor scratch, the robot will not reverse. Instead, it will reduce the speed of the cleaning robot to 30% of its original speed and continue to travel 5 centimeters while maintaining its current course. During the travel, the trigger status and contact pressure of all collision modules will be continuously collected. When the level is determined to be moderate contact, the cleaning robot is controlled to rotate 5 degrees in the opposite direction of the obstacle's normal direction, and at the same time move backward 2 centimeters. The rotation and backward movements are executed synchronously. During the rotation and backward movement, the trigger status of the collision module, the contact pressure, and the odometer trajectory information are continuously collected. When a level 3 frontal collision is determined, the cleaning robot is controlled to reverse 5 centimeters in the opposite direction of the current heading. After reversing, it first rotates 3 degrees to the left and then 3 degrees to the right. After the rotation is completed, it returns to the heading after reversing. During the rotation, the trigger status of all collision modules is continuously collected. The location information of all contact points is recorded throughout the entire probing process. The probing action is independent of the subsequent obstacle avoidance control action and is used to determine the type of obstacle.

6. The trajectory obstacle avoidance control method for cleaning robots based on multi-collision detection according to claim 5, characterized in that: The coordinates of all contact points collected during the trial process are transformed into the current local coordinate system of the cleaning robot to form a set of boundary points. Straight line fitting and circular arc fitting are performed on the set of boundary points respectively, and the fitting residuals of the two fitting methods are calculated. The fitting residual threshold is obtained in advance through experimental calibration. The same threshold is used for straight line fitting and circular arc fitting. When the residual of the straight-line fitting is less than the set fitting residual threshold, the obstacle type is determined to be a straight-line boundary, and the edge-fitting direction is determined according to the following priority: ① First priority: Select the direction of extension towards the uncleaned area, and exclude the direction towards the cleaned area; ②Second priority: If both directions point to the uncleaned area, calculate the travel distance required to return to the original cleaning path after following the edge to the boundary endpoint in both directions, and select the direction with the shorter travel distance; ③ Third priority: If the difference in travel distance is less than the length of the cleaning robot, select the direction with the angle between the robot's current heading and the preset ratio to reduce the turning motion. When the residual of the arc fitting is less than the set fitting residual threshold and the radius of the arc is less than the diameter of the cleaning robot body, the obstacle type is determined to be a columnar obstacle. The side where the collision signal disappears first during the trial is selected as the bypass direction. The disappearance of the collision signal indicates that there is no obstacle blocking that side. When the fitting residuals are all greater than the set fitting residual threshold, the obstacle type is determined to be an irregular obstacle. The area of ​​the uncleaned area on both sides is calculated by combining the stored odometer trajectory information, and the side with the larger uncleaned area is selected as the detour direction.

7. The trajectory obstacle avoidance control method for cleaning robots based on multi-collision detection according to claim 6, characterized in that: Perform the corresponding deceleration action based on the collision level: In the case of a minor collision (Level 1), the speed is reduced to 30% of the original speed within 100 milliseconds; in the case of a moderate contact (Level 2), the speed is reduced to zero within 50 milliseconds; and in the case of a frontal collision (Level 3), emergency braking is performed to reduce the speed to zero within 20 milliseconds. After deceleration is complete, perform a fixed amount of reverse movement based on the collision level: Based on a contact pressure of 1 Newton corresponding to a retraction of 1 cm, the basic retraction distance is 1 cm when the contact pressure is less than 1 Newton. For every 1 Newton increase in contact pressure, the retraction distance increases by 1 cm. After retraction is completed, adaptive steering is executed. The turning direction is the opposite of the obstacle's normal, and the turning angle is the angle between the obstacle's surface normal and the current heading plus 5 degrees, so that a safe gap is reserved between the cleaning robot body and the obstacle after turning. The collision module status is monitored in real time during the turning process, and the turning angle is corrected in real time when a new collision occurs.

8. The trajectory obstacle avoidance control method for cleaning robots based on multi-collision detection according to claim 7, characterized in that: After determining the boundary to be a straight line and completing adaptive steering, the cleaning robot's heading is perpendicular to the obstacle's normal, i.e., parallel to the straight boundary. It travels along the boundary at a brush-to-edge cleaning speed of 0.15 meters per second. During the journey, the lateral contact pressure of the cleaning robot's side collision module is continuously collected. When the lateral contact pressure is less than 0.3 N, the robot rotates 1 degree towards the side closer to the obstacle, reducing the distance between the cleaning robot and the straight boundary. When the lateral contact pressure is greater than 1 N, the robot rotates 1 degree away from the obstacle, increasing the distance between the cleaning robot and the straight boundary. Through the above adjustments, the lateral contact pressure is kept within the range of 0.3 N to 1 N, achieving edge cleaning along the obstacle boundary. When the lateral contact pressure of the lateral collision module disappears for more than 2 seconds, or when the distance traveled by the cleaning robot along the straight boundary reaches the length between the two ends of the boundary recorded during the edge cleaning process, the edge cleaning is determined to be completed.

9. The trajectory obstacle avoidance control method for a cleaning robot based on multi-collision detection according to claim 8, characterized in that: After the edge cleaning is completed, the odometer trajectory information stored in the 5 seconds before the collision occurs is retrieved, and combined with the obstacle boundary position obtained by edge cleaning, the rectangular area between the original cleaning path of the cleaning robot and the boundary of the straight obstacle is calculated as the cleaning area. Control the cleaning robot to travel to the starting position of the supplementary cleaning area, and perform bow-shaped cleaning at 50% of the normal cleaning speed. The row spacing of the bow-shaped path is consistent with the normal cleaning row spacing to fully cover the supplementary cleaning area. After the supplementary cleaning is completed, update the obstacle boundary to the local grid map, mark the corresponding position as the obstacle area, and correct the subsequent global cleaning path to avoid the obstacle. Finally, control the cleaning robot to travel to the path point 10 centimeters ahead of the collision point along the original cleaning path, and continue to perform the global cleaning task by connecting the original cleaning path.

10. A system for implementing the multi-collision detection-based trajectory obstacle avoidance control method for a cleaning robot as described in any one of claims 1-9, characterized in that, It includes a multi-source sensing and acquisition unit, a collision state calculation unit, an obstacle boundary recognition unit, a hierarchical obstacle avoidance control unit, an edge cleaning control unit, and a supplementary cleaning and trajectory correction unit. The multi-source sensing and acquisition unit includes multiple independent collision modules, drive wheel encoders, motor current acquisition sub-modules, and trajectory storage sub-modules arranged along the front of the cleaning robot.