PRE2017 3 Groep3: Difference between revisions

From Control Systems Technology Group
Jump to navigation Jump to search
No edit summary
No edit summary
 
(167 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<h2>Subject</h2>
<h2>Subject</h2>
Window cleaning robots  
The subject for this project was chosen to be: Motion planning algorithm for window cleaning robots.


<h2>Objectives</h2>
<h2>Objectives</h2>
Line 8: Line 8:
</ul>
</ul>


<h2>Users</h2>
<h2>Final Products</h2>
<ul>
The final products of this project is a NetLogo model of a window clean robot on a dirty window surface.
  <p> Window washing companies that can use window cleaning robots to improve their services. The considered scenario is that these companies are hired by private individuals to clean the windows of their houses. The faster and cheaper these companies can accomplish this, the more profit they can make. A major help for this purpose would be to develop an algorithm that determines how to clean the windows of a house in the most efficient way possible when the dirt distribution on the windows is taken into account.</p>
Within this model, it will be possible to perform the process of cleaning the window with regard to
</ul>
several different motion planning algorithms that will be designed during this project. The data output from this model can then be analyzed and compared to find a better and the best performing algorithm with respect to the current motion planning of these robots.
<br />
<br/><br/>
The [[user needs]] need to be determined in order to develop the model.
All information about the project found on the WIKI page is also orderly put together in the form of a technological report about the chosen subject.
<br/><br/>
'''The NetLogo model:'''
<br/> [[file:0LAUK0_Motion_Planning_Model_Group_3_(all_algorithms).zip‎| NetLogo model]]
<br/><br/>
'''Report group 3-Motion planning algorithm for window-cleaning robots:'''
<br/>
[[file:Project_0LAUK0_Group_03_Report.pdf‎]]
<br/>
 
<h2>Introduction</h2>
Every year there are major innovations in the field of technology. Self-driving cars, reusable rockets and even face-recognition abilities of current smart-phones are some examples. Not all innovations, however, get the same amount of attention and some are thus less widely known. This report focuses on the improvement of a small and less impact full technological piece of equipment, namely the window cleaning robot. Window cleaning robots are currently built for two main application domains, domestic use and professional use on big skyscrapers or flats. The advancements in the capabilities of these window cleaning robots are still in the early stages. Nevertheless, there is already a range of window cleaning robots available on the market, differing in size and performance. However, the existing window cleaning robots for domestic use have all a major shortcoming in common: their movement is based on a simple, inefficient motion planning. This is mainly due to the thought of minimal gain and the aim for simplicity. Therefore, an optimized motion planning algorithm is developed in this project. This optimized algorithm will be applicable to the smaller sized window cleaning robots that are used for domestic applications. The design question is: <br/><br/>
''How should the main, currently used a motion-planning algorithm for small sized window cleaning robots for domestic use be improved such that it is more efficient in terms of cleaning speed, energy consumption, and water consumption?''
<br/><br/>
The answer to this question will be relevant for the users, window cleaning companies, since they can buy a set of window cleaning robots operating on this algorithm to improve their services and increase their revenue as an enterprise. Besides that, the developed algorithm will help the customers through better scheduling and faster clean ups and help society through advancement of planning-algorithms which may spark further improvements on the algorithms of motion planning robots.
<br/><br/>
The main scenario for which the motion planning is designed is a small window cleaning company that has multiple cleaning robots in its possession, with one employee who can move the cleaning robots from one window to another, allowing him to clean multiple windows simultaneously, thereby reducing the time it takes to clean all the windows in the building and reducing labor cost. <br/><br/>
This report consists of six chapters, starting with a literature study on the capabilities of current window cleaning robots and their motion planning algorithms. Followed by a systematic design process, including approach, user requirements, design choices, concepts, assumptions, robot specifications and a simulation model. In this model, the performance of two innovative algorithms will be tested and compared to the current approach listed in the literature study. The results from the model will subsequently be thoroughly evaluated. In the end, a well-funded conclusion will be given. <br/><br/>
 
<h2>State of the Art</h2>
In order to notably contribute to any technological development, it is necessary to know the current state of that development. This section summarizes, therefore, a literature study performed on scientific articles regarding the subject of motion planning algorithms of window cleaning robots, specifications of existing window cleaning robots, the potential user needs for window cleaning robots and expectations of window cleaning robots. First, it is explained what the existing window cleaning robots are capable of. Subsequently, it is explained why their motion planning algorithms are not optimal. <br/>
A summary of the information found in the literature study can be found here:<li> [[State of the Art]] <br/>
Also, the list below gives an overview of the summaries of the articles which have been studied. The articles are divided into subcategories. <br />  
<li> [[Article summaries literature study]]
<br/><br/>
<h2>Design Process</h2>
<h3>Approach</h3>
Prior to the development of the model, a literature study on currently available window cleaning robots is performed. This literature study was actually the motivation to design an efficient motion planning algorithm for window cleaning robots.  
 
The design process of the motion planning algorithm is divided into the following steps: <br/>


<h2>State-of-the-art</h2>
The list below gives an overview of the summaries of the articles which have been studied. The articles are divided into subcategories. <br /> <br/>
'''Window cleaning robot design'''
<ul>
  <li> [[A Gecko Inspired Fluid Driven Climbing Robot ]]</li>
  <li> [[Development of a High Efficiency and High Reliable Glass Cleaning Robot with a Dirt Detect  Sensor]]</li>
  <li> [[SkyScraper-I: Tethered Whole Windows Cleaning Robot ]]</li>
  <li> [[WINDORO : The World’s First Commercialized Window Cleaning Robot for Domestic Use]]</li>
  <li> [[SMART WINDORO V1.0: Smart Window Cleaning Robot]]</li>
  <li> [[A Small Window-Cleaning Robot for Domestic Use]]</li>
  <li> [[Window Cleaning Robot ASME Design Competition]]</li>
  <li> [[Sensor Based Motion Planning and Estimation of Highrise Building Façade Maintenance]]</li>
</ul>
'''Issues encountered while performing cleaning task'''
<ul>
  <li> [[Inferring the Effects of Wiping Motions based on Haptic Perception]]</li>
  <li> [[A wall climbing robot for inspection use]]</li>
</ul>
'''Movement over façade'''
<ul>
  <li> [[Design and Kinematic Analysis of Tethered Guiding Vehicle (TGV) for façade window cleaning ]]</li>
  <li> [[A Path Motion Planning For Humanoid Climbing Robot]]</li>
</ul>
'''Movement over window'''
<ul>
  <li> [[Calculation of Optimal Magnetic Force for Automatic Control Magnetic Force of the Window Cleaning Robot]]</li>
  <li> [[Window cleaning system with water circulation for building façade maintenance robot and its efficiency analysis]]</li>
</ul>
'''Acceptance of robots and engagement with robots'''
<ul>
  <li> [[From a Robotic Vacuum Cleaner to a Robot Companion: Acceptance and Engagement in Domestic Environments]]</li>
</ul>
''Figures belonging to the summaries will be added later.''
<h2>Approach</h2>
<ol>
<ol>
  <li> Literature study of current window cleaning robots and USE aspects regarding window cleaning robots </li>
<li> Analysis of the user and user requirements, preferences and constraints </li>
  <li> Analysis of the user and user needs </li>
<li> Conceptualization </li>
  <li> To develop an algorithm that models one side of a house and the separate windows within this side, for which the most efficient cleaning trajectory is developed and where the dirt distribution on the window is taken into account. The numbers for the efficiency, water consumption and energy consumption obtained from this model can then be compared to the predetermined standard based on the performance of current window cleaning systems on the market. </li>
<li> Choosing the best solution </li>
</ol>
<li> Modeling the motion planning algorithm by means of NetLogo </li>
<li> Refine the motion planning algorithm </li>
<li> Evaluation of the obtained results </li>
</ol>
 
After each step the solutions or results are fed back to the requirements, preferences and constraints defined in step 1. This makes sure that the user stays central during the whole design process and undesirable results are prohibited. <br />
 
<h3>Users</h3>
As mentioned in the introduction, window cleaning companies are considered during this project. This
makes the window washing companies the primary users in the design process. They can use
window cleaning robots to improve their services. The considered scenario is that these companies
are hired by private individuals (secondary users) to clean the windows of their houses
or buildings. It is assumed that window cleaning companies own multiple of these robots that
can be deployed on different windows and can so clean the windows simultaneously. The faster,
cheaper and more efficient these robots can accomplish this, the more profit the company can
make since the windows of more houses can be cleaned in the same time span. A major factor in
accomplishing this purpose would be a motion planning algorithm that determines how to clean
the windows of a house in a highly efficient way.<br />
In order to develop such a motion planning algorithm, requirements, preferences, and constraints
should be made explicit. If one considers the view of the primary and secondary users, the window
washing companies and private individuals respectively, the following requirements, preferences, and constraints could be distinguished.<br/>
Which can be found here: <li> [[Requirements, preferences, and constraints]]
<br /><br />
<h3>Design Choices </h3>
Before starting the modeling, an important choice needed to be made in order to construct a
model of the motion planning. This considers the choice of the program that is used for modeling
this algorithm. The program that was eventually chosen is NetLogo. There are several reasons
for this particular choice of program. An important reason is that NetLogo makes it easy to create
graphical output alongside the numerical simulation of the motion planning algorithm. This
enables the visualization of the window cleaning robot using the programmed motion planning
algorithm to clean a window. The visualization reduces the risk of incorrect programming of the
movement patterns. Additionally, in NetLogo, there is a predefined relation between agents, the
so-called turtles, and the square sections of the underground over which they move, the so-called
patches. This relation is of course particularly useful for modeling the cleaning of the window (the
patches) by the robot (the agent) and the checking of the cleanliness of a section of the window by
the robot. NetLogo also has the ability to create sliders for some of the parameters of the model.<br/><br/>
This makes it easy to test the motion planning algorithm in different environments (e.g. different
dirt distributions or different window sizes). Furthermore, NetLogo is relatively easy to program
and its program language is already known by the members of the group from a previous course.<br/><br/>
Another choice was made about prototyping. At first there was the intention to create a real
physical prototype by making use of a LEGO Mindstorms robot. Unfortunately, this was not viable.
Making a robot from LEGO that moves in a programmable pattern on a flat surface is possible,
but the problem lies with the color sensor that would be used to detect dirty places. Most current
window cleaning robots have multiple dirt sensors in a line that detect whether dirt passes under
that line. The LEGO Mindstorms robot would only have one color sensor, which means that it
would constantly have to move the sensor perpendicular to the direction the vehicle is moving in
order to check for dirt. This would result in a robot that moves at such a slow pace that practical
experiments would be infeasible. Because of this, it was decided to stick to just the development
of the model.<br/><br/>
<h3> The Concepts </h3>
selection of two algorithms which were eventually modeled in NetLogo together with the reference
algorithm that is used by most of the state of the art window cleaning robots for domestic use (as
discussed in Section 'State of the Art'). In this section, a rough explanation of the eventually chosen algorithms
is given. This is done by introducing a step by step plan for the movement of window cleaning
robot. Besides that, it is indicated where the main gains of the algorithms lie with respect to the
reference method.<br/><br/>
Descriptions of 2 designed Algorithms:
<li> [[Algorithm 1]]<br/>
<li> [[Algorithm 2]]
<br/><br/>
<h2> Assumptions and Simplifications </h2>
In order to make a model of the motion planning algorithms, a number of assumptions and simplifications
needed to be made. One should keep in mind that making too many assumptions
could result in an inaccurate model which is of little use for the user and for checking of the developed motion planning algorithms perform better. Therefore it is important to be careful when
making simplifications or assumptions. This section explicitly describes the simplifications and
assumptions that are made in the model.
The summation of sections found below describes all assumptions made relevant to the project in detail.
<li>[[The Window]]
<li> [[Window Cleaning Robot]]
<li> [[Water consumption, energy consumption and velocity]]
<li> [[Turns & Rotations]]
<li> [[Cleaning]]
<br/><br/>
 


<h2>Planning, milestones & deliverables </h2>
<h2>Planning, milestones & deliverables </h2>
Line 80: Line 148:
     <td align="center">2</td>
     <td align="center">2</td>
     <td><ul>
     <td><ul>
           <li> Finish analysis of the user and user needs </li>
           <li> Confirm definitive subject and project goal </li>
           <li> Start solution map </li>
           <li> Adapt the project planning </li>
         </ul>
         </ul>
     </td>
     </td>
     <td align="center">Knowledge of user needs</td>
     <td align="center">Clear and measurable project goal</td>
     <td></td>
     <td><ul>
          <li> Project planning </li>
        </ul>
  </td>
   </tr>
   </tr>
   <tr>
   <tr>
     <td align="center">3</td>
     <td align="center">3</td>
     <td><ul>
     <td><ul>
           <li> Finish solution map and pick final solution </li>
           <li> Divide the possible approaches to window-cleaning  algorithms, and research them </li>
          <li> Start the basis of the algorithm/ simulation </li>
          <li> Precisely anylise users and user needs</li>
          <li> Create a list of precise measurables and ways to achieve these numbers </li>
          <li> Research potential simulation programs and get handy with the coding skills needed </li>
         </ul>
         </ul>
     </td>
     </td>
     <td align="center">Final idea</td>
     <td align="center">Clear vision of the project to all members and a definitive goal and approach to the problem</td>
     <td><ul>
     <td><ul>
           <li> Possible solutions </li>
           <li> Sheet of potential algorithms with their pro and cons </li>
          <li> Definitive program in which model simulations will be done </li>
         </ul>
         </ul>
     </td>
     </td>
Line 102: Line 178:
     <td align="center">4</td>
     <td align="center">4</td>
     <td><ul>
     <td><ul>
           <li> Start detailing and optimization of final solution, reflect on user needs </li>
           <li> Check whether algorithm satisfies the requirements, preferences, and constraints of the group, adapt the algorithm accordingly. </li>
           <li> Start with model </li>
           <li> Choose a definitive algorithm approach  and start the programming of the simulation </li>
         </ul>
         </ul>
     </td>
     </td>
     <td align="center">Final concept</td>
     <td align="center">Definitive algorithm which can be simulated and results in the measurables wanted. (close to completion simulation)</td>
     <td> </td>
     <td> <ul>
          <li> Finished or close to finished programmed model simulation </li>
        </ul>
  </td>
   </tr>
   </tr>
   <tr>
   <tr>
     <td align="center">5</td>
     <td align="center">5</td>
     <td><ul>
     <td><ul>
           <li> Finish detailing and optimization of final solution </li>
           <li> Analysis of the simulation; expected results, satisfying results? </li>
           <li> Improve and finish model </li>
           <li> Further improvements to the algorithm. </li>
           <li> Start with report </li>
           <li> Start writing report </li>
         </ul>
         </ul>
     </td>
     </td>
     <td align="center">Finished model</td>
     <td align="center">Finished and analyzed model. </td>
     <td><ul>
     <td><ul>
           <li> Model </li>
           <li> Measurables compared to expectations.  </li>
         </ul>
         </ul>
     </td>
     </td>
Line 126: Line 205:
     <td align="center">6</td>
     <td align="center">6</td>
     <td><ul>
     <td><ul>
           <li> Finish report </li>
           <li> Start report work;  divide chapters into; introduction, theory, algorithm, simulation, results, conclusion, future improvements and appendices. </li>
         </ul>
         </ul>
     </td>
     </td>
     <td align="center">Finished report</td>
     <td align="center">Finished report</td>
     <td><ul>
     <td><ul>
           <li> Report </li>
           <li> Correct report and simulation </li>
         </ul>
         </ul>
     </td>
     </td>
Line 137: Line 216:
   <tr>
   <tr>
     <td align="center">7</td>
     <td align="center">7</td>
     <td align="center"><i>Buffer time</i></td>
     <td align="center"><i>Buffer time - finish report. </i></td>
     <td></td>
     <td></td>
     <td></td>
     <td></td>
   </tr>
   </tr>
</table>
</table> <br />


<h2>Task division</h2>
<h2>Task division</h2>
Line 168: Line 247:
     <td><ul>
     <td><ul>
           <li> Finish analysis of the user and user needs </li>
           <li> Finish analysis of the user and user needs </li>
           <li> Start solution map </li>
           <li> Edit project planning and update wiki with references </li>
          <li> Finish SotA</li>
         </ul>
         </ul>
     </td>
     </td>
     <td><ul>
     <td><ul>
           <li> Jorick, Kylian </li>
           <li> Lars, Kylian </li>
           <li> Ezra, Ibrahim, Lars </li>
           <li> Ibrahim, Jorick </li>
          <li> Ezra </li>
         </ul>
         </ul>
     </td>
     </td>
Line 180: Line 261:
     <td align="center">3</td>
     <td align="center">3</td>
     <td><ul>
     <td><ul>
           <li> Finish solution map and pick final solution </li>
           <li> Specify the model design </li>
          <li> Program a basic window in Netlogo </li>
          <li> Research implementation of water usage </li>
          <li> Research implementation of energy usage </li>
          <li> Coaching questions + update planning and division of tasks on wiki </li>
         </ul>
         </ul>
     </td>
     </td>
     <td><ul>
     <td><ul>
           <li> Everybody </li>
           <li> Kylian </li>
          <li> Lars </li>
          <li> Ibrahim </li>
          <li> Ezra </li>
          <li> Jorick </li>         
         </ul>
         </ul>
     </td>
     </td>
Line 191: Line 280:
     <td align="center">4</td>
     <td align="center">4</td>
     <td><ul>
     <td><ul>
           <li> Start detailing and optimization of final solution, reflect on user needs </li>
           <li> Start modeling the motion planning of the robot into Netlogo </li>
           <li> Start with model </li>
          <li> Research turning paths and times for robot </li>
          <li> Write report about the first half of the project </li>
           <li> Specifically describe the robots attributes and functions </li>
         </ul>
         </ul>
     </td>
     </td>
     <td><ul>
     <td><ul>
          <li> Jorick, Kylian </li>
          <li> Ezra</li>
          <li> Lars, Ibrahim</li>
           <li> Lars, Ibrahim </li>
           <li> Lars, Ibrahim </li>
          <li> Ezra, Kylian, Jorick </li>
         </ul>
         </ul>
     </td>
     </td>
Line 204: Line 297:
     <td align="center">5</td>
     <td align="center">5</td>
     <td><ul>
     <td><ul>
           <li> Finish detailing and optimization of final solution </li>
           <li> Further programme the netlogo behaviour </li>
           <li> Improve and finish model </li>
          <li> Programme a better dirt distribution  </li>
           <li> Start with report </li>
          <li> Write about algortihm </li>
          <li> Update state of the art</li>
           <li> Mathematics and explanations behind turning behaviour in report </li>
          <li> Fix contradicting statements in report</li>
          <li> How to incorperate weight of the robot into model</li>
           <li> Summeries the possible factors in which time savings can be had </li>
         </ul>
         </ul>
     </td>
     </td>
     <td><ul>
     <td><ul>
           <li> Lars, Ibrahim </li>
           <li> Lars, Kylian </li>
           <li> Ezra, Kylian </li>
          <li> Kylian </li>
          <li> Lars </li>
          <li> Ibrahim </li>
           <li> Ezra </li>
           <li> Jorick </li>
           <li> Jorick </li>
          <li> Jorick, Ibrahim </li>
          <li> Jorick, Ibrahim </li>
         </ul>
         </ul>
     </td>
     </td>
Line 219: Line 322:
     <td align="center">6</td>
     <td align="center">6</td>
     <td><ul>
     <td><ul>
          <li> Finish model </li>
          <li> Compare final results from model with controll values</li>
           <li> Finish report </li>
           <li> Finish report </li>
         </ul>
         </ul>
     </td>
     </td>
     <td><ul>
     <td><ul>
          <li> Lars, Kylian </li>
          <li> Jorick, Ibrahim </li>
           <li> Everybody </li>
           <li> Everybody </li>
         </ul>
         </ul>
Line 229: Line 336:
   <tr>
   <tr>
     <td align="center">7</td>
     <td align="center">7</td>
     <td>...</td>
     <td>Finish report</td>
     <td>...</td>
     <td>Group work</td>
   </tr>
   </tr>
</table>
</table> <br />
 
<h2> The Model </h2>
In this section, it is explained how the NetLogo model is constructed and how it works. Besides
that, it is also indicated what the limitations of the model are. The NetLogo model can be downloaded
at the top of the wiki page.<br />
For modeling the following 3 sections are considered:
<li>[[User interface & General considerations]]
<li>[[Implementation of the motion planning algorithms]]
<li>[[Limitations of the model]]
 
<h2> Evaluation Results</h2>
In this section it is explained how the results of the NetLogo model are treated. Furthermore, the
performance of the developed algorithms are compared with the reference algorithm (denoted as
standard in the previous section). At last, the results are fed back to the user needs, requirements
and preferences.<br/>
For the result the following 3 sections are considered:
<li> [[Treatment of the results]]
<li> [[Comparison motion planning algorithms]]
<li> [[Feedback to user needs, requirements and preferences]]
 
<h2> Conclusion </h2>
In this project, a literature study on current window cleaning robots and their motion-planning
algorithms was performed. This literature study gave insight in the shortcomings of the motionplanning
of current window cleaning robots and therefore provided the motivation to design a
better motion-planning algorithm. The design question was as follows:<br/><br/>
 
<i>How should the main, currently used motion-planning algorithm for small sized window cleaning
robots for domestic use be improved such that it is more efficient in terms of cleaning speed, energy
consumption and water consumption?</i>
<br/><br/>
After defining user needs, requirements, preferences and constraints, two innovative motionplanning
algorithm concepts were designed. To compare these two algorithms with the currently
used, less optimal, motion-planning algorithm, it was decided to develop a NetLogo model for
each of the algorithms. In order to make a good comparison, specifications and quantifications
of the window cleaning robot needed to be obtained. To obtain these quantifications, additional
research was done and several assumptions and simplifications were made. All this together
formed the basis of the developed NetLogo model. With the finished NetLogo model, both the
reference algorithm and the developed algorithms were extensively tested at different conditions
to obtain data for a proper comparison between these three algorithms. From the results it was
concluded that as well algorithm 1 (zigzag) as algorithm 2 (turndirt) was better than the standard
motion-planning algorithm in terms of cleaning speed, water consumption and energy consumption.
The difference was particularly notable for wider and bigger windows. The question then
became which algorithm of the two was the best. In terms of cleaning speed, it turned out that
algorithm 1 was significantly better. In terms of water consumption and mean power however, it
turned out that algorithm 2 was actually slightly better. This leaves the primary user, a certain window
cleaning company, with the choice between algorithm 1 and 2, based on their preferences.
Nevertheless, if one should advice a certain algorithm, the best choice seems to be algorithm
1, since cleaning speed is of higher importance for both the primary as the secondary user than
energy and water consumption.<br/><br/>
 
All in all, it is now possible to answer the design question of this project. The motion-planning
algorithm of current small sized window cleaning robots for domestic use should be improved
with short reciprocating movements that are used when the dirt sensors sense a persistent spot
of dirt as stated in the explanation of algorithm 1. The usage of this motion-planning algorithm
will improve cleaning speed, water consumption and energy consumption and is therefore a very
useful alternative for the main, currently used, motion-planning algorithm for domestic use. As a
result, the implementation of this algorithm, denoted as algorithm 1, will be very beneficial for as
well primary as secondary users, since window-washers will now be able to reduce their cleaning
times while still being able to deliver the same results with less water and energy consumption.
<br/><br/>


<h2> Coaching Questions </h2>
<h2> Coaching Questions </h2>
Line 240: Line 407:
<ul>
<ul>
   <li> [[Week 1: Coaching Questions]] </li>
   <li> [[Week 1: Coaching Questions]] </li>
  <li> [[Week 2: Coaching Questions]] </li>
  <li> [[Week 3: Coaching Questions]] </li>
  <li> [[Week 4: Coaching Questions]] </li>
  <li> [[Week 5: Coaching Questions]] </li>
  <li> [[Week 6: Coaching Questions]] </li>
  <li> [[Week 7: Coaching Questions]] </li> 
</ul>
</ul>
<h2> MATLAB scripts </h2>
<li> [[MATLAB code turning motion]]
<li> [[ MATLAB code performance indicators]]


<h2> References </h2>
<h2> References </h2>
Liu, j. et al. (2011 May 9) ''A Gecko Inspired Fluid Driven Climbing Robot.'' Institute Of Mechatronic Control Engineering Zhejiang University. Retrieved from <br />
[1] Akinfiev,T. Armada,M. & Nabulshi,S. (2009). ''Climbing cleaning robot for vertical surfaces.'' Industrial Robot: An International Journal, Vol. 36 Issue: 4 pp.352-357. <br />
Nguyen,D. & Shimada,A. (2013). ''A Path Motion Planning For Humanoid Climbing Robot.'' Shibuara Institute of Technology Japan. Retrieved from <br />
[2] Barbut,O. (2008). ''Window Cleaning Robot ASME Design Competition.'' Department of Mechanical Engineering Toronto. <br />
[3] Choi,Y. & Jung,K. (2011 November 26). ''WINDORO: The World's First Commercialized Window Cleaning Robot for Domestic Use.'' Pohang Institute of Intelligent Robotics Korea. <br />
[4]Choi,Y-H. Lee,J-Y. Lee,J-D. & Lee,K-E. (2012 November 29).''SMART WINDORO V1.0: Smart Window Cleaning Robot.'' Korea Institute of Robot & Convergence. <br />
[5] Chu,B. Jung,K. Han,C. & Hong,D.(2010 August). ''A Survey of Climbing Robots: Locomotion and Adhesion.'' Department of Mechanical Engineering South Korea. <br />
[6] Galceran,E. & Carreras,M.(2013 August 5). ''A survey on coverage path planning for robotics.'' University of Girona Spain. <br />
[7] Gandhinathan, R. & Ambigai, R. (2016). ''Design and Kinematic Analysis of Tethered Guiding Vehicle (TGV) for façade window cleaning.'' Department of Mechanical Engineering India. <br />
[8] Gerstmayr-Hillen,L et al. (2013 January 17). ''Dense topological maps and partial pose estimation for visual control of autonomous cleaning robot.'' Computer Engineering Group , Faculty of Technology Germany. <br />
[9] Imoaka,N. Roh,S. Yusuke,N. & Hirose,S. (2010 October 22). ''SkyScraper-I: Tethered Whole Windows Cleaning Robot.'' Design of Moving Mechanisms and Preliminary Experiments Taiwan.<br />
[10] Jiang,J. Zhang,Y. & Zhang,S. (2014).''Implementation of glass-curtain-wall cleaning robot driven by double flexible rope.'' Industrial Robot: an International Journal, Vol.41 Issue: 5 pp.429-438. <br />
[11] Katsuki,Y. Ikeda,T. & Yamamoto,M. (2011 September 30). ''Development of a High Efficiency and High reliable Glass Cleaning Robot with a Dirt Detect Sensor.'' <br />
[12] Lee,J. Choi,Y. & Lee,J. (2013 November 2). ''Calculation of Optimal Magnetic Force for Automatic Control Magnetic Force of the Window Cleaning Robot.'' Korea Institute of Robot and Convergence Korea. <br />
[13] Lee,S. Kang,M. & Han,C. (2012 December). ''Sensor Based Motion Planning and Estimation of High-rise Building Façade Maintenance Robot.'' Department of Mechatronics Engineering South Korea. <br />
[14] Leidner,D. & Beetz,M. (2016 November 17). ''Inferring the Effects of Wiping Motions based on Haptic Perception.'' <br />
[15] Lui,J. Tanaka,K. Bao,L M. & Yamaura,I.(2005 October 3).''Analytic modeling of suction cups used for window-cleaning robots. '' Department of Functional Machinery and Mechanics Japan. <br />
[16] Liu,J. Jiang,H. Li,Z. & Hu,H. (2009). ''A Small Window-Cleaning Robot for Domestic Use.'' Jiangnan University China. <br />
[17] Liu, J. et al. (2011 May 9). ''A Gecko Inspired Fluid Driven Climbing Robot.'' Institute Of Mechatronic Control Engineering Zhejiang University. <br />
[18] Lupetti,M L. Rosa,S. & Ermacora,G. ''From a Robotic Vacuum Cleaner to a Robot Companion: Acceptance and Engagement in Domestic Environments.'' <br />
[19] Moon,S M. Shin,C Y. Huh,J. Won,K. & Hong,D. (2015 January). ''Window Cleaning System with Water Circulation for Building Façade Maintenance Robot and Its Efficiency Analysis.'' School of Mechanical Engineering South Korea. <br />
[20] Nguyen,D. & Shimada,A. (2013). ''A Path Motion Planning For Humanoid Climbing Robot.'' Shibuara Institute of Technology Japan. <br />
[21] Nishi,A. ''A wall climbing robot for inspection use.'' Miyazaki University Japan. <br />
[22] Palleja,T. Transanchez,M. Teixido,M. & Palacin,J. (2009 August 11). ''Modeling floor-cleaning coverage performance of some domestic mobile robots in a reduced scenario.'' Department of Computer Science Spain. <br />
[23] Seo,K. Cho,S. Kim,T. Kim,H S. & Kim, J. (2013 August 15). ''Design and stability analysis of a novel wall-climbing robotic platform (ROPE RIDE).'' Mechanism and Machine Theory pp.189-208. <br />
[24] Zanele,G N M. (2011 June). ''Motion Planning Algorithms for Autonomous Robots in Static and Dynamic Environments.'' University of Johannesburg. <br />
[25] Zhou,Q. & Li,X. (2016). ''Experimental comparison of drag-wiper and roller-wiper glass-cleaning robots.'' Industrial Robot: An International Journal, Vol.43 Issue:4, pp409-420. <br />

Latest revision as of 19:41, 2 April 2018

Subject

The subject for this project was chosen to be: Motion planning algorithm for window cleaning robots.

Objectives

  • Literature study of current window cleaning robots and USE aspects regarding window cleaning robots.
  • To develop an efficient cleaning algorithm that cleans a window which satisfies certain requirements on cleaning speed, water consumption, energy consumption.

Final Products

The final products of this project is a NetLogo model of a window clean robot on a dirty window surface. Within this model, it will be possible to perform the process of cleaning the window with regard to several different motion planning algorithms that will be designed during this project. The data output from this model can then be analyzed and compared to find a better and the best performing algorithm with respect to the current motion planning of these robots.

All information about the project found on the WIKI page is also orderly put together in the form of a technological report about the chosen subject.

The NetLogo model:
File:0LAUK0 Motion Planning Model Group 3 (all algorithms).zip

Report group 3-Motion planning algorithm for window-cleaning robots:
File:Project 0LAUK0 Group 03 Report.pdf

Introduction

Every year there are major innovations in the field of technology. Self-driving cars, reusable rockets and even face-recognition abilities of current smart-phones are some examples. Not all innovations, however, get the same amount of attention and some are thus less widely known. This report focuses on the improvement of a small and less impact full technological piece of equipment, namely the window cleaning robot. Window cleaning robots are currently built for two main application domains, domestic use and professional use on big skyscrapers or flats. The advancements in the capabilities of these window cleaning robots are still in the early stages. Nevertheless, there is already a range of window cleaning robots available on the market, differing in size and performance. However, the existing window cleaning robots for domestic use have all a major shortcoming in common: their movement is based on a simple, inefficient motion planning. This is mainly due to the thought of minimal gain and the aim for simplicity. Therefore, an optimized motion planning algorithm is developed in this project. This optimized algorithm will be applicable to the smaller sized window cleaning robots that are used for domestic applications. The design question is:

How should the main, currently used a motion-planning algorithm for small sized window cleaning robots for domestic use be improved such that it is more efficient in terms of cleaning speed, energy consumption, and water consumption?

The answer to this question will be relevant for the users, window cleaning companies, since they can buy a set of window cleaning robots operating on this algorithm to improve their services and increase their revenue as an enterprise. Besides that, the developed algorithm will help the customers through better scheduling and faster clean ups and help society through advancement of planning-algorithms which may spark further improvements on the algorithms of motion planning robots.

The main scenario for which the motion planning is designed is a small window cleaning company that has multiple cleaning robots in its possession, with one employee who can move the cleaning robots from one window to another, allowing him to clean multiple windows simultaneously, thereby reducing the time it takes to clean all the windows in the building and reducing labor cost.

This report consists of six chapters, starting with a literature study on the capabilities of current window cleaning robots and their motion planning algorithms. Followed by a systematic design process, including approach, user requirements, design choices, concepts, assumptions, robot specifications and a simulation model. In this model, the performance of two innovative algorithms will be tested and compared to the current approach listed in the literature study. The results from the model will subsequently be thoroughly evaluated. In the end, a well-funded conclusion will be given.

State of the Art

In order to notably contribute to any technological development, it is necessary to know the current state of that development. This section summarizes, therefore, a literature study performed on scientific articles regarding the subject of motion planning algorithms of window cleaning robots, specifications of existing window cleaning robots, the potential user needs for window cleaning robots and expectations of window cleaning robots. First, it is explained what the existing window cleaning robots are capable of. Subsequently, it is explained why their motion planning algorithms are not optimal.

A summary of the information found in the literature study can be found here:

  • State of the Art
    Also, the list below gives an overview of the summaries of the articles which have been studied. The articles are divided into subcategories.
  • Article summaries literature study

    Design Process

    Approach

    Prior to the development of the model, a literature study on currently available window cleaning robots is performed. This literature study was actually the motivation to design an efficient motion planning algorithm for window cleaning robots.

    The design process of the motion planning algorithm is divided into the following steps:

    1. Analysis of the user and user requirements, preferences and constraints
    2. Conceptualization
    3. Choosing the best solution
    4. Modeling the motion planning algorithm by means of NetLogo
    5. Refine the motion planning algorithm
    6. Evaluation of the obtained results

    After each step the solutions or results are fed back to the requirements, preferences and constraints defined in step 1. This makes sure that the user stays central during the whole design process and undesirable results are prohibited.

    Users

    As mentioned in the introduction, window cleaning companies are considered during this project. This makes the window washing companies the primary users in the design process. They can use window cleaning robots to improve their services. The considered scenario is that these companies are hired by private individuals (secondary users) to clean the windows of their houses or buildings. It is assumed that window cleaning companies own multiple of these robots that can be deployed on different windows and can so clean the windows simultaneously. The faster, cheaper and more efficient these robots can accomplish this, the more profit the company can make since the windows of more houses can be cleaned in the same time span. A major factor in accomplishing this purpose would be a motion planning algorithm that determines how to clean the windows of a house in a highly efficient way.
    In order to develop such a motion planning algorithm, requirements, preferences, and constraints should be made explicit. If one considers the view of the primary and secondary users, the window washing companies and private individuals respectively, the following requirements, preferences, and constraints could be distinguished.

    Which can be found here:
  • Requirements, preferences, and constraints

    Design Choices

    Before starting the modeling, an important choice needed to be made in order to construct a model of the motion planning. This considers the choice of the program that is used for modeling this algorithm. The program that was eventually chosen is NetLogo. There are several reasons for this particular choice of program. An important reason is that NetLogo makes it easy to create graphical output alongside the numerical simulation of the motion planning algorithm. This enables the visualization of the window cleaning robot using the programmed motion planning algorithm to clean a window. The visualization reduces the risk of incorrect programming of the movement patterns. Additionally, in NetLogo, there is a predefined relation between agents, the so-called turtles, and the square sections of the underground over which they move, the so-called patches. This relation is of course particularly useful for modeling the cleaning of the window (the patches) by the robot (the agent) and the checking of the cleanliness of a section of the window by the robot. NetLogo also has the ability to create sliders for some of the parameters of the model.

    This makes it easy to test the motion planning algorithm in different environments (e.g. different dirt distributions or different window sizes). Furthermore, NetLogo is relatively easy to program and its program language is already known by the members of the group from a previous course.

    Another choice was made about prototyping. At first there was the intention to create a real physical prototype by making use of a LEGO Mindstorms robot. Unfortunately, this was not viable. Making a robot from LEGO that moves in a programmable pattern on a flat surface is possible, but the problem lies with the color sensor that would be used to detect dirty places. Most current window cleaning robots have multiple dirt sensors in a line that detect whether dirt passes under that line. The LEGO Mindstorms robot would only have one color sensor, which means that it would constantly have to move the sensor perpendicular to the direction the vehicle is moving in order to check for dirt. This would result in a robot that moves at such a slow pace that practical experiments would be infeasible. Because of this, it was decided to stick to just the development of the model.

    The Concepts

    selection of two algorithms which were eventually modeled in NetLogo together with the reference algorithm that is used by most of the state of the art window cleaning robots for domestic use (as discussed in Section 'State of the Art'). In this section, a rough explanation of the eventually chosen algorithms is given. This is done by introducing a step by step plan for the movement of window cleaning robot. Besides that, it is indicated where the main gains of the algorithms lie with respect to the reference method.

    Descriptions of 2 designed Algorithms:

  • Algorithm 1
  • Algorithm 2

    Assumptions and Simplifications

    In order to make a model of the motion planning algorithms, a number of assumptions and simplifications needed to be made. One should keep in mind that making too many assumptions could result in an inaccurate model which is of little use for the user and for checking of the developed motion planning algorithms perform better. Therefore it is important to be careful when making simplifications or assumptions. This section explicitly describes the simplifications and assumptions that are made in the model. The summation of sections found below describes all assumptions made relevant to the project in detail.

  • The Window
  • Window Cleaning Robot
  • Water consumption, energy consumption and velocity
  • Turns & Rotations
  • Cleaning

    Planning, milestones & deliverables

    Week Goal Milestones Deliverables
    1
    • Finish work plan
    • Finish literature study and SotA
    Finished literature study and SotA
    • Work plan
    • Summaries of articles
    2
    • Confirm definitive subject and project goal
    • Adapt the project planning
    Clear and measurable project goal
    • Project planning
    3
    • Divide the possible approaches to window-cleaning algorithms, and research them
    • Start the basis of the algorithm/ simulation
    • Precisely anylise users and user needs
    • Create a list of precise measurables and ways to achieve these numbers
    • Research potential simulation programs and get handy with the coding skills needed
    Clear vision of the project to all members and a definitive goal and approach to the problem
    • Sheet of potential algorithms with their pro and cons
    • Definitive program in which model simulations will be done
    4
    • Check whether algorithm satisfies the requirements, preferences, and constraints of the group, adapt the algorithm accordingly.
    • Choose a definitive algorithm approach and start the programming of the simulation
    Definitive algorithm which can be simulated and results in the measurables wanted. (close to completion simulation)
    • Finished or close to finished programmed model simulation
    5
    • Analysis of the simulation; expected results, satisfying results?
    • Further improvements to the algorithm.
    • Start writing report
    Finished and analyzed model.
    • Measurables compared to expectations.
    6
    • Start report work; divide chapters into; introduction, theory, algorithm, simulation, results, conclusion, future improvements and appendices.
    Finished report
    • Correct report and simulation
    7 Buffer time - finish report.

    Task division

    Week What? Who?
    1
    • Finish work plan
    • Finish literature study and SotA (Everybody searches 5 articles, reads them and summarizes them)
    • Everybody together
    • Everybody
    2
    • Finish analysis of the user and user needs
    • Edit project planning and update wiki with references
    • Finish SotA
    • Lars, Kylian
    • Ibrahim, Jorick
    • Ezra
    3
    • Specify the model design
    • Program a basic window in Netlogo
    • Research implementation of water usage
    • Research implementation of energy usage
    • Coaching questions + update planning and division of tasks on wiki
    • Kylian
    • Lars
    • Ibrahim
    • Ezra
    • Jorick
    4
    • Start modeling the motion planning of the robot into Netlogo
    • Research turning paths and times for robot
    • Write report about the first half of the project
    • Specifically describe the robots attributes and functions
    • Jorick, Kylian
    • Ezra
    • Lars, Ibrahim
    • Lars, Ibrahim
    5
    • Further programme the netlogo behaviour
    • Programme a better dirt distribution
    • Write about algortihm
    • Update state of the art
    • Mathematics and explanations behind turning behaviour in report
    • Fix contradicting statements in report
    • How to incorperate weight of the robot into model
    • Summeries the possible factors in which time savings can be had
    • Lars, Kylian
    • Kylian
    • Lars
    • Ibrahim
    • Ezra
    • Jorick
    • Jorick, Ibrahim
    • Jorick, Ibrahim
    6
    • Finish model
    • Compare final results from model with controll values
    • Finish report
    • Lars, Kylian
    • Jorick, Ibrahim
    • Everybody
    7 Finish report Group work

    The Model

    In this section, it is explained how the NetLogo model is constructed and how it works. Besides that, it is also indicated what the limitations of the model are. The NetLogo model can be downloaded at the top of the wiki page.
    For modeling the following 3 sections are considered:

  • User interface & General considerations
  • Implementation of the motion planning algorithms
  • Limitations of the model

    Evaluation Results

    In this section it is explained how the results of the NetLogo model are treated. Furthermore, the performance of the developed algorithms are compared with the reference algorithm (denoted as standard in the previous section). At last, the results are fed back to the user needs, requirements and preferences.
    For the result the following 3 sections are considered:

  • Treatment of the results
  • Comparison motion planning algorithms
  • Feedback to user needs, requirements and preferences

    Conclusion

    In this project, a literature study on current window cleaning robots and their motion-planning algorithms was performed. This literature study gave insight in the shortcomings of the motionplanning of current window cleaning robots and therefore provided the motivation to design a better motion-planning algorithm. The design question was as follows:

    How should the main, currently used motion-planning algorithm for small sized window cleaning robots for domestic use be improved such that it is more efficient in terms of cleaning speed, energy consumption and water consumption?

    After defining user needs, requirements, preferences and constraints, two innovative motionplanning algorithm concepts were designed. To compare these two algorithms with the currently used, less optimal, motion-planning algorithm, it was decided to develop a NetLogo model for each of the algorithms. In order to make a good comparison, specifications and quantifications of the window cleaning robot needed to be obtained. To obtain these quantifications, additional research was done and several assumptions and simplifications were made. All this together formed the basis of the developed NetLogo model. With the finished NetLogo model, both the reference algorithm and the developed algorithms were extensively tested at different conditions to obtain data for a proper comparison between these three algorithms. From the results it was concluded that as well algorithm 1 (zigzag) as algorithm 2 (turndirt) was better than the standard motion-planning algorithm in terms of cleaning speed, water consumption and energy consumption. The difference was particularly notable for wider and bigger windows. The question then became which algorithm of the two was the best. In terms of cleaning speed, it turned out that algorithm 1 was significantly better. In terms of water consumption and mean power however, it turned out that algorithm 2 was actually slightly better. This leaves the primary user, a certain window cleaning company, with the choice between algorithm 1 and 2, based on their preferences. Nevertheless, if one should advice a certain algorithm, the best choice seems to be algorithm 1, since cleaning speed is of higher importance for both the primary as the secondary user than energy and water consumption.

    All in all, it is now possible to answer the design question of this project. The motion-planning algorithm of current small sized window cleaning robots for domestic use should be improved with short reciprocating movements that are used when the dirt sensors sense a persistent spot of dirt as stated in the explanation of algorithm 1. The usage of this motion-planning algorithm will improve cleaning speed, water consumption and energy consumption and is therefore a very useful alternative for the main, currently used, motion-planning algorithm for domestic use. As a result, the implementation of this algorithm, denoted as algorithm 1, will be very beneficial for as well primary as secondary users, since window-washers will now be able to reduce their cleaning times while still being able to deliver the same results with less water and energy consumption.

    Coaching Questions

    Coaching Questions Group 3

    The links below refer to pages with the coaching questions of each week.

    MATLAB scripts

  • MATLAB code turning motion
  • MATLAB code performance indicators

    References

    [1] Akinfiev,T. Armada,M. & Nabulshi,S. (2009). Climbing cleaning robot for vertical surfaces. Industrial Robot: An International Journal, Vol. 36 Issue: 4 pp.352-357.
    [2] Barbut,O. (2008). Window Cleaning Robot ASME Design Competition. Department of Mechanical Engineering Toronto.
    [3] Choi,Y. & Jung,K. (2011 November 26). WINDORO: The World's First Commercialized Window Cleaning Robot for Domestic Use. Pohang Institute of Intelligent Robotics Korea.
    [4]Choi,Y-H. Lee,J-Y. Lee,J-D. & Lee,K-E. (2012 November 29).SMART WINDORO V1.0: Smart Window Cleaning Robot. Korea Institute of Robot & Convergence.
    [5] Chu,B. Jung,K. Han,C. & Hong,D.(2010 August). A Survey of Climbing Robots: Locomotion and Adhesion. Department of Mechanical Engineering South Korea.
    [6] Galceran,E. & Carreras,M.(2013 August 5). A survey on coverage path planning for robotics. University of Girona Spain.
    [7] Gandhinathan, R. & Ambigai, R. (2016). Design and Kinematic Analysis of Tethered Guiding Vehicle (TGV) for façade window cleaning. Department of Mechanical Engineering India.
    [8] Gerstmayr-Hillen,L et al. (2013 January 17). Dense topological maps and partial pose estimation for visual control of autonomous cleaning robot. Computer Engineering Group , Faculty of Technology Germany.
    [9] Imoaka,N. Roh,S. Yusuke,N. & Hirose,S. (2010 October 22). SkyScraper-I: Tethered Whole Windows Cleaning Robot. Design of Moving Mechanisms and Preliminary Experiments Taiwan.
    [10] Jiang,J. Zhang,Y. & Zhang,S. (2014).Implementation of glass-curtain-wall cleaning robot driven by double flexible rope. Industrial Robot: an International Journal, Vol.41 Issue: 5 pp.429-438.
    [11] Katsuki,Y. Ikeda,T. & Yamamoto,M. (2011 September 30). Development of a High Efficiency and High reliable Glass Cleaning Robot with a Dirt Detect Sensor.
    [12] Lee,J. Choi,Y. & Lee,J. (2013 November 2). Calculation of Optimal Magnetic Force for Automatic Control Magnetic Force of the Window Cleaning Robot. Korea Institute of Robot and Convergence Korea.
    [13] Lee,S. Kang,M. & Han,C. (2012 December). Sensor Based Motion Planning and Estimation of High-rise Building Façade Maintenance Robot. Department of Mechatronics Engineering South Korea.
    [14] Leidner,D. & Beetz,M. (2016 November 17). Inferring the Effects of Wiping Motions based on Haptic Perception.
    [15] Lui,J. Tanaka,K. Bao,L M. & Yamaura,I.(2005 October 3).Analytic modeling of suction cups used for window-cleaning robots. Department of Functional Machinery and Mechanics Japan.
    [16] Liu,J. Jiang,H. Li,Z. & Hu,H. (2009). A Small Window-Cleaning Robot for Domestic Use. Jiangnan University China.
    [17] Liu, J. et al. (2011 May 9). A Gecko Inspired Fluid Driven Climbing Robot. Institute Of Mechatronic Control Engineering Zhejiang University.
    [18] Lupetti,M L. Rosa,S. & Ermacora,G. From a Robotic Vacuum Cleaner to a Robot Companion: Acceptance and Engagement in Domestic Environments.
    [19] Moon,S M. Shin,C Y. Huh,J. Won,K. & Hong,D. (2015 January). Window Cleaning System with Water Circulation for Building Façade Maintenance Robot and Its Efficiency Analysis. School of Mechanical Engineering South Korea.
    [20] Nguyen,D. & Shimada,A. (2013). A Path Motion Planning For Humanoid Climbing Robot. Shibuara Institute of Technology Japan.
    [21] Nishi,A. A wall climbing robot for inspection use. Miyazaki University Japan.
    [22] Palleja,T. Transanchez,M. Teixido,M. & Palacin,J. (2009 August 11). Modeling floor-cleaning coverage performance of some domestic mobile robots in a reduced scenario. Department of Computer Science Spain.
    [23] Seo,K. Cho,S. Kim,T. Kim,H S. & Kim, J. (2013 August 15). Design and stability analysis of a novel wall-climbing robotic platform (ROPE RIDE). Mechanism and Machine Theory pp.189-208.
    [24] Zanele,G N M. (2011 June). Motion Planning Algorithms for Autonomous Robots in Static and Dynamic Environments. University of Johannesburg.
    [25] Zhou,Q. & Li,X. (2016). Experimental comparison of drag-wiper and roller-wiper glass-cleaning robots. Industrial Robot: An International Journal, Vol.43 Issue:4, pp409-420.