Obstacle crossing control method for curtain wall cleaning robot and related equipment
By acquiring obstacle distance information and adaptively adjusting the step size of the casters, the problems of body tilting and poor cleaning effect during obstacle crossing of the curtain wall cleaning robot were solved, realizing the synchronous execution of obstacle crossing and cleaning actions, and improving cleaning efficiency and effect.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-11
- Publication Date
- 2026-03-24
AI Technical Summary
Existing curtain wall cleaning robots suffer from poor cleaning results due to body tilting during obstacle crossing, are unable to perform obstacle crossing and cleaning actions simultaneously, and cannot actively adapt to obstacles of different shapes.
By acquiring distance information between the robot and obstacles, determining blind spots and controlling obstacle-crossing actions, and adaptively adjusting the step size and trajectory of the wheels, the robot can achieve synchronous execution of obstacle-crossing and cleaning actions, adapting to obstacles of different shapes.
It improves cleaning efficiency and effectiveness, ensures that the cleaning device is in close contact with the curtain wall, protects the curtain wall decoration from impact, shortens the operation cycle, and enhances the obstacle-crossing ability and intelligence level of the curtain wall cleaning robot.
Smart Images

Figure CN121286957B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of curtain wall cleaning robot technology, and more specifically, to a method and related equipment for controlling obstacle crossing of a curtain wall cleaning robot. Background Technology
[0002] To improve the cleaning efficiency of curtain wall surfaces, reduce operational difficulty and costs, and enhance operational safety, curtain wall cleaning robots, especially wheeled robots, are widely used. These robots (e.g., quadruped robots) are equipped with wheels on both sides and a cleaning device. During cleaning operations, the robot moves vertically across the curtain wall surface, cleaning it using the cleaning device. However, due to structures such as window frames, the curtain wall surface is uneven, often requiring the robot to have obstacle-crossing capabilities. During obstacle crossing, when a wheel lifts, the robot may lose support at a certain point, causing a significant tilt. This tilt often prevents the cleaning device from effectively cleaning the curtain wall, resulting in poor cleaning results. To address this issue, existing curtain wall cleaning robots use control logic that executes the cleaning action only after the robot has completed obstacle crossing and stabilized. This step-by-step control method cannot achieve simultaneous execution of obstacle crossing and cleaning actions, resulting in a significant waste of time waiting for obstacle crossing to complete, undoubtedly reducing cleaning efficiency and extending the operation cycle.
[0003] In addition, existing obstacle-crossing control for robots generally employs two types of logic:
[0004] 1. When an obstacle is detected, it can overcome the obstacle by actively bypassing it; however, this method does not consider crossing obstacles. When the curtain wall cleaning robot performs cleaning operations, it can only move in a straight line in the vertical direction and does not have the ability to bypass obstacles, so it is not suitable for curtain wall cleaning scenarios.
[0005] 2. The robot senses whether it is obstructed by obstacles through force feedback at the feet. When it is determined that an obstacle has been encountered, the robot is controlled to perform an obstacle-crossing action to cross the obstacle. However, this force feedback method is a passive control and cannot actively change the obstacle-crossing action (i.e., the movement trajectory curve of the feet) for obstacles of different shapes. In addition, the feet have a large impact on the curtain wall decoration structure and are easy to cause damage.
[0006] There is currently no effective technical solution to the above problems. Summary of the Invention
[0007] The purpose of this invention is to provide a method and related equipment for controlling obstacle crossing of a curtain wall cleaning robot. This invention aims to solve the problems of existing curtain wall cleaning robots, such as poor cleaning effect due to body tilting during obstacle crossing, inability to synchronize obstacle crossing and cleaning actions, and inability to actively cross obstacles and adaptively adjust foot placement to ensure robot stability and cleaning effect. The invention achieves synchronized execution of obstacle crossing and cleaning actions, ensuring robot stability and ensuring accurate application of the cleaning device to the curtain wall, significantly improving cleaning efficiency and effect. Furthermore, even after visual recognition of obstacles has ceased, the robot can actively adjust its obstacle crossing actions based on previously acquired information, adapting to crossing obstacles of various shapes.
[0008] In a first aspect, the present invention provides an obstacle-crossing control method for a curtain wall cleaning robot, which is applied to the control system of the curtain wall cleaning robot. The curtain wall cleaning robot is equipped with casters on both the left and right sides and a cleaning device.
[0009] The obstacle-crossing control method for curtain wall cleaning robots includes the following steps:
[0010] S1. When an obstacle is detected, obtain the distance information between the robot and the obstacle;
[0011] S2. Based on the distance information, determine the distance of the visual blind zone, and based on the distance of the visual blind zone, determine whether the obstacle has entered the robot's visual blind zone. When it is determined that the obstacle has entered the robot's visual blind zone, control the robot to perform an obstacle-crossing action.
[0012] S3. When the robot performs obstacle crossing action, calculate the timing judgment threshold, and determine the current gait cycle of each wheel according to the timing judgment threshold. Actively control the corresponding wheel to perform the swing arm phase action or the support phase action according to the current gait cycle. During the obstacle crossing action, the step amount of the wheel performing the swing arm phase action is adaptively adjusted according to the robot's body tilt angle.
[0013] The obstacle-crossing control method for curtain wall cleaning robots provided by this invention can adaptively adjust the step size of the casters performing the swing arm phase movement based on the robot's body tilt angle when performing obstacle-crossing actions. This ensures the stability of the robot body during obstacle crossing and enables the synchronous execution of obstacle-crossing and cleaning actions. This synchronous execution method significantly improves the efficiency of cleaning operations, shortens the operation cycle, and ensures cleaning quality. Furthermore, even after visual recognition of obstacles has ceased, the robot can proactively adjust its obstacle-crossing actions based on previously acquired information, adapting to traversing obstacles of various shapes.
[0014] Furthermore, the specific steps in step S1 include:
[0015] S11. Acquire point cloud data of obstacles;
[0016] S12. Obtain the top surface of the obstacle through plane fitting based on point cloud data;
[0017] S13. Calculate the vertical projection distance between the top surface of the obstacle and the robot on the curtain wall surface in the vertical direction;
[0018] S14. Based on the point cloud data, calculate the normal vector of the point cloud data along the robot's forward direction;
[0019] S15. Determine the corner points of the obstacle based on the normal vector;
[0020] S16. Calculate the horizontal projection distance between the corner point of the obstacle and the robot on the horizontal direction of the curtain wall surface;
[0021] S17. Use the vertical projection distance and the horizontal projection distance as distance information.
[0022] Furthermore, in step S2, when it is determined that an obstacle has entered the robot's visual blind spot, the specific steps for controlling the robot to perform an obstacle-crossing action include:
[0023] S21. Calculate the initial position for obstacle crossing based on the horizontal projection distance;
[0024] S22. Obtain the wheel rolling position and compare it with the initial obstacle crossing position. When the wheel rolling position exceeds the initial obstacle crossing position, control the robot to perform the obstacle crossing action.
[0025] Furthermore, the timing threshold is determined based on the following steps:
[0026] A1. Based on the top surface of the obstacle obtained by plane fitting, obtain the length of the top surface of the obstacle, and calculate the ending position of the obstacle after passing the obstacle based on the length of the top surface of the obstacle;
[0027] A2. Calculate the starting position of the obstacle before it is cleared, based on the ending position of the obstacle after it is cleared.
[0028] A3. Calculate the timing threshold based on the initial position of the obstacle before overcoming it.
[0029] Furthermore, the specific steps in step S3 include:
[0030] S31. Determine the current gait cycle of each foot wheel based on the timing threshold;
[0031] S32. The wheel in the swing arm phase is designated as the swing arm wheel, and the wheel in the support phase is designated as the support wheel;
[0032] S33. For the swing arm caster wheel, perform the following steps B1-B4:
[0033] B1. Calculate the lifting amount of the foot end of the swing arm caster based on the vertical projection distance;
[0034] B2. Obtain the starting position and landing position of the foot, and calculate the stride length based on the starting position and landing position of the foot;
[0035] B3. Calculate the lifting trajectory curve based on the lifting amount and step size;
[0036] B4. Based on the lifting motion trajectory curve, actively control the swing arm and caster wheel to perform the swing arm phase action so that the caster wheel is lifted.
[0037] Furthermore, the specific steps in step S3 include:
[0038] S33. For the swing arm caster wheel, perform the following steps B5-B8:
[0039] B5. Obtain the robot's body tilt angle, and calculate the amount of tilt on one side of the robot after the swing arm and caster wheels are lifted based on the body tilt angle;
[0040] B6. Calculate the step size based on the unilateral inclination.
[0041] B7. Calculate the descent trajectory curve based on the step height, elevation, and stride.
[0042] B8. Based on the downward motion trajectory curve, actively control the swing arm and caster wheel to perform the swing arm phase action so that the caster wheel is lowered.
[0043] Furthermore, in step B5, the step of calculating the unilateral tilt of the robot after the swing arm and caster wheels are raised, based on the body tilt angle, includes:
[0044] B51. Obtain the standing height of all support casters adjacent to the swing arm caster;
[0045] B52. Based on the body tilt angle and the standing height of each support caster, calculate the unilateral tilt of each support caster adjacent to the swing arm caster after the swing arm caster is raised.
[0046] Secondly, the present invention provides an obstacle-crossing control device for a curtain wall cleaning robot, which is applied to the control system of the curtain wall cleaning robot. The curtain wall cleaning robot is equipped with casters on both the left and right sides, and the curtain wall cleaning robot is equipped with a cleaning device.
[0047] The obstacle-crossing control device for the curtain wall cleaning robot includes:
[0048] The identification and acquisition module is used to acquire distance information between the robot and the obstacle when an obstacle is detected;
[0049] The control module is used to determine the distance of the visual blind zone based on the distance information, and to determine whether an obstacle has entered the robot's visual blind zone based on the distance of the visual blind zone. When it is determined that an obstacle has entered the robot's visual blind zone, the module controls the robot to perform an obstacle-crossing action.
[0050] The obstacle-crossing module is used to calculate the timing judgment threshold when the robot performs obstacle-crossing actions, and to determine the current gait cycle of each wheel based on the timing judgment threshold. Based on the current gait cycle, it actively controls the corresponding wheel to perform the swing arm phase action or the support phase action. During the obstacle-crossing action, it adaptively adjusts the step amount of the wheel performing the swing arm phase action according to the robot's body tilt angle.
[0051] The obstacle-crossing control device for the curtain wall cleaning robot provided by this invention can effectively ensure the stability of the robot body during obstacle crossing by adaptively adjusting the step amount, ensuring that the cleaning device can always act accurately on the curtain wall, especially ensuring that the roller brush and squeegee are in close contact with the curtain wall to achieve the best cleaning effect.
[0052] Thirdly, the present invention provides an electronic device including a processor and a memory, the memory storing computer-readable instructions, which, when executed by the processor, perform the steps of the obstacle-crossing control method for the curtain wall cleaning robot provided in the first aspect above.
[0053] Fourthly, the present invention provides a computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, performs the steps of the obstacle-crossing control method for the curtain wall cleaning robot provided in the first aspect above.
[0054] As can be seen from the above, the obstacle-crossing control method for curtain wall cleaning robots provided by this invention effectively solves the problem in the prior art where the robot tilts during obstacle-crossing, causing the cleaning device to fail to effectively clean the curtain wall. This is achieved by adaptively adjusting the step amount of the caster wheel that performs the swing arm phase action according to the robot's body tilt angle during the obstacle-crossing action. This method realizes the synchronous execution of obstacle-crossing and cleaning actions, avoiding the significant time wasted waiting for obstacle-crossing completion in traditional step-by-step control methods, and significantly improving cleaning efficiency. By adaptively adjusting the step amount, the stability of the robot body is ensured during obstacle-crossing, thereby ensuring that the cleaning devices (such as roller brushes, spray strips, and squeegees) can accurately act on the curtain wall, especially ensuring that the roller brushes and squeegees are in close contact with the curtain wall, thus achieving the best cleaning effect. Compared with the prior art, this application not only overcomes the impact of robot tilt on the cleaning effect and protects the curtain wall decoration from impact, but also fundamentally improves work efficiency and shortens the work cycle, demonstrating significant technological progress and practical value.
[0055] Meanwhile, this application also solves the problem that the obstacle-crossing control of robots in the prior art is passive control and cannot actively change the obstacle-crossing action for obstacles of different shapes. After an obstacle enters the robot's visual blind spot, although the robot is no longer visually aware of the obstacle, it can actively change the obstacle-crossing action (i.e., the movement trajectory curve of the foot) based on the relevant information obtained in the previous steps. This enables automatic adjustment of the foot landing point, thereby adapting to crossing obstacles of various shapes. It achieves active obstacle crossing and adaptive adjustment of the foot landing point during obstacle crossing, ensuring the stability of the robot and the cleaning effect.
[0056] In summary, this application significantly improves the obstacle-crossing ability, cleaning efficiency, and cleaning effect of the curtain wall cleaning robot through active perception, intelligent judgment, and adaptive control, overcoming many technical challenges in the prior art.
[0057] Other features and advantages of the invention will be set forth in the following description, and will be apparent in part from the description, or may be learned by practicing embodiments of the invention. The objects and other advantages of the invention may be realized and obtained by means of the structures particularly pointed out in the written description and the accompanying drawings. Attached Figure Description
[0058] Figure 1 This is a flowchart of an obstacle-crossing control method for a curtain wall cleaning robot provided in an embodiment of the present invention.
[0059] Figure 2 This is a schematic diagram of a curtain wall cleaning robot obstacle crossing control device provided in an embodiment of the present invention.
[0060] Figure 3 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present invention.
[0061] Label Explanation:
[0062] 100. Identification and Acquisition Module; 200. Control Module; 300. Obstacle Crossing Module; 13. Electronic Equipment; 1301. Processor; 1302. Memory; 1303. Communication Bus. Detailed Implementation
[0063] 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. The components of the embodiments of the present invention described and shown in the accompanying drawings can generally be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of the present invention provided in the accompanying drawings is not intended to limit the scope of the claimed invention, but merely to illustrate selected embodiments of the invention. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without inventive effort are within the scope of protection of the present invention.
[0064] It should be noted that similar reference numerals and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures. Furthermore, in the description of this invention, terms such as "first," "second," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.
[0065] Please refer to Figure 1 , Figure 1 This is a flowchart of an obstacle-crossing control method for a curtain wall cleaning robot. This method is applied to the control system of the curtain wall cleaning robot, which is equipped with casters on both its left and right sides and a cleaning device.
[0066] The obstacle-crossing control method for curtain wall cleaning robots includes the following steps:
[0067] S1. By using visual recognition, when an obstacle is detected, obtain the distance information between the robot and the obstacle;
[0068] S2. Based on the distance information, determine the distance of the visual blind zone, and based on the distance of the visual blind zone, determine whether the obstacle has entered the robot's visual blind zone. When it is determined that the obstacle has entered the robot's visual blind zone, control the robot to perform an obstacle-crossing action.
[0069] S3. When the robot performs obstacle-crossing actions, a timing judgment threshold is calculated, and based on the timing judgment threshold, the current gait cycle of each wheel is determined. The corresponding wheel is actively controlled to perform a swing-arm phase or a support phase action based on the current gait cycle. During the obstacle-crossing action, the step amount of the wheel performing the swing-arm phase action is adaptively adjusted according to the robot's body tilt angle. Since the obstacle-crossing and cleaning actions of the curtain wall cleaning robot in this application are performed synchronously during actual operation—that is, the robot cleans while crossing obstacles—adaptive adjustment of the step amount ensures the stability of the robot body during obstacle-crossing. Therefore, it ensures that the cleaning devices on the robot, such as roller brushes, spray strips, and squeegees, can accurately act on the curtain wall, especially ensuring that the roller brushes and squeegees are in close contact with the curtain wall, which is beneficial for achieving the best cleaning effect. Compared to the obstacle-crossing action... Compared to the traditional step-by-step control method that executes the cleaning action independently, this application greatly improves work efficiency. During obstacle crossing, the left and right wheel sections are in the swing arm phase or support phase of the gait cycle. For example, in a four-wheeled robot, the wheel in the swing arm phase mainly performs the stepping action, while the wheel in the support phase mainly performs the support action. In addition, after an obstacle enters the robot's visual blind spot (the visual camera has a blind spot, and as the robot moves, the previously detected obstacle will enter the visual blind spot until it disappears from the visual image), although the visual recognition of the obstacle is no longer available, the robot can actively change the obstacle crossing action (i.e., the movement trajectory curve of the foot) based on the relevant information obtained in steps S1-S2, thereby automatically adjusting the foot landing point and adapting to crossing obstacles of various shapes.
[0070] This application effectively solves the problem of poor cleaning effect caused by robot body tilting by adaptively adjusting the step amount during obstacle crossing action. At the same time, it realizes the synchronous execution of obstacle crossing action and cleaning action, which significantly improves the operation efficiency.
[0071] The obstacle-crossing control method for curtain wall cleaning robots proposed in this application is applied to the control system of curtain wall cleaning robots. The curtain wall cleaning robot is an automated device used for cleaning curtain wall surfaces, equipped with casters on both sides for movement and support on the curtain wall surface. In addition, the curtain wall cleaning robot is equipped with cleaning devices, such as roller brushes, water spray strips, and squeegees, for cleaning the curtain wall. The obstacle-crossing control method aims to enable the curtain wall cleaning robot to smoothly and efficiently cross obstacles while ensuring the normal operation of the cleaning devices.
[0072] The obstacle-crossing control method for the curtain wall cleaning robot in this application includes the following core steps:
[0073] First, visual recognition technology is used to identify obstacles and obtain distance information between the robot and the obstacles. Visual recognition can be achieved in various ways. For example, a camera mounted on the robot can acquire image information of the obstacles, and then image processing algorithms can be used to identify the shape, size, and position of the obstacles. Alternatively, LiDAR can be used to scan the obstacles, obtain point cloud data of the obstacles, and then analyze the geometric features of the obstacles. Distance information can also be obtained in various ways. For example, a binocular vision system can be used to calculate the depth information of the obstacles, or a laser rangefinder can be used to directly measure the distance between the robot and the obstacles.
[0074] Secondly, based on the acquired distance information, it is necessary to determine the visual blind zone distance and whether an obstacle has entered the robot's visual blind zone. The visual blind zone refers to the area where the robot's visual sensors cannot directly observe obstacles, typically occurring when the obstacle is too close to the robot or is obscured by the robot itself. For example, a fixed visual blind zone distance threshold can be preset; when the distance between the robot and the obstacle is less than this threshold, it is determined that the obstacle has entered the robot's visual blind zone. When it is determined that an obstacle has entered the robot's visual blind zone, the control system will instruct the robot to perform an obstacle-crossing action and adaptively adjust the obstacle-crossing related control variables, such as adjusting the rotation speed, direction, or lifting height of the wheels. The execution of the obstacle-crossing action can be adjusted according to different distance information. For example, when the obstacle is far away, the robot can plan the obstacle-crossing path and gait in advance.
[0075] Secondly, when the robot performs obstacle-crossing actions, a timing judgment threshold is calculated. Based on this threshold, the current gait cycle of each wheel is determined, and the corresponding wheel is controlled to perform either a swing-arm phase or a support phase based on the gait cycle. The gait cycle refers to a complete loop from wheel lifting to landing and then lifting again. The timing judgment threshold can be pre-calculated and set based on factors such as the robot's motion state, the height and width of the obstacle, etc. For example, when a wheel is in the swing-arm phase, it will lift off the curtain wall surface and perform a stepping motion; when a wheel is in the support phase, it will be close to the curtain wall surface, providing support. By judging the gait cycle of each wheel, it can be ensured that there are always enough wheels providing support during obstacle crossing to maintain the robot's stability.
[0076] Furthermore, during obstacle-crossing maneuvers, the step height of the wheels performing the swing arm phase is adaptively adjusted based on the robot's body tilt angle. The body tilt angle can be acquired in real time using an inertial measurement unit (IMU) or other tilt sensors mounted on the robot. The step height refers to the height the swing arm wheels need to lift when crossing an obstacle. Adaptively adjusting the step height means that the robot can dynamically adjust the lift height of the wheels based on the real-time body tilt angle to ensure stability during obstacle crossing. For example, when the robot tilts to one side, the step height of the swing arm wheels on the tilted side may be appropriately increased to compensate for the height difference caused by the tilt, thus enabling the robot to cross obstacles more smoothly.
[0077] The obstacle-crossing control method for curtain wall cleaning robots disclosed in this application operates on the principle of actively sensing obstacles and predicting their positions. Even after an obstacle enters the robot's blind spot, the robot can still actively adjust its obstacle-crossing actions based on pre-acquired distance information, achieving precise control of the foot landing point. Specifically, when the robot detects an obstacle, it first acquires the obstacle's distance information through sensors, allowing the robot to "see" the obstacle in advance and plan accordingly. Then, the system determines the blind spot distance based on the distance information and initiates the obstacle-crossing action immediately when the obstacle is about to enter or has already entered the robot's blind spot. During obstacle crossing, the system calculates the timing threshold in real time, accurately determines the gait cycle of each wheel, and actively controls the wheels to perform the swing arm phase or support phase actions. More importantly, this application can adaptively adjust the step size of the swing arm wheels based on the robot's body tilt angle during obstacle crossing. This adaptive adjustment mechanism ensures the robot's stability during obstacle crossing, thereby guaranteeing that the cleaning devices (such as roller brushes, spray strips, and squeegees) remain in close contact with the curtain wall surface, achieving optimal cleaning results.
[0078] Compared to existing technologies, the obstacle-crossing control method for curtain wall cleaning robots in this application has significant advantages. Traditional methods typically employ step-by-step control, where the obstacle-crossing action is completed first to stabilize the robot body before the cleaning action is performed, which greatly reduces operational efficiency. This application, however, achieves simultaneous execution of obstacle-crossing and cleaning actions by adaptively adjusting the step size, allowing the robot to clean and cross obstacles simultaneously, thus significantly improving operational efficiency. Furthermore, existing technologies often employ passive obstacle-crossing methods based on force feedback, which cannot actively adapt to obstacles of different shapes. This application, however, actively changes its obstacle-crossing action and automatically adjusts its foot placement point based on pre-acquired information after an obstacle enters the robot's blind spot, thus adapting to various obstacle shapes and achieving active obstacle crossing. This active and adaptive obstacle-crossing control strategy not only ensures robot stability and cleaning effectiveness during obstacle crossing but also greatly enhances the intelligence level and operational efficiency of the curtain wall cleaning robot, while also protecting the curtain wall decoration from impact.
[0079] In some embodiments, the specific steps in step S1 include:
[0080] S11. Acquire point cloud data of obstacles;
[0081] S12. Obtain the top surface of the obstacle through plane fitting based on point cloud data;
[0082] S13. Calculate the vertical projection distance between the top surface of the obstacle and the robot on the curtain wall surface in the vertical direction;
[0083] S14. Based on the point cloud data, calculate the normal vector of the point cloud data along the robot's forward direction;
[0084] S15. Determine the corner points of the obstacle based on the normal vector;
[0085] S16. Calculate the horizontal projection distance between the corner point of the obstacle and the robot on the horizontal direction of the curtain wall surface;
[0086] S17. Use the vertical projection distance and the horizontal projection distance as distance information.
[0087] Acquiring point cloud data of obstacles refers to using 3D perception sensors such as depth cameras and LiDAR on the robot to scan the environment in front of or around the robot, thereby collecting a set of 3D coordinate points on the surface of the obstacle. This point cloud data contains rich information such as the shape, size, and spatial location of the obstacle, which is the basis for subsequent accurate identification and localization of obstacles.
[0088] Furthermore, based on the point cloud data, the top surface of the obstacle is obtained through plane fitting. Specifically, after acquiring the point cloud data of the obstacle, the RANSAC (Random Sample Consensus) algorithm, least squares method, or other point cloud processing algorithms can be used to perform plane fitting on the point cloud data to identify the top plane of the obstacle. This top surface is usually a key feature that the robot needs to cross or avoid, and its accurate identification is crucial for subsequent obstacle crossing decisions.
[0089] Therefore, the vertical projection distance between the top surface of the obstacle and the robot on the curtain wall surface is calculated. The vertical projection distance refers to the distance between the top surface of the obstacle on the curtain wall surface and the robot's current position or reference point. This distance reflects the height information of the obstacle and is a key parameter for determining whether the robot needs to raise its casters and by how much.
[0090] Simultaneously, based on the point cloud data, the normal vector of the point cloud data along the robot's direction of travel is calculated. The normal vector indicates the orientation of the obstacle surface, which is particularly important for irregular obstacles or situations requiring precise edge localization. By calculating the normal vector of the point cloud data, the geometric characteristics of the obstacle can be understood more accurately.
[0091] Obstacle corners are determined based on normal vectors. An obstacle corner is the most prominent or closest edge of an obstacle to the robot in its direction of travel. These corners are key landing or crossing points that the robot needs to focus on when performing obstacle-crossing maneuvers. Normal vector analysis can effectively identify these critical geometric feature points.
[0092] Furthermore, the horizontal projection distance between the obstacle corner and the robot on the horizontal direction of the curtain wall surface is calculated. The horizontal projection distance refers to the distance between the obstacle corner and the robot's current position or reference point on the horizontal direction of the curtain wall surface. This distance reflects the lateral position and distance of the obstacle on the robot's path and is a key parameter for determining when the robot begins its obstacle-crossing maneuver and how to adjust its gait.
[0093] Ultimately, the vertical and horizontal projection distances are used as distance information. This distance information, combined with the height and horizontal position of the obstacle, provides the robot control system with comprehensive and accurate obstacle spatial positioning data, thereby supporting subsequent obstacle-crossing action planning and execution.
[0094] This application's solution achieves precise perception and distance information acquisition of obstacles in front of a curtain wall cleaning robot through detailed visual recognition steps. Specifically, firstly, point cloud data of the obstacles is acquired, providing raw three-dimensional spatial information for subsequent geometric analysis. Next, based on this point cloud data, the top surface of the obstacle is obtained through plane fitting, thus accurately identifying the obstacle's height characteristics. By calculating the vertical projection distance between the obstacle's top surface and the robot's vertical direction on the curtain wall surface, the robot can obtain the actual height of the obstacle, which is crucial for planning the lifting amount of the wheels. Simultaneously, by calculating the normal vector of the point cloud data along the robot's forward direction and determining the obstacle's corner points based on the normal vector, the robot can accurately identify the obstacle's edges and key contact points. Subsequently, the horizontal projection distance between the obstacle's corner points and the robot's horizontal direction on the curtain wall surface is calculated, providing the robot with precise positional information of the obstacle in the forward direction, thus enabling accurate judgment of the obstacle-crossing initiation timing. Finally, the vertical and horizontal projection distances are used as distance information. This comprehensive distance data allows the robot control system to fully and accurately understand the spatial distribution of obstacles, providing reliable input for subsequent obstacle-crossing action planning.
[0095] Through the aforementioned technical solution, the curtain wall cleaning robot can utilize multi-dimensional distance information to achieve more refined and accurate obstacle identification and positioning. Compared to methods relying solely on single distance information or simple visual recognition, this solution employs a series of steps, including acquiring point cloud data, fitting the top surface of the obstacle, calculating the vertical projection distance, determining the obstacle's corner points, and calculating the horizontal projection distance. This ensures that the acquired distance information includes not only the obstacle's height but also its precise position on the robot's path. This comprehensive distance information enables the robot to more accurately determine the geometric features and spatial location of obstacles, thus providing a solid data foundation for subsequent obstacle-crossing maneuvers and significantly improving the success rate and safety of obstacle-crossing actions.
[0096] In some embodiments, step S2, when it is determined that an obstacle has entered the robot's visual blind spot, includes the following specific steps for controlling the robot to perform an obstacle-crossing action:
[0097] S21. In the world coordinate system, calculate the initial position for obstacle crossing based on the horizontal projection distance; specifically, calculate using the following formula:
[0098] ;
[0099] in, This is the initial position for obstacle crossing. The horizontal projection distance. The distance between the foot base and the robot body. The initial distance between the foot's standing position and the foot's base. This refers to the target landing point.
[0100] Furthermore, when designing the target's landing point to fall on or at the center of an obstacle, the following conditions must be met:
[0101] ;
[0102] in, The radius of the foot tip, The length of the top surface of the obstacle.
[0103] S22. Obtain the wheel rolling position and compare it with the initial obstacle crossing position. When the wheel rolling position exceeds the initial obstacle crossing position, control the robot to perform the obstacle crossing action.
[0104] In step S21, the horizontal projection distance refers to the horizontal projection distance between the corner point of the obstacle and the robot on the horizontal direction of the curtain wall surface. This distance information has already been obtained in step S16. The initial obstacle-crossing position refers to the preset position at which the curtain wall cleaning robot begins to perform obstacle-crossing actions. The calculation of this initial obstacle-crossing position aims to determine when the robot needs to begin preparing for or actually performing obstacle-crossing actions based on the specific position of the obstacle in the horizontal direction, so as to ensure the timeliness and effectiveness of the obstacle-crossing process.
[0105] Furthermore, in step S22, the wheel rolling position refers to the actual position of the curtain wall cleaning robot, which can be obtained in real time through the robot's internal odometer, encoder, or other positioning sensors. Comparing this wheel rolling position with the initial obstacle-crossing position aims to accurately determine whether the robot has reached the predetermined obstacle-crossing starting point. When the wheel rolling position exceeds the initial obstacle-crossing position, it indicates that the robot has entered or is about to enter the effective obstacle-crossing range of the obstacle. Controlling the robot to execute the obstacle-crossing action at this time ensures that the obstacle-crossing action is triggered at the appropriate time, avoiding premature or late execution of obstacle crossing, thereby improving the success rate and efficiency of obstacle crossing.
[0106] The proposed solution refines the obstacle-crossing action triggering process by calculating the initial obstacle-crossing position based on the horizontal projection distance and monitoring the comparison between the wheel rolling position and this initial position in real time, thereby achieving precise control over the timing of the obstacle-crossing action initiation. Specifically, the horizontal projection distance provides spatial information about the obstacle in the robot's forward direction, enabling the system to pre-plan the starting point for obstacle crossing. By continuously acquiring the wheel rolling position and comparing it with the preset initial obstacle-crossing position, the robot can dynamically determine its actual position relative to the obstacle. Once the condition is met (i.e., the wheel rolling position is greater than the initial obstacle-crossing position), the obstacle-crossing action is immediately triggered. This mechanism ensures that the initiation of the obstacle-crossing action is closely integrated with the robot's actual travel state and the spatial position of the obstacle, avoiding blind or experience-based obstacle-crossing initiation, thus improving the accuracy and reliability of obstacle crossing.
[0107] Through the aforementioned technical solution, the curtain wall cleaning robot can accurately calculate its initial obstacle-crossing position based on the horizontal projection distance of the obstacle, and combine this with the actual rolling distance of its wheels to initiate the obstacle-crossing action at the most appropriate time. This precise control of obstacle-crossing timing effectively avoids the obstacle-crossing action occurring too early or too late, significantly improving the success rate and efficiency of obstacle crossing. Furthermore, through real-time monitoring and comparison, the robot can more intelligently and adaptively handle obstacles of different sizes and positions, thereby ensuring the stability and continuity of the curtain wall cleaning robot in complex working environments, further improving the overall efficiency and quality of the cleaning operation.
[0108] In some embodiments, the timing threshold is calculated based on the following steps:
[0109] A1. Based on the obstacle's top surface obtained through planar fitting, obtain the length of the obstacle's top surface, and then determine the length of the obstacle's top surface (...). (related to the length of the obstacle's top surface), calculate the obstacle's ending position after clearing the obstacle; specifically, calculate using the following formula:
[0110] ;
[0111] in, This indicates the end position of the obstacle after clearing it. This indicates the point where the foot lands.
[0112] A2. Calculate the starting position of the obstacle before it is cleared, based on the ending position of the obstacle after it has been cleared; specifically, calculate using the following formula:
[0113] ;
[0114] in, This indicates the starting position of the obstacle before overcoming it. The distance the foot base moves after the foot wheel takes a step, assuming the foot base moves at a constant speed: When the foot base accelerates its movement: , This represents the maximum permissible speed of movement of the foot-based base when overcoming obstacles. , To limit the distance of movement of the foot. The time of foot movement (determined by mechanical properties). The current moving speed of the foot base. The time required for the foot base to reach its maximum moving speed from its current moving speed. , This is the acceleration of the foot base when it moves.
[0115] A3. Calculate the timing threshold based on the initial position of the obstacle before it is cleared; specifically, calculate using the following formula:
[0116] ;
[0117] in, To determine the threshold for timing, For the phase of the wheel motion, , The starting position of the foot (i.e., the starting position of the foot when performing a stepping motion).
[0118] It should be noted that the above formula, as a basic formula, needs to distinguish between the left and right feet when performing actual calculations. For example, if the left foot steps first, the starting position of the left foot is: The foot landing point of the left roller skate is: (at this time (This is relative to before taking the step), because The initial distance between the foot's standing position and the foot base represents the relative relationship between the foot's standing position and the foot base in the robot's coordinate system. Therefore, after the left foot wheel completes its step, The position remains unchanged in the robot coordinate system. Based on the robot coordinate system, the initial position of the foot end of the right wheel is: The landing point of the right foot on the left side is: (at this time This is relative to after taking the step, in the world coordinate system. (The reality has changed), among which, and All belong to You can directly substitute the values into the above basic formulas to perform the relevant calculations. Similarly, and All belong to Alternatively, you can directly substitute the above basic formulas to perform relevant calculations.
[0119] Step A1 aims to determine the final position of the obstacle after it has been cleared. Specifically, the length of the obstacle's top surface can be obtained by processing and analyzing the obstacle point cloud data acquired in step S1. For example, after obtaining the obstacle's top surface through plane fitting, the projected length of this top surface in the robot's forward direction can be calculated, which is the length of the obstacle's top surface. The final position of the obstacle after clearing it refers to the position where all of the robot's wheels have completely cleared the obstacle and the robot returns to its normal walking posture.
[0120] Further, step A2 is used to calculate the starting position of the obstacle before obstacle crossing based on the determined end position of the obstacle after obstacle crossing. The starting position of the obstacle before obstacle crossing refers to the critical position at which the robot needs to begin performing an obstacle-crossing action (e.g., lifting the wheels). The calculation of this position typically takes into account the robot's gait planning, the size of the wheels, and the lead required for the obstacle-crossing action. For example, the starting position of the obstacle before obstacle crossing can be determined by backtracking a preset distance from the end position of the obstacle after obstacle crossing, a distance sufficient for the robot to complete a full obstacle-crossing gait cycle.
[0121] Finally, step A3 calculates the timing threshold based on the initial position of the obstacle before obstacle crossing. This timing threshold is a crucial parameter used to precisely trigger the obstacle-crossing action when the robot approaches the obstacle. Specifically, the timing threshold is a distance value; when the distance between the robot and the obstacle reaches this threshold, it is determined that the obstacle-crossing action needs to be initiated. Its purpose is to provide an accurate start signal for subsequent gait cycle determination and wheel motion control.
[0122] It should be noted that the initial obstacle-crossing position mentioned above is used to determine whether the robot should perform an obstacle-crossing action, while the timing judgment threshold is used to determine the gait cycle of the wheels and thus control the wheels to perform the swing arm phase or the support phase. In short, whether the robot enters the obstacle-crossing process is determined by the initial obstacle-crossing position, while the action (swing arm phase or support phase) performed by the left and right wheels of the robot is determined by the timing judgment threshold.
[0123] The solution in this application systematically calculates the timing judgment threshold through steps A1 to A3 described above. First, the endpoint of obstacle crossing is determined by the length of the obstacle's top surface, setting a clear boundary for the entire obstacle-crossing process. Second, the starting position of the obstacle before obstacle crossing is deduced from the ending position of the obstacle after obstacle crossing, ensuring sufficient preparation time and space for the obstacle-crossing action. Finally, the timing judgment threshold is calculated based on the starting position of the obstacle before obstacle crossing, enabling the robot to initiate the obstacle-crossing gait at the appropriate time, avoiding actions that are too early or too late, thus ensuring the smoothness and safety of the obstacle-crossing process. It is precisely because of this precise threshold calculation that the robot can effectively coordinate the swing arm phase and support phase movements of each wheel.
[0124] Through the above technical solution, this application provides a precise and reliable timing judgment threshold for the curtain wall cleaning robot. This enables the robot to more accurately determine the current gait cycle of each wheel and control the wheels to perform corresponding swing arm phase or support phase movements accordingly. This not only improves the accuracy and stability of obstacle-crossing actions but also helps reduce collisions or posture imbalances caused by improper timing, thereby further ensuring the stability of the curtain wall cleaning robot during operation. This ensures that the cleaning device can continuously and effectively act on the curtain wall surface, improving the overall cleaning effect and operational efficiency.
[0125] In some embodiments, the specific steps in step S3 include:
[0126] S31. Determine the current gait cycle of each foot wheel based on the timing threshold; specifically, for example... At that time, the corresponding caster wheel performs the swing arm phase movement; This indicates the current position of the wheel foot.
[0127] S32. The wheel in the swing arm phase is designated as the swing arm wheel, and the wheel in the support phase is designated as the support wheel;
[0128] S33. For the swing arm caster wheel, perform the following steps B1-B4:
[0129] B1. Calculate the lifting amount of the swing arm's foot end based on the vertical projection distance. Specifically, calculate using the following formula:
[0130] ;
[0131] in, To increase the quantity, To limit the height of movement of the foot, This is the vertical projection distance.
[0132] B2. Obtain the starting and landing positions of the foot, and calculate the stride length based on these positions using the following formula:
[0133] ;
[0134] in, This refers to the step size.
[0135] B3. Based on the elevation and stride, calculate the lifting trajectory curve. Specifically, the lifting trajectory curve is fitted by the coordinates of multiple sampling points, which are represented as follows:
[0136] ;
[0137] ;
[0138] ;
[0139] in, Let Y be the Y-axis coordinate of the sampling point that forms the lifting motion trajectory curve in the world coordinate system. Represents a symbolic function. For preset frequency, As the first intermediate variable, , For the order of sampling points, Let X be the X-axis coordinate of the sampling point that forms the lifting motion trajectory curve in the world coordinate system. As the second intermediate variable, For sampling point time, when hour, , The total time of the arm swing phase (preset and specified according to actual needs), when hour, .
[0140] B4. Based on the lifting motion trajectory curve, actively control the swing arm and caster wheel to perform the swing arm phase action so that the caster wheel is lifted.
[0141] In step S31, determining the current gait cycle of each wheel based on a timing threshold involves comparing the current state of each wheel (e.g., its percentage of time in the gait cycle, its contact state with the ground, or its kinematic parameters) with a preset timing threshold to determine whether the wheel is currently in the swing arm phase or the support phase. This timing threshold can be pre-calculated and set based on the robot's overall gait pattern, obstacle-crossing strategy, and the geometric information of the obstacles.
[0142] Furthermore, in step S32, the wheel in the swing arm phase is identified as a swing arm wheel, and the wheel in the support phase is identified as a support wheel. This lays the foundation for performing different actions for different types of wheels. Specifically, the swing arm wheel is the wheel that needs to lift and cross obstacles, while the support wheel is responsible for maintaining the stability of the robot and supporting its body.
[0143] For swing arm casters, a series of refined motion planning steps are required. In step B1, the lift of the swing arm caster's feet is calculated based on the vertical projection distance. The vertical projection distance refers to the vertical projection distance between the top surface of the obstacle and the robot on the wall surface, reflecting the obstacle's height. The lift is the vertical distance the swing arm caster's feet need to lift upwards during obstacle crossing, which is usually slightly greater than the obstacle's vertical projection distance to ensure the caster can safely cross the obstacle and avoid collisions.
[0144] In step B2, the step distance is calculated based on the current foot position of the swing arm wheel. The step distance refers to the horizontal distance the swing arm wheel needs to move forward during obstacle crossing. The calculation of this step distance needs to consider both the foot landing point and the foot starting position to ensure that the wheel can accurately land behind the obstacle or at the predetermined position.
[0145] Subsequently, in step B3, the lift trajectory curve is calculated based on the calculated lift and step size. The lift trajectory curve describes the spatial path of the swing arm's foot lifting from its current position and moving forward until it passes over the top of the obstacle. This curve is typically designed as a smooth, continuous path, such as a parabola or polynomial curve, to ensure the stability and smoothness of the wheel's movement while avoiding unnecessary contact with obstacles.
[0146] Finally, in step B4, based on the calculated lifting trajectory curve, the swing arm wheel is controlled to perform a swing arm phase action to lift the wheel. This involves sending precise control commands to the drive mechanism of the swing arm wheel, causing its foot to move along the predetermined lifting trajectory curve, thereby achieving a smooth lifting of the wheel and its passage over obstacles.
[0147] The solution proposed in this application precisely calculates and controls the lifting amount, step size, and lifting trajectory curve of the swing arm's casters, enabling the curtain wall cleaning robot to lift and traverse obstacles along a preset, smooth path when performing obstacle-crossing maneuvers. This refined motion planning avoids collisions between the casters and obstacles, ensuring smooth obstacle-crossing. Simultaneously, due to the optimized caster trajectory, the robot's body posture maintains better stability during obstacle-crossing, effectively preventing body swaying or tilting caused by improper obstacle-crossing movements. This is crucial for simultaneous curtain wall cleaning operations.
[0148] Through the aforementioned technical solutions, the curtain wall cleaning robot can achieve more precise and stable obstacle-crossing movements. Precisely calculated lift and stride amounts, combined with an optimized lift trajectory curve, significantly reduce the risk of collisions between the wheels and obstacles, improving the success rate and efficiency of obstacle crossing. Furthermore, because the robot's stability is ensured during obstacle crossing, the cleaning devices (such as roller brushes, spray strips, and squeegees) can continuously and closely act on the curtain wall surface, ensuring that the cleaning effect is not affected by the obstacle-crossing movement, thereby improving the overall work quality and efficiency.
[0149] It should be noted that when the robot performs obstacle-crossing maneuvers, while the support wheels provide support during their support phase, they also move backward relative to the foot base to the initial distance (i.e., the distance between the standing position of the support wheels and the foot base is...). This means that the swing arm wheel moves forward relative to the foot base, while the support wheel moves backward relative to the foot base (simulating the walking posture of a foot animal), thus naturally completing the obstacle crossing.
[0150] In some embodiments, the specific steps in step S3 include:
[0151] S33. For the swing arm caster wheel, perform the following steps B5-B8:
[0152] B5. Obtain the robot's body tilt angle, and calculate the amount of tilt on one side of the robot after the swing arm and caster wheels are lifted based on the body tilt angle;
[0153] B6. Calculate the step size based on the unilateral inclination. Specifically, calculate using the following formula:
[0154] ;
[0155] in, For the current step quantity, The step size is the most recently calculated step size. The tilt amount on one side of the first support caster adjacent to the swing arm caster. The tilt amount on one side of the second support caster adjacent to the swing arm caster. Let i be the unilateral tilt of the i-th support caster adjacent to the swing arm caster. This refers to the total number of support casters adjacent to the swing arm caster.
[0156] B7. Calculate the descent trajectory curve based on the step height, elevation, and stride. Specifically, calculate using the following formula:
[0157] ;
[0158] ;
[0159] ;
[0160] in, The Y-axis coordinates of the sampling points that constitute the downward motion trajectory curve in the world coordinate system. The X-axis coordinates of the sampling points that constitute the downward motion trajectory curve in the world coordinate system.
[0161] B8. Based on the lowering motion trajectory curve, actively control the swing arm and caster wheels to perform the swing arm phase movement to lower the caster wheels. The motion curve of the swing arm phase movement is a parabola, which can be divided into two curves: the lifting motion trajectory curve and the lowering motion trajectory curve. The caster wheels are lifted based on the lifting motion trajectory curve and lowered based on the lowering motion trajectory curve, thereby completing the stepping action and achieving obstacle crossing. Since the lifting of the caster wheels often causes the robot to tilt, the accuracy of the landing point of the caster wheels after completing the stepping action is a key factor in whether the robot can return to its normal posture. This is especially true for curtain wall cleaning robots, where the robot's posture indirectly affects the cleaning effect of the cleaning device. For example, if the body tilts, the roller brush or scraper may not be able to stick tightly to the curtain wall surface, resulting in some areas of the curtain wall surface not being effectively cleaned. Therefore, the lowering motion trajectory curve needs to be calculated in real time in conjunction with the step amount, and adaptive adjustment is achieved through real-time compensation to accurately control the landing point of the caster wheels.
[0162] Specifically, in step B5, obtaining the robot's body tilt angle refers to real-time monitoring of the robot's tilt angle on the curtain wall surface using sensors inside the robot (such as an inertial measurement unit or tilt sensor). This body tilt angle reflects the stability of the robot's current posture. The amount of tilt on one side of the robot after the swing arm and caster wheels are raised is calculated based on the body tilt angle. The purpose is to quantify the robot's center of gravity shift and posture change caused by the raising of the swing arm and caster wheels. In practical applications, the body tilt angle is obtained in real time, and the amount of tilt on one side is updated in real time.
[0163] In step B6, the step amount is calculated based on the unilateral tilt amount. This step amount can be understood as the vertical adjustment required to the landing point of the caster wheel during the lowering of the swing arm caster wheel to compensate for the robot's tilt. The purpose is to adjust the final landing height of the caster wheel to counteract the effects of the robot's tilt, thereby restoring the robot to a stable posture. In practical applications, the step amount is updated in real time.
[0164] In practical applications, step B7 calculates the lowering trajectory curve based on the step amount, lifting amount, and stride amount. This lowering trajectory curve represents the movement path of the swing arm caster from its highest point until it contacts the curtain wall surface. Its calculation comprehensively considers the height the caster needs to lift (lifting amount), the horizontal movement distance (stride amount), and the vertical compensation introduced to correct tilt (step amount) to ensure the caster accurately lands at the target position.
[0165] Further, in step B8, based on the lowering motion trajectory curve, the swing arm wheel is controlled to perform a swing arm phase movement to lower the wheel. The motion curve of the swing arm phase movement is designed as a parabola, which can be divided into two segments: the lifting motion trajectory curve and the lowering motion trajectory curve. The wheel first lifts based on the lifting motion trajectory curve, and then lowers based on the lowering motion trajectory curve, thus completing a full stepping motion and achieving obstacle clearance.
[0166] This application's solution effectively addresses the robot's tilting issue that may occur after the wheels are lifted by introducing a real-time monitoring and adaptive adjustment mechanism for the robot's body tilt angle. Specifically, when the swing arm wheels are lifted, the system acquires the robot's body tilt angle and calculates the unilateral tilt amount after the wheels are lifted. This unilateral tilt amount directly reflects the degree of imbalance in the robot's current posture. Subsequently, based on the calculated unilateral tilt amount, the system accurately calculates the required step amount, which serves as vertical compensation for the wheel's lowering point. By combining this step amount with preset lifting and step sizes, the system can calculate an optimized lowering trajectory curve in real time. When the wheels perform the swing arm phase movement, they strictly follow this adaptively adjusted lowering trajectory curve, ensuring that the wheels accurately land at the expected target position, effectively correcting the robot's tilt caused by the wheel lifting, and guaranteeing the robot's posture stability during obstacle crossing.
[0167] Through the above technical solution, this application ensures that when the curtain wall cleaning robot performs obstacle-crossing maneuvers, even if the lifting of the casters causes the robot body to tilt, the robot can still precisely control the landing point of the casters by adaptively adjusting the downward trajectory curve of the casters. This not only guarantees the robot's posture stability and balance during obstacle crossing, but more importantly, it ensures that the cleaning devices on the robot, such as roller brushes or squeegees, remain in close contact with the curtain wall surface, avoiding incomplete cleaning or missed areas caused by the robot body tilting. Therefore, this application significantly improves the cleaning effect and work quality of the curtain wall cleaning robot in complex operating environments, achieving simultaneous obstacle crossing and efficient cleaning, and further improving overall work efficiency.
[0168] In some embodiments, step B5, which involves calculating the unilateral tilt of the robot after the swing arm's caster wheel is lifted based on the body tilt angle, includes:
[0169] B51. Obtain the standing height of all support casters adjacent to the swing arm caster;
[0170] B52. In the foot-base coordinate system, based on the body tilt angle (including tilt, roll, and pitch angles) and the standing height of each supporting foot wheel, calculate the unilateral tilt of each supporting foot wheel adjacent to the swing arm foot wheel after the swing arm foot wheel is raised. Specifically, calculate according to the following formula:
[0171] ;
[0172] in, Let i be the unilateral tilt of the i-th support caster adjacent to the swing arm caster. The pitch angle is the tilt angle of the body. Let X be the X-axis coordinate of the i-th support wheel adjacent to the swing arm wheel in the foot base coordinate system. The tilt angle and roll angle are the tilt angles of the body. Let Y be the Y-axis coordinate of the i-th support wheel adjacent to the swing arm wheel in the foot base coordinate system. The standing height of the i-th support caster adjacent to the swing arm caster.
[0173] Specifically, in step B51, obtaining the standing height of the support wheel adjacent to the swing arm wheel refers to the vertical height information of the wheel adjacent to the swing arm wheel on the robot body and currently in the support phase when the swing arm wheel performs the lifting action. This standing height can be understood as the distance between the support wheel and the curtain wall surface, and its purpose is to provide a stable reference benchmark to more accurately assess the actual tilt state of the robot body. In practical applications, the standing height can be obtained in real time through displacement sensors, laser rangefinders, or vision sensors inside the wheel. In step B52, calculating the unilateral tilt of the robot after the swing arm wheel is lifted, based on the standing height and the body tilt angle, refers to accurately calculating the degree of unilateral tilt of the robot caused by the lifting of the swing arm wheel, taking into account the overall tilt angle of the robot body and the actual standing height of the adjacent support wheel. The body tilt angle can be obtained through the robot's internal inertial measurement unit (IMU) or attitude sensor. By incorporating the standing height of the support casters, interference from factors such as unevenness of the curtain wall surface and elastic deformation of the casters on the measurement of the body's tilt angle can be eliminated or reduced, thus obtaining a more accurate unilateral tilt amount. For example, when the swing arm casters are raised, the robot may tilt towards the support side. In this case, by measuring the relationship between the standing height of the support casters and the body's tilt angle, a more accurate tilt model can be established to calculate the unilateral tilt amount.
[0174] This application's solution considers not only the robot's body tilt angle but also the standing height of the adjacent support wheel as a reference when calculating the robot's unilateral tilt after the swing arm wheel is raised. When the curtain wall cleaning robot performs obstacle-crossing maneuvers, especially when the swing arm wheel is raised, the robot's center of gravity changes, causing the body to tilt. Traditional methods relying solely on the body tilt angle may not fully capture the subtle posture changes caused by the wheel lifting and uneven force on the support wheels. By obtaining the standing height of the adjacent support wheels, a more accurate local reference point can be provided for calculating the tilt. For example, if the standing height of the support wheels changes, even if the body tilt angle does not change significantly, it may mean that the actual degree of unilateral tilt of the robot is different. This calculation method, which incorporates standing height, can more accurately reflect the robot's actual posture after the wheel is raised, thus providing a more reliable input for the subsequent adaptive adjustment of the step amount. It is precisely because the unilateral tilt is calculated more accurately that the step amount adjustment is more precise, thereby ensuring the accuracy of the landing point when the wheel is lowered.
[0175] Through the aforementioned technical solution, the tilt amount on one side of the robot after the swing arm casters are raised can be calculated more accurately when the curtain wall cleaning robot performs obstacle-crossing maneuvers. This precise tilt calculation effectively avoids errors that may exist due to the measurement of a single body tilt angle, especially when working on complex or uneven curtain wall surfaces, and can more realistically reflect the robot's posture changes. This provides a more accurate basis for the subsequent adaptive adjustment of the step amount, ensuring that the swing arm casters can accurately control the landing point during the lowering process, thereby enabling the robot body to maintain higher stability during obstacle crossing. This higher stability further ensures that the cleaning devices, such as the roller brush and squeegee, can always maintain close contact with the curtain wall surface, avoiding problems such as missed cleaning areas or poor cleaning results caused by body tilt, ultimately significantly improving the overall quality and efficiency of curtain wall cleaning.
[0176] Please refer to Figure 2 , Figure 2 This invention relates to an obstacle-crossing control device for a curtain wall cleaning robot, as described in some embodiments. The device is applied to the control system of the curtain wall cleaning robot, which has wheels on both its left and right sides and is equipped with a cleaning device. The obstacle-crossing control device is integrated into a back-end control device in the form of a computer program, and includes:
[0177] The identification and acquisition module 100 is used to acquire distance information between the robot and the obstacle when an obstacle is detected.
[0178] The control module 200 is used to determine the visual blind zone distance based on the distance information, and to determine whether an obstacle has entered the robot's visual blind zone based on the visual blind zone distance. When it is determined that an obstacle has entered the robot's visual blind zone, the control module 200 controls the robot to perform an obstacle-crossing action.
[0179] The obstacle crossing module 300 is used to calculate the timing judgment threshold when the robot performs obstacle crossing action, and to determine the current gait cycle of each wheel based on the timing judgment threshold. Based on the current gait cycle, it actively controls the corresponding wheel to perform the swing arm phase action or the support phase action. During the obstacle crossing action, it adaptively adjusts the step amount of the wheel performing the swing arm phase action according to the robot's body tilt angle.
[0180] In some embodiments, the identification and acquisition module 100 performs the following actions when determining obstacles and acquiring distance information between the robot and the obstacles:
[0181] S11. Acquire point cloud data of obstacles;
[0182] S12. Obtain the top surface of the obstacle through plane fitting based on point cloud data;
[0183] S13. Calculate the vertical projection distance between the top surface of the obstacle and the robot on the curtain wall surface in the vertical direction;
[0184] S14. Based on the point cloud data, calculate the normal vector of the point cloud data along the robot's forward direction;
[0185] S15. Determine the corner points of the obstacle based on the normal vector;
[0186] S16. Calculate the horizontal projection distance between the corner point of the obstacle and the robot on the horizontal direction of the curtain wall surface;
[0187] S17. Use the vertical projection distance and the horizontal projection distance as distance information.
[0188] In some embodiments, the control module 200 is configured to perform the following when controlling the robot to perform an obstacle-crossing action after determining that an obstacle has entered the robot's visual blind spot:
[0189] S21. Calculate the initial position for obstacle crossing based on the horizontal projection distance;
[0190] S22. Obtain the wheel rolling position and compare it with the initial obstacle crossing position. When the wheel rolling position exceeds the initial obstacle crossing position, control the robot to perform the obstacle crossing action.
[0191] In some embodiments, the obstacle-crossing module 300 is used to determine the current gait cycle of each wheel based on a pre-calculated timing judgment threshold when the robot performs an obstacle-crossing action, and to control the corresponding wheel to perform a swing-arm phase action or a support phase action according to the current gait cycle. Furthermore, during the obstacle-crossing action, the module 300 adaptively adjusts the step size of the wheel performing the swing-arm phase action based on the robot's body tilt angle.
[0192] S31. Determine the current gait cycle of each foot wheel based on the timing threshold;
[0193] S32. The wheel in the swing arm phase is designated as the swing arm wheel, and the wheel in the support phase is designated as the support wheel;
[0194] S33. For the swing arm caster wheel, perform the following steps B1-B4:
[0195] B1. Calculate the lifting amount of the foot end of the swing arm caster based on the vertical projection distance;
[0196] B2. Calculate the stride length based on the starting position and landing position of the foot;
[0197] B3. Calculate the lifting trajectory curve based on the lifting amount and step size;
[0198] B4. Based on the lifting motion trajectory curve, actively control the swing arm and caster wheel to perform the swing arm phase action so that the caster wheel is lifted.
[0199] In some embodiments, the obstacle-crossing module 300 is used to determine the current gait cycle of each wheel based on a pre-calculated timing judgment threshold when the robot performs an obstacle-crossing action, and to control the corresponding wheel to perform a swing-arm phase action or a support phase action according to the current gait cycle. Furthermore, during the obstacle-crossing action, the module 300 adaptively adjusts the step size of the wheel performing the swing-arm phase action based on the robot's body tilt angle.
[0200] S33. For the swing arm caster wheel, perform the following steps B5-B8:
[0201] B5. Obtain the robot's body tilt angle, and calculate the amount of tilt on one side of the robot after the swing arm and caster wheels are lifted based on the body tilt angle;
[0202] B6. Calculate the step size based on the unilateral inclination.
[0203] B7. Calculate the descent trajectory curve based on the step height, elevation, and stride.
[0204] B8. Based on the downward motion trajectory curve, actively control the swing arm and caster wheel to perform the swing arm phase action so that the caster wheel is lowered.
[0205] In some embodiments, the obstacle-crossing module 300 performs the following steps when acquiring the robot's body tilt angle and calculating the unilateral tilt amount of the robot after the swing arm and caster wheels are lifted:
[0206] B51. Obtain the standing height of the support caster adjacent to the swing arm caster;
[0207] B52. Based on the body tilt angle and standing height, calculate the unilateral tilt of the robot after the swing arm and caster wheels are lifted.
[0208] Please refer to Figure 3 , Figure 3This is a schematic diagram of the structure of an electronic device provided by an embodiment of the present invention. The present invention provides an electronic device 13, including: a processor 1301 and a memory 1302. The processor 1301 and the memory 1302 are interconnected and communicate with each other via a communication bus 1303 and / or other forms of connection mechanism (not shown). The memory 1302 stores computer-readable instructions executable by the processor 1301. When the electronic device is running, the processor 1301 executes the computer-readable instructions to perform the method in any optional implementation of the above embodiments, to achieve the following function: when an obstacle is detected, obtain... The robot acquires distance information between itself and obstacles; based on this distance information, it determines the visual blind zone distance and, based on the visual blind zone distance, judges whether an obstacle has entered the robot's visual blind zone. When it is determined that an obstacle has entered the robot's visual blind zone, it controls the robot to perform an obstacle-crossing action. While the robot is performing the obstacle-crossing action, it calculates the timing judgment threshold and, based on the timing judgment threshold, judges the current gait cycle of each wheel. Based on the current gait cycle, it actively controls the corresponding wheel to perform a swing arm phase action or a support phase action. During the obstacle-crossing action, it adaptively adjusts the step amount of the wheel performing the swing arm phase action based on the robot's body tilt angle.
[0209] This invention provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it executes the method in any optional implementation of the above embodiments to achieve the following functions: when an obstacle is detected, it acquires distance information between the robot and the obstacle; based on the distance information, it determines the visual blind spot distance, and based on the visual blind spot distance, it determines whether the obstacle has entered the robot's visual blind spot; and when it is determined that the obstacle has entered the robot's visual blind spot, it controls the robot to perform an obstacle-crossing action; when the robot performs the obstacle-crossing action, it calculates a timing judgment threshold, and based on the timing judgment threshold, it determines the current gait cycle of each wheel, and based on the current gait cycle, it actively controls the corresponding wheel to perform a swing arm phase action or a support phase action; and during the obstacle-crossing action, it adaptively adjusts the step amount of the wheel performing the swing arm phase action according to the robot's body tilt angle.
[0210] The computer-readable storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as Static Random Access Memory (SRAM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Erasable Programmable Read Only Memory (EPROM), Programmable Red-Only Memory (PROM), Read-Only Memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk.
[0211] In the embodiments provided by this invention, it should be understood that the disclosed apparatus and method can be implemented in other ways. The apparatus embodiments described above are merely illustrative. For example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. Furthermore, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Additionally, the displayed or discussed mutual couplings, direct couplings, or communication connections may be through some communication interfaces; indirect couplings or communication connections between devices or units may be electrical, mechanical, or other forms.
[0212] Furthermore, the units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0213] Furthermore, the functional modules in the various embodiments of the present invention can be integrated together to form an independent part, or each module can exist independently, or two or more modules can be integrated to form an independent part.
[0214] In this document, relational terms such as first and second are used only to distinguish one entity or operation from another entity or operation, without necessarily requiring or implying any such actual relationship or order between these entities or operations.
[0215] The above description is merely an embodiment of the present invention and is not intended to limit the scope of protection of the present invention. For those skilled in the art, the present invention can have various modifications and variations. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.
Claims
1. A method for controlling obstacle crossing in a curtain wall cleaning robot, applied to the control system of a curtain wall cleaning robot, characterized in that, The curtain wall cleaning robot is equipped with casters on both the left and right sides, and it also has a cleaning device. The obstacle-crossing control method for curtain wall cleaning robots includes the following steps: S1. When an obstacle is detected, obtain the distance information between the robot and the obstacle; S2. Based on the distance information, determine the distance of the visual blind zone, and based on the distance of the visual blind zone, determine whether the obstacle has entered the robot's visual blind zone. When it is determined that the obstacle has entered the robot's visual blind zone, control the robot to perform an obstacle-crossing action. S3. When the robot performs obstacle crossing action, calculate the timing judgment threshold, and determine the current gait cycle of each wheel according to the timing judgment threshold. Actively control the corresponding wheel to perform the swing arm phase action or the support phase action according to the current gait cycle. During the obstacle crossing action, the step amount of the wheel performing the swing arm phase action is adaptively adjusted according to the robot's body tilt angle.
2. The obstacle-crossing control method for a curtain wall cleaning robot according to claim 1, characterized in that, The specific steps in step S1 include: S11. Acquire point cloud data of obstacles; S12. Obtain the top surface of the obstacle through plane fitting based on point cloud data; S13. Calculate the vertical projection distance between the top surface of the obstacle and the robot on the curtain wall surface in the vertical direction; S14. Based on the point cloud data, calculate the normal vector of the point cloud data along the robot's forward direction; S15. Determine the corner points of the obstacle based on the normal vector; S16. Calculate the horizontal projection distance between the corner point of the obstacle and the robot on the horizontal direction of the curtain wall surface; S17. Use the vertical projection distance and the horizontal projection distance as distance information.
3. The obstacle-crossing control method for a curtain wall cleaning robot according to claim 2, characterized in that, In step S2, the specific steps for controlling the robot to perform an obstacle-crossing action when it is determined that an obstacle has entered the robot's visual blind spot include: S21. Calculate the initial position for obstacle crossing based on the horizontal projection distance; S22. Obtain the wheel rolling position and compare it with the initial obstacle crossing position. When the wheel rolling position exceeds the initial obstacle crossing position, control the robot to perform the obstacle crossing action.
4. The obstacle-crossing control method for a curtain wall cleaning robot according to claim 3, characterized in that, The timing is determined based on the following steps: A1. Based on the top surface of the obstacle obtained by plane fitting, obtain the length of the top surface of the obstacle, and calculate the ending position of the obstacle after passing the obstacle based on the length of the top surface of the obstacle; A2. Calculate the starting position of the obstacle before it is cleared, based on the ending position of the obstacle after it is cleared. A3. Calculate the timing threshold based on the initial position of the obstacle before overcoming it.
5. The obstacle-crossing control method for a curtain wall cleaning robot according to claim 2, characterized in that, The specific steps in step S3 include: S31. Determine the current gait cycle of each foot wheel based on the timing threshold; S32. The wheel in the swing arm phase is designated as the swing arm wheel, and the wheel in the support phase is designated as the support wheel; S33. For the swing arm caster wheel, perform the following steps B1-B4: B1. Calculate the lifting amount of the foot end of the swing arm caster based on the vertical projection distance; B2. Obtain the starting position and landing position of the foot, and calculate the stride length based on the starting position and landing position of the foot; B3. Calculate the lifting trajectory curve based on the lifting amount and step size; B4. Based on the lifting motion trajectory curve, actively control the swing arm and caster wheel to perform the swing arm phase action so that the caster wheel is lifted.
6. The obstacle-crossing control method for a curtain wall cleaning robot according to claim 5, characterized in that, The specific steps in step S3 include: S33. For the swing arm caster wheel, perform the following steps B5-B8: B5. Obtain the robot's body tilt angle, and calculate the amount of tilt on one side of the robot after the swing arm and caster wheels are lifted based on the body tilt angle; B6. Calculate the step size based on the unilateral inclination. B7. Calculate the descent trajectory curve based on the step height, elevation, and stride. B8. Based on the downward motion trajectory curve, actively control the swing arm and caster wheel to perform the swing arm phase action so that the caster wheel is lowered.
7. The obstacle-crossing control method for a curtain wall cleaning robot according to claim 6, characterized in that, Step B5, which involves calculating the unilateral tilt of the robot after the swing arm and caster wheels are raised based on the body tilt angle, includes: B51. Obtain the standing height of all support casters adjacent to the swing arm caster; B52. Based on the body tilt angle and the standing height of each support caster, calculate the unilateral tilt of each support caster adjacent to the swing arm caster after the swing arm caster is raised.
8. An obstacle-crossing control device for a curtain wall cleaning robot, applied to the control system of a curtain wall cleaning robot, characterized in that, The curtain wall cleaning robot is equipped with casters on both the left and right sides, and it also has a cleaning device. The obstacle-crossing control device for the curtain wall cleaning robot includes: The identification and acquisition module is used to acquire distance information between the robot and the obstacle when an obstacle is detected; The control module is used to determine the distance of the visual blind zone based on the distance information, and to determine whether an obstacle has entered the robot's visual blind zone based on the distance of the visual blind zone. When it is determined that an obstacle has entered the robot's visual blind zone, the module controls the robot to perform an obstacle-crossing action. The obstacle-crossing module is used to calculate the timing judgment threshold when the robot performs obstacle-crossing actions, and to determine the current gait cycle of each wheel based on the timing judgment threshold. Based on the current gait cycle, it actively controls the corresponding wheel to perform the swing arm phase action or the support phase action. During the obstacle-crossing action, it adaptively adjusts the step amount of the wheel performing the swing arm phase action according to the robot's body tilt angle.
9. An electronic device, characterized in that, It includes a processor and a memory, the memory storing computer-readable instructions, which, when executed by the processor, perform the steps of the obstacle-crossing control method for the curtain wall cleaning robot as described in any one of claims 1-7.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it performs the steps in the obstacle-crossing control method for the curtain wall cleaning robot as described in any one of claims 1-7.
Citation Information
Patent Citations
Milling machine obstacle crossing control method and milling machine
CN118915715A
Control method for obstacle crossing of cleaning equipment and related equipment
CN120093182A