PRE2017 3 Groep3: Difference between revisions

From Control Systems Technology Group
Jump to navigation Jump to search
No edit summary
No edit summary
Line 271: Line 271:
<p>The first important choice that needed to be made for the model for the window cleaning motion planning algorithm was the choice of the program that is used for modelling this algorithm. The program that was eventually chosen was NetLogo. There are several reasons for this particular choice. An important reason is that it is easy to create graphical output with NetLogo. This enables the visualisation of the window cleaning robot using the programmed motion planning algorithm to clean a window. 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 modelling the cleaning of the window (the underground) by the robot (the agent). NetLogo also has the ability to create sliders for some of the parameters of the model which makes it easy to test the motion planning algorithm for different values of these parameters. This makes it very easy to test the programmed motion planning algorithm during development for different parameter value situations. Furthermore, NetLogo is relatively easy to program and its program language is already known by the members of the group. </p>
<p>The first important choice that needed to be made for the model for the window cleaning motion planning algorithm was the choice of the program that is used for modelling this algorithm. The program that was eventually chosen was NetLogo. There are several reasons for this particular choice. An important reason is that it is easy to create graphical output with NetLogo. This enables the visualisation of the window cleaning robot using the programmed motion planning algorithm to clean a window. 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 modelling the cleaning of the window (the underground) by the robot (the agent). NetLogo also has the ability to create sliders for some of the parameters of the model which makes it easy to test the motion planning algorithm for different values of these parameters. This makes it very easy to test the programmed motion planning algorithm during development for different parameter value situations. Furthermore, NetLogo is relatively easy to program and its program language is already known by the members of the group. </p>
<p> Next, it needed to be decided how the task environment (the window) as well as the robot would be modeled in NetLogo. To do this, some assumptions were made. The window is assumed to have a rectangular shape and is divided in patches that correspond to an area of 50 by 50 millimeters in reality. At the start of each run of the model, each of these patches will receive a random value of dirtiness between 0 and 100. The robot is assumed to have a square shape and covers an area of 5x5 patches, which thus equals an area 250 x 250 mm. These dimensions are very similar to the current commercial available window cleaning systems such as the Hobot, Windoro and Winbot. This thus also means that the height and width of the window are a multiple of 5 patches. The geometry of the robot is taken as fixed. When the underside of the robot is considered and when it is divided in 5x5 squares with the same size as the patches, the first and last two columns of squares are used for cleaning purposes. The middle column consists of dirt detect sensors. This layout is illustrated in the figure below. </p> <br /> <br />
<p> Next, it needed to be decided how the task environment (the window) as well as the robot would be modeled in NetLogo. To do this, some assumptions were made. The window is assumed to have a rectangular shape and is divided in patches that correspond to an area of 50 by 50 millimeters in reality. At the start of each run of the model, each of these patches will receive a random value of dirtiness between 0 and 100. The robot is assumed to have a square shape and covers an area of 5x5 patches, which thus equals an area 250 x 250 mm. These dimensions are very similar to the current commercial available window cleaning systems such as the Hobot, Windoro and Winbot. This thus also means that the height and width of the window are a multiple of 5 patches. The geometry of the robot is taken as fixed. When the underside of the robot is considered and when it is divided in 5x5 squares with the same size as the patches, the first and last two columns of squares are used for cleaning purposes. The middle column consists of dirt detect sensors. This layout is illustrated in the figure below. </p> <br /> <br />
<center>[[Image:AMIGO_istanbul1.jpg|thumb|500px|center|alt=AMIGO @ Robocup 2011 Istanbul.|AMIGO @ Robocup 2011 Istanbul.]]</center><br/>
<center>[[5x5_windowcleaningrobot.JPG]]</center><br/>
<p> Furthermore, it is assumed that the robot is only able to translate over the window without turning. The robot is always placed on the window with the same orientation as given in the figure above, thus the column of dirt detect sensors is parallel to the left and right sides of the window frame. </p>
<p> Furthermore, it is assumed that the robot is only able to translate over the window without turning. The robot is always placed on the window with the same orientation as given in the figure above, thus the column of dirt detect sensors is parallel to the left and right sides of the window frame. </p>
<p> At last, assumptions about the modelling of the cleaning and dirt detect action as well as energy and water consumption needed to be made. For the cleaning action, it is assumed that when a patch is located under one of the cleaning squares of the robot and when this patch has a dirtiness that is greater than zero, the dirtiness of the patch is reduced with a random number between 30 and 60 per time step. A time step is taken to correspond to a time of 1 second in reality. When the reduction in dirtiness is greater than the actual dirtiness of a patch, the dirtiness of the patch is set to zero. For the dirt detect action, it is assumed that when a patch is located under one of the dirt detect sensor squares of the robot and when the robot checks the dirtiness of this patch, the dirtiness is assessed with a random error between 0 and 20 percent of the actual dirtiness. Every time that the robot assesses the dirtiness of a patch again, this error is again randomly determined. The energy consumption of the robot for a time step is taken to be the sum of a constant in Joule, representing the fact that the robot is turned on, and the product of the number of patches that are cleaned during the time step and a constant in Joule that represents the amount of energy needed to clean a patch during the time step. The water consumption of the robot for a time step is taken to be the product of the number of patches that are cleaned during the time step multiplied with a constant in Liter that represents the amount of water needed to clean a patch during one time step. </p> <br \>
<p> At last, assumptions about the modelling of the cleaning and dirt detect action as well as energy and water consumption needed to be made. For the cleaning action, it is assumed that when a patch is located under one of the cleaning squares of the robot and when this patch has a dirtiness that is greater than zero, the dirtiness of the patch is reduced with a random number between 30 and 60 per time step. A time step is taken to correspond to a time of 1 second in reality. When the reduction in dirtiness is greater than the actual dirtiness of a patch, the dirtiness of the patch is set to zero. For the dirt detect action, it is assumed that when a patch is located under one of the dirt detect sensor squares of the robot and when the robot checks the dirtiness of this patch, the dirtiness is assessed with a random error between 0 and 20 percent of the actual dirtiness. Every time that the robot assesses the dirtiness of a patch again, this error is again randomly determined. The energy consumption of the robot for a time step is taken to be the sum of a constant in Joule, representing the fact that the robot is turned on, and the product of the number of patches that are cleaned during the time step and a constant in Joule that represents the amount of energy needed to clean a patch during the time step. The water consumption of the robot for a time step is taken to be the product of the number of patches that are cleaned during the time step multiplied with a constant in Liter that represents the amount of water needed to clean a patch during one time step. </p> <br \>

Revision as of 16:50, 3 March 2018

Subject

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.

Users

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.

The user needs need to be determined in order to develop the model.

State-of-the-art

The list below gives an overview of the summaries of the articles which have been studied. The articles are divided into subcategories.

Window cleaning robot design

Issues encountered while performing cleaning task

Movement over façade

Movement over window

Acceptance of robots and engagement with robots

Figures belonging to the summaries will be added later.

Approach

  1. Literature study of current window cleaning robots and USE aspects regarding window cleaning robots
  2. Analysis of the user and user needs
  3. 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.

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 for last details and unexpected issues.

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 comparisson values for the robots results
  • Write report about the first half of the project
  • Lars, Jorick, Kylian
  • Ezra, Ibrahim
  • Ezra, Ibrahim
5
  • Analysis of the simulation results, compare to controll values
  • Improve and possibly expand algorithm
  • Write about algortihm
  • Re-check wether all defined needs, preferences and requirements are satisfied by the model
  • Jorick, Ibrahim
  • Lars, Kylian
  • Ezra
  • Ezra,
6
  • Finish model
  • Compare final results from model with controll values
  • Finish report
  • Lars, Jorick
  • Kylian, Ibrahim
  • Everybody
7 ... ...

Work on the model

Setup of the model

The first important choice that needed to be made for the model for the window cleaning motion planning algorithm was the choice of the program that is used for modelling this algorithm. The program that was eventually chosen was NetLogo. There are several reasons for this particular choice. An important reason is that it is easy to create graphical output with NetLogo. This enables the visualisation of the window cleaning robot using the programmed motion planning algorithm to clean a window. 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 modelling the cleaning of the window (the underground) by the robot (the agent). NetLogo also has the ability to create sliders for some of the parameters of the model which makes it easy to test the motion planning algorithm for different values of these parameters. This makes it very easy to test the programmed motion planning algorithm during development for different parameter value situations. Furthermore, NetLogo is relatively easy to program and its program language is already known by the members of the group.

Next, it needed to be decided how the task environment (the window) as well as the robot would be modeled in NetLogo. To do this, some assumptions were made. The window is assumed to have a rectangular shape and is divided in patches that correspond to an area of 50 by 50 millimeters in reality. At the start of each run of the model, each of these patches will receive a random value of dirtiness between 0 and 100. The robot is assumed to have a square shape and covers an area of 5x5 patches, which thus equals an area 250 x 250 mm. These dimensions are very similar to the current commercial available window cleaning systems such as the Hobot, Windoro and Winbot. This thus also means that the height and width of the window are a multiple of 5 patches. The geometry of the robot is taken as fixed. When the underside of the robot is considered and when it is divided in 5x5 squares with the same size as the patches, the first and last two columns of squares are used for cleaning purposes. The middle column consists of dirt detect sensors. This layout is illustrated in the figure below.



5x5_windowcleaningrobot.JPG


Furthermore, it is assumed that the robot is only able to translate over the window without turning. The robot is always placed on the window with the same orientation as given in the figure above, thus the column of dirt detect sensors is parallel to the left and right sides of the window frame.

At last, assumptions about the modelling of the cleaning and dirt detect action as well as energy and water consumption needed to be made. For the cleaning action, it is assumed that when a patch is located under one of the cleaning squares of the robot and when this patch has a dirtiness that is greater than zero, the dirtiness of the patch is reduced with a random number between 30 and 60 per time step. A time step is taken to correspond to a time of 1 second in reality. When the reduction in dirtiness is greater than the actual dirtiness of a patch, the dirtiness of the patch is set to zero. For the dirt detect action, it is assumed that when a patch is located under one of the dirt detect sensor squares of the robot and when the robot checks the dirtiness of this patch, the dirtiness is assessed with a random error between 0 and 20 percent of the actual dirtiness. Every time that the robot assesses the dirtiness of a patch again, this error is again randomly determined. The energy consumption of the robot for a time step is taken to be the sum of a constant in Joule, representing the fact that the robot is turned on, and the product of the number of patches that are cleaned during the time step and a constant in Joule that represents the amount of energy needed to clean a patch during the time step. The water consumption of the robot for a time step is taken to be the product of the number of patches that are cleaned during the time step multiplied with a constant in Liter that represents the amount of water needed to clean a patch during one time step.


Current state of the model (week 3)


Coaching Questions

Coaching Questions Group 3

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

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.