Design of control software for high-rise building cleaning robots
2026-04-06 06:48:24··#1
Abstract: This paper briefly introduces a service robot for cleaning glass curtain walls of high-rise buildings and discusses the structural characteristics of its control software. Based on this, the key technologies in the software structure are explained in detail at the end of the paper. Keywords: Cleaning robot; Control software 1 Introduction The modernization of cities has resulted in numerous high-rise buildings. For the purposes of lighting and aesthetics , many high-rise buildings use glass curtain walls as their exterior decoration, thus bringing about the problem of curtain wall cleaning. Cleaning the glass curtain walls of tall buildings is a heavy and dangerous task. Currently, both domestically and internationally, lifting platforms or suspended baskets are mainly used to support cleaners for cleaning glass walls. Manual cleaning of high-rise buildings is not only costly and inefficient, but also extremely dangerous. Accidents involving cleaners falling from heights and dying occur frequently. High-rise building curtain wall cleaning robots will liberate humans from dangerous high-altitude cleaning operations. This fully pneumatic, vacuum-adsorption high-rise building glass curtain wall cleaning robot features cylinder-driven components for all moving parts. The robot's main frame is composed of two rodless main cylinders (X and Y), resulting in a compact and lightweight design. Retractable legs equipped with vacuum suction cups allow the robot to autonomously move longitudinally and laterally on the glass curtain wall through alternating leg adsorption and the movement of the main cylinders. A lumbar joint between the two main cylinders allows the robot to return to a normal position if it deviates. It can autonomously crawl, clean, detect obstacles, and cross obstacles on flat, 45° inclined, and 90° vertical glass surfaces. The robot system is used for cleaning high-altitude glass curtain walls under harsh working conditions, undoubtedly requiring higher safety and reliability for engineering applications. Once the hardware system design of the controller is complete, improving the system's software performance will become a priority. 2. Robot Control Software Design The robot uses a programmable logic controller (PLC) as its core control element, which boasts advantages such as high reliability, good adaptability, strong interface functionality, flexible configuration, and short software development and debugging cycles. The robot is equipped with various sensors to detect window frames, eaves, the ground, and rubber strips, and to sense its own position and status, providing the controller with necessary environmental and status information. The robot's operation process is divided into four parts: self-check, initialization, operation, and information feedback. The software structure is shown in the robot body program planning diagram (omitted). The self-check and initialization processes ensure the normal operation of the robot body and acquire various basic operating environment parameters and boundary conditions, enabling the system to understand the environmental field information. When the cleaning operation begins, the operator outputs control commands through the touchscreen. The robot body is autonomously planned, scheduled, and driven by the onboard controller. First, the command encoding obtained from the control information integration section is decoded and memorized, and the safety and rationality of the commands are verified. Next, a reasonable motion planning scheme is formed, and action sequences are allocated, executed, and managed for specific tasks, generating various status flags. Finally, it is determined whether a fault has occurred and information feedback and processing are performed. A modular approach is adopted in the software design of the robot. This approach is based on the division of typical robot motion elements, designing the overall system software as a structure composed of relatively independent, single-function motion element modules. In complex program structures, the programming characteristics of programmable controllers can lead to coupling between upper-level actions. However, the modular design method effectively prevents errors from spreading between modules due to their relative independence, thereby improving system reliability. The design of typical motion elements facilitates the design and implementation of control functions, and modular design also brings many conveniences to expanding existing systems and building new systems. The mutual conversion between the various parts of the window cleaning robot's motion and operation is subject to strict constraints. Modular design also requires necessary encapsulation of certain actions to provide operators with a simple and safe operating command interface. The encapsulation of robot motion must consider the convenience, rationality, and reliability of operation, as well as the flexibility and inheritability of implementation. Following the principle of task-oriented layered planning, modular design should meet the requirements of transparency, compatibility, and fault tolerance. Transparency – Module transparency refers to the fact that, for upper-level function calls, the called module, after completing its specified function, should not leave any additional impact or change other states unrelated to that module. Compatibility – The overall program of a control system contains many interrelated modules. The cooperation and coordination between these modules is called compatibility. Good compatibility requires that the output conditions of relevant modules and the input conditions of subsequent modules are compatible, and that the connection between modules achieves the goal of minimizing movement steps and maximizing efficiency. This facilitates concise and clear program calls, enhancing readability. Compatible design ensures that the robot's overall movements are coordinated and reasonable, with no redundant steps, achieving maximum efficiency in completing tasks. Fault Tolerance – Module fault tolerance means that a module should not only complete its specified function under normal conditions but also handle abnormal situations, promptly detecting and properly handling various faults to ensure the normal and stable operation of the system. For this robot, the processing generally refers to: the PLC software immediately issuing a fault warning to the human-machine interface; the robot returning to its most recent state and re-executing the unfinished action; each module receiving monitoring commands from the human-machine interface at any time during task execution; and if the specified function still cannot be completed after a pre-set number of repetitions, the upper level switches to the fault handling module. To achieve the various functions mentioned above, the program sets many status flags, including communication control bits, decoding action flags, action start flags, action in progress flags, action completion or fault flags, and status flags for important attributes such as vacuum and tilt. These status flags work together to form an important means of communication between modules. Higher-level functional modules call lower-level action modules based on various status flags. That is, an operation is completed by setting the relevant status flags to 1 after action planning decomposition, and the logical sequence of actions is determined by the success flag of the previous sub-module. This status flag method, combined with the cyclic scanning mechanism of the programmable controller, ensures the execution of multiple tasks in the system from a macroscopic perspective, and guarantees the safety and reliability of module execution at any given time from a microscopic perspective. 3. Software Implementation of Key Technologies The following section discusses typical problems in software implementation. First, let's discuss the data processing problem of ultrasonic sensors. The external information processed by the robot mainly consists of aluminum window frames and tall obstacles. Through the detection of these two types of obstacles, the controller processes the data to complete the geometric reconstruction of the working environment. Contact switches are used for detecting tall obstacles, while ultrasonic sensors are used for detecting aluminum window frames and suspended objects. Ultrasonic waves detect the presence of objects by utilizing ultrasonic reflection and scattering at the interface. During the propagation of ultrasonic waves in air or water, reflection occurs when encountering other media due to the difference in acoustic impedance between the two media. Therefore, by emitting ultrasonic waves towards the object being measured in air or water, detecting the reflected waves, and analyzing them, the existence, location, or properties of the object can be determined. The magnitude of reflectivity depends on the difference in acoustic impedance between the two media; the greater the difference, the higher the reflectivity. Acoustic impedance is generally expressed by the following formula: Z = ρC (Equation 1) where ρ is the density of the medium, and C is the velocity of sound in the medium. The density and velocity of sound of air and solids differ greatly, therefore the reflectivity at their interface is close to 100%. If the interface between two media is relatively flat and has a certain area, the ultrasonic waves reaching it will be reflected almost like a mirror. If the interface is uneven, irregular reflections will occur in different directions. When using ultrasonic sensors, five issues should be considered: ranging accuracy, maximum ranging range, azimuth resolution, the reflection performance of the measured object, and ranging time. Other factors affecting measurement accuracy include temperature, air pressure, and wind, with temperature having the most significant impact. The ultrasonic sensor used in the robot has a detection range of 5-25cm, a resolution of 1mm = 40mV, a response time of 50ms at close range and 300ms at long range, and an operating environment temperature of -10-55℃. The performance of the ultrasonic sensor is shown in the figure (details available upon request from the author). The horizontal axis unit is millimeters, and the vertical axis unit is 10/4096V. The ultrasonic sensor working diagram (details available upon request from the author) illustrates the working process of the ultrasonic sensors in four directions on the robot body; only the upper sensor in the vertical Y direction is used as an example. When upward movement is required, the Y-cup lifts, the cylinder moves upward, and the upper ultrasonic sensor is activated. Only under these conditions does the software process the data. The data read by the upper ultrasonic sensor for the first time is used as the penultimate, second, and third sampling data values, denoted as A1, A2, and A3 respectively, with A representing the current sampling value. In subsequent scanning cycles, A is first compared with the previous sampling value A1. When the difference meets a certain value, A is then compared with A2. Only when A differs significantly from both A1 and A2 (i.e., a sudden change as shown in the diagram) can it be determined that an obstacle exists within the known range. The type of obstacle can be identified based on the difference data. If the sudden change requirement is not met, each data value is updated, which can be simply expressed as: A3=A2, A2=A1, A1=A. This method has yielded good results in applications. The reliability of adsorption is crucial in high-rise building window cleaning robot systems, and it has the highest priority among all faults handled by the control software. To ensure reliable adsorption, a redundant design approach is employed, processing the adsorption status at both the beginning and end of the program. A diagram of the vacuum establishment process for the X-cup is available upon request from the author. Once the vacuum establishment start flag is set, the vacuum status of the X-cup is first checked. The program execution is determined based on the test results; processing only begins when both the orientation and vacuum conditions are met. The diagram only shows one scan; the program's loop is ensured by the PLC's cyclic scanning mechanism. The entire operation is timed and monitored. If the vacuum in both sets of suction cups in the X direction is not established within a set time, a fault is detected, a fault flag is set, and various timers and start flags are reset. After the gas replenishment action begins, the replenishment time is also monitored. If the vacuum is established within 4 seconds, a good status flag is set, and the start flag, fault flag, and various timers are reset. However, if the continuous replenishment time for both sets of suction cups exceeds 4 seconds, a fine-tuning action flag is set, requiring the suction cups to be moved a small displacement along the relevant direction, and the start flag and timer t are reset. A corresponding vacuum processing and subsequent fine-tuning section is set at the end of the program. Due to the PLC's batch processing mechanism, the program at the end is automatically guaranteed to have the highest priority. The process of handling the X-cup is still explained using the X-cup as an example. When a slight misalignment in the X direction is detected, the vacuum establishment action flag is first disabled, the X-cup is lifted, and then, using the relevant direction flags, it is moved 50mm in the opposite direction of the previous movement. The vacuum establishment flag is then restored, and the operation shown in the diagram above is repeated until successful. If the total time of all operations exceeds T, the fault handling program is entered. The fault handling section mainly refers to soft faults. In emergency situations, the robot must enter a protection state to avoid significant losses. After the operator issues an intervention command, the X and Y cylinders are first pneumatically locked, the X and Y suction cups are attached to the glass surface, and a vacuum is established; the scene is protected, and other action flags and various fault flags are reset. Depending on the current operating status, the action can be re-executed or the system can be re-initialized. Alternatively, manual operation mode can be switched for handling. 4. Summary This paper introduces the structure and features of the control software for a glass curtain wall cleaning robot, explains the robot's operation process with a flowchart, and details the design of the ultrasonic sensor and adsorption module. The robot has been delivered to the user, and practical experience has proven the control software to be safe and reliable. References [1] Japan Robotics Society, ed., Translated by Zong Guanghua et al., Robotics Technology Handbook, Science Press, October 1996, 1st edition [2] Nishigami Masahiro, Mizushima Toshifumi, “glass roof cleaning robot system 'Canadian Crab'” Journal of the Robotics Society of Japan, Vol.10 No.5, Sep.1992, (in Japanese) [3] Jiang Xinsong, ed., Introduction to Robotics, Liaoning Science and Technology Press, April 1994, 1st edition [4] Fu Jingxun et al., ed., Robotics - Control, Sensing Technology, Vision, Intelligence, China Science and Technology Press, October 1989, 4th edition [5] Zhou Yuanqing, Zhang Zaixing et al., ed., Intelligent Robot Systems, Tsinghua University Press, August 1989, 1st edition