Icarus: A Robot

Historically, being a window cleaner was regarded as one of the most dangerous occupations in the world. We, as graduate students of Carnegie Mellon University, have taken this challenge to design and fabricate an autonomous robot to replace this work function on a broad scale.

Toggle Menu Next

Project Description

CMU Dynamics is in the process of designing and building an automated robot that will perform the task of a window cleaner. The robot we will design will follow specifications that will allow for it to clean the windows of almost any highrise efficiently and quickly. Stay tuned for updates on the development of our first robot, Icarus.


System Design

Above is a CAD model of our robot, Icarus. It will attach itself to the window using a vacuum-suction cup mechanism. The robot will traverse the window using two perpendicularly oriented arms. These arms will be attached to a wire spool and motor mechanism placed at the center of the robot on a platform giving x and y movement. There is a spring placed between the vacuum cups and railing attachment. The cylinders attached to the vacuum cups allow for the springs to be compressed causing the cups to moved up and down. This is done using the same wire spool and motor mechanism that causes x,y movment. The z-direction movement allows the robot to overcome window partitions. Cleaning will be performed by spongest and squeegees attached to the robot arms allowing the robot to continuously clean as it moves.

Functionality of the robot includes:

  • Must clean 2 sections of 1 side of window separated by a divide
  • Cannot touch the ground
  • Cannot exceed 2 ft2 footprint
  • A power / pneumatic tether is allowed
  • 100% cleaning coverage
  • No external infrastructure allowed on window
  • Allowed to initially place the robot on the window, but must be removable
  • No scratches or damage to the glass
  • Cannot reach around the edges of the frame
  • Applying enough force to the glass to remove dirt
  • Providing sufficient force to keep robot on window
  • Clearing divide
  • Consistent performance
  • Carrying all cleaning equipment
  • Drying in prescribed time frame (30 seconds)
  • Cleaning at a speed of 10 ft2/min


There are four major aspects of our robot, split up into movement, sensing, control, and cleaning with each part having further subsystems and functions. The electrical information pathways send either information or electric power throughout the system. The physical information pathways involve characteristics or states of the physical system itself.

Functional Architecture
Attachment Mechanism

Icarus will attach itself to the wall using suction cups and vacuump pumps. The robot will have 8 suction cups total, 4 on the X direction leg and 4 on the Y direction leg. This was chosen to ensure 2 degrees of freedom and that the system is well-balanced. In the event of one foot failing, there will be enough suction cups to continue to hold the weight of the robot. Because the robot would be operating on a vertical window, we chose a safety factor of 3. Failure would likely result in the robot falling, potentially harming someone.

Locomotion Mechanism

The window cleaner robot has the freedom to move in two perpendicular directions, X and Y. All the mechanism we designed for locomotion have two railings with one moving in X direction and the other moving in Y direction. Each railing is moved using steel wire and a motor. One end of steel wire is wound onto a shaft coupled to the motor and the other end of the wire is attached to the railing. As the motor rotates, the wire pulls the railing either toward or away from it.

Electric Control

The control apparatus consists mainly of the microcontroller as well as the connections to and from all the different hardware that the controller communicates with. Since the robot is largely autonomous and responds to certain sensory stimuli, the controller programming will largely be state-based. The robot will be primarily cycling through a core set of events/actions (manipulating the different legs and platform controls to move in the x-direction), and then it will transition into a special set of actions when reacting to specific events such as reaching a window edge.


Cleaning is currently set to be performed by attaching a sponge for cleaning and rubber squeegee for drying. The sponge will be presoaked in window cleaning liquid. Cleaning from top to bottom will allow us to take advantage of gravity running the liquid down the window and presoaking areas we are yet to reach making the removal of dirt easier. This will also ensure no spot is made dirty after the robot has passed over it.

Cyberphysical Architecture

The centerpiece of our cyber physical architecture is our microcontroller; it is responsible for 3 major tiers of control: leg control, platform control, and cleaning control. In terms of leg control, the primary aspects are manipulating the Z axis motion of the suction cups. Platform control refers to how the controller manipulates the central platform in the X-Y plane. In order to ascertain the platform’s linear position, the motors are connected to a rotary encoder that reports the motor’s rotational position. The platform control also includes an IMU to help orient the robot in case the pathing starts to veer. In the event of veering the IMU will adjust the pathing to ensure 100% coverage of the window. Cleaning control consists of keeping track of how much fluid the robot has left, information the controller will use to determine if an alert should be raised. This would form part of the user interface and can be something as simple as an LED that lights when fluid-levels are low or as complex as a digital display showing volume or percentages. The edge sensor alerts the robot as to when it has reached the edge of the window, so that it may lower itself down one level or turn in the opposite direction.


System Implementation

// picture of vacuum system Cad

Attachment and Z-direction System Progress

Solenoid Actuator Testing

We thought to use a solenoid actuator for the z-direction. From our first design review we were informed that this would most likely be a poor choice of movement due to efficiency of the work one can do with the power put in. We had already ordered the part thus felt it necessary to test before ruling this out as a possibility. We found that not only was the solenoid complicated to wire and drive but that it was able to resist very little force when pulled on and had 1.3cm of movment, far less than we were hoping for. Thus it was ruled out as an option for z-direction movement.

Z-Direction Prototype

Below is a picture of the first prototype of this subsystem. While we were unable to realize our planned prototype due to ordering problems out of our control we were able to gain insights into problems in our design. Firstly the major fail point for this robot could be the wire. While we were already intending to have a pulley system to avoid the wire having to bend beyond its bend radius this is definitely a critical componenet that could prove unreliable. Secondly we realised how important placement of the motor is for how well this system performs. Tension is also necessary for wire alignment on spool. This lead us to the realization that having this motor and wire spool sitting on the central plate would create problems with the z-motion as the plate and z-direction motor would be moving making co-ordinating a continuous lift particulalry difficult.
Vacuum Cup

In order to choose the vacuum cup diameter we performed a theoretical suction force calculation and solved for cup diameter. We at first did this for a presumed robot weight of 20kg which we knew would be closer to a maximum weight estimation. We ended up choosing a 3in. suction cup to accommodate this weight and tested it with a vacuum pump that provided the appropriate suction rate (12-15LPM) and final pressure (0"Hg). We found this suction cup to have the ability to hold up to 10kg of shear force with a continuous vacuum being pulled and 5kg for 51 seconds if the vacuum pump was run to create a pressure low enough for holding and then turned off. In a similar time frame we revised our working weight to 6-8kg (after having weighed the motor, pump and frame materials we would use) which called for us to recalculate the suction cup diameter size. After these calculations were performed a 1.5in. suction cup was thought to be more appropriate not only by theoretical weight but due to concerns about the liters per minute of air the pump cold extract vs the size of the cup. This suction cup was then tested upon arrival with the difference in test being to apply the force some distance away from the window surface, closer replicating its role in the final robot. This was found to brless 2.4kg, less than the weight it would need to hold given the 6-8kg estimation. This lead us to revert to the first chosen suction cup of 3in. More cups have been ordered and testing on how the vacuum pump performs with 4 3in. diameter cups will be performed when the new cups arrive.


System Performance

Currently we are still in the prototyping phase and have not been able to assess system level performance.


Project Management

Bereket Abraham will lead the effort for our website creation and assist Roy with the programming the robot. In the earlier stages he will assist in building the vacuum system and ensure we keep proper documentation throughout the process. His technical roles are in line with his strengths as both a mechanical engineer and having worked as a software engineer.

Siddharth Alampally will lead the creation of the mechanism that will allow the robot to traverse the window. He will assist with machining of the other subsystems as required and in creating a CAD of the robot. This utilizes his strength as a mechanical engineer in the field of computational design and manufacturing.

Khanya Morolo will work with Bereket on the creating vacuum system and machining other subsystems as needed. She will be in charge of multimedia collection for the website, assisting in creating appropriate test experiments and keeping the project on track. This utilizes her strength as a mechanical engineer and an integrated innovation major.

Ishit Shah is going to lead the creation of the mechanism that will lift and lower the robot’s feet. He will assist with the creation of the traversing mechanism and fabrication and assembly of other subsystems as needed. He will also contribute to creating a CAD model of the robot. This utilizes his strength as mechanical engineer in the field of computational design, manufacturing, fabrication and assembly.

Roy Shin will lead the effort of creating the robot’s control system. He will be in charge of creating the robot's electrical circuit and programming the robot. He will also create appropriate test experiments to ensure the robot works as expected. This role speaks to his strengths as an electrical and computer engineer.

Parts List

Issues Log




Bereket Abraham:
Bereket is a masters student in Mechanical Engineering at Carnegie Mellon University, concentrating in controls and automation. Prior to that, he worked full-time as a software engineer and IT consultant for NYC-based AppNexus. In 2013, he graduated from Princeton University with a degree in Mechanical and Aerospace Engineering and minors in Applied Mathematics and Computing. In his free time he experiments with micro controllers and builds out small web apps on the internet.

Ishit Shah:
Ishit is a master's student in Mechanical Engineering at Carnegie Mellon university. Bachelors in Mechanical Engineering from Mumbai University, India. Interested in Design, CAD modeling, FEA analysis. Automobile and Racing follower.

Roy Shin:
Roy is an undergraduate student in the Electrical and Computer Engineering department.

Khanya Morolo:
Khanya is a graduate student in Integrated Development of Products and services with a keen interest in prototyping. She received her bachelors in mechanical engineering from Duke University and thereafter worked for Babcock, a power station maintenance company, as an engineer in training. Her strengths are in product design, mechanical systems design and fabrication.

Siddharth Alampally:
Siddharth is a graduate student at Carnegie Mellon University pursuing Master of Science in Computational Design and Manufacturing. He worked as a Sheet Metal Die Designer at Tata Motors before pursuing graduate education. During his bachelor’s he led the SAE Baja team of NIT Warangal as a Vice-Captain to design and build an all-terrain buggy. His interests and strengths include Mechanical Design, Product Design, CAD, CAE and Manufacturing.



Document Gallery