A position positioning method and system of a glass curtain wall cleaning robot
By constructing a virtual grid map using the robot's own sensors and detecting cross-frame events, the adaptability and accuracy issues of autonomous positioning of glass curtain walls in existing technologies have been solved. This has enabled high-precision and robust glass panel recognition and hierarchical positioning, improving the system's autonomy and security.
Patent Information
- Application Number
- CN202511469483.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-15
- Publication Date
- 2025-12-26
- Estimated Expiration
- 2045-10-15
AI Technical Summary
Existing technologies for autonomous positioning of glass curtain walls suffer from problems such as reliance on external infrastructure, poor adaptability, and low positioning accuracy. In particular, methods based on absolute measurement, pre-stored models, and markers are difficult to achieve high-precision and robust hierarchical positioning in high-rise buildings.
A method based on the robot's own sensors is adopted to construct a virtual grid map through image preprocessing and edge extraction. Combined with cross-frame event detection, high-precision glass panel recognition and hierarchical localization are achieved. A state machine model is used for autonomous control and error correction.
It achieves high-precision and robust glass panel positioning, can adapt to changes in different glass curtain walls, reduces computational load, improves system security and autonomy, and avoids cumulative errors and external dependencies.
Smart Images

Figure CN120927011B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to glass curtain wall cleaning, in particular to a position positioning method and system of a glass curtain wall cleaning robot. BACKGROUND
[0002] The maintenance work of high-rise building glass curtain wall is a high-risk and high-cost work, and the automatic robot replacing human work has become an inevitable trend. However, the autonomous navigation and accurate positioning of the robot on the vertical curtain wall has always been a core technical bottleneck, and the existing technical solutions mainly have the following defects:
[0003] 1) Positioning method based on absolute measurement: such as measuring the length of the hoist release cable by an encoder to estimate the height, which is affected by factors such as cable stretching, slipping, wind load swinging, etc., and has significant cumulative error, which cannot meet the level positioning accuracy requirement of "on which glass";
[0004] 2) Matching positioning method based on pre-stored model: pre-storing the three-dimensional model or image features of the glass curtain wall of the whole building, and the robot matches the model through sensor data, which has poor flexibility and cannot adapt to different buildings, and has low robustness to apparent changes of the glass curtain wall caused by factors such as light, weather, and temporary hanging objects, and large calculation overhead;
[0005] 3) Positioning method based on markers: need to pre-paste markers such as two-dimensional codes or reflective plates on the glass curtain wall, although the positioning accuracy is high, but it destroys the beauty of the glass curtain wall, and the implementation cost is high, and it is not suitable for buildings in use.
[0006] Therefore, there is an urgent need in the art for a solution that does not rely on external infrastructure, does not require pre-stored models, can adapt to different glass curtain walls, and can achieve high-precision level positioning. The purpose of the present application is to overcome the shortcomings of the prior art, and to provide a glass panel recognition and level positioning technology based on the robot's own sensors, which is real-time and robust. SUMMARY
[0007] In view of the above-mentioned defects of the prior art, the present application provides a position positioning method and system of a glass curtain wall cleaning robot, which can effectively overcome the defects of the prior art, such as the need to rely on external infrastructure, poor adaptability, and low positioning accuracy.
[0008] To achieve the above purpose, the present application is realized by the following technical solutions:
[0009] A position positioning method of a glass curtain wall cleaning robot, comprising the following steps:
[0010] S1, the robot collects original glass curtain wall images, and performs image preprocessing and edge extraction to obtain a binary edge map;
[0011] S2, a virtual grid map is constructed according to the binary edge map;
[0012] S3, the upper, lower, left and right candidate boundaries of the current glass panel are determined according to the virtual grid map, and the current glass rectangle is identified;
[0013] S4, cross-frame event detection and confirmation are performed according to the current glass rectangle, and position positioning is performed according to the number of cross-frame event completion.
[0014] Preferably, image preprocessing is performed in S1, including:
[0015] S111, the robot collects original glass curtain wall images I_raw, and synchronously reads IMU data to obtain the pitch angle and roll angle of the robot;
[0016] S112, the region of interest ROI is demarcated according to the position of the mechanical structure of the robot body in the original glass curtain wall image I_raw, so as to exclude the interference of the robot limbs and cables;
[0017] S113, when the pitch angle / roll angle of the robot exceeds a preset angle threshold, a transformation matrix is calculated according to the attitude angle, the region of interest ROI is adaptively corrected based on the attitude to obtain an IMU corrected image I_rectified which simulates a direct view of the glass curtain wall.
[0018] Preferably, edge extraction is performed in S1, including:
[0019] S121, the IMU corrected image I_rectified is converted into a gray image I_gray;
[0020] S122, adaptive filtering is performed on the gray image I_gray by using bilateral filtering or non-local mean filtering based on local statistical characteristics, so as to smooth the noise and better preserve the window frame edge;
[0021] S123, X-direction gradient intensity map Grad_x and Y-direction gradient intensity map Grad_y are extracted by using Sobel operators with different sizes, and the gradient intensity maps obtained by the large-size kernel which can capture the rough window frame and the small-size kernel which can capture the fine glue joint are weighted and fused to generate an edge intensity map Grad_combined through multi-scale edge fusion;
[0022] S124, Canny edge detection with adaptive threshold is adopted to process the edge intensity map Grad_combined to obtain a binary edge map I_edge.
[0023] Preferably, the virtual grid map is constructed according to the binary edge map in S2, comprising:
[0024] S21, performing a probabilistic Hough transform on the binary edge map I_edge to obtain a line segment set Lines;
[0025] S22, using a preset clustering algorithm based on angle and distance threshold to aggregate collinear and adjacent line segments into a group, thereby clustering the line segment set Lines;
[0026] S23, for each group of line segments, using a least squares method to fit an optimal long straight line L_i, thereby optimizing the line segment set Lines, solving the problem of line segment breakage caused by glass reflection and stains, and obtaining more complete and accurate grid lines;
[0027] S24, dividing the obtained grid lines into a horizontal line set H_lines and a vertical line set V_lines, performing grid intersection reasoning by calculating the intersection points of the straight lines in the horizontal line set H_lines and the vertical line set V_lines, reasoning out a complete grid structure, and constructing a virtual grid map Grid_map in the memory.
[0028] Preferably, the current glass panel is determined according to the virtual grid map in S3, and the upper, lower, left and right candidate boundaries of the current glass panel are recognized, and the current glass rectangle is recognized, comprising:
[0029] S31, defining a horizontal scanning line passing through the horizontal center axis of the image and a vertical scanning line passing through the vertical center axis of the image in the image coordinate system;
[0030] S32, scanning from the center point in the left and right directions along the horizontal scanning line to find the first intersection point with the straight lines in the vertical line set V_lines, and the straight lines in the vertical line set V_lines at the intersection points are the left candidate boundary L_candidate and the right candidate boundary R_candidate, respectively;
[0031] S33, scanning from the center point in the up and down directions along the vertical scanning line to find the first intersection point with the straight lines in the horizontal line set H_lines, and the straight lines in the horizontal line set H_lines at the intersection points are the upper candidate boundary U_candidate and the lower candidate boundary D_candidate, respectively;
[0032] S34, check whether the four candidate boundaries U_candidate, D_candidate, L_candidate, R_candidate can form a closed rectangle in the virtual grid map Grid_map: if yes, take the closed rectangle as the current glass rectangle Current_glass_rect; otherwise, expand the scanning range or combine the results of the previous frame image for prediction.
[0033] Preferably, the cross-frame event detection and confirmation according to the current glass rectangle in S4 and the position localization according to the number of cross-frame event completion times are performed, including:
[0034] S41, introduce a state machine model to manage the position localization process and perform calibration initialization;
[0035] S42, perform cross-frame event detection by tracking the relative positions of the upper candidate boundary U_candidate and the lower candidate boundary D_candidate of the current glass rectangle Current_glass_rect in the image sequence in real time:
[0036] When the robot moves upwards, the longitudinal coordinate Y_top of the upper candidate boundary U_candidate in the image will gradually move downwards, if the longitudinal coordinate Y_top changes from greater than the first preset trigger threshold Th_cross1 to less than the first preset trigger threshold Th_cross1, and the robot continues to move upwards according to the IMU data or visual odometry, an upward pre-cross-frame event is triggered, and the state is switched to CROSSING_UP;
[0037] When the robot moves downwards, the longitudinal coordinate Y_bottom of the lower candidate boundary D_candidate in the image will gradually move upwards, if the longitudinal coordinate Y_bottom changes from less than the second preset trigger threshold Th_cross2 to greater than the second preset trigger threshold Th_cross2, and the robot continues to move downwards according to the IMU data or visual odometry, a downward pre-cross-frame event is triggered, and the state is switched to CROSSING_DOWN;
[0038] S43, perform cross-frame event confirmation:
[0039] In the CROSSING_UP state, continuous monitoring is performed, when the longitudinal coordinate Y_top is less than the first preset confirmation threshold Th_cross1' or completely moves out of the bottom of the image, and the robot detects a new current glass rectangle, it is confirmed that one upward cross-frame event is completed, at this time the level counter Level_Count is incremented by 1, and the state returns to ON_GLASS.
[0040] In the state of CROSSING_DOWN, the monitoring is continued, when the vertical coordinate Y_bottom is greater than the second preset confirmation threshold Th_cross2' or completely out of the top of the image, and the robot detects a new current glass rectangle, it is confirmed that a down-crossing event is completed, at this time the level counter Level_Count is decremented by 1, and the state returns to ON_GLASS;
[0041] S44, according to the counting of the level counter Level_Count, high-precision level positioning is performed.
[0042] Preferably, a state machine model is introduced in S41 to manage the position positioning process, and calibration initialization is performed, including:
[0043] A state machine model is introduced to manage the position positioning process, and the states of the state machine model include INITTALIZING, ON_GLASS, CROSSING_UP and CROSSING_DOWN;
[0044] The robot is placed at the starting point, the level counter Level_Count is set to 1, and the state is set to ON_GLASS.
[0045] Preferably, in the process of position positioning, a dead zone design is performed: once a pre-crossing event is triggered, the crossing event detection is suspended for a period of time to prevent repeated counting when the robot moves up and down on the window frame.
[0046] Preferably, in the process of position positioning, logical verification is performed:
[0047] If after triggering the up pre-crossing event, the robot detects that the feature between the lower candidate boundary of the new current glass rectangle and the upper candidate boundary of the last current glass rectangle in memory does not match, it is judged that a false positive has occurred, and an error correction program is immediately started to stop moving and re-perform image recognition;
[0048] If after triggering the down pre-crossing event, the robot detects that the feature between the upper candidate boundary of the new current glass rectangle and the lower candidate boundary of the last current glass rectangle in memory does not match, it is judged that a false positive has occurred, and an error correction program is immediately started to stop moving and re-perform image recognition.
[0049] A position positioning system of a glass curtain wall cleaning robot, comprising a robot, the robot comprising a main vision sensor, an inertial measurement unit, a processing unit and a moving platform;
[0050] A main visual sensor acquires original glass curtain wall images and sends them to a processing unit;
[0051] An inertial measurement unit provides IMU data to the processing unit;
[0052] The processing unit, in combination with the IMU data, performs image preprocessing and edge extraction on the original glass curtain wall images to obtain a binary edge map, constructs a virtual grid map based on the binary edge map, determines the upper, lower, left and right candidate boundaries of the current glass panel based on the virtual grid map, and identifies the current glass rectangle, performs cross-frame event detection and confirmation based on the current glass rectangle, and performs position positioning based on the number of completed cross-frame events;
[0053] A moving platform is used for the robot to move up and down along the glass curtain wall.
[0054] Compared with the prior art, the position positioning method and system of the glass curtain wall cleaning robot provided by the present application has the following beneficial effects:
[0055] 1) High precision and high reliability: By means of "local feature recognition + cross-frame event counting", the cumulative error existing in the absolute positioning method is avoided, and high-precision hierarchical positioning without drift is realized;
[0056] 2) Strong environmental adaptability: Multi-strategy image preprocessing and adaptive image correction based on inertial assistance make the present application have strong robustness to light changes, glass reflections, slight rain stains and robot posture shaking;
[0057] 3) True online and autonomous control: The present application completely does not rely on any external preset information (such as maps, models, markers, etc.), and realizes full autonomous positioning without any external assistance;
[0058] 4) High computing efficiency: By means of strategies such as defining a region of interest (ROI) and line segment clustering optimization, the computing load is significantly reduced, so that the present application can run in real time on a resource-limited embedded platform;
[0059] 5) Enhanced safety: The built-in state machine model and error correction logic can timely detect positioning abnormalities and immediately start the error correction program, greatly improving the safety of the system. BRIEF DESCRIPTION OF DRAWINGS
[0060] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings needed to be used in the embodiment or prior art description. Obviously, the drawings in the following description are only some embodiments of the present application, and for those skilled in the art, other drawings can also be obtained without creative labor on the basis of these drawings.
[0061] Figure 1 Flowchart of the present application;
[0062] Figure 2 Flowchart of the present application;
[0063] Figure 3 Flowchart of the present application for image preprocessing and edge extraction of the original glass curtain wall image to obtain a binary edge map;
[0064] Figure 4 Flowchart of the present application for constructing a virtual grid map according to the binary edge map;
[0065] Figure 5 Principle diagram of the present application for identifying the current glass rectangle according to the virtual grid map;
[0066] Figure 6 State transition diagram of the state machine model of the present application;
[0067] Figure 7 Timing diagram for completing one upward cross-frame event detection in the present application. DETAILED DESCRIPTION
[0068] To make the objectives, technical solutions, and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be described below in a clear and complete manner with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are some but not all of the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by a person of ordinary skill in the art without creative work fall within the protection scope of the present application.
[0069] The specific process of the position positioning method of the glass curtain wall cleaning robot provided by the present application will be introduced below with reference to a specific example (as shown in Figure 1 ).
[0070] S1, the robot collects an original glass curtain wall image, and performs image preprocessing and edge extraction to obtain a binary edge map.
[0071] 1) Image preprocessing is performed, as shown in Figure 3 , including:
[0072] S111, the robot collects an original glass curtain wall image I_raw, and synchronously reads IMU data to obtain the pitch angle and roll angle of the robot;
[0073] S112, according to the position (usually the center is slightly lower) of the mechanical structure of the robot body in the original glass curtain wall image I_raw, a region of interest ROI is delimited to exclude the interference of the robot limbs and cables;
[0074] S113, when the pitch / roll angle of the robot exceeds a preset angle threshold (e.g., 5°), a transformation matrix is calculated according to the attitude angle, and a pose-based adaptive image correction is performed on the region of interest (ROI) to obtain an IMU corrected image I_rectified that simulates a direct view of the glass curtain wall.
[0075] 2) edge extraction is performed, as shown in Figure 3 including:
[0076] S121, the IMU corrected image I_rectified is converted into a gray image I_gray;
[0077] S122, adaptive filtering is performed on the gray image I_gray using bilateral filtering or non-local mean filtering based on local statistical characteristics, which smoothes noise while better preserving the window frame edges;
[0078] S123, Sobel operators with different kernel sizes are used to extract X-direction gradient intensity maps Grad_x and Y-direction gradient intensity maps Grad_y, respectively, and the gradient intensity maps obtained by the large kernel size that can capture the rough window frame and the small kernel size that can capture the fine glue joint are weighted and fused to generate an edge intensity map Grad_combined through multi-scale edge fusion;
[0079] S124, Canny edge detection with adaptive threshold is performed on the edge intensity map Grad_combined to obtain a binary edge map I_edge.
[0080] S2, a virtual grid map is constructed according to the binary edge map, as shown in Figure 4 including:
[0081] S21, a probabilistic Hough transform is performed on the binary edge map I_edge to detect a line segment set Lines;
[0082] S22, a clustering algorithm (e.g., DBSCAN clustering algorithm) based on preset angle and distance thresholds is used to aggregate collinear and adjacent line segments into a group, thereby clustering the line segment set Lines;
[0083] S23, for each group of line segments, a least squares method is used to fit an optimal long straight line L_i, thereby optimizing the line segment set Lines, solving the line segment breakage problem caused by glass reflection and stains, and obtaining more complete and accurate grid lines;
[0084] S24, the obtained grid lines are divided into a horizontal line set H_lines and a vertical line set V_lines, intersection points of straight lines in the horizontal line set H_lines and the vertical line set V_lines are calculated, grid intersection reasoning is performed, a complete grid structure is reasoned out, and a virtual grid map Grid_map is constructed in the memory.
[0085] The physical position of the robot determines that the central region of the camera view must cover the glass panel currently adsorbed by the robot, and the boundary (i.e., the window frame) of the glass panel is the most prominent and closest grid line in the view.
[0086] S3, the upper, lower, left and right candidate boundaries of the current glass panel are determined according to the virtual grid map, and the current glass rectangle is identified, as shown in Figure 5 , which includes
[0087] S31, a horizontal scanning line passing through the horizontal center axis of the image and a vertical scanning line passing through the vertical center axis of the image are defined in the image coordinate system;
[0088] S32, the horizontal scanning line is scanned from the center point to the left and right directions respectively to find the first intersection point with the straight lines in the vertical line set V_lines, and the straight lines in the vertical line set V_lines at the intersection points are the left candidate boundary L_candidate and the right candidate boundary R_candidate respectively;
[0089] S33, the vertical scanning line is scanned from the center point to the upper and lower directions respectively to find the first intersection point with the straight lines in the horizontal line set H_lines, and the straight lines in the horizontal line set H_lines at the intersection points are the upper candidate boundary U_candidate and the lower candidate boundary D_candidate respectively;
[0090] S34, it is checked whether the four candidate boundaries, i.e., the upper candidate boundary U_candidate, the lower candidate boundary D_candidate, the left candidate boundary L_candidate and the right candidate boundary R_candidate, can form a closed rectangle in the virtual grid map Grid_map: if yes, the closed rectangle is taken as the current glass rectangle Current_glass_rect; otherwise, the scanning range is expanded or the result of the previous frame image is combined for prediction.
[0091] S4, cross-frame event detection and confirmation are performed according to the current glass rectangle, and position positioning is performed according to the number of cross-frame event completion times, as shown in Figure 6 and Figure 7 , which includes
[0092] S41, introduce a state machine model to manage the position positioning process, and perform calibration initialization;
[0093] S42, perform cross-frame event detection by tracking the relative positions of the upper candidate boundary U candidate and the lower candidate boundary D candidate of the current glass rectangle Current_glass_rect in the image sequence in real time:
[0094] As Figure 7 shown, when the robot moves upward, the longitudinal coordinate Y top of the upper candidate boundary U candidate in the image will gradually move downward, if the longitudinal coordinate Y top changes from greater than the first preset trigger threshold Th cross1 to less than the first preset trigger threshold Th cross1, and the robot continues to move upward according to the IMU data or visual odometry, an upward pre-cross-frame event is triggered, and the state is switched to the crossing up state CROSSING UP;
[0095] When the robot moves downward, the longitudinal coordinate Y bottom of the lower candidate boundary D candidate in the image will gradually move upward, if the longitudinal coordinate Y bottom changes from less than the second preset trigger threshold Th cross2 to greater than the second preset trigger threshold Th cross2, and the robot continues to move downward according to the IMU data or visual odometry, a downward pre-cross-frame event is triggered, and the state is switched to the crossing down state CROSSING DOWN;
[0096] S43, perform cross-frame event confirmation:
[0097] As Figure 7 shown, in the state of CROSSING UP, continuous monitoring is performed, when the longitudinal coordinate Y top is less than the first preset confirmation threshold Th cross1' or completely moves out of the bottom of the image, and the robot detects a new current glass rectangle, it is confirmed that a upward cross-frame event is completed, at this time the level counter Level Count is incremented by 1, and the state returns to ON GLASS;
[0098] In the state of CROSSING DOWN, continuous monitoring is performed, when the longitudinal coordinate Y bottom is greater than the second preset confirmation threshold Th cross2' or completely moves out of the top of the image, and the robot detects a new current glass rectangle, it is confirmed that a downward cross-frame event is completed, at this time the level counter Level Count is decremented by 1, and the state returns to ON GLASS;
[0099] S44, according to the counting of the level counter Level_Count, high-precision level positioning is performed to determine the vertical sequence position of the robot on the glass curtain wall (i.e., the current position of the robot on the glass curtain wall from top to bottom).
[0100] Specifically, in S41, a state machine model is introduced to manage the position positioning process, and calibration initialization is performed, including:
[0101] A state machine model is introduced to manage the position positioning process, as shown in Figure 6 The states of the state machine model include INITTALIZING, ON_GLASS, CROSSING_UP, and CROSSING_DOWN.
[0102] The robot is placed at the starting point (e.g., the first glass panel), the level counter Level_Count is set to 1, and the state is set to ON_GLASS.
[0103] Specifically, during the position positioning process, a dead zone design is performed, as shown in Figure 6 Once the pre-crossing event is triggered, the crossing event detection is suspended for a period of time to prevent repeated counting when the robot moves up and down on the window frame.
[0104] Specifically, during the position positioning process, a logic verification is performed, as shown in Figure 6
[0105] If the robot detects that the new current glass rectangle has a feature (e.g., width) that does not match the feature of the previous current glass rectangle after triggering the upward pre-crossing event, it is determined that a false positive has occurred, and the error correction program is immediately started to stop moving and re-perform image recognition.
[0106] If the robot detects that the new current glass rectangle has a feature (e.g., width) that does not match the feature of the previous current glass rectangle after triggering the downward pre-crossing event, it is determined that a false positive has occurred, and the error correction program is immediately started to stop moving and re-perform image recognition.
[0107] Based on the above-disclosed position positioning method of the glass curtain wall cleaning robot, the technical scheme of the present application also discloses a position positioning system for a glass curtain wall cleaning robot, as shown in Figure 2 The robot includes a main visual sensor, an inertial measurement unit, a processing unit, and a moving platform.
[0108] The main visual sensor collects raw glass curtain wall images and sends them to the processing unit.
[0109] an inertial measurement unit configured to provide IMU data to the processing unit;
[0110] the processing unit is configured to perform image preprocessing and edge extraction on the original glass curtain wall image in combination with the IMU data to obtain a binary edge map, construct a virtual grid map according to the binary edge map, determine the upper, lower, left and right candidate boundaries of the current glass panel according to the virtual grid map, identify the current glass rectangle, perform cross-frame event detection and confirmation according to the current glass rectangle, and perform position positioning according to the number of cross-frame event completions;
[0111] a moving platform for moving the robot up and down along the glass curtain wall.
[0112] The above embodiments are only used to illustrate the technical solutions of the present application, but not to limit it; although the present application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that the technical solutions recorded in the foregoing embodiments can still be modified, or some technical features can be replaced by equivalents; and these modifications or replacements will not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present application.
Claims
1. A method for position positioning of a glass curtain wall cleaning robot, characterized in that: The method comprises the following steps: S1, the robot collects original glass curtain wall images, and performs image preprocessing and edge extraction to obtain a binary edge map; S2, a virtual grid map is constructed according to the binary edge map; S3, the upper, lower, left and right candidate boundaries of the current glass panel are determined according to the virtual grid map, and the current glass rectangle is identified, comprising: S31, in the image coordinate system, a horizontal scanning line passing through the horizontal center axis of the image and a vertical scanning line passing through the vertical center axis of the image are defined; S32, the horizontal scanning line is scanned from the center point to the left and right directions respectively, and the first intersection point with the straight lines in the vertical line set V_lines is found, and the straight lines in the vertical line set V_lines where the intersection points are located are the left candidate boundary L_candidate and the right candidate boundary R_candidate respectively; S33, the vertical scanning line is scanned from the center point to the upper and lower directions respectively, and the first intersection point with the straight lines in the horizontal line set H_lines is found, and the straight lines in the horizontal line set H_lines where the intersection points are located are the upper candidate boundary U_candidate and the lower candidate boundary D_candidate respectively; S34, it is checked whether the four candidate boundaries, i.e., the upper candidate boundary U_candidate, the lower candidate boundary D_candidate, the left candidate boundary L_candidate and the right candidate boundary R_candidate, can form a closed rectangle in the virtual grid map Grid_map: if yes, the closed rectangle is taken as the current glass rectangle Current_glass_rect; otherwise, the scanning range is expanded or the result of the previous frame image is combined for prediction; S4, the cross-frame event detection and confirmation are performed according to the current glass rectangle, and the position positioning is performed according to the number of cross-frame event completion, comprising: S41, a state machine model is introduced to manage the position positioning process, and calibration initialization is performed; S42, the cross-frame event detection is performed by tracking the relative positions of the upper candidate boundary U_candidate and the lower candidate boundary D_candidate of the current glass rectangle Current_glass_rect in the image sequence: When the robot moves upward, the longitudinal coordinate Y_top of the upper candidate boundary U_candidate in the image will gradually move downward, if the longitudinal coordinate Y_top changes from greater than a first preset trigger threshold Th_cross1 to less than the first preset trigger threshold Th_cross1, and the robot continuously moves upward is confirmed according to the IMU data or the visual odometry, the upward pre-crossing event is triggered, and the state is switched to the upward crossing state CROSSING_UP; When the robot moves downward, the longitudinal coordinate Y_bottom of the lower candidate boundary D_candidate in the image will gradually move upward, if the longitudinal coordinate Y_bottom changes from being less than the second preset trigger threshold Th_cross2 to being greater than the second preset trigger threshold Th_cross2, and the robot continues to move downward according to the IMU data or visual odometry, a downward crossing event is triggered, and the state is switched to CROSSING_DOWN; S43, crossing event confirmation is performed: In the CROSSING_UP state, continuous monitoring is performed, when the longitudinal coordinate Y_top is less than the first preset confirmation threshold Th_cross1' or completely moves out of the bottom of the image, and the robot detects a new current glass rectangle, it is confirmed that a upward crossing event is completed, at this time, the level counter Level_Count is incremented by 1, and the state returns to ON_GLASS; In the CROSSING_DOWN state, continuous monitoring is performed, when the longitudinal coordinate Y_bottom is greater than the second preset confirmation threshold Th_cross2' or completely moves out of the top of the image, and the robot detects a new current glass rectangle, it is confirmed that a downward crossing event is completed, at this time, the level counter Level_Count is decremented by 1, and the state returns to ON_GLASS; S44, high-precision level positioning is performed according to the count of the level counter Level_Count. 2.The method of Claim 1, wherein: In S1, image preprocessing is performed, including: S111, the robot collects an original glass curtain wall image I_raw, and synchronously reads IMU data to obtain the pitch angle and roll angle of the robot; S112, an area of interest ROI is demarcated according to the position of the mechanical structure of the robot body in the original glass curtain wall image I_raw, so as to exclude the interference of the robot limbs and cables; S113, when the pitch angle / roll angle of the robot exceeds a preset angle threshold, a transformation matrix is calculated according to the attitude angle, and adaptive image correction based on the attitude is performed on the area of interest ROI to obtain an IMU corrected image I_rectified simulating a glass curtain wall. 3.The method of Claim 2, wherein: In S1, edge extraction is performed, including: S121, the IMU corrected image I_rectified is converted into a gray image I_gray; S122, adaptive filtering is performed on the gray image I_gray by using bilateral filtering or non-local mean filtering based on local statistical characteristics, so as to better retain the window frame edge while smoothing the noise; S123, Sobel operators with different sizes are used to extract an X-direction gradient intensity image Grad_x and a Y-direction gradient intensity image Grad_y, respectively, and the gradient intensity images obtained by the large-size kernel capable of capturing a rough window frame and the small-size kernel capable of capturing a fine joint are weighted and fused to generate an edge intensity image Grad_combined through multi-scale edge fusion; S124, the Canny edge detection with adaptive threshold is used to process the edge intensity map Grad_combined to obtain a binary edge map I_edge. 4.The method of Claim 3, wherein: S2, a virtual grid map is constructed according to the binary edge map, comprising: S21, a probabilistic Hough transform is performed on the binary edge map I_edge to obtain a line segment set Lines; S22, a preset clustering algorithm based on angle and distance threshold is used to aggregate collinear and adjacent line segments into a group, thereby clustering the line segment set Lines; S23, for each group of line segments, a least square method is used to fit to obtain an optimal long straight line L_i, thereby optimizing the line segment set Lines, solving the line segment breakage problem caused by glass reflection and stains, and obtaining more complete and accurate grid lines; S24, the obtained grid lines are divided into a horizontal line set H_lines and a vertical line set V_lines, the intersection points of the straight lines in the horizontal line set H_lines and the vertical line set V_lines are calculated, grid intersection reasoning is performed, a complete grid structure is reasoned out, and a virtual grid map Grid_map is constructed in the memory. 5.The method of Claim 1, wherein: In S41, a state machine model is introduced to manage the position positioning process, and calibration initialization is performed, comprising: A state machine model is introduced to manage the position positioning process, and the states of the state machine model include initialization INITTALIZING, on glass ON_GLASS, crossing up CROSSING_UP and crossing down CROSSING_DOWN; The robot is placed at the starting point, the level counter Level_Count is set to 1, and the state is set to ON_GLASS. 6.The method of Claim 1, wherein: During the position positioning process, a dead zone is designed: once the pre-crossing event is triggered, the crossing event detection is suspended for a period of time to prevent repeated counting when the robot moves up and down on the window frame. 7.The method of Claim 1, wherein: During the position positioning process, logical verification is performed: If the robot detects that the new current glass rectangle lower candidate boundary does not match the last current glass rectangle upper candidate boundary after triggering the up pre-crossing event, it is judged that a misjudgment has occurred, the error correction program is started immediately, the movement is stopped, and image recognition is performed again; If the robot detects that the new current glass rectangle upper candidate boundary does not match the last current glass rectangle lower candidate boundary after triggering the down pre-crossing event, it is judged that a misjudgment has occurred, the error correction program is started immediately, the movement is stopped, and image recognition is performed again.
8. A position positioning system of a glass curtain wall cleaning robot, used for performing the position positioning method of the glass curtain wall cleaning robot according to claim 1, characterized in that: The robot comprises a main visual sensor, an inertial measurement unit, a processing unit and a mobile platform; The main visual sensor acquires an original glass curtain wall image and sends it to the processing unit; The inertial measurement unit provides IMU data to the processing unit; The processing unit carries out image preprocessing and edge extraction on the original glass curtain wall image in combination with the IMU data to obtain a binary edge map, constructs a virtual grid map according to the binary edge map, determines the upper, lower, left and right candidate boundaries of the current glass panel according to the virtual grid map, identifies the current glass rectangle, carries out cross-frame event detection and confirmation according to the current glass rectangle, and carries out position positioning according to the number of cross-frame event completion times. The mobile platform is used for moving the robot up and down along the glass curtain wall.
Citation Information
Patent Citations
Monocular frame distance measurement method and device, medium and curtain wall robot
CN115223031A
KR20210004763A