How Tech is Helping Companies Optimize a Hybrid Future | ACCESS THE REPORT→
Credit: Skyline Robotics

Wave Goodbye to Window Washers

Robots are taking their jobs

Sitting high above the city in a modern skyscraper, seeing window washers on the other side of the glass always takes you by surprise. Far above the ground, cleaners have a floor-by-floor window into the daily lives of skyscraper inhabitants as they meticulously work their way down the building. Next time you see a human dangling outside your window, wave goodbye. Robots are taking over. 

Automation was inevitable in the world of window washing, the dangerous job with a global market worth $40 billion is ripe for robots. The real surprise is why it’s taken so long. Window washers have no margin for error. A 15 year period tracked by OSHA saw 88 window washing incidents, of which 62 resulted in a fatality. Dropping an unsecured squeegee can be disastrous. Roughly 60 percent of window-washing accidents are fatal, posing a serious risk to the cleaners and pedestrians below. 

Phasing out human window washers took a giant leap forward when Platinum, a building restoration and maintenance service provider responsible for washing 65 percent of New York City’s Class A buildings’ windows, reached a deal with Skyline Robotics for exclusive rights to use Ozmo, its high-rise window-washing robot. The deal will see operators at Platinum’s window washing subsidiary Palladium Window Solutions trained and certified as Ozmo operators. Soon window washing robots will be working their way down some of NYC’s most iconic skyscrapers. 

“Skyline Robotics is ushering in a new era of automated robots beginning with the window cleaning industry,” said Ross Blum, COO, Skyline Robotics. “We’ve targeted this high-risk industry to make window-cleaning safer while also forming a cooperative working model between robots and humans to showcase what is possible as the future of work evolves.”

Skyline Robotics’ deal with Platinum is a glimpse into the future of the automated face of window cleaning. Plenty of companies are vying for a piece of the lucrative market but Ozmo is the first to get a serious piece. Serbot’s GEKKO device can clean 86,000 square feet a day, a blistering pace. Fraunhofer developed SIRIUS, using vacuum suckers to stay close to the glass as it scrubs. Both GEKKO and SIRIUS look like a robotic vacuum. Erylon’s Clean-Kong is like a remote-controlled car driving up the side of a building, cleaning about 13,000 square feet a day. Pal n Paul’s indiBOT comes in several types depending on whether a client wants contact or contactless cleaning but each must be custom designed around the building it serves. None of the robots have been widely adopted yet, but several have established a proof of concept with several successful tests. Commercialization will come down to ease-of-setup and cost. The specialized gantry needed for several iterations of facade cleaning robots gives owners pause. 

Ozmo is an articulated robot with rotary joints, one of the most common types of industrial robot. Attached to a basic window washing platform hoisted from an existing gantry on the roof, Ozmo uses its arm with a scrubber attached to clean the windows just as a human worker would. The whole rig looks similar to what you would expect, but instead of one or two people on the platform it’s a robotic arm. Ozmo may appear relatively basic but there’s more at play than meets the eye. The wind is a serious threat so the platform employs AI to maintain stability in variable conditions. Glass is fragile, so Ozmo uses force sensors to know how much pressure is needed to give the window a deep scrub without damaging it. LIDAR guides Ozmo, continually recalculating the optimal cleaning path. The robots ‘brain’ uses machine learning to memorize each building’s specifications, optimizing its cleaning routine each time. Skyline Robotics claims its robot is three times faster than traditional window cleaning, reducing labor costs by 75 percent. 

Ozmo looks more like a robot you might find on an automobile assembly line than a Roomba, using a precise arm to work a scrub. Kite Robotics uses a faster but less detailed approach, powering a rapidly rotating scrub on the side of the building, reminiscent of automated car washes. Like Skyline Robotics, Kite has also been able to establish commercial viability. 

Kite Robotics’ motorized brush roller combined with demineralized water and a fan on the backside creates a streak-free clean at a fast pace. Kite’s robot can clean 32 square feet a minute. Current applications are limited, development involving obstacle detection and neural networks are ongoing but basic versions of the robot are already working in Europe, where Kite is based. Oddly shaped facades and buildings over 460 feet have proved difficult. In Finland, Kite has reached deals with Holiday and Senate properties. Recently Kite was hired by Utrecht Central Station to clean the facility’s glass roof. Kite claims customers save 80 percent on cleaning costs.

Cleaning buildings is a big business opportunity, but facade cleaning robots have their sights set on another lucrative industry: solar power. Many of the robots developed are designed to clean solar panels more than buildings. Keeping solar panels clean directly impacts their efficiency. Transitioning to renewable energy like solar power will require solar panel cleaning at scale because some of the places with the most potential for solar power are full of dust and dirt that must be constantly swept and cleaned. Cleaning a solar panel is a lot easier than cleaning a building. Most are smaller, paneled, closer to the ground, and angled. Most teams designing solar panel cleaning robots are finding they can also clean building facades, not the other way around. 

Facade cleaning robots are just starting to be commercially adopted. As each earns hard-fought cleaning contracts, the technology will get faster and cheaper. The risk involved, size of buildings, and frequency of cleaning mean commercial window washing is not cheap. Robots can already work much faster than human counterparts without the risk, replacing labor costs with startup costs born by the robotics company, not the building owner. If you’re mesmerized by the cleaner’s high-flying washing routine, it will soon be time to say goodbye. Robots won’t wave back. 

Associate Editor
Image - Design
[wpforms id="134635" title="false"]
<div class="wpforms-container wpforms-container-full" id="wpforms-134635"><form id="wpforms-form-134635" class="wpforms-validate wpforms-form" data-formid="134635" method="post" enctype="multipart/form-data" action="/wave-goodbye-to-window-washers/" data-token="337d52612c9cc5aad05e10e00fe5ff60"><noscript class="wpforms-error-noscript">Please enable JavaScript in your browser to complete this form.</noscript><div class="wpforms-field-container"><div id="wpforms-134635-field_1-container" class="wpforms-field wpforms-field-name" data-field-id="1"><label class="wpforms-field-label" for="wpforms-134635-field_1">Name <span class="wpforms-required-label">*</span></label><div class="wpforms-field-row wpforms-field-large"><div class="wpforms-field-row-block wpforms-first wpforms-one-half"><input type="text" id="wpforms-134635-field_1" class="wpforms-field-name-first wpforms-field-required" name="wpforms[fields][1][first]" required><label for="wpforms-134635-field_1" class="wpforms-field-sublabel after ">First</label></div><div class="wpforms-field-row-block wpforms-one-half"><input type="text" id="wpforms-134635-field_1-last" class="wpforms-field-name-last wpforms-field-required" name="wpforms[fields][1][last]" required><label for="wpforms-134635-field_1-last" class="wpforms-field-sublabel after ">Last</label></div></div></div><div id="wpforms-134635-field_2-container" class="wpforms-field wpforms-field-email" data-field-id="2"><label class="wpforms-field-label" for="wpforms-134635-field_2">Email <span class="wpforms-required-label">*</span></label><input type="email" id="wpforms-134635-field_2" class="wpforms-field-large wpforms-field-required" name="wpforms[fields][2]" required></div><div id="wpforms-134635-field_3-container" class="wpforms-field wpforms-field-text" data-field-id="3"><label class="wpforms-field-label" for="wpforms-134635-field_3">Company <span class="wpforms-required-label">*</span></label><input type="text" id="wpforms-134635-field_3" class="wpforms-field-large wpforms-field-required" name="wpforms[fields][3]" required></div><div id="wpforms-134635-field_5-container" class="wpforms-field wpforms-field-text" data-field-id="5"><label class="wpforms-field-label" for="wpforms-134635-field_5">Job Title <span class="wpforms-required-label">*</span></label><input type="text" id="wpforms-134635-field_5" class="wpforms-field-large wpforms-field-required" name="wpforms[fields][5]" required></div></div><div class="wpforms-field wpforms-field-hp"><label for="wpforms-134635-field-hp" class="wpforms-field-label">Message</label><input type="text" name="wpforms[hp]" id="wpforms-134635-field-hp" class="wpforms-field-medium"></div><div class="wpforms-submit-container"><input type="hidden" name="wpforms[id]" value="134635"><input type="hidden" name="wpforms[author]" value="277"><input type="hidden" name="wpforms[post_id]" value="133612"><button type="submit" name="wpforms[submit]" id="wpforms-submit-134635" class="wpforms-submit om-trigger-conversion" data-alt-text="Sending..." data-submit-text="UNLOCK THE REPORT" aria-live="assertive" value="wpforms-submit">UNLOCK THE REPORT</button></div></form></div> <!-- .wpforms-container -->
[wpforms id="134624" title="false"]
<div class="wpforms-container wpforms-container-full" id="wpforms-134624"><form id="wpforms-form-134624" class="wpforms-validate wpforms-form" data-formid="134624" method="post" enctype="multipart/form-data" action="/wave-goodbye-to-window-washers/" data-token="4a840529bc2cdcb0c566ede9f098464b"><noscript class="wpforms-error-noscript">Please enable JavaScript in your browser to complete this form.</noscript><div class="wpforms-field-container"><div id="wpforms-134624-field_1-container" class="wpforms-field wpforms-field-name" data-field-id="1"><label class="wpforms-field-label" for="wpforms-134624-field_1">Name <span class="wpforms-required-label">*</span></label><div class="wpforms-field-row wpforms-field-large"><div class="wpforms-field-row-block wpforms-first wpforms-one-half"><input type="text" id="wpforms-134624-field_1" class="wpforms-field-name-first wpforms-field-required" name="wpforms[fields][1][first]" required><label for="wpforms-134624-field_1" class="wpforms-field-sublabel after ">First</label></div><div class="wpforms-field-row-block wpforms-one-half"><input type="text" id="wpforms-134624-field_1-last" class="wpforms-field-name-last wpforms-field-required" name="wpforms[fields][1][last]" required><label for="wpforms-134624-field_1-last" class="wpforms-field-sublabel after ">Last</label></div></div></div><div id="wpforms-134624-field_2-container" class="wpforms-field wpforms-field-email" data-field-id="2"><label class="wpforms-field-label" for="wpforms-134624-field_2">Email <span class="wpforms-required-label">*</span></label><input type="email" id="wpforms-134624-field_2" class="wpforms-field-large wpforms-field-required" name="wpforms[fields][2]" required></div><div id="wpforms-134624-field_3-container" class="wpforms-field wpforms-field-text" data-field-id="3"><label class="wpforms-field-label" for="wpforms-134624-field_3">Company <span class="wpforms-required-label">*</span></label><input type="text" id="wpforms-134624-field_3" class="wpforms-field-large wpforms-field-required" name="wpforms[fields][3]" required></div><div id="wpforms-134624-field_5-container" class="wpforms-field wpforms-field-text" data-field-id="5"><label class="wpforms-field-label" for="wpforms-134624-field_5">Job Title <span class="wpforms-required-label">*</span></label><input type="text" id="wpforms-134624-field_5" class="wpforms-field-large wpforms-field-required" name="wpforms[fields][5]" required></div></div><div class="wpforms-field wpforms-field-hp"><label for="wpforms-134624-field-hp" class="wpforms-field-label">Website</label><input type="text" name="wpforms[hp]" id="wpforms-134624-field-hp" class="wpforms-field-medium"></div><div class="wpforms-submit-container"><input type="hidden" name="wpforms[id]" value="134624"><input type="hidden" name="wpforms[author]" value="277"><input type="hidden" name="wpforms[post_id]" value="133612"><button type="submit" name="wpforms[submit]" id="wpforms-submit-134624" class="wpforms-submit om-trigger-conversion" data-alt-text="Sending..." data-submit-text="UNLOCK THE REPORT" aria-live="assertive" value="wpforms-submit">UNLOCK THE REPORT</button></div></form></div> <!-- .wpforms-container -->
[wpforms id="132553" title="false"]
<div class="wpforms-container wpforms-container-full" id="wpforms-132553"><form id="wpforms-form-132553" class="wpforms-validate wpforms-form" data-formid="132553" method="post" enctype="multipart/form-data" action="/wave-goodbye-to-window-washers/" data-token="9b35213f9aaf55ef66463d2e18d76427"><noscript class="wpforms-error-noscript">Please enable JavaScript in your browser to complete this form.</noscript><div class="wpforms-field-container"><div id="wpforms-132553-field_1-container" class="wpforms-field wpforms-field-name" data-field-id="1"><label class="wpforms-field-label" for="wpforms-132553-field_1">Name <span class="wpforms-required-label">*</span></label><div class="wpforms-field-row wpforms-field-large"><div class="wpforms-field-row-block wpforms-first wpforms-one-half"><input type="text" id="wpforms-132553-field_1" class="wpforms-field-name-first wpforms-field-required" name="wpforms[fields][1][first]" required><label for="wpforms-132553-field_1" class="wpforms-field-sublabel after ">First</label></div><div class="wpforms-field-row-block wpforms-one-half"><input type="text" id="wpforms-132553-field_1-last" class="wpforms-field-name-last wpforms-field-required" name="wpforms[fields][1][last]" required><label for="wpforms-132553-field_1-last" class="wpforms-field-sublabel after ">Last</label></div></div></div><div id="wpforms-132553-field_2-container" class="wpforms-field wpforms-field-email" data-field-id="2"><label class="wpforms-field-label" for="wpforms-132553-field_2">Email <span class="wpforms-required-label">*</span></label><input type="email" id="wpforms-132553-field_2" class="wpforms-field-large wpforms-field-required" name="wpforms[fields][2]" required></div><div id="wpforms-132553-field_3-container" class="wpforms-field wpforms-field-text" data-field-id="3"><label class="wpforms-field-label" for="wpforms-132553-field_3">Company <span class="wpforms-required-label">*</span></label><input type="text" id="wpforms-132553-field_3" class="wpforms-field-large wpforms-field-required" name="wpforms[fields][3]" required></div><div id="wpforms-132553-field_5-container" class="wpforms-field wpforms-field-text" data-field-id="5"><label class="wpforms-field-label" for="wpforms-132553-field_5">Job Title <span class="wpforms-required-label">*</span></label><input type="text" id="wpforms-132553-field_5" class="wpforms-field-large wpforms-field-required" name="wpforms[fields][5]" required></div></div><div class="wpforms-field wpforms-field-hp"><label for="wpforms-132553-field-hp" class="wpforms-field-label">Name</label><input type="text" name="wpforms[hp]" id="wpforms-132553-field-hp" class="wpforms-field-medium"></div><div class="wpforms-submit-container"><input type="hidden" name="wpforms[id]" value="132553"><input type="hidden" name="wpforms[author]" value="277"><input type="hidden" name="wpforms[post_id]" value="133612"><button type="submit" name="wpforms[submit]" id="wpforms-submit-132553" class="wpforms-submit om-trigger-conversion" data-alt-text="Sending..." data-submit-text="UNLOCK THE REPORT" aria-live="assertive" value="wpforms-submit">UNLOCK THE REPORT</button></div></form></div> <!-- .wpforms-container -->
[wpforms id="132239" title="false"]
<div class="wpforms-container wpforms-container-full" id="wpforms-132239"><form id="wpforms-form-132239" class="wpforms-validate wpforms-form" data-formid="132239" method="post" enctype="multipart/form-data" action="/wave-goodbye-to-window-washers/" data-token="0f83a6dbbaddb97d746d137e71345893"><noscript class="wpforms-error-noscript">Please enable JavaScript in your browser to complete this form.</noscript><div class="wpforms-field-container"><div id="wpforms-132239-field_1-container" class="wpforms-field wpforms-field-name" data-field-id="1"><label class="wpforms-field-label" for="wpforms-132239-field_1">Name <span class="wpforms-required-label">*</span></label><div class="wpforms-field-row wpforms-field-large"><div class="wpforms-field-row-block wpforms-first wpforms-one-half"><input type="text" id="wpforms-132239-field_1" class="wpforms-field-name-first wpforms-field-required" name="wpforms[fields][1][first]" required><label for="wpforms-132239-field_1" class="wpforms-field-sublabel after ">First</label></div><div class="wpforms-field-row-block wpforms-one-half"><input type="text" id="wpforms-132239-field_1-last" class="wpforms-field-name-last wpforms-field-required" name="wpforms[fields][1][last]" required><label for="wpforms-132239-field_1-last" class="wpforms-field-sublabel after ">Last</label></div></div></div><div id="wpforms-132239-field_2-container" class="wpforms-field wpforms-field-email" data-field-id="2"><label class="wpforms-field-label" for="wpforms-132239-field_2">Email <span class="wpforms-required-label">*</span></label><input type="email" id="wpforms-132239-field_2" class="wpforms-field-large wpforms-field-required" name="wpforms[fields][2]" required></div><div id="wpforms-132239-field_3-container" class="wpforms-field wpforms-field-text" data-field-id="3"><label class="wpforms-field-label" for="wpforms-132239-field_3">Company <span class="wpforms-required-label">*</span></label><input type="text" id="wpforms-132239-field_3" class="wpforms-field-large wpforms-field-required" name="wpforms[fields][3]" required></div><div id="wpforms-132239-field_5-container" class="wpforms-field wpforms-field-text" data-field-id="5"><label class="wpforms-field-label" for="wpforms-132239-field_5">Job Title <span class="wpforms-required-label">*</span></label><input type="text" id="wpforms-132239-field_5" class="wpforms-field-large wpforms-field-required" name="wpforms[fields][5]" required></div></div><div class="wpforms-field wpforms-field-hp"><label for="wpforms-132239-field-hp" class="wpforms-field-label">Email</label><input type="text" name="wpforms[hp]" id="wpforms-132239-field-hp" class="wpforms-field-medium"></div><div class="wpforms-submit-container"><input type="hidden" name="wpforms[id]" value="132239"><input type="hidden" name="wpforms[author]" value="277"><input type="hidden" name="wpforms[post_id]" value="133612"><button type="submit" name="wpforms[submit]" id="wpforms-submit-132239" class="wpforms-submit om-trigger-conversion" data-alt-text="Sending..." data-submit-text="UNLOCK THE REPORT" aria-live="assertive" value="wpforms-submit">UNLOCK THE REPORT</button></div></form></div> <!-- .wpforms-container -->
[wpforms id="132234" title="false"]
<div class="wpforms-container wpforms-container-full" id="wpforms-132234"><form id="wpforms-form-132234" class="wpforms-validate wpforms-form" data-formid="132234" method="post" enctype="multipart/form-data" action="/wave-goodbye-to-window-washers/" data-token="862c80701f7834d2a089aad0087f9415"><noscript class="wpforms-error-noscript">Please enable JavaScript in your browser to complete this form.</noscript><div class="wpforms-field-container"><div id="wpforms-132234-field_1-container" class="wpforms-field wpforms-field-name" data-field-id="1"><label class="wpforms-field-label" for="wpforms-132234-field_1">Name <span class="wpforms-required-label">*</span></label><div class="wpforms-field-row wpforms-field-large"><div class="wpforms-field-row-block wpforms-first wpforms-one-half"><input type="text" id="wpforms-132234-field_1" class="wpforms-field-name-first wpforms-field-required" name="wpforms[fields][1][first]" required><label for="wpforms-132234-field_1" class="wpforms-field-sublabel after ">First</label></div><div class="wpforms-field-row-block wpforms-one-half"><input type="text" id="wpforms-132234-field_1-last" class="wpforms-field-name-last wpforms-field-required" name="wpforms[fields][1][last]" required><label for="wpforms-132234-field_1-last" class="wpforms-field-sublabel after ">Last</label></div></div></div><div id="wpforms-132234-field_2-container" class="wpforms-field wpforms-field-email" data-field-id="2"><label class="wpforms-field-label" for="wpforms-132234-field_2">Email <span class="wpforms-required-label">*</span></label><input type="email" id="wpforms-132234-field_2" class="wpforms-field-large wpforms-field-required" name="wpforms[fields][2]" required></div><div id="wpforms-132234-field_3-container" class="wpforms-field wpforms-field-text" data-field-id="3"><label class="wpforms-field-label" for="wpforms-132234-field_3">Company <span class="wpforms-required-label">*</span></label><input type="text" id="wpforms-132234-field_3" class="wpforms-field-large wpforms-field-required" name="wpforms[fields][3]" required></div><div id="wpforms-132234-field_5-container" class="wpforms-field wpforms-field-text" data-field-id="5"><label class="wpforms-field-label" for="wpforms-132234-field_5">Job Title <span class="wpforms-required-label">*</span></label><input type="text" id="wpforms-132234-field_5" class="wpforms-field-large wpforms-field-required" name="wpforms[fields][5]" required></div></div><div class="wpforms-field wpforms-field-hp"><label for="wpforms-132234-field-hp" class="wpforms-field-label">Email</label><input type="text" name="wpforms[hp]" id="wpforms-132234-field-hp" class="wpforms-field-medium"></div><div class="wpforms-submit-container"><input type="hidden" name="wpforms[id]" value="132234"><input type="hidden" name="wpforms[author]" value="277"><input type="hidden" name="wpforms[post_id]" value="133612"><button type="submit" name="wpforms[submit]" id="wpforms-submit-132234" class="wpforms-submit om-trigger-conversion" data-alt-text="Sending..." data-submit-text="UNLOCK THE REPORT" aria-live="assertive" value="wpforms-submit">UNLOCK THE REPORT</button></div></form></div> <!-- .wpforms-container -->
[wpforms id="131996" title="false"]
<div class="wpforms-container wpforms-container-full" id="wpforms-131996"><form id="wpforms-form-131996" class="wpforms-validate wpforms-form" data-formid="131996" method="post" enctype="multipart/form-data" action="/wave-goodbye-to-window-washers/" data-token="69c9072e041bb8398591c655d6e0b5f6"><noscript class="wpforms-error-noscript">Please enable JavaScript in your browser to complete this form.</noscript><div class="wpforms-field-container"><div id="wpforms-131996-field_1-container" class="wpforms-field wpforms-field-name" data-field-id="1"><label class="wpforms-field-label" for="wpforms-131996-field_1">Name <span class="wpforms-required-label">*</span></label><div class="wpforms-field-row wpforms-field-large"><div class="wpforms-field-row-block wpforms-first wpforms-one-half"><input type="text" id="wpforms-131996-field_1" class="wpforms-field-name-first wpforms-field-required" name="wpforms[fields][1][first]" required><label for="wpforms-131996-field_1" class="wpforms-field-sublabel after ">First</label></div><div class="wpforms-field-row-block wpforms-one-half"><input type="text" id="wpforms-131996-field_1-last" class="wpforms-field-name-last wpforms-field-required" name="wpforms[fields][1][last]" required><label for="wpforms-131996-field_1-last" class="wpforms-field-sublabel after ">Last</label></div></div></div><div id="wpforms-131996-field_2-container" class="wpforms-field wpforms-field-email" data-field-id="2"><label class="wpforms-field-label" for="wpforms-131996-field_2">Email <span class="wpforms-required-label">*</span></label><input type="email" id="wpforms-131996-field_2" class="wpforms-field-large wpforms-field-required" name="wpforms[fields][2]" required></div><div id="wpforms-131996-field_3-container" class="wpforms-field wpforms-field-text" data-field-id="3"><label class="wpforms-field-label" for="wpforms-131996-field_3">Company <span class="wpforms-required-label">*</span></label><input type="text" id="wpforms-131996-field_3" class="wpforms-field-large wpforms-field-required" name="wpforms[fields][3]" required></div><div id="wpforms-131996-field_5-container" class="wpforms-field wpforms-field-text" data-field-id="5"><label class="wpforms-field-label" for="wpforms-131996-field_5">Job Title <span class="wpforms-required-label">*</span></label><input type="text" id="wpforms-131996-field_5" class="wpforms-field-large wpforms-field-required" name="wpforms[fields][5]" required></div></div><div class="wpforms-field wpforms-field-hp"><label for="wpforms-131996-field-hp" class="wpforms-field-label">Message</label><input type="text" name="wpforms[hp]" id="wpforms-131996-field-hp" class="wpforms-field-medium"></div><div class="wpforms-submit-container"><input type="hidden" name="wpforms[id]" value="131996"><input type="hidden" name="wpforms[author]" value="277"><input type="hidden" name="wpforms[post_id]" value="133612"><button type="submit" name="wpforms[submit]" id="wpforms-submit-131996" class="wpforms-submit om-trigger-conversion" data-alt-text="Sending..." data-submit-text="UNLOCK THE REPORT" aria-live="assertive" value="wpforms-submit">UNLOCK THE REPORT</button></div></form></div> <!-- .wpforms-container -->