Keywords

1 Introduction

Façade cleaning of high-rise buildings and skyscrapers offers enormous opportunities for use of robots. In the recent decades, the skyscrapers have been built due to improvements in the construction technologies and processes. Even in such newfangled skyscrapers, the façades are generally cleaned by humans. Use of manual workforce poses high degree of risk of fall, accidents and even resulting in human fatalities. Numerous incidences of accidents have been reported even with the use of gondola in façade cleaning jobs. One such situation involved Gondola being uncontrollable due to a gust of wind at Shanghai World Financial Center [1]. In another instance, gondola became suspended in the mid air at 240 m height at One World Trade Center in New York [2]. Robotic solutions offer enormous potential in significantly minimizing risk to humans as well improving productivity in façade cleaning jobs.

To overcome such issue, efforts of researchers for glass façade cleaning robots has been reported. For example, a series of Skycleaners which is totally driven by pneumatic actuators have been developed to clean and locomote on the glass wall by utilizing the vacuum suction cups [3]. The Skycleaner is installed with the suction cups on the both end of actuators like a X-Y stage, and these suction cups are connected to a vacuum pump. Seo et al. has developed ROPE RIDE [4]. The ROPE RIDE enables to climb up vertical surface by utilizing a rope dropped down from the top of the building, and is installed two additional propeller thrusters to adhere on the wall certainly. SIRIUS is a wall cleaning robot developed by Fraunhofer IFF which is an industrial company in Germany [5]. SIRIUS realizes up-and-down motion by utilizing a crane which is installed on buildings for façade maintenance, and adheres on the wall by suction system which locomote like a linear actuator [6]. The methods of literatures are very effective and valid as shown in their experimental results. On the other hand, these robots have targeted specific building. Or, the robots require particular equipments such as clane. i.e. it is still difficult to adapt to any buildings. Hence, there is the issue in a side of adaptability to task environments.

Our ultimate goal is to develop a glass façade cleaning robot capable of adapting to any skyscrapers. To work a robot system at different shaped buildings, to possess some different morphologies is required. A self-reconfigurable robot is one of potent solution to realize high adaptability. Reconfigurable modular robot system allows to realize different morphology through assembling/disassembling/organizing system of each module. This research aims to implement the glass façade cleaning robot through development of a module robot possessing cleaning ability and design of both its locomotion control system and a assembling/disassembling/organizing system.

This paper proposes the modular robot strategy for the glass façade cleaning robot, and implements a module robot, which compose most basic role, including both design/development of the real robot and design of a control system on a glass surface. Firstly, design challenges of the glass façade cleaning robot is discussed from sides of glass cleaning process and area coverage, and our basic strategy based on the modular robot system is proposed. And, a biped type module robot based on the strategy is developed. A control system for the developed module robot consists of the inverse kinematics, the fifth polynomial interpolation and the sequential control. Finally, an experiment of the developed module on a glass surface is performed.

This paper is organized as follows. Section 2 discusses with respect to tasks for the glass façade cleaning, the design challenges based on it and our basic strategy based on the modular robot system. Section 3 designs the control system to locomote the developed module robot on the glass surface. It is verified in Sect. 4 that the devleoped module is capable of locomoting on the glass surface by utilizing the designed trajectory generator. Section 5 concludes this paper.

2 System Design for Glass Façade Cleaning Robot

This section discusses the design challenges of the glass façade cleaning robot from sides of glass cleaning process and area coverage, and proposes our basic strategy based on the modular robot system. In particular, abilities and tasks required to the system by glass façade cleaning are discussed, and solutions to satisfy these abilities and tasks is proposed. Also, hardware/software design challenges along the solutions is described. Finally, our basic strategy based on the modular robot system is proposed.

Firstly, the abilities and the tasks required to the system by glass façade cleaning are discussed based on building façade and cleaning method. The glass façade cleaning tasks requires following main tasks:

  • Terrain adaptability

    • Adapting to window shapes

    • Overcoming obstacles include findow frames

  • Cleaning ability

    • Washing/Brushing windows

    • Wiping away washing liquid

The above mentioned tasks varies largely based on the prevailing environmental conditions. On a dry surface for example, all of above tasks has to be passed. On the other hand, the washing task may not be required to be passed on a wet surface, because the task has been already passed by the environments. Also, fugitive dusts should be swept at buildings which are close to a desert by brushing. —i.e. the required tasks always vary even if same buildings are cleaned. In regard to the first main task “Terrain adaptability”, the developed robot has to move adapting to different shaped frames. 5 simple examples (Horizontally Long, Vertically Long, Parallelogram, Trapezoidal, and Curvilineal) are often found on some unique glass façade buildings. And, these are categorized as issue on “Window size” and “Window shape”. Therefore, two key points which are “Window size” and “Window shape” have to be passed to adapt to different shaped window frames. In regard to the second main task “Cleaning ability”, a scrubber and a squeezee are tools which the experts use. The experts work through following procedure: Come the grime off the glass surface by utilizing scrubber with cleaning liquid. Wipe the stand out grime by squeezee. Followings are key points to clean well: clean the window from top to bottom. Move the squeezee to track the scrubber. Keep the squeezee touching on the glass surface during cleaning same column. Clean toward to one direction.

Secondly, the design challenges for passing these key points is discussed. Its basic strategy is to resolve functions to achieve each key point as each individual design/control issue. Figure 1 shows a solution for two key points “Window size” and “Window shape”. The solution is belongs to a modular system, and consists of individual locomotable modules. And, Fig. 2 shows a solution for key points “technique of the scrubber and the squeezee” against the second main task “Cleaning ability”. The solution consists of swarm control system to control the modules systematically. From these solution, the challenges on hardware and software are listed as follows:

  • Hardware Design Challenges

    • Development of the modules

    • Development of cleaning unit which install the squeezee next to the scrubber

  • Software Design Challenges

    • Design of control system capable of keep touching both the scrubber and the squeezee to the glass surface

    • Design of transition planner in order to clean toward to one direction.

Fig. 1.
figure 1

Modular robot system for the glass façade cleaning robot. Number of modules enables to adapt to different size window frames. Expansion and contraction of the cleaning area of each module to different shape.

Fig. 2.
figure 2

Module transition plan to accomplish the cleaning task. The squeezee is installed next to the scrubber, and the glass surface is cleaned by moving it from top to bottom. To transition the modules from right (or left) is on of the key point for cleaning ability.

Finally, our strategy based on a modular robotic system is described here. Our strategy consists of both biped type modules installing a cleaning unit and its swarm robotic control system. The module possesses an ability to change its cleaning area by controlling foot location, and moves from top to bottom along window frames with overcoming it. One of characteristics of the system is its movement method of the module. Principally, there are characteristics corresponding to its structure such as X-Y stage type and Biped type even in legged-type robots. From the design challenges discussed in Sect. 2, the module need to move the cleaning unit from top of the window to the bottom continuously (—i.e. by traversable). It is equivalent to cover all glass surface by trajectory of top edge (or bottom edge) of the module. It is difficult for the X-Y stage type to realize it due to its structure characteristics. On the other hand, the biped type can accomplish it by controlling sophisticatedly. Thus, the developed module possesses characteristics of the biped type. Another characteristics is to be able to control height of the scrubber and the squeezee in the cleaning unit individually, because each is needed to move from the top of the window frame to the bottom.

Fig. 3.
figure 3

Photograph of the actual module robot.

Fig. 4.
figure 4

The schematic figure of the module robot in the 3 dimensional space.

3 Trajectory Generation

This section generates trajectories to locomote the developed module individually. Figure 3 shows a developed prototype of the module robot based on our basic strategy. A general biped robot move forward its left and right foot alternately. However, such locomotion is not effective for glass façade cleaning, as discussed in Sect. 2. In order to satisfy our basic strategy, the module basically locomotes with respect to each step. This paper generates a gait to locomote nest target step position indicated by an operator as a first step to be fully automation. Straight line basis gait should be generated rather than smooth gaits like animals. Because, processes of engaging/disengaging of the suction cup should approach against glass surface vertically, to prevent to involve edge of the suction cup. The straight line basis foot trajectories are generated by utilizing the fifth polynomial interpolation and the inverse kinematics. And, we assume that the foot position varies sequentially, and generate it utilizing the sequential control.

3.1 Inverse Kinematics

Firstly, target angles of each actuator \(\phi _{b1},~\phi _{b2},~\phi _1,~\phi _2\) [rad] to realize target positions of the foot unit \(x_r,~y_r,~z_r\) [cm] are formulated by utilizing the inverse kinematics. Figure 4 and Table 1 shows a schematic figure and parameters of the module robot.

Table 1. Physical parameters (\(i=1,2\)).

From Fig. 4, the target angles of the base actuators are:

$$\begin{aligned} \phi _{b\{1,2\}}=\tan ^{-1}\frac{y_r}{x_r}. \end{aligned}$$
(1)

And,

$$\begin{aligned} x_d&=\sqrt{x_r^2+y_r^2}-2d, \qquad l_3=\sqrt{x_d^2+z_r^2}, \qquad \phi _0=\tan ^{-1}\frac{x_d}{z_r}. \end{aligned}$$

By cosine theorem,

$$\begin{aligned} \phi _1&=\cos ^{-1}\frac{l_1^2+l_3^2-l_2^2}{2l_1l_3}, \qquad \phi _2=\cos ^{-1}\frac{l_2^2+l_3^2-l_1^2}{2l_2l_3}. \end{aligned}$$

Thus, the target angles of each link \(\theta _{\{1,2\}}\) are

$$\begin{aligned} \theta _1&=\phi _0+\phi _1,\end{aligned}$$
(2)
$$\begin{aligned} \theta _2&=-\phi _0+\phi _2. \end{aligned}$$
(3)

Trajectories of each joint to move the module is derived by utilizing the inverse kinematics formulated in (1)–(3).

3.2 5th Degree Polynomial Interpolation

A fifth degree polynomial interpolation generates a smooth trajectory from a starting point of a gait to an ending point as the speed and the acceleration are represented as fourth and third degrees respectively. Since, all trajectory parameters (position, speed and acceleration) in this approach are represented as a continuous function, load forces to the actuators can be decreased. Given these advantages, we use this technique for our generation of trajectories, an approach that has been successfully used previously in the community [7].

The trajectories of position \(x_r(t),~y_r(t),~z_r(t)\), speed \(\dot{x}_r(t),~\dot{y}_r(t),~\dot{z}_r(t)\) and acceleration \(\ddot{x}_r(t),~\ddot{y}_r(t),~\ddot{z}_r(t)\) in terms of time t are defined as follows:

$$\begin{aligned} \{ x,y,z\}_r(t)=&\sum _{i=0}^{5}a_{\{x,y,z\}i}t^i,\end{aligned}$$
(4)
$$\begin{aligned} \{\dot{x},\dot{y},\dot{z}\}_r(t)=&\sum _{i=1}^{5}ia_{\{x,y,z\}i}t^{i-1},\end{aligned}$$
(5)
$$\begin{aligned} \{\ddot{x},\ddot{y},\ddot{z}\}_r(t)=&\sum _{i=2}^{5}i(i-1)a_{\{x,y,z\}i}t^{i-2}, \end{aligned}$$
(6)

where \(a_i(i=0,\cdots ,5)\) represents coefficients and these are derived from initial states and final states of a given gait. The initial and the final states are defined as \(\{ x,y,z\}_s\) and \(\{ x,y,z\}_f\) respectively, and let a transformation time T [s] is constant. Using Eqs. (4)–(6), the initial states at the starting time, \(a_0\), \(a_1\) and \(a_2\) are derived as follows

$$\begin{aligned} \{ x,y,z\}_r(0)&=a_{x,y,z0}=\{ x,y,z\}_s, \end{aligned}$$
(7)
$$\begin{aligned} \{\dot{x},\dot{y},\dot{z}\}_r(0)&=a_{x,y,z1}=\{\dot{x},\dot{y},\dot{z}\}_s=0,\end{aligned}$$
(8)
$$\begin{aligned} \{\ddot{x},\ddot{y},\ddot{z}\}_r(0)&=2a_{x,y,z2}=\{\ddot{x},\ddot{y},\ddot{z}\}_s=0. \end{aligned}$$
(9)

Also, from the relation of the final states at the ending time, we have

$$\begin{aligned} \{ x,y,z\}_r(T)=&\sum _{i=0}^{5}a_{\{x,y,z\}i}T^i=\{ x,y,z\}_f,\end{aligned}$$
(10)
$$\begin{aligned} \{\dot{x},\dot{y},\dot{z}\}_r(T)=&\sum _{i=1}^{5}ia_{\{x,y,z\}i}T^{i-1}=\{\dot{x},\dot{y},\dot{z}\}_f,\end{aligned}$$
(11)
$$\begin{aligned} \{\ddot{x},\ddot{y},\ddot{z}\}_r(t)=&\sum _{i=2}^{5}i(i-1)a_{\{x,y,z\}i}t^{i-2}=\{\ddot{x},\ddot{y},\ddot{z}\}_f. \end{aligned}$$
(12)

By representing Eqs. (10)–(12) as a matrix form, \(a_3\), \(a_4\) and \(a_5\) are derived as follows

$$\begin{aligned} \begin{bmatrix} a_{\{x,y,z\}5} \\ a_{\{x,y,z\}4} \\ a_{\{x,y,z\}3} \end{bmatrix}&=A^{-1} \begin{bmatrix} \{ x,y,z\}_f-\{ x,y,z\}_s \\ 0 \\ 0 \end{bmatrix}, \end{aligned}$$
(13)

where

$$\begin{aligned} A&= \begin{bmatrix} T^5&T^4&T^3 \\ 5T^4&4T^3&3T^2 \\ 20T^3&12T^2&6T \end{bmatrix}. \nonumber \end{aligned}$$

As the fifth degree polynomial interpolation can be calculated uniquely depending upon the initial conditions \(\{ x,y,z\}_s\), the final conditions \(\{ x,y,z\}_f\) and the transformation time T, the gait generation strategy is therefore designed by defining these states.

3.3 Gait Generation Based on Sequential Control

The sequence of the target foot position is discussed. As discussed above, in order to generate the straight basis gait, the target foot position is set as below.

  1. 1.

    Lift up the idling leg vertically.

  2. 2.

    Move the idling leg to the target step position horizontally against the glass surface.

  3. 3.

    Lift down the idling leg until the glass surface.

  4. 4.

    Switch the idling leg and the supporting leg, and repeat 1–3.

This paper starts from simple algorithm to avoid complexity as a first step to realize automation control. A strategy for it is to utilize only 1 kinematics model to generate the trajectories. And, a related gait from one foot unit is generated by utilizing the one kinematics model. By setting a reference point on center of the left foot unit, the relative position of the right foot unit with respect to each sequence is set as Table. In Table 2, \(x_t,~y_t\) and \(z_t\) represent the target position of the module robot, and \(S_x=\) sgn(\(x_t\)). The sequence shown in Table 2 generates trajectories which start the step from the right foot unit in the case of moving the module toward to the right. And, from the left foot unit for left. And, the trajectory between each target position in Table 2 is generated the fifth polynomial interpolation formulated able. Finally, the target angles of each actuator to track the generated trajectory is derived by the inverse kinematics.

Table 2. Table caption
Fig. 5.
figure 5

A system architecture for an experiment. The system mainly consists of a laptop computer for the target position indication, the module robot and a control board. Since the module robot is suspended on a rope for safety purpose, the control board and power supplies are allowed to install externally such as the safety rope.

Fig. 6.
figure 6

The snapshots of the experiment with time variation. 4 steps of walking include obstacle overcome within 155 s has been realized without any human aids.

4 Experiment

This section verifies that the developed module robot is capable of locomoting on the glass surface by the designed trajectory generator. Figure 5 shows a system architecture for an experiment. From Fig. 5, the system mainly consists of a laptop computer for the target position indication, the module robot and a control board. Since the module robot is suspended on a rope for safety purpose, the control board and power supplies are allowed to install externally such as the safety rope. CM-700 produced by Robotis performs main computer include communication between other components and trajectory calculation. And, the RC servo motor and the vacuum pump for the vacuum system is controlled by Arduino MEGA 2560 via receiving control signals from CM-700. And, a power supply (6 V) for driving the RC servo motor is installed on the control board, and the one of 12 V is supplied from outside via supply cable.

Regarding to the position of the module robot, \(x_t\) [cm] and \(y_t\) [cm] is provided from the laptop computer. \(z_t\) [cm] is set as 2.5 cm on the glass surface. And, the application for normal locomotion as well as one for obstacle overcome is designed. In this paper, the target position for the obstacle overcome is set as \(x_t=15\cos (-85\pi /180),~y_t=15\sin (-85\pi /180)\) and \(z_t=4\). And, the transformation time of the fifth polynomial interpolation is set \(T=1.5\) s. In addition, an obstacle supposed to the window frame (6 mm height) is equipped on a middle of the glass surface. Effectiveness of both the application for normal locomotion and for obstacle overcome is verified through the experiment.

Snapshots of the experiment with time variation are shown in Fig. 6. From Fig. 6, 4 steps of walking include obstacle overcome within 155 s has been realized without any human aids. It is confirmed that the developed module is capable of locomoting on the glass surface smoothly by utilizing the designed system and trajectory generator. And, since the foot unit has been kept parallel against the glass surface during walking, the realized locomotion satisfies our supposed basic strategy. Also, the developed module enables to overcome the window frame like obstacle safely by the designed application. Hence, the locomotion abilities satisfying our basic strategy have been realized through the experiment.

5 Conclusion

This paper has proposed the modular robot strategy for the glass façade cleaning robot, and implemented the module robot, which compose most basic role of it, including design and development of the real robot and design of the control system on the glass surface. Firstly, the design challenges of the glass façade cleaning robot has been discussed from sides of glass cleaning process and area coverage, and our basic strategy based on the modular robot system has been proposed. Secondly, the trajectories to locomote the developed module individually have been generated. In particular, as a first step to be fully automation, the gait to locomote next target step position indicated by an operator has been generated by utilizing the inverse kinematics, the fifth polynomial interpolation as well as the sequential control. Finally, it has been shown that the developed module robot is capable of locomoting on the glass surface by the designed trajectory generator through the experiment.