pISSN 1897-8649 (PRINT) / eISSN 2080-2145 (ONLINE)
VOLUME 7
N째 3
2013
www.jamris.org
Journal of Automation, mobile robotics & Intelligent Systems
Editor-in-Chief Janusz Kacprzyk (Systems Research Institute, Polish Academy of Sciences; PIAP, Poland)
Associate Editors: Mariusz Andrzejczak (BUMAR, Poland) Katarzyna Rzeplinska-Rykała (PIAP, Poland)
Co-Editors: Oscar Castillo (Tijuana Institute of Technology, Mexico) Dimitar Filev (Research & Advanced Engineering, Ford Motor Company, USA) Kaoru Hirota (Interdisciplinary Graduate School of Science and Engineering, Tokyo Institute of Technology, Japan) Witold Pedrycz (ECERF, University of Alberta, Canada) Roman Szewczyk (PIAP, Warsaw University of Technology, Poland)
Statistical Editor: Małgorzata Kaliczynska (PIAP, Poland)
Executive Editor: Anna Ladan aladan@piap.pl
Copyright and reprint permissions Executive Editor
Editorial Board: Chairman: Janusz Kacprzyk (Polish Academy of Sciences; PIAP, Poland) Plamen Angelov (Lancaster University, UK) Zenn Bien (Korea Advanced Institute of Science and Technology, Korea) Adam Borkowski (Polish Academy of Sciences, Poland) Wolfgang Borutzky (Fachhochschule Bonn-Rhein-Sieg, Germany) Chin Chen Chang (Feng Chia University, Taiwan) Jorge Manuel Miranda Dias (University of Coimbra, Portugal) Bogdan Gabryœ (Bournemouth University, UK) Jan Jab³kowski (PIAP, Poland) Stanisław Kaczanowski (PIAP, Poland) Tadeusz Kaczorek (Warsaw University of Technology, Poland) Marian P. Kazmierkowski (Warsaw University of Technology, Poland) Józef Korbicz (University of Zielona Góra, Poland) Krzysztof Kozłowski (Poznan University of Technology, Poland) Eckart Kramer (Fachhochschule Eberswalde, Germany) Piotr Kulczycki (Cracow University of Technology, Poland) Andrew Kusiak (University of Iowa, USA) Mark Last (Ben–Gurion University of the Negev, Israel) Patricia Melin (Tijuana Institute of Technology, Mexico)
Tadeusz Missala (PIAP, Poland) Fazel Naghdy (University of Wollongong, Australia) Zbigniew Nahorski (Polish Academy of Science, Poland) Antoni Niederliñski (Silesian University of Technology, Poland) Witold Pedrycz (University of Alberta, Canada) Duc Truong Pham (Cardiff University, UK) Lech Polkowski (Polish-Japanese Institute of Information Technology, Poland) Alain Pruski (University of Metz, France) Leszek Rutkowski (Czêstochowa University of Technology, Poland) Klaus Schilling (Julius-Maximilians-University Würzburg, Germany) Ryszard Tadeusiewicz (AGH University of Science and Technology in Cracow, Poland) Stanisław Tarasiewicz (University of Laval, Canada) Piotr Tatjewski (Warsaw University of Technology, Poland) Władysław Torbicz (Polish Academy of Sciences, Poland) Leszek Trybus (Rzeszów University of Technology, Poland) René Wamkeue (University of Québec, Canada) Janusz Zalewski (Florida Gulf Coast University, USA) Marek Zaremba (University of Québec, Canada)
Webmaster: Tomasz Kobyliñski tkobylinski@piap.pl Editorial Office: Industrial Research Institute for Automation and Measurements PIAP Al. Jerozolimskie 202, 02-486 Warsaw, POLAND Tel. +48-22-8740109, office@jamris.org
Publisher: Industrial Research Institute for Automation and Measurements PIAP
If in doubt about the proper edition of contributions, please contact the Executive Editor. Articles are reviewed, excluding advertisements and descriptions of products. All rights reserved © Articles
1
JOURNAL of AUTOMATION, MOBILE ROBOTICS & INTELLIGENT SYSTEMS VOLUME 7, N° 3, 2013
CONTENTS 39
3
The Application of Cognitive Coputer Graphics to Economic Data Exploration Olga Pilipczuk, Dmitri Eidenzon
5
Algorithms for Packing Soft Blocks of VLSI System Marcin Iwaniec, Adam Janiak
46
A Skeleton Rule-based Expert System of New Generation Władysław Brzozowski
A Comparison of Buffer Sizing Techniques in the Critical Chain Method. Case study Anna Slusarczyk, Dorota Kuchta, Philip Verlhust, Willem Huyghe, Koen Lauryssen, Torrino Debal
12
Map Construction and Localization Using Lego Mindstorms NXT Jasmeet Singh, Punam Bedi
18
Synthesis of Quasi-optimal Motion Crane’s Control in the Form o Feedback Vjacheslav Lovejnkin, Yuriy Romasevich, Yuriy Chovnuk
2
Articles
52
Rough Surface Description System in 2,5D Map for Mobile Robot Navigation Adam Niewola
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 7,
N° 3
2013
The Application of Cognitive Computer Graphics to Economic Data Exploration Submitted: 31st July 2012; accepted: 8th April 2013
Olga Pilipczuk, Dmitri Eidenzon Abstract: This paper describes the concept of cognitive graphics and its importance for the analysis and visualization of economic data. A brief description of cognitive graphics systems is presented. Particular attention is given to the NovoSpark Visualizer system that not only enables data exploration but also allows color transformation of numerical data. An experiment is conducted to demonstrate how the application of color spectrum results in activation of cognitive thinking, and thus allows the researcher to quickly find a solution to the problem. Keywords: cognitive computer graphics, color spectrum, NovoSpark Visualizer
1. Introduction People’s desire to communicate their ideas and concepts, vision of the world and knowledge in the form of a graphic image is observed from the beginning of civilization. People exchange information by visual means, both abstract and information with direct basis in reality. Data visualization is based on the unique ability of a person to process huge amounts of visual information in a short period of time. Nowadays, visualization helps in conducting scientific research, is routinely used in technical disciplines, medicine, economics and management, in art, that is, whenever we are struggling with problem solving and decision making. Ensuring adequacy of the decisions is possible only on condition of proper interpretation of data analysis results, which usually is impossible without data visualization and analysis, especially when we try to process a large number of parameters simultaneously. In this case, visual analysis becomes more complicated because of the increased dimensionality of the input data. Additional graphics objects and verbal and numerical information describing these objects are emerged in the image and, therefore, increase the number of tries to interpret the results of the analysis. So, the need for multidimensional data visualization as a single image arises. This image allows for easy interpretation of the results. Combination of computer graphics and cognitive approach provides a way to solve the problems quickly and increase efficiency of the tasks. The main purpose of the article is to present the cognitive approach for visualization of multidimensional data and to show the effects of its application. An example of problem solving with the NovoSpark Visualiser tool is provided.
2. The Concept and Characteristics of Cognitive Graphics The concept of cognitive graphics was first presented by the Russian scientist A. Zenkin in the paper describing the research on the properties of various concepts in the number theory. Cognitive graphics is a set of means and methods of graphic presentation of the problem, which allows you to see the solution right away or at least get a hint [Zenkin, 1991]. Graphics is the direction of cognitive machine graphics that combines visualization mapped on a computer screen with the cognitive processes taking place in the human brain. Cognitive graphics allows the user to see a new direction or approach to solving a problem that was not visible when using traditional tools of data visualization. Verbal or symbolic knowledge about an object, phenomenon or situation is rarely able to provide such a clear perception and understanding as visual perception, for which a right hemisphere of the human brain is responsible. There are three main cognitive functions of cognitive graphics [Zenkin, 1991]: 1. Creation of the models of knowledge representation, which would be able to provide uniform methods of objects presentation, typical for logical thinking and images created with imaginary thinking; 2. Visualization of knowledge, we have not yet found text descriptions; 3. Finding ways to move from the observed images to formulation of hypotheses about the mechanisms and processes that are hidden in the dynamics of the observed patterns. So, in other words, the key functions of cognitive systems are illustrative and cognitive function. The first one allows you to build various types of diagrams, charts, histograms, charts, while the other helps the user to exploit the natural ability to think in terms of spatial images. Visualization of multidimensional data in a single image not only allows performing qualitative analysis, but also using the results of visualization to confirm or refute hypotheses. Significant effects can give the application of cognitive approach for visualization of multidimensional data. At present, there are no standard cognitive principles of information visualization, but there is an understanding that graphic images contain a compressed available for the user information to help in solving the problem. Each image accumulates the information in the life cycle of an object, and then an expert interprets it using the experience and knowledge. Articles
3
Journal of Automation, Mobile Robotics & Intelligent Systems
In the recent years a number of systems with cognitive approach have been created to explore and visualize data. These systems have found their applications in medicine, economics and management, statistics, construction, architecture, mathematics, physics, microelectronics, etc. [Novoselov, 2008; Rakczeeva, 1993]. These systems support the problems salvation connected with graphs, with three-dimensional map of the terrain, with structures of complex technology, with constructions of various surfaces and even parts of the human body. Interfaces with cognitive graphics can also be used for educational purposes, such as learning and knowledge management. The effectiveness of using such a technology is based on involvement of the organs of human perception in learning and control processes. For example, in the process of astronauts training the graphical tools for creation of 3D models and threedimensional worlds are used. When designing systems using cognitive computer graphics, intelligent tools are needed that perform the key functions: cognitive and illustration. Such systems should fit into different areas of application and at the same time should be sufficiently mobile in different operating systems. Moreover, such a tool should create and display three-dimensional graphical objects with orientation for modern software environment, to add any information to graphic objects, to provide the ability to use graphic materials from other graphics systems.
3. The Visible Color Spectrum and its Application in Computer Graphics
As previously stated, the most important element of cognitive graphics systems is adequate representation of the data. The color spectrum is very often used in cognitive graphic systems for visualization of multidimensional data. A human being can see and understand all colors in a spectrum in a natural intuitive way. The spectrum of colors is part of the electromagnetic spectrum that can be detected by the human eye. The spectrum of colors consists of the following simple colors: violet, indigo, blue, cyan, green, yellow, orange and red. A simple color is a visual impression caused by an electromagnetic wave with a specified length between 380 nm and 740 nanometers. violet
blue
380
Fig. 1. Color spectrum
4
green
yellow
red
740
nanometers
Each color has specific meaning. Cool colors are usually not reassuring. Violet is a combination of blue and red. Red brings dynamism and activity to distanced blue. Light blue often has an effect of calmness and relaxation. Green has the same calming effect as well as blue, but it also contains some of the energy of yellow. Generally, the green has the balancing and harmonizing impact. Warm colors convey emotions from simple optimism or hope to anger. These are typically energetic and positive colors. Yellow is the first warm color in the spectrum. It carries the warmth, joy, and Articles
VOLUME 7,
N° 3
2013
at the same time it is gentle. The orange color usually creates excitement. Red has long been recognized as the color of strong emotions, and even aggression. Because of the intuitive color perception by the human, in cognitive graphics systems suitable colors reflect the values of various parameters. So, purple indicates minimal value of the selected parameter, red indicates the maximum value of the parameter, and green – the average. The similar scheme has been used in a variety of computer graphics systems, and among others the NovoSpark Visualizer system presented in the next part of this article.
4. NovoSpark Visualizer System – Conception and Methodology
The necessity of displaying three or more related parameters/variables using traditional methods of data visualization (charts, diagrams, icons, and others) cannot cope with the requirements for mapping and, most importantly, subsequent interpretation of resulting images [Chernoff, 1973; Bajaj, 1999; Cleveland, 1993; Friendly, 2008; Friedman, 2008; D’Ocagne, 1885; Inselberg, 1985; Inselberg, 2009]. The main disadvantages and difficulties of traditional methods are: – Determination of dimensionality; – Different scales of parameters/variables; – Detection of data trends; – Ambiguity in mapping of dynamic changes in parameter/variable values. The maximum dimensionality of images is limited by dimensionality of the data presentation tools, such as paper or computer screen. Therefore dimensionality of an image representing static state cannot exceed three, and, in the case of dynamic data (when one of the measurements specifies a time interval) maximum number of dimensions that can be shown on an image is limited to two. Visualization of the integral system state must meet the following requirements: – Usage of all state parameter values to create an image without loss of information; – Dimensionality of a state image must not exceed two dimensions; – Produce a single static image for state dynamics. In mathematics transformation of a set of discrete values in a continuous two-dimensional space [Fourier, 1808] has been known for years. The first attempt to apply such transformation for visualization of multidimensional data has been described in [Andrews, 1972] and was named “Andrews Curves”. Later, independently of this research Volovodenko et al. [Volovodenko, 1991] proposed a new approach that allowed visualization of both static and dynamic data on one integral image. The proposed methodology has been adapted to use modern computer technologies that resulted in implementation of the NovoSpark Visualizer tool [Novospark 2007, Novospark 2009]. The method of visualizing multidimensional objects and processes is based on two isometric spaces, whereby objects from one space (the data space) are called the originals, while objects from the other space play the role of images.
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 7,
4.1. The Image of a Multidimensional Observation Let us select a point-observation A in N-dimensional affine point-vector space R N of the originals A = ( a 0 , a1 ...a N −1 ) and form linear combination f A (t ) of functions {Pi (t )} 0∞ by using the following rule:
f A (t ) =
N −1
∑ a P (t ) i i
i =1
(1)
Where Pi (t ) are Legendre polynomials, i.e. orthogonal polynomials with weight 1 defined on the segment t = [0, 1]. Relationship A ↔ f A (t ) is a one-to-one correspondence and, hence, changes in parameters/coordinates a i imply the corresponding changes in the function f A (t ) . Figure 2 shows images of the multidimensional observations A = (0,0,0,0,0,0,1) and B = (0,0,0,0,0,0,-1) in the two-dimensional coordinate system {f, t}. Since image of a point in a multidimensional space is a function-curve, it can be “painted” in accordance with the function values. Applying a color palette emphasizes similarities and/or differences in images and allows viewing these images in the coordinate system {z, t}, where one can render an arbitrary image “width” along the z-axis. Such representation of an image f A (t ) as a surface is called a “spectrum” of the multidimensional point-observation. Figure 3a shows colored images of the two multidimensional observations A and B in the coordinate system {f, t}
N° 3
2013
and the corresponding spectrums, 3bd in the coordinate system {z, t}, where vertical lines on the spectrums correspond to arbitrarily selected spectrum surface isolines.
4.2. The Image of a Multidimensional Process
A multidimensional process can be considered as a set of sequential transitions from one multidimensional observation (state) to another; or as a set of multidimensional segments sequentially connecting system states – points in the multidimensional space of the originals. If we connect origin 0 in R N to the point A by the radius vector ρ A , then projections ρ A will coincide with the coordinates of the point A, i.e. ρ A = vector ( a0 , a1 ...a N −1 ) . The vector ρ A is called the finite representing the vector of polynomial (fA(t). Here one can see the connection with the method of representing vectors [Volovodenko, Koryakina, 1980]. Selecting another point B in multidimensional space R N produces the radius vector: ρ B = vector (b0 , b1 ...bN −1 ) . Now we can describe a multidimensional segment AB with fixed vertices, where one can define the radius vector for any point X belonging to the segment AB: p X = vector ( x 0 , x1 ... x N −1 ) , which satisfies the following equation:
ρ X = ρ A + z( ρ B − ρ A ) = ρ X = ,
(2)
= vector ( x0 ( z ), x1 ( z )... x N −1 ( z )
where z ∈ [0,1] . Similarly to (*) we can define an image of the point X at a position z:
X = X ( z ) ↔ f X (t ) =
N −1
∑ x ( z ) P (t ) = f i
i =0
i
X
(t , z ) , (3)
where x i ( z ) = a i + z (bi − a i ) .
Fig. 2. Images of multidimensional observations A and B
f A (t )
The set of the equations above justifies the transition from the two-dimensional images f X (t ) in the coordinate system {f, t} to the three-dimensional images f X (t , z ) in the coordinate system {f, t, z}. Due to the linearity of the transformation (1), the multidimensional segment AB corresponds to a smooth continuously changing surface F, as shown in the Fig. 4.
f B (t ) (а )
f A (t )
Fig. 4. The image of a multidimensional segment AB with the point ab=(0,0,0,0,0,0,0) in the coordinate system {f, t, z}
f B (t ) (b)
Fig. 3. Images of multidimensional observations A and B: (a) in the coordinate system {f, t} and (b) in the coordinate system {z, t}
Let us look at the above surface F in more details. The cross-section z = 0 produces the function f (t ,0) = f A (t ) . Likewise, the cross-section z=1 generates the function f (t ,1) = f B (t ) . The intermediate surface cross-sections correspond to the interArticles
5
Journal of Automation, Mobile Robotics & Intelligent Systems
mediate segment points and produce the functions f X * (t ) = f X (t , z * ) for z = z*. Thus, there is a one-to-one correspondence between points of the segment AB in the N-dimensional space of originals R N and cross-sections of the surface F in the 3-dimensional space of images R3. Since the domain of the arguments f, t and z is strictly defined, it is possible to precisely scale the axes of the coordinate system {f, t, z}, which is required for displaying the images on a graphical device (e.g. computer monitor). Although the image of a multidimensional process is defined in the coordinate system {f, t, z}, identification of process patterns can be easily done in the coordinate system {t, z} using a color palette on the process state images as shown below in Fig 5.
VOLUME 7,
Time intervals
M
T
W
T
F
S
S
8.00 – 9.00
8.3
12.2
10.0
13.3
14.5
22.5
10.1
10.00 – 11.00
22.1
26.3
20.5
25.5
21.1
35.4
36.3
12.00 – 13.00
21.3
9.00 – 10.00
11.00 – 12.00
13.00 – 14.00
14.00 – 15.00
16.00 – 17.00
17.00 – 18.00
Using the coordinate system {f, t, z} as a 3-dimensional image space allows defining and displaying the value of a “distance” between multidimensional objects from the original space. That is, two-dimensional images (in the coordinate system {f, t}) of multidimensional objects are rendered along the z-axis (in the coordinate system {f, t, z}) according to their distance from the selected origin. Thus, the z-axis in the coordinate space of images {f, t, z} is called the “distance-axis”. Any known distance metric can be used for the z-axis values, like Euclidean distance, Mahalanobis distance, time interval (to display a process) and/or others. Practical application of abovementioned methodology will be examined by the example shown in the following part of article.
2013
Table 1. Pool customers’ average attendance in 2
15.00 – 16.00
Fig. 5. A fragment of the image of a 12-channel ECG in the coordinate system {t, z}
N° 3
18.00 – 19.00
19.00 – 20.00
20.00 – 21.00
21.00 – 22.00
22.00 – 23.00
8.6
25.0
25.8
25.6
33.4
34.4
42.2
50.1
38.9
27.5
12.6 5.3
14.2
26.9
23.5
19.0
18.4
34.2
45.1
51.8
55.7
40.1
26.0
18.9 8.9
15.4
22.2
25.9
30.2
31.1
32.7
38.5
43.3
48.6
46.2
17.1
29.5
31.1
27.4
29.5
35.3
46.5
56.6
58.2 42
32.2
40.2
7.7
10.3
16.1
25.7
16.3
35.5
34.7
37.4
39.4
42.6
65.2
64.7
60.5
37.3
24.2
10.3 2.1
28.9
60.5
72.3
68.4
73.5
66.6
63.7
41.9
34.9
45.1
22.9
12.8
12.2
33.5
51.2
55.5
60.4
57.7
55.1
45.5
42.4
25.3
18.1
17.2
15.8 8
Firstly, the traditional visualization has been made. Then, on the basis of visualization the attendance analysis was made. After that, authors provide the interpretation using color spectrum and compare the results. a)
5. An Example of Using NovoSpark Visualizer System in Decision-making
6
In order to prove that cognitive graphics system can help in decision making, authors provide an example of health and fitness center problem solving. Promotion and marketing department is given the task to analyze the demand for various center services and create a new price offer taking into account the results of analysis. The number of customer visits at the specified time was calculated. During the research large volumes of the source data were collected. To facilitate the analysis the paper presents only the average number of visits grouped by days of week. The obtained data is imported into the NovoSpark® Visualizer system. Table 1 presents an average number of customers using the pool facilities in 2011 grouped by all days of week. Articles
b)
Fig. 6. Visualization of the observation “Swimming Pool – Monday” a) traditional interpretation b) spectral interpretation Figure 6a shows the data on average number of Monday visits. The x-axis shows the hourly intervals, the y-axis – number of clients. Although the traditional graph shows quite clearly the dynamics, the spectral interpretation (Fig. 6b) provides more information about the function value in the specified period of time. The curve variable shape interferes in making comparisons of values.
Journal of Automation, Mobile Robotics & Intelligent Systems
The problem deepens when one image maps the functions for the entire week (Fig. 7). The x-axis shows the hourly intervals, the y-axis – number of clients. The curves comparison is a very complicated and does not indicate directly the answer to the question on which days and hours there is the greatest demand and in which – the least. The only thing you can easily see that in the morning and evening the demand is smaller than in the afternoon. In the next step the data from Table 1 was standardized and three-dimensional visualization was created. The result of these operations is shown in Figure 8. At this stage the system capabilities allow to see the importance of the selected parameter at each point on the image. The color interpretation makes the image much more transparent. At the beginning, the image from Figure 7 is presented without dividing the days to draw a picture of the situation in its entirety (Fig. 9).
VOLUME 7,
N° 3
2013
To obtain more accurate information, authors divide the image into days (Fig. 10). Days of the week placed on the y-axis from Monday at the top, to Sunday at the bottom. Time intervals placed on x-axis. Now we see that the greatest demand occurs on Saturdays from 11.00 to 17.00 and Friday from 16.00 to 19.00. The lowest demand is on Mondays and Wednesdays. The number of people using the pool in the morning is not large, except Saturday, when demand is slightly higher. Furthermore, it is easy to see low demand by 15.00 on weekdays and after 15.00 on weekends. The lowest demand in the morning hours we notice on Monday and in the evening hours – on Friday.
Fig. 10. Visualization of the observation “swimming pool” – spectral interpretation divided into days
Fig. 7. Visualization of the observation “swimming pool” – traditional interpretation
A different situation we would see if we analyze the SPA customer data (Tab. 2). Table 2. SPA customers’ average attendance in 2011 Time intervals 8.00 – 9.00
9.00 – 10.00
10.00 – 11.00 11.00 – 12.00 12.00 –13.00
13.00 – 14.00
Fig. 8. The image of multidimensional observation for “swimming pool” (standardized data) In this figure all days of week are labeled sequentially, i.e 0 represents Monday, 1 – Tuesday, etc. To create this picture parallel coordinates were used. At first look, we can easily see that demand for services is much higher on weekends. The small number of people uses the pool in the morning. Evening hours are apparently not popular too. Furthermore, it is easy to see low demand by 15.00 on weekdays.
Fig. 9. Visualization of the observation “swimming pool” – spectral interpretation
14.00 – 15.00
15.00 – 16.00
16.00 – 17.00
17.00 – 18.00
18.00 – 19.00
M
7.2
8.5
21.1
26.5
20.3
27.5
24.7
33.5
35.6
24.2
21.3
T
11.2
17.5
24.2
26.5
22.7
20.6
16.6
35.4
23.4
27.6
31.9
32.7
35.5
21.7
21.00 – 22.00
5.4
5.8
0
22.8
26.7
26.9
22.3
22.00 – 23.00
14.5
37.5
17.5 6.3
11.7
31.5
19.00 – 20.00
20.00 – 21.00
W
34
14.5
T
13.6
14.4
14.9
18.5
20.2
28.5
35.3
28.4
27.7
22.2
19.7
10.2
F
14.5
16.7
21.3
25.1
34.4
37.5
39.8
42.2
35.5
34.7
30.2
27.1
S
2.2
8.7
15.1
20.5
22.1
28.5
33.9
26.3
23.3
21.1
16.2
21.7
25.1
25.4
27.3
25.9
23.7
22.1
7.6
15.3
11.2
14.1
12.4
0.5
0.7
0.7
1.3
2.7
5.5
3.8
15.5
11.1
6.3
2.8
24.5
7.7
7.4
S
6.6
8.5
3.1
0.5
Fig. 11. Visualization of the “SPA” observation – spectral interpretation Articles
7
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 7,
N° 3
2013
The evening hours are the least loaded, while the highest demand is in the afternoon (Fig. 11). In the morning, the demand subsides only on weekends. Analyzing the fitness data from Table 3, we see that the demand is lowest on Monday (Fig. 12). Table 3. Fitness customers’ average frequency in 2011 Time intervals 8.00 – 9.00
9.00 – 10.00
10.00 – 11.00
11.00 – 12.00
12.00 – 13.00
13.00 – 14.00
14.00 – 15.00
15.00 – 16.00
16.00 – 17.00
17.00 – 18.00
M
6.2
8.7
12.2
15.3
11.5
15.5
20.2
23.7
24.1
22.3
18.00 – 19.00
20.1
20.00 – 21.00
17.5
22.00 – 23.00
0.1
19.00 – 20.00
21.00 – 22.00
18
8.9
T
8.4
14.4
16.2
16.5
13.7
19.3
18.6
24.2
25.5
31.1
25.6
20.1
16.9
12.8 1.2
W
10.6
15.5
20.1
22.2
25.5
20.3
21.1
22.7
28.8
33.5
28.9
26.3
22.6
11.1 0.2
T
7.7
9.5
15.3
19.5
21.1
27.5
29.8
35.6
32.2
36.5
28.6
22.1
20.2
15.4 1.0
F
14.3
16.1
21.2
25.5
24.4
27.6
29.8
32.2
35.5
34.4
30.1
S
22.7
28.5
35.7
30.2
32.4
38.1
33.5
33.6
33.3
31.2
S
10.2
23.8
26.5
21.6
25.6
27.1
30.2
25.4
25.8
25.3
24.9
22.1
14.5
12.4
3.9
0.4
2.2
17.2
10.2
21.3 2.5
8.4
0.7
0.3
Generally, beginning of the week is not very popular. Definitely more customers use gym services on Fridays and weekends. On Sunday the morning and south are popular. Demand for services decreases significantly every day at 19.00.
Fig. 12. Visualization of the “fitness” observation – spectral interpretation
8
After analyzing all services separately, it seems reasonable to compare them within a single image to create a promotional package. If we use traditional visualization we get a picture shown in Figure 13a, which allows you to inquire about the general trends of demand changes. The x-axis shows the hourly intervals, the y-axis – number of clients. After making three-dimensional visualization we get a totally different picture. Figure 13b clearly shows the time intervals with the highest and lowest frequency. For each point on the surface, we can do analysis of the parameter value’s impact on the color of that point. Articles
Fig. 13a. Visualization of all observations of the health and fitness centre – traditional interpretation
Fig. 13b. Multidimensional image of all services of the health and fitness centre
Observation of a multi-dimensional image works well in the detailed analysis of the data. However, if we want to find the source of a problem quickly, it is worthwhile to make a spectral interpretation. In Fig. 14 on the x-axis the first 7 columns reproduce demand for SPA services, next 7 – for the swimming pool service, the last – for the fitness service. The y-axis shows the hourly intervals. The data is neither normalized nor standardized, and therefore the demand for swimming pool in the figure is much higher than demand for other services.
Fig. 14. The observations of all services of the health and fitness centre The figure allows you to see the similarity of SPA and fitness frequency. On the x-axis the first 7 columns show the demand for spa services, the next 7 – for pool service, the last 7 – for SPA service. The worst situation is in the evening (Fig. 15), especially on weekends. There is, therefore, a possibility to create a promotional offer by connecting these hours. In the morning, the demand for spa and fitness is different, so there is little point in joining the promotion in these hours. Because the number of customers is minimal from 22.00 to 23.00 in the entire center, it is useful to consider its closing an hour earlier.
Journal of Automation, Mobile Robotics & Intelligent Systems
Fig. 15. The observations of all services of the health and fitness centre from 19.00 to 23.00 In the research experiment it was found that the visualization made using the color spectrum has a significant advantage over traditional visualization. The more observations were taken into account during the experiment the less clear the traditional charts were. The NovoSpark Corporation’s application enabled not only to look at the situation in its entirety and immediately see the source of the problem, but also make detailed analysis of the selected aspects, for example to compare attendance at specific hours and days in order to make optimal decisions.
6. Conclusion
By introducing an element of cognitive intelligence to traditional technologies modern cognitive graphics systems often contribute to the creation of absolutely new knowledge about the researched object. The research performed in this article represents only a small fraction of the capabilities of cognitive graphics. These systems can become a unique tool to study patterns and processes of the imagination in the future. So, they can make the competition with many systems using the neuromarketing and neuroeconomy concept, because cognitive graphics systems do not create the possibility of manipulation with mind. They just help people to find the source of the problem in a short period of time.
AUTHORS Olga Pilipczuk*– University of Szczecin, Mickiewicza 64, Szczecin. olga.pilipczuk@wneiz.pl Dmitri Eidenzon – NovoSpark Corporation, 418 Dansbury Dr., Ontario, Waterloo, Canada dmitri.eidenzon@novospark.com *Corresponding author
References
[1] Zenkin A., Кognitivnaya kompiuternayja grafika (Когнитивная компьютерная графика), Nauka: Мoscow, 1991. [2] Y. Novoselov, „Primenenie kognitivnoi grafiki v sistemach podderzki priniatija reszenii dla bloka kompensatsii obiema na atomnych stancijach” (Применение когнитивной графики в систе-
VOLUME 7,
N° 3
2013
мах поддержки принятия решений для блока компенсации объёма на атомных станциях). In: Proceedings of conference „Informacionnye sredstwa i technologii”, MEI, vol. II, 2008, pp. 65–69. [3] T. Rakczeeva, Когнитивное представление ритмической структуры экг „Kognitinaya prezentacija ritmiczeskoi struktury EKG”, Programnye produkty i sistemy, no. 6, 1992, pp. 38–47. [4] Bajaj Ch., Krishnamurthy B., Data Visualization Techniques, Wiley Computer Books, 1999. [5] H. Chernoff, “The Use of Faces to Represent Points in K-Dimensional Space Graphically”. J. Am. Statist. Assoc., vol. 68, no. 342, 1973, pp. 361–368. [6] Cleveland W., Visualizing Data, Hobart Press: New Jersey, 1993. [7] D’Ocagne M., Coordonnées Parallèles et Axiales: Méthode de transformation géométrique et procédé nouveau de calcul graphique déduits de la considération des coordonnées parallèlles, Gauthier-Villars: Paris, 1885. [8] Friedman V., Data Visualization and Infographics, 14th Jan. 2008. Available at: http://www. smashingmagazine.com [9] Friendly M., Milestones in the history of thematic cartography, statistical graphics, and data visualization, 2008 Available at: http://www.math.yorku.ca/SCS/Gallery/milestone/milestone.pdf. [10] Inselberg A., “The Plane with Parallel Coordinates”, Visual Computer, vol. 1, no. 4, 1985, pp. 69–91. [11] Inselberg A., Parallel Coordinates: VISUAL Multidimensional Geometry and its Applications, Springer, 2009. [12] Fourier J., “Mémoire sur la propagation de la chaleur dans les corps solides”, Reprinted in “Mémoire sur la propagation de la chaleur dans les corps solides”, vol. 2, 1808, pp. 215–221. [13] Andrews D.F., “Plots of High Dimensional Data”, Biometrics, vol. 28, 1972, pp. 125–136. [14] Volovodenko V., Eidenzon D., Mylcev K., Метод и система визуализации многомерных объектов и процессов, VINITI, vol. 1471–В91, 1991, p. 13. [15] Volovodenko V., Koryakina G., Математическое обеспечение метода изображающих векторов „Мatematiczeskoye obespetchenye metoda izobragayusich vectorov”, VINITI, vol. 5213-80, 1980, p.13. [16] NovoSpark Corporation. Multidimensional Data Visualization. NovoSpark Corporation Web Site. [Online] NovoSpark Corporation, 2007, http://www.novospark.com. [17] Eidenzon D., Volovodenko V., Method for visualization of multidimensional data, U.S. Patent Application No. 20090252436, 2009.
Articles
9
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 7,
N° 3
2013
A Skeleton Rule-based Expert System Of New Generation Submitted: 31st July 2012; accepted: 8th April 2013
Władysław Brzozowski Abstract: The paper presents skeleton rule-based expert system of a new generation, named EXPERT 3.0, worked out and programmed by the Author. Notion of a new generation refers here to implementation of a knowledge base of the system in a form of a computer database; previous skeleton expert systems implemented knowledge bases as text files. At first, a theory of expert systems, as one of the branches of Artificial Intelligence, is briefly presented. Then the Author’s original algorithms of the system are described in the paper. Using the EXPERT 3.0 system, execution of the inference processes: forward, backwards or mixed, as well as of falsification of the main hypothesis, is possible. The EXPERT 3.0 system may be loaded with any number of parallel knowledge bases from such domains as technical, medical or financial diagnostics, as well as providing equipment, forecast and many other systems; in the paper, the inference process is illustrated by an example of the diagnostics of the damage to a MKM33 coal mill, working in a 200 MW power unit. Finally, conclusions and recommendations are formulated in the paper. Keywords: expert system, Artificial Intelligence, computer program, algorithm, inference process, fact, rule, technical diagnostics
1. Introduction
10
Expert systems are one of the basic branches of an Artificial Intelligence (AI). Development of AI dates from the sixties of XX century. Artificial neural networks were the first developed branch of AI. Expert systems appeared in the seventies. Then, the evolution algorithms and fuzzy logic systems took place. A very promising new branch of AI, named the agents’ theory, and also new branch named data mining, have appeared in the last few years. Among the AI branches described above, expert systems were the first with important practical applications. The range of possible applications of the expert systems is very wide. Expert systems are mostly applicable to diagnostics: technical, medical, economicfinancial and other, even such exotic as archaeological [1]. Besides diagnostics, expert systems may be applied to: forecasting, providing equipment, improvement, repairing, planning, interpreting, monitoring, control and instruction (teaching). Expert system is a computer program. Since the seventies, many such computer programs had been written. However, due to the hardware and software evolution, these programs have become obsolete. It is Articles
necessary to constantly create new programs, written in new computer languages and developed in new computer environments. In this paper, EXPERT 3.0 computer program of the skeleton rule-based expert system of a new generation has been presented. This program has been worked out, written and developed personally by the Author. Notion of the new generation refers here to an implementation of the knowledge base of the system (as an element of AI), in a form of the computer database (as an element of computer science); previous skeleton expert systems, such as, for example, SOCRATES system [3], implemented the knowledge bases as text files. Putting aside some mathematical formulae of an uncertainty management module, borrowed from solutions of the SOCRATES skeleton expert system [3], EXPERT 3.0 system is based on the Author’s entirely original algorithms. These algorithms are described below in the paper. An execution of inference processes: forward, backwards or mixed, as well as of falsification of the main hypothesis, is possible using of the EXPERT 3.0 system. The system is actually principally utilized as a didactic tool in AI domain, but economic and industrial numerous applications of this system are also entirely possible. As an illustration of this thesis, a knowledge base of technical diagnostics of MKM 33 coal mill, working in a 200 MW power unit [4, 5], has been loaded to EXPERT 3.0 system, and serves as an example of inference process. After all, it is possible to load the EXPERT 3.0 system with any number of parallel expert systems (i.e. knowledge bases) from such domains as technical, medical or financial diagnostics, as well as providing equipment, forecast and many other systems.
2. The Algorithms of the EXPERT 3.0 System
The EXPERT 3.0 system is the rule-based expert system; knowledge in such a system is represented in form of facts and rules. The system comprises the following kinds of facts: introduced, intermediate and final, as well as following types of facts: enumerated, real, integer and logical. Value of introduced fact is determined by the user but not by the expert system. Value of intermediate or final fact (as opposed to introduced) is determined not by the user, but by the expert system, during the inference process, itself. Values of the final facts are an aim of the inference process. Enumerated fact is such a fact, which assumes the one value (or several values) from a set, predefined by the user (in the table of the values of enumerated facts, see below). Besides the enumerated facts, there are real and integer facts as well as logical facts, with values: TRUE, FALSE or UNKNOWN (the EXPERT 3.0 system bases on three-valued logic).
Journal of Automation, Mobile Robotics & Intelligent Systems
In the system, a rule has following syntax:
IF (PREMISE FIELD) THEN (CONCLUSION) (CF=?) (1)
where: (PREMISE FIELD) – complex logical expression on a single elementary premise, or on any number of elementary premises, joined together with logical operators NOT, AND and/or OR, and also (optionally) closed in parenthesis on mutually nested hierarchical levels, in any number of these levels. The elementary premise is a comparison (of type equality or inequality) of current, actual value of single fact with its reference value. During the inference process, an elementary premise returns consequently logical value TRUE, FALSE or UNKNOWN. The reference value may be given in form of the constant. The constant may be simple (it represents then a definite invariable value) or complex, socalled computational. The computational constant is an arithmetical expression on a value of another fact; respectively a value of computational constant may vary during the inference process. It is possible to compare values of two specified facts in the elementary premise using the computational constant; (CONCLUSION) – assignment specified value to a single, intermediate or final, fact. This assignment may be realized using a constant, simple or computational. In the EXPERT 3.0 system, a rule is so-called Horn’s clause, i.e. it consists of one and only one conclusion; (CF) – certainty factor of the rule. This is the variable from [0, 1] range, characterizing the confidence in the correctness of a rule. The CF equal to 1 means absolute correctness of a rule. The CF equal to 0 may not mean that the rule is incorrect, but means zero-confidence in the correctness of the rule. It is also possible to assign to the CF of the rule any intermediate value from [0, 1] range. The CF may not be interpreted as a probability (for example, CF equal to 0,5 does not mean that in a half of cases the rule is correct and in a second half – incorrect). The CF should be attributed not only to the rule but also to the value of each introduced fact. A special uncertainty management module, built-in into the EXPERT 3.0 system, then, from the CF of values of facts in premises, will compute the replacement CF of entire premise field, and then, taking into account also the CF of the rule, will compute the CF of conclusion. If one and the same conclusion is deduced from two or more “fired” (the notion of “fire” will be explained below) rules, an aggregated CF of conclusion is furthermore computed. The notion of logical t-norm and snorm appears in some mathematical formulae of these calculations. The Author has borrowed these formulae from solutions of the SOCRATES skeleton expert system [3]. To make it possible to assign value to the fact in conclusion of the rule, this rule should be activated, or, according to the jargon of knowledge engineers, “fired”. The rule can be “fired”, if the logical value of premises field of this rule equals TRUE and the computed CF of conclusion of this rule is higher than a certain minimal threshold value. The notion of the CF is very important, taking into consideration general uncertainty with regard to different processes. The skeleton expert system, which does not consist of an uncertainty management
VOLUME 7,
N° 3
2013
module, should not be utilized. Niederliński [8] calls such a system (i.e. system in which all CFs are, a priori, equal 1) precise. It is of course misunderstanding; such a system should rather be called inexact.
2.1. Forward Inference Process
During forward inference process, the system deduces all possible conclusions taking into account actual values of introduced facts. The block-diagram in the Figure 1 presents algorithm of this process. In the blocks, the computations are realized according to formulae: Block 1
∀F ∈ FF (F := unknown; CFF := 0 ), ∀F ∈ FI (F := unknown; CFF := 0 )
(2)
where: F – fact; FF – set of final facts; FI – set of intermediate facts; CFF – CF of actual value of fact F.
Block 3 If, for example, the premise field has a form:
F1 = RV1 AND (F2 = RV2 OR (F3 = RV3 AND F4 = RV4))
(3)
where: F1, F2, F3, F4 – facts (enumerated – in order to simplify the formulae); RV1, RV2, RV3, RV4 – reference values of the facts F1 - F4,
then order of parameter computations will be as follows:
1) logical value of the premise P3 : F3 = RV3, according to the truth table: F3 =
LVp3 :=
RV3 T
other than RV3 F
where: T – TRUE; F – FALSE; U – UNKNOWN; RV3 – reference value of the fact F3; u3 – unknown actual value of the fact F3; LVp3 – logical value of the premise P3.
u3 U
2) CF of the premise P3 : F3 = RV3, according to the formula: where: CFp3 – CF of the premise P3 : F3 = RV3; CFf3 – CF of actual value of the fact F3; CFt – threshold value of CF.
(4)
Articles
11
fore, then additionally computation of aggregated CF of conclusion.
Journal of Automation, Mobile Robotics & Intelligent Systems
START
VOLUME 7,
AB C AB
D D
C
yes
no
7. Has, in the current iteration, any new rule been “fired”, or also, has CF of conclusion of already earlier “fired” rule undergone augmentation more than by admitted threshold value? If yes, then acceptance of the next iteration to the calculation. yes
3. Identification of elementary premises inside parenthesis deepest nested in the premise field of the rule. Reading and comparison of actual values of facts in premises. Computation of logical value (TRUE, FALSE oryes UNKNOWN) and CF of aggregated elementary premise representing syntax of the parenthesis, taking into account priority of logical operators (NOT - AND – OR) and utilizing formulae of the uncertainty management module [3]. Replacement of the parenthesis by the premise as above. Does any parenthesis still occur in the syntax of the premise field of the rule? no yes 4. Computation of, similarly as in the block 3, logical value and CF of all premise field. Also computation of CF of conclusion of the rule, utilizing formulae of the uncertainty management module [3]. Does premise field return value TRUE, and also, is computed CF of conclusion higher than threshold value? no
yes 5. Transmission of the rule to a stack of rules to “firing”. If admitted metarule of order of “firing” of rules is FIFO (First In First Out), then “firing” of the rule. If another metarule is valid, then “firing” of rules is realized after closing of the program loop for rules. If the rule is “fired”, the form of conclusion of the rule is visualized, but if rules, with the same conclusion, have been “fired” before, then additionally computation of aggregated CF of conclusion.
AB C AB 12
C
D D
Articles
6. Has the last rule, from the program loop
2013
6. Has the last rule, from the program loop opened in the block 2, been already examined? If not, then acceptance of the next rule to the calculation.
1. Reset of the values of intermediate and final facts. Organization of program loop for iterations of the process. Acceptance of the first iteration to the calculation. 2. Organization of program loop for rules, decreed to forward inference process and sorted according to the increased level of rule, with elimination of already “fired” rules (if such a metarule has been admitted). Acceptance of the first rule to the calculation.
N° 3
no STOP
Fig. 1. The block-diagram of algorithm of forward inference process in the EXPERT 3.0 system 3) logical value and CF of the premise P4 : F4 = RV4 (analogically as p. 1, 2 above);
4) logical value of the conjunction C3-4 : F3 = RV3 AND F4 = RV4, according to the truth table: LVp3 =
LVp4 =
LVc3-4:=
T
T
T F
F
U
U
T F
F
F
F
U F
T
U
U F
F
where: T – TRUE; F – FALSE; U – UNKNOWN; LVp3 – logical value of the premise P3 : F3 = RV3; LVp4 – logical value of the premise P4 : F4 = RV4; LVc3-4 – logical value of the conjunction C3-4 : F3 = RV3 AND F4 = RV4.
U
U
5) CF of the conjunction C3-4 : F3 = RV3 AND F4 = RV4, according to the formula (adapted from [3]):
(5) where: t-l.n. – t – logical norm, chosen by the user, accordingly to a nature of the knowledge base; CFp3 – CF of the premise P3 : F3 = RV3; CFp4 – CF of the premise P4 : F4 = RV4; CFc3-4 – CF of the conjunction C3-4 : F3 = RV3 AND F4 = RV4. 6) logical value and CF of the premise P2 : F2 = RV2 (analogically as p. 1, 2 above);
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 7,
7) logical value of the disjunction D2-3-4 : F2 = RV2 OR (F3 = RV3 AND F4 = RV4), according to the truth table: LVp2 =
LVc3-4 =
LVd2-3-4:=
T
T
T F
T
U T
T
T
F
F
F
U
U
T
T
U F
U
where: T – TRUE; F – FALSE; U – UNKNOWN; LVp2 – logical value of the premise P2 : F2 = RV2; LVc3-4 – logical value of the conjunction C3-4 : F3 = RV3 AND F4 = RV4. LVd2-3-4 – logical value of the disjunction D2-3-4 : F2 = RV2 OR (F3 = RV3 AND F4 = RV4).
U
U
2013
(8) where: s-l.n. – s – logical norm, chosen by the user, accordingly to a nature of the knowledge base (alg. – algebraic, Lukas. – Lukasiewicz); CFaggr – aggregated CF of the conclusion deduced from two rules; CFconc1 – CF of the conclusion deduced from the first rule; CFconc2 – CF of the conclusion deduced from the second rule.
2.2. Backwards Inference Process
8) CF of the disjunction D2-3-4 : F2 = RV2 OR (F3 = RV3 AND F4 = RV4), according to the formula (adapted from [3]):
(6)
where: s-l.n. – s – logical norm, chosen by the user, accor dingly to a nature of the knowledge base (alg. – algebraic, Lukas. – Lukasiewicz); CFp2 – CF of the premise P2 : F2 = RV2; CFc3-4 – CF of the conjunction C3-4 : F3 = RV3 AND F4 = RV4; CFd2-3-4 – CF of the disjunction D2-3-4 : F2 = RV2 OR (F3 = RV3 AND F4 = RV4). 9) logical value and CF of the premise P1 : F1 = RV1 (analogically as p. 1, 2 above);
Before backwards or mixed inference process, the user must put the main hypothesis. Then the system does not deduce all possible conclusions, but tries to prove only the main hypothesis. Only one of conclusions of rules, decreed to backward, or forward and backwards inference process, can be the main hypothesis. The block-diagram in the Figure 2 presents algorithm of backwards inference process. In the blocks, the computations are realized according to formulae: Block 1 The same formulae as for the forward inference process (Fig. 1, block 1). Block 3 The same formulae as for the forward inference process (Fig. 1, block 3–4) and additionally:
If, for example, the premise field of the examined rule has a form: F1 = RV1 AND F2 = RV2 AND F3 = RV3
(9)
where: F1 – fact enumerated (in order to simplify the formulae) and introduced; F2 – fact enumerated (as above) and intermediate; F3 – fact enumerated (as above) and final; RV1, RV2, RV3 – reference values of the facts F1 – F3,
10) logical value of the conjunction C1-2-3-4 : F1 = RV1 AND (F2 = RV2 OR (F3 = RV3 AND F4 = RV4)) (analogically as p. 4 above);
11) CF of the conjunction C1-2-3-4 : F1 = RV1 AND (F2 = RV2 OR (F3 = RV3 AND F4 = RV4)) (analogically as p. 5 above).
Block4 The same formulae as in the block 3 and additionally (adapted from [3]):
CFconc = CFpf CFr where: CFconc – CF of the conclusion of the rule; CFpf – CF of the premise field of the rule; CFr – CF of the rule.
N° 3
(7)
Block 5 If the conclusion has been deduced from two rules with the same conclusion, then (adapted from [3]):
and the premise P1 : F1 = RV1 returns logical value TRUE, the premise P2 : F2 = RV2 returns also logical value TRUE, but the premise P3 : F3 = RV3 returns logical value UNKNOWN due to unknown actual value of the fact F3, or returns TRUE but CF of this premise is smaller than the threshold value, then this examined rule cannot be “fired”. At the same time, in the knowledge base, for example, there are following rules: …………………….. Rule 1: IF (premise field) THEN F3=V3.1 (10) …………………….. Rule 2: IF (premise field) THEN F3=V3.2 (11) …………………….. Articles
13
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 7,
Block Block33 The The same same formulae formulae as as for for the the forward forward inference inference process process(Fig. (Fig.1,1,block block3-4) 3-4)and andadditionally: additionally: START START
AA
2.2.Organization Organizationof ofprogram programloop loopfor foriteraiterations tionsof ofthe theprocess. process.Acceptance Acceptanceof ofthe thefirst first iteration iterationtotothe thecalculation. calculation.
no, no,not notany any rule rulehas hasbeen been “fired” “fired”
yes, yes,atatleast leastone onerule rule has hasbeen been“fired”. “fired”.The The main hypothesis has main hypothesis has been beenproved. proved.
STOP STOP AA BB
14
Articles
2013
BB 4.4.Organization Organizationof ofprogram programloop loopfor forposipositions tionsof ofthe thework worktable tableof ofrules rulesrequiring requiring examination, examination,created createdininthe theblock block3.3. Successive examination and try Successive examination and tryof of“firing” “firing” of ofparticular particularrules rulesfrom fromthis thiswork worktable, table, using usingthe thesame samealgorithm algorithmas asfor forthe theforward forward inference inferenceprocess process(Fig. (Fig.1,1,blocks blocks2–7). 2–7).Was Was the “firing” of the current rule from this the “firing” of the current rule from this table tablesuccessful? successful?IfIfyes, yes,then thenimmediate immediate initialization initializationof ofaanew newiteration iterationof ofthe the process. process.IfIfnot, not,then thenidentification identificationof ofeleelementary premises inside premise field, mentary premises inside premise field,but but with withintermediate intermediateand andfinal finalfacts factsonly, only,and and possibly possiblyadding addingthe thenew newpositions positionstotothe the end endof ofthe thework worktable tableof ofrules rulesrequiring requiring examination, examination,as asititisisdescribed describedininthe theblock block 3.3.Examinations Examinationsof ofrules rulesfrom fromthis thiswork work table tablewill willbe becontinued. continued.If, If,however, however,posipositions tionsof ofthis thiswork worktable tablewill willbe beexhausted, exhausted, and andnot notany anyrule rulefrom fromthis thiswork worktable tablehas has been been“fired” “fired”then thenthe theinference inferenceprocess process ends endswith withaamessage messagethat thatthe themain mainhypohypothesis thesishas hasnot notbeen beenproved. proved.
1.1.Reset Reset of of values valuesof of intermediate intermediateand and final finalfacts. facts.Listing Listingof ofthe theconclusions conclusionsof of rules, decreed to the backward inference rules, decreed to the backward inference process processand andsorted sortedaccording accordingtotothe theincreaincreased sedlevel levelof ofrule, rule,totofacilitate facilitateselection selectionof of the themain mainhypothesis hypothesisby bythe theuser. user.Indication Indication of ofthe themain mainhypothesis hypothesisby bythe theuser. user.
3.3.Organization Organizationof ofprogram programloop loopfor forrules, rules, decreed decreedtotobackwards backwardsinference inferenceprocess process and andsorted sortedaccording accordingtotothe theincreased increased level of rule, which conclusions level of rule, which conclusionsagree agree with withthe themain mainhypothesis. hypothesis.AAtry tryof of “firing” “firing”of ofrules rulesfrom fromthis thisprogram programloop, loop, using usingthe thesame samealgorithm algorithmas asfor forthe the forward forwardinference inferenceprocess process(Fig. (Fig.1,1,blocks blocks 2-7). 2-7).Was Wasthe the“firing” “firing”of ofany anyrule rulefrom from this thisloop loopsuccessful? successful?IfIfyes, yes,the themain main hypothesis hypothesisisisproved provedand andthe theinference inference process processends. ends.IfIfthe thesystem systemwas wasnot notable able toto“fire” “fire”the theexamined examinedrule, rule,then thenidentifiidentification cationof ofelementary elementarypremises premisesinside insideprepremise misefield, field,but butwith withintermediate intermediateand andfinal final facts only. Computation of logical values facts only. Computation of logical values and andCFs CFsof ofthese thesepremises, premises,similarly similarlyas as for forthe theforward forwardinference inferenceprocess process(Fig. (Fig.1,1, block block3). 3). IfIfthe thepremise premisereturns returnsUNUNKNOWN, or CF of this premise is KNOWN, or CF of this premise issmaller smaller than thanthe thethreshold thresholdvalue, value,then thenidentificaidentification tionof ofall allrules, rules,decreed decreedtotobackwards backwards inference inferenceprocess processand andhaving havingininconcluconclusions sionsthe thefact factfrom fromexamined examinedpremise. premise. Conclusions Conclusionsof ofthese theserules rulesare arenow now considered consideredas asauxiliary auxiliaryhypotheses, hypotheses,and and ID IDof ofthese theserules rulesare areadded addedtotothe theend endof of work worktable tableof ofrules rulesrequiring requiringexamination. examination.
N° 3
yes, yes,examined examined rule rulehas hasjust just been been„fired” „fired”
no, no,not notany anyrule rulehas has been been“fired”. “fired”.The The main mainhypothesis hypothesis has not has notbeen been proved proved STOP STOP
Fig. Fig. 2.2. The The block-diagram block-diagram ofof algorithm algorithm ofof backwards inference process in the EXPERT Fig. 2. The block-diagram of algorithm backwards3.0 backwards inference process in theof EXPERT 3.0 inference process in the EXPERT 3.0 system system system where: If, the field the If,,for for example, theofpremise premise field of offact theFexamined examined V V –example, values (all) the enumerated , 3.1 3.2 3 rule has a form: rule has a form: predefined by the user (in the table of the values of enumerated facts, see (9) Fbelow). RV11AND ANDFF22==RV RV22AND ANDFF33==RV RV33 (9) F11==RV
where: Consequently, the conclusions F3=V3.1 and F3=V3.2 will where: be hypotheses. IDorder of theto rules Rule 1 and ––fact (in simplify FF11auxiliary factenumerated enumerated (in order to simplify Rule 2the will be added and to the end of the work table of formulae) introduced; the formulae) and introduced; rules requiring examination. (as FF2 ––fact factenumerated enumerated (asabove) above)and andintermediate; intermediate; 2
FF33––fact factenumerated enumerated(as (asabove) above)and andfinal; final; Block 4 RV RV2,2,RV RV33––reference referencevalues valuesof ofthe thefacts facts RV11, ,RV The same formulae as for the forward inference FF11––FF33, ,
process (Fig. 1, block 3–4) and as in the block 3 above.
and RV11returns returnslogical logicalvalue value andthe thepremise premisePP11: : FF11==RV TRUE, RV22 returns returns also also TRUE, the the premise premise PP22 : : FF22 == RV
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 7,
2.3. Main Hypothesis Falsification Process If the system was not able to prove the main hypothesis (Fig. 2, block 4), it must not necessarily testify that this hypothesis is false. In this case, one should additionally try to realize falsification of the main hypothesis. To this end, one should prove another hypothesis that falsifies the main hypothesis. For example, if the main hypothesis (taken from the knowledge base of technical diagnostics of MKM 33 coal mill, working in the 200 MW power unit [4, 5]) is:
[Degree of failure of electric motor bearing No 1]= [Initial failure], (12)
then the hypothesis, that falsifies the main hypothesis, may be:
[Degree of failure of electric motor bearing No 1]= [Advanced failure]. (13) This is the user’s duty to indicate the hypothesis that falsifies the main hypothesis. The system assists this process, proposing to the user, as hypothesis that falsifies the main hypothesis, these conclusions of rules, in which, to the same fact, as in the main hypothesis, other values are assigned. Algorithm of falsification of the main hypothesis is identical as for the backwards inference process – its block-diagram will not be repeated. Conclusion with the same fact, as in the main hypothesis, must not be always hypothesis that falsifies the main hypothesis. For example, if the main hypothesis, in the expert system of medical diagnostics, is: [Patient’s disease]=[Meningitis],
(14)
[Patient’s state of health]=[Good health].
(15)
then the hypothesis, that falsifies the main hypothesis, may be:
Only the user can put such a hypothesis, and then may it prove using any kind of inference process.
2.4. Mixed Inference Process
Mixed inference process consists in realization forward and backwards inference process alternately. In the EXPERT 3.0 system, the mixed inference process begins with the backwards inference process. If the system is not able to prove the main hypothesis during this process (Fig. 2, block 4), it automatically switches to the forward inference process (Fig. 1, blocks 1–7), but without an initial reset of the values of intermediate and final facts, as well as without visualization of “fired” rules, others, than with conclusions staying in agreement with the main hypothesis. If the system is not able again to prove the main hypothesis during the forward inference process, the system automatically will switch again to the backwards inference process (Fig. 2, blocks 2–4), also without initial reset of the values of intermediate and final facts, and then will terminate inference process.
N° 3
2013
3. The computer Science Solutions of the EXPERT 3.0 System The EXPERT 3.0 computer program has been written in Delphi 4 computer language and compiled in the RAD (Rapid Application Development) computer environment. The program is very wide; it consists of 115 forms/modules and 60.000 lines of source code. As mentioned above, the knowledge base of the system has been implemented in form of a computer database, using BDE (Borland Database Engine) database technology and Paradox local database system. A knowledge base has a form of computer database tables of: expert systems (i.e. knowledge bases), facts, values of enumerated facts, rules and constants. Two other tables, of: inference trajectories and multimedia files, are auxiliary tables. The database meets computer science requirement of so-called five normal shapes. The table of expert systems (i.e. knowledge bases) is connected with remaining tables by a oneto-many relationship. Additionally, the table of facts is also connected with the table of values of enumerated facts by the same relationship. Also the same relationship exists between the tables of facts/rules and the table of multimedia files. Record of the table of expert systems (i.e. knowledge bases) consists of the following columns (fields): ID of the expert system (primary key); Name of the expert system; Description of the expert system; Date of creation of the record. Record of the table of facts consists of the following columns (fields): ID of the fact (primary key); ID of the expert system (foreign key); Name of the fact; Kind of the fact (with items: introduced, intermediate, final); Type of the fact (with items: enumerated, real, integer, logical); Unit of measure (real and integer only); Number of values of the fact (20 max.; enumerated only); Is the fact multi-valued? (with items: yes, no; enumerated only); Description of the fact; Instruction how to determine value of the fact (introduced only); Value of the fact (integer, real and logical only), introduced or intermediate/final at the end of the current iteration; CF of the value of the fact as above; Value of the intermediate/final fact (integer, real and logical only) at the end of the previous iteration; CF of the value of the fact as above; Date of creation of the record. Record of the table of values of enumerated facts consists of the following columns (fields): ID of the value (primary key); ID of the fact (foreign key); Value of the fact; Does the fact (introduced or intermediate/ final at the end of the current iteration) have this value? (with items: yes, no); CF of the value of the fact as above; Did the intermediate/final fact have this value at the end of the previous iteration? (with items: yes, no); CF of the value of the fact as above; Date of creation of the record. Record of the table of rules consists of the following columns (fields): ID of the rule (primary key); ID of the expert system (foreign key); Name of the rule; Level of the rule; Inference sessions possible (with items: forward, backwards, both); CF of the rule; Text of the premise field of the rule; Text of the conclusion Articles
15
Journal of Automation, Mobile Robotics & Intelligent Systems
Fig. 3. The title form of the EXPERT 3.0 computer program
Fig. 4. The form of the table of facts of the EXPERT 3.0 computer program 16
Articles
VOLUME 7,
N째 3
2013
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 7,
N째 3
2013
Fig. 5. The form of the table of rules of the EXPERT 3.0 computer program
Fig. 6. The form of the rule editor of the EXPERT 3.0 computer program Articles
17
Journal of Automation, Mobile Robotics & Intelligent Systems
Fig. 7. The form of visualization of conclusion of the EXPERT 3.0 program
Fig. 8. The form of the backwards inference process of the EXPERT 3.0 computer program 18
Articles
VOLUME 7,
N째 3
2013
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 7,
N° 3
2013
Fig. 9. The form of the main hypothesis falsification of the EXPERT 3.0 computer program of the rule; Description of the conclusion of the rule; Instructions/recommendations for user after “firing” of the rule; Description/source of the rule. Author(s); Has the rule already been “fired”? (with items: yes, no); CF of the conclusion of the rule at the end of the current iteration; Is the rule still taken into account? (with items: yes, no); Date of creation of the record. Record of the table of constants consists of the following columns (fields): ID of the constant (primary key); ID of the expert system (foreign key); Name of the constant; Kind of the constant (with items: simple, computational); Type of the constant (with items: real, integer, logical); Unit of measure (real and integer only); Value of the constant (simple only); ID of the argument (fact) of the constant (computational only); Value of the parameter A of the constant (constant = A*argument+B; computational only); Value of the parameter B of the constant (as above); Description of the constant; Instruction how to determine value of the constant (simple only); Date of creation of the record. Record of the table of inference trajectories consists of the following columns (fields): ID of the trajectory step (primary key); ID of the expert system (foreign key); ID of the rule examined in this trajectory step; Current level of rules in this trajectory step; Current number of iteration of the inference process; Current direction of the inference process (with items: forward, backwards); Has the examined rule been “fired” in this trajectory step? (with items: yes, no); CF of the conclusion of the “fired” rule in this trajectory step; The examined rule has not been “fired” in this trajectory step due to: (with 9 different items); Date of creation of the record.
Record of the table of multimedia files consists of the following columns (fields): ID of the file (primary key); Name of the file (filename and extension); Kind of the file (with items: graphic/photo, film); Height/ width of picture/screen of the file ratio; What does the file illustrate? (with items: fact, rule); ID of the illustrated fact/rule (foreign key); Description/caption of the graphic/photo/film; Date of creation of the record. In accordance with the notion of the skeleton expert system, all tables are entirely programmed, but they are, in the distributed version of the system, empty. This is user’s duty to fill these tables with a suitable proper knowledge from certain needed domain. The structure of database of the EXPERT 3.0 system is presented below in the title form of the computer program (Fig. 3). Parameters of facts are presented in the form of table of facts (Fig. 4). If determined predefined graphic image (in the table of multimedia files) is assigned to the value of the determined enumerated fact, it is possible to create a rule with graphic premises. Consequently, the EXPERT 3.0 system may perform similar functions as the SCANKEE skeleton expert system [6]. In the EXPERT 3.0 system, multimedia files (graphics, photos and films) may be also used to instruct the user, regarding assignment values to introduced facts (for example, by measurement), and, particularly, regarding interpretation of conclusions and/or undertaking necessary activities (for example repairs, overhauls) resulting from the conclusions of the system (Fig. 7). Parameters of rules are presented in the form of table of rules (Fig. 5) and in the form of rule editor Articles
19
Journal of Automation, Mobile Robotics & Intelligent Systems
(Fig. 6). The following rule, taken from the knowledge base of technical diagnostics of MKM 33 coal mill, working in the 200 MW power unit [4, 5], shown in these forms as an active record, may serve as an example of syntax of simple rule in the system EXPERT 3.0 (after translation into English):
IF [Is maximum envelope of vibration acceleration of electric motor bearing No 1 of mill less than level D?]=[true] AND [Is sum of envelope of vibration acceleration of electric motor bearing No 1 of mill less than level D?]=[true] AND [Root-mean-square value of sum of vibration speed of electric motor bearing No 1 of mill]>[1.1] AND [Root-mean-square value of sum of vibration speed of electric motor bearing No 1 of mill]<=[2,8] AND [Root-mean- square value of sum of vibration acceleration of electric motor bearing No 1 of mill]>[3] AND [Root-mean-square value of sum of vibration acceleration of electric motor bearing No 1 of mill]<=[7,5] THEN [Degree of failure of electric motor bearing No 1 of mill]=[Initial failure] (16)
Premise field of this rule consists of 6 elementary premises, joined together with conjunction. In the syntax of each elementary premise, the name of fact, the comparison operator and the reference value are present. Differently from the other skeleton expert systems, in which only illegible identifiers of facts occur in the rules, here full name of fact, with spaces, Polish diacritical letters and other characters, all enclosed in square brackets, are introduced into the rule. The rule becomes very readable. The same manner refers to the values of the facts, especially of enumerated facts. It may seem that generation of such a rule, considering necessity of introduction of full names of facts, is very arduous. On the contrary, this process is very simple, thanks to the rule editor built-in into the system. The name of the fact is only once introduced into the system (in the table of facts). Then, the rule editor copies names of the facts, clicked by the user from a list, to the different created rules. It is also worth noticing that the logical facts in two first elementary premises in the shown above exemplary rule are so-called coverings, i.e. certain aggregated parameters computed by foreign computer programs, that usually mediate in preparation and transmission values of introduced facts into the expert system. Such an organization considerably hastens and facilitates realization of the inference process. During the inference process, after each “firing” of rules, the form of visualization of rule conclusion is shown (Fig. 7). Before the backwards or mixed inference process, the user selects the main hypothesis in the form, shown in the Fig. 8. Before the main hypothesis falsification process, the user selects hypothesis (hypotheses) that falsify the main hypothesis in the form, shown in the Fig. 9. 20
Articles
VOLUME 7,
N° 3
2013
4. The Applications of the EXPERT 3.0 Program As mentioned above, the program is actually principally utilized as a didactic tool in AI domain. Using this program, students created already hundreds of knowledge bases from different domains. As an industrial application of this program, the knowledge base of technical diagnostics of MKM 33 coal mill, working in a 200 MW power unit, has been transferred from old SOCRATES skeleton expert system [4, 5] and loaded to the EXPERT 3.0 system. Technical diagnostics is a branch of science which evolved from the theory of exploitation, cybernetics and reliability. Among the many methods of technical diagnostics, the methods of vibration/ acoustic diagnostics have found special applications in the power plants. These methods are applicable anywhere in a technological process where vibrations and noise occur and where device failures may be the cause of these vibrations and noise. The systems of vibration/acoustic diagnostics are particularly applicable to machines and rotational devices, such as turbo sets, feed water pumps, cooling water pumps, condensation pumps, coal mills, flue gas fans, air fans, mill fans and others. The computer in such systems processes signals of vibration displacement, collected from many sensors, differentiates these signals twice, takes them into the Fourier series and calculates amplitudes and RMS (root-mean-square) values of individual harmonics of vibration speed and acceleration (see the exemplary rule (16) above). On the basis of these parameters, specialists in vibration/acoustic diagnostics decide about the technical state of a device, and especially about the presence and degree of progress of typical device failures. The purposes of this diagnostic analysis are: a) to lengthen the durability and life of the material in the machines; b) to determine principles for rational exploitation of the machines; c) to determine the scope of necessary replacement of the machines and devices; d) to ensure that damage does not reach a point which threatens power unit break-downs and the destruction of the machine or device; e) to determine the scope of maintenance work and its timing and f ) to optimize maximum elongation of overhaul life. The range of knowledge and experience of vibration/acoustic diagnostics is already enormous. In order to make this knowledge accessible and to utilize it, one must use methods of knowledge engineering. Expert systems are especially applicable here. The knowledge base of technical diagnostics of MKM 33 coal mill consists of above 500 rules and 300 facts (in this number: 200 introduced facts, principally vibration/acoustic parameters). The system diagnoses above 50 elementary failures of coal mill. The system was utilized in one of the big Polish power plant [4, 5].
Journal of Automation, Mobile Robotics & Intelligent Systems
5. Conclusions. Recommendations Expert systems are important tools in many branches of world/national economy and industry, especially as the systems of technical, medical and financial diagnostics. It is recommended to utilize modern computer programs of expert systems, written and developed in contemporary computer languages and RAD computer environments, as user friendly programs. Such programs should utilize computer database, as modern computer science tool, to load parameters of knowledge base. Expert system should consist of the uncertainty management module. Expert system should make it possible to realize the forward, backwards and mixed inference process, as well as the main hypothesis falsification process.
VOLUME 7,
N° 3
2013
Bogdan L., Wspomaganie decyzji. Systemy Eksperckie, Materiały Konferencji, IBS PAN, Warszawa, 1995. (in Polish) [7] Mulawka J.J., Systemy ekspertowe, WNT, Warszawa, 1996. (in Polish) [8] Niederliński A., Regułowe systemy ekspertowe, Wydawnictwo Pracowni Komputerowej Jacka Skalmierskiego, Gliwice, 2000. (in Polish) [9] Brzozowski W., “Expert Systems of the Technical Diagnostics in Power Plants”, Przegląd Elektrotechniczny, no. 3, 2009, pp. 124–129. [10] Barzilay R. and others, A new approach to expert system explanations, 2012 (http:// www.cogentex.com/papers/explanationiwnlg98.pdf).
AUTHOR Władysław Brzozowski – Retired associate professor (in a domain of electric power engineering and also of computer science –Artificial Intelligence) of Częstochowa University of Technology, Institute of Electric Power Engineering in Częstochowa (Poland); Retired associate professor (in a domain of computer science – computer languages and programming) of The Gen. Jerzy Ziętek Silesian (Higher) School of Management in Katowice (Poland); E-mail address for correspondence: wlad_brzoz@poczta.onet.pl.
REFERENCES [1]
[2]
[3] [4]
[5]
[6]
Gondran M., Introduction aux systèmes experts, Eyrolles, Paris 1984. Cholewa W., Pedrycz W., Systemy doradcze, Skrypt nr. 1447, Politechnika Śląska, Gliwice 1987. (in Polish) Iwański C., Instrukcja obsługi systemu szkieletowego SOCRATES, IBS PAN, Warszawa, 1990. (in Polish) Brzozowski W., Dziemidowicz J., „Ekspercki system diagnostyki i remontów młynów węglowych”. In: Materiały VI Międzynarodowej Konferencji Naukowej „Aktualne Problemy w Elektroenergetyce”, KE PAN O/Katowice – IEiSU Politechnika Śląska, Gliwice – Kozubnik, 1993. (in Polish) Brzozowski W., „Struktury i metody pozyskiwania wiedzy w systemie diagnostyki technicznej na przykładzie systemu eksperckiego EKSPEM”. In: ed. Kulikowski R., Bogdan L., Wspomaganie decyzji. Systemy Eksperckie, Materiały Konferencji, IBS PAN, Warszawa, 1995. (in Polish) Guzowska-Świder B., „Zastosowanie systemu ekspertowego SCANKEE do symulowania procesu analizy chemicznej”, red.: Kulikowski R., Articles
21
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 7,
N° 3
2013
Map Map Construction Construction And And Localization Localization Using Using Lego Lego Mindstorms Mindstorms Nxt Nxt Jasmeet Singh, Punam Bedi Jasmeet Singh, Punam Bedi
Map Construction And Localization Using Lego Mindstorms Nxt Subm.7th August 2012; accepted 17thMay 2013 Subm.7th August 2012; accepted 17thMay 2013
Submitted: 7th August 2012; accepted: 17th May 2013
Jasmeet Singh, Punam Bedi
Abstract: Abstract: Maps are very useful for understanding unknown places
Maps are very useful for understanding unknown places before visiting them as maps represent spatial relationbefore visiting them as maps represent spatial relationships between various objects in a region. Using robots ships between various objects in a region. Using robots for map construction is an important field these days as for map construction is an important field these days as robots can reach places which may be inaccessible to robots can reach places which may be inaccessible to human beings. This paper presents a method to use the human beings. This paper presents a method to use the data obtained from a single ultrasonic sensor mounted data obtained from a single ultrasonic sensor mounted on a robot, to construct a map and localize the robot on a robot, to construct a map and localize the robot within that map. Map of the previously unknown enviwithin that map. Map of the previously unknown environment is created with the help of a mobile robot, built ronment is created with the help of a mobile robot, built using Lego Mindstorms NXT assembled in a modified using Lego Mindstorms NXT assembled in a modified TriBot configuration. The robot is equipped with an TriBot configuration. The robot is equipped with an ultrasonic sensor and is controlled from a computer ultrasonic sensor and is controlled from a computer system running a MATLAB program, which communisystem running a MATLAB program, which communicates with the NXT over a USB or Bluetooth connection cates with the NXT over a USB or Bluetooth connection and performs complex calculations that are not possible and performs complex calculations that are not possible for the NXT itself. After the map construction, the robot for the NXT itself. After the map construction, the robot finds its position in the map by using a particle filter. finds its position in the map by using a particle filter. Implementation has been done in MATLAB programImplementation has been done in MATLAB programming environment using RWTH – Mindstorms NXT ming environment using RWTH – Mindstorms NXT Toolbox and has been successfully tested for map conToolbox and has been successfully tested for map construction of a room and localization within that room struction of a room and localization within that room with the use of a TriBot. with the use of a TriBot. Keywords: Lego Mindstorms NXT, TriBot, ultrasonic Keywords: Lego Mindstorms NXT, TriBot, ultrasonic sensor, map construction, localization, particle filter, sensor, map construction, localization, particle filter, MATLAB, mobile robot, RWTH – Mindstorms NXT MATLAB, mobile robot, RWTH – Mindstorms NXT Toolbox Toolbox
1. Introduction 1. Introduction
22
Maps are used in a variety of applications for our Maps are used in a variety of applications for our day-to-day needs. These maps can be considered as day-to-day needs. These maps can be considered as macro-scopes which are used primarily to represent macro-scopes which are used primarily to represent spatial relationships between various objects in spatial relationships between various objects in a region, on a smaller-scale. Constructing a geometa region, on a smaller-scale. Constructing a geometrically consistent map is a tedious process that rerically consistent map is a tedious process that requires determining spatial relationship between quires determining spatial relationship between various objects, which in turn requires a lot of measvarious objects, which in turn requires a lot of measurements. The presented work describes a method urements. The presented work describes a method to construct a map using a Lego Mindstorms NXT to construct a map using a Lego Mindstorms NXT based TriBot (referred here-on as simply NXT or based TriBot (referred here-on as simply NXT or TriBot), which has been successfully tested for creatTriBot), which has been successfully tested for creating an indoor map of a room. ing an indoor map of a room. This paper is divided into two main sections of This paper is divided into two main sections of Map Construction and Localization and the KidMap Construction and Localization and the Kidnapped Robot Problem. The map construction and napped Robot Problem. The map construction and localization section describes how the robot is able localization section describes how the robot is able to take readings of its surroundings, move in the to take readings of its surroundings, move in the Articles
environment, and also how the constructed global environment, and also how the constructed global map is displayed based on the readings obtained by map is displayed based on the readings obtained by the ultrasonic sensor of the TriBot. The latter section the ultrasonic sensor of the TriBot. The latter section describes how the robot’s position is found within describes how the robot’s position is found within the constructed map, after it has been placed at the constructed map, after it has been placed at a random position within the mapped environment, a random position within the mapped environment, by using the readings obtained from its sensors and by using the readings obtained from its sensors and its knowledge of the map. its knowledge of the map. Previous work in localization of robots has been Previous work in localization of robots has been carried out with the use of more than one ultrasonic carried out with the use of more than one ultrasonic sensor at once [1–3]. This requires the robot to know sensor at once [1–3]. This requires the robot to know which sensor returned the reading and hence the which sensor returned the reading and hence the robot needs to distinguish between several ultrasonrobot needs to distinguish between several ultrasonic sensors that were mounted on it. With the use of ic sensors that were mounted on it. With the use of multiple sensors, the cost of the robot increases as multiple sensors, the cost of the robot increases as well. The work carried out in this paper requires the well. The work carried out in this paper requires the use of only a single ultrasonic sensor for localization, use of only a single ultrasonic sensor for localization, placed at the origin of the robot reference frame placed at the origin of the robot reference frame thereby eliminating additional computations for thereby eliminating additional computations for finding the relative positions of all the ultrasonic finding the relative positions of all the ultrasonic sensors, with respect to the reference frame, as in sensors, with respect to the reference frame, as in [1, 3]. When using particle filters for solving the [1, 3]. When using particle filters for solving the global localization [1, 4], the map given as an input to global localization [1, 4], the map given as an input to the particle filter algorithm, was not built by the the particle filter algorithm, was not built by the robot itself [1] and was constructed by the user via robot itself [1] and was constructed by the user via other techniques. But here the TriBot itself conother techniques. But here the TriBot itself constructs the global map that is later used providing structs the global map that is later used providing a solution to the kidnapped robot problem [4] dea solution to the kidnappedthrobot problem [4] described in the localization s7th ection. scribed in the localization s7 ection. Mapping with ultrasonic sensors has previously Mapping with ultrasonic sensors has previously been reliant on the use of multiple sensors in ring been reliant on the use of multiple sensors in ring formation [5]. With the use of a single ultrasonic formation [5]. With the use of a single ultrasonic sensor it becomes possible to successfully map the sensor it becomes possible to successfully map the environment surrounding the NXT, while keeping environment surrounding the NXT, while keeping the computational complexity to a minimum. It also the computational complexity to a minimum. It also helps in specifying the number of readings that must helps in specifying the number of readings that must be received from the surroundings for each position be received from the surroundings for each position of NXT, without having to change the number of of NXT, without having to change the number of ultrasonic sensors in the robot’s hardware. ultrasonic sensors in the robot’s hardware. For global map construction and localization, the For global map construction and localization, the concept of occupancy grids has also been previously concept of occupancy grids has also been previously employed in [6, 7] which, though effective, depends employed in [6, 7] which, though effective, depends on the size of the grid cells. A robot when moved to on the size of the grid cells. A robot when moved to a frontier is able to see the unexplored area of the a frontier is able to see the unexplored area of the environment. By constantly moving to successive environment. By constantly moving to successive frontiers the robot is able to increase its knowledge frontiers the robot is able to increase its knowledge of the surrounding environment. Frontier based of the surrounding environment. Frontier based exploration have been coupled with occupancy grids exploration have been coupled with occupancy grids for the map construction and localization in [6] but for the map construction and localization in [6] but in the implementation of such a system multiple in the implementation of such a system multiple laser range finders, sonar sensors and infrared senlaser range finders, sonar sensors and infrared sen-
Journal of Automation, Mobile Robotics & Intelligent Systems
sors were used to make the resulting map as accusors were used make the map sors were used to toThe make the resulting resulting map as as accuaccurate as possible. amount of computation and rate as possible. The amount of computation and rate as possible. The amount of computation and complexity increases with multiple sensors, but with complexity increases with multiple sensors, but with complexity increases with multiple sensors, but with the use of aa single ultrasonic sensor amount of comthe use single ultrasonic sensor of the use of ofisalow. single ultrasonic sensor amount amountexploraof comcomputation In this work frontier-based putation is low. In this work frontier-based exploraputation is low. In this work frontier-based exploration strategy has been employed without using the tion strategy has been employed without using tion strategy has and beenonly employed without using the the occupancy grids the readings obtained at occupancy grids and only the readings obtained at occupancy grids and only the readings obtained at the current position of the robot are used for decidthe current position of the robot are used for decidthe current position of the robot are used for deciding the next frontier for the robot. ing the next for the robot. ing In theother next frontier frontier for theconstruction robot. works of map and localizaIn other works of map construction and In other works of map construction and localizalocalization, Simultaneous Localization and Mapping (SLAM) tion, Simultaneous Localization and Mapping (SLAM) tion, Simultaneous Localization and Mapping (SLAM) has been used to localize the robot’s position as it has been used to localize the robot’s position as it has been used to localize the robot’s position as is it moves within the environment, while mapping moves within the environment, while mapping is moves within the environment, while mapping is being performed [3, 4, 8]. In the current system, each being performed [3, In the current system, being performed [3, 4, 4, 8]. 8].to In the the origin current system,ofeach each robot position is relative position the robot position is relative to the origin position of the robot position is relative to the origin position of the map and the robot has no knowledge of a prior map. map and the robot has no knowledge of a prior map. map and the robot has no knowledge of a prior map. It is also possible to implement map construction It is possible to map construction It is aalso also possible to implement implement map construction with swarm of robots in the same environment [8] with a swarm of robots in the same environment [8] with a swarm of robots in the same environment [8] to speed up the process but the implementation has to speed up the process but the implementation has to speed up the process but the implementation has been limited to a single robot so as to ensure that been limited to single robot so to ensure that been limited toisaa able single robot so as as totask ensure that aa single robot to perform the of map single robot is able to perform the task of map acreation single robot is able to perform the task of map efficiently. It is also easier for the computer creation efficiently. It also creation efficiently. It is is robot. also easier easier for for the the computer computer to keep track of a single to keep track of a single robot. to keep track of a single robot.
2. Background 2. 2. Background Background 2.1. Environment 2.1. 2.1. Environment Environment
The environment considered for the implementaThe environment considered for the The environment considered for the implementaimplementation is partially observable, with a single robot worktion is partially observable, with aa single robot worktion is partially observable, with single robot working in a continuous state space. The actual environing in a continuous state space. The actual environing in a continuous state space. The actual environment is an empty room created by temporary partiment is an room created temporary partiment is an isempty empty roomspecifically created by by to temporary partitions that available the robot and tions that is available specifically to the robot and tions that is available specifically to the robot and has no human interference, for the purposes of the has no human interference, for the purposes of the has no human interference, for the purposes of the given experiments. given experiments. given experiments.
2.2. Assumptions Taken 2.2. 2.2. Assumptions Assumptions Taken Taken — — —
— — —
— — —
The walls of the boundary of room and the obThe walls of the boundary of The walls ofthe theroom boundary of room room and and the the obobjects within are immovable. jects within the room are immovable. jects within the room are immovable. Friction between the floor of room and the Friction between the floor room and Friction between the enough floor of of roomduring and the the wheels of robot is just so that, the wheels of robot is just enough so that, during the wheels of robot is just enough so that, during the execution of a turn at a position, the stationary execution of a turn at a position, the stationary execution of a turn at a position, the stationary wheel of the robot does not slip. wheel of the not slip. wheel of construction, the robot robot does doesthe notTriBot’s slip. first location is For map For map construction, the TriBot’s first location For map construction, the TriBot’s first location is is assumed to be (0, 0) with aa 0 degree orientation. assumed to be (0, 0) with 0 degree orientation. assumed to be (0, 0) with a 0 degree orientation.
2.3. Software 2.3. 2.3. Software Software
MATLAB is used for the purposes of moving the MATLAB is used purposes of the MATLAB isreadings used for forofthe the purposes of moving movingenvithe robot, taking the local surrounding robot, taking readings of the local surrounding envirobot, taking readings of the local surrounding environment, performing calculations for map creation ronment, performing calculations for map ronment, performing calculations forcreated map creation creation and localization, and displaying the global and localization, and displaying the created global and localization, and displaying the created global map. map. map. The RWTH – Mindstorms NXT Toolbox [9], verThe RWTH – NXT [9], verThe RWTH – Mindstorms Mindstorms NXTaToolbox Toolbox [9],from version 4.04 for MATLAB, establishes connection sion 4.04 for MATLAB, establishes a connection from sion 4.04 for MATLAB, establishes a connection from the program, running on the computer, to the TriBot. the program, running on computer, to the TriBot. the program, running on the the it computer, to the TriBot. With the use of this toolbox possible to control all With the use of this toolbox it possible to control all With the use of this toolbox it possible to control all the motors and sensors attached to the TriBot. the motors and sensors attached to the TriBot. the motors and sensors attached to the TriBot. Hence, it is possible to move the robot by controlling Hence, it to move the robot Hence, it is is possible possible touse move theultrasonic robot by by controlling controlling its wheeled motors, the sensor to its wheeled motors, use the ultrasonic sensor to its wheeled motors, use the ultrasonic sensor the to detect distances from objects, and also rotate detect distances from objects, and also rotate the detect distances from objects, and also rotate the motor on which the ultrasonic sensor is mounted, motor on which the ultrasonic motor on which the program. ultrasonic sensor sensor is is mounted, mounted, through the MATLAB through the MATLAB program. through the MATLAB program. For controlling of the wheeled motors and deFor of the and For controlling controlling of movements, the wheeled wheeleditmotors motors and dedetermining the robot’s is important to termining the robot’s movements, it is important to termining the robot’s movements, it is important to find the number of degrees the motors must rotate find the number of degrees the motors must rotate find the number of degrees the motors must rotate to be able to travel a certain distance. The diameter to to be be able able to to travel travel aa certain certain distance. distance. The The diameter diameter
VOLUME 7,
N° 3
2013
of wheels used is 5.5 cm and hence for of the the wheels used and for thedegree wheels used is is of5.5 5.5thecm cmwheels and hence hence for aof 360 revolution the robot aa 360 degree revolution of the wheels the robot 360 degree revolution of the wheels the robot moves forward by 5.5*π centimeters. The degree of moves by 5.5*π centimeters. The degree moves forward forward by 5.5*π centimeters. The degree of of revolution, for the wheeled motors, is calculated revolution, for the wheeled motors, is calculated revolution, for the wheeled motors, is calculated according to the distance in centimeters that the according to in according to the thetodistance distance in centimeters centimeters that that the the robot is required move. robot is required to move. robot is required to move. To use the ultrasonic sensor it is necessary to To use sensor necessary to Toestablish use the the aultrasonic ultrasonic sensor it ittois isthe necessary to first serial connection NXT brick first establish a serial connection to the NXT brick first establish a serial connection to the NXT brick and to its port on which the ultrasonic sensor is atand port on the sensor is and to to its its port on which which the ultrasonic ultrasonic sensor is atattached. By using this port, the distance readings tached. By using this port, the distance readings tached. By using this port, the distance readings recorded by the sensor are returned to the MATLAB recorded by the sensor are to recorded via by the the USB sensor are returned returned to the the MATLAB MATLAB program or Bluetooth connection. program via the USB or Bluetooth connection. program via the USB or Bluetooth connection.
2.4. Sensor 2.4. Sensor and and Motors Motors 2.4. Sensor and Motors
The ultrasonic sensor used with the TriBot The sensor with the TriBot The ultrasonic ultrasonic sensor used used with of thehigh TriBot measures the time-of-flight of a burst fremeasures the time-of-flight of a burst of high fremeasures the time-of-flight of a burst of high frequency sound wave. The value returned by the senquency sound wave. The value returned by the senquency sound wave. The value returned by the sensor is is aa single single number sor number representing representing the the straight straight line line sor is a single number representing the straight line distance of an object from the sensor. These values distance of an object from the sensor. These values distance of an objectand fromare theread sensor. These values are in in centimeters, centimeters, by the the MATLAB are and are read by MATLAB are in centimeters, and are read by the MATLAB program. The The ultrasonic ultrasonic sensor sensor is is able able to to detect detect disdisprogram. program. The ultrasonic sensor is to able tometers detectwith distances ranging from 4 centimeters 2.3 tances ranging from 4 centimeters to 2.3 meters with tances ranging from 4 centimeters to 2.3 meters with an average average precision precision of of 3 3 centimeters centimeters and and returns returns an an average precision of 3object centimeters and returns better readings when the to be detected has better readings when the object to be has better when the hits object tosurface be detected detected has aa hard hard readings surface. If a wave the at a wide surface. If aa wave hits the surface at aa wide aangle hardfrom surface. If wave hits the surface at wide the surface surface normal normal [5] [5] it it may may not not return return angle from the angle from theinsurface normal [5] it may not return to the sensor, which case a value of 255 is received to the sensor, in which case aa value of 255 is received received to the sensor, in which case value of 255 is from the the sensor, sensor, indicating indicating an an error. error. The The wave wave may may from from the sensor, indicatingsurface an error. The wave may also bounce off a separate and create a ghost also bounce off aa separate surface and create aa ghost also bounce off separate surface and create ghost image. image. image. The interactive interactive servo servo motors motors of of the the TriBot TriBot are are The The interactive servo motors of the TriBot are equipped with an integrated encoder which records equipped with an integrated encoder which records equipped with an integrated encoder which records count value value of of 360 360 for for aa single single circular circular revolution revolution aaa count count value of 360rotates for a single circular revolution i.e., when the motor by 360 degrees, count i.e., when the motor rotates by 360 degrees, aaa count i.e., when the motor rotates by 360 degrees, count of 360 is recoded. This encoder has an accuracy of of 360 is recoded. This encoder has an accuracy of of 360 is recoded. This encoder has an accuracy of 1 degree. The motor is able to return this count to 1 degree. The motor is able to return this count to 1 degree. The motor is able to return this count to the program program via via the the serial serial connection. These These motors motors the the program via maximum the serial connection. connection. Theseencoder motors have a default speed of 1000 have aa default maximum speed of 1000 encoder have default maximum speed of 1000 encoder counts per per second second which which means means the the robot can can travel travel counts counts per second which means the robot robot can travel in a straight line at approximately 48 centimeters in a straight line at approximately 48 in straightFor line approximately 48 centimeters centimeters perasecond. second. theatpurpose purpose of experimentation, experimentation, the per For the of the per second. For the purpose of experimentation, the wheeled motors have a fixed speed of 800 encoder wheeled motors have aa fixed speed of 800 encoder wheeled motors have fixed speed of 800 encoder counts per per second second (approximately (approximately 38.4 38.4 centimecentimecounts counts per second (approximately 38.4 centimeters/second) and maintain a constant torque during ters/second) and maintain aa constant torque during ters/second) and maintain constant torque during motion. The program can also set the tacho limit of motion. The program can also set the tacho limit of motion. The program can also set the tacho limit of the motor, which specifies the integer number of the motor, which specifies the integer number of the motor, which specifies the integer number of encoder counts (or degrees) that a motor executes encoder counts (or degrees) that aa motor executes encoder counts (or degrees) that motor executes before coming coming to to an an abrupt abrupt stop stop when when this this limit limit is is before before coming to for an abrupt stop whenone thiscentimelimit is reached. In order the NXT to move reached. In order the to one centimereached. order for for the NXT NXT both to move move centimeter in in the theInforward forward direction, the one motors must ter direction, both the motors must ter in the forward direction, both the motors must move in the same direction by a tacho limit of apmove in the same direction by aa tacho limit of apmove in the same direction by tacho limit of approximately 21 encoder counts. The two wheels are proximately 21 encoder counts. The two wheels are proximately 21 encoder counts. The two wheels are 11 centimeters centimeters apart apart and and so so to to turn turn the the robot robot by by 11 11 centimeters apart and sowheel to turn the robot the by 1 degree, while moving one and keeping 1 degree, while moving one wheel and keeping the 1 degree, while moving one wheel and keeping the other wheel wheel stationery, stationery, the the motor motor must must move move by by other other stationery, the on motor must move by aa tacho tachowheel limit of 4. The motor which the ultrasonic of motor on which the ultrasonic asensor tachoislimit limit of 4. 4. The The motor which ultrasonic mounted rotates at aaon speed of the approximatesensor is mounted rotates at speed of approximatesensor is mounted rotates at a speed of approximately 400 400 counts counts per per second. second. So, So, aa 360 360 degree rotation rotation ly ly 400 counts persensor second.and So, detection a 360 degree degree rotation of the ultrasonic of distances of the ultrasonic sensor and detection of distances of the ultrasonic sensor and detection of distances after every every 6 degrees degrees takes 30 30 seconds, on on average. after after every 6 6 degrees takes takes 30 seconds, seconds, on average. average.
2.5. Robot Used 2.5. 2.5. Robot Robot Used Used
The robot used for the purposes of experimentaThe robot for the of The robot used used forLego the purposes purposes of experimentaexperimentation is based on the Mindstorms NXT TriBot, tion is is based based on on the the Lego Lego Mindstorms Mindstorms NXT NXT TriBot, TriBot, tion Articles
23
Journal of Automation, Mobile Robotics & Intelligent Systems
with a few modifications. The TriBot is equipped with a few modifications. The TriBot is equipped with one ultrasonic sensor, mounted on an interacwith one ultrasonic sensor, mounted on an interactive motor. It is possible to create a ring of 60 sensor tive motor. It is possible to create a ring of 60 sensor readings in one complete circular turn by rotating readings in one complete circular turn by rotating the sensor anticlockwise by 360 degrees and taking the sensor anticlockwise by 360 degrees and taking readings after every 6 degree interval. The ultrasonic readings after every 6 degree interval. The ultrasonic sensor has been placed at the origin of the robot sensor has been placed at the origin of the robot reference frame [2]. reference frame [2].
Fig. 1. Top view of the Lego Mindstorms NXT TriBot Fig. 1. Top view of the Lego Mindstorms NXT TriBot based robot with an interactive servo motor and the based robot with an interactive servo motor and the ultrasonic sensor attached on top ultrasonic sensor attached on top
VOLUME 7,
N° 3
2013
Figure 2 shows the front view of the TriBot used. Figure 2 shows the front view of the TriBot used. The wheeled motors, on either side of the robot, are The wheeled motors, on either side of the robot, are synchronized so that if one wheel moves forward the synchronized so that if one wheel moves forward the other also moves forward by the same degree and at other also moves forward by the same degree and at the same speed. Hence both the wheels move in the same speed. Hence both the wheels move in unison and it is not necessary to control the power unison and it is not necessary to control the power and tacho limit for each motor separately. This is and tacho limit for each motor separately. This is important when the robot moves forward or backimportant when the robot moves forward or backward to ensure that it follows a straight line and ward to ensure that it follows a straight line and does not drive in a curve. It is also possible to control does not drive in a curve. It is also possible to control a single wheeled motor separately when the robot a single wheeled motor separately when the robot executes a turn. executes a turn. Figure 3 shows the schematic diagram of the Figure 3 shows the schematic diagram of the TriBot. The ultrasonic sensor is represented by TriBot. The ultrasonic sensor is represented by a yellow triangle, and the orange circle in the center a yellow triangle, and the orange circle in the center of the robot represents the motor on which the senof the robot represents the motor on which the sensor is mounted. The intersecting perpendicular lines sor is mounted. The intersecting perpendicular lines within the robot represent the robot reference within the robot represent the robot reference frame. Origin of the robot reference frame is at the frame. Origin of the robot reference frame is at the point where these lines intersect. The two wheels on point where these lines intersect. The two wheels on either side of the robot and a swiveling wheel are either side of the robot and a swiveling wheel are also shown in the figure using round edged rectanalso shown in the figure using round edged rectangles. gles.
Fig. 3. Schematic representation of the Lego Fig. 3. Schematic representation of the Lego Mindstorms NXT TriBot based robot depicting the Mindstorms NXT TriBot based robot depicting the robot reference frame robot reference frame
3. 3. Map Map Construction Construction and and Localization Localization Map construction process involves recording and Map construction process involves recording and displaying the robotâ&#x20AC;&#x2122;s surrounding environment. It is displaying the robotâ&#x20AC;&#x2122;s surrounding environment. It is implemented as a continuous cycle of two steps implemented as a continuous cycle of two steps namely, sensing and motion, as shown in Figure 4. namely, sensing and motion, as shown in Figure 4.
Fig. 2. Front view of the Lego Mindstorms NXT TriBot Fig. 2. Front view of the Lego Mindstorms NXT TriBot based robot with the ultrasonic sensor pointing forbased robot with the ultrasonic sensor pointing forward ward
24
The central component of the TriBot is the NXT The central component of the TriBot is the NXT brick which is essential for establishing a connection brick which is essential for establishing a connection with the computer and controlling the sensors, and with the computer and controlling the sensors, and motors. Figure 1 shows the TriBot used for experimotors. Figure 1 shows the TriBot used for experimentation purposes. mentation purposes. Articles
Fig. 4. Map construction process used by the TriBot in Fig. 4. Map construction process used by the TriBot in implementation implementation
Journal of Automation, Mobile Robotics & Intelligent Systems
The robot is able to navigate around in an area and record the features of that space. It initially starts at the origin position around which the global map is constructed. In this system, the origin of the robot reference frame is initially assumed to coincide with the origin of the map and the Cartesian coordinates of the robot in the map are (0, 0) with an orientation of 0 degree with respect to the X-axis. A position of the robot in the map is the single set of values, of its X and Y coordinates and its orientation, with respect to the origin of the map. These positions are recorded as distinct rows in a matrix in the MATLAB program; where origin of the map is saved as the first position of the robot. The ultrasonic sensor mounted on the robot is initially assumed to be pointing in the 0 degree direction with respect to the X-axis of the map.
3.1. Sensing
In this step the robot senses its current local surroundings by using the ultrasonic sensor. The TriBot takes a set of 120 ultrasonic readings of the area around its current position by rotating the motor by a 6 degree interval in the counter-clockwise direction, for a total of 720 degrees, instead of a revolution of 360 degrees, which decreases the probability that the recorded readings are representative of a ghost image. The values thus obtained are relative to the origin of the robot reference frame and denote the robot’s immediate neighborhood. Angles, at which these readings are recorded, are also saved along with the distance values which depict the recorded straight line distance between the robot and an object at that angle. The motor is rotated till the sensor points at an angle of 714 (or 354) degrees with respect to the positive X-axis. These 120 readings, saved in a two-column matrix, represent the local map of the robot at that position and the columns in the matrix represent the radius and angle of the Polar coordinates of the objects from the current position of the robot. After obtaining a set of readings, for each distance reading of 255 the value is deleted and the corresponding angle of that reading is also deleted, so that these readings are not considered for map construction. The sensor is then rotated back to the 0 degree position, as it was before the readings were taken. To display the map, Polar coordinates of the objects taken with respect to the robot reference frame are converted into Cartesian coordinates. The map is initially empty and the set of readings taken at the origin of the global map, are then added to the map. For all the next sets of readings representing the TriBot’s local map, at some known position relative to the origin of the map, the calculated Cartesian coordinates of the readings are shifted by the X and Y values of the TriBot’s current position before being added to the existing map. The robot’s current position, with respect to the global origin, is also plotted onto the map. This process continues till the robot keeps exploring the room, and the then existing map is treated as the final map of the room. The robot stops at each new position and records the local map readings of that position, a process which takes 60 seconds to obtain 120 readings. The
VOLUME 7,
N° 3
2013
error in the readings obtained is dependent on the ultrasonic sensor and so an average error of 3 centimeters is possible in the readings, which is a fairly acceptable value for this kind of sensor.
3.2. Motion
After sensing the environment surrounding the robot, the distance in centimeters and the direction of the next frontier from the robot’s current position is computed and the robot then proceeds to move toward this new frontier location. The robot moves to a new frontier location so that it is possible to detect the objects in the previously unexplored area of the room. To ensure that the TriBot is able to explore the complete room efficiently, the 120 distance readings obtained for the current position of the robot are sorted and one of the four farthest values of the recorded distances is randomly selected. Random selection is chosen, as it is possible that the distances recorded are erroneous readings due to a ghost image. The TriBot turns according to the angle of the direction of the farthest point selected with respect to the robot reference frame and it is then moved half the distance to that point. The distance is halved to counteract the possibility that the point selected represents a ghost image. Every new position of the robot depends only on the relative displacement from the previous position which in turn depends on the readings taken on that position. The robot’s relative displacement from the previous position to the new position is stored in a matrix. The relative orientation from previous position is the angle which the robot turned, found during the new frontier location calculation. The X and Y coordinates representing the new position achieved by displacement from previous position are found by converting the distance moved and the angle rotated with respect to the previous position into Cartesian values. The current position of the robot relative to the origin of the map is calculated by taking the arithmetic sum of all previous relative displacements and adding it to the displacement from last known position to the current position. Hence the robot’s position is localized by calculating the sum of all the displacements. The sensing and motion steps are repeated continuously, many times, to construct the final map by the robot through exploration of the environment and to find the position of the robot after every relative displacement. The readings taken at each position contribute to the calculation of the next frontier for the robot and the robot has no knowledge of the readings taken previously. The robot also has orientation information relative to the X-axis of the global map, though it may have approximately 0.25 degrees of error from the previous position of the robot. All the Cartesian coordinates of the objects observed and the robot positions are stored in separate matrices which are later stored as files, so that it becomes possible to recreate the map after the robot has finished collecting the readings from the environment. A single reading, consisting of X and Y coordinates values of the room takes roughly 16 bytes of file space. So, for 120 readings taken at 100 posiArticles
25
Journal of Automation, Mobile Robotics & Intelligent Systems
tions, for a total of 12000 records, the file size will be tions, for of records, tions, for aa total total188 of 12000 12000 records, the the file file size size will will be be approximately kBytes. approximately kBytes. tions, for a total188 of 12000 approximately 188 kBytes.records, the file size will be 4. Kidnapped Robot Problem approximately 188 kBytes. 4. Kidnapped Robot Problem
4. Kidnapped Robot Problem 4. The Kidnapped Problem algorithm implemented and The algorithmRobot implemented and discussed discussed here here is is
The algorithm implemented and discussed here is used by the TriBot to find its approximate location in an used by the the TriBot to to find its its approximate approximate location in an an The algorithm implemented and discussed here is used by TriBot find location in existing map by taking the readings of its surroundings. existing map by taking the readings of its surroundings. used by the TriBot to find its approximate location in an existing map by taking the readings of its surroundings. During the map construction process, the robot finds its existingthe map by construction taking the readings ofthe its surroundings. During map process, robot finds its position through the relative displacements from the During the map construction the robotfrom findsthe its position through the relativeprocess, displacements origin of the map. In a situation where the robot only position through the relative displacements from the origin of the map. In a situation where the robot only knows the coordinates of the objects ofthe the map only and origin ofthe thecoordinates map. In a situation whereof knows of the objects therobot map and does not know its position relative to the origin, the knowsnot theknow coordinates of the objectstoofthe theorigin, map and does its position relative the robot’s position is localized within the environment by does not know is itslocalized positionwithin relative the origin, the robot’s position thetoenvironment by taking measurements from its immediate surroundings robot’smeasurements position is localized within the environment by taking from its immediate surroundings and bymeasurements moving it within theitsarea for which the global taking from immediate surroundings and by moving it within the area for which the global map is available. Figure 5 the depicts these two steps. and by moving itFigure within5 areathese for which the global map is available. depicts two steps. map is available. Figure 5 depicts these two steps.
Fig. 5. 5. Localization Localization process process used used by by the the TriBot TriBot Fig. Fig. 5. Localization process used by the TriBot Fig. 5. Localization process used by the TriBot The position position of of the the particles particles which which represent represent the the The The position of the particles represent guesses of the the robot’s robot’s possible which position within the the guesses of possible position within the The position of the particles which represent the guesses the robot’s possible position map, are areoftaken taken as the the initial initial belief for the thewithin particles. map, as belief for particles. guesses the robot’s possible position within the map, areoftaken as the initial belief for of thethe particles. The particles particles then update their belief robot’s The then update their belief of the robot’s map, are taken as the initial belief for of thethe particles. The particles then update their belief robot’s position by by using using the the measurements measurements taken taken by by the the position The particles then the update their belief of the robot’s position by using measurements taken by the robot’s ultrasonic ultrasonic sensor which leads leads to to survival of robot’s sensor which survival of position by using sensor the measurements taken by the robot’s ultrasonic to survival of only aa few few of the the particles particleswhich with leads probable initial bebeonly of with probable initial robot’s ultrasonic sensor which leads to survivalbeof only few of the particles probable liefs. aThis This selection of the the with particles with initial probable liefs. selection of particles with probable only aThis few selection of the particles with probable initial beliefs. of the particles with probable beliefs is is repeated repeated continuously, continuously, by by moving moving the the robot robot beliefs liefs. Thisrepeated selection of the particles with the probable beliefs by and moving robot and the theisparticles particles by bycontinuously, some distance distance taking subsesubseand some and taking beliefs isparticles repeatedbycontinuously, by and moving thesubserobot and themeasurements, some taking quent till distance all the the particles particles are clusclusquent measurements, till all are and themeasurements, particles by some distance and taking subsequent till all the particles are clustered around around aa single single position position within within the the map map which which tered quent measurements, till all the particles arewhich clustered around a single position within the map can safely safely predict the robot’s robot’s approximate location. can predict the approximate location. tered around a single positionapproximate within the map which can safely predict the robot’s location. 4.1. Particle Filters can safely predict the robot’s approximate location. 4.1. Filters 4.1. Particle Particle Filters Particle filters are used used in in this work work as as they they are 4.1.Particle Particlefilters Filtersare Particle filters are used in this thisvalue workproblems, as they are are easier to program program for continuous continuous as easier to for value problems, as Particle filters are used in thisvalue workproblems, as they are easier to program for continuous as compared to to Kalman Kalman Filters Filters [10, [10, 11]. 11]. Particle Particle filters filters compared easier to program for Filters continuous valueParticle problems, as compared to Kalman [10, 11]. filters also work work better better than than Histogram Histogram Filters Filters [11] [11] in in highhighalso compared to Kalman [10, Filters 11]. Particle filters also work better than Filters Histogram [11] higher-dimensional spaces. Table 1 1 compares compares theinHistoHistoer-dimensional spaces. Table the also work betterspaces. than Histogram Filters [11] inHistohigher-dimensional Table 1 compares the gram, Kalman, Kalman, and and Particle Particle filters filters on on the the basis of of two two gram, er-dimensional spaces. Table 1 compares the of Histogram, Kalman, and Particle filters on the basis basis two characteristics. characteristics. gram, Kalman, and Particle filters on the basis of two characteristics. characteristics. Table 1. Comparisons between Histogram, Kalman and Table 1. Comparisons Table 1.Filters Comparisons between between Histogram, Histogram, Kalman Kalman and and Particle Particle Filters Table Comparisons between Histogram, Kalman and Particle1.Filters Particle Filters Filter Name Name State-Space Belief Filter State-Space Belief Filter Name Histogram Filter Name Histogram Histogram Kalman Histogram Kalman Kalman Particle Kalman Particle Particle
26
Particle
Articles
State-Space State-Space Discrete Discrete Continuous Discrete Continuous Continuous Continuous Continuous Continuous Continuous
Belief Belief Multi-Modal Multi-Modal Uni-Modal Multi-Modal Uni-Modal Uni-Modal Multi-Modal Uni-Modal Multi-Modal Multi-Modal Multi-Modal
VOLUME 7,
N° 3
2013
4.2. Localization using Particle Filters 4.2. 4.2. Localization Localization using using Particle Particle Filters Filters After satisfactory map construction the room, the 4.2.After Localization using Particle Filtersof satisfactory map construction of After satisfactory map construction of the the room, room, the the
robot is is kidnapped kidnapped i.e., i.e., removed removed from from the the environment environment robot After satisfactoryi.e., map construction of the room, the robot is kidnapped removed from the environment and then placed randomly somewhere inside the area area and placed randomly somewhere inside the robotthen is kidnapped i.e., removed from the environment and then placed randomly somewhere inside the area represented by the global map. The current position of represented by global map. The position of and then placed randomly somewhere inside the area represented by the the global map. The current current position of the robot within the map is unknown and is deterthe robot within map is unknown and is deterrepresented by thethe global map. The current position of the robot within the map is unknown and is determined by by finding finding distances distances to to nearby nearby objects objects with with the the mined the robot within distances the map is unknown and is determined by finding to nearby objects with the use of of the the ultrasonic ultrasonic sensor, sensor, and and calculating calculating aa good good use mined finding distances to nearby objects with the use of by thedistribution ultrasonic sensor, and calculating a good posterior of where the robot is based on posterior where the robot is based on use of thedistribution ultrasonic of sensor, and calculating a good posterior distribution of where the robot is based on those readings. those readings. posterior distribution of where the robot is based on those readings. Each particle represents the possible position Each particle the possible position those readings. Each particleof represents represents the possible position and orientation the robot in the map. Set of hunhunand orientation of the robot in the map. Set of Each particleof represents the possible position and orientation the robot in the map. Set of hundreds of such (N) particles together comprise an dreds of (N) particles an and orientation of the robot intogether the map.comprise Set of hundreds of such suchrepresentation (N) particles together comprise an approximate of the posterior distriapproximate representation of the posterior distridreds of suchrepresentation (N) particles of together comprise an approximate the posterior distribution of of the the robot robot [11]. [11]. In In the the beginning, beginning, all all the the N N bution approximate representation of the posterior distribution of the robot [11]. In the beginning, all the N particles are uniformly scattered, and the filter alparticles and the filter bution of are the uniformly robot [11].scattered, In the beginning, all thealN particles are uniformly scattered, and the filter allows them them to to survive survive in in proportion proportion to to how how consistent consistent lows particles are uniformly scattered, to and theconsistent filter allows them to survive in proportion how these particles particles are are with with the the sensor sensor readings, readings, such such these lows them to survive in proportion to how consistent these particles are with the sensor readings, such that the particles which are more consistent with the that the particles which more consistent with the these particles are withare the sensor readings, such that the particles which are more consistent with the sensor measurements are considered fitter and are sensor fitter and are that themeasurements particles whichare areconsidered more consistent with the sensor measurements are considered fitter and are more likely to survive. Measurements of the robot’s more likely to survive. Measurements the robot’s sensor measurements are considered of fitter and are more likely to survive. Measurements of the robot’s surroundings are are recorded recorded and and applied applied to to all all the the surroundings more likely to are survive. Measurements of the robot’s surroundings recorded and applied to all the particles individually. individually. As As aa result, result, closer closer the the particle particle particles surroundings are recorded and applied to particle all the particles individually. As amore result, closer the is to the correct position, likely the possibility is to the correct position, likely the possibility particles individually. As amore result, closer the particle is to the correct position, more likely the possibility that the the measurements measurements belong belong to to that that particle, particle, and and that is to the the measurements correct position,belong more to likely possibility that thatthe particle, and higher the likelihood of its survival. The particles higher likelihood of its survival. particles that thethe measurements belong to that The particle, and higher the likelihood of its survival. The particles which are are highly highly consistent consistent with with the the measurements measurements which higher thehighly likelihood of its with survival. The particles which are consistent the measurements form clusters clusters around around aa single single position position in in the the map form which are highly consistent with the measurements form clusters around a single position in theofmap map which approximately represents the position rowhich approximately the position roform clusters around represents a single position in theof map which approximately represents the position of robot as it localizes itself within the map. bot as localizes itself within the map. which represents the position of robotEach as it itapproximately localizes itself within the map. particle has its own importance weight and particle has own importance and botEach as it localizes itselfits the map. weight Each particle has itswithin ownthe importance weight and survives at random, though probability of its its sursursurvives at random, though the probability of Each at particle hasthough its ownthe importance weight and survives random, probability of its survival is is proportional proportional to to its its importance importance weight. weight. Larger Larger vival survives at random, though the probability of its survival is proportional to its importance weight. Larger the weight weight of of the the particle, more more likely likely it it is is that that it it reprereprethe vival is proportional to itsmore importance weight. the weight of the particle, particle, likely likely it is that it Larger represents the robot’s position and more that it sursents the robot’s position and more that surthe weight of the particle, more likely likely it is that it it represents the robot’s position and more likely that it survives. After resampling i.e., randomly drawing N new vives. After resampling i.e., randomly drawing sents the robot’s position and more likely that N it new survives. After resampling i.e., randomly drawing N new particles from from the the old old ones ones in in proportion proportion with with their their particles vives. After resampling i.e., randomly drawing N their new particles from the old ones in proportion with importance weights, weights, with with replacement, replacement, the the smaller smaller importance particles from the oldwith onesreplacement, in proportionthe with their importance weights, smaller weighted particles representing less probable robot weighted particles less probable robot importance weights,representing with replacement, the smaller weighted particles representing less probable robot positions are are likely likely to to be be discarded. discarded. positions weighted particles positions are likely torepresenting be discarded.less probable robot 4.3. Noise positions 4.3. Noise 4.3. Noiseare likely to be discarded. Three of noise values [11] are considered dur4.3.Three Noisetypes types Three types of of noise noise values values [11] [11] are are considered considered durduring Three the localization of the robot, as follows: types of noise are considered during the localization of thevalues robot,[11] as follows: — noise of – the Therobot, errorasvalue, in centimeters, ing Forward the localization follows: — Forward noise – Theinto error value, in centimeters, that must be taken account when the robot must be taken account the — that Forward noise – Theinto error value,when in centimeters, that must be taken into account when the robot robot moves in the forward direction. moves in direction. that must beforward taken into account when the robot moves in the the forward direction. — Turn noise The error value, in degrees, which in the––forward direction. — moves Turn noise The error value, in when degrees, which must be taken into consideration the robot be taken into consideration the robot — must Turn noise – The error value, in when degrees, which must be taken into consideration when the robot executes a right or left turn on its current position. executes a right or left turn on its current position. must be ataken whenposition. the robot executes right into or leftconsideration turn on its current — Sense noise – The error value, centimeters, that a right or left turn on itsin position. — executes Sense noise – The error value, incurrent centimeters, that must be taken into account due to the ultrasonic be taken into account due the ultrasonic — must Sense noise – The error value, in to centimeters, that must be taken into account due to the ultrasonic sensor’s inability to measure exact distances. sensor’s to distances. must be inability taken into account exact due to the ultrasonic sensor’s inability to measure measure exact distances. 4.4. Particles inability to measure exact distances. 4.4. Particles 4.4.sensor’s Particles To create the particles a class is created in 4.4.To Particles create theanparticles a that classclass is created in MATLAB, where object of represents MATLAB, where object of represents To create thean particles a that classclass is created in MATLAB, where an object of that class represents aa single particle. Each particle created using this single particle. Each particle created using this MATLAB, where an object of that class represents a single particle. Each namely particle– X-coordinate created usingvalue, this class has six attributes, class has six attributes, X-coordinate aclass single particle. Each namely particle– created usingvalue, this has six attributes, namely – X-coordinate value, Y-coordinate value, Orientation, Forward noise, Turn Y-coordinate value, Orientation, Forward noise, Turn class has six attributes, namely – X-coordinate value, Y-coordinate value, Orientation, Forward noise, Turn noise, Sense noise. The position and orientation of noise, Sense noise. The position and orientation of Y-coordinate value, Orientation, Forward noise, Turn noise, Sense noise. The position and orientation of aa particle are randomly initialized on creation of the particle are randomly initialized on creation of the noise, Sense noise. The position and orientation of aparticle. particleThe areforward, randomly initialized on creation of the turn and sense noise values for particle. forward, turn and sense noise values for aparticle. particleThe are randomly initialized on creation of the The forward, turn and sense noise values for each particle are initially set to 0.5, by default. each are set to by default. particle. The forward, turn sense values for each particle particle are initially initially setand to 0.5, 0.5, bynoise default. each particle are initially set to 0.5, by default.
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 7,
4.5. Particle Filter Algorithm Firstly, 250 particles are created using the class implemented in MATLAB and their noise attribute values are set according to the measured values of the precision for TriBot’s wheeled motors and ultrasonic sensor. The values of forward, turn, and sense noise of the TriBot are calculated using the accuracy of the ultrasonic sensor and the motors and are set to 0.05 centimeters, 0.25 degrees and 3 centimeters respectively for the current implementation. At the current unknown position of the robot a reading is taken by the ultrasonic sensor at a certain angle, between 0 and 45 degrees, with respect to the robot reference frame. Seven more such readings are taken at an interval of 45 degree each, which gives a set of total eight measurements for the robot’s current position. For each particle, these angles are used to find the distances between the particle’s position and the objects in the map at these angles, with respect to the particle’s orientation. The probability that a particle represents the approximate location of the robot is computed by using the equation: (���)� � ���
�=� � ∝ √���
(1)
Where µ is the distance of the particle from an object, x is the observed distance measurement at that angle with respect to the robot reference frame, σ is the sense noise and α is the set of all angles at which the eight readings were recorded. This probability, p, is eventually treated as the importance weight for that particle. The particle filter implemented in the current system, is shown in Algorithm 1. RoomX and RoomY are arrays having the values of X and Y coordinates of the room boundary and objects, recorded during map construction. Line 2 creates a set of particles P by creating objects of the class and initializes the respective attribute values for each particle. P is a collection of onedimensional arrays, viz. Px, Py, Porientation, Psense, Pturn and Pforward, of size N each, where each array represents an attribute. Array Px records the X-coordinate value for all the N particles in sequence, Py stores the Ycoordinate value for all the particles and so on. W is an array of size N that sequentially stores the importance weights of all the particles in P. Line 3 sets the noise values of all the particles. The constant, t is used to define the number of times that the algorithm must be run and a value of 10 is fixed in the implementation. The initially empty array, select, is used to save the index of the coordinates of room that satisfy the measurement reading, Z, when applied to a particle. Integer value of the variable angle can be initialized manually between 0 and π/4 radians and a value of π/6 radians has been chosen in the implementation. In line 7, the robot takes a distance reading of its surrounding at the angle specified. The function polar takes the arrays of Cartesian coordinates of the room and converts them to Polar coordinates, with respect to
N° 3
2013
the origin of the global map; where R represents the array of distances and Ɵ represents the array of angles of those points, in radians. The size function returns the number of rows in an array. The values distX, distY represent the distance between the X and Y coordinates of the particles from the coordinates of the object of the room observed at a certain angle by the robot. These values are used to find the distance of the particle from the coordinates in map, which is then used in line 29 and 30 to find the importance weight of the particle. Line 33 applies the resampling algorithm which randomly draws N new particles from the old ones, with replacement, according to their importance weights. In line 37 implements the movement of the TriBot and all the particles, by turning them by 20 degrees anticlockwise and moving them forward by a distance of 6 centimeters. A random Gaussian distribution value with zero mean, and the standard deviation set as the forward or turn noise is added when the particles are moved forward, or rotated. Algorithm 1: Particle Filter Algorithm for Localization. Input : �����, ����� � ����������� �� ���� � � � ������ �� ��������� 1
begin
2
Create N uniformly distributed particles P, and initialize attributes Px, Py, Porientation, Psense, Pturn, and Pforward.
3
Set Noise values of Psense, Pturn, Pforward.
4
for t ← 1 to 10 do
5
angle ← π/6 ;
6
for i ← 1 to 8 do
7
Z ← Distance reading with TriBot(angle) ;
8
select ← [ ] ;
9
(R, Ɵ) ← polar (RoomX, RoomY);
10
for j ← 1 to N do
11
W(j) ← 1.0 ;
12
for k ← 1 to N do
13
dcos ← R(k) * cos(Ɵ(k)) – Px(j) ;
14
dsin ← R(k) * sin(Ɵ(k)) – Py(j) ;
15
d ← √����� + ����� ; if dcos ≅ 0 do
16
r ← ����� (����⁄�) ;
17
else
18
r ← ����� (����⁄�) ;
19
end if (line 16)
20 21
do 22
if �� � ���� = �(������������ (�) + �����) � ���� Add k to select array.
23
end if (line 21)
24
end for (line 12)
25 26
for i ← 1 to size(select) do distX ← ��(�) � ������������(�)� ;
Articles
27
Journal of Automation, Mobile Robotics & Intelligent Systems
distY ← ��(�) � ������������(�)� ; distY ← ��(�) � ������������(�)� ; dist ← √����� �� + ����� �� ; dist ← √����� �+ ����� ;
27 27 28 28
�← �←
29 29 30 30 31 31 32 32 33 33 34 34 35 35 36 36 37 37 38 38 39 39
(������) (������)� �
�(� ∗(������(�))�) �(� ∗(������(�)) ) ��� ∗(������(�))� ��� ∗(������(�))�
; ;
W(j) ← W(j) * p ; W(j) ← W(j) * p ; end for (line 25) end for (line 25) end for (line 10) end for (line 10) P2 ← Resampling Wheel Algorithm (W, N). P2 ← Resampling Wheel Algorithm (W, N). P ← P2 ; P ← P2 ; angle ← angle + π/4 ; angle ← angle + π/4 ; end for (line 6) end for (line 6) Move the robot and particles. Move the robot and particles. end for (line 4) end for (line 4) end end
For resampling the particles on the basis of their For resampling the particles on the basis of their importance weights, a particle that has higher imimportance weights, a particle that has higher importance weight, must be sampled or picked more portance weight, must be sampled or picked more number of times than a particle that has low imnumber of times than a particle that has low importance weight. This is achieved through the portance weight. This is achieved through the resampling wheel algorithm [11] described in Algoresampling wheel algorithm [11] described in Algorithm 2. First, an initial integer guess of a particle numrithm 2. First, an initial integer guess of a particle number is taken from the uniform interval (1, N) at random ber is taken from the uniform interval (1, N) at random and labeled as index. A value beta, initialized as zero, is and labeled as index. A value beta, initialized as zero, is added to a real value drawn uniformly from the interval added to a real value drawn uniformly from the interval (0, 2*maxw) to give a new value of beta; where maxw is (0, 2*maxw) to give a new value of beta; where maxw is the maximum importance weight in W. If weight of the the maximum importance weight in W. If weight of the index particle is smaller than the current value of beta, index particle is smaller than the current value of beta, then the weight of the particle is subtracted from beta then the weight of the particle is subtracted from beta and index is incremented by one. Otherwise, if the beta and index is incremented by one. Otherwise, if the beta value is lower than weight of index particle, then that value is lower than weight of index particle, then that particle is chosen to survive. particle is chosen to survive. In the given algorithm, Ʋ1 represents a function that In the given algorithm, Ʋ represents a function that returns a uniformly integer1 drawn value and Ʋ2 rereturns a uniformly integer drawn value and Ʋ2 returns a uniform real value from the intervals specified. turns a uniform real value from the intervals specified. The max function returns the maximum value among The max function returns the maximum value among all the elements of an array. P2 is, initially, an empty set all the elements of an array. P2 is, initially, an empty set of arrays and stores the attribute values of the particles of arrays and stores the attribute values of the particles selected for survival after resampling. selected for survival after resampling. Algorithm 2. Resampling Wheel Algorithm. Algorithm 2. Resampling Wheel Algorithm. Input : Input � ∶: ����� �� ���������� ������ �� ��������� � � ∶ ����� �� ���������� ������ �� ��������� � ∶ ������ �� ��������� � � ∶ ������ �� ��������� Output : � �� ∶ ��������� ����� ���������� Output : � �� ∶ ��������� ����� ���������� 1 begin 1 begin 2 index ← Ʋ1(1, N) ; 2 index ← Ʋ1(1, N) ; 3 beta ← 0 ; 3 beta ← 0 ; 4 P2 ← [ ] ; 4 P2 ← [ ] ; 5 maxw ← max(W); 5 maxw ← max(W); 6 for i ← 1 to N do 6 for i ← 1 to N do 7 beta ← beta + Ʋ2(0, 2*maxw) ; 7 beta ← beta + Ʋ2(0, 2*maxw) ; 8 while W[index] < beta do 8 while W[index] < beta do 9 beta ← beta – W(index) ; 9 beta ← beta – W(index) ; 10 index ← index + 1 ; 10 index ← index + 1 ;
28
Articles
VOLUME 7, 11 11 12 12 13 13 14 14
N° 3
2013
end while end while Add the index particle to P2. Add the index particle to P2. end for end for end end
If the beta value is small, there is a high possibilIf the beta value is small, there is a high possibility of a particle with large importance weight being ity of a particle with large importance weight being picked more than once during resampling. After picked more than once during resampling. After resampling, N new particles are obtained, each resampling, N new particles are obtained, each having a new position and orientation values that having a new position and orientation values that have been derived from old particles with high imhave been derived from old particles with high importance weights. portance weights. At the end of the process an approximate location At the end of the process an approximate location of the robot is found by analyzing the X and Y coorof the robot is found by analyzing the X and Y coordinate of the locations where most of the particles dinate of the locations where most of the particles are clustered in the global map. are clustered in the global map.
5. Experimental Results 5. Experimental Results
Figure 6 shows the area under consideration for Figure 6 shows the area under consideration for the purposes of experimentation. The cross mark the purposes of experimentation. The cross mark shows the robot’s starting position for map construcshows the robot’s starting position for map construction. The light-gray colored portion in the figure is tion. The light-gray colored portion in the figure is beyond the environment under observation. beyond the environment under observation.
Fig. 6. Room used for Map Construction and LocalizaFig. 6. Room used for Map Construction and Localization by the TriBot tion by the TriBot
5.1. Map Construction 5.1. Map Construction
Figure 7 shows the two dimensional maps created Figure 7 shows the two dimensional maps created after taking readings on the first two positions. All the after taking readings on the first two positions. All the objects recorded by the TriBot are displayed as a point objects recorded by the TriBot are displayed as a point cloud of black dots as the ultrasonic sensor returns a cloud of black dots as the ultrasonic sensor returns a single value of the straight line distance of an object single value of the straight line distance of an object from the ultrasonic sensor. In the figure the positions of from the ultrasonic sensor. In the figure the positions of the robot where the readings were taken are displayed the robot where the readings were taken are displayed by magenta colored dots. Figure 7a shows the local by magenta colored dots. Figure 7a shows the local map created at the origin position by the TriBot during map created at the origin position by the TriBot during map construction. Figure 7b shows the existing map map construction. Figure 7b shows the existing map after adding the readings taken at the second position, after adding the readings taken at the second position, to the map created in Figure 7a. to the map created in Figure 7a.
ning plete map t the ailed host n the emp-
t the gs at p
images, can be seen in the map which lie either in the region the Mobile roomRobotics boundaries or within the empJournal ofbeyond Automation, & Intelligent Systems ty area of the original room shown in Figure 6.
(a)
VOLUME 7,
N° 3
2013
Fig. map
5.2.
F almo part the b (b) Fig. 7. (a) Map obtained after taking readings at the (b)the Map obtained after taking readings at Fig.Map 9.position. Image of room under consideration and the Fig. 7. (a) Map obtained after taking readings at the origin position.origin (b) obtained after taking readings at second position second positionbyand to the existing map created theadding TriBotthem superimposed ontomap it. and adding them to the existing map (a)
5.2. Kidnapped Robotboundaries Problemor within the empty
area of the original room shown Figure 10 shows the particles initially distributed, Figuretriangles 6. almost uniformly. The ingreen represent the Figure 9 shows the map conparticles created initially. The blue asterisks represent in Figure superimthe boundary of the roomstructed created during map 8, construction. posed onto the room shown in Figure 6.
(b) Fig. 7. (a) Map obtained after taking readings at the origin position. (b) Map obtained after taking readings at second position and adding them to the existing map
5.2. Kidnapped Robot Problem
Figure 10 shows the particles initially distributed, almost uniformly. The green triangles represent the particles created initially. The blue asterisks represent the boundary of the room created duringafter map construction. Fig. 8. Map constructed by the TriBot one scanning Fig. 8. Map constructed by the Figure 11 shows how the of the room where the boundaries of the room can be TriBot after one scanning of the green colored particles Fig. 10. Particles created for localization of thehave robot easily identified room where the boundaries of the clustered the right hand and to solve the kidnapped robot on problem room can be easily identified side of the map and predict the Figure 9 shows the map constructed in Figure 8, superapproximate position of the imposed onto the room shown in Figure 6. TriBot. Fig. 9. Image of the room under considerIn later iterations of the Figure 8 shows the map created ation and the map created by the TriBot Fig. Image of theof room under consideration and the algorithm, the particles move after9.one scanning the room. In onto it map created by the TriBot superimposedsuperimposed onto it. within the map as the robot the map constructed, the complete moves in the actual environroom is scanned only once and for ment. Figure 12 shows how the better results of map construction 5.2. Kidnapped Robot Problem particles after executing a left turn and moving forwards, andFigure localization, it is the possible to letinitially the TriBot scan the 10 shows particles distributed, and further upwards, in the map as the robot moves. room continuously till a highly detailed map is constructalmost uniformly. The green represent the Fig. 8. Map constructed by the triangles TriBot after one scanning ed. Noisy readings, representing ghost images, can be seen particles created initially. The blue asterisks represent of the room where the boundaries of the room can be in the map which lieroom either in theduring regionmap beyond the room the boundary of the created construction. easily identified
Figure 9 shows the map constructed in Figure 8, superimposed onto the room shown in Figure 6.
Fig. Fig. 10. 10. Particles Particles created createdfor forlocalization localizationofofthe therobot robot and to solve the kidnapped robot problem and to solve the kidnapped robot problem
Fig. and
Fig. 11. Particles finally localized to the robot’s approximate position within the map
Fig. 11. Particles finally localized to the robot’s approximate position within the map Articles
29
Fig. mate
In within later iterations ofthe therobot algorithm, particles move the map as moves the in the actual move within the map as the robot moves in the environment. Figure 12 shows how the particlesactual after Journal of Automation, Mobile Intelligent Systems after environment. 12 Robotics shows the particles executing a leftFigure turn and moving&how forwards, and further executing a left and moving forwards, and further upwards, in the turn map as the robot moves. upwards, in the map as the robot moves.
shown in this paper.
VOLUME 7,
N° 3
2013
AUTHORS AUTHORS Jasmeet Singh*, Punam Bedi – Department of Jasmeet – Department of Computer Singh*, Science, Punam Faculty ofBedi Mathematical Sciences, Computer Science, Faculty of Mathematical Sciences, New Academic Block, University of Delhi, DelhiAUTHORS New Academicjasmeetsingh89@ymail.com, Block, University of Delhi, Delhi110007, JasmeetIndia, Singh*, Punam Bedi – Department of Com110007, India, jasmeetsingh89@ymail.com, pbedi@cs.du.ac.in puter Science, Faculty of Mathematical Sciences, New pbedi@cs.du.ac.in Academic Block, University of Delhi, Delhi- 110007, *Corresponding author India, jasmeetsingh89@ymail.com, pbedi@cs.du.ac.in *Corresponding author *Corresponding author
References References [1] Burguera, A.; González, Y.; Oliver, G., “Mobile Ro-
(a) (a)
(b) (b) the robot’s actual moveFig. 12. Particles moving with Fig. 12. Particles moving with the robot’s actual ment. (a) The cloud of green particles is near themoveright ment. (a) The cloud of green particles is near the right hand12. side boundary (b) The particles move actual upwards and Fig. Particles moving with the robot’s movehand side boundary (b) The particles move upwards and ment. (a) The cloud ofthe green particles is near the right left, further away from boundary left, further away from (b) the boundary hand side boundary The particles move upwards and left, further away from the boundary
6. Conclusion 6. Conclusion
30
Efforts have been made in this paper to create Efforts been made inLego this Mindstorms paper to create a6.map of anhave environment using NXT Conclusion aTriBot. map ofThis an environment using Lego Mindstorms NXT work may find applications in creating TriBot. This work may find applications in creating Efforts have been made in this to create maps of unknown environments that paper are inaccessible maps of environments thatMindstorms are inaccessible a map of unknown an environment using NXT for humans, by deploying robotsLego into them or in applifor humans, by deploying robots into them in oranomalies in appliTriBot. This work may find applications creating cations of home security systems to detect cations of homechanges security to detect anomalies maps of unknown environments that are inaccessible when the map in systems the absence of human interwhen the map changes in the absence of human interfor humans, by deploying robots into them or in apference. The MATLAB programming environment with ference. The MATLAB programming environment plications of home security systems detect RWTHMindstorms NXT Toolbox has to been usedanomaforwith the RWTHMindstorms NXT Toolbox has been for the lies when map changes in the absence of human purpose ofthe implementation and testing of used the system purpose implementation and testing ofenvironment the interference. The MATLAB programming with the ofTriBot. The implemented system hassystem been with the TriBot. The implemented system has been RWTH –tested Mindstorms Toolbox been used successfully with anNXT indoor maphas creation of a successfully with an solving indoor map creationofof for theand purpose of implementation andkidnapped testing the room fortested subsequently the ro-a room and for subsequently solving the kidnapped rosystem with the TriBot. The implemented system bot problem with particle filter localization of has the bot problem with particle filter localization of the been successfully withrobot an indoor creation TriBot within that tested room. The in thismap work uses a TriBot within room.making The robot in this work uses a of a room and that forsensor, subsequently solving the kidnapped single ultrasonic it highly cost effective. single ultrasonic sensor, making it highly cost effective. robot problem with particle localization of the A better representation of filter the map can be created A better representation of the map can TriBot within that room. The robot in this work uses by making the environment multi-agent withbe thecreated use of by making the environment multi-agent with the useare of a single ultrasonic making highly cost efseveral similar Lego sensor, Mindstorms NXTitTriBots that several similar Lego Mindstorms NXT TriBots that are fective. via MATLAB and by overlapping the individcontrolled controlled MATLAB and by individA bettervia representation of overlapping the map canthe be created by making the environment multi-agent with the use of several similar Lego Mindstorms NXT TriBots that are controlled via MATLAB and by overlapping the individual maps created by them all. It is also possible to reduce the number of particles used in the implementation, and achieve almost similar results as the ones shown in this paper. Articles
[1] bot Burguera, A.; González, Y.; Oliver, G., “Mobile RoLocalization Using Particle Filters and Sonar References bot Localization Using Particle Filters and Sonar Sensors”, Advances in Sonar Technology, In-Tech: [1] Sensors”, BurgueraAdvances A., González Y.’ Oliver G., “Mobile Roin Chapter Sonar Technology, In-Tech: Vienna, Austria, 2009, 10, pp. 213–232. bot Localization Using Particle Filters and Sonar Austria, Chapter 213–232. J.; [2] Vienna, Adiprawita, W;2009, Ahmad, A. 10, S.; pp. Sembiring, Sensors”, Advances in SonarA.Technology, In-Tech: [2] Trilaksono, Adiprawita, W; Ahmad, S.; Sembiring, J.; B. R., “New Resampling Algorithm for Vienna, Austria, 2009, Chapter 10, pp. 213–232. Trilaksono, B. R., “New Resampling Algorithm for Particle Filter Localization for Mobile Robot with 3 [2] Particle Adiprawita W., Ahmad A. S., Sembiring J., TrilakFilter Localization Mobile Robot 3 Ultrasonic Sonar Sensors”,for In Proceedings ofwith Intersono, B. R., “New Resampling Algorithm forInterParUltrasonic Sonar Sensors”, In Proceedings of national Conference on Electrical Engineering and ticle Filter Localization for Mobile Robot2011, with national Conference Electrical Engineering and Informatics, Bandung,onIndonesia, July 17-19, 3 Ultrasonic Sonar Sensors”, In: Proceedings of Informatics, Bandung, Indonesia, July 17-19, 2011, pp. 1431–1436. International Conference on Electrical Engineering pp. 1431–1436. [3] Burguera, A.; González, Y.; Oliver, G., “Sonar Sensor and Informatics, Bandung, Indonesia, July 17–19, [3] Burguera, A.;Their González, Y.; Oliver, G., “Sonar Sensor Models and Application to Mobile Robot Lo2011, pp. 1431–1436. Models and Their Application to Mobile Robot Localization”, Sensors, vol. 9, 2009, pp. 10217– [3] calization”, Burguera A., González Y., Oliver G., “Sonar Sensor Sensors, vol. 9, 2009, pp. 10217– 10243. Models TheirFilters Application to Mobile Robot [4] 10243. S. Thrun,and “Particle in Robotics”, In Proceed[4] ings S. Thrun, “Particle Filters in Robotics”, In ProceedLocalization”, Sensors, vol. 9, 2009, pp. 10217– th of the 18 Annual Conference on Uncertainty th Annual Conference on Uncertainty ings of the 18 10243. in Artificial Intelligence (UAI), Edmonton, Alberta, Artificial Intelligence (UAI), Edmonton, Alberta, [4] in Thrun S.,August “Particle Filters inpp. Robotics”, In: ProceedCanada, 1–4, 2002, 511–518. th 1–4, 2002, pp. 511–518. Canada, August ings of the 18 Annual Conference on Uncertainty [5] Howell, J.; Donald, B. R., “Practical Mobile Robot [5] Self-Localization”, Howell, J.; Donald, R.,(UAI), “Practical Robot in Artificial Intelligence Edmonton, InB.Proceedings of Mobile IEEE Alberta, InternaSelf-Localization”, InonProceedings of IEEE InternaCanada,Conference August 1–4, 2002, pp. 511–518. tional Robotics and Automation on CA, Robotics and Automation [5] tional HowellConference J., Donald B.R., “Practical Mobile Robot (ICRA), San Francisco, USA, April 24–28, 2000, (ICRA), San Francisco, USA, Aprilof24–28, 2000, Self-Localization”, In CA, Proceedings IEEE Intervol. 4, pp. 3485–3492. 4, pp.Conference 3485–3492. national [6] vol. Yamauchi, B.; Schultz,onA.;Robotics Adams,and W., Automation “Mobile Ro[6] bot Yamauchi, Schultz, A.; Adams, W., “Mobile Ro(ICRA), SanB.; Francisco, CA, USA, April 24–28, 2000, Exploration and Map-Building with Continubot Exploration and Map-Building with Continuvol. Localization”, 4, pp. 3485–3492. ous In Proceedings of IEEE InternaLocalization”, InonProceedings of“Mobile IEEE International Conference and Automation [6] ous Yamauchi B., Schultz A.,Robotics Adams W., Robot tional Conference on Robotics and Automation (ICRA), Leuven, May 16-20, vol. 4, Exploration andBelgium, Map-Building with 1998, Continuous (ICRA), Leuven,In Belgium, May 16-20, 1998, vol. 4, pp. 3715–3720. Localization”, Proceedings of IEEE Internapp. 3715–3720. [7] V. Varveropoulos, Localization and Map tional Conference “Robot on Robotics and Automation [7] Construction V. Varveropoulos, “Robot Localization andvol. Map Using SonarMay Data”, The Rossum Pro(ICRA), Leuven, Belgium, 16–20, 1998, 4, Construction Using Sonar Data”, The Rossum Project: 2000. Available online: pp. 3715–3720. 2000. online: http://www.rossum.sourceforge.net/papers/ [7] ject: Varveropoulos V., “RobotAvailable Localization and Map http://www.rossum.sourceforge.net/papers/ Localization on 17 January 2012). ProjConstruction(accessed Using Sonar Data”, The Rossum (accessed on 17 January 2012). [8] Localization A. “Multi-robot Simultaneous Localizaect:Howard, 2000. Available online: http://www.rossum. [8] tion A. Howard, “Multi-robot Simultaneous Localizaand Mapping using Particle Filters”,(accessed Int. J. Rosourceforge.net/papers/Localization tion and vol. Mapping using Particle Filters”, Int. J. Robot. Res., 25, 2006, pp. 1243–1256. on 17 January 2012). bot. Res., vol.Mindstorms 25, 2006, pp. 1243–1256. NXT Toolbox,LocalizaRWTH [9] [8] RWTH Howard A., “Multi-robot Simultaneous Mindstorms2010. NXT Available Toolbox, online: RWTH [9] Aachen RWTH -University, tion and Mapping using Particle Filters”, Int. J. Aachen University, 2010. Available online: http://www.mindstorms.rwth-aachen.de/trac/ Robot. Res., vol. 25, 2006, pp. 1243–1256. http://www.mindstorms.rwth-aachen.de/trac/ (accessed on 18 August 2011). RWTH Aachen [9] wiki RWTH - Mindstorms NXT Toolbox, wiki (accessed on 18 August 2011). University, 2010. Available online: http://www. mindstorms.rwth-aachen.de/trac/ wiki (accessed on 18 August 2011). [10] Fox D., Burgardy W., Dellaerta F., Thrun S., “Monte Carlo Localization: Efficient Position Estimation for Mobile Robots”, In: Proceedings of the Sixteenth National Conference on Artificial Intelligence, Orlando, FL, USA, July 18–22, 1999, pp. 343–349. [11] Artificial Intelligence (CS373) Programming a Robotic Car, Udacity, 2012. Available online: http://www.udacity.com/overview/Course/ cs373 (accessed on 26 February 2012).
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 7,
N° 3
2013
Synthesis of Quasi-Optimal Motion Crane’s Control in the Form of Feedback Submitted: 3rd February 2013; accepted: 17th May 2013
Vjacheslav Lovejkin, Yuriy Romasevich, Yuriy Chovnuk Abstract: The solution of the problem of optimal crane’s control is proposed in this article. The crane’s model is adopted as two-mass. The synthesized quasi-optimal control allows one to eliminate vibrations during braking load of the crane. Control is a function of phase coordinates of dynamic system ”truck-load“ and it’s limited in size. One may use for the solution of the problem the method of dynamic programming. The results are illustrated with the help of graphics which are bold on the phase planes. Keywords: quasi-optimal control, crane, load vibrations, dynamic programming, control in the form of feedback
a number of ways that are patented and used by different companies [6–8]. The main drawback of these methods is that they do not provide optimal control. That’s why the problem of finding of the optimal control of crane’s load oscillations during its removal is very important.
2. References
2.1. Problem of Optimal Control For the research purpose onne may take the twomass dynamic model of the mechanism of movement of the crane which is performed in Fig. 1. This model is common and is used by many researchers [9–11]
1. Introduction The handling of various cargoes with a help of bridge cranes is widespread. They are used in sea and river ports, factories of chemical and metallurgical industry, mechanical engineering and more. Bridge type cranes often work in unsteady operating modes (start, stop, reverse). It is known that the default mode of motion of the crane may be absent in general case. Dynamic processes occurred during the transient motion of crane mechanisms may determine the efficiency of the crane, as well. The cargo usually is fixed on a rope and its vibrations affect on the performance, reliability and efficiency of bridge crane. The problem of eliminating of load’s vibrations for port’s reloaders and steel valves is particularly relevant. In the first case, the elimination of load’s vibrations increases crane’s productivity and reduces the idle of the ship in port in the first case and increases safety of the work in the second one. Vibrations of the load on a rope appear during transient motion of the crane, continue during its steady movement phase and are present even after crane’s stop. It is desirable to eliminate these crane’s vibrations as quickly, as it is possible [1]. However, the optimal control of velocity’s action to eliminate the load’s vibration significantly increases the dynamic load of crane’s elements and this crane can quickly fail. One may use other methods of solving this problem. For example, one may use fuzzy-controllers [2–5]. The disadvantage of such methods is that they do not include the restrictions imposed on the drive mechanism of the crane, also that load vibrations may have big amplitude during the transient process. One may use the passive damping devices for the elimination of load’s vibrations. By the way, there are
Fig. 1. A dynamic model of the system ”crane-load” The above mentioned calculation model (Fig. 1) is described by a system of differential equations:
x1 + m2 x2 = F − W ⋅ sign(x 1 ); m1 g x2 + ( x2 − x1 ) = 0, l
(1)
where m1 is the mass given to the translational motion of the drive mechanism and the weight of the crane; m2 is the mass of cargo; x1, x2 are the coordinates of the centers of mass of the crane and of the cargo; g is the acceleration of the free fall; l is the length of the flexible suspension; F is the total traction or braking force which is acting on the crane; W is the power of resistance given to the movement of the crane. Point over a symbol means differentiation in time. We assume that when the crane is moving during braking it does not change its speed, that is sign( )=1. One may take the system of equations (1) in a canonical form. Let’s add one more equation for the function of control‘s changes: Articles
31
Journal of Automation, Mobile Robotics & Intelligent Systems
y 0 = y1 ; y 1 = y2 ; y 2 = y3 ; 2 y3 = u − Ω y2 ; u = ϕ ,
VOLUME 7,
where y0 is the function proportional to the coordinate the load ( y0 = x2 / Ω20 ); Ω is the own frequency of load’s vibration relatively movable crane ( Ω = (m1 + m2 )g / m1l ); Ω0 is the own frequency of load’s vibration relative to the fixed crane ( Ω0 = g / l ); u is the function of control of dynamic system “crane-load” ( u = (F − W )/ m1 ); φ is the function of rate of change of control. The restrictions imposed on the control u are in the form of inequalities: u ≤ umax =
Fmax − W , m1
(3) where Fmax is the maximum force over the crane, which corresponds to the maximum torque on the motor shaft. The movement of the crane with a load is characterized by initial conditions which are recorded for the new phase coordinates y0, y1, y2, y3 as follows: х2(0) х1(0) − Δх(0) х1(0) − l a(0) = ≈ ; W02 W02 W02 х (0) х (0) − Δх(0) х1(0) − l a (0) ; ≈ y1(0) = 2 2 = 1 W0 W02 W02 х (0) х (0) − Δ х(0) х (0) − l a(0) ; ≈ 1 y2(0) = 2 2 = 1 W0 W02 W02 х (0) х (0) − Δ х (0) х (0) − la(0) ≈ 1 y3(0) = 2 2 = 1 , 2 W02 W0 W0
32
(4)
here ∆х is the difference of coordinates of the crane and load (∆х= х1- х2); α – is the angle of the rope load with the vertical. The system (4) used an approximate estimation follows ∆х≈lα from the fact that sinα≈α, for the small values of α. This approach does not give significant errors. The initial conditions (4) allow one to determine parameters of motion of the crane and of the load which must be measured. This is necessary to determine these conditions and for their default at the crane’s system control. One must measure the coordinate of crane’s position and its higher derivatives in time up to the third as well, a length of rope and rope angle of the load from the vertical and its higher derivatives in time up to the third as follows from this system. These parameters are measured with a help of the three encoders. One encoder measures the length of rope. It’s installed on the cable drum. The second encoder measures the position of the crane relative to zero. The third encoder measures the angle of the rope load from the vertical. Its output shaft is attached to the rope with a help of special fittings. The following final conditions must be performed in order to eliminate load’s oscillations during the moment when crane is putting on the breaks: Articles
2013
(5)
The first condition in (5) is equivalent to the situation when the load’s speed is equal to zero, the second condition is equivalent to the situation when the difference of coordinates of the crane and cargo is equal to zero, the third condition in (5) is equivalent to the situation when the difference in speed of the crane and load is equal to zero. So, the amount of energy’s oscillations of the load and of the crane’s movement should be equal to zero just at the moment t=T. This situation means the crane’s stopping and the lack of load’s vibration. In order to create the synthesis of control one must set the criterion of optimality which will determine only the one optimal control of the entire set of alternatives. The criterion of optimality of motion of the crane during its braking may be adopt as such integrated functionality:
T n=3 I = ∫ ∑ δ i yi2 + δ 4u2 + δ 5ϕ 2 dt → min, 0 i =1
(6)
where δ1, δ2, δ3, δ4, δ5 are some coefficients. These coefficients can be calculated as follows: δ j = k j I j , j = 1, 2, 3, 4, 5,
y0(0) =
y1(T ) = 0; y2(T ) = 0; y (T ) = 0. 3
(2)
N° 3
(7)
where kj – the weight’s coefficient that takes into account the respective importance of the j-th index in the structure of the criterion; Ĩj – a factor that brings the dimension of the j-th index in the structure of the criterion (6) to dimensionless form. Criterion (6) is an integrated linear-quadratic integral criterion and it reflects both the phase coordinates of the dynamical system and the “costs” to its control as well. Thus, one staged the task of the optimal control of the dynamic system “truck-load”. The problem is that the dynamic system must be converted from the original position which is characterized by initial conditions (4) into the final one which is characterized by finite terms of (5). This optimality criterion (6) should be least. In addition, one imposes the restricts on control in the form of inequality (3) and the end of control T is unstable.
2.2. Synthesis of Optimal Control
We use the method of dynamic programming [12] for solving the problem of optimal control. This method of synthesis of optimal control lets one to know the control as a function of phase coordinates of dynamical systems. This control is in the form of feedback. The basic functional equation for this problem is written as follows: n=3 ∂S ∂S min ∑ δ i yi2 + δ 4u2 + δ 5ϕ 2 + y1 + × i =1 ∂y0 ∂y1 × y2 +
∂S ∂S ∂S (u − Ω2 y2 ) + ϕ = 0, y3 + ∂y2 ∂y3 ∂u
where S – Bellman’s function.
(8)
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 7,
The problem will be solved for the case when the control u is unrestricted (3). This circumstance gives one the possibility to find an analytical solution of the problem. However, we will consider the inequality (2) in future. One may search the minimum of the right side of the equation (8) for the function φ. Let’s differentiate it by the function φ and then equate the result to zero:
2δ 5ϕ +
∂S = 0. ∂u
1 ∂S . 2δ 5 ∂u
(10)
Let’s put the equation (10) into the equation (8). Then we have: ∂S ∂S δ 1 y12 + + y2δ 2 y2 + + y3δ 3 y3 + ∂y1 ∂y2
× 2 А1 −
×u А6 −
2
∂S 1 ∂S ∂S + + uδ 4 u − − y2Ω2 = 0. 4δ 5 ∂u ∂y3 ∂y3
)
∂S = A6 y1 + A8 y2 + 2 A3 y3 + A10u, ∂y3
(14)
(15)
∂S = A7 y1 + A9 y2 + A10 y3 + 2 A4u. ∂u
(16)
Let’s substitute expressions (13)–(16) in equation (11) and then remove of common factors of the brackets. We get:
δ5
δ5
А10 А9 − 2 А3 × 2δ 5
− А10 Ω2 + y3u (2 А3 +
= 0.
(18)
А72 = 0; 4δ 5
А8 + δ 3 −
А92 − А8 Ω2 = 0; 4δ 5 2 А10 = 0; 4δ 5
А42
А10 + δ 4 − 2 А1 − А5 −
А6 −
= 0;
А10 А7 = 0; 2δ 5 А4 А9
δ5
А7 + А8 −
δ5
А7 А9 − А6 Ω2 = 0; 2δ 5
А2 + А6 −
Take the partial derivatives of expression (12) for functions y1, y2, y3 and u, and:
∂S = A5 y1 + 2 A2 y2 + A8 y3 + A9u, ∂y2
А4 А9
А10 А4
А5 + δ 2 −
+ A6 y1 y3 + A7 y1u + A8 y2 y3 + A9 y2u + A10 y3u, (12)
(13)
+ y2 y3 А2 + А6 −
δ5
δ1 −
(11)
А4 А9
Equation (18) is true in the case when the expression in parentheses will be zero because the functions y1, y2, y3, u can’t be zero at the same time. Therefore, equation (18) can be replaced by a system of nonlinear algebraic equations:
where А1, А2, А3, А4, А5, А6, А7, А8, А9, А10 – constant coefficients to be determined.
А7 А9 А А − А6 Ω2 + y1 y3 А5 − 10 7 + y1 × 2δ 5 2δ 5
+ А9 − 2 А3 + А9 −
S = A1 y12 + A2 y22 + A3 y32 + A4u2 + A5 y1 y2 +
∂S = 2 A1 y1 + A5 y2 + A6 y3 + A7u, ∂y1
2 А10 А2 + u2 А10 + δ 4 − 4 + y1 y2 × δ5 4δ 5
×Ω2 + y2u ( А7 + А8 −
Equation (11) is a nonlinear differential equation in partial derivatives. We seek its solution in the form of a quadratic form as one does this usually when solving similar problems [13]:
2013
А2 А72 + y22 А5 + δ 2 − 9 − А8 Ω2 + y32 × 4δ 5 4δ 5
× А8 + δ 3 − −
(9)
We find from equation (10) function: ϕ=−
y12 δ 1 −
N° 3
= 0;
А10 А9 − 2 А3Ω2 = 0; 2δ 5 А4 А9
2 А3 + А9 −
δ5
− А10 Ω2 = 0;
А10 А4
δ5
= 0.
(19)
The system of equations (19) may be solved in analytical. But it is too difficult. So let’s simplify it. The expression (10) may be as follows taking into account formula (16):
ϕ=−
2 А4u + А7 y1 + А9 y2 + А10 y3 . 2δ 5
(20)
Thus, in order to find the unknown function φ which is the first derivative of the function control of dynamic system one must find only four coefficients А4, А7, А9, А10. It’s necessary to form four equations in order to know these coefficients. The first and fourth equation of (19) contains only the coefficients А4, А7, А9, А10 so we will use them. One can get from equaArticles
33
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 7,
tions (19) the third and fourth equation in which coefficients А4, А7, А9, А10 are unknown. We obtain third equation when rewrite the second equation of (19) taking into account the third and sixth equations of the system. We get the fourth equation when rewrite the ninth equation of system (19) taking into account the third equation of the last system. As a result, we have: δ1 −
А72 = 0; 4δ 5
А10 + δ 4 −
А42
А10 А7 А2 А2 + δ 2 − 9 − 10 − δ 3 Ω2 = 0; 2δ 5 4δ 5 4δ 5
А7 +
2 А10 АА − δ 3 − 4 9 − A10 Ω2 = 0. δ5 4δ 5
(21)
The first equation of (21) is independent of others and we can immediately write: А7 = 2 δ 1δ 5 .
(22)
Negative root is rejected because it can lead to unstable dynamical system. We can express the unknown coefficients А10 and А9 by the coefficient А4: А2 (23) А10 = 4 − δ 4 , δ5 А9 = ± 4
−
А42
δ5
− δ4
А42
δ5 2
− δ4
δ 1δ 5 −
Ω2 + 4δ 5 (δ 2 + δ 3Ω2 ) .
(24)
The system of equations (21) leads to one algebraic equation of eighth degree relative when one takes into account expressions (22)–(24):
А48 + B1 А46 + B2 А44 + B3 А42 + B4 = 0.
(25)
А 44 + B1 А 43 + B2 А 42 + B3 А 4 + B4 = 0.
(26)
The last one is reduced to the equation of fourth ~ degree when we will use replacement À42 = À4:
34
Equation (26) may be solved by Descartes-Euler’s method. We will not bring solutions of these equations because they have significant volume. We note only that equation (26) has two real and two complex solutions. One can find eight roots of the equation (25) turning to the reverse substitution À4 = ± À 4. Thereafter, we choose only one – the real and positive root. Furthermore, we choose sign “+” before the root in expression (24) for the unambiguous determination of the coefficient А9. Thus, all complex and negative values of coefficients А4, А9 that satisfy the system of equations (21) are rejected because they can lead to the instability of dynamical system “crane-load”. Articles
2013
The expression (20) may be used to find a function φ that is the first derivative of the control’s function u over time. We need to get just the same control’s function in a such manner u= u(y0, y1, y2, y3). One must to integrate the expression (20) for this purpose:
= 0;
δ5
N° 3
(27) where C – is the constant of integration. In order to find the constant of integration it is necessary to solve the following equation u(0)=u0 which in expanded form will take such a form:
−
А4
δ5
y3 (0) −
А10 А А y2 (0) − 9 y1 (0) − 7 y0 (0) + C = u0 . 2δ 5 2δ 5 2δ 5
(28)
One may find the solution of equation (28) and then substitute it in the expression (27). We will have finally such control’s function u: u = u0 +
А4
δ5
А
( y3 (0) − y3 ) + 2δ10 ( y2 (0) − y2 ) + 5
А А + 9 ( y1 (0) − y1 ) + 7 ( y0 (0) − y0 ) . 2δ 5 2δ 5
(29)
So we got control’s function which depends on the initial control and on phase coordinates as well. We can set arbitrarily the initial control’s function. In the particular case u0=0. This means no dynamic efforts over the crane’s drive at the beginning of its inhibition, in practice. The risk of significant current in electric and dynamic loads of the mechanical part of the crane’s drive and its metal faucet is eliminated as well. Let’s build a graph (Fig. 2) for the resulting control’s law. There is also the three-dimensional phase portrait of dynamical system (Fig. 3). The gray point in Fig. 3 marks origin of the coordinate system.
Fig. 2. Graph of the function of optimal control of dynamic system ”crane-load”
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 7,
N° 3
2013
Fig. 3. Three-dimensional phase portrait of motion of dynamic system ”crane-load” The dynamic system has zero energy of motion in the origin of coordinate system, i.e., crane stopped and load’s oscillations on the rope are absent. Thus the problem of optimal control can be considered as a solved problem. However, we do not take into account the constraints (3) when solved this problem. These constraints are usually imposed on control. Physically, this means that electric drive will occasionally transshipped and will not be able to realize the optimal control. It is therefore necessary to take into account these constraints (3).
Fig. 4. Graph of the function of the quasi dynamic control of the system “crane-load” while respecting the constraints (3) umin= -0,4 m/s2 and umax= 0,4 m/s2
2.3. Analysis of the Results (Synthesis of Quasioptimal Control)
An easy way to take into account constraints (such as (4)) is to miss the optimal control signal through a nonlinear element such as “saturation”. Such control will be called as quasi control because it consists of the pieces of optimal control and of the pieces of maximum and minimum values of control. Analytically this is expressed in the following form:
u, if umin ≤ u ≤ umax ; u* = umin , if u < umin ; u , if u > u , max max
Fig. 5. Three-dimensional phase portrait of the motion of the dynamic system “crane-load” while control is (30) (umin= -0,4 m/s2 ,umax= 0,4 m/s2)
(30)
where u* – quasi-optimal control that satisfies constraints (3); umin, umax – respectively the minimum and maximum control. Here are the graphs similar to the above in Fig. 4 and Fig. 5 for the case umin= –0,4 m/s2 and umax= 0,4 m/s2. Onfie may see from the resulted graphs that the control does not go to the upper limit. Let us narrow the limits of permissible values of controls: umin= –0,2 m/s2 and umax= 0,2 m/s2. Physically, this means that the drive motor power is reduced by the half. So it is possible to project the crane’s motor of less power. However, the duration of the transition process is increasing as seen from Fig. 6 and Fig. 7. Thus, one can reduce the crane’s drive power when the duration of the transition process is increased.
Fig. 6. Graph of the function of the quasi dynamic control system “crane-load” while control is respected the constraints (3) (umin=-0,2 m/s2 and umax=0,2 m/s2) Articles
35
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 7,
N° 3
2013
References
Fig. 7. Three-dimensional phase portrait of the motion of the dynamic system “crane-load” while control is (30) (umin= -0,2 m/s2 , umax= 0,2 m/s2) Fig. 7 shows that the lack of narrowing of the range of allowable values of control is the changing of the sign of the crane’s speed. One can also specify another disadvantage of the optimal control as the quasi-optimal function. The control is too small value when the phase coordinates of the dynamical systems “crane-load” are small as well. It means that at the end of transition period control is “weak.” The possible way to solve this problem is to change the variety coefficients kj, which are included in the structure of the optimization criterion of the transition process.
3. Conclusion
One may use the method of dynamic programming which allows to synthesize the optimal control in the form of feedback without restrictions on the amount of control. The use of nonlinear elements such as “saturation” provides a quasi-optimal control that satisfies the limits imposed on the control just at the every time’s moment. This quasi-optimal control in the form of feedback consists of pieces of optimal control and of the boundary limits of the acceptable area. The variation of the coefficients in the structure’s optimization criterion is the possible way to solve the problem of the synthesis of the optimal control which would always be in the acceptable limits even when these limits are the functions of the time and of the phase coordinates of the dynamical system “crane-load”.
Authors Vjacheslav Lovejkin, Yuriy Romasevich*, Yuriy Chovnuk – Chair of Machine Construction, National University of Life and Environmental Sciences of Ukraine, Heroyiv Oborony st., 15, Kyiv, 03041, Ukraine. E-mail: d.um@mail.ru. 36
* Corresponding author Articles
[1] Sakawa Y., Shindo Y. “Optimal control of container cranes”, Automatica, vol. 18, no. 3, 1982, pp. 257–266. [2] Hanafy M. Omar, Control of Gantry and Tower Cranes. – Ph.D. Dissertation, Blacksburg, Virginia, Virginia Polytechnic Institute, 2003. [3] Mahdieh A., Zarabadipour H., Mahdi A. S., “Antiswing control of a double-pendulum-type overhead crane using parallel distributed fuzzy LQR controller“, International Journal of the Physical Sciences, vol. 6(35), 2011, pp. 7850– 7856. [4] Chengyuan C., Shihwei H., Kuohung C., “A practical fuzzy controllers scheme of overhead crane“, Journal of Control Theory and Applications, vol 3, 2005, pp. 266–270. [5] Mohammad R., Akbarzadeh T., Amir H. “Fuzzy Modeling of Human Control Strategy for Head Crane”. In: IEEE International Fuzzy Systems Conference, 2001, pp. 1076–1079. [6] Kogure H., Tojo M. “Recent developments in crain control”, Hitachi Rev., vol 6, 1978, pp. 315– 320. [7] SmartCrane™ Anti-Sway Crane Control Products, Product Descriptions, 2010 SmartCrane, LLC. [8] Siemens SIMOCRANE Crane Management System, System Manual, Valid for version 4.1, 2009. [9] Solihin M. I., Wahyudi “Sensorless Anti-swing Control for Automatic Gantry Crane System: Model-based Approach“, International Journal of Applied Engineering Research, vol. 2, no.1, 2007, pp. 147–161. [10] Ahmad M.A., Raja Ismail R.M.T., Ramli M.S., Abdul Ghani N.M. , Zawawi M.A., “Optimal Tracking with Sway Suppression Control for a Gantry Crane System“, European Journal of Scientific Research, vol. 3, no. 4, 2009, pp. 630–641. [11] Keum-Shik H., Quang Hieu N., “Port Automation: Modeling and Control of Container Cranes“. In: International Conference on Instrumentation, Control & Automation, Bandung, Indonesia, October, 2009, pp. 1076–1079. [12] Bellman R., Dreyfus E., Applied Dynamic Programming, Princeton University Press, Princeton, USA, 1962. [13] Kwakernaak H., Sivan R., Linear Optimal Control Systems, John Wiley & Sons Inc., New York, 1972.
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 7,
N° 3
2013
Algorithms for Packing Soft Blocks of Vlsi Systems Algorithms Algorithms for for Packing Packing Soft Soft Blocks Blocks Of Of Vlsi Vlsi Systems Systems Marcin Marcin Iwaniec, Iwaniec, Adam Adam Janiak Janiak
Submitted: 1st August 2012; accepted: 30th January 2013 Submitted 1stst August 2012; accepted 30th th January
Submitted 1 August 2012; accepted 30 January 2013 2013 Marcin Iwaniec, Adam Janiak
Abstract: Abstract: This paper contains a review of literature concerning This paper contains a review of literature concerning the packing of hard-blocks (of fixed dimensions) and the packing of hard-blocks (of fixed dimensions) and soft-blocks (of fixed area – changeable within specified soft-blocks (of fixed area – changeable within specified constraints). These considerations are applicable to the constraints). These considerations are applicable to the designing of large scale integration chips. In order to designing of large scale integration chips. In order to solve the problem of packing soft-blocks, three solve the problem of packing soft-blocks, three algorithms are introduced and compared: simulated algorithms are introduced and compared: simulated annealing, heuristic constructional algorithm based on annealing, heuristic constructional algorithm based on five operations to improve packing quality and the five operations to improve packing quality and the algorithm which combines two previous algorithms. algorithm which combines two previous algorithms. Experiments were conducted to compare these Experiments were conducted to compare these algorithms to the best from the literature. algorithms to the best from the literature. Keywords: soft-blocks, hard-blocks, VLSI, packing Keywords: soft-blocks, hard-blocks, VLSI, packing problem. problem.
1. 1. Introduction Introduction
The continuous development of technology The continuous development of technology facilitates the lives of the users of modern devices, on facilitates the lives of the users of modern devices, on the one hand, but also generates new problems to be the one hand, but also generates new problems to be faced by designers and engineers. One of such faced by designers and engineers. One of such problems that challenge designers can be a physical problems that challenge designers can be a physical synthesis of very large scale integration (VLSI) synthesis of very large scale integration (VLSI) layouts. When one deals with billions of elements to layouts. When one deals with billions of elements to be packed on a chip board (e.g. the most recent be packed on a chip board (e.g. the most recent graphic card AMD Radeon HD 7970 has GPU with graphic card AMD Radeon HD 7970 has GPU with 4.31 billion transistors), the synthesis, which is the 4.31 billion transistors), the synthesis, which is the implementation of the physical packing of chip implementation of the physical packing of chip elements and interconnections according to a logical elements and interconnections according to a logical scheme, becomes a critical point at the stage of design scheme, becomes a critical point at the stage of design because it directly influences the chip price. For because it directly influences the chip price. For example, a 1% increase in the size of an Intel Pentium example, a 1% increase in the size of an Intel Pentium 4 chipset would result in the annual increase of 4 chipset would result in the annual increase of production costs amounting to $63.5 million (1.5%), production costs amounting to $63.5 million (1.5%), whereas a size increase by 15% would induce the whereas a size increase by 15% would induce the additional annual cost of $961 million (22%), see [7]. additional annual cost of $961 million (22%), see [7]. This implies the need to create algorithms which This implies the need to create algorithms which minimize the area needed to pack elements (or minimize the area needed to pack elements (or blocks, in general) on the chip surface at preset blocks, in general) on the chip surface at preset constraints in order to obtain the correct packing of constraints in order to obtain the correct packing of elements and interconnections. elements and interconnections. Two types of blocks have been distinguished: Two types of blocks have been distinguished: rectangle of fixed dimensions referred to as hardrectangle of fixed dimensions referred to as hardblock and rectangle of fixed area referred to as softblock and rectangle of fixed area referred to as softblock (additional constraints may also exist). Recent block (additional constraints may also exist). Recent methods concerning block packing are largely based methods concerning block packing are largely based on so-called sequence-pair, introduced by [14], and on so-called sequence-pair, introduced by [14], and a constraint graph. However, existing approaches for a constraint graph. However, existing approaches for hard-blocks based on sequence-pair and constraint hard-blocks based on sequence-pair and constraint graph cannot perform for soft-blocks, especially if no graph cannot perform for soft-blocks, especially if no
starting dimensions are specified at the beginning. starting dimensions are specified at the beginning. Nevertheless, it is necessary to consider algorithms Nevertheless, it is necessary to consider algorithms solving the problem of minimizing the area of solving the problem of minimizing the area of floorplans for soft-blocks, because they are frequently floorplans for soft-blocks, because they are frequently used at the early stages of chip designing, when not used at the early stages of chip designing, when not all the details have been provided. all the details have been provided. Many algorithms for the soft-blocks packing problem Many algorithms for the soft-blocks packing problem may be found in the literature. Most of them were may be found in the literature. Most of them were initially created to deal with the hard-blocks packing initially created to deal with the hard-blocks packing problem, and were adapted to soft-blocks as problem, and were adapted to soft-blocks as a consequence. Kirkpatrick in [11] described a consequence. Kirkpatrick in [11] described a simulated annealing (SA) algorithm which, since a simulated annealing (SA) algorithm which, since the first time it was used [15], has become one of the the first time it was used [15], has become one of the most frequently applied algorithms for packing hardmost frequently applied algorithms for packing hardblocks ([19], [3], [21], [4], [9], [5]). Also other blocks ([19], [3], [21], [4], [9], [5]). Also other metaheuristics algorithms exist, e.g. genetic algorithm metaheuristics algorithms exist, e.g. genetic algorithm [16], evolutionary algorithm ([18], [12]) or an [16], evolutionary algorithm ([18], [12]) or an algorithm, which is based on the primary principles of algorithm, which is based on the primary principles of ant colony optimization [6]. There are also some ant colony optimization [6]. There are also some implementations of SA for soft-blocks. The simplest one implementations of SA for soft-blocks. The simplest one randomly modifies block dimensions within possible randomly modifies block dimensions within possible range during the neighbourhood modification [13]. range during the neighbourhood modification [13]. Kang and Dai in [10] presented another heuristic Kang and Dai in [10] presented another heuristic method of how to calculate optimum width to height method of how to calculate optimum width to height ratio regardless of packing generated by simulated ratio regardless of packing generated by simulated annealing algorithm. A more sophisticated method of annealing algorithm. A more sophisticated method of blocks adjustment during neighbourhood modifications blocks adjustment during neighbourhood modifications was designed in [8]. Block dimensions adjustment based was designed in [8]. Block dimensions adjustment based on Lagrange relaxation algorithms was introduced in on Lagrange relaxation algorithms was introduced in [23]. The branch and bound algorithm in [1] gives the [23]. The branch and bound algorithm in [1] gives the best results – in some cases the solution derived from best results – in some cases the solution derived from this algorithm is optimal, but the time needed for finding this algorithm is optimal, but the time needed for finding a solution is unacceptable. a solution is unacceptable. In this paper we propose a quick heuristic In this paper we propose a quick heuristic (constructional) algorithm for floorplan minimization (constructional) algorithm for floorplan minimization for soft-blocks. This algorithm requires an initial packing, for soft-blocks. This algorithm requires an initial packing, which is then modified to eliminate empty spaces which is then modified to eliminate empty spaces between blocks. The idea is based on the definition of between blocks. The idea is based on the definition of soft-blocks – ability to change height and width within soft-blocks – ability to change height and width within specified constraints. In this algorithm, were introduced specified constraints. In this algorithm, were introduced some operations to improve the quality of the solution. some operations to improve the quality of the solution. The method was implemented in such a way, so that it The method was implemented in such a way, so that it could start from initial packing provided by any could start from initial packing provided by any algorithm. In this paper, to generate the initial packing, algorithm. In this paper, to generate the initial packing, simple implementation of simulated annealing simple implementation of simulated annealing algorithms based on the sequence-pair packing algorithms based on the sequence-pair packing representation was used. representation was used. This paper is organized as follows. The problem is This paper is organized as follows. The problem is formulated in section 2. Then, section 3 provides formulated in section 2. Then, section 3 provides a description of sequence-pair and constraint graph used a description of sequence-pair and constraint graph used to represent packing. Simulated annealing algorithm to represent packing. Simulated annealing algorithm was described in section 4 and the essential was described in section 4 and the essential Articles
37
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 7,
constructional algorithm in section 5. Section 6 demonstrates the results of experiments and it is followed by a summary and conclusion in section 7.
2. Problem Formulation
A set B = {B1, B2, …, Bi, …, Bn} of soft-blocks is given to be packed into rectangular area. Each block Bi is described by its area Ai as follows: �� ∶= ℎ� � �� ,
(1)
where hi – block height, wi – block width, further� more, the ratio �� = � is in the range: ��
�� ��� � �� � �� ��� ,
� = 1, 2, � , �,
(2)
where kmin and kmax are explicitly given parameters.
The packing which satisfies requirements (1) and (2), and no two blocks overlap, would be called a feasible one. The problem is to find a feasible packing where dead-space (DS) is as close to 0% as possible. The minimized criterion DS is given as follows [17]: �� =
��∑� ��� �� ∑� ��� ��
× 100 [%] , where
(3)
− U is a total area of a floorplan for packing and − ∑���� �� is a sum of areas of packed blocks (Ai is an area of block i).
To solve this problem, the simulated annealing algorithm is used (section 4) modified for a considered problem and a constructional algorithm using the following operations: sliding, scaling, scaling with displacement, eliminating dead spaces and rotating layout (section 5). The third algorithm proposed in this paper combines both previous algorithms.
3. Floorplan Representation – Sequence-pair and Constraint Graphs
Both sequence-pair and constraint graphs are used to describe topological relation of blocks within a packing. A sequence-pair is an ordered pair of n-element block index sequences, both sequences contain exactly the same elements (indices of all blocks from the set B) arranged in specific order. The position of two particular elements in both sequences determines the topological relation of them. For given blocks indices i,j ∈ {1, 2, 3, …, n} and i ≠ j, relation of blocks i and j will be horizontal, if in both sequences i comes first before j (4). Otherwise, the relation is vertical (5). �
(< .., i, .., j, .. >,< .., i, .., j, .. >) � i �j � (< .., j, .., i, .. >,< .., i, .., j, .. >) � i �j
38
(4) (5)
The topological relations of blocks can also be calculated by using constraint graphs, provided that one knows the height and width of every block. The horizontal (vertical) graph marked as Gh (Gv) has n Articles
N° 3
2013
vertices and n edges of specified weight. Vertices represent blocks, whereas edges represent topological relations. The edge between the vertex i and vertex j of weight equal to wi (width of block i) is added to the horizontal graph when the condition (4) is fulfilled. If the condition (5) is fulfilled, the edge between vertex i and j of weight equal to hi (height of block i) is added to the vertical graph. Thus one adds an edge to Gh and Gv for every pair of blocks in both sequences. Created constraint graphs are used to calculate a width (from the graph Gh) and a height (from the graph Gv) of the whole floorplan represented by these graphs. For this calculation one can use, for instance, the algorithm finding longest path in the graph [20]. In the Cartesian coordinate system the horizontal relation of i and j means that on the plane, block j is situated to the right of the block i, so xj ≥ xi + wi, where xi is a horizontal coordinate of the lower left vertex of the block i and wi is a width of the block i. In the same way, for the vertical relation, block j is situated over the block i, so yj ≥ yi + hi, where yi is a vertical coordinate of the lower left vertex of the block i and hi is a height of the block i. As a consequence, horizontal relation determines packing of blocks from left to right, and the vertical one from the bottom to the top.
4. Simulated Annealing Algorithm
The method described in [11] (or rather methodology, to be more specific) called simulated annealing, perfectly simulates the process, which is wellknown in metallurgy as annealing (heating up an element and then cooling it down very slowly). Parameters required to apply this method are initial temperature (Tp), terminating temperature (ϵ), temperature change (α), neighbourhood function (to generate a new state) and goal function (calculation of state energy). A great advantage of simulated annealing is that in the course of calculations, a worse solution can be accepted that can lead to a better one finally This method is partially based on a modified version of the Monte Carlo method called random walk method. This method assumes an acceptance of the obtained result that is worse than the best one, which had been found so far. The probability of acceptance of a worse solution is ∆������ expressed by formula exp ( � ), where ∆energy is a difference between the previous and current state energy, and t is a current temperature. Temperature dependence induces a higher probability that worse results shall be accepted at the first stage of method, when the temperature is higher. The lower the temperature is, the more often better results are accepted. As a consequence, during the final stage when the temperature is the lowest, the current solution can be improved as much as possible without replacement. In this paper an algorithm was constructed, which is based on this method. During the annealing process, a sequence-pair is modified very simply, by the random exchange of two elements and the next obtained solution is evaluated by calculating the packing area (this is the cost function). Initial sequence-pair is generated randomly and used both in SA and the proposed algorithm described in the next section.
Journal of Automation, Mobile Robotics & Intelligent Systems
5. Constructional Algorithm In this section, a new heuristic constructional algorithm is presented, which uses the operations described below to improve a solution. The algorithm starts from the same initial solution as simulated annealing and executes the following steps to improve this solution: Step 1. Save the initial solution IS as a current solution CS (CS = IS) and as the best solution BS (BS = IS). Set rotation to 0o (R = 0o). Step 2. Modify CS by executing operations in the following order: blocks sliding, blocks scaling, scaling with displacement, elimination of dead empty spaces; until the area is reduced as much as possible. Step 3. If CS is better than BS (the dead space (DS) of CS is smaller than in BS), save CS as BS (BS = CS). Step 4. If rotation is 270o (R = 270o), go to Step 5. If rotation is different than 270o, add 90o to current rotation value (R = R + 90o), save IS as CS (CS = IS) and rotate CS clockwise by R value, then go to Step 2. Step 5. End of the algorithm, BS is the final solution given by constructional algorithm.
VOLUME 7,
N° 3
2013
(blocks 2 and 6) was increased and the width was decreased (the overall area did not change). As a result, the empty space over blocks was filled by reducing the width of 2 and 6 and this enabled shifting other blocks from right side to the left.
a) initial packing
b) packing after scaling
Fig. 2. Example of blocks scaling
5.1 Blocks Sliding
To simplify the description, only the first quarter of the Cartesian coordinate system is used, where both coordinates (x, y) are positive, so the lower left corner of the floorplan is in the point (0, 0). Blocks sliding is the operation of moving blocks as close to the origin of the coordinate system as possible – down and left (two separate operations), only if there is enough space to move them – blocks cannot overlap after being moved. Sliding takes place recursively, beginning with the blocks, which are closest to the point of origin (from the left or from the bottom) – Figure 1.
a) initial packing
b) horizontal scaling
c) blocks displacement and scaling
d) final packing
Fig. 3. Example of scaling with displacement
5.2 Scaling with Displacement
a) initial packing
b) after sliding
Fig. 1. Example of blocks sliding to the left
5.2 Blocks Scaling Blocks sliding operation eliminates empty spaces, which are on the left or below each of the blocks. Softblocks allow constrained modification of height and width. Using this property for each block with an empty space on the right, the algorithm changes the width or height (within the preset constraints – see (2)) to fill in the empty space if it is possible. This operation is called blocks scaling. Figure 2 shows an example of blocks scaling. The height of the first two blocks in the lower left corner
The two operations described above (sliding and scaling) can be used independently, but in some cases, using sliding and scaling independently does not give the desired results, e.g. the packing in Figure 3a is specific – the empty space is only around block 5. Therefore, sliding causes no changes and scaling would only turn the square block 5 into a rectangle – Figure 3b. In this case the desired result was not achieved – the area of the floorplan was not reduced. Scaling with displacement is an ‘intelligent’ scaling performed as follows: the block with an empty space above is moved in up and scaled in order to increase height at the expense of width. The same action is performed also for each block which is below the moved one (Figure 3c). Then the algorithm starts to slide blocks – all of them are moved down as far as possible. The whole cycle is repeated until there are no empty spaces above the blocks (Figure 3d) or the height or width constraint is reached. The above description refers to the operation of scaling with displacement for vertical orientation. Articles
39
Journal of Automation, Mobile Robotics & Intelligent Systems
The algorithm also works the same for horizontal The algorithm also works the same for horizontal orientation. orientation.
b) packing after the elimination of deadlocked empty spacesof b)the packing after the elimination the deadlocked empty spaces spaces Fig. 4. Example of eliminating deadlocked empty
VOLUME 7,
N° 3
2013
has not disappeared. For the same initial packing an has not disappeared. the same packing an optimal solution was For obtained afterinitial rotation by 180° optimal solution was obtained after rotation by 180° and using scaling and displacement operations and using (Figure 3d). scaling and displacement operations (Figure 3d).
a) initial packing a) initial packing
Fig. 4. Example eliminating empty spaces between blocks of 9, 8, 0, 1 and 7,deadlocked 1, 2, 4 between blocks 9, 8, 0, 1 and 7, 1, 2, 4
a) initial packing a) initial packing
o
a) initial packing b) packing without rotation a) initial packing b) packingrotation without rotation Fig. 5. Example of optimization without
Fig. 5. Example of optimization without rotation
5.4 Elimination of Deadlocked Empty Spaces 5.4 In Elimination Deadlocked Empty empty Spacesspaces some casesofthere are deadlocked
In some cases there are deadlocked empty spaces between four adjacent blocks, e.g. empty space between four adjacent blocks, e.g. empty space between blocks 9, 8, 1 and 0 or 7, 1, 2 and 4 in Figure between 9, 8, 1 cannot and 0 or be 7, 1,solved 2 and 4using in Figure 4. Such blocks a situation the 4. Such a situation cannot be solved using the previous operations, because none of the blocks can previous operations, because none ofwould the blocks be displaced or scaled. Any action causecan an be displaced or scaled. Any action would cause an overlap, which is not acceptable. overlap, which is not acceptable. Optimization starts from spreading the blocks Optimization starts from spreading the blocks apart. For the example in Figure 4, the following apart. For the example in Figure 4, the following operations will be performed: block 9 is expanded to operations will be performed: block 9 is expanded to the width of block 8 to fill in the empty space. At the the width of block 8 to fill in the empty space. At the same time, all blocks on the right of block 9 are same time, all blocks on the right of block 9 are shifted to the right by the resulting difference, so that shifted to the right by the resulting difference, so that they do not overlap (block 9 is a little different in its they do not overlap (block 9 is a little different in its width from block 8 which is a consequence of other width from block 8 which is a consequence of other operations performed later). Analogically, in the operations performed later). Analogically, in the second case, block 1 is expanded to the width of block second case, block 1 is expanded to the width of block 7 and block 2 is moved to the right so that it does not 7 and block 2 is moved to the right so that it does not overlap with the expanded block 1. overlap with the expanded block 1.
5.5 5.5 Layout Layout Rotation Rotation
40
The four previous operations do not solve the The four previous operations do not solve the problem, when the empty space is located in the problem, when the empty space is located in the middle of the layout or close to the origin of middle of the layout or close to the origin of coordinate described coordinate system system (see (see an an example example of of the the described packing – Figure 5). In this case, the empty space is is packing – Figure 5). In this case, the empty space moved as close to the upper right corner of floorplan moved as close to the upper right corner of floorplan as is as possible possible by by rotating rotating the the whole whole layout. layout. Rotation Rotation is made in clockwise direction, around the origin of made in clockwise direction, around the origin of coordinate coordinate system system by by 90° 90° or or aa multiple multiple of of it. it. Figure 5 shows that the process packing Figure 5 shows that the process of of packing optimization failed (four previous operations without optimization failed (four previous operations without rotation but rotation were were used). used). The The empty empty space space decreased, decreased, but Articles
b) rotation by 90oo b) rotation by 90
o
c) rotation by 180 d) rotation by 270 o o o rotation by of 180packing rotation d) by 270 Fig. 6.c)Example byrotation 90o, 180 or 270o
Fig. 6. Example of packing rotation by 90o, 180o or 270o
In the case, when the empty space is on the right or Intop the of case, the empty spacecan is on right or at the thewhen floorplan, the results bethe worse after at the top of the floorplan, the results can be worse after rotating the layout. Therefore, the constructional rotating layout. Therefore, theinitial constructional algorithmthe is executed starting from and three algorithm is executed starting from initial andsmallest three rotated packings and chooses solution with the rotated packings and chooses solution with the smallest value of DS as the final solution. value of DS as the final solution.
6. Experimental Analysis 6. Experimental Analysis Experiments were based on MCNC benchmarks
Experiments were based on MCNC benchmarks available in the literature [22]. Four benchmarks were available in the literature [22]. Four benchmarks were chosen (the value in the brackets is a number of blocks): chosen (the value in the brackets is a number of blocks): apte (9), xerox (10), hp (11), ami33 (33). For all of these, apte (9), xerox (10), hp (11), ami33 (33). For all of these, constraints were determined kmin = 0.5 and kmax = 2.0. For constraints were determined kmin = 0.5 and kmax = 2.0. For the experiments a computer was used with the the experiments a computer was used with the following parameters: Windows 7, Intel(R) Core(TM) i7 following parameters: Windows 7, Intel(R) Core(TM) i7 CPU Q 840 @ 1.87GHz and 8 GB RAM. CPU Q 840 @ 1.87GHz and 8 GB RAM. Both simulated annealing algorithm (SA) (see Both simulated annealing algorithm (SA) (see section 4) and constructional algorithm (CA) (see section 4) and constructional algorithm (CA) (see section 5) require initial sequence-pair. This pair was section 5) require initial sequence-pair. This pair was generated randomly and was the same for both generated randomly and was the same for both algorithms. The experiments were performed also for algorithms. The experiments were performed also for the algorithm, which combines the SA and CA (marked the algorithm, which combines the SA and CA (marked as SA+CA). In this algorithm, solutions obtained from as SA+CA). In this algorithm, solutions obtained from the SA algorithm became the initial solutions for the CA the SA algorithm became the initial solutions for the CA algorithm. algorithm. 10 different different initial initial packings packings were were randomly randomly 10 generated. For every one of these, we executed each generated. For every one of these, we executed each algorithm separately: SA, CA and SA+CA. algorithm separately: SA, CA and SA+CA. A constructional constructional algorithm algorithm was was run run once once for for aa single single A initial packing, because of its determinist operating. The initial packing, because of its determinist operating. The SA algorithm was executed 50 times for every initial SA algorithm was executed 50 times for every initial packing. The The best best from from 50 50 results results was was chosen, chosen, which which packing. was considered as a final solution. For each trial the was considered as a final solution. For each trial the following parameters of simulated annealing were used following parameters of simulated annealing were used
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 7,
BIS min min avg. avg. max
xeroxxerox
max BIS BIS min min avg. avg. max max BIS
hp
hp
BIS min min avg.
ami33ami33
avg. max
k = 1.0
k = 0.5 SA SA +CA CA SA [%] [%] [%] SA +CA CA [%] [%] [%] 49.83 6.93 7.80
k = 1.0 SA SA +CA CA SA [%] [%] [%] SA +CA CA [%] [%] [%] 12.22 11.93 1.32
49.83 24.96
6.93 6.93
7.80 7.80
24.96 6.93 7.80 4.93 44.02 19.97 20.90 13.07
min avg.
1.94 1.32 9.82 5.46
44.02 19.97 20.90 13.07 9.82 5.46 55.45 26.98 44.38 20.07 15.18 8.18
55.45 26.98 44.38 44.73 27.87 11.40
20.07 15.18 8.18 37.75 5.21 1.45
44.73 27.87 11.40 37.75 25.63 16.67 11.40 25.36
25.63 16.67 11.40 35.75 22.82 24.25
35.75 22.82 24.25 45.84 31.33 49.99 45.84 31.33 49.99 47.42 13.82 5.39
5.21 1.45 5.21 1.45
25.36 5.21 1.45 43.73 16.63 15.45
43.73 16.63 15.45 58.65 32.55 28.12
58.65 32.55 28.12 27.68 7.41 6.49
47.42 13.53 13.82 5.39 5.39 27.68 27.68 28.55
7.41 6.49 6.49 7.41
28.55 23.45 13.53 16.35 5.39 43.23 27.68 18.90 7.41 12.16 6.49 43.58
43.58 45.50 23.45 34.14 16.35 59.66
max 131.71 59.66 30.54 45.50 11.55 34.14 BIS BIS min
12.22 11.93 1.32 4.93 1.94 1.32
131.71 23.09 30.54 11.55 11.55 111.93 111.93 31.25 23.09 23.42 11.55 145.69
43.23 30.71 18.90 17.02 12.16 69.87
k = 2.0
SA [%] SA [%] 16.15
k = 2.0 SA +CA CA SA [%] [%] +CA CA [%] [%] 15.72 5.29
16.15 15.72 16.15 11.34
5.29 5.29
16.15 11.34 5.29 39.95 21.67 30.56 39.95 21.67 30.56 59.88 34.38 49.83
59.88 34.38 41.37 28.29 41.37 28.29 25.65 11.36
49.83 7.29
7.29 7.29
25.65 11.36 7.29 46.10 16.95 28.06
46.10 16.95 28.06 66.77 32.56 53.35
66.77 41.64
41.64 20.97
32.56 53.35 8.78 7.77 8.78 8.78
7.77 7.77
20.97 30.41 8.78 25.75 7.77 45.04
45.04 56.87 30.41 46.34 25.75 56.87
69.87 40.10 30.71 10.33 17.02 136.89 56.87 92.23
56.87 19.88 46.34 38.31
136.89 26.20 38.31 19.88 92.23 16.28 40.10 10.33 10.33 101.13 19.88 80.26 80.26 23.62 16.28 19.18 10.33 136.68 101.13 32.75 26.20 33.45 19.88 94.33
avg. 188.34 145.69 45.68 31.25 41.54 23.42 116.99 94.33 40.10 23.62 32.77 19.18 189.47 136.68 38.31 32.75 55.48 33.45 max max 188.34 45.68 41.54 116.99 40.10 32.77
189.47
38.31 55.48
hp Benchmark xeroxxerox apte apte Benchmark
apte apte
BIS
k = 0.5
2013
The problem is to find such a soft-blocks packing problemthe is to find ofsuch soft-blocks packing that The minimizes value thea DS criterion (3). thatperfect minimizes the value the DS DS= 0%. criterion (3). The result would be theofvalue A similar The perfect result wouldfor beany thebenchmark. value DS = 0%. similar result was not obtained TheAreason result not for anyare benchmark. The reason for thiswas could beobtained that the results highly dependent on forresults this could be initial that the resultsgenerating are highlyalgorithm dependent(in on the of the packing the case, results of the initial packing generatingIf algorithm (in this packing is generated randomly). the method thisinitial case, packing isgeneration generated is randomly). the method of changed, Ifone would of initial packing is changed, supposedly obtain ageneration better result. Moreover,one it iswould not supposedly that obtain better result. Moreover, not determined thea best result produced by ittheis SA determined thatmost the effectively best resultminimized produced by bythe theCA SA algorithm is the algorithm e.g. is the effectively minimized xerox by thethe CA algorithm, formost k = 0.5 of the benchmark algorithm,SA+CA e.g. forimproved k = 0.5 of benchmark xerox to the algorithm thethe result from 44.73% algorithm SA+CA the result from1) 44.73% 27.87% (BIS line –improved see description of Table and forto 27.87% (BIS linefrom – see description of Table 1) and for the sample apte 49.83% to 6.93%. To conclude, sample apte from can 49.83% 6.93%. Toresult conclude, athe worse initial solution give atobetter final (as a worse solution can give a better final result (as in case of initial simulated annealing). in case of simulated annealing). Experiment 2 Experiment In this 2experiment, is compared the average percentage of DS and average time the In this value experiment, is compared the for average considered algorithms percentagealgorithms value of and DS the andbest average time known for the from the literature ([23],and [1]). to the results considered algorithms theAccording best algorithms known obtained the previous experiment, k =to1.0 was set from thefrom literature ([23], [1]). According the results to producefrom hard-blocks from soft-blocks. obtained the previous experiment, k = 1.0 was set to produce hard-blocks from soft-blocks. Table 2. Comparison of the following algorithms: simulated (SA), to Table 2. annealing Comparison of constructional the followingalgorithm algorithms: minimize packing (CA)constructional and combinedalgorithm algorithmto simulatedblock annealing (SA), (SA+CA) algorithm in [23] minimize to blockthe packing (CA) andsuggested combined algorithm (Lagrangian) the algorithm branch and bound algorithm (SA+CA) toand the suggested in [1] [23] (CompaSS). The column Initialand Solution shows an (Lagrangian) and the branch bound(IS) algorithm [1] average valueThe of the DS for 10 initial packings (CompaSS). column Initial Solution (IS) shows an average value of the DS for 10 initial packings SA
IS DS SA t [%] [%] [s] IS DS t [%] [%] [s] 99.19 13.07 19.22
SA + CA
CA
Lagrangian
CompaSS
Lagrangian CompaSS DSSA + CA DS CA t DS t DS t* t [%] [ms] [%] [ms] [%] [s] [%] [ms] DS DS DS t DS t* t t [%] 19 [%] 25 [%] 53.0 [s] 0.75 [%] 50[ms] [ms] 5.46 [ms] 0.54 9.82
99.19 13.07 19.22 9.82 19 5.46 25 0.54 53.0 0.75 50 49.42 43.73 23.68 16.63 146 15.45 20 0.40 71.6 0.00 35
49.42 43.73 23.68 16.63 146 15.45 20 0.40 71.6 0.00 35 119.20 43.23 32.13 18.90 20 12.16 32 1.40 107.3 0.00 42 119.20 43.23 32.13 18.90 20 12.16 32 1.40 107.3 0.00 42 141.53 94.33 232.93 23.62 261 19.18 118 4.30 774.6 0.00 883
ami33ami33 hp
Benchmark Benchmark
(determined during experiments): Tp = 400, ϵ = 0.001, (determined during experiments): Tp = 400, ϵ = 0.001, α = 0.999. α = 0.999. Experiment 1 Experiment 1 The simulated annealing algorithm requires hardThe annealingHard-blocks algorithm were requires hardblocks to simulated operate correctly. obtained blockssoft-blocks to operateby correctly. werevalues obtained from setting Hard-blocks three constant of soft-blocks bythe setting threeofconstant values of kfrom = {0.5; 1.0; 2.0}, so first stage the algorithm is to k = {0.5;hard-blocks 1.0; 2.0}, so according the first stage the algorithm is to create to of these three values. create the hard-blocks according to these three values. During first experiment, results were obtained and During thefor first experiment, results were obtained and compared three algorithms (SA, CA, SA+CA) applied compared three algorithms CA, SA+CA) to 10 initialfor packings generated (SA, randomly and forapplied three to 10 initial packings generated randomly and for three values of k ratio. values of k ratio. Bolded values in Table 1 are the best dead-space Table 1 are the best dead-space (DS)Bolded values values for a inparticular benchmark, the same (DS) values a chosen particular benchmark, the same algorithm andfor three values of k. The simulated annealing constructional (CA) algorithm algorithm and three(SA), chosen values of k.algorithm The simulated and a combination theconstructional two (SA+CA) algorithm are the most annealing algorithm of (SA), (CA) effective for blocks created 1.0, that are is for square and a combination of the for twok =(SA+CA) the most blocks outblocks of 36created values for turned out that to be for effective(4for k = 1.0, is better for square kblocks = 0.5).(4 out of 36 values turned out to be better for k = 0.5). Table 1. Comparison of results obtained at different values of Comparison k for the simulated annealing algorithm (SA), Table 1. of results obtained at different constructional algorithm (CA)annealing and a combination of values of k for the simulated algorithm (SA), the two (SA+CA). The (CA) tableand contains minimum, constructional algorithm a combination of maximum average value of the DS the two and (SA+CA). Thepercentage table contains minimum, criterion 10 average differentpercentage initial solutions. BISthe (Best maximumforand value of DS Initial Solution) includeinitial valuessolutions. of the DS obtained criterion for 10lines different BIS (Best for theSolution) initial solution which gave theofbest Initial lines include values the result DS obtained for the initial solution which gave the best result
N° 3
141.53 94.33 232.93 23.62 261 19.18
118
4.30 774.6 0.00
* Time of operation refers only to the constructional algorithm
* Time of operation refers only to the constructional algorithm
883
According to data included in Table 2, it is seen that the constructional algorithm (CA)insignificantly According to data included Table 2, it isimproves seen that (minimizes) both initial packing (DS decreased 18 times the constructional algorithm (CA) significantly improves compared to the initial packing – sample file apte) and (minimizes) both initial packing (DS decreased 18 times packing provided by the simulated annealing algorithm compared to the initial packing – sample file apte) and (DS decreased by by 2.5the times – sample file xerox). The packing provided simulated annealing algorithm constructional algorithm is faster than the CompaSS (DS decreased by 2.5 times – sample file xerox). The algorithm on the same computer and much constructional algorithm is faster system, than the CompaSS faster than simulated annealing based on Lagrange algorithm on the same computer system, and much relaxation calculated computer with faster than(results simulated annealingonbased on Lagrange processor Pentium III 600-MHz). It was observed relaxation (results calculated on computer that with the execution time ofIII the600-MHz). CA algorithm is upobserved to 7.5 times processor Pentium It was that less in comparison to, for example, the CompaSS the execution time of the CA algorithm is up to 7.5 times algorithm. Unfortunately, effective values of the DS for less in comparison to, for example, the CompaSS solutions given by the CA algorithm are worse than algorithm. Unfortunately, effective values of the DS for those produced by algorithms from the literature. In solutions given by the CA algorithm are worse than conclusion, the considered constructional algorithm, those produced by algorithms from the literature. In conclusion, the considered constructional algorithm, 41 Articles
Journal of Automation, Mobile Robotics & Intelligent Systems
despite the fact that it gives solutions with worse DS, is faster than the other algorithms. This is the reason why it may be applicable to chips, which consist of a large number of elements where time is a considerable factor. It may also be used as an algorithm to improve packing results produced by an algorithm, which minimizes the length of interconnections [2].
VOLUME 7,
[9] [10]
7. Summary
The constructional algorithm CA described in this paper, significantly decreases the value of the DS criterion, and consequently, reduces the overall area of the floorplan for all tested benchmarks. It should be emphasized that the best results are obtained for those layouts that consist of square blocks in their initial packing (k =1.0). A great advantage of the algorithm is a short execution time and ability to start from any initial packing represented in Cartesian coordinate system. The proposed algorithm may be used to improve results obtained from other algorithms. AUTHORS Marcin Iwaniec*, Adam Janiak – Institute of IT, Automated Control Engineering and Robotics, Wrocław University of Technology, Z. Janiszewskiego 11/17, 50-372 Wrocław, Poland, marcin.iwaniec@pwr.wroc.pl, adam.janiak@pwr.wroc.pl *Corresponding author
REFERENCES [1] [2] [3] [4] [5] [6] [7] [8] 42
Chan H., Markov I., “Practical slicing and nonslicing block-packing without simulated Annealing”, In: Proc. Great Lakes Symposium on VLSI (GLSVLSI), 2004, pp. 282–287. Chen T.C., Chang Y.W., Lin S.C., “IMF: Interconnectdriven multilevel floorplanning for large-scale building-module designs. In: Proc. ICCAD'05, ACM/IEEE, 2005, pp. 159–164. Chen T.C., Chang Y.W. Modern floorplanning based on B*-tree and fast simulated Annealing”, IEEE Trans. on CAD, vol. 25, no. 4, 2006, pp. 637–650. Chen S., Yoshimura T., “Fixed-outline floorplanning: block-position enumeration and a ew method for calculating area costs”, IEEE Trans. Computer – Aided Des. Integrated Circuits Syst., vol. 27, no. 5, 2008, pp. 858–871. Chen J., Zhu W., Ali M.M., “A hybrid simulated annealing algorithm for nonslicing VLSI floorplanning”, IEEETrans. Syst., Man, and Cybernetics, Part C: Appl. Rev., vol. 41, no. 4, 2011, pp. 544–553. Chiang C.W., “Ant colony optimization for VLSI floorplanning with clustering constraint”, J. Chin. Inst. Ind. Eng., vol. 26, no. 6, 2009, pp. 440–448. Hayes J.P., Murray B.T., Testing ICs: getting to the core of the problem, IEEE Computer Magazine, no. 11, 1996, pp. 32–38. Itoga H., Kodama C., Fujiyoshi K., “A graph based soft module handling in floorplan”, IEICE Trans. Fundam. Electron. Commun. Comput. Sci., E88-A(12), 200, 5, pp. 3390–3397.
Articles
[11] [12] [13] [14] [15] [16] [17] [18] [19] [20]
[21] [22] [23]
N° 3
2013
Janiak A., Kozik A., Lichtenstein M., “New perspectives in VLSI design automation: deterministic packing by Sequence Pair”, Annals of Operations Research, Springer Netherlands, 179, 2010, pp. 35–56 Kang M., Dai W.-M., “General floorplanning with lshaped, t-shaped and soft blocks based on bounded slicing grid structure”. In: Design Automation Conference 1997. Proceedings of the ASP-DAC ’97. Asia and South Pacific, 1997, pp. 265–270. Kirkpatrick S., Gelatt C., Vecchi M., “Optimization by Simulated Annealing”, Science, no. 220(4598), 1983. Liu J., Zhong W.C., Jiao L.C., Li X., “Moving block sequence and organizational evolutionary algorithm for general floorplanning with arbitrarily shaped rectilinear blocks”, IEEE Trans. Evol. Comput., vol. 12, no. 5, 2008, pp. 630–646. Ma Y., Hong X., Dong S., Cai Y., Cheng C.-K., Gu J., Floorplanning with abutment constraints based on corner block list, Integration, the VLSI Journal, 31(1), 2001, pp. 65–77. Murata H., Fujiyoshi K., Nakatake S., Kajitani Y., “VLSI module placement based on rectanglepacking by the sequence pair”, IEEE Transaction on Computer Aided Design of Integrated Circuits and Systems, vol. 15, no. 12, 1996. Otten R.H.J.M., van Ginneken L.P.P.P., “Floorplan design using simulated annealing”. In: Proc. Intl. Conf. on CAD, 1984, pp. 96–98. Rebaudengo M., Reorda M.S., “GALLO: genetic algorithm for floorplan area optimization”, IEEE Trans. Comput. – Aided Des. Integrated Circuits Syst., vol. 15, no. 8, 1996, pp. 943–951. Valenzuela C.L., Wang P.Y., “VLSI Placement and Area Optimization Using a Genetic Algorithm to Breed Normalized Postfix Expressions”, IEEE Transactions on Evolutionary Computation, vol. 6, no. 4, 2002, pp. 390–401. Wang H.Y., Hu K., Liu J., Jiao L.C., „Multiagent evolutionary algorithm for floorplanning using moving block sequence”, IEEE Congr. Evol. Comput., 2007, pp. 4372–4377. Wong D.F., Liu C.L., “A new algorithm for floorplan design”. In: Proc. Design Autom. Conf., 1986, pp. 101–107. Xiaoping T., Ruiqi T., Wong D.F., “Fast evaluation of sequence pair in block placement by longest common subsequence computation”, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 20, no. 12, 2001, pp. 1406–1413. Xiong E.S.J., Wong Y.-C., He L., “Constraint driven i/o planning and placement for chip-package codesign”. In: Proc. Asia and South Pacific Design Autom. Conf., 2006, pp. 207–212. Yang S., Logic synthesis and optimization benchmarks, Microelectronics Center of North Carolina, Research Triangle Park, N.C., Tech., 1991. Young F., Chu C., Luk W., Wong Y., “Handling soft modules in general nonslicingfloorplan using lagrangian relaxation”, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 20, no. 5, 2001, pp. 687–692.
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 7,
N° 3
2013
A Comparison of Buffer Sizing Techniques in the Critical Chain Method. Case Study Submitted 28th July 2012; accepted 16th December 2012
Anna Slusarczyk, Dorota Kuchta, Philip Verhulst, Willem Huyghe, Koen Lauryssen, Torrino Debal
Abstract: The presented paper is an attempt to evaluate the application of different buffer sizing methods (within the critical chain approach) to a real-life project, in order to show that it is important to choose consciously one of the existing methods. The implementation of the different approaches to the buffer sizing procedure resulted in eight unique schedules. Once all the methods were implemented, the authors of this paper stumbled upon 2 inconveniences (slack vs. buffer, splitting up buffers). Funding solution for these handicaps caused obtaining eight more schedules. In order to evaluate all the determined solutions, the authors decided to establish a simulation study. A random dataset was generated of 2000 observations using the mean and variance calculated for the probability distribution determined by three possible durations (optimistic, expected and pessimistic) given by the project team members. To validate the performance of different methods, two penalty systems were designed. The test results indicate which specific buffer sizing technique performs best in the presented case, taking into account the attitude of the decision maker. The simulation study is the proposal of a method to be applied in each case of the critical chain method application, because it makes the use of the critical chain method more effective. Keywords: project management, critical chain, buffers, risk management
1. Introduction Research concerning the buffers, determining their size and positioning was the natural consequence of the presentation in 1997 by E.M. Goldratt critical chain method [1], which is an application of his theory of constraints to the field of project management. The interdisciplinary nature of the method and its revolutionary recommendations for effective project management determined a broad interest in it by both researchers and practitioners, especially as traditional project management methods [5] often turn off to be ineffective. One of the main elements of the critical chain method is getting information from the project executors concerning safety time hidden in the estimation of each project task duration and accumulate them in the form of buffers (just a few) placed at the end of selected paths. This approach aims to ensure the minimization of the risk (understood here as the probability) of over-
running the project due date, while minimizing this due date, thus the project makespan. Let us summarize briefly the idea of the Critical Chain Method by means of the project network example presented in Figure 1:
Fig. 1. Example of a project network. Source: own elaboration Each of the four activities in Figure 1 has two duration time estimations, di95, di50, respectively the so-called safe and aggressive estimate, where the numbers 95 and 50 stand for the probability of keeping the estimate and i for the activity number and the difference between the two estimates is called safety time. Out of the two estimates, according to Goldratt, in the classical approach only the safe (greater) one is used, the aggressive one remaining unrevealed. Thus in the classical approach, the project from Figure 1 would have the estimated completion time (deadline) equal to 16 â&#x20AC;&#x201C; the length of the path A, B, D with the aggressive estimates. In the Critical Chain Method both estimates are revealed, the longest path (taking into account the availability of resources) based on the aggressive estimates is treated as the basis for the calculation of the deadline, but it is corrected by the length of a project buffer, which is considerably smaller than the difference between the longest path based on the safe estimates and that based on the aggressive estimates. However, the exact formula for the buffer may vary. In the project from Figure 1 the longest path based on the aggressive estimates has the length 9, the difference between the two longest paths is 7, thus the project buffer might be equal to 3, 5 (taking half of the difference is one of the possible approaches). Then the planned deadline of the project is determined to be equal to 12, 5. Apart from the project bufArticles
43
Journal of Automation, Mobile Robotics & Intelligent Systems
fer (abbreviated PB), the shorter paths of the project network (called feeding chains) are protected by so called feeding buffers (abbreviated FB), whose length is also determined by varying formula. It needs to be said that generally the feeding chains are advised to be scheduled as late as possible, taking into account the feeding buffers. Figure 2 presents the project in question with the buffers:
VOLUME 7,
N° 3
2013
2. Case description The project in question is called ‘The development of the ICT infrastructure in the region governed by the Wrocław district and its 7 subunits (Czernica, Jordanów Śląski, Kąty Wrocławskie, Kobierzyce, Mietków, Sobótka, Żórawina), as well as increasing availability of e-services to citizens and businesses representatives from the region of the Wrocław district’. The localities mentioned here are shown in Figure 3:
Fig. 2. Example of a project network – the Critical Chain Method. Source: own elaboration
44
As mentioned above, there are many methods of determining the size of buffers, however it is not known which method should be applied in which case. Also the location of buffers may vary. The methods proposed in scientific articles are described in very general terms (more as a philosophy) or they are based on the assumptions which are usually impossible to verify (e.g. that the number of activity predecessors increases the risk of the activity delay or that it is better to take for the buffer size the arithmetic average than the geometric one etc.). Each author asserts the effectiveness of their method while a few practical attempts to examine the different methods in a critical way show that the intuitions of the authors are not always reflected in reality [11]. Additionally the proposed methods are very different and often contradictory. It is obvious that different methods lead to significantly different schedules, but there is no known method of decision making in terms of choosing the right schedule in a particular case. The aim of the paper is to propose to the reader a way of choosing the right critical chain schedule for his or her given case. The hypothesis is that in case the critical chain method is used, the choice of the buffer sizing (and location) method is important. Now, if so (and the present paper delivers kind of justification of the hypothesis, showing that it is true in one real-world case), the user needs a tool to choose the right method. In this paper we show how it can be done, by the use of simulation methods based on the EXCEL spreadsheet. The aim of the paper is not to deliver an overall evaluation of all the existing buffer sizing and location methods. Such an evaluation is still an open question, the hypothesis is that each of them may have advantages and disadvantages which depend on the very project that is being scheduled. The present paper evaluates an application of different buffer sizing methods to a real-life project, described below, or rather to its part: the strict phase of e-office solution implementation in the district Wrocław local government. Articles
Fig. 3. The localities included in the project in consideration. Source: own elaboration The main objective of the project is to integrate and improve the functionality of the ICT infrastructure and to introduce an integrated information system supporting the cooperation between individual units such as the district of Wroclaw and its 7 local subunits, as well as increasing the availability of electronic administrative services for the district of Wroclaw citizens. The following sub-objectives were defined: – Optimizing the expenses of offices, increasing the effectiveness of the unit management – Introducing electronic services for citizens and investors – Improving the document flow by means of the introduction of an electronic document flow system – Improving data archiving in an electronic way – Facilitating contact with offices and access to public information – Improving cooperation and communication between offices and outsource units. The population of the region governed by the district Wrocław is approximately 107,000. This is the third largest local government unit in Lower Silesia. The direct vicinity of the Wrocław agglomeration has a positive impact on the development of this area. This region is also preferable from the investment point of view. The best proof is the large concentration of businesses in the so-called Bielański Node. The project scope is to purchase computers and software, aimed at increasing the efficiency of the of-
Journal of Automation, Mobile Robotics & Intelligent Systems
ficers work in the local government of the district Wroclaw and its subunits offices, hence increasing the standard of services offered to customers. The implemented solutions will enable citizens of the district Wroclaw to settle certain official matters on-line, through access to e-boxes in the offices. Furthermore, it is planned to introduce e-points in small villages and two customer service offices in Smolec and Gniechowice (Figure 3) to enable the use of the service by those customers who do not have permanent access to the Internet.
3. Literature overview
Since the very introduction of the critical chain method [1], the method has been being criticized [11] for having some significant gaps in its basic assumptions. Many attempts to improve Goldratt solution initiated the development of new approaches concerning buffer sizing techniques. However, there exists no comparative analysis or evaluation of those different techniques. The authors of this paper chose eight techniques to be compared in one real world case. A brief overview of the analyzed approaches is presented below. Once the authors of this paper had determined all the buffer sizes and created a Gantt-chart for every technique, they stumbled upon 2 inconveniences of the analyzed approaches. In order to solve these problems, the solution based on the approach proposed by Połoński and Pruszyński [9] was incorporated.
3.1. Cut and Paste 50% Method of Goldratt
Obviously the first introduced buffer sizing method was one proposed by Goldratt himself in his Critical Chain novel [1]. This method assumes that the safety time incorporated in an activity duration has to be cutoff. Then this safety time is aggregated at the end of the critical chain in the form of project buffer and as a feeding buffer wherever any noncritical chain feeds into a critical chain. The size of both types of buffers is equal to 50% of aggregated safety time of the longest path feeding into the buffer. Since Goldratt did not specify any name for that approach, Tukel et al. [2] referred to it as “the Cut and Paste Method” (C&PM) and Leach[3] as “the 50% of the Chain Method”.
3.2. Adaptive Procedure with Density
Tukel et al. [2], as a counterproposal to that of Goldratt, introduce two adaptive buffer sizing methods incorporating project characteristics and level of uncertainty in the buffer size determination. The first approach, Adaptive Procedure with Density (APD), assumes that for a given number of project activities, if the number of precedence relationships increases, it is more likely that delays will occur. In such a case a delay in a particular activity execution will have an impact on all the successors of this activity. Therefore, the bigger number of precedence relationships, the bigger the buffers should be. This means that in APD the network complexity is reflected as a ratio of total number of precedence relationships of the particular activity to the total number of activities. The feeding and project buffers sizes will be calculated in the following way:
VOLUME 7,
N° 3
2013
(1)
J – total number feeding chains and critical chain sij2 – variation of an activity i in a chain j Nj – numer of the activities in chain j PREj – total number of precedence relationships defined on a chain j BSj – size of the buffer protecting a chain j
3.3. Adaptive Procedure with Resource Tightness
The other method introduced by Tukel et al., the Adaptive Procedure with Resource Tightness [2], in order to reflect uncertainty in the feeding and critical chains incorporates in the buffer sizing process a factor called by the authors “resource tightness”. The assumption was made that if the total resource usage is close to the total resource availability, it is more likely that delays will occur. Therefore, there should be larger buffers to avoid these delays. The resource utilization factor for each resource is an important parameter which is calculated as a ratio of the total resource usage and the total resource availability for each resource. Additionally, the chain standard deviation is computed assuming the applicability of the central limit theorem, which says that the mean duration of the chain is equal to the sum of the mean durations of activities making up the chain, and the variation of the chain is equal to the sum of the variations of the activities making up the chain. Hence, the feeding and project buffer sizes will be calculated in the following way: (2)
(3)
J – total number feeding chains and critical chain – standard deviation of a chain j r – resource usage Rav – resource availability BSj – size of the buffer protecting chain j
3.4. Risk Class Assessment
This buffer sizing technique takes into account the fact that activities with a large variance will have pessimistic or safe duration estimates much larger than the estimated average duration, whereas activities with a small variance will have pessimistic duration estimate close to the average duration estimates. Activities with a higher chance of having a large deviation from the average estimates should have a bigger buffer. The Risk Class Assessment technique calculates the relative dispersion (RD = standard deviation/ average duration estimate) of an activity and uses it to assign an appropriate buffer size. The relative dispersion is a measure of the uncertainty of an activity. The higher the relative dispersion, the higher the odds the activity will have a much larger duration than the average estimated duration, which implicates a higher uncertainty. The next step is to assign the activities to one of the four risk classes (A: very Articles
45
Journal of Automation, Mobile Robotics & Intelligent Systems
low uncertainty, B: low uncertainty, C: high uncertainty, D: very high uncertainty). Unfortunately the consulted sources did not provide any guideline on which ranges of relative dispersion fall within which risk class [6]. Therefore the following classification was used: RD range 0–0.13 = A; RD range 0.14 – 0.19 = B; RD range 0.20–0.25 = C; RD range 0.26–1 = D. Finally the average estimated duration of each activity is multiplied with the proposed buffer size of its risk class to generate the appropriate buffer size. After the buffer size per activity is calculated, all the buffers from the activities in a feeding chain are summed up. The total buffer is then placed at the end of the feeding chain. Table 1 provides different proposed buffer sizes for a low safety (86%), medium safety (95%) and high safety (99%) method. The medium safety and high safety methods are used in this paper. Table 1. Buffer sizes for different activity classes as percentages of the chain length Classification Low safety A
4%
Median safety
High safety
8%
12%
B
12%
24%
36%
D
28%
57%
85%
C
20%
Source: own elaboration
40%
60%
3.5. Original RESM The original Root Error Square Method uses only the expected and pessimistic duration of a task in the project to determine the feeding buffers and the project buffer size. With uncertainty being the difference between the pessimistic and expected duration, standard deviation of a task equals half of the uncertainty. The standard deviation of a chain equals the root of the squares of all the standard deviations of the tasks contained in this chain. To set the feeding buffers, it suffices to take the double of the standard deviation of the feeding chain. The project buffer equals the double of the standard deviation of the critical chain [12].
VOLUME 7,
N° 3
2013
square root of the sum of the squares of the difference between the low risk estimate and mean estimate for each activity duration laying on the chain feeing into the buffer. The original RESM method doubles the standard deviation to obtain the buffer size, while the SSQ method sets the standard deviation as being the buffer size. In case when the feeding chain splits, only the longest chain or the largest result out of all these chains should be applied. Leach does not specify the meaning of the term ‘low risk estimate’. For the purposes of the presented analysis it will be assumed that ‘low risk estimate’ is equivalent to ‘pessimistic estimate’ in the three point-estimate PERT [7].
4. Project Data
In this chapter we will present the entry data that we used in our study. The data was collected by means of document analysis and interviews. The duration times estimates were determined using various techniques advised in the literature concerning the critical chain method.
4.1. Project Network
The project network is presented in Figure 4, with the two duration estimates given under each activity node. The activity durations are presented in weeks. Since there are a few activities which can initiate the project, to simplify the overview, the dummy activity ‘Start’ was added. There is no dummy activity at the end of the network since a single activity (i.e. activity no. 15) terminates the project.
3.6. Ashtiani RESM
The Ashtiani Root Error Square Method differs from the original RESM method by one parameter. The standard deviation of individual task is calculated by dividing the uncertainty defined in section 3.5 by 1,3. As a consequence the buffers are much bigger with the Ashtiani method in comparison with the original method. This method can be considered as very safe regarding to the possibility of exceeding buffers. If reliability is of major importance, this method is recommended [10].
3.7. SSQ Method
46
The other approach for buffer sizing process was proposed by Leach [3]. The Square Root of the Sum of the Squares (SSQ) is very similar to the original RESM method. The difference lies in extracting the buffer sizes from the standard deviation of the branches. This method assumes that the buffer size is equal to the Articles
Fig. 4. Project network. Source: own elaboration
4.2. Resource The network comprises of 16 tasks for which the durations and the resource requirements are listed in Table 2. As it was mentioned before, 7 renewable resources are used to complete the project. Their characteristics and information about availability is presented in Table 3. The information concerning task characteristics, their resource requirements, duration estimates, as well as resource description were collected by means of interviews with project team members.
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 7,
N° 3
2013
r6
r7
Table 2. Activities description (50% duration estimate and resource requirements) No
di50
r1
1
Description Expansion of network connections
8
3
r2
r3
1
1
1
1
r4
r5
2
Purchase of IT equipment
3
3
Installation of IT equipment
4
4
Matching the user requirements with Telecommunication Platform (TP)
3
5
Implementing 22 four types of database
6
2
6
Implementing electronic application forms
3
2
7
Establishment of Local Certification Centre
2
8
Public Information Bulletin (PIB), on-line register
2
9
The integration of the Telecommunication Platform, PIB, web site and HR Module
4
10
Time recording system
2
1
1
11
Implementing Human Resources Module
3
1
1
12
Purchase of digital signature
1
13
Safety System related to the implementation of the e-office
3
2
14
Pilot implementation of the Telecommunication Platform
3
1
15
Configuration and starting-up of hardware and software in all locations of the project
2
16
Training in application using
4
3 1
1
1 2 1
1
3
4
1 2 1
1
3 1
1
Source: own elaboration
4.3. Critical Chain Identification
Table 3. Resources description Resource type No.
Description
Availability
Availability period
1
Technician
6
all project
2
IT Expert
1
all project
3
Procurement officer
2
all project
4
Administrator
2
all project
5
HR specialist
2
all project
6
IT coach
1
all project
7
Software developer
5
all project
Source: own elaboration Table 4. Critical chain and feeding chains description Chain No.
Tasks numbers
Chain duration
CC
4,5,9,16,14,15
22
1
1
8
2
2,3
7
3
6,8
5
4
11, 10
5
5
7,12,13
6
Source: own elaboration
For the identification of the critical chain sequence, the application cc-MPulse was used. This is an extension of the MS Project software for CC/PM method implementation. The resource use analysis (Figure 5) was also performed to verify the results given by the software. Both approaches resulted in the same conclusion: the project critical chain consists of the sequence of tasks 4-5-9-16-14-15 and the length of the critical chain is equal to 22 weeks (i.e. only part of the total project). Additionally five feeding chains were identified (Table 4).
4.4. Buffer Sizing Techniques – Schedules
As was mentioned before, the authors of this paper decided to analyze eight buffer sizing methods, described in the previous sections. The obtained schedules, one for each technique, are depicted in the form of Gantt charts (Figures 6, 7, 24, 25, 26, 27, 28). The figures show how the project makespan and buffer sizes change from one approach to the other. Below two example figures, APD method schedule (Figure 6) and APRT method schedule (Figure 7), are presented. The others can be found in the appendix attached at the end of this paper. The red blocks represent the activities laying on the critical chain. The grey blocks represents the other activities. The dark green blocks stand for the project bufArticles
47
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 7,
N° 3
2013
Fig. 8. Slack value versus buffer size. Part of the project network. Source: own elaboration
Fig. 5. Resource use profile. Source: own elaboration
fer while the light green ones stand for the feeding buffers placed at the end of each feeding chain. The project due date obtained according to a particular method was marked with a red line at the end of each Gantt chart. Additionally it is important to say that breaks in the critical chain imposed by inserting feeding buffers where marked with orange circles. The analysis of the attached Gantt charts provides an overview of changes in the buffers sizes according to different techniques and the possible project due dates.
5. Buffer Location Adjustments
Once all the buffer sizes were created and a Ganttchart for every technique was ready, the authors stumbled upon 2 inconveniences of the eight approaches. In the following paragraphs, these inconveniences will be described, explained where they are located in this particular case and how they were solved.
5.1. Slack vs. Buffer
Fig. 6. APD method schedule. Source: own elaboration
Fig. 7. APRT method schedule. Source: own elaboration 48
Articles
The first inconvenience is the fact that the original methods do not take into account the slack available in every feeding chain while establishing the buffer sizes. This can result in delaying the tasks in parallel on the critical chain. This is explained by the fact that all tasks in the Critical Chain Method should be scheduled as late as possible, including the critical chain (CC). When the buffer of a particular feeding chain exceeds the slack (of that feeding chain) available, the activity(s) on the CC in parallel will be delayed by the time difference of the slack and buffer.
Table 5. Buffer III description No
Buffer sizing technique
Buffer no 3 size
CC delay
1
Original RESM
3,61
2,61
2
Ashtiani RESM
5,55
4,55
3
Root Square
1,8
0,8
4
APD
2,25
1,25
5
APRT
4,23
3,23
6
High risk
2,52
1,52
7
Medium risk
1,68
0,68
8
Cut and paste
2,5
1,5
Source: own elaboration
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 7,
N° 3
2013
plying this modification to this example, for the same buffer sizing technique as in Figure 9, the modified Gantt-chart is shown in Figure 10.
5.2. Splitting Up Buffers
Fig. 9. RESM method schedule.Source: own elaboration In the presented project, this was the case for the part of the network presented in Figure 8, where inside the nodes we have the numbers of activities and beneath them the aggressive estimates and the safety times of the corresponding activities. The available slack is equal to 1 (= activity 5 (d5 = 6) – activity 8 (d8 =2) – activity 6 (d6 =3)) and the sizes of buffer III according to the different methods are given in Table 5. As it can be observed, the buffer according to every technique is bigger than the available slack. As a consequence activity 5, on the critical chain, will always be delayed (Table 5), which is not desirable. This delay is visualized in Gantt-chart for one of the methods (Figure 9). As a solution, the following two changes are suggested: (1) put a maximum on the buffer size and as a maximum pick the slack available on that particular feeding chain. (2) Add the remaining of the feeding buffer to the project buffer [4]. This eliminates the delays of the activities on the critical chain and lowers the risk of the project being late. If the decision maker opted for keeping the same level of risk, he would not want to oversize the project buffer. Then he should only transfer a part of the remaining feeding buffer to the project buffer. However, which percentage should be chosen goes beyond the scope of this paper. By ap-
Fig. 10. Modified RESM method schedule. Source: own elaboration
According to the assumption introduced by Goldratt, the buffer protecting a particular chain is placed at the end of that chain. Additionally, in this buffer all the safety time removed from the individual activities laying on a protected chain is accumulated. In the project in question, in the case of buffer no 5 this technique presents a problem. This inconvenience will be clarified now. For the better understanding of the presented below explanation, it is recommended to follow it together with the project network (Figure 3) and Figure 11. The feeding chain (7-12-13) links up with the critical chain at the end of activity 13 (Figure 11). Activity 13 can only start after activity 12 (feeding chain) and activity 9 (critical chain) are finished. Since activity 12 is scheduled as late as possible (it is one of the critical chain method assumption), it may occur that activity 9 (critical chain) has finished but activity 12 has not, which means activity 13 cannot start yet, meanwhile activity 16 (critical chain) can start. In the worst possible case this means activity 16 (critical chain) can be finished when activity 13 is not ready yet, and the critical chain will have to wait because of the delay in the feeding chain. This situation needs to be avoided. A solution for this problem is to split the original buffer up into two buffers: one before (buffer 5.A) and one after (buffer 5.B) activity 13 (Figure 10)[9]. Another difficulty here is to decide what the appropriate buffer sizes for these two new buffers should be. To tackle this problem, the original total buffer size is multiplied by a factor which is calculated as follows in the case of buffer 5.A: factor buffer 5.A = (variance(chain(7–12)) / (variance(chain(7-12)) + variance(act 13)) + (number of activities(chain(7–12))/(number of activities(chain(7–12)) + number of activities(chain(13)) ) + (use of resources(chain(7–12)) / (use of resources(chain(7–12) + use of resources(act 13)))/3.
Fig. 11. Modified APD method schedule. Source: own elaboration Articles
49
Journal of Automation, Mobile Robotics & Intelligent Systems
This formula takes into account all sources of uncertainty and risk, concerning the total project duration, in each part of the chain, and thus assigns the largest part of the original buffer to the part of the chain which carries the highest risk.
5.3. Buffer Sizing Techniques – Modified Schedules
The Gantt-charts below are a summary of the schedules with modifications. Again, for simplicity sake, only two figures will be presented below, namely the modified APD method schedule and the modified APRT method schedule. The other figures can be found in the appendix at the end of this paper.
VOLUME 7,
N° 3
2013
required to accomplish a task. In the project in question it is identical with the aggressive estimate (d50). The expected duration is the estimate of the time required to accomplish the task under the assumption that everything takes the usual course. In the project in question it is the same as the safe estimate (d95). As the last the pessimistic estimate was given. It is understood as the maximum possible time required to perform a task. Furthermore, it is assumed that the task duration is defined by a beta distribution. With x being the optimistic duration, y the expected duration and z the pessimistic duration, it is possible to calculate the mean and variance of these tasks using the following formulas [8]. (4) (5)
Fig. 12. Modified APRT method schedule. Source: own elaboration The meaning of the blocks in the Gantt charts in Figures 11 and 12 is the same as before. The only thing that should be paid attention to, is the orange block, which represents the modified buffers.
6. Solution Approach
The implementation of different methods of buffer sizing resulted in obtaining eight unique schedules. In order to evaluate all the proposed solutions, the authors of this paper decided to establish a simulation study. The reason for this kind of approach is twofold. First, the analysis is made post-factum (i.e. the project is already finished) so there is no real-life evaluation possible. Second, every project is unique as well as every potential solution. Once decided to opt for a particular schedule, there is no possibility of checking the potential result of implementing the other solution in real-life conditions. A simulation which takes into account the project characteristics allows to evaluate all the possible scenarios and to propose such a buffer sizing and location method which for the very project in question ensures the best compromise between the protection against delay risk and the planned project completion time.
6.1. Creating Simulation Data
50
Due to lack of adequate software to simulate the application of different buffer sizing techniques, an algorithm had to be created in Microsoft EXCEL. For every task of the project an optimistic, expected and pessimistic duration were given. These estimates were obtained thanks to interviews with the team members responsible for a particular project task, conducted during the planning phase. The optimistic estimate is understood as the minimum possible time Articles
With m being the mean and v the variance, it is possible to calculate the a and b of each task’s beta distribution using the following formulas [7].
(6)
(7)
With these values for a and b, 2000 random durations for each task are created according to its distribution using the EasyFit software. The sample of 2000 durations is considered big enough to reduce incorrect outcomes as a result of random data generation. This sample reflects 2000 project executions with various task durations.
6.2. Simulation Method
Combining the duration of tasks from the same chain, the total duration of the branch is determined. Using an Excel sheet it is calculated how often chain durations exceed the expected duration and, when exceeding, how deep these durations penetrate their buffers, both feeding and project buffers, using the formulas below. IF (chain duration < expected chain duration)Þ “No problem” ; ELSE Buffer penetration = (chain duration - expected chain duration /buffer size) * 100; (8)
It suffices to count the number of times no problem occurs and to categorize the percentage of penetration according to the selected degrees to create a histogram with the overall results. Penetration up to 33% of the feeding buffer is called “low penetration”, from 34% to 66% is called ‘medium penetration’ and over 66% is called ‘high penetration’ (Figure 13).
Journal of Automation, Mobile Robotics & Intelligent Systems
Durations bigger than the expected duration of the chain plus the buffer are labeled as “exceeding buffer”The obtained histogram gives a clear overview of the reliability of the corresponding buffer sizing and location method.
Fig. 13. Buffer penetration level. Source: own elaboration [13]
7. Buffer Sizing Techniques. Conclusions In the following paragraphs the reader finds a brief overview of some relevant remarks and characteristics concerning the different buffer sizing techniques. There is one point requiring attention: the reader will notice that in case of some techniques there is a high risk associated with buffer 5.A (i.e. the times it exceeded the buffer was very high). However, this does not cause a problem when buffer 5.B can cope with this delay (i.e. the time left in buffer 5.B is bigger than the amount of time by which buffer 5.A has been exceeded).
7.1. Overall Performance Comparison
To compare the performance of all the techniques two penalty systems are designed. One focalizes on low risk seeking project managers whose main objective is reliable deadlines. A low risk seeker prefers a longer project planned completion time (deadline), thus a longer project buffer, so that the project deadline is more probable to be kept. At the same time, he is very unhappy about not keeping the longer deadline. The other penalty system is in favor of a high risk seeker. He wants to be competitive and prefers a shorter project completion time (deadline), thus a shorter project buffer, and at the same time he is readier (although of course not quite happy) to accept to exceed this shorter deadline. Penalty names in Table 6 are as follows: the penalty “over buffer” penalizes for every week the project duration exceeds the project critical chain plus the project buffer, thus the due date, while the penalty “Due date” is the penalty the project manager gets for every week of the project buffer (Table 6). Table 6. Penalties description
Over buffer Due date
Penalty Low Risk 40000
Source: own elaboration
500
Penalty High Risk 20000 1000
VOLUME 7,
N° 3
2013
Two cases were considered: that of the low risk seeker, whose main objective are reliable deadlines, a high penalty of 40 000 per week exceeding the project buffer is added and a relatively small penalty of 500 per week of project buffer. For the high risk seeker, who prefers the project planned durations, thus project buffers, to be short, but is ready to accept a higher risk of exceeding the project buffer, these costs were 20 000 and 1 000, respectively. The numbers themselves are fictitious. Only the proportion between the penalties is of any relevance. The first case is one for a low risk seeker. The best technique for a low risk seeker to use is the Original RESM method. The high risk class method takes the second place, just behind the Original RESM method. The medium risk class method performs similarly as the APD and the Root Square methods, which are the third best ones to be considered. Then the Ashtiani RESM results in a higher total cost than the previously mentioned techniques but a lower total cost than the other ones. Next, the Copy and Paste method gives a lower total cost than the APRT method which is the worst method for the low risk seeker. As for the second case: the high risk seeker has a lower cost assigned to exceeding the project buffer but a higher cost associated with long project buffer, or poor efficiency. The most appropriate method to use for the high risk seeker is the root square method. The medium risk class method performs almost as good as the APD method. The Original RESM and the high risk class method are roughly at the same level and take the third position. The Ashtiani RESM is next to be considered as it results in a higher total cost than the previous methods. Next it is the Cut and Paste techniques. Finally the APRT method is by far the worst one to use for a high risk seeker as it results in a much higher total cost.
Fig. 14. Penalties overview. Modified buffer sizing techniques. Source: own elaboration
7.2. Cut and Paste 50% Goldratt The Cut and Paste Method can be considered as a very safe and reliable buffer positioning and sizing method. Along with APRT and the Ashtiani RESM method the large buffer sizes proposed by this method almost guarantee a zero percent chance of project delay. Consequently, this is an expensive method. Because of a similar reliability and a higher cost compared to the Ashtiani RESM method, this method should not be used for this project (Figure 15). Articles
51
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 7,
N° 3
2013
7.3. Risk class Assessment Method
Fig. 15. Buffer penetration. Modified Cut and Paste Method. Source: own elaboration
Fig. 16. Buffer penetration. Modified Medium Risk Class Method. Source: own elaboration
A first remark about the risk class method to be made is that the determination of buffer sizes requires some personal interpretation from the user since there are no clear guidelines on what ranges of the relative dispersion should fall within which risk class. This decision is completely up to the personal judgment of the user which makes the method a bit subjective. The final results of the simulation show that with the medium risk method the project buffer is exceeded in 7.35% of the cases, whereas the high risk project buffer is only exceeded in 0.05% of the time. This means the high risk method gives us a much higher guarantee that the project is finished before the planned deadline, which of course is a logical consequence of the fact that the high risk method assigns much larger buffers than the medium risk method. As for efficiency, the medium risk method gives a total project buffer of 4.36 weeks which is among the smallest buffers of all the considered techniques. The project buffer length is comparable to the lengths to the buffer in the APD, 4.426 weeks, and the Root square, 4.12 weeks, methods. However, the medium risk method results in a slightly higher risk: with the APD method the project buffer is exceeded in only 6.30% of the cases and 6.45% with the Root Square method. In the case of the high risk method the total project buffer amounts up to 7.27 weeks, which is comparable to the project buffer of the Original RESM of 6.641 weeks. However, the high risk method results in less risk as the project buffer is only exceeded in 0.05% of the cases, whereas the Original RESM project buffer is exceeded in 0.20% of the cases (Figures 17 and 18).
7.4. Original RESM
Within the category of reliable, safe methods, this is one of the best methods to apply for this project. When using the modified version, it is even the best low risk method. With acceptable buffer sizes it guarantees on time delivery in 99.8% of the cases (Figure 18).
7.5. Ashtiani RESM
52
Fig. 17. Buffer penetration. Modified High Risk Class Method. Source: own elaboration
This method can be considered as very safe regarding the possibility of exceeding buffers. If reliability is of major importance, then this method is recommended (Figure 19).
Fig. 18. Buffer penetration. Modified Original RESM. Source: own elaboration
Fig. 19. Buffer penetration. Modified Ashtiani RESM Method. Source: own elaboration
Articles
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 7,
N° 3
2013
this method it is more likely to exceed the buffer. In the considered case the project buffer will be exceeded in 6.30% of times, which is a rather high percentage. In terms of a low risk seeker this is an average method compared with the others. On the other hand in terms of “high risk seeker” this method has lower costs compared to the others (Figure 21).
7.8. APRT Method
Fig. 20. Buffer penetration. Modified RSQ Method. Source: own elaboration
Adaptive Procedure with Resource Tightness is for both a low risk seeker as for a high risk seeker an expensive method due to the enormous buffer sizes. On the other hand, while having such big buffers it is rather an exception to exceed the project deadline (Figure 22).
8. Conclusions
The conclusions will be divided in three parts. The first part will concern the modifications of the original methods, based on [9], for the project in question, and the second part will concern the final choice of the buffer sizing method also for the project in question. The third part will be general conclusions concerning the project time management in any project and further research.
8.1. Modification conclusion
Fig. 21. Buffer penetration. Modified APD Method. Source: own elaboration
While comparing both the original and modified buffer sizing and positioning, it becomes obvious that the modified buffer sizing and positioning delivers dominant results over the original buffer sizing and positioning. The modified approaches give both shorter expected project durations and exceed in fewer cases the project buffer. The explanation for this dominance is dual. First, by limiting the size of the feeding buffers by the size of the total slack available and by adding the remaining part of the feeding buffer to the project buffer, the project buffers enlarge. A larger project buffer results in exceeding the project deadline less often. Secondly, by splitting up the feeding buffer 5 (the buffer for the feeding chain with tasks 7, 12 and 13), the proportion by which buffer 5.B (modified) exceeds the total available slack (1 week) is less than buffer 5 (original). This
Table 7. Penalties overview. Modified buffer sizing techniques.(I, I.a) – % of times over PB; II – extra time due to (1) PB and (2) buffer vs. slack; (II.a) – extra time due to PB Technique name
Fig. 22. Buffer penetration. Modified APRT Method. Source: own elaboration
7.6. RSQ Method This method is much more risky than the previous ones. With its smaller buffers, project deadline will not be met in 6.45% of the cases. Although this may seem rather much, if the project manager was a high risk seeker, this would be the best method to use for this project (Figures 14 and 20).
7.7. APD Method
Adaptive Procedure with Density is a method with rather small buffer sizes. Due to this fact, while using
Original
Modified
I
II
I.a
II.a
Original RESM
9.95%
7.90
0.20%
6.64
Ashtiani RESM
1.10%
15.07
0,00%
11.29
Root Square
11.85%
4.60
6.45%
4,12
APD
23.20%
5.50
6.30%
4.43
APRT
0.00%
20.62
0.00%
16.97
High Risk
0.80%
8.20
0.05%
7.27
Medium Risk
11.80%
4.80
7.35%
4.36
Cut and Paste
0.00%
14.50
0.00%
13.21
Source: own elaboration Articles
53
Journal of Automation, Mobile Robotics & Intelligent Systems
reduces the critical chain and the total expected project duration as a consequence. This is shown in Table 7.
8.2. Selection of the Buffer Sizing Method for the Project in Question
Having processed all the data, it is now possible to draw a final conclusion about which buffer location and sizing technique should be proposed for the project in question. Since it is shown that the modified buffer positioning is better in all the techniques concerning the project length as well as the project risk, the authors opt to make their propositions based only on the modified schedules. Which technique should be selected depends on how risk-averse the project manager is. In this particular project (Table 7), if the project manager is a low risk seeker, it is suggested to use the buffer sizing technique “Original RESM” which gives a total project length of 28.64 weeks (= CC (22) + PB (6.64)) and it exceeds the project buffer 0.20% of times. In the other case (project manager – a high risk seeker), it is suggested to use the buffer sizing technique “Root square” or Sum of Squares (SSQ) which gives a total project length of 26.12 weeks (= CC(22) + PB(4.12)) and it exceeds the project buffer 6.45% of the times given the information. The project manager of this particular project is working for the government, therefore he is probably risk averse, thus it is suggested to use the “Original RESM” technique. These results are confirmed by the penalties in Table 8. Table 8. Penalties overview. Modified buffer sizing techniques Penalty low risk seeker
Penalty high risk seeker
Original RESM
3400,73
6681,45
Ashtiani RESM
5642,82
11285,64
Root Square
4640,00
5410,00
APD
4733,11
5686,21
APRT
8485,66
16971,32
High Risk
3656,12
7282,25
Medium Risk
5120,00
5830,00
Cut and Paste
6605,73
13211,45
Source: own elaboration
8.3. General conclusions
54
The paper is a case study, which shows clearly that an efficient application of the critical chain method is possible only if it is preceded by a careful study of how the buffers should be located and sized in the case in question. The authors show that there are several buffer sizing and location methods which have been proposed, but no general rules are known as to the question when which method should be chosen. The authors formulate a hypothesis that no general rules are possible and that the only way to find out Articles
VOLUME 7,
N° 3
2013
how the buffers should be sized and located is simulation. A fairly easy simulation approach is proposed, which requires generally only accessible software. However, further research is recommended to find out if the proposed hypothesis is true. The question may be asked if there can be identified some project types for which unequivocal recommendation might me formulated as to the location and size of buffers in the critical chain method application.
Acknowledgements
This work is supported by Polish National Science Center grant “The buffer size and location in a proactive and reactive risk management of a project duration overrunning”. 2011/01/B/HS4?02821.
AUTHORS
Anna Ślusarczyk – a PhD student of Wroclaw University of Technology, Institute of Organisation and Management. Dorota Kuchta* – professor at the Institute of Organization and Management, Wroclaw University of Technology, 50-370 Wroclaw, Poland. Head of the research group “Logistics and Project Management”, dorota.kuchta@pwr.wroc.pl Philip Verhulst, Willem Huyghe, Koen Lauryssen, Torrino Debal – Ghent University, Belgium *Corresponding author
References [1] Goldratt E.M., Critical Chain, North River Press, Great Barrington, MA, 1997. [2] Tukel O.I. et al., “An investigation of buffer sizing techniques in critical chain scheduling”, European Journal of Operational Research, vol. 172, 2005, 401–416. [3] Leach L.P., Critical Chain Project Management, 2nd Edition, Artech House Inc., 2004. [4] Van de Vonder S. et al, “The trade-off between stability and makespan in resource-constrained project scheduling”, International Journal of Production Research, vol. 44, no. 2, 2006, pp. 215–236. [5] PMI, A Guide to the Project Management Body of Knowledge, 4th Edition, PMI, 2008. [6] Shou Y., Yeo K.T., “Estimation of Project Buffers in Critical Chain Project Management”. In: Proceedings of the IEEE international conference on management of innovation and technology. ICTMIT, 2000, pp. 162–167. [7] Vanhoucke M., Project management. Course Book, Academia Press/Gent., 2011. [8] Owen C.B., Parameter Estimation for the Beta Distribution, 2008. [9] Połoński M., Pruszyński K., „Lokalizacja buforów czasu w metodzie łańcucha krytycznego w harmonogramach robot budowlanych – podstawy teoretyczne (cz. I)”, Przegląd budowlany, no. 2, 2008, pp. 45–49. (in Polish)
Journal of Automation, Mobile Robotics & Intelligent Systems
[10] Ashtiani B. et al., „A new approach for buffer sizing in Critical Chain scheduling, Industrial Engineering and Engineering Management”. In: IEEE International Conference on Industrial Engineering and Engineering Management, 2nd–4th Dec. 2007, pp. 1037–1041. DOI: 10.1109/ IEEM.2007.4419350. [11] Herroelen, W., Leus, R., „On the merits and pitfalls of chain scheduling”, Journal of Operations Management, 2001, 19, pp. 559–577. [12] Newbold R.C., Project Management in the Fast Lane: Applying the Theory of Constraints, Saint Lucie Press 1998. [13] Kuchta D., Ślusarczyk A., “An implementation of buffers for a risk management of delay in projects performed by local governments. Case study. In: Zarządzanie projektami w nauce i praktyce, ed. D. Kuchta, Oficyna Wydawnicza Politechniki Wrocławskiej, Wrocław 2011.
VOLUME 7,
N° 3
2013
Fig. 25. Risk Classes – High Safety Method
Appendix
Fig. 23. Copy Paste Method
Fig. 26. Sum of Squares Method
Fig. 24. Risk Classes – Medium Safety Method
Fig. 27. Ashtiani RESM Method
Articles
55
Journal of Automation, Mobile Robotics & Intelligent Systems
56
VOLUME 7,
Fig. 28. Modified Copy Paste Method
Fig. 31. Modified Sum of Squares Method
Fig. 29. Modified Risk Classes – Medium Safety Method
Fig. 32. Modified RESM Method
Fig. 30. Modified Risk Classes – High Safety Method
Fig. 33. Modified Ashtiani RESM Method
Articles
N° 3
2013
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 7,
N° 3
2013
Rough RoughSurface SurfaceDescription DescriptionSystem Systeminin2,5D 2,5DMap MapFor ForMobile MobileRobot RobotNavigation Navigation th th th th Submitted Submitted2626 December December2012; 2012;accepted accepted1717 May May2013 2013
Adam Adam Niewola Niewola Rough Surface Description System in 2,5D Map For Mobile Robot Navigation Submitted: 26th December 2012; accepted: 17th May 2013
Adam Niewola
Abstract: Abstract: Thispaper paperpresents presentsa anew newsolution solutionininthe theroughness roughness This descriptionbased basedonon2,5D 2,5Dmap. map.Three Threeparameters parametersfor for description roughsurface surfacedescription descriptionwere wereproposed. proposed.The Theresearch research rough wasperformed performedtotoverify verifywhich whichparameter parameterprovides providesthe the was bestcombination combinationofoftime timecalculation calculationand andaccuracy accuracyofof best theterrain terrainroughness roughnessreconstruction. reconstruction.Prepared Preparedmap map the maybebeused usedfor formobile mobilerobot robotpath pathplanning. planning. may Keywords:mobile mobilerobot, robot,navigation, navigation,2,5D 2,5Dmap map Keywords:
1.1. Introduction Introduction Mobile Mobilerobots robotsare areused usedininwide widerange rangeofoftasks. tasks. Robots Robotswhich whichdeserve deservea aparticular particularattention attentionare arethetheseseones oneswhich whichoperate operateininthe therough roughterrain, terrain,for forexexample ampleexploration explorationrobots robotsororrobots robotsused usedbybyarmy. army. The Themobile mobilerobots robotsnavigation navigationproblem probleminvolves involves several severalaspects. aspects.The Thelocalization localizationisistotofind findthe theposiposition tionand andorientation orientationofofthe therobot robotininthe theworkspace workspaceinin relation relationtotothe themap mapofofthe therobot robot[15]. [15].The Thepath pathplanplanning ningincludes includesfinding findingthe theoptimal optimalpath pathfrom fromthe thestart start totothe thegoal goalposition positionininrelation relationtotoapplied appliedcriteria. criteria. The Thenext nextstep, step,robot robotfollows followsgenerated generatedtrajectory trajectoryand and collects collects the the information information about about the the environment environment which whichisisused usedtotoupdate updatethe themap. map. The Themap mapofofthe theenvironment environmenthas hasa abig bigimpact impacton on the theaccuracy accuracyofofreaching reachingthe thegoal goalposition positionasaswell wellasas the thepossibility possibilityofofpassing passinggenerated generatedpath. path.The Theissue issue ofofthe thepath pathplanning planningprocess processisisvery veryoften oftenconsidered considered bybythe thescientists. scientists.There Thereare areseveral severaltypes typesofofapapproaches proacheswhich whichmay maybebedivided dividedinto intotwo twogroups. groups. Roadmap Roadmapmethods methodsare aretotocreate createa anet netofofroads roads where whererobot robotmay maymove movewithout withoutany anycollision. collision.This This leads leadstotothe thecreation creationofofgraph graphwhich whichafterwards afterwardsisis searched searchedtotofind findananoptimal optimalpath. path.Roads Roadsnet netmay maybebe created createdwith withthe theuse useofofdifferent differentmethods. methods.InInvisibilvisibility itygraph graphmethod methoda agraph graphisiscreated createdbybyconnecting connecting vertices verticesofofobstacles. obstacles.InInthe theVoronoi Voronoidiagram diagrammethod method roads roadsare arecreated createdbybypointing pointingout outthe thepaths pathswhose whose distances distancestototwo twoneighboring neighboringobstacles obstaclesare areequal. equal. Graph Graph vertices vertices are are placed placed inin the the points points where where 33paths pathsconnect connect[9]. [9]. The Thecreated createdgraph graphmay maybebesearched searchedwith withthe theuse use ofofdifferent differentalgorithms, algorithms,e.g. e.g.the thedepth depthfirst firstalgorithm, algorithm, Dijkstra’s Dijkstra’salgorithm algorithmand andA*A*algorithm. algorithm.The Thelast lastone oneisis very verycommon. common.Many Manymodifications modificationsofofthis thisalgorithm algorithm were wereperformed performedfor forimplementing implementingititininvarious variousapapplications plications(e.g. (e.g.for forfast fastreplanning replanning– –[6] [6]and and[7]). [7]). Another Anothertype typeofofpath pathplanning planningmethods methodsare arepopotential tentialmethods methods[9]. [9].They Theyused useda apotential potentialfield fieldcrecre-
atedwith withthe theuse useofofthe thestart startand andthe thegoal goalposition position ated andthe thepositions positionsand andshapes shapesofofobstacles. obstacles.The Themain main and problemininthese thesemethods methodsare arethe thelocal localminima minima problem whichexists existsininpotential potentialfields. fields.They Theyprevent preventthe thegoal goal which position from from being being achieved. achieved. There There are are several several position waysofofavoiding avoidingofofthe thelocal localminima minima([10]). ([10]). ways Thereisisa awide widerange rangeofofrelatively relativelynovel novelalgoalgoThere rithmsfor forpath pathplanning, planning,e.g. e.g.genetic geneticalgorithms, algorithms, rithms memeticalgorithms algorithms([12]) ([12])and andprobabilistic probabilisticmethmethmemetic ods([13] ([13]and and[14]). [14]). ods Thereare areseveral severaltypes typesofofmaps mapsused usedfor forthe themomoThere bilerobots. robots.The Themost mostcommon commonare arethe the2D 2Dcell cellmaps maps bile withthe thestatus status(free, (free,occupied occupiedororunknown) unknown)assigned assigned with eachcell. cell.This Thisapproach approachcannot cannotbebeapplied appliedfor forthe the totoeach mobilerobots robotsthat thatoperate operateininananopen openenvironment environment mobile witha ahigh highroughness roughnesslevel. level.The Thecell celldescription descriptionasas with freeororoccupied occupiedisisnot notenough enoughbecause becausesome someobstaobstafree clesmay maybebeovercome overcomewith withhigher higherenergy energyconsumpconsumpcles tion,some someofofthem themmay maybebeovercome overcomeonly onlyininone oneway way tion, (e.g.moving movingdown downthe thehill hillmay maybebepossible possibleininconcon(e.g. trasttotomoving movingup). up).Except Exceptthat thatthere theresome someobstacles obstacles trast occurs,like likesmall smallwater watertanks, tanks,sandy sandyareas areasororsmall small occurs, plantswhich whichrobot robotmay mayalso alsoovercome overcomebut butwith withlimlimplants itedvelocity. velocity.The Theenvironment environmentlike likethis thismakes makesthat that ited forthe theeffective effectivepath pathplanning planningthere thereisisa aneed needofofapapfor propriateterrain terraindescription descriptionininthe theworkspace workspacemap. map. propriate Mapscommonly commonlyused usedininmobile mobilerobots robotssystems systems Maps maybebedivided dividedininthree threegroups groups[1], [1],[2]: [2]: may the occupancy occupancy grids grids – – the the 2D 2D cell cell maps maps —— the (square,rectangular, rectangular,hexagonal) hexagonal)with withstatus status (square, assignedtotoeach eachcell; cell;the thedistance distancebetween between assigned twocells cellsrepresents representsreal realdistance distancebetween between two twopoints, points, two thetopological topologicalmaps maps– –the thegraph graphstructured structured —— the mapswhich whichshow showconnections connectionsbetween betweenthe the maps mostimportant importantelements elementsofofthe theenvironment; environment; most thedistance distancebetween betweentwo twoelements elementsofofthe themap map the doesnot notcorrespond correspondtotothe thedistance distancebetween between does themininthe thereal realenvironment, environment, them the hybrid hybrid maps maps – – the the topological-metric topological-metric —— the mapswhich whichare arebuilt builtasasthe thesystem systemofoflocal localococmaps cupancygrids gridswhich whichare arethe thegraph graphnodes nodesinin cupancy theglobal globaltopological topologicalmap. map. the Mapswhich whichare areused usedfor forthe themobile mobilerobots robotswhich which Maps operateininrough roughterrain terrainare aremost mostcommonly commonly2,5D 2,5D operate maps([3],[4],[5]). ([3],[4],[5]).They Theyare areananexpansion expansionofofstandard standard maps 2Dmaps. maps.Each Eachcell cellmay maystore storea anumber numberofofparameparame2D tersfor forappropriate appropriateterrain terraindescription. description. ters Thereare arealso alsosome somecombined combinedapproaches. approaches.InIn[11] [11] There 2Dmap mapeach eachcell cellisissubdivided subdividedinin16×16 16×162,5D 2,5Dmaps maps a a2D withheight heightparameter, parameter,roughness roughnessparameter parameterand andslope slope with parameter.All Allofofthese theseparameters parametersare areused usedtotocompute compute parameter. Articles
57
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 7,
N° 3
2013
the traversability index gathering the information about the ease-of-traverse of the terrain. In some cases 2,5D map is not enough and then 3D maps are used. They are mainly used when robot operates in 3D environment (e.g. underwater mobile robots or air mobile robots). They are rarely proposed for land mobile robots due to high number of empty cells. In [15] a new method for 3D map building is proposed. It uses the stereo vision for gathering the information about the terrain height. It does not need the disparity map and that is why it reduces the computation cost and can be used in the real-time systems.
On the basis of laser scans of the rough surface terrain several tests were performed in order to verify which parameters should be used to describe the mobile robot environment in 2,5D map. The parameters which were taken into consideration were:
In this paper an attempt was made to find a set of parameters describing the rough surface for mobile robot navigation. This paper deals with gathering information by the robot and does not take into account the localization process of mobile robot. The parameters required for rough surface description from the point of view of path planning are mentioned below: — the altitude parameter; — the small roughness description parameter; — the information confidence parameter. Research scene was the point cloud of rough surface terrain received from 3D laser scan. The most common laser scanners are: — the triangulation scanners – provide the information about the distance with the use of the angle of reflection; — the time reflection scanners – measure the time between stream emission and detection; — the phase shift scanners – similar to the time reflection scanners; they provide higher accuracy thanks to phase shift measurement. The measurement error is an integral part of each measurement. In the laser scanners, particularly these scanners which are installed on the mobile robots, the error is caused by inaccurate positioning of the scanner in relation to robot. It is also caused by the errors in the robot localization process [16]. The point coordinates obtained by the scanner in global map coordinates system may be noted:
Fig. 1. The error of the point coordinates calculation by the laser scanner
2. Information gathering
��,� = ��,� � ��,� � ��,�
(1)
where: rP,0 – the P point position in the base coordinates system, T0,R – the transformation matrix from the base coordinates system to the mobile robot coordinates system, TR,S – the transformation matrix from the robot coordinates system to the scanner coordinates system, rP,S – the P point position in the scanner coordinates system. Due to errors mentioned above, the point obtained from the scanner is not described by 3 coordinates in base coordinates system but it is a sphere with a range where its coordinates may vary. This may be shown as an ellipsoid where the coordinates of the obtained point may occur with highest probability (Fig. 1).
58
Articles
— the parameter describing altitude – average height, maximum height and mean range height (definitions below) from each cell, — the roughness index – standard deviation and range in each cell, — the confidence level index – confidence level and confidence factor. The view of one of the tested areas is shown in the Fig. 2.
Fig. 2. View of tested area
3. The altitude description The cell altitude was described in 3 ways: — the average height – equation (2), — the mean range height – equation (3), — the maximum height – equation (4). ℎ���� =
� 1 � ℎ� � ���
ℎ���� = ℎ��� +
ℎ��� − ℎ��� 2
ℎ���� = ℎ���
(2) (3)
(4)
where: hcell – cell altitude, hi – point height, n – number of points in the cell, hmax – maximum height of point in the cell, hmin – minimum height of point in the cell.
Results of the average height computation depending on the cell dimensions were shown in Fig. 3 as an example. When cell dimensions decrease the
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 7,
precision of description of the environment in the map increases. hcell [mm]
400 300 200 100 100 2800
2500
1000
2200
100 400 700 1000 1300 1600 1900
0
y [mm]
x [mm]
hcell [mm]
400 300 200 100
1,8 1,6 1,4 1,2 1 0,8 0,6 0,4 0,2 0
0
0
1000
200 y [mm]
300
calculation time [s]
hcell [mm]
200
0
1000
500
20000 40000 60000 number of map points
80000
Fig. 5. Average height calculation time for the whole map with 100x100 mm cells with the use of point-bypoint updating algorithm
y [mm]
Fig. 3c. Terrain description with the use of average height (cell 500x500 mm)
0,3 0,25
calculation time [s]
500 1000 1500 2000 2500 3000 x [mm]
80000
0,09 0,08 0,07 0,06 0,05 0,04 0,03 0,02 0,01 0
100 0
20000 40000 60000 number of map points
Fig. 4. Average height calculation time for the whole map with 100x100 mm cells with the use of dividing and calculating algorithm
x [mm]
Fig. 3b. Terrain description with the use of average height (cell 200x200 mm)
2013
Parameters describing the average height were tested for different cell dimensions. Time calculation for the whole map, as well as one-point-adding to the map, were verified. Two algorithms were implemented in cell heights calculation process for the whole map. First one was to assign each point to its cell, and then to calculate an average value in each cell (dividing and calculating algorithm). The second algorithm was calculating average value point-bypoint. Each point was added to its cell and then the average value in the cell was updated (point-bypoint updating algorithm). The map dividing and average height calculating algorithm has the O(n2) time complexity. The pointby-point calculation algorithm has the O(n) time complexity. calculation time [s]
Fig. 3a. Terrain description with the use of average height (cell 100x100 mm)
N째 3
0,2
0,15 0,1
0,05 0 0
Fig. 3d. View of tested area
500
1000 1500 cell dimension [mm]
2000
Fig. 6. Average height calculation time for the whole map consisted of ~17000 points with the use of dividing and calculating algorithm Articles
59
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 7,
calculation calculationtime time[s] [s]
0,1 0,1 0,08 0,08 0,06 0,06 0,04 0,04 0,02 0,02 0 0
0 0
200 200
400 600 400 600 cell cell dimension dimension [mm] [mm]
800 800
1000 1000
Fig. Fig. 7. 7. Average Average height height calculation calculation time time for for the the whole whole map consisted of ~64000 points with the use map consisted of ~64000 points with the use of of pointpointby-point by-point updating updating algorithm algorithm Comparison Comparison of of these these 2 2 algorithms algorithms for for the the average average value calculation was shown in Figs. 4 and value calculation was shown in Figs. 4 and 5. 5. It It conconfirms the time complexity of these two methods. firms the time complexity of these two methods. When When cell cell dimensions dimensions increase, increase, time time calculation calculation dedecreases while using the first algorithm (Fig. creases while using the first algorithm (Fig. 6). 6). When When alternative alternative algorithm algorithm was was used, used, time time calculation calculation was was constant while increasing the cell dimensions constant while increasing the cell dimensions (Fig. (Fig. 7). 7). Cell dimensions dimensions (map (map granularity) granularity) should should be be comcomCell bined with with the the dimensions dimensions of of the the robot. robot. Because Because of of the the bined calculation time, time, big big dimensions dimensions of of cell cell are are demand. demand. calculation However, due due to to the the precision precision of of the the terrain terrain description description However, smaller cells cells are are more more suitable suitable (10–30% (10–30% of of the the robot robot smaller width). width). In the the mobile mobile robots robots applications applications more more important important In than calculating calculating the the heights heights for for the the whole whole map map (map (map than preparation for for navigation) navigation) may may be be map map updating updating preparation with the the use use of of the the information information from from the the sensors. sensors. It It with takes into into consideration consideration adding adding single single points points to to the the takes map obtained obtained from from the the laser laser scanner. scanner. Updating Updating the the map new average average value value requires requires the the use use of of the the formula: formula: new ℎ ����_��� = = ℎ����_���
ℎ ���� �� � ��� �+ +ℎ ℎ��� ℎ���� �+ +1 1 �
(5) (5)
where: h hcell_new where: – updated updated cell cell average average height height value, value, cell_new – – height value for new point, n – h new number of of hnew – height value for new point, n – number points points in in the the cell. cell.
Every Every time time when when aa new new point point is is obtained obtained by by the the scanscanner, average value in one (or more) cells should be ner, average value in one (or more) cells should be updatupdated. ed. Whereas Whereas using using other other cell cell height height parameters parameters (e.g. (e.g. maximaximum height or mean range value) cell height value mum height or mean range value) cell height value may may be be updated updated only only when when new new point point has has higher higher value value than than maximaximum mum in in the the cell cell or or lower lower than than minimum. minimum. Comparison of these Comparison of these three three parameters parameters as as aa cell cell height value was shown in Tab. 1. height value was shown in Tab. 1.
Tab. 1. 1. Cell Cell height height value value calculation calculation after after single single point point Tab. adding adding parameter parameter
average average height height mean mean range range height height maximum maximum height height
60
calculation time time for for addaddcalculation ing of of 1000 1000 new new points points to to ing the map map [ms] [ms] the 0,042 0,042 0,034 0,034 0,028 0,028
Results of of the the single single point point adding adding allow allow to to sample sample Results new points points from from the the terrain terrain with with the the frequency frequency new Articles
N° 3
2013
of MHz. MHz. It It is is more more than than typical typical laser laser scanners scanners (up (up to to of 100 kHz) offer. However, results shown in Tab. 1 100 kHz) offer. However, results shown in Tab. 1 may be far from single point adding in real mobile may be far from single point adding in real mobile robot system system due due to to mobile mobile robot robot localization localization time time robot consumption but it is out of scope of this paper. Acconsumption but it is out of scope of this paper. According to the obtained results, calculation time cording to the obtained results, calculation time should not not be be factor factor which which can can be be used used to to decide decide should which parameter may be used to describe the rough which parameter may be used to describe the rough surface. The average height value was chosen besurface. The average height value was chosen because it provides the best accuracy. In proposed cause it provides the best accuracy. In proposed solution terrain terrain slope slope will will be be described described by by the the cell cell solution heights differences. heights differences.
4. Roughness Index
The The roughness roughness index index is is the the parameter parameter which which dedescribes the height differences in each cell. scribes the height differences in each cell. The The averaverage age height height provides provides the the information information about about the the differdifferences in the height of the cells and the roughness ences in the height of the cells and the roughness index index is is used used to to inform inform the the path path planner planner how how the the terrain height may vary in the cell. The terrain height may vary in the cell. The average average height height smoothes smoothes the the information information about about the the terrain terrain height and that is why the use of the parameter height and that is why the use of the parameter for for roughness roughness is is also also important. important. It It provides provides the the inforinformation mation about about sudden sudden jumps, jumps, big big slopes slopes and and other other vertical obstacles (e.g. walls). The roughness vertical obstacles (e.g. walls). The roughness index index will will not not need need to to be be used, used, if if the the cell cell dimensions dimensions are are small enough to provide the information small enough to provide the information about about the the vertical vertical obstacles obstacles but but it it is is connected connected with with longer longer computation computation time. time. The The roughness roughness may may be be described described as as the the local local difdifference in the terrain height. Cell height difference ference in the terrain height. Cell height difference may may provide provide good good results results only only when when cell cell dimensions dimensions are small enough. In other case there are small enough. In other case there should should be be aa parameter that shows the level of roughness parameter that shows the level of roughness in in each each cell. cell. This This parameter parameter can can be: be: — — the the standard standard deviation deviation of of height height in in each each cell: cell: =� ����� � � ���� =
∑�����(ℎ (ℎ���� − −ℎ ℎ�� ))�� ∑ ��� ���� � �− −1 1
— — the the height height range range in in each each cell: cell: � ���� = ��� − ��� =ℎ ℎ��� −ℎ ℎ��� �����
(6) (6) (7) (7)
The range range calculation calculation time time is is much much shorter shorter and and The does not not require require conversion conversion the the heights heights to to real real type. type. does Evaluation of of the the new new range range in in the the cell cell after after adding adding Evaluation new point point to to the the cell cell is is also also much much faster. faster. Calculating Calculating new the new new standard standard deviation deviation after after adding adding new new point point the to the the map map requires requires the the use use of of the the formula: formula: to 1 1 � � � = � �(� − 1)����� �� + �����_��� + �ℎ �ℎ���� ����_��� = �� �(� − 1)����� ���� � � � (� + − − (� + 1)ℎ 1)ℎ����_��� ����_��� � � �� +ℎ ℎ��� + ��� ��
�,� �,�
(8) (8)
where: SScell_new – new new standard standard deviation, deviation, SScell cell_new – cell where: – standard deviation deviation before before adding adding new new point, point, h hcell cell – –– standard – average height height before before adding adding new new point, point, h hcell_new cell_new – average – average height height after after adding adding the the new new point, point, h hnew new – average height of of new new point, point, n n –– number number of of points points in in the the cell cell height (before adding adding new new point). point). (before
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 7,
Comparison of the range and standard deviation calculation was shown in Tab. 2.
Tab. 2. Cell roughness index calculation after single point adding parameter
range standard deviation
calculation time for adding of 1000 new points to the map [ms] 0,078 0,030
Results shown in Tab. 2 also allows for sampling the environment with higher frequency than typical laser scanners provides. Because range calculating is much shorter and does not require using real numbers format, this parameter was chosen to describe the roughness in each cell.
5. Confidence Factor
The confidence level of the gathered data may be described using the statistical definition of the confidence level. Because of evaluating the cell height value with average height value, the expected value of height in the cell μcell may vary with the confidence level 1-α between: ℎ���� � ��/�
����� √�
≤ ����� ≤ ℎ���� � ��/�
����� √�
Assuming the applied value of the permissible variability of ����� confidence level may be calculated as: � √� ������
1 � � � ��,�� �� 2� ��√� ������
where: d – the permissible variability of �����
� √� 1 � � = 2� � ��1 2�����
2013
(11)
The confidence level calculated this way requires also calculating the standard deviation. It also does not take into consideration errors of each point coordinates evaluation by the laser scanner. Due to these errors each point may belong to more than one cell and the probability that point belongs to the cell may be calculated geometrically (Fig. 9) according to equation: ���� =
��������� ������
(12)
where: pnew – probability of point belonging to the cell, Aerror – total area of an error ellipsoid projected to the (x,y) plane, Aerr∩cell – intersection area of an error ellipsoid projected to the (x,y) plane with the area of cell.
(9)
where uα/2 – α/2-quantile of N(0,1) normal distribution.
1�� =
N° 3
(10)
It can be graphically shown as the field below the probability density of the normal distribution chart (Fig. 8).
Fig. 9. The probability of belonging to the cell Assumption that the point errors are an ellipsoid may be too complex due to Aerr∩cell calculation problems. It may be easier to assume that the point errors are cuboid or cube. Considering the point as a volume of points causes the need of modification of equation (5) to the form: ℎ����_��� =
ℎ���� � � � ℎ��� � ���� � � ����
(13)
where: w – total weight of all points in the cell currently, wnew – weight of new point which is being added to the map in current step.
Proposed wnew calculation is based on rx, ry, rz point errors and pnew probability of point belonging to the cell: ���� =
���� � � �� �� ��
where: a – length of the side of each cell. Fig. 8. Confidence level Equation (10) may be also written with use of the distribution function F of the N(0,1) distribution:
(14)
The cell dimension a which appears in equation (14) does not have an impact on the calculated average value but it has an impact on the value of confidence factor according to equation (15). According to the requirements mentioned below a new confidence factor CF was proposed: Articles
61
Journal of Automation, Mobile Robotics & Intelligent Systems
�� =
1
∑����
�� �� �
(15)
where: wi – weight of the point, di – distance between the point height value and the current average height value in the cell (in the case when it is equal to zero, there is a need to evaluate di as a sufficiently small number to avoid dividing by zero).
When updating the map point-by-point another formula may be used: 1 ����� = � 1 + ��� (16) �� ���� �
where: CF – confidence factor from previous step, CFnew – updated confidence factor, wnew – weight of new point, currently being added to the map, dnew – distance between new point height and updated average height. Charts from Fig. 10 to Fig. 13 shows changes of confidence factor depending on changes of other elements of CF equation. confidence factor
40 30 20 10 0
0
5 10 15 number of points added to the cell pnew = 1 pnew=0,5 pnew=0,3
Fig. 10. Relation of confidence factor and number of points in the cell for different values of points probabilities (a, hi, rx, ry, rz where the same for each point)
confidence factor
80 60 40 20 0 0
5 10 15 number of points added to the cell rx=ry=rz=20 mm rx=ry=rz=15 mm rx=ry=rz=10 mm
Fig. 11. Relation of confidence factor and number of points in the cell for different point errors values (a, hi, pi where the same for each point) 62
Articles
N° 3
2013
confidence factor
100 80 60 40 20 0 0
0,2 0,4 0,6 0,8 probability of the point belonging to the cell
1st point added
3rd point added
1
5th point added
Fig. 12. Relation of confidence factor and probability of belonging to the cell for the same point added to the cell for the 1st, 3rd and 5th time (a, hi, rx, ry, rz where the same for each point)
350 300 confidence level
— CF has non-negative values, it increases when the information confidence becomes lower; — CF decreases while increasing the number of points in the cell; — when the number of points is big, adding a new point to the cell does not have a big impact at the CF factor. Proposed equation for calculating the confidence factor was shown below:
VOLUME 7,
250 200 150 100 50 0 0
20 pnew=1
40 60 rz error [mm] pnew=0,5
80
100
pnew=0,3
Fig. 13. Relation of confidence factor and rz error of the point for different values of points probabilities (a, hi, rx, ry where the same for each point).
6. Conclusions In the 2,5D map used for description of the rough terrain for mobile robot navigation there is a problem of selecting appropriate parameters to describe height, slope, roughness and information confidence. As it was shown calculating height in each cell after adding new point to the map does not need large computational requirements (for each of selected parameters). For sure, the robot localization problem has an impact on the calculation time while adding a new point to the map from the laser scanner measurements. However it was out of scope of this paper. The main advantage of proposed solution of 2,5D map building was distinction of the height and slope description from the roughness description and the confidence level description. Further research will focus on the path planning algorithms with use of the proposed 2,5D map and the development of proposed rough terrain description system. AUTHOR Adam Niewola – Technical University of Lodz, Institute of Machine Tools and Production Engineering, Stefanowskiego 1/15 St.; 90-924 Łódź; adam.niewola@gmail.com
Journal of Automation, Mobile Robotics & Intelligent Systems
References [1] Tarutoko Y., Kobayashi K., Watanabe K., “Topological Map Generation based on Delaunay Triangulation for Mobile Robot”. In: SICE-ICASE International Joint Conference, 2006, p. 492. [2] Siemiątkowska B., Szklarski J., Gnatowski M., Zychewicz A., “Budowa hybrydowej semantyczno-rastrowej reprezentacji otoczenia robota”, Pomiary Automatyka Kontrola, vol. 3, 2010, pp. 279–280 (in Polish). [3] Ye C., JBorenstein J., “A Method for Mobile Robot Navigation on Rough Terrain”. In: International Conference on Robotics and Automation, New Orleans 2004, pp. 3863–3865. [4] Triebel R., Patrick Pfaff P., Burgard W., “MultiLevel Surface Maps for Outdoor Terrain Mapping and Loop Closing”. In: International Conference on Intelligent Robots and Systems, Beijing, 2006, pp. 2276–2277. [5] Fong E.H.L., Adams W., Crabbe F.L., Schultz A.C., “Representing a 3-D Environment with a 2,5-D Map Structure”. In: International Conference on Intelligent Robots and Systems, Las Vegas, 2003, pp. 2987–2989. [6] Podsędkowski L., Nowakowski J., Idzikowski M., Visvary I., “Modified A* algorithm suitable for on-line car-like mobile robots control”, Robot Motion and Control, 1999, pp. 235–240. [7] Podsędkowski L., Nowakowski J., Idzikowski M., Visvary I., “A new solution for path planning in partially known or unknown environment for nonholonomic mobile robots”, Robotics and Autonomous Systems, vol. 34, issues 2–3, 2001, pp. 142–152. [8] Porta Garcia M.A., Montiel O., Castillo O., Sepulveda R., Melin P., “Path planning for autonomous mobile robot navigation with ant colony optimization and fuzzy cost function evaluation”, Applied Soft Computing, vol. 9, issue 3, 2009, pp. 1102–1110. [9] Latombe J.-C., Robot Motion Planning, Kluwer Accademic Publishers, 1991, pp. 297–313. [10] Tang L., Dian S., Gu G., Zhou K., Wang S., Feng X., “A novel Potential Field Method for Obstacle Avoidance and Path Planning of Mobile Robot”, IEEE International Conference on Computer Science and Information Technology, vol. 9, 2010. [11] Gu J., Cao Q., “Path planning using hybrid grid representation on rough terrain”, Industrial Robot: An International Journal, vol. 36, no. 5, 2009, pp. 497–502. [12] Bigaj P., “A memetic algorithm for global path planning with movement constraints for a nonholonomic mobile robot”, PhD Dissertation, System Research Institute, Polish Academy of Sciences, publ. by PIAP, Warsaw 2012. ISBN: 97883-61278-16-0. [13] Amato N.M., Wu Y., “A Randomized Roadmap method for Path Planning and Manipulation Planning”. In: IEEE International Conference on Robotics and Automation, 1996, pp. 113–120. [14] Lingelbach F., “Path Planning of Mobile Manipulation using Probabilistic Cell Decomposition”.
VOLUME 7,
N° 3
2013
In: IEEE/RSJ International Conference on Intelligent Robots and Systems, 2004, pp. 2807–2812. [15] Podsędkowski L., Idzikowski M., “Robot localisation methods using the laser scanners”. In: 4th International Workshop on Robot Motion and Control, Puszczykowo, Poland, 2004, Robot Motion and Control: Recent Developments, 2006, vol. 335, pp. 315–332. [16] Idzikowski M., Podsędkowski L., “Simulation and experimental results of a new method for mobile robot localization”. In: 5th International Workshop on Robot Motion and Control, Puszczykowo, Poland, 23rd–25th June 2005, pp. 175–179.
Articles
63