VOLUME 8
N째 4
2014
www.jamris.org
pISSN 1897-8649 (PRINT) / eISSN 2080-2145 (ONLINE)
JOURNAL OF AUTOMATION, MOBILE ROBOTICS & INTELLIGENT SYSTEMS
Editor-in-Chief
Associate Editors:
Janusz Kacprzyk
Jacek Salach (Warsaw University of Technology, Poland) Maciej Trojnacki (PIAP, Poland)
(Polish Academy of Sciences, PIAP, Poland)
Statistical Editor: Advisory Board:
Małgorzata Kaliczynska (PIAP, Poland)
Dimitar Filev (Research & Advenced Engineering, Ford Motor Company, USA) Kaoru Hirota (Interdisciplinary Graduate School of Science and Engineering, Tokyo Institute of Technology, Japan)
Language Editor: Grace Palmer (USA)
Jan Jabłkowski (PIAP, Poland)
Typesetting:
Witold Pedrycz (ECERF, University of Alberta, Canada)
Ewa Markowska, PIAP
Webmaster:
Co-Editors:
Piotr Ryszawa, PIAP
Roman Szewczyk (PIAP, Warsaw University of Technology)
Editorial Office:
Oscar Castillo (Tijuana Institute of Technology, Mexico)
Industrial Research Institute for Automation and Measurements PIAP Al. Jerozolimskie 202, 02-486 Warsaw, POLAND Tel. +48-22-8740109, office@jamris.org
Marek Zaremba (University of Quebec, Canada) (ECERF, University of Alberta, Canada)
Executive Editor:
Copyright and reprint permissions Executive Editor
Anna Ładan aladan@piap.pl
The reference version of the journal is e-version.
Editorial Board: Chairman - Janusz Kacprzyk (Polish Academy of Sciences, PIAP, Poland) Plamen Angelov (Lancaster University, UK) 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) Andries Engelbrecht (University of Pretoria, Republic of South Africa) Pablo Estévez (University of Chile) Bogdan Gabrys (Bournemouth University, UK) Fernando Gomide (University of Campinas, São Paulo, Brazil) Aboul Ella Hassanien (Cairo University, Egypt) Joachim Hertzberg (Osnabrück University, Germany) Evangelos V. Hristoforou (National Technical University of Athens, Greece) Ryszard Jachowicz (Warsaw University of Technology, Poland) Tadeusz Kaczorek (Bialystok University of Technology, Poland) Nikola Kasabov (Auckland University of Technology, New Zealand) Marian P. Kazmierkowski (Warsaw University of Technology, Poland) Laszlo T. Kóczy (Budapest University of Technology and Economics, Hungary) Józef Korbicz (University of Zielona Góra, Poland) Krzysztof Kozłowski (Poznan University of Technology, Poland) Eckart Kramer (Fachhochschule Eberswalde, Germany) Rudolf Kruse (Otto-von-Guericke-Universität, Magdeburg, Germany) Ching-Teng Lin (National Chiao-Tung University, Taiwan) Laszlo T. Kóczy (Szechenyi Istvan University, Gyor and Budapest University of Technology and Economics, Hungary) Piotr Kulczycki (AGH University of Science and Technology, Cracow, Poland)
Andrew Kusiak (University of Iowa, USA) Mark Last (Ben-Gurion University, Israel) Anthony Maciejewski (Colorado State University, USA) Krzysztof Malinowski (Warsaw University of Technology, Poland) Andrzej Masłowski (Warsaw University of Technology, Poland) Patricia Melin (Tijuana Institute of Technology, Mexico) Fazel Naghdy (University of Wollongong, Australia) Zbigniew Nahorski (Polish Academy of Sciences, Poland) Nadia Nedjah (State University of Rio de Janeiro, Brazil) Duc Truong Pham (Cardiff University, UK) Lech Polkowski (Polish-Japanese Institute of Information Technology, Poland) Alain Pruski (University of Metz, France) Rita Ribeiro (UNINOVA, Instituto de Desenvolvimento de Novas Tecnologias, Caparica, Portugal) Imre Rudas (Óbuda University, Hungary) Leszek Rutkowski (Czestochowa University of Technology, Poland) Alessandro Safiotti (Örebro University, Sweden) Klaus Schilling (Julius-Maximilians-University Wuerzburg, Germany) Vassil Sgurev (Bulgarian Academy of Sciences, Department of Intelligent Systems, Bulgaria) 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) Rene Wamkeue (University of Quebec, Canada) Janusz Zalewski (Florida Gulf Coast University, USA) Teresa Zielinska (Warsaw University of Technology, Poland)
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 8, N° 4, 2014 DOI: 10.14313/JAMRIS_4-2014
CONTENTS 3
40
Arkadiusz Janik, Szymon Kiebzak DOI: 10.14313/JAMRIS_4-2014/30 11
! " Jacek Salach DOI: 10.14313/JAMRIS_4-2014/31 15
#$% & '' # $ % " Christopher Clarke, Plamen Angelov DOI: 10.14313/JAMRIS_4-2014/32
% / " 0 ) # # " "" / Vibekananda Dutta, Nishtha Kesswani DOI: 10.14313/JAMRIS_4-2014/36 51
" )
* ! * + Lucyna Bogdan, Grazyna Petriczek, Jan Studzinski DOI: 10.14313/JAMRIS_4-2014/37 59
' ) 1 ' Maciej Krawczak, Grazyna Szkatula DOI: 10.14313/JAMRIS_4-2014/38
20
( ) # Control
DOI: 10.14313/JAMRIS_4-2014/33 24
63
# " " / ) 2 ) ' 034 #53 # ) " Rafal Biedrzycki, Dorota Jackiewicz, Roman Szewczyk DOI: 10.14313/JAMRIS_4-2014/39
! ! * + $ , * ) # - " ( Zenon Hendzel, Maciej Trojnacki DOI: 10.14313/JAMRIS_4-2014/34 31
$ " . , ' " ) # Piotr Bigaj, Jakub Bartoszek, Maciej Trojnacki DOI: 10.14313/JAMRIS_4-2014/35
2
Articles
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 8,
N° 4
2014
Submitted: 6th July 2014; accepted 28th July 2014
Arkadiusz Janik, Szymon Kiebzak DOI: 10.14313/JAMRIS_4-2014/30 Since paradigm shift from thick clients to thin ones and through growing requisition of remote services we have been facing continuous evolution of web applications. Standards and approaches of building HTML clients have been changing and now one of the biggest challenges for web application developers is issue related to clientside data storage. This paper applies to new technologies specified recently by World Wide Web Consortium. These specifications refer to new methods of storing data in web clients, which can be accessed via JavaScript in modern web browsers. In addition, the paper introduces a design and a reference implementation of a framework for Java language and Java Server Pages technology that simplifies implementation of web based applications with client-side storage. The framework is designed for integrating Java language with above mentioned new W3C specifications to create more powerful, modern, thin client web applications easily, without a need of knowledge of implementation details of JavaScript API for new technologies but using only Java language. The framework can be used to build thin clients, including mobile web-based clients that may replace not –portable, native mobile applications. !"#$ % HTML5, Offline-storage, WebSQL, Web Storage, IndexedDB, File API, client-side storage
& '( $%) *$( W3C organization has recently introduced HTML5 specification. Since then lot of effort has been made on implementing a new client-side storage technologies to give developers opportunity to create powerful web applications that utilize HTML5 and CSS3. Previous technologies of client-side storage, such as HTTP Cookies or URL parameters, were not enough. The lack of sophisticated client-storage technologies was particularly important in a world of mobile applications. This led to expansion of thick, native clients that are not portable and have to be implemented for each mobile platform (Android, iOS, BlackBerry, Windows Phone etc.). Additionally, there are more and more users of Internet and, due to limited servers’ efficiency, storing data on a client side is an obvious way of increasing applications performance (especially now when clients machine nowadays have relatively big CPU and RAM capabilities).
The new client-side storage technologies could be used in improvement of distributed data acquisition systems in the field of automation and measurements where problems with an access to the network may occur. Web Storage, Indexed Database and File API are modern technologies and there has not been much research done in relevance to them (last two have not been marked with Recommendation status – W3C still works on the specification). They still require thorough examination. In the paper, we summarize the results of our investigation and viability study on the subject of above mentioned technologies. In the first part of the paper we present previous ways of storing data in a web browser on a client-side. Then, we summarize Web Storage, Indexed Database, File API. We also present a design of a framework and reference implementation of a library for Java language that can be used to integrate web applications written in Java (web frameworks based on JSP technology) with the mentioned client-side technologies.
+ ( ,! ,*!# $- . !,*$) /*!( *%!
$ 0! 1! 2$% + & 344. $$5*! HTTP Cookies were introduced in 1994. The main motivation was the ability to store state of customers’ basket in web stores. It was a very important matter, especially that e-commerce businesses were growing ones. A concept behind cookies is very simple. A cookie is a small piece of information that consists of unique key and its value. The cookies are stored as files in a client’s file system. Obviously web browser can access these files. When HTTP server wants to set a cookie in a particular client computer, it sends a key and a value of the cookie in the HTTP Response. After that when a client browser generates the new HTTP Request, it attaches all the previously stored cookies to a header in the HTTP Request thus all the cookies for a relevant web domain are sent to the web server. A drawback of using the HTTP Request for transporting cookies is a limitation of the cookies size (4kB for a web domain). Another weakness of the cookies is that the technology is susceptible to web attacks. Even though some mechanisms to prevent such threats have been introduced still not cope with all attacks [6]. Nowadays, the HTTP cookies are still widely used by web applications, primarily to store session ID but 3
Journal of Automation, Mobile Robotics & Intelligent Systems
also to provide website personalization. The last but not least – the cookies can be used to track user activities on websites.
+ + 678 . 9! ! In some cases, cookies can be substituted by URL parameters. It is quite important since users can disable cookies in web browsers. Therefore, URL parameters are often used to keep users session. The main difference between this mechanism and cookies is a fact that information transferred in URL parameters is lost once a user closes a web browser window.
: ( $,! ,*!# $- ;: /*!( *%! $ 0! <! *-* *$( : & 3418= 1 (*-! New HTML5 specification introduces noteworthy feature, which is a manifest file. In the file, which location is referred in HTML documents of web applications, developers may specify pages that should be cached in web browsers. This feature can be used to provide an offline web application. A manifest file is a great idea as it allows a developer to actively affect behavior of partially offline applications [3].
: + ;! $ 0! Web Storage is a set of key-value pairs stored in a web browser for each origin [9]. It is divided into Local Storage (which is persistent) and Session Storage (where data is stored for the lifetime of a web browser window). A web application can only store strings. It means that in order to save JavaScript object, they have to be serialized (converted to JSON format) before. Stringifying objects to JSON can be time consuming so developers should be aware of that. It is particularly important because calls to WebStorage API are synchronous.
: : '(%!>!% ? IndexedDB is a database, which is built in a web browser [10]. It can store more types of data than the Web Storage because it can handle every object that can be serialized by â&#x20AC;&#x153;structured cloneâ&#x20AC;? algorithm. One origin may have many databases (identified by a name and a version) and each one may have many data stores, so that one store has its own definition of a key and is designed to store similar objects. Similarly to the WebStorage, data in IndexedDBâ&#x20AC;&#x2122;s store is represented by a pair of a key and a value. The key can be automatically generated or set programmatically (in fact, the key is also one of the stored objects attributes). Obviously, the keys must be unique across a store. IndexedDB has two APIs â&#x20AC;&#x201C; asynchronous and synchronous one. It is recommended to use the asynchronous API from JavaScript code of the web application as it can work on quite big data sets. Executing JavaScript code can hang a web browser card or even the whole window (depending on how a given web browser is implemented). As a great feature of IndexedDB, a developer can define indexes for chosen attributes for a selected store. As 4
Articles
VOLUME 8,
N° 4
2014
in regular databases, this improves performance when searching for entities. What is more, indexes can be used as constraints thus guarding attribute uniqueness. IndexedDB is transactional. Every operation on its data is performed in a scope of a transaction. A developer can choose between two types of a transaction â&#x20AC;&#x201C; read-only and read-write â&#x20AC;&#x201C; depending on a type of data manipulation required. There is also another type of transaction â&#x20AC;&#x201C; â&#x20AC;&#x153;versionchangeâ&#x20AC;? but it is only used during a database creation or changing its version. It is worth mentioning that there have been some ideas of synchronizing data from a server (with an SQL database deployed) with a web client running different engines (IndexedDB, WebSQL Database, Google Gears). The authors decided to build a custom SQL interpreter [4]. An interesting summary about usage of above mentioned technologies in JavaScript can be found in [7].
: @ A*/! .' W3C introduced File API to manipulate files in a web browser before they are sent to a web server [11]. This approach allows some operations to be performed on files using client CPU power (thus saving server resources). Moreover, files can be read (as a binary string, text or DataURL) and their content can be saved in Web Storage or IndexedDB. Another great function of File API is a sandboxed filesystem [12], which web application can access to operate [13] on files (create, write, read and delete) and folder. There are two types of filesystems â&#x20AC;&#x201C; persistent and temporary. While using temporary filesystem, a web browser takes care about files lifetime â&#x20AC;&#x201C; if a web browser needs some disk space, it can delete files without notice. But when a web application wants to use persistent filesystem it requires user permission and a user can approve or decline this request.
: = ? $# ! B )<<$ It should be mentioned that not all of these specifications have been already announced as final. Only Web Storage has W3C Recommendation status. Indexed Database has W3C Candidate Recommendation status, whereas File API has Last Call Working Draft status (but its related specifications: File API: Directories and System and File API: Writer has only Working draft status). For this reason, not all mechanisms are supported by different web browsers [1]. Web Storage is supported by each popular modern web browsers except for Opera Mini. IndexedDB is not supported by Safari, iOS Safari, Android Browser (but will be from 4.4 version) and Opera Mini (and it is supported by Internet Explorer version 10.0 or newer). Some features of File API are supported by all browsers except for Opera Mini. However, key features like a sandboxed filesystem and CRUD operations on files in it are currently supported solely by web browsers with Webkit engine, which are Google Chrome, Opera, Blackberry Browser, Opera Mobile and Chrome for Android (and there are no signs of implementing full File API support in other web browsers in near future). The Fig. 1 summarizes availability of HTML5 features in modern web-browsers.
Journal of Automation, Mobile Robotics & Intelligent Systems
Fig. 1. Compliance of HTML5 features for web-browsers available on the market
@ ;! <</* *$( $( 1$ */! !,* ! Due to specific limitations of mobile devices and development frameworks available for them majority of web applications intended for them are native applications. It is caused by unreliable access to Internet from such devices. One cannot simply assume that there will be an access to Internet all the time. On top of that there are also other situations when the devices cannot be connected to Internet, e.g. during flight. Therefore, mobile applications need to have ability to work both online and offline. However, working offline they generate a demand for storing application state on mobile devicesâ&#x20AC;&#x2122; storage. Unfortunately, it was really hard to meet this requirement when using web browsers on mobile devices. There are two main types of mobile applications. The first one is often called â&#x20AC;&#x153;Wireless Internetâ&#x20AC;? applications. They consist of client â&#x20AC;&#x201C; WWW browser and a web server connected to a data source. Application state is stored on the server. To use such an application, a user needs to establish connection to Internet on their machine and launch a web browser. There is no need to install any additional software. Developers implement only one version of a web application, which is suitable for all modern browsers be it a mobile web browsers of a desktop one. Another type of a mobile application is â&#x20AC;&#x153;Smart Clientâ&#x20AC;?. This is a native application, which must be downloaded and intentionally installed by a user on his device. As an advantage, such application can access deviceâ&#x20AC;&#x2122;s storage and can work offline (e.g. some operations are performed offline and then are synchronized when connection is established). A native application is allowed to access a deviceâ&#x20AC;&#x2122;s OS features such as geo-location, detection of available connection channel (WiFi, 3G, etc.) thus can offer more sophisticated features. A big drawback of native applications is variety of mobile platforms to be considered by application developers (i.e. iOS, Android, Windows Phone, Blackberry). An application provider has to implement many applications to cover all mobile device users. For above reasons, there were some attempts made to speed up development process for web
VOLUME 8,
N° 4
2014
applications in thin client architecture for mobile devices. PhoneGap is one of them [2] [5]. This tool allows a developer to create an application using HTML, Javascript and CSS. From a developerâ&#x20AC;&#x2122;s point of view, the process is similar to developing a standard web-based application. However, once the application source code is ready, it is compiled into a native application dedicated for each mobile platform (using based on web views controls specific for each platform). Therefore, the compiled application has to install on a device by a user and undergoes the process of validation before being placed in platform market (i.e. Play Store for Android or App Store on iOS). Another approach is RWD (Responsive Web Design). Because it is sometimes hard to prepare a web page that looks properly on both big Full-HD monitor and relatively small mobile device screen, developers tend to choose creating native applications adapted to screen size (sometimes different software for phones and tablets). The HTML5 introduce media queries â&#x20AC;&#x201C; elements of CSS that can be used by developers to adjust appearance of web page depending on web browserâ&#x20AC;&#x2122;s window size. It seems that, due to availability of HTML5 and above mentioned technologies, developers have great opportunities to boost their web applications in thin client architecture. Storing data on client side can be easily achieved using Web Storage, IndexedDB and File API even with relatively big data sets and binary files. Certainly, there are some types of mobile application that still have to be native, e.g. applications running as daemon but still majority can be provided as HTML5, web-based clients with client-side offline storage. These applications can run in both: online and offline modes.
= .$ * /! %$< *$( $- C!# ;: 4! 2($/$0*! As W3C organization claims (and it is hard to disagree with it), there are many useful cases related to mentioned technologies to be adopted in web applications. First of all, a module that sends big sets of data from a client web browser to a web server. It splits a set of data into smaller pieces, stores them in a web browserâ&#x20AC;&#x2122;s space and sends sequentially. If a web browser window is closed, it remembers the last sent part. After next access to the web page, remaining parts are sent as well. Without ability to store data in a web browser, in case of any transfer interruption (regardless of a reason) a data set would have to upload once again and sent from the very beginning. Another scenario is also about sending files. Imagine that an application running in a web browser needs to download many files from a server. It is faster to transport one ZIP package than many files separately. In this case, after receiving clientâ&#x20AC;&#x2122;s HTTP request, several files can be zipped on the server and sent back as a single package. Then, it can be unpacked in the web browser. The packageâ&#x20AC;&#x2122;s content can be stored in a web browser storage space to be accessed from it (also offline). Articles
5
Journal of Automation, Mobile Robotics & Intelligent Systems
The next case is offline graphic editor that runs only in a web browser without need to send files to a server. In addition, files may be stored in a web browserâ&#x20AC;&#x2122;s storage space for the further manipulation. In case of mobile devices, this is an example of useful application that could successfully replace native software. Another example is a web portal providing access to movies. Now, the portal can be streamlined with an ability to store movies in browsers, so that they can be watched when no Internet connection is available due to network problems or flight. When using new HTML5 technologies, it is possible to implement a web-based e-mail client allowing to access e-mail content offline (including attachments that have been previously downloaded and stored in a web browserâ&#x20AC;&#x2122;s storage space). It allows a user to use the application in the offline mode but it also decreases network load when working online. Another helpful feature useful offline is saving working copies, as well as attachments, as drafts that will be synchronized with the server once the user is back online (when Internet is reconnected items will be taken from web browser space and sent as e-mail message).
D ( 4%! $- 2! A 9!#$ 5 Web applications are created in popular programming languages, such as PHP, C#, Java, Python, Ruby or many others. In fact, developers always use proven web frameworks for those languages. A large part of the market is possessed by Java and there are many popular libraries for it to help developing web applications. Most of them (Spring MVC, Struts, JSF etc.) are based on Java Server Pages specification, in which an application has its view layer built on JSP files. A JSP file can contain HTML tags and also Java code that integrates view with other layers. Of course, web frameworks have mechanisms that facilitate this type of integration and introduce their own mechanisms (for instance actions and forms definition in Struts or view controllers in Spring MVC). When using JSP files, developers can also take an advantage of previously created libraries of JSP tags (or define new ones). JSP tags can for example execute methods on a server side or place previously prepared piece of HTML code or JavaScript code. New HTML5 technologies (Web Storage, IndexedDB and File API) can be accessed from JavaScript scripts inside HTML documents. Therefore, in web applications created with Java frameworks based on JSP technology, the best place for JavaScript code is a JSP file. As it was presented above, the new technologies have a lot of possible applications, however developers need to learn new APIs or sometimes even JavaScript language (because Java web frameworks allow a user to successfully create working applications without need to know JavaScript). It is worth noticing that both IndexedDB and File API have asynchronous API, which requires quite a different approach from web developer. It is an obstacle for the use of the technologies. Considering the above problems, our objective was to create a Java framework that would help devel6
Articles
VOLUME 8,
N° 4
2014
opers using new HTML5 client-side storage technologies. The framework should be intuitive and easy to learn and designed in a way that keeps an application code properly structured and also easy to test. There have been several studies on usefulness of new client-side storage technologies [1], [8]. Some articles also claims that these mechanisms will be important when developing modern web applications (mobile ones as well). These papers describe ways of adopting HTML5 technologies to web applications. However, there is nothing about designing a way of propagate these technologies. In the next section we present a design of a framework allowing Java developers to write web-based applications streamlining HTML5â&#x20AC;&#x2122;s offline storage feature. We will present the frameworkâ&#x20AC;&#x2122;s four main elements that can be leveraged by developers.
E . $F! $- 2! A 9!#$ 5 Some ideas significantly guided the final process of designing our framework. First of all, the key point was to identify and group separable elements of the framework. As the result it was found that one of these elements will be JavaScript library. The library contains a set of functions, which call Web Storage, IndexedDB and File API methods in a proper, browser-specific way. What is important, the library is the only place in the framework where client-side storage technologies APIs are used. This is very essential since, JavaScript language as well as JavaScirpt library API specifications tend to change frequently. Especially when one considers that above mentioned technologies still have not been officially specified by W3C organizations and their specification is still under development. Therefore, if any element of these API changes, it is required to adapt changes only in the JavaScript library. What is more, although our framework is designed to be a Java library, JavaScript library can be also distributed as independent project and can be used with alternative web frameworks written in different programming languages. High level architecture of the solution proposed is presented in Fig. 2). The most important element is JavaScript library html5storage.js â&#x20AC;&#x201C; a set of objects and methods that maps browser specific code onto browser-independent code to be used by client applications. Another element of a framework is a Java library with a set JSP tags definitions and Java annotations that can be used by developers to annotate classes to be cached on the client side. The whole framework is distributed as a WAR package that can be used in the customerspecific Java Web applications. Another important feature of a project is that it is easy to use by Java web developers. To make this happen, we have focused on two things. First of all, we introduced JSP tag library that contains many JSP tags to use on JSP pages. The set of tags covers all possible calls to functions from frameworkâ&#x20AC;&#x2122;s JavaScript library described above. JSP tags should be well-known to Java web developers as oppose JavaScript language for HTML5. Secondly, in our framework we use a proven
Journal of Automation, Mobile Robotics & Intelligent Systems
Fig. 2. High level architecture of the solution
way of defining a set of objects that can be stored in Indexed Database. We choose similar way that is used in Java Persistence API â&#x20AC;&#x201C; there is configuration file with a list of fully-qualified Java classes, which instances can be stored in the database. Additionally, we introduced a set of Java annotations for both: classes and fields. They have to be used to specify classes which instances should be made storable. There are also annotations to mark fields to be stored in the database as well as an annotation to indicate a primary key and specify for which field indexes should be generated. The most important thing about our framework is wide range of operations that can be performed in web applications that adapts it. We introduce four main elements that take advantage of client-side storage HTML5 technologies and they are briefly described in below sections.
E & 344. 7!G)! 2*(0 In a web application clicking on a link or an in ! " $
causes generating HTTP Request for a particular re %&' * * net connection is available. Otherwise, an appropriate error message will be displayed in a web browser window. However, if a web application uses our frame + / /
take care about caching actions that generate HTTP Request (simplifying â&#x20AC;&#x201C; a resource URL, HTTP method type and/or additional parameters). These requests will be stored persistently in a web-browser (they will last even when the web-browser is closed). Once the Internet connection is reestablished, the previously stored requests can be sent to the web server. For example, a developer can mark a HTML form as conditionally cacheable. It means that if a user works online, the form will be submitted in a standard way. Otherwise, a URL with parameters generated by the form submission will be cached and sent to the web server when the user starts working online again.
E + 3418 A$ 9 2*(0 Another feature of this framework implementation is caching state of HTML forms. In a usual scenario, when a user has to close a web browser when filling in an HTML form the formâ&#x20AC;&#x2122;s state will simply vanish. Using our framework it is possible to save the
VOLUME 8,
N° 4
2014
formâ&#x20AC;&#x2122;s state in web browser storage. It can be done automatically by marking particular form or it can be done on-demand by the proper userâ&#x20AC;&#x2122;s action. Form state could be saved either for web browserâ&#x20AC;&#x2122;s tabâ&#x20AC;&#x2122;s life or persistently. Then, the formâ&#x20AC;&#x2122;s state can be restored (either automatically or when needed). The framework provides following operations to developers: â&#x20AC;&#x201C; to mark a form to be cached conditionally, â&#x20AC;&#x201C; to mark a link for conditional send (if the application is offline the system will store HTTP request for the link instead of trying reloading the page), â&#x20AC;&#x201C; to add an element that will call an action that will cache a HTTP request in a web browserâ&#x20AC;&#x2122;s cache, â&#x20AC;&#x201C; to add an element that will call an action that will call a stored HTTP request, â&#x20AC;&#x201C; add an element that will remove a cached HTTP request.
E : 2! ?! #!!( . 0! The next frameworkâ&#x20AC;&#x2122;s element is ability to cache data when navigating between pages. This mechanism is very similar to session or request scope data storing on server side available in popular web frameworks. A data can be stored in a web browser. Of course, it is still possible to use traditional mechanisms: HTTP cookie mechanism or URL parameters. However, in this approach, all data will be sent in each HTTP Request. And like in â&#x20AC;&#x153;HTML forms cachingâ&#x20AC;?, a developer can specify scope of stored data and framework will obey it. But in this case, one of available scopes is a session scope, which keeps data stored until a web browserâ&#x20AC;&#x2122;s tab is closed. Another one is a request scope, which makes data accessible only for the next loaded page. The framework provides following operations to developers: â&#x20AC;&#x201C; to define, which data should be cached and be available after loading another page â&#x20AC;&#x201C; to load previously cached data after another page is loaded, â&#x20AC;&#x201C; to remove previously cached data, â&#x20AC;&#x201C; to define scope of data availability (a session scope or a request scope).
E @ ! $ ? $# ! < ! One of the most important parts of the framework is set of tools to manipulate data stored. The framework provides many JSP tags which deal with that. Each type of operation can be done in two ways - automatically when page is loaded or after specific action of a user. From server side perspective (i.e. Java code), by different sort of data we assume simple, primitive data types, Java objects (properly annotated) and binary data (e.g. resources â&#x20AC;&#x201C; music, graphics, etc. on web server). Depending on kind of data it is stored in the most suitable way. Simple data types are placed in Web Storage under a given key. Single Java also objects can be stored in Web Storage but if their classes are listed in frameworks configuration file, framework will creArticles
7
Journal of Automation, Mobile Robotics & Intelligent Systems
ate in client web browser database several stores for each class. Then one or more Java object of same class can be put in Indexed Database from Java code (using JSP tags). Developer can put in JSP iterators to access their attributes (for example to present collection data in a HTML table). In addition, iterated data can be filtered by attributes (lower and/or upper bound; strict or open; equality). This filtering can only be applied to attributes that were annotated to additionally be store indexes. All storing operations can be done in two ways. The first one is to explicitly define objects to be stored in a JSP file. The second one is to load them from URL (programmers should then provide for example dedicated Java Servlet, Spring controller, REST web service etc.). Files can be cached in browser’s sandbox filesystem from given URL or from HTML5 input (type=file). What is more, there are ready tags that allow web application users to download files from sandboxed filesystem to hard disk. On top of that there are tags to display stored graphics in a web page or place audio/ video control to play stored music and video files. The framework provides following operations to developers: – to cache data, – to cache data from a given URL, – to cache data from a given URL and add it to HTML document, – to cache data from a given URL and process it, – to read data, – to read data and add it to HTML document, – to remove data, – to transfer data to server using AJAX, – to transfer data to server using GET/POST method, – to modify attributes of JavaScript objects previously cached. The framework provides following operations on object collections to developers: – to add elements to a data storage, – to add elements to a data storage from a given URL, – to read (or search using defined criteria) elements from a data storage, – to read elements from a data storage and add them to HTML documents, – to remove elements from a data storage, – to send elements to a server using AJAX, – to send elements to a server using GET/POST methods, – to modify attributes of elements from a data storage. The framework provides following operations on binary data to developers: – to add a binary data to a virtual file system, – to add a binary data to a virtual file system and process it, – to add a binary data from a given URL to a virtual file system, – to add a binary data from a given URL to a virtual file system and process it, – to read a binary data from a virtual file system either as a text or as a data URL or as a binary string, 8
Articles
VOLUME 8,
N° 4
2014
– to add a link to a binary data from a virtual file system to HTML document (so that a user can download it), – to add an image/video/audio content from a virtual file system to HTML document, – to add a file from a user’s file system to a virtual file system, – to convert image format of stored binary data, – to apply filters, resize and modify image data stored in a virtual file system using Pixastic library [14], – to rename, move and remove files from a virtual file system, – to add, remove folder in a virtual file system, – to send binary data to a server using AJAX.
E = 6 *(0 A 9!#$ 5 Let’s assume that we want to create Java web application using a framework that is based on JSP technology. A project will be built using Maven. As a result a WAR file will be created. First, the dependencies needs to be defined in a pom.xml file: <dependencies> <dependency> <groupId>pl.edu.agh.html5storage</ groupId> <artifactId>html5storage-core</ artifactId> <version>1.0.0</version> </dependency> </dependencies>
In order to use caching of HTTP requests or HTTP forms does not require any special configuration. However, in order to use caching data between pages and accessing browser data space a developer needs to annotate Java classes, which instances can be cached, and create a configuration file. Java classes, which instances can be cached do not have to implement any specific interface nor to inherit any specific class. Neither getters/setters have to be defined. The only required modification is a Java annotation defined in pl.edu.agh.html5storage.annotations.ClientStore. A Java class needs to have a field to be used as ID. The ID will be used as object’s key for Javascript objects stored in IndexedDB data storage. A pl.edu.agh. html5storage.annotations.KeyPath annotation has to be used. A value of a key will be generated by Java code (using a code provided by a developer) or can be generated automatically. In the latter case the field has to be int or long (java.lang.Integer or java.lang.Long respectively). Additionally, ClientStore annotation needs to have autoGenerateKey attribute set to true. All fields that should be available when caching an objects in a data storage need to be annotated by pl.edu.agh.html5storage.annotations.Cached. All nonannotated fields (except for the ID) will be ignored. There is another annotation available pl.edu.agh. html5storage.annotations.Index that can be used to mark fields for which a system should create an index.
Journal of Automation, Mobile Robotics & Intelligent Systems
This is useful to speed up filtering of data o searching data storage. Another step that needs to be taken by a developer is to prepare a configuration file (html5storage-config.xml) and place it in src/main/resources/ META-INF location. The simplest configuration file is presented below: <?xml version=â&#x20AC;?1.0â&#x20AC;? encoding=â&#x20AC;?UTF-8â&#x20AC;??> <html5storage> <db> <name></name> <version></version> </db> <classes> <class></class> </classes> </html5storage> ,
db.name â&#x20AC;&#x201C; a name of a database to be used on a web browser side, db.version â&#x20AC;&#x201C; a version of a database to be used on a web browser side; whenever there are any changes in Java classes whose objects will be stored, a developer needs to increate a database version, classes.class â&#x20AC;&#x201C; zero or more fully-qualified names for classes whose instances will be stored.
H 4! ! Browserâ&#x20AC;&#x2122;s support for framework depends on their support for client-side storage HTML5 technologies. For this reason, some framework elements are available on every modern web client, but some are not. Hopefully it seems that process of standardization of Indexed Database and File API is progressing in a good pace. After they reach Recommendation status, all modern browser vendors will not have choice but to introduce implementation in their products. Our framework is distributed as a Java Archive library. To use it, it must be simply added to classpath for JVM where one wants to run his/her application. The simplest way is to start new project with Maven and add framework dependency. Then developer should create in the project html5storage-config.xml file. It contains information about database name and version, which will be created in clientâ&#x20AC;&#x2122;s web browser and list of classes, for which corresponding stores in browser database will be also created. The next step is to mark desirable classes and class fields with frameworkâ&#x20AC;&#x2122;s annotations. From this point a developer can freely use JSP tags in their projects. After finishing the first reference implementation of our framework we decided to write two sample web applications that utilizes client-side storage technologies. This was an offline graphics editor and a web-based e-mail client. The next two sections briefly describe the sample applications.
H & --/*(! I <2* J%* $ The first application we built to validate the framework was web-based GUI editor. The applica-
VOLUME 8,
N° 4
2014
tion is capable of working offline. A user is allowed to upload an image from web or from local file system. Then, an image can be processed, different imagefilters may be applied to it. Then, the modified image can be stored on local file system. Once a file is uploaded to a client it is stored on the clientâ&#x20AC;&#x2122;s side (File API and WebStorage) and can be processed offline. Even though there is no Java code executed on the server side (which means that the application executes in web browser only) it was written using the JSP tags and other elements delivered by the framework.
H + ;! ? !% J 9 */ /*!( The second application is an e-mail client that runs in a web browser. We focused on storage-side of the implementation thus, the IMAP/POP3/SMTP part of it is just a mock up because handling e-mail protocols was negligible in that case. We only provided server methods required to imitate e-mail sending and receiving. The e-mail client presents data stored in a web browser (previously received e-mail messages with attachments), therefore it can work offline. It also implements mechanisms to synchronize its state with the server (e.g. receive new messages). This application can work both offline and online depending on clientâ&#x20AC;&#x2122;s needs and access to Internet. All operations executed by a user when offline are automatically synchronized with the server when online again. Letâ&#x20AC;&#x2122;s consider pl.emailclient.Message class that represents a single e-mail message. We want ID to be a message identifier. An identifier will be assigned by email server rather than the framework. We also predict the need for searching by email subject, sender and recipient. Considering the above a Java class can be defined in a following way: package pl.emailclient; @ClientStore public class Message { @KeyPath private long id; @Index @Cached private String title; @Cached private String content; @Index @Cached private String sender; @Index @Cached private String receiver; @Cached private List<String> attachements; }.
Articles
9
Journal of Automation, Mobile Robotics & Intelligent Systems
The simplest configuration file is following: <?xml version=â&#x20AC;?1.0â&#x20AC;? encoding=â&#x20AC;?UTF-8â&#x20AC;??> <html5storage> <db> <name>test_project</name> <version>1</version> </db> <classes> <class>pl.emailclient.Message</class> </classes> </html5storage>.
K $( /) *$( (% A) ) ! ;$ 5 We researched powers of new HTML5 client-side storage technologies and found them really helpful in boosting capabilities of web applications. We also tried to show alternatives to making several native mobile applications representing the same product for different mobile platforms â&#x20AC;&#x201C; it yet can be done in a thin client architecture streamlining HTML5 storage capabilities. We designed framework that integrates Java web framework based on JSP technology (which nowadays takes significant part of web market) with Web Storage, Indexed Database and File API. We also tried to proof usefulness of our work by implementing two sample applications that operates on web browser client-side storage thanks to our framework. There is much space to improve our solution. It is obvious that this is a tool made for developers, so it is important that it meets as many theirs requirements as possible as well as needs to be ease use. It was really difficult to predict all scenarios. Furthermore, when we started to implement sample applications we discovered that we also need to add additional functionality to framework to fulfill our needs. We also already have agreed that there are some places where framework can be changed to be easier to use. For example, our plans is to abandon configuration file and base all setup on Java annotations and Java reflection. Finally, there are some cases that we really need to work on accroding to specific environment that web application is. We live in times that one person often has one or more device (PC, notebook, tablet, smartphone etc.). However, a situation that two different people uses same machine as well as same browser is also very common. Web Storage, Indexed Database or File API do not provide any mechanism that can divide browser space for different user (yet). We must think on suitable solution for that as it is really important in terms of security and privacy.
643 7
Arkadiusz Janik* â&#x20AC;&#x201C; AGH University of Science and Technology, Faculty of Computer Science, Electronics and Telecommunications, Department of Computer Science, al. Mickiewicza 30, 30-059 KrakĂłw, Poland, E-mail: arkadiusz.janik@agh.edu.pl 10
Articles
VOLUME 8,
N° 4
2014
Szymon Kiebzak â&#x20AC;&#x201C; AGH University of Science and Technology, Faculty of Computer Science, Electronics and Telecommunications, Department of Computer Science, al. Mickiewicza 30, 30-059 KrakĂłw, Poland, E-mail: s.kiebzak@gmail.com *Corresponding author
7JAJ7JC J
?Y\^ _ ` // ' + *
Patrick, Oracle HTML5 Rich Web Application, Worcester Polytechnic Institute, 2012. ?Y{^
|} ~ ~ Smartphone Application Development using HTML5-based Cross-Platform Framework, Chungwoon University, 2013. ?Y ^ &
Â&#x20AC;
&
 Â&#x201A; Â&#x20AC;
K.V.D., â&#x20AC;&#x153;Effective Use of HTML5 for Developing Offline Web Applicationsâ&#x20AC;?, IIJAR, 2013, 80â&#x20AC;&#x201C;87. ?YÂ&#x192;^
' & Â&#x201E; + Â // cations with HTML5â&#x20AC;?, UPC-Barcelona Tech, Ghent University, 2010. ?YÂ&#x2020;^
} ~ Â&#x2021; / Â&#x2021; } Â&#x2C6; } Â&#x2030; %
and Amin I., â&#x20AC;&#x153;Smart Phones Application development using HTML5 and related technologies: A tradeoff between cost and qualityâ&#x20AC;?, International Journal of Computer Science Issues (IJCSI), vol. 9, issue 3, May 2012, 455. ?YÂ&#x160;^
Â&#x2030; Â&#x2030; Â&#x2021; Â&#x2039;
/ vacy and security in HTML5 web storageâ&#x20AC;?, Journal of Computing Sciences in Colleges Archive, vol. 27, issue 3, January 2012, 80â&#x20AC;&#x201C;87. ?YÂ&#x152;^ ' Â&#x2021; | + Â&#x2030; tionsâ&#x20AC;?, Aalto University, Technical Report, 2012. ?YÂ?^
*Â&#x2018; & Â&#x2021; ~ % + Â&#x2019; Â&#x201E;
Cahyo H., and Affandi A., â&#x20AC;&#x153;Offline web application and quiz synchronization for e-learning activity for mobile browserâ&#x20AC;?, TENCON 2010, November 2010, 2402â&#x20AC;&#x201C;2405. DOI: 10.1109/TENCON.2010.5685899. ?[9] http://www.w3.org/TR/webstorage/. [10] http://www.w3.org/TR/IndexedDB/. [11] http://www.w3.org/TR/FileAPI/. [12] http://www.w3.org/TR/file-system-api/. [13] http://www.w3.org/TR/file-writer-api/. [14] http://www.pixastic.com/.
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 8,
N° 4
2014
J
L 4 M NO C LP 4 Submitted: 16th July 2014; accepted: 28th August 2014
Jacek Salach DOI: 10.14313/JAMRIS_4-2014/31 The paper presents an eddy current tomography setup with high spatial resolution and high accuracy of measurements of signal on detection coil. In proposed solution both amplitude as well as phase shift are measured, which gives the possibility of calculation of spatial distribution of both permeability and resistivity of tested element. As a result, presented setup creates possibility of effective detection of discontinuities in cylindrical elements, which opens new possibilities for industrial applications of eddy current tomography.
which enables further development of more effective and accurate algorithms for inverse, eddy-current tomography transformation.
+ 1! 2$% $- '(,! *0 *$( Figure 1 presents the testing elements for eddycurrent tomography experiments. This elements consists of a cylinder with prism-shaped inclusion. Cylinder had 30 mm of diameter and 120 mm height, whereas all prisms created 13 mm deep inclusion with 4 mm, 8 mm and 12 mm width, respectively. Two
Keywords: eddy-current tomography, NDT, signal processing
& Introduction Detection of discontinuities in the cast is necessary in manufacturing processes, in which the elements are made with special requirements regarding both their durability and mechanical properties. Examples of such components may be the bodies of precision laboratory weights pressure casted of aluminum alloys. Currently, to investigate the internal structure of these elements and for the detection of discontinuities (e.g. porosity), the X-ray method is used [1, 2]. However, the use of X-rays in an industrial environment is expensive, especially because of the need to meet safety requirements. An alternative to the use of X-ray tomography can be eddy current tomography [3, 4, 5]. It allows for simultaneous measurement of magnetic susceptibility and resistivity of the material [6] in the tested element. Consequently, eddy current tomography opens completely new possibilities for detection of discontinuities in structures in industrial conditions. There are two steps during eddy current tomography imaging [7]. Firstly, influence of tested element on the coupling of two coils is measured during the movement of the element. Next, the shape of the element together with its internal structure is recalculated with the use of finite element method, on the base of Maxwellâ&#x20AC;&#x2122;s equations [8]. Different methods of inverse eddy current tomography transformation were previously presented [9, 10, 11, 12, 13, 14]. However, it seems that development of eddy current tomography setup with high spatial resolution and high accuracy of measurements was not presented previously. This paper fills this gap,
a)
b)
Fig 1. Model element for eddy current tomography experiments: (a) steel rod (1) with copper inclusion (2), (b) copper rod (1) with steel inclusion (2)
Fig. 2. Mechanical setup of Eddy current tomography: element under investigation (2), driving and sensing coils (2), linear (3) and rotational (4) drivers 11
Journal of Automation, Mobile Robotics & Intelligent Systems
Voltage-current converter
Sine wave generator
VOLUME 8,
Driving coil
Precision amplifier
Tested element
Measuring coil
Linear actuator
PC
2014
Band pass filter
Digitally controled phase shift meter
Step motor (rotation)
N° 4
Precision voltmeter
ARM 1114 microcontroller
Fig. 3. Schematic block diagram of electronic signal processing unit in eddy-current tomography
12
elements were used during the investigation: construction steel cylinder with copper prism and copper cylinder with steel prism. This form of samples simulates conductive, ferromagnetic element with nonmagnetic crack (such as the crack in the column), as well as conductive nonmagnetic element with ferromagnetic inclusion.
The proposed mechanical system for eddy current tomography experimental setup is presented in Figure 2, whereas schematic block diagram of signal processing unit is presented in Figure 3. Experimental setup shown in Figure 2 is based on two coils (2): exciting and detection. Tested object (1) is transported between these coils. Linear (3) and
Fig. 3. Visualized results of measurements of amplitude of the signal on detection coil as a function of linear movement L and rotation for model steel elements with
Fig. 4. Visualized results of measurements the volume of tangent of angle between signal on measuring coil and signal given on driving coil as a function of linear movement L and rotation Ď&#x2020; for model steel ele
Articles
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 8,
N° 4
2014
rotary (4) actuator provide appropriate movement of the object. As a result tomographic measurements may be done with resolution of linear movement up to 0.1 mm at the 100 mm movement range, whereas rotation resolution during the measurements is up to 1o. Tested sample was in the axes of coils in position related to about 45 mm of linear movement. Exciting coil is powered by a current sine wave with 2 kHz frequency, generated by a sinusoidal voltage generator circuit using ICL8038 integrated circuit and voltage-to-current converter with large output current. Signal from detection coil is amplified and the first harmonic (2 kHz) is filtered. From practical point of view, other harmonics are negligible due to the fact, that magnetization process for lower magnetizing field is connected with bending of magnetic domain wall. As a result it is nearly linear. After filtering, the electronic measuring system provides a measurement of both the amplitude of the signal obtained in the detection coil and the angle of the phase shift with respect to the magnetizing coil driving signal. Phase shift is measured as a tangent of the shift between the driving coil signal and detected signal. All measuring data are collected by ARM1114 microcontroller produced by NXP. This microcontroller also controls both linear and rotation actua-
Fig. 6. Results of measurements of tangent of angle between signal on measuring coil and signal given on driving coil as a function of linear movement L of the element and its rotation f for copper rod elements
tor as well as provide measuring data to PC for further processing.
: 7! )/ $- '(,! *0 *$(
Fig. 5. Results of measurements of amplitude of the sig of the element and its rotation f for copper rod ele !
The results of measurements of amplitude on the detection coil for all three testing elements are presented in Figure 3, while the results of measurements of the tangent of angle between signal on measuring coil and signal given on driving coil are shown in Figure 4. The figures show the changes of amplitude value and of tangent of the angle between signals, as a function of the rotation and linear movement of the tested element. During the tests, the repeatability of measurements was verified. Standard deviation of measurements in point doesnâ&#x20AC;&#x2122;t exceed 1%. Such high repeatability is very important from the point of view of accuracy of the results of further inverse tomographic transform. Results of similar measurements of amplitude and tangent of angle between signal on measuring coil and signal given on driving coil, carried out in the same conditions but for copper rod elements with diversified steel inclusions are presented in Figures 5 and 6, respectively. Articles
13
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 8,
@ $( /) *$( Presented in this paper eddy current tomography setup creates possibility of tomography measurements with resolution much higher than previously reported [7]. Moreover, the obtained results confirm possibility of non-magnetic inclusion in ferromagnetic cylindrical elements assessment. In sensing coil the value of amplitude changes up to 60% during the measurements and up to 400% for measurements of similar steel rods. Tangent of angle between the signal on measuring coil and the signal given on driving coil for test elements described above changed about 40% and 60%, respectively. Repeatability of these measurements was calculated by standard deviation of indication. It was about 1% for both amplitude and tangent of angle between signal on measuring coil and signal given on driving coil. The results presented in the paper confirm that presented eddy current tomography setup is suitable for non-destructive testing of rod-shaped elements. During the tests, the spatial distribution of both permeability and resistivity can be determined. It creates the possibility of detection of all types of discontinuities in construction materials, both ferromagnetic and non-magnetic. C ;8J I1JC4 This work was partially supported by The National Centre of Research and Development (Poland)
643 7
[6]
[7]
[8]
[9]
[10]
[11]
[12]
Jacek Salach â&#x20AC;&#x201C; Institute of Metrology and Biomedical Engineering, Warsaw University of Technology, Boboli 8, 02-525 Warsaw, Poland. E-mail: j.salach@mchtr.pw.edu.pl. [13]
7JAJ7JC J
[1]
Cartz L., Nondestructive Testing, Asm International, UK, 1995. [2] Hellier C., Handbook of Nondestructive Evaluation. McGraw-Hill, USA, 2012. [3] Wei H-Y., Wilkinson A.J., â&#x20AC;&#x153;Design of a Sensor Coil and Measurement Electronics for Magnetic Induction Tomographyâ&#x20AC;?, IEEE T INSTRUM MEAS vol. 60, no. 12, 2011, 3853â&#x20AC;&#x201C;3859. DOI: http:// dx.doi.org/10.1109/TIM.2011.2147590. [4] Â&#x2030;
Â&#x2030; & ` Â&#x2022; / } Â&#x2022; + Â&#x2030;
Morris A., â&#x20AC;&#x153;A transceiver for direct phase measurement magnetic induction tomographyâ&#x20AC;?, Engineering in Medicine and Biology Society, vol. 4, 2001, 3182â&#x20AC;&#x201C;3184. DOI: http://dx.doi. org/10.1109/IEMBS.2001.1019498. [5] Ioan D., Rebican M., â&#x20AC;&#x153;Numerical Model for Eddy-Current Testing of Ferromagnetic Steel Partsâ&#x20AC;?, IEEE Transactions on Magnetics, vol. 38, 14
Articles
[14]
N° 4
2014
no. 2, 2002, 629â&#x20AC;&#x201C;633. DOI: http://dx.doi. org/10.1109/20.996164. Soleimani M., â&#x20AC;&#x153;Simultaneous Reconstruction of Permeability and Conductivity in Magnetic Induction Tomographyâ&#x20AC;?, J. Electromagn. Waves Appl., vol. 23, 2009, 785â&#x20AC;&#x201C;798. DOI: http:// dx.doi.org/10.1163/156939309788019822. Kai X., Cao Z., Mi W., â&#x20AC;&#x153;A Fast Eddy Current Forward Solver for EMT based on Finite Element Method (FEM) And Negligibly Coupled Field Approximationâ&#x20AC;?, IEEE International Conference on Imaging Systems and Techniques (IST), 2011, 16â&#x20AC;&#x201C;20. DOI: http://dx.doi.org/10.1109/ IST.2011.5962167. PrĂŠmel D., Mohammad-Djafari A., â&#x20AC;&#x153;Eddy Current Tomography in Cylindrical Geometryâ&#x20AC;?, IEEE Transactions on Magnetics, vol. 31, 1995, 2000â&#x20AC;&#x201C;2004. DOI: http://dx.doi. org/10.1109/20.376435. Bowler J.R., â&#x20AC;&#x153;Eddy current calculations using half-space Greenâ&#x20AC;&#x2122;s functionsâ&#x20AC;?, J. Appl. Phys., vol. 61, 1987, 833â&#x20AC;&#x201C;840. Soleimani M., Lionheart W., Peyton A., Ma X., Higson S., â&#x20AC;&#x153;A Three-Dimensional Inverse FiniteElement Method Applied to Experimental Eddy-Current Imaging Dataâ&#x20AC;?, IEEE Transactions on Magnetics, vol. 42, 2006, 1560â&#x20AC;&#x201C;4. DOI: http:// dx.doi.org/10.1109/TMAG.2006.871255. Nikolova M., Mohammad-Djafari A., â&#x20AC;&#x153;Eddy current tomography using a binary Markov modelâ&#x20AC;?, Journal Signal Processing, vol. 49, no. 2, 1996, 119â&#x20AC;&#x201C;132. DOI: http://dx.doi. org/10.1016/0165-1684(95)00151-4. BrĂźhl M., Hanke M., â&#x20AC;&#x153;Numerical implementation of two noniterative methods for locating inclusions by impedance tomographyâ&#x20AC;?, Inverse Problems, vol. 16, no. 4, 2000, 1029â&#x20AC;&#x201C; 1042. DOI: http://dx.doi.org/10.1088/02665611/16/4/310. Hanke M., BrĂźhl M., â&#x20AC;&#x153;Recent progress in electrical impedance tomographyâ&#x20AC;?, Inverse Problems, vol. 19, 2003, 65â&#x20AC;&#x201C;90. Merwa R., Hollaus K., Brandstätter B., Scharfetter H., â&#x20AC;&#x153;Numerical solution of the general 3D eddy current problem for magnetic induction tomography (spectroscopy)â&#x20AC;? Physiological Measurement, vol. 24, no. 2, 2003, 545â&#x20AC;&#x201C;54. DOI: http:// dx.doi.org/10.1088/0967-3334/24/2/364.
AgmjfYd g^ 8mlgeYlagf DgZad] IgZgla[k ¬ @fl]dda_]fl Jqkl]ek
MFCLD<
E◦
~
! !"# $ % & "!&
!" # $
% # & ' ( #
)*+/ !"#$ %
& '( $%) S$( / / + + " $ | | + / + | + + | / / & + / | / / Y\{ \ ^ / / * + + | / / + / + / + ++ / + | / / + / | + + /
/ + /
" ! ! #
$ % & '" * + ! & ' + % / ' $ /!
| | / / + / / | / | + "_ $ { + / / / / + + | | / / + | + + | / + / / * + | / / + + + / + | Y ^ " + \$
+ ! *<S$( $- 2! 1! 2$%$/$0" T 7'U V / + | + + " $ Y \ ^ Y\ \ ^ _ / + / + + + | / + * / + \
AgmjfYd g^ 8mlgeYlagf DgZad] IgZgla[k ¬ @fl]dda_]fl Jqkl]ek
+ & F! ! ! S$( << -$ S$( " 9! $(
9 <2$(! _ / / | / + / + " $ + + / + } / + + * + / / + + + / | + * / | / / / | | | + / / // / / | + | + // / / & | "& $ Y{ ^ & | | | | "& $ Y\^ + / + + Y ^ / | " $ " $ Y\ ^ & + | + + / _ & / & | + + + +| " %$ Y\^ + + F! ! ! S$( << -$ 1$,*(0 9! $(
9 <2$(! / + + // / / / + / } + / | / | / | + | * / | / + _ _& _ _& | / | + + + + / _ | _& / / + | + + / + | \
MFCLD<
E◦
~
/ + Y ^ + / | + / / / | + _& / _& / / | + Y\ ^ / / | + / / / / / / // / + + | / / / / / + / / / + } Y\\^ | / _& / / / / | / / + + / + _ / | ' | + Y ^ / / / / / | + | + + + / | / Y ^ + ' " ' $ Y ^ + / | / / + | / + / + / | / + +| / _ _& | + | + / + | _ / + + + ++ / | N | + * | T × N | 0 < T < 1 | + / // / + // / / T | / + | | + + | / | /
AgmjfYd g^ 8mlgeYlagf DgZad] IgZgla[k ¬ @fl]dda_]fl Jqkl]ek
T + / | / | + + ' + | / | T / | / | + | / / /
MFCLD<
E◦
~
" ! ! " 0 $ $ $
+ $
0 !
: 9 <2$(! <</* S$( '9</!9!( S$( / + | / + + + | / / | + + | + * + | "* $ " $ + + / | " $ " $ / + / | + + ' / + ' | / + / + / ' | / + _ + + + / | _ + _ / | | / / | + _ + {{ \\
" ! 7! 8 8 $ 89;
*$ ! + / 320×240 / + + / | + _ * + 640 × 480 + + | + / / // / + / 1280×720 & + / + | / # ! ! # + $ '
!
: & J, /) S$( / + / + \ } & | \ / & & & _ _& + // | " \$ / / + | { // | | " + {$ & + + / / / + / / + + / / | / " + & $ / | / / 320 × 240 640 × 480 / / | |
38498:4 - " " "
> ?
#
\
#
" #/
\
,'
\ \ \
# ;:49:<4 > ? \\
,'
\ \
58<49=84 > ? \ { {\
,'
\ \
* / | / / & " &$ & " &$ Y ^ " $ + + " $ | + | \
AgmjfYd g^ 8mlgeYlagf DgZad] IgZgla[k ¬ @fl]dda_]fl Jqkl]ek
MFCLD<
+ " $ + & & DR =
TP TP + FN
" #/
"{$
'
,'
,!
#
, #
\ \ { :
4
\ 5
\ \ \ 4 <4
4 44
_ _& / + / / + | / _ _& / + / | +
@ )99 " W $( /) *$( | / / / + | / + + / | | / / | + + / / | + / | / + | / & + \ / / + | "} $ "1280 × 720$ + _ _& + | / / / / / 640 × 480 | / | " / $ / } / | ?iiT,ffrrrXH M+ bi2`X +XmFf bi 77f M;2HQpfS`QD2+ibfa _Ao X?iK
= A) ) ! ;$ 5 * / | + + + / | * / + / / + | / / | | \
| / / |
643 7
# ! ! 9 0 $ $ * 8 $ 89;
*$ ! , ! \ {
~
"\$
FP F AR = TP + FP
"
E◦
+ * + '
' % % ' \ ' ∗ * + '
' % % ' \ | + ¡ ) - @ * + ' ' % % ' \ ' * + ' ' % % ' \ ∗
+
C ;8J IJ1JC4
&* / ' ' % % { \ |\
7JAJ7JC J
Y\^ + + & & | | | / & | !
Y{^ + | ! \{ { { \{ Y ^ + ! " # $ ` | { \{ Y ^ + + | & & & | _ + ! % &
{ { \\ \ { Y ^ & + + ' / + / + ! ''' * " +
{ \{ {\ \ {\ Y ^ ` ~ + / / ' / / + ! / 0 + # 1 2 \ Y ^ ~ + / + | +! ''' $ 3 4 " 0 1
\ \ Y ^ / & | _ ! / + ' % | { \ Y ^ * + | + + / ! * 6 " 4 # / 7773
AgmjfYd g^ 8mlgeYlagf DgZad] IgZgla[k ¬ @fl]dda_]fl Jqkl]ek
MFCLD<
E◦
~
''' &
\ \ { Y\ ^ + / | | & ! % "8 4 { \ \ { Y\\^ } + ! 8 8 &
\ Y\{^ ` + } _ % | + / ! * / 9 ! : / " " '
9 / ;< =%9> &
{ \\ \\\ \\ Y\ ^ } _ & + / * ! &
0 1
6 + { \ { { Y\ ^ _ + | / ! * ? + ? / ;< @ $1 G 1 &
{ \ Y\ ^ + & | | + + / ! * ''' + &
/ 0 " 2
+ 0 Y\ ^ & & + _& / * %& ! * 6 6 / ;< ''' + &
{ \\ { { \ Y\ ^ + | + & | / + / + _ / % ! * ''' +
Y\ ^ & ' _ / +! ''' $ + " & 6 " $ 1 + {{ { \{ \ \
\
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 8,
N° 4
2014
ML L ;O 1 7 Submitted: 22nd May 2014; accepted: 7th July 2014
! " " DOI: 10.14313/JAMRIS_4-2014/33 Abstract: This paper deals with modeling and control strategies of the motion of wheeled mobile robots. The model of the vehicle has two driving wheels and the angular velocities of the two wheels are independently controlled. To illustrate how the kinematics model of the system can be used to design P controller and a PI controller is applied. The nonlinear and linearlised models are simulated in MATLABÂŽ and simulink. The results are drawn here to evaluate the performance of the proposed controllers with concerned graphics. Keywords: mobile robot, P controller, PI controller, 0 12
& '( $%) *$( Wheeled type mobile robots (WMR) have great importance in industry and factory processing operations due to its effectiveness. The robotic designer must be a compendium of all basic skills and concerned engineering fields. The assistive technology is one of the researched areas in the formation of wheelchairs and development of wheel structured mobile robot. There is large literature about the motion control of mobile robots. The researched areas of WMR are theoretical and practical in nature of usage. Past research work on automatic mobile robotic control consists on path planning and path tracking control in engineering line. It is divided into four major categories: nonlinear, linear, geometrical, and intelligent aspects. The instantaneous velocities of system components are limited to non-holonomic system in limiting the local movement of the system for mobile robots. The kinematic type model of the mobile robot is selected due to its dealing with the geometry of robot motion with respect to a fixed reference coordinate frame as a function of time, without considering forces and moments that create the motion. Here PI controller is proposed for motion and uncertainties of WMR as it reduces time rise, steady error with rise of time settling, and the overshooting.
+ A$ 9)/ *$( $- 1 2!9 * / 1$%!/ The proposed model is a dual wheeled mobile robot whose position is determined by three co-ordinates in a plane: showing the positions x and y, and 20
+ + ¢ / *
configuration space, the robots can move along the + / "Â&#x2014; ¢$
In below figures, C is the center of the motion of the two wheeled mobile robots is shown. Where (Vx, Vy) represents linear speed or tangential velocity, and w is the angular velocity and center of gravity of the platform is at the origin (o). Fig. 1-A, represents the active driving wheel in two dimensions where r denotes the radius of the wheels, and D the azimuth length between the two wheels and C as the center of motion of the mobile robot. Fig. 1-B shows the (Vx, Vy) absolute (Cartesian) in coordinate system of the linear speed with the center of the platform at the origin (o), w is the angular velocity and "¢$ + + /
This system is shown in x and y coordinates and orientation change due to time. Based on its speed and orientation at any instant, the x the y coordinates of the robotâ&#x20AC;&#x2122;s center point are also changing. Although the states change with respect to time, the physical laws that rule the behavior of the mobile robot do not change with time, which reflects the system as the time invariant.
Fig. 1. Dynamics of driving wheel in two dimensions The mathematical equations behind our system model as represented in Fig. 4 are as follows: V = V 2x +V 2 y ,
(1)
where
while
X C = Vx
, and
Y C = Vy ,
â&#x17D;Ą Vy â&#x17D;¤ â&#x17D;Ľ, â&#x17D;Ł Vx â&#x17D;Ś
θ c = tanâ&#x2C6;&#x2019;1 â&#x17D;˘
(2)
Journal of Automation, Mobile Robotics & Intelligent Systems
,
VOLUME 8,
(3)
ÂŁ where WC â&#x20AC;&#x201C; angular velocity, or steering velocity, WR â&#x20AC;&#x201C; angular velocity for right wheel, WL â&#x20AC;&#x201C; angular velocity for left wheel, D â&#x20AC;&#x201C; azimuth length between the wheels, rw â&#x20AC;&#x201C; radius of the wheels. ,
(4)
where VC = tangential velocity, or linear velocity. X = Vc cosθ =
rw cosθ , 2(WR â&#x2C6;&#x2019; WL )
N° 4
2014
the integral gain will move to correct it. If the gain is higher, it will the faster the correction. The Design of a PI controller is more complicated than a P controller as shown in Figs. 2 and 3. To avoid saturation and the â&#x20AC;&#x153;wind-upâ&#x20AC;? problems, more gains is added. Tuning the PI controller is very sensitive for high Kp gains. The best results are obtained when Kp is 0.1, and when the gain is larger, then controller performs poorly. The mathematical formulae described above are represented in Fig. 2 and finally merged in the Fig. 3, in shape of subsystem. In Fig. 2, there are three inputs, two outputs and four gains representing as proportional (Kp) and integral proportional controllers (kI ).
(5)
1 WR-command 1
rw Y C = Vc sin θ = sin θ , 2(WR â&#x2C6;&#x2019; WL )
θ = Wc =
rw . D(WR â&#x2C6;&#x2019; WL )
(6)
1 WR
PGain
2 XError
Add
(7)
1
3 TError
1 s
1
PGain 1
Integrator 1 5 Noise
Here control inputs are (WR, WL ) and our control outputs are (X, Y, ¢). Therefore, desired trajectory is X(t), Y(t), ¢(t). This kind of drive is used to establish our equations as a differential drive, and the desired simplest selection form, where VL and VR are equal. In this case the radius D is infinite and the robot moves in a straight line, but it should be noted that the robot does not move in a straight line, except in a curved trajectory about a point on distance D away from the center of the robot, altering both the robotâ&#x20AC;&#x2122;s position and orientation. The differential drive system for Vehicle is very sensitive to the relative velocity of wheels to use castor wheels for balance of the WMR.
4 WL-Command
PGain 2
: & *9)/ *$( $- .' $( $/ !0" Here PI controller is proposed for this dual wheel robot (DWR). The P controller is less of its tolerance for high gains in primary shortcoming, which acts to add an integral gain KI to its controller. The integral gain will draws out the signal drop and usually the system reacts better with a PI controller than a P controller due to grow of integral gain ever larger even within small errors. Integral gain provides stiffness to the signal, which means when the error happens,
Add 1
1 s
1
Integrator
1 PGain 3
Fig. 2. Simulink diagram for the PI controller
p
t p1
To Workspace1
To Workspace To Workspace2
: $( $/ !0" -$ ;17 The dual wheel mobile robot control is difficult as the control inputs are produced to satisfy the constraints while the robot is moving. A mathematical model is never a perfect reflection of physical system of the robot. The actual facing challenge in motion planning is to invent a planning scheme integrated with a control system being able to detect and recognize the unexpected incidents on the basis of sensory information, to modify and adjust the basic plan at a high rate to cope with time and location variations in the happening of events without re-planning and coping.
2 WL
1
Xref X ref 1 X
WR-command
WR
Control signal 1 s
WR XError
-K-
Xerror
RW/2 TError
1
WL
WL -K-
Product
Kp=1 KI=1 Slope of X =1 RW=1.125 D=8.8 WL=Slope of X /RW WR=Slopeof X /RW T=.01
p3 To Workspace4
Control signal 1 Cos 1 s Teta measured
sin p2
RW/D Integrator 1
Noise
20 Teta
Xmeasured
cos
WL-Command
Noise
Integrator Xm
Controller
Sin
To Workspace3
Terror
Y
WR
Teta 1
WL Y'C
Theta
8.8 D
D
Subsystem1
Fig. 3. Simulink Diagram for PI Controller In Fig. 3, the controller in subsystem represented the Simulink block diagram of Fig. 2 is inserted and subsystem-1 represents the right and left wheels along with their orientation and distance between them. Some Simulink blocks are denoted by â&#x20AC;&#x2DC;scopesâ&#x20AC;&#x2122; to represent different control parameters for having their graphics too. Articles
21
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 8,
4. Simulation Results 450 400 350 300
rad/s
250 200 150 100 50
0
20
40
60 Time(sec)
2014
Kp gain is 50 and the KI gain is 1 is shown as theta for the mobile robot system in Fig. 6 where the mobile robot system is so sensitive for the KI gain changing with the K p changing. The Y-position for the mobile system is shown in Fig. 7. The slow system shows as if it does not move at all with tuning, but its gains above it show a good response from the system and the controller drive the system for stability.
Xref
0
N° 4
80
100
120
Y-position 0.1
Fig. 4. Xref-position for PI Controller
0.09 Xm
0.08
10 9
0.07
8
0.06 rad/s
7
rad/s
6 5
0.05 0.04
4 3
0.03
2
0.02
1 0
0
20
40
60 Time(sec)
80
100
0.01
120
0
Fig. 5 Xm-position for PI Controller
0
20
40
60 Time(sec)
80
100
120
100
120
Fig. 7. Y-position under PI controller
orientation 1 0.8
Xerror
0.6
6
0.4
5 rad/s
0.2
4
0 -0.2
3
-0.4
rad/s
-0.6 -0.8 -1
0
20
40
60 time
80
100
120
1 0 -1
Fig. 6. Theta PI controller the Kp gain is 50 and KI gain is 1 Fig. 4 and 5 show the PI Simulink controller simulation outcomes. In Fig. 4, the output of X-position, which is a ramp input follows the X-reference input, is shown. Fig. 5 presents the PI controller Y-position under, where K p gain is 10 and KI is 0.1. In Fig. 5 the PI controller drives the system better than the P controller as it denotes drives the Y-position for stability and lower oscillation.
2
-2 -3
0
20
40
60 Time
80
Fig. 8. Xerror in PI Controller Above Fig. 8 shows the rise in curve conceives that unit step response is over damped giving overshoot. This shows the error of angular velocity of wheels in x-position.
Table 1. Different Parameters used in Simulink
22
Parameter
Xerror
Xref
Y
D
Twist
Minimum
â&#x20AC;&#x201C;2.973
0.00
0.0048
â&#x20AC;&#x201C;0.9975
20.328
Maximum
5.0514
10
0.0987
1.000
422.13
Articles
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 8,
N° 4
2014
Table 2. PI controller simulation results for wheel mobile robot system Kp
KI
X-position
Y-position
Theta
1
0.1
0.0002123
0.0002022
0.12150
0.1158
0.1159
3
0.1
0.0008265
0.0008176
0.15090
0.1538
0.1509
10
0.1
7.865e-005
8.968e-005
0.08599
0.1857
0.1857
20
0.1
6.032e-005
5.073e-005
0.08039
0.2789
0.2792
40
0.1
2.238e-005
2.246e-005
0.05327
0.2605
0.2607
50
0.1
1.865e-005
1.258e-005
0.03526
0.2835
0.2538
well as the experience of the engineer. The steady state error can be eliminated by introducing some elements of integral control (KI).
control signals for left & right wheels w(rad/s
0.4 WL-g WR-b
0.2 0
1
1.5 -3
rad
1
2.5
2
3
3.5 4 time(s)
4.5
5
5.5
Zulfiqar Ali Soomro â&#x20AC;&#x201C; Directorate of Post-graduate Studies, Mehran University of Engineering & Technology, Jamshoro Sindh 76052, Pakistan. X-r Y-b
0.5 0 0.02
theta at Y position
643 7
6
Relation of orientation with X & Y position
x 10
Control Signals LW Control Signals RW
0.04
0.06
2 1 0 4
0.1
0.12
0.14
0.16
theta
-4
x 10
0.08
Relation of WL & WR with X and theta with Y position
3
2
-4
x 10 WR at X position
1
0 0
1
3
2 WL at X-Position
-4
x 10
Fig. 9. Correlation of Simulink parameters with each other In 1st part of above Fig. 9, the varying relation of left and right wheels is shown w.r.t times, which are almost on same line. Similarly in 2nd part, the X-Y positions with respect to orientation are lying in same line. While in the 3rd part, X-position of wheels w.r.t orientation at Y-position is shown in 3-D format.
= $( /) *$( The various simulation results were obtained by using the strategy to apply Kp and KI controllers to control the noise and uncertainties created by WMR. The mathematical model was framed for motion study. These mathematical formulas were developed in Simulink block diagram later on to observe achievable objective. The Matlab tool was used receive concerned tables and graphics. There are a number of standardized methodologies for tuning, which can be used to simplify the process but often tuning is relies on trial-and-error as
7!-! !( ! ?Y\^ Â&#x2022; + Â&#x203A;
means: a practical Progression,â&#x20AC;? ISA Transactions, vol. 41, no. 2 , April 2002, 177â&#x20AC;&#x201C;89. DOI: http:// dx.doi.org/10.1016/S0019-0578(07)60077-9. ?Y{^ Â&#x2021; Â&#x2021; Â&#x20AC; Â&#x2030; Â&#x2C6; Â&#x201E;
Joe, The Personal Robot Navigator, Robot Press, 2000. ?Y ^ Â&#x2C6; Â&#x153; Optimal Control Systems, Dover Publications, 2000. ?YÂ&#x192;^
Â&#x2C6; Â&#x161; % Mobile Robotics, Springer, 2003. ?YÂ&#x2020;^ Â&#x153; Â&#x2022; + ` Â&#x2021;
Principles of Mobile Robotics,â&#x20AC;? Cambridge University. 2000. ?YÂ&#x160;^ Â&#x2021; Â&#x203A; & Â?Â&#x2014; ! Â&#x2039; | Hall. 2001. ?YÂ&#x152;^ Â&#x201E; Â&#x2022; Absolute Beginnerâ&#x20AC;&#x2122;s Guide to Building Robots, Que Publishing, 2004. ?YÂ?^ Â&#x201E; Â&#x161; & / Dynamic adaptive tracking control for wheeled mobile robots, AmirKabir University of Technology, Tehran, Iran, 2006. ?YÂ ^ Â&#x2022; + } + ~ } ` + + ternative Paradigm For Control System Design.â&#x20AC;? In: Proc. of the 40th IEEE Conference on Decision and Control, Orlando, Florida, December 2001, 4578â&#x20AC;&#x201C;4585. Y\Â&#x2122;^ Â? Â&#x2022; + Control Systems: Design Guide,â&#x20AC;? Academic Press, 2000. Y\\^ Â&#x2021; Â&#x2022; The Robot Builderâ&#x20AC;&#x2122;s Bonanza, Â&#x2021; Â&#x2022; |} {Â&#x2122;Â&#x2122;\ Y\{^ Â&#x2030; Â? Applied Robotics, PROMPT 2000. Articles
23
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 8,
N° 4
2014
C L C Z [ ' A L ZO 1 7
L \ P ;O N Submitted: 1st September 2014; accepted 28th September 2014
Zenon Hendzel, Maciej Trojnacki DOI: 10.14313/JAMRIS_4-2014/34 Abstract: The paper presents a sequential neural network (NN) identification scheme for the four-wheeled mobile robot subject to wheel slip. The sequential identification scheme, different from conventional methods of optimization of a cost function, attempts to ensure stability of the overall system while the neural network learns the nonlinearities of the mobile robot. An on-line weight learning algorithm is developed to adjust the weights so that the identified model can adapt to variations of the characteristics and operating points in the four-wheeled mobile robot. The proposed identification system that can guarantee stability is derived from the Lyapunov stability theory. Computer simulations have been conducted to illustrate the performance of the proposed solution by a series of experiments on the emulator of the wheeled mobile robot. Keywords: mobile robot, tracking control, wheelsâ&#x20AC;&#x2122; slip, neural network, Lyapunov stability,
& '( $%) *$( In the adaptive control, unknown systems are parameterized in terms of known basic structures or functions but with unknown parameters. Two broad classes of adaptive controllers include the direct adaptive controllers and indirect adaptive controllers. In the indirect adaptive tracking controller often two feedback networks are used. One network is a plant identifier that has the role of identifying (or learning) the plant dynamics model online in real time. The tuning law for the plant identifier depends on the identification error, which is desired to be small. After the plant has been identified, the controller network can be computed using a variety of methods depicted in [1]. The problem of identification consists in choosing an appropriate identification model and adjusting its parameters such that the response of the model to an input signal approximates the response of the plant under the same input [5, 9, 12, 13]. For identification process both on-line [3, 6, 11] and off-line [8] methods can be used. In [3] an adaptive critic identifier for wheeled mobile robot was presented. The architecture of adaptive critic identifier contains a neural network (NN) based adaptive critic element (ACE) generating the reinforcement signal to tune the associative search 24
element (ASE), which is applied to approximate nonlinear functions of the mobile robot. In [11] the task of identifying the parameters of mobile robot was performed using tuning model method. The mathematical description for a robot model was derived on the basis of the Appellâ&#x20AC;&#x2122;s equations. An interesting approach to building multi-input and single-output fuzzy models was presented in [6]. A model is composed of fuzzy implications, and its output is inferred by simplified reasoning. The implications are automatically generated by the structure and parameter identification. In structure identification, the optimal or near optimal number of fuzzy implications is determined in view of valid partition of data set. The parameters defining the fuzzy implications are identified by genetic algorithm hybrid scheme to minimize mean square errors globally. The synthesis of the wheeled mobile robot state identifier is a complex problem because objects like that are non-linear with respect to occurring slips and are also multidimensional systems. Application of neural network architectures to identification of non-linear systems has been demonstrated by several studies in discrete time [9, 10]. Lots of the studies in discrete-time systems are based on replacing the unknown function in the difference equation by static neural networks first, and then deriving update laws using optimization methods for the cost function. Although such schemes are adequate in many cases, in general some problems may arise, including the stability of the identification scheme and convergence of the output error [9]. To overcome the above limitations, in this paper a sequential identification scheme for a continuous model of wheeled mobile robot subject to wheel slip using neural networks is presented. The nonlinearities of the mobile robot are assumed to be unknown. The sequential identification scheme, different from the conventional methods of optimization of a cost function, attempts to ensure stability of the overall system while the neural network learns the nonlinearities of the mobile robot. An online weight learning algorithm is developed to adjust the weights so that the identified model can adapt to variations of the characteristics and operating points of the four wheeled mobile robot. To guarantee stability, the proposed identification system is derived from the Lyapunov stability theory. The present article is the continuation of works [2, 3]. The paper is organized as follows. Chapter 2
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 8,
describes a two-layer neural network. Dynamic equations of the four-wheeled mobile robot and identifier properties are included in Chapter 3. Chapter 4 presents results of the identification algorithm investigations, obtained using numerical simulations. Chapter 5 summarizes the results of the research.
+ 8*(! *( 2! < 9! ! C!) / C! #$ 5 There are two layers of neurons shown in Fig. 1 (a two-layer NN [7]), with one layer having N neurons feeding into the second layer having r neurons, with linear activation functions on the output layer.
N° 4
2014
network is attractive from the point of view both control and identification tasks and is often use in practical applications [2, 4]. The form (3) will be adopted to approximate robot nonlinearities in the further analysis.
: 1$%!//*(0 $- 2! 7$ $ (% '%!( *-*! . $<! *! The object analyzed in the present article is a four-wheeled mobile robot. Diagram of its kinematic structure is shown in Fig. 2 [4, 14, 15, 16]. In the model, the following basic robot components can be distinguished: 0 â&#x20AC;&#x201C; mobile platform (robot body with additional frame to accommodate control and measurement equipment), 1â&#x20AC;&#x201C;4 â&#x20AC;&#x201C; wheels, 5â&#x20AC;&#x201C;6 â&#x20AC;&#x201C; toothed belts (tracks). In the analyzed robot, at either side the front wheel is connected with back wheel by means of the toothed belt. The following symbols are adopted for i-th wheel: Ai â&#x20AC;&#x201C; geometric centre, ri Â&#x2013; ¢i â&#x20AC;&#x201C; wheel rotation angle. Mobile platform angular velocity is denoted . It is assumed that motion of the mobile robot occurs in the oxoy plane (as shown in Fig. 2).
Fig.1. Schematic diagram of the neural network After assuming the element of input vector x0 ÂŚ \
and the vector of threshold values as the first column of matrix VT, one obtains:
y = W T S( V T x ) ,
(1)
where S = [S 1 (.), S 2 (.),..., S N (.)] is the vector of functions describing neurons, V and W are weights of neural network (see Fig. 1), V T â&#x2C6;&#x2C6; R NĂ&#x2014;( n+1) and W T â&#x2C6;&#x2C6;R rĂ&#x2014;N . From the mathematical point of view, a two-layer network is able to approximate any continuous nonlinear function of several variables. An arbitrary continuous function f : D f â&#x160;&#x201A; R n â&#x2020;&#x2019; R r , where D f is a compact subset of R n, can be approximated with arbitrary accuracy by a two-layer neural network with appropriately chosen weights [7]. That is, for a given compact set D f and a positive value of the approximation error G, there exists a two-layer neural network, such that the non-linear function f (x ) can be written as: T
(2) . If weights of the first layer of the network VT are determined with certain method, then weights WT of the second layer of the network define its properties, and it is in fact a single-layer network. , then the relationship (1) If one puts can be written as: for
,
(3)
. where x â&#x2C6;&#x2C6; R N , y â&#x2C6;&#x2C6; R r , Network like that is linear with respect to its parameters (WT weights). Therefore this kind of neural
Fig. 2. Model of the analyzed robot
Position and orientation of the mobile platform are described by generalized coordinates vector:
[
q = o x R , o y R , o Ď&#x2022;0 z
], T
(4)
where: xR = oxR, yR = oyR â&#x20AC;&#x201C; coordinates of the point R of / §z = o§0z â&#x20AC;&#x201C; rotation of the mobile platform with respect to z-axis, both in the stationary coordinate system {O}. Generalized velocities vector q can be determined based on the value of velocity of motion of the point R of the robot along direction of x-axis of the {R} system connected with the robot that is vR, and the angular , based on velocity of the mobile platform that is Ď&#x2022; the kinematic equations of motion in the form: Articles
25
Journal of Automation, Mobile Robotics & Intelligent Systems
â&#x17D;Ą x R â&#x17D;¤ â&#x17D;Ącos(Ď&#x2022; z ) 0â&#x17D;¤ â&#x17D;Ąv â&#x17D;¤ q = â&#x17D;˘ y R â&#x17D;Ľ = â&#x17D;˘ sin(Ď&#x2022; z ) 0â&#x17D;Ľ â&#x17D;˘ R â&#x17D;Ľ. â&#x17D;˘ â&#x17D;Ľ â&#x17D;˘ â&#x17D;Ľ Ď&#x2022; â&#x17D;˘â&#x17D;Ł Ď&#x2022; z â&#x17D;Ľâ&#x17D;Ś â&#x17D;˘â&#x17D;Ł 0 1â&#x17D;Ľâ&#x17D;Ś â&#x17D;Ł â&#x17D;Ś
VOLUME 8,
(5)
The above equation is valid if robot moves on a horizontal ground. In the control of position and heading of the robot, one assumes that motion of the robot is realized based on the desired vector of its position and heading, which has the form: ,
(6)
where: xRd, yRd â&#x20AC;&#x201C; desired coordinates of characteristic point R / " $ §d = o§0zd â&#x20AC;&#x201C; desired rotation of the mobile platform with respect to z-axis in (rad), both in the {O} coordinate system. In order to define the problem of tracking control, based on the relationship (6) let us define desired parameters of motion of the point R in the form of equation:
N° 4
2014
the presence of friction in kinematic pairs and the electromechanical model of servomotor drive unit. According to proposed model, it is assumed that the tire-ground coefficient of adhesion changes according to the Kiencke model, and values of longitudinal slip ratios Îť 3 and Îť 4 depend respectively on angular velocities of driven wheels θ 3 and θ 4 . Additionally, equality of driving torques for passive and active wheels is assumed, that is, Ď&#x201E;1 = Ď&#x201E;3 and Ď&#x201E;2 = Ď&#x201E; 4 . After taking into account the above assumptions, dynamic equations of motion for the mobile platform version with the hybrid drive system, i.e. with wheels and toothed belts, are written as [15]: (8) where ,
where: vRd ÂŞd = Ď&#x2022; d â&#x20AC;&#x201C; respectively desired linear velocity of the characteristic point R of the robot in (m/s) and desired angular velocity of its mobile platform in (rad/s), in the stationary coordinate system {O}. In Fig. 3 schematic diagram of the analyzed robot with marked reaction forces acting on the robot in the wheel-ground contact plane is presented. For description of motion of the four-wheeled, the model elaborated in [15] will be used. In this model the tire-ground contact conditions are characterized by coefficients of friction and rolling resistance. A simple form of a tire model, which considers only the most important effects of tire-ground interaction ,is applied. The robot dynamics model also includes
and , 't are respectively: a constant associated with the model of wheel-ground adhesion, components of acceleration of the characteristic point R of the robot in the {R} coordinate system associated with the robot. In turn, constants ai that occur in equation (8) result from analyzed robot geometric properties and mass distribution, and were determined in the work [15]. In the present work we use the idea of the identifier, introduced in [9], which allows estimation of parameters of the mobile robot mathematical model. , dynamic After putting x = [θ3 , θ 4 , θ 3 , θ 4 ]T , equations of motion (8) can be written in state space representation: (9) where f (.) â&#x2C6;&#x2C6; R 4 is a non-linear function vector. The identification model for the mobile robot (9) can by expressed by (10) and A â&#x2C6;&#x2C6; R 4 is a Hurwitz matrix. where Suppose that a neural network is used to approximate the non-linear function G(x,u) according to
Fig. 3. Diagram of reaction forces acting on the robot in the wheel-ground contact plane 26
Articles
â&#x20AC;&#x201C; where: WT â&#x20AC;&#x201C; the ideal approximating weights, function with a suitable basis, â&#x20AC;&#x201C; the approximation . error with
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 8,
Then the estimate of G(x,u) is given by
This yields the following identification model ,
(13)
(14)
/ /
is shown in Fig. 4. In Fig. 4, two neural network structure are shown. The first structure, i.e. tracking control structure, for identification. generates necessary signals The second structure is neural network based iden-
where tr(.) denotes the trace of a matrix. The first derivative of the Lyapunov function L with respect to time t reads
so that the dynamic expression of the state error is given by
2014
tifier. In the proposed solution, the weights W of the network are learned without the preliminary process of learning. In order to prove stability of the proposed structure of identification of the mobile robot state, let us introduce the assumption that weights W are limited, i.e. the inequality W ≤ Wm is fulfilled. Let us introduce the Lyapunov function in the form:
where xˆ denotes the state vector of the network model. ' ~ x = x − xˆ ,
N° 4
Since (18) equation (17) becomes (19)
Fig. 4. Identification based on neural networks Articles
27
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 8,
If the estimation law for the weight matrix is given
a)
b)
c)
d)
N° 4
2014
by
we will obtain
where Îťmax (A) is the maximum eigenvalue of the matrix A. Therefore, the Lyapunov derivative is negative semi-definite as long as
~ x > z Îľ / Îť max ( A )
Fig. 5. Desired signals for identification
x is bounded Therefore, the identification error ~ with a practical bound given by the right-hand side of equation (22). As long as the existing disturbances will be less than this value, the proposed system will work properly. Since L is positive define and L â&#x2030;¤ 0 , this demonx strates stability in the sense of Lyapunov, so that ~ ~ Ë&#x2020; ) are bounded. and W (and hence W
and:
(24)
@ *9)/ *$( 7! )/ In simulation investigations it was assumed that input u = [Ď&#x201E;3 , Ď&#x201E; 4 ]T and desired signals x = [θ3 , θ 4 , θ 3 , θ 4 ]T for the neural network identifier were generated from the neural network tracking control system [4], as shown in Fig. 4. Simulation investigations were realized for movement of a chosen point R of a mobile robot on a desired path in the shape of a loop (Fig. 5a). Fig. 5c shows the actual angles of rotation θ3 and θ 4 for wheels 3 and 4, and Fig. 5d actual angular velocities θ 3 ,θ 4 . The obtained control signals Ď&#x201E;3 ,Ď&#x201E; 4 (i.e. desired torques for driven wheels) that realize desired trajectory of motion of the point R of the mobile robot are shown in Fig. 5b. In the simulation of neural tracking control system, the parametric disturbance occurring for t  \{ is assumed in the form of increase in rolling resistance coefficient by Dfr=0.3 when the characteristic point R of the robot moves along the curvilinear path. In order to use the procedure of identification of kinematic parameters of the mobile robot (section 3), let us rewrite the dynamic equations of motion (8) in the form (10) â&#x17D;Ą x 1 â&#x17D;¤ â&#x17D;Ąâ&#x2C6;&#x2019; a1 â&#x17D;˘ â&#x17D;Ľ â&#x17D;˘ â&#x17D;˘ x2 â&#x17D;Ľ = â&#x17D;˘ 0 â&#x17D;˘ x 3 â&#x17D;Ľ â&#x17D;˘ 0 â&#x17D;˘ â&#x17D;Ľ â&#x17D;˘ â&#x17D;Ł x 4 â&#x17D;Ś â&#x17D;Ł 0
0 â&#x2C6;&#x2019; a2
0
0
0 â&#x2C6;&#x2019; a3
0
0
0 â&#x17D;¤ â&#x17D;Ą x1 â&#x17D;¤ â&#x17D;Ą x3 + a1 x1 â&#x17D;¤ â&#x17D;Ľâ&#x17D;˘ â&#x17D;Ľ â&#x17D;˘ â&#x17D;Ľ 0 â&#x17D;Ľ â&#x17D;˘ x2 â&#x17D;Ľ â&#x17D;˘ x 4 + a2 x2 â&#x17D;Ľ + , 0 â&#x17D;Ľ â&#x17D;˘ x3 â&#x17D;Ľ â&#x17D;˘ g3 (x , u1 ) â&#x17D;Ľ â&#x17D;Ľâ&#x17D;˘ â&#x17D;Ľ â&#x17D;˘ â&#x17D;Ľ â&#x2C6;&#x2019; a4 â&#x17D;Ś â&#x17D;Ł x 4 â&#x17D;Ś â&#x17D;Ł g4 (x , u2 ) â&#x17D;Ś
where [ x 1 , x 2 , x 3 , x 4 ]T = [θ 3 , θ 4 , θ 3 , θ 4 ]T , a ]ÂŽÂŁÂ? [u1 ,u2 ]T = = [Ď&#x201E;3 , Ď&#x201E;4 ]T 28
Articles
For approximation of non-linear functions G( x , u) = [ g3 , g4 ]T , equation (12) was applied where the neural network described in section 3 is used with sigmoid functions describing neurons, assuming that each element of the G(x,u) vector is approximated with 6 neurons. In the neural network of the identifier, initial weights were chosen equal to zero, and then adapted in a learning process for γ = 500 . The simulation results of the neural identifier for the desired motion parameters are shown in Figs. 6 and 7. The actual and estimated states of dynamic system against time t are shown in Figs. 6a and 6c. The x1 , ~ x 2 and errors of identification of rotation angles ~ ~ ~ angular velocities x 3 , x 4 are shown in Figs. 6b and 6d. In the presented simulations, during the mobile robot movement, five disturbances occurred, marked in Fig. 6d by ellipses (1, 2, 3, 4, 5), which cause the errors of identification. Disturbances 1 and 5 are associated with realization of two phases of robot motion: accelerating and braking. Disturbances 2 and 4 are connected with the entrance and the departure of the mobile robot from the loop. The disturbance 3 is the parametric disturbance occurring for t  \{ sumed in the form of increase in rolling resistance coefficient.
Journal of Automation, Mobile Robotics & Intelligent Systems
Initial values of the identifier errors are the highest, and are reduced during neural networks adaptation process. During time periods when disturbances appear, the temporary increase of the identification errors occurs. The neural networks weights adaptation process enables reduction of the tracking errors when the signal produced by the identifier is adapted a)
VOLUME 8,
N° 4
2014
where k is the ordinal number of a discrete value and n = 32 000 is the total number of discrete values. Values of all quality indices of realization of tracking motion are summarized in Table 1. Table 1. Values of the introduced quality indices ~ x 3 max
~ x 4 max
~ x 3R
~ x 4R
0.3237
0.2517
0.01976
0.01917
b)
= )99 "
c)
d)
Fig. 6. Results obtained from simulation of the neural network identifier
to the changed dynamics of the mobile robot. Weights of the non-linear function g3 of the neural network, shown in Fig. 7a, are bounded and converge to fixed values after the learning process, similarly as weights of the non-linear function g4, shown in Fig. 7b. a)
A sequential identification scheme for a continuous non-linear model of four-wheeled mobile robot with unknown nonlinearities using neural networks has been developed. The algorithm works online and renders the time consuming trial-and-error preliminary learning unnecessary. The stability of the overall identification scheme and convergence of the model parameters are guaranteed by parameter adjustment laws developed using the Lyapunov synthesis approach. The operation of the sequential identification algorithm was presented based on the conducted simulation investigations and the results conformed to theoretical expectations. C ;8J IJ1JC4
The work has been realized as a part of the project entitled â&#x20AC;&#x153;Dynamics modeling of four-wheeled mobile robot and tracking control of its motion with limitation of wheels slipâ&#x20AC;?. The project is financed from the means of National Science Centre of Poland granted on the basis of decision number DEC-2011/03/B/ ST7/02532.
b)
643 7
Zenon Hendzel â&#x20AC;&#x201C; RzeszĂłw University of Technology, RzeszĂłw, 35-959, Poland, zenhen@prz.edu.pl, Maciej Trojnacki* â&#x20AC;&#x201C; Industrial Research Institute for Automation and Measurements PIAP, Warsaw, 02-486, Poland, mtrojnacki@piap.pl. *Corresponding author Fig. 7. Time histories of weights in non-linear neural network functions: a) g3, b) g4 For quantitative evaluation of the results obtained from simulation investigations of the neural network / + Â&#x17E; â&#x20AC;&#x201C; maximum values of the errors ~ x 3 max and ~ x 4 max in (rad/s): ~ x (.) max = max(abs(~ x (.) (k ))) , k =1,2,â&#x20AC;Śn, k
â&#x20AC;&#x201C; the square root of the mean squared error (RMSE) of the identifier in (rad/s): 1 n 2 ~ x (. )R = â&#x2C6;&#x2018; (x (.)R (k )-xË&#x2020; (.)R (k )) , n k =1
7!-! !( ! [1] Astrom K. J., Wittenmark B., Adaptive control, Addison-Wesley, New York, 1989. [2] Giergiel J., Hendzel Z., Zylski, W., Modeling and Control of Wheeled Mobile Robots, PWN, Warsaw (2013) (in Polish). [3] Hendzel Z., Adaptive Critic Neural Networks For "
^ _ &_ *1
"_ 0 2 _ # 2 , Lecture Â&#x2C6; * + + |Â&#x201A; +
2006, 778â&#x20AC;&#x201C;786. [4] Hendzel Z., Trojnacki M., â&#x20AC;&#x153;Neural Network Control of a Four-Wheeled Mobile Robot Subject to Wheel Slipâ&#x20AC;?. In: Mechatronics: Ideas for Industrial Applications, chapter 19, series: Advances in Intelligent Systems and Computing, Springer Articles
29
Journal of Automation, Mobile Robotics & Intelligent Systems
International Publishing, 2015, 187â&#x20AC;&#x201C;201. DOI: http://dx.doi.org/10.1007/978-3-319-109909_19. [5] Hunt K. J., Sbarbaro D., Zbikowski R., Gawthrop P.J., â&#x20AC;&#x153;Neural networks for control systems-A surveyâ&#x20AC;?, Automatica, vol. 28, no. 6, 1992, 1083â&#x20AC;&#x201C; 1112. DOI: http://dx.doi.org/10.1016/00051098(92)90053-I. [6] Jooa Y. H., Hwangb H. S., Kimc K. B., Woo K. B., â&#x20AC;&#x153;Fuzzy system modeling by fuzzy partition and GA hybrid schemesâ&#x20AC;?, Fuzzy Sets and Systems, vol. 86, no. 3, 1997, 279â&#x20AC;&#x201C;288. DOI: http://dx.doi. org/10.1016/S0165-114(95)00414-9. [7] Levis F. L., Liu K., Yesildirek A., â&#x20AC;&#x153;Neural net robot controller with guaranteed tracking performanceâ&#x20AC;?, IEEE Transaction on Neural Networks, vol. 6, No. 3, 1995, 703â&#x20AC;&#x201C;715. [8] Lichota P., Lasek M., â&#x20AC;&#x153;Maximum Likelihood Â? Â&#x17E; / + Â&#x2013;
Angle of attack estimationâ&#x20AC;?. In: Proceedings of the 14th International Carpathian Control Conference (ICCC), IEEE, Rytro, Poland, 2013, 218â&#x20AC;&#x201C;221. DOI: http://dx.doi.org/10.1109/ CarpathianCC.2013.6560541. [9] Liu G.P., 9
_ "
^ _ "_ , series: Advances in Industrial Control, Springer-Verlag, 2001. DOI: http://dx.doi.org/10.1007/978-14471-0345-5. [10] Â&#x2C6; Â&#x20AC; Â&#x2039; Â&#x20AC; *
and control of dynamical systems using neural networksâ&#x20AC;?, IEEE Transaction on Neural Networks, vol. 1, no. 1, 1990, 4â&#x20AC;&#x201C;27. DOI: http://dx.doi. org/10.1109/72.80202. [11] Nawrocki M., Burghardt A., Hendzel Z., * Â&#x2018; Â&#x161; +
Amigobotâ&#x20AC;? (The parametric identicication of mobile robot Amigobot), Modelowanie j : , no. 42, 2011, 289â&#x20AC;&#x201C;294. (in Polish) [12] Sadegh N., â&#x20AC;&#x153;A perceptron Network for functional / !
IEEE Transaction on Neural Networks, vol. 4, no. 6, 1993, 982â&#x20AC;&#x201C;988. [13] Â&#x2019; Â&#x2039; !
Journal of Dynamic Systems, Measurement, and Control, vol. 115, no. 4, 1993, 739â&#x20AC;&#x201C;740. DOI: http://dx.doi.org/10.1115/1.2899207. [14] Â&#x2019; Â&#x2018; Â&#x2021; Â&#x2039; Â&#x153;Âą ` Â&#x20AC; Â&#x161; } Â&#x161;
â&#x20AC;&#x153;Trajectory Tracking Control of a Four-Wheeled Mobile Robot with Yaw Rate Linear Controller, Recent Advances in Automation, Robotics and Measuring Techniques, Series: Advances in Intelligent Systems and Computing, vol. 267, Springer International Publishing, 2014, 507-521. [15] Trojnacki M., â&#x20AC;&#x153;Dynamics Model of a Four-wheeled Mobile Robot for Control Applications â&#x20AC;&#x201C; a ThreeCase Studyâ&#x20AC;?, IEEE Intelligent Systems ISâ&#x20AC;&#x2122;14, Series: Advances in Intelligent Systems and Computing, Springer International Publishing, 2014, 99â&#x20AC;&#x201C;116. [16] Â&#x2019; Â&#x2018; Â&#x2021; / * / Â&#x153; Â
+ / Â&#x203A; Â&#x2030; &
on its Mobilityâ&#x20AC;?, Journal of Automation, Mobile Robotics and Intelligent Systems, vol. 6, no. 4, 2012, 65â&#x20AC;&#x201C;70. 30
Articles
VOLUME 8,
N° 4
2014
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 8,
N° 4
2014
4O ' L P B A L O . M P 1 7 L M Submitted: 4th September 2014; accepted 2nd October 2014
Piotr Bigaj, Jakub Bartoszek, Maciej Trojnacki
DOI: 10.14313/JAMRIS_4-2014/35 This work is concerned on sensitivity analysis of semiautonomy algorithm of a mobile robot to environmental sensorsâ&#x20AC;&#x2122; failures. Construction of the robot, semiautonomy algorithm and used sensors have been described. The algorithm bases on a reactive hybrid approach that merges data from different types of sensors and calculates resulting velocities. This algorithm also takes into account environmental sensorsâ&#x20AC;&#x2122; damage by modifying the behavior of robot in accordance to actual sensorsâ&#x20AC;&#x2122; set state of health. Simulation research using Matlab/ Simulink package and experimental testsâ&#x20AC;&#x2122; results of semiautonomy algorithm were presented. The experimental tests were carried out in outdoor conditions. The research and tests are performed for normal environmental sensorsâ&#x20AC;&#x2122; operation and for selected sensorsâ&#x20AC;&#x2122; damage. On that basis, sensitivity of semiautonomy algorithm to selected environmental sensors damage was tested. !"#$ % : mobile robot, semiautonomy algorithm, sensorsâ&#x20AC;&#x2122; failure, matlab/Simulink, simulation research, algorithm sensitivity analysis, hybrid reactive approach
& '( $%) *$( One of the most discussed issues in the field of mobile robotics is the problem of autonomous movement in highly diverse and unknown environment [1]. In most cases, the problem of robot movement is described as a problem of finding the shortest and collision-free movement trajectory from current robot position to its goal. Algorithms used to ensure proper realization of robots assignments highly depends on data gathered from wide range of sensors. Depending on type of used sensors, different type of sensor failure may occur. The nature of those failures is often possible to be determined only after they have occurred. High diversity of possible failures, and problem of detecting them cause the need of taking into account possibility of incorrect data presence in the system at first stage of algorithm design. As these failures are difficult to predict, their appearance may cause serious robotâ&#x20AC;&#x2122;s and its surroundings damages. Diagnosing failures and the fastest possible reaction to them is the key issue. In scientific elaborations two main approaches to the described problem are mentioned [2]. The first of them is based on creation of
sensors model and comparing its prediction to real data [3]. Some of proposed solutions require interference into whole system structure [4]. Another, different approach has been presented in [5]. The goal of that elaboration was to develop a method that will enable detection of a previously unnoticed sensor failure and an adequate reaction to it. Described method is based on determining the level of credibility of the data sent by the sensors. The complex solution based on merging two mentioned approaches was presented in [6]. Algorithm described in that elaboration is model based but also uses artificial neural network to detect and react on sensorsâ&#x20AC;&#x2122; failures. The best remedy for sensors failures is sensor redundancy but it requires an increase of financial costs of whole robot construction. This article presents the methods of reacting to the sensorsâ&#x20AC;&#x2122; failures used in the control algorithm of the IBIS robot.
+ 42! '?' 1$ */! 7$ $ The commercial version of IBIS is designed for pyrotechnical and combat missions to operate in diverse terrain like sand, snow or rocky bulk. The basic technical features of the robot can be found in [7]. For research activity, a new version of IBIS robot without manipulator has been designed (Fig. 1a). The IBIS robot can perform in one of two modes: teleoperation in which the movement of the robot is controlled by the operator, and semiautonomy in which the robot follows a path omitting obstacles. The robot has been equipped with a frame with sensors forming the modular structure. Sensorâ&#x20AC;&#x2122;s frame is a module that allows operation in semiautonomy mode. The frame has been equipped with four types of obstacle detecting sensors: 2D laser scanner, laser rangefinders, true-presence radar sensors and tactile sensors. Their position â&#x20AC;&#x201C; shown in Fig. 1b â&#x20AC;&#x201C; has been settled in the way that sensors cover the whole area around the robot and the main information concerns the area in front of IBIS.
: !9* ) $($9" 1! 2$% The robot is driven by six direct-drive motors ,three on each side and the robot is setterred like track based. In our approach, we hybridize two different approaches: Braitenberg algorithm [8] (subbehavior 0) and modified Vector Field Histogram [9] (subbehavior 1) that lead to two omitting obstacles subbehaviors. Two following subbehaviors are azimuth setting (subbehavior 3) and linear velocity set31
Journal of Automation, Mobile Robotics & Intelligent Systems
V
VOLUME 8,
N° 4
2014
V
Fig. 1. IBIS mobile robot version for autonomy method development (a), distribution of the sensors (b)
ting (subbehavior 4). Therefore there are four partial control signals ul that are combined as follows: , (1)
where: l â&#x20AC;&#x201C; subbehavior number, t â&#x20AC;&#x201C; iteration number, Îźl â&#x20AC;&#x201C; subbehavior credibility factor, {l â&#x20AC;&#x201C; subbehavior basic weighting factor, ul = [ulR(t),ulL(t)]T â&#x20AC;&#x201C; partial control for particular subbehaviors, fa â&#x20AC;&#x201C; acceleration limiting function, â&#x20AC;&#x201C; current and previous control vectors.
by weighting factors that produces direct control for the robot. Six laser rangefinders are placed on the top of the robotâ&#x20AC;&#x2122;s frame, therefore Braitenberg matrix is 2x6. Braitenberg control signals are calculated as follows (% is modulo operation):
,
,
(2)
(3)
where: i â&#x20AC;&#x201C; laser rangefinderâ&#x20AC;&#x2122;s number, sRF,i â&#x20AC;&#x201C; laser rangefinderâ&#x20AC;&#x2122;s reading, Di, Didef â&#x20AC;&#x201C; a length of segment of vertical projection of segment |AAâ&#x20AC;&#x2122;| (Fig. 2) for current robotâ&#x20AC;&#x2122;s position and if a robot is placed on flat surface, Ww,i â&#x20AC;&#x201C; Braitenberg weighting factor that have following properties:
and Fig. 2. Illustration of DefaultValue and Treshold Current control vector is sent to the motor driver ,which executes the robot movement. Vectors u0, u1, u2 determine angular velocity partial control of the robot whilst u3 corresponds to its linear velocity. This is because two subbehaviours: Braitenberg subbehavior, VFH subbehavior and azimuth setting subbehavior are calculated in a way that ulL= â&#x20AC;&#x201C;ulR by their nature (see (4),(11),(12)) and azimuth setting output is angular velocity proportionate to current and desired azimuth. Classic Braitenberg algorithm is a reactive approach where direct data from sensors is multiplied 32
Articles
where: w â&#x20AC;&#x201C; wheelâ&#x20AC;&#x2122;s index, equals 1 for right and 2 for left wheel. These properties lead to a fact that if we have m (m is even number) sensors placed symmetrically along main movement axis, we need to define only m/2 weighting factors W. The si values take into consideration both convex and concave obstacles (refer to absolute value of Didef and Di Di substraction in (3)) and the Di can exceed Didef several times leading to sRF, i >1 so that modulo operator has to be used and concave o. For indoor conditions, si can be simplified to:
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 8,
.
(5)
N° 4
2014
where (B1,L1) and (B2,L2) are current robotâ&#x20AC;&#x2122;s position and the destination point in WGS-84 coordinate system.
A scanner mounted in the front part of the robot is treated as 101 laser beams with angular resolution of 1°. As in the case of laser rangefinders Di projection values are calculated for each beam leading to angular histogram of form: ,
where sâ&#x20AC;&#x2122;s,i is a laser scannerâ&#x20AC;&#x2122;s reading and a angle width vector is then created:
Fig. 3. Illustration of VFH method Step 4. For this best opening (valey), next control signal is equal to: , (11)
, (7)
where Wsafe is a radius of safety region around the robot. Elements of a vector correspond directly with elements of Hâ&#x20AC;&#x2122; vector. The a vectorâ&#x20AC;&#x2122;s elements correspond with the distance from each obstacle placed on iâ&#x20AC;&#x2122;th scanner beam in meaning of angle. It can be seen as dilation or â&#x20AC;&#x153;fatteringâ&#x20AC;? of obstacles so that robot can be treated as a point robot. ss,i values are calculated in following steps: Step 1. A histogram vector Hâ&#x20AC;&#x2122; is then widened according to robotâ&#x20AC;&#x2122;s dimensions Wsafe as following to create true angular histogram H:
Vector H is produced based on vectors Hâ&#x20AC;&#x2122; (containing distances over angle) and a vector representing angle range for particular angles. Step 2. Vector H is then binarised with Dth threshold (i.e. where obstacles are further then Didef â&#x20AC;&#x201C; Dth) , and openings (valleys) are to vector found (see Fig. 3). The openings (valleys) are consecutive substrings of zeros in the binrised BH vector of which set is describes as follows:
where pbj, pej are begin and end points of valley. Step 3 [p2:], pek] â&#x20AC;&#x201C; valley number k is _ pekâ&#x20AC;&#x201C; pbk )/2â&#x20AC;&#x201C;A_ then chosen for which the smallest of all other valleys is i.e. a valley closest to the goal point in meaning of angle is chosen. A is a desired bearing value calculated as follows: , (10)
b\ÂŁÂŽÂŁÂ&#x2122; Â&#x2122;{ + / + ÂľÂ&#x2122; \Âś
and maximum number of consecutive zeros is 100 as this correspond with no obstacle situation. A goal orientation control signal is controlled by the difference of current azimuth and desired bearing:
where AC it is current azimuth value. b{ÂŁÂŽÂŁ\¡\Â?Â&#x2122;¸ because maximum deviation from desired azimuth is 180Âş and control are normalized to 1. The linear velocity control is calculated as follows:
. (13) And is equal to maximum of all previous control signals. This means that if a robot is close to obstacles it decreases its linear velocity as u3max has high value because robot has to maneuver amongst obstacles. On the other hand if no obstacle is sensed u3max equals zero and therefore robotâ&#x20AC;&#x2122;s linear steering maximum value. Sensorsâ&#x20AC;&#x2122; failures are represented as vector , where 1..6 refer to rangefindersâ&#x20AC;&#x2122; failures (value 1 stands for failure, 0 â&#x20AC;&#x201C; sensor is working properly), s refers to scannerâ&#x20AC;&#x2122;s failure. They are an important factor for construction site applications as knowing that the device has malfunction increases the safety. Vector F contains information whether particular sensor is or is not providing reliable data. Based on that information a credibility factor for each subbehaviour is calculated. The value of which corresponds to how do we treat the data from the sensor. Four basic situation for sensorâ&#x20AC;&#x2122;s failure can be considered: 1. No response from the sensor. The measurement system has been broken switched off or connections cables failed 2. Too low measurements values frequency. This situArticles
33
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 8,
ation can cause by cover of optical subsystem of the sensor by dirt or splash. This situation can be often on construction sites where transporting robot maneuvers through the dust or dirt that is especially important case for construction site. 3. Too high frequency of measurements values frequency. This situation can be caused by not proper mounting of the sensor or electronic part of measuring system failure. 4. Internal sensor failure. In this situation, the sensor returns an internal malfunction code corresponding to overheat, not accomplished selftest or others.
N° 4
2014
credibility factor change function is set in a way that first failures that occur decreases m0 significantly and this decrease is gradually smaller for next failures. ,
where: fa function limits the maximum acceleration. fa is necessary to produce smooth movement and prevent robot to execute oscillatory movement when passing between obstacles. Limiting function has a following form: ,
Fig. 4. Illustration Îź0 credibility factor change for changing the number of laser rangefinderâ&#x20AC;&#x2122;s failures
If all sensors work properly, all subbehaviors credibility factors are equal to 1 and they are decreased if F becomes non-zero. The value of credibility factor is changed as follows (see also Fig. 4):
,
where: c1, c2 have particular values, so that no sensorâ&#x20AC;&#x2122;s failure lead to Îź0=1 and all rangefinders have failure . The m0 equal Îź0=0, i.e. a)
where: W={L,R}, Â&#x192; â&#x20AC;&#x201C; step time, ath â&#x20AC;&#x201C; threshold acceleration corresponding to 3 [m/s2] when accelerating, and 6 [m/s2] when decelerating. Weighting factors in our algorithm are not constant values because different subbehaviors need to have different importance in particular situations e.g. when no obstacle occurs the second and the third subbehavior need to have significant dominance over omitting obstacles subbehaviors as there is nothing to omit. For the simplicity we have decided to use linear segment function to calculate i which value depends on the distance to the nearest obstacle. The values of 2 and 3 are increasing while the distance to obstacle is expending. On the contrary the values of 0 and 1, which are decreasing â&#x20AC;&#x201C; see Fig. 5 for reference. Two situations are distinguished basing on the projection of Di (see Fig. 2) on Y-axis (see Fig. 1b). This projection represents a lateral distance to obstacle when robot performs its movement. If the projection produces distance smaller than Wsafe more emphasis is put on omitting obstacles subbehaviour 0 and 1 b)
" ! @! A Gi functions a) the nearest obstacle is closer than Wsafe distance, b) the nearest obstacle is further than Wsafe distance 34
Articles
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 8,
(Fig. 5a). On the other hand (Fig. 5b), going towards goal subbehaviours 2 and 3 are preferred. Basically situation from Fig. 5b could be neglected because lateral distance of Wsafe means that robot will pass by the obstacle for safety reasons, which are a clue on construction site we would like to maximize the distance to obstacle whilst omitting it and therefore a0 and a1 are non-zero values. If obstacle is further than 3 m â&#x20AC;&#x201C; i.e.approximately 4Wsafe going towards the goal subbehaviours start to dominate over omitting obstacles.
@ *9)/ *$( 7! ! 2 A dedicated software environment has been created for autonomy method testing and evaluating. It is based on Matlab/Simulink package. The software responsible for surroundings simulation and virtual sensors indications has been separated from semiautonomy method. This work presents the simulation research results, in which obstacles were placed on the robotâ&#x20AC;&#x2122;s route to the target. The mobile robotâ&#x20AC;&#x2122;s semiautonomy algorithm has been evaluated in terms of sensitivity to the failure of selected environmental sensors. It is important to perform by the robot â&#x20AC;&#x153;go to the target omitting obstaclesâ&#x20AC;? behavior possibly in the shortest time, with the shortest route and with constant velocity (which results from energy consumption). Therefore in order to receive a conclusive assessment of the results, the following quality rates have been proposed: a) the sum of squares of the robotâ&#x20AC;&#x2122;s distance to the target
N° 4
2014
*9)/ *$( & ] // !(,* $(9!( / !( $ ! #$ 5*(0 < $<! /" The first presented simulation has been preformed with all of the robotâ&#x20AC;&#x2122;s sensors working properly. The results of this simulation are presented in Figs. 6â&#x20AC;&#x201C;7 and Table 1. They are used as reference for the next simulations, in which influence of selected sensorsâ&#x20AC;&#x2122; failure is presented. In Fig. 6 and Table 1 motion trajectories of the robot and quality rates for all simulations. Fig. 7 illustrates robotâ&#x20AC;&#x2122;s linear speeds vR, its medium value vM (a) as well as robotâ&#x20AC;&#x2122;s distance e and angle "Â&#x201E; to the target (b). The relation (weighting) between robotâ&#x20AC;&#x2122;s subbehaviors remains constant during the robotâ&#x20AC;&#x2122;s movement. It changes only in case of detection environmental sensorsâ&#x20AC;&#x2122; failure.
where: i â&#x20AC;&#x201C; iteration number, e â&#x20AC;&#x201C; the robotâ&#x20AC;&#x2122;s distance to the target, N â&#x20AC;&#x201C; the number of iterations till the robot reaches its target or the simulation ends before the target is reached, b) standard deviation of the robotâ&#x20AC;&#x2122;s speed
Fig. 6. Motion trajectories of robot for Simulations 1â&#x20AC;&#x201C; 3
Table 1. Values of quality rates for Simulations 1â&#x20AC;&#x201C;3
where: vR â&#x20AC;&#x201C; robotâ&#x20AC;&#x2122;s linear speed, vM â&#x20AC;&#x201C; robotâ&#x20AC;&#x2122;s average speed, c) length of the route from the starting position to the target
d) the time T it takes for the robot to reach the target, assuming the target is achieved for e š Â&#x2122; Â&#x2020; Y ^ e) robotâ&#x20AC;&#x2122;s medium speed vM (within a time from 0 to T). * " $ÂŁÂ&#x2013;ÂŁ" $
should be minimized whilst (e) should be maximized. In the case the robot cannot reach the target within the assumed time Tmax = 100 [s], the quality rates s and T Â / Â&#x;Âť & +
the values calculated for Tmax.
The relation (weighting) between robotâ&#x20AC;&#x2122;s subbehaviors remains constant during the robotâ&#x20AC;&#x2122;s movement. It changes only in case of detection environmental sensorsâ&#x20AC;&#x2122; failure. Performed numerous simulations show that elaborated method allows omitting obsta + + / &
follows a path with variable speed: the speed is decreased, as the robot gets closer to obstacle (Fig. 7a). During the whole movement, the distance to the target is decreasing (Fig. 7b). Articles
35
Journal of Automation, Mobile Robotics & Intelligent Systems
Fig. 7. Results of Simulation 1
Fig. 8. Results of Simulation 2
Fig. 9. Results of Simulation 3 36
Articles
VOLUME 8,
N째 4
2014
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 8,
N° 4
2014
*9)/ *$( + ] - */) ! $- 2! / ! (0!-*(%! 9 5!% A8 The second simulation has been performed in the case of a failure of the laser rangefinder FL (see Fig. 1b). The results of this simulation have been illustrated in Fig. 6, Fig. 8 and Table 1. After the laser rangefinderâ&#x20AC;&#x2122;s failure has been detected by the semiautonomy algorithm the weighting was modified for the subbehavior related to the modified Braitenberg algorithm. This weighting has been reduced after failure detection. Comparing the results of simulations 1 and 2, it can be concluded that in the case of a failure of the FL laser rangefinder, the robot achieved its target after longer time. Quality rates E, T and vM achieved worst values whilst the value of S and s are slightly better.
*9)/ *$( : ] - */) ! $- 2! / ! ((! In the last, third simulation, the failure of laser scanner was examined. The results of the simulation are shown in Fig. 6, Fig. 9 and Table 1. Presented results indicate that semiautonomy algorithm has high resistance to selected sensorsâ&#x20AC;&#x2122; damage. & + Â + atively fast, which is related to the fact that it has less information about obstacles. Therefore it moves more freely but less safely. Within this work simulation research has been also conducted assuming the damage of remaining sensors in the case of a single sensor failure. Based on all performed simulations, it can be concluded that, in most cases, the developed semiautonomy algorithm is capable of dealing with the damage of a single sensor.
a)
Fig. 10. Motion trajectory of robot for Experiments 1 â&#x20AC;&#x201C; 3
Table 2. Values of quality rates for Experiments 1 â&#x20AC;&#x201C; 3
b)
Fig. 11. Results of Experiment 1 Articles
37
Journal of Automation, Mobile Robotics & Intelligent Systems
a)
VOLUME 8,
N° 4
2014
b)
Fig. 12. Results of Experiment 2 a)
b)
Fig. 13. Results of Experiment 3
= J><! *9!( / 4! Taking into account simulation conclusions and safety reasons the robotâ&#x20AC;&#x2122;s speed in experimental tests has been reduced (especially in case of laser scanner failure). The experimental tests were conducted in similar environment as in simulation research.
J><! *9!( & ] // !(,* $(9!( / !( $ ! #$ 5*(0 < $<! /" The first experimental test was performed for the case of all environmental sensors working properly. The results of this experiment are illustrated in Figs. 10â&#x20AC;&#x201C;11 and Table 2. The robot reached a destination point in about 100 s. During movement, robot decreases distance to the target (Fig. 11b) and moves 38
Articles
with variable speed, i.e. redues it being closer to obstacle (Fig. 11a).
J><! *9!( + ] - */) ! $- 2! / ! (0!-*(%! 9 5!% A8 In the second experimental test laser rangefinder FL failed. As a result (see Fig. 10, Fig. 11 and Table 2) robot reached the destination point in 101 [s]. All quality rates except of S were slightly worst in comparison to the first experiment.
J><! *9!( : ] - */) ! $- 2! / ! ((! In the last, third experiment the failure of laser scanner occurred. As one can notice (see Fig. 10, Fig. 13 and Table 2), the robot moves to the target by dif-
Journal of Automation, Mobile Robotics & Intelligent Systems
ferent route and with much less speed in comparison to previous two tests. Therefore quality rates E, T and vM are the worst and S and s are the best from all Â&#x2014; & Â Â
constant speed and reached the target accidentally using shorter route.
VOLUME 8,
YÂ&#x160;^
D )99 " The results of experimental research have been shown in this paper. The developed semiautonomy algorithm and its sensitivity to sensorsâ&#x20AC;&#x2122; failure were described. The videos recorded during experiments and the robotâ&#x20AC;&#x2122;s animations can be found under address [10]. Further research will focus on simulating and testing the failure of large number of sensors and its influence on robotâ&#x20AC;&#x2122;s movement.
[7] [8] YÂ ^
[10]
N° 4
2014
on Intelligent Robot and Systems. Innovative Robotics for Real-World Applications. (IROS â&#x20AC;&#x2DC;97), vol.3, 1997, 1735â&#x20AC;&#x201C;1740. DOI: http://dx.doi. +¡\Â&#x2122; \\Â&#x2122; ¡*&_ \  Â&#x152; Â&#x160;Â&#x2020;Â&#x160;Â&#x2020; Â&#x192; } ` Â&#x2019; tor for autonomous underwater vehicles using parameter identificationâ&#x20AC;?, Amer. Control Conf., 1993, 585â&#x20AC;&#x201C;589. http://www.antiterrorism.eu/combat_robot. php Braitenberg V.,Vehicles: Experiments in synthetic psychology, Cambridge, MA: MIT Press, 1984. % * Â&#x201E; ` Â&#x201A;Â&#x203A;}Â&#x;Â&#x17E;
avoidance for fast mobile robotsâ&#x20AC;?, , 1998 IEEE International Conference on Robotics and Automation, 1998, 1572â&#x20AC;&#x201C;1577. http://www.youtube.com/user/osmpiap
C ;8J IJ1JC4 Â&#x2019; / Â&#x2039;&_Â&#x2019;Â?%
Â&#x2039; Â&#x2018;
(POIG.01.01.02-00-014/08) and is co-financed by Â&#x2019; Â? % / Â&#x2019; Â? & +
Development Fund under the Operation Programme Innovative Economy, 2007â&#x20AC;&#x201C;2013.
643 7
Piotr Bigaj*, Jakub Bartoszek, Maciej Trojnacki Â&#x2013; * & * /
Measurements (PIAP), Warsaw, Poland. * Corresponding author (pbigaj@piap.pl)
7JAJ7JC J
Y\^
Â&#x2030; Âź Â&#x161; Â&#x161; Â&#x161; Â&#x2018; Â&#x161; Â&#x2021; Â&#x161; Â&#x161;
P., â&#x20AC;&#x153;Architecture of mobile robotics platform planned for intelligent robotic porter system Â&#x2013; *&Â&#x2039;
Â&#x2018; ! Journal of Automation, Mobile Robotics & Intelligent Systems, vol.1, no. 3, 2007, 59â&#x20AC;&#x201C;63. [2] Bouibed K., Aitouche A., Bayart M., â&#x20AC;&#x153;Sensor fault detection by sliding mode observer applied to an autonomous vehicleâ&#x20AC;?. In: 2009 International Conference on Advances in Computational Tools for Engineering Applications, 621â&#x20AC;&#x201C;626. DOI: http://dx.doi.org/10.1109/ ACTEA.2009.5227853. Y ^
& Â&#x2022; ` Â&#x153; Â? _ |' /
%Â&#x201A;! IEEE Symp. Autonomous Underwater Vehicle Technology, 1994, 383â&#x20AC;&#x201C;392. YÂ&#x192;^
Â&#x201A; Â&#x2021; ' Â ` & Â&#x2030; ` Â&#x153;
â&#x20AC;&#x153;Expert System Framework for Fault Detection Â&#x203A; Â&#x2019; & ! Computers & Electrical Engineering, vol. 20, no. 5, 1994, 421â&#x20AC;&#x201C;435. [5] Soika M., â&#x20AC;&#x153;A sensor failure detection framework for autonomous mobile robotsâ&#x20AC;?. In: Proceedings of the 1997 IEEE/RSJ International Conference Articles
39
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 8,
N° 4
2014
U ? L M L P ^ 1 7 7 M NN P PP ? O Submitted: 9th September 2014; accepted 10th October 2014
# $ "% & "Nishtha Kesswani
DOI: 10.14313/JAMRIS_4-2014/36 This paper aims at developing a real-time, robust, and reliable behaviors for an omnidirectional soccer robot, can be used in crowded dynamically-changing environments. The soccer robot system consists of highly coordinated operations and movements so as to fulfill specific objectives, even under unfavorable situations. The associated issues are position control, velocity control and sensing information in addition to the need for imitating the human-like decision. The proposed method considers not only the kinematics of the robot but also its dynamics. Moreover, a control structure is designed and several behaviors for a soccer robot are proposed. Image processing, recognition and target following algorithm are illustrated through experiments. !"#$ % : autonomous soccer robot, control structure, image processing, decision behaviors, Kalman filter
& '( $%) *$( From the standpoint of soccer robot systems, a soccer game is a good example of the problems in real world, which can be moderately abstracted. We have chosen soccer as one of the standard problems for the study on soccer robot systems. Robotic soccer is an active research domain in Artificial Intelligence (AI) and robotics research [1, 2]. The robotic soccer provides a good test bed for evaluation of various theories, algorithms, and intelligent system architectures. Through the research for accomplishing this task, a number of technical breakthroughs for AI and robotics are expected to be solved. So far, various problems have been solved with new theories and algorithms for controlling [3], planning and so on. Additionally, it is an attempted to foster AI and intelligent robotics research by providing a standard range of technologies that can be integrated and examined. Generally, contemporary robotic systems involved large amounts of expensive, special purpose hardware for motor control system, velocity control, position control and local information sensing [4]. A fundamental ability of an autonomous soccer robot is to plan collision-free trajectories from a start to a goal position among a collection of stationary/ moving obstacles. This paper describes a vision based autonomous mobile robot and its control structure, 40
which can be easily operated. The important features of this soccer robot system are that this platform consists of driving, visual sensing, sensors, motor control, communication and decision behaviors. The last characteristics is essential in the system to perform well when using it under unfavorable situation. To evaluate the developed system, some behaviors for playing soccer and visual segmentation method and tracking algorithms based on color information have been implemented.
+ " !9 <! *-* *$( The control structure of this system was designed in such a way that simplifies its usage not only in a variety of task but also on different hardware platforms. The robotic soccer, which has been designed is much simpler than the complex and expensive autonomous soccer robot but still it has the entire standard components and functionality in order to fulfill the research assumption data and learning outcomes. In this system, the robot has its own driving mechanism, communication part and a microcontroller board. The computational part controls robotâ&#x20AC;&#x2122;s velocity according to the command data received from a host computer. All calculations of vision data processing, strategies, position control of robot and so on are done in the host computer.
+ & ! *0( 2* ! ) ! $- $ ! 7$ $ The design philosophy is to realize autonomous soccer robot with various functions, so that they can be used not only in soccer game but also in a lot of other applications as well. The designed soccer robot has body frames and CMOS-type devices are used to power consumption. The complete robot size is
Fig. 1 (a). Autonomous soccer robot [6]
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 8,
N° 4
2014
Fig. 1 (b). Architecture view of the soccer robot [6]
within 8 cm3. The microcontroller, three side IR sensors and the caterpillar moving mechanism make it possible to control the robot’s motion with obstacle avoidance and other intelligent behaviors. It is design in such a way that it will be useful in other applications as well. The design philosophy of commercially accessible Docile-X autonomous soccer robot (in Figure 1(a) is shown in Figure 1(b).
YI
XR YR
P
Y
+ + *,*(0 ! *0( The driving system of the mobile robot allows it to move successfully in the various tasks and therefore, must provide adequate speed, acceleration and maneuverability. Two different driving systems were considered in this work: an omnidirectional driving system and a differential driving system [11].
O
XI X
Fig. 3. Representing robot pose
The pose and velocity is describe by
Fig. 2. Two different driving wheels [17, 6]
The robot is modeled as a rigid body on wheels, operating on a horizontal plane. The total dimensionality of the robot chassis on the plane is three: (a) two for position in the plane, (b) one for orientation along the vertical axis – orthogonal to the plane [19]. The global reference frame is given by the inertial basis {O, XI, YI} and the robot local reference frame is given by {P, XR, YR}. The position of the P is the global reference is given by coordinate x and y, and the angular difference between the global and local frames is + ¢
respectively. The mapping between the velocity in the global reference {O, XI, YI} and the velocity in the robot local reference frame {P, XR, YR} can be accomplished using orthogonal rotation matrix:
. This matrix can be used to map the motion in the frame {O, XI, YI} to motion in the frame {P, XR, YR} ,
(1)
1 The Docile-X mobile robot has been designed in the Jay Robotix Pvt Ltd (R&D) Lab, Hyderabad, India. Articles
41
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 8,
N° 4
2014
Fig. 4. Representing robot pose and velocity Fig. 5. Differential drive with velocity mapping
The
velocity component,
+ : ! < ! 1$%!/ $- $ ! 7$ $ The science of robotics is about synthesizing motion- in the environment, using a robot. To synthesize motion, we need to understand what it is (i.e. structure) and how to describe it â&#x20AC;&#x201C; an overview of basic techniques for describing motion. The mobility analysis of the mobile robot can be reformulated in to statespace form. Mobile robot can move unbound with respect to its environment: a) there is no direct way to measure the robotâ&#x20AC;&#x2122;s pose instantaneously, b) robot motion must be intregrated with time, c) leads to inaccuracies of the motion estimation due to slippage. The goal of the kinematic model of the state-space representations is to describe the behavior of the wheeled robots and for control design. The kinematic modeling is used to established the robot speed [20],
/ / Â ÂŁ i, steering angle i, steering speed i and geometric parameter of the robot. The robot pose and speed in global frame:
Whatever type of robot, the velocity vector restricted to belong to a distribution define as,
is
(3) Where the columns of the matrix a basis of the null space
constitute
+ @ !( *(0 " !9 There are several methods for robot to reckon its position: (1) the location of the robot in the environment; (2) the location of the objects; (3) whether the robot has the object or not. The most standard method, somewhat indirect, but a useful way is done by vision camera. Despite its usefulness of getting precise location and orientation of the objects on the field, its relatively long processing time inhibits the user from using the vision system alone. Seven IR sensors on the three sides of the soccer robot are used for obstacle detection (in Figure 6).
.
The transformation R between two frames: The velocity in the local coordinate frame: , where - is the linear velocity and Z is the angular velocity. The transformation between two frames shown in Figure 5. 42
Articles
Fig. 6. Sensors for obstacle detection and their ranges
Journal of Automation, Mobile Robotics & Intelligent Systems
The obstacles in such discrete distances as 18 (very far), 10 (far), 5 (close) can be detected by just one pair of sensors. Linguistic sensing makes it easy to realize artificial intelligence approach.
+ = $99)(* *$( According to the soccer game rules, robot must not be wired, so RF-digital communication system is necessary. The robot uses the full duplex-mode RF-digital communication. The communication between robots facilitates performing the design objectives. Communication deadlock may happen when the amount of information increases, so communication strategy and protocol was carefully designed.
VOLUME 8,
N° 4
2014
avoidance and so on. The host computer processes vision data and calculates the position of the robot and the object (i.e. ball) and processes various behaviors according to strategies and sends commands to the robot using RF-modem. The robot makes his move according to these commands keeping away from obstacles. The robot has to have sensors for position control (encoders) and obstacle avoidance (IR sensors). Basically in this soccer research, we looked at the various positions of the camera [8]. Generally, the position can be divided into: â&#x20AC;&#x201C; Global vision where the camera is positioned overhead and should cover the whole environment. â&#x20AC;&#x201C; Local vision, popularly known as onboard camera on the robot soccer, where the camera is positioned on the robot itself and also moved with the robot too. The visual sensing in a soccer robot system plays an important role in acquiring visual information and recognizing it [21]. The soccer robot can detect and following the object, based on the images taken by the on-board camera. Camera must cover wide range of view. Since the robot soccer has such sensing capabilities, it can find an object by moving its camera head without moving its body. The host computer processes vision data on the position of the object (i.e. ball) and robot and forwards the same to the robot. The robot decides its own behavior autonomously using the received vision data, its own sensor data and strategies. This can be considered as a distributed control system.
Fig. 7. Communication protocol for vision-based soccer robot system
Figure 7 shows the communication protocol used to command robots from the host computer through RF modem for the vision-based soccer robot system. Three bytes assigned for robot of which two bytes are used to movements in x and y directions. The third byte is used as a flag representing â&#x20AC;&#x2DC;robotâ&#x20AC;&#x2122;s velocityâ&#x20AC;&#x2122;, â&#x20AC;&#x2DC;directionâ&#x20AC;&#x2122;, â&#x20AC;&#x2DC;straight or turnâ&#x20AC;&#x2122;, â&#x20AC;&#x2DC;enable obstacle avoidanceâ&#x20AC;&#x2122; and â&#x20AC;&#x2DC;exit from current actionâ&#x20AC;&#x2122;. Because of size limitation, the robot may not be show fully autonomous behaviors with the current technologies. The vision system [10] will be helpful to improve the performance and the intelligence of the total system. In the vision-based soccer robot system, it should have the capabilities to do some processing on strategies as well as for calculating locations of the object (i.e., ball) and the robot.
+ D U* *$( !% $ ! 7$ $ " !9 The vision-based soccer robot system can be considered as a system at an intermediate level between the remote-brainless and the robot-based system. In the vision-based system, the robots should have functions such as speed control, position control, obstacle
Fig. 8. Monocular vision depth estimation
+ D $( $/ ) ) ! In the soccer robot system when robot position, orientation and distance from the object (i.e. ball) are known, algorithm determines what robot should do [7]. Taking in to account, the task of the design system is necessary to determine the effectors and receptors and also determined the number of task assign to them (take into account the transmission delays and the necessary computational delays). The control system needs to define initial condition for each of behaviors along with transition function and terminal condition [18]. Two behaviors can be considered in soccer applications: a) tracking an object using the moving camera, b) detecting obstacle using sensors. Articles
43
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 8,
â&#x20AC;&#x201C; â&#x20AC;&#x201C; â&#x20AC;&#x201C; â&#x20AC;&#x201C; â&#x20AC;&#x201C; â&#x20AC;&#x201C;
N° 4
2014
= commands received (SET or START/STOP) in the form of single word, = current planner position of the soccer robot (in terms of X and Y co-ordinates), = desired velocities (linear and angular) of the soccer robot, = IR sensors status word, = orientation of the soccer robot data obtained from vision sensing system, CC1 = internal memory data â&#x20AC;&#x201C; contains the current planner postion of the soccer robot.
+ E ?!2 ,*$ $- 2! 0!(
Fig. 8. Structure of control system agent [22]
There are two receptors in our agent, as there are two sets of real receptors, (1) IR sensors, (2) EIH camera. The virtual receptor that interfaces the IR sensors with the controller converts the readings of all the seven sensors in a form that controller understands. Similarly the virtual receptor that interfaces the EIH (Eye-In Head) camera with the controller converts the reading from the camera to real angles that is interpreted by the controller. Virtual Receptors Buffer: â&#x20AC;&#x201C; â&#x20AC;&#x201C; [ts] = word containing the status of all seven IR sensors, = current orientation of the agent in radians,
â&#x20AC;&#x201C;
â&#x20AC;&#x201C; [tsF, tsL, tsR] = output of the sensors,
â&#x20AC;&#x201C;
â&#x20AC;&#x201C; [CIRGB] = retrieve camera image. The virtual effector that interfaces controller and real effectors of our robot perform two functions, instead of it receives from the current position, computes change in position of the robot caused by the effector (wheel) during the sampling time gap and provides the data to the controller, the virtual receptors also compute rotation of either wheels and provides appropriate current and regulate the wheels to the required velocities based of the desired linear and angular velocities provide by the controller. Virtual Effectors Buffer: â&#x20AC;&#x201C; = [Vdes, Wdes] â&#x20AC;&#x201C; desired linear and angular velocities, â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
= change in position,
â&#x20AC;&#x201C;
= current position readings,
â&#x20AC;&#x201C;
= signal corresponding to the desired rotational speed of the wheels,
ee1,1 = change in position along the current direction of the soccer robot. Control system receives data from the virtual receptors & transmission buffer and sends control signal to the virtual effectors. Following are the control system buffers:
â&#x20AC;&#x201C;
44
Articles
From the problem statement, it is deduced that there is only one agent in our system, i.e. the soccer robot with the given specification, which is going to perceive its environment and acts upon that environment, having an internal imperative to realize a certain task. This agent is an embodied agent, which is capable of perceiving its environment through receptors (IR sensors and EIH camera), acts upon that environment through effectors (wheels), having an internal urge (control system) to attain a certain goal ( to reach the given goal point). The following behaviors of the agent are defined: (a) Idel: This behavior is shown by the agent under any of the three conditions: 1. When the agent is powered on, until it receives START and SET command. 2. When the agent is given STOP command. 3. Once the agent reached the goal. In this behavior, all the other behaviors are muted/terminated. This behavior supersedes all the other behavior of the agent. (b) Turn along vertical direction (TAV): This behavior is shown by the agent under the following conditions: 1. When the agent receives START command and the robot is at (0,0) and Y (goal) < X (goal) & (Y "+ $ Â&#x2013; ~ " $ $ ž Â&#x2122; _ 2. When the current orientation of the agent is aligned along X direction and the front IR sensors hits a obstacle and none of the other sensors are activated. Or 3. When ((X (goal) â&#x20AC;&#x201C; X (Current)) is 0 and ""ÂŁ~"+ $ Â&#x2013; ~" $$ Â&#x161;
and none of the sensors are activated. (c) Turn along horizontal direction (TAH): This behavior is shown by the agent under the following conditions: 1. When the agent recieves START command and the robot is at (0,0) and (X (goal) â&#x20AC;&#x201C; X " $$Âľ "~ "+ $ Â&#x2013; ~ " $$ Âż "Ă&#x20AC;ÂŁ"+ $
Â&#x2013; Ă&#x20AC; " $ $ ž Â&#x2122; _ 2. When the current orientation of the agent is aligned along Y direction and the front IR sensors hits a obstacle and none of the other sensors are activated. Or 3. When ((Y (goal) â&#x20AC;&#x201C; Y (Current)) is 0 and ((X(goal) â&#x20AC;&#x201C; X(current)) is not equal to zero and none of the sensors are activated.
2 The study of the control system has been adopted from the topic â&#x20AC;&#x2DC;Robot Programming Methodâ&#x20AC;&#x2122;.
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 8,
N° 4
2014
Therefore, detecting and compensating the global image movement is very important task.
: & $/$ !% '9 0! . $ ! *(0
Fig. 9. Finite state automation of agentâ&#x20AC;&#x2122;s behavior
(d) Move straight (MS): This behavior is shown by the agent when none of the other states are true. Initial conditions and terminal conditions of the agent (i.e. soccer robot) for the above behaviors are calculated from the following (in Figure 9), are derived in the mathematical equations, 1. Initial conditions: Â&#x17E; "~+ ÂŽ ~ Ă Ă&#x20AC;+ ÂŽ Ă&#x20AC; $ %
(command = STOP)
An image is considered as a raw data, which we need to process by some image processing method until we get the correct information that is required. Processing the image is a very complex task [9,10]. Fortunately, there are many computer vision libraries that simplify image processing algorithms. In this work, we used OpenCV (Open Computer Vision) packages for image processing to deal with it. Even though an image that is obtained in real time vision, the concept behind the process is the same in which the obtained vision is divided in to multiple frames, and each frame needs to be processed. Each frame is then considered as an image and is processed as a still image. Based on the single still image concept, each image is compared to identify the object of interest. There are many color based object detection methods, which have been researched. We choose in this work â&#x20AC;&#x2122;Y-U-Vâ&#x20AC;&#x2122; color format.
: (Ygoal < Xgoal Ă ÂŽ START Ă Ă&#x201A;Ă&#x20AC;curr Ă Ă&#x201A;~curr Ă ~goal â&#x20AC;&#x201C; Ycurr ž Â&#x2122;$%"Ă&#x192; ÂŽ Â&#x2122; Ă front ÂŽ\ Ă Ă&#x201A;" right % left $$ %
"Ă&#x201A;"Ă&#x20AC;goal - Xcurr $Ă " ~goal â&#x20AC;&#x201C; Ycurr ž Â&#x2122;$Ă Ă&#x201A;" front % right % left )) : (Xgoal < Ygoal Ă ÂŽ START Ă Ă&#x201A;Ă&#x20AC;curr Ă Ă&#x201A;~curr Ă Ă&#x20AC;goal â&#x20AC;&#x201C; Xcurr ž Â&#x2122;$%"Ă&#x192; ÂŽ Ă front ÂŽ\ Ă Ă&#x201A;" right % left $$ %
"Ă&#x201A;"~goal - Ycurr $Ă " Ă&#x20AC;goal â&#x20AC;&#x201C; Xcurr ž Â&#x2122;$Ă Ă&#x201A;" front % right % left )) : 2. Terminal conditions: : command = START % "Ă&#x20AC;goal ž Xcurr % ~goal ž~curr) : command = command = STOP % " ÂŽ Â&#x2C6;$ : command = STOP % " ÂŽ Â&#x2C6;$ Fig. 10. Visual receptor transition function : command = STOP % " front % right % left $ % Ă&#x201A;"Ă&#x20AC;goal â&#x20AC;&#x201C;Xcurr $ % Ă&#x201A;"~goal â&#x20AC;&#x201C; Ycurr )
: A Novel Image Processing Algorithm In this section, we introduced a novel approach for image processing algorithm, which identifies the ball, wall and goal from image gathered in real time vision [8]. In many fields of robot vision applications, the camera platform may be mobile such as vehicle and airplane platform. Because of the camera movement, the images captured by the mobile platform will be changed in translation and rotation, which causes many difficulties in the applications like image displaying, image understanding and target tracking. 3 The basic idea of emboided agentâ&#x20AC;&#x2122;s behaviors has been studied from this paper http://staff.elka.pw.edu.pl/~czielins/hab.pdf
The robustness of the object recognition for a specific color format is crucial for the robot soccer. It is impossible to use RGB color space to recognize the objects with specific color. In general, it is possible to use Y-U-V color format in different lighting variations. For the Y-U-V image format [4], three components are separated into three planes. The Y-U-V is different from RGB. The RGB contains the image information of three large color channels, and the Y-U-V deals with one brightness or luminance channel Y and two color or chrominance channels Cr and Cb, respectively. When Y Cr Cb data is being packed as a Y-U-V packing, the Cr component is packed as U, and the Cb component is packed as V. Each Cr or Cb contains the information of four neighboring pixels (a two-by-two square of the image). For instance: CrO belongs to Yâ&#x20AC;&#x2122;00, Yâ&#x20AC;&#x2122;O1, Yâ&#x20AC;&#x2122;10, and Yâ&#x20AC;&#x2122;11 Â&#x2C6; Y-U-V and RGB can be converted. Articles
45
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 8,
The upper bound of the Y-U-V band-pass thresholds is indicated as (YUj , UUj , VU); the lower bound of the Y-U-V band-pass thresholds is indicated as (YLi , ULi , VLi). The formulas to determine the Y component band-pass thresholds are indicated in equation (4) to (6). Where i is also the index of interested objects, YMj is the mean value of component Y for object i. Â&#x2039;Â&#x152;i is the tolerance value of component Y for object i. The U and V components can also be determined in the following manner, ,
N° 4
2014
â&#x20AC;&#x201C; Any available information about initial conditions of the variables of interest. In the field of soccer robot, many papers have been %
vision processing and localization, KF is the algorithm of choice, sometimes along with other algorithms to improve the efficiency [15]. Some of the research articles have focused on the use of KF in multi-object tracking where the process of tracking multiple moving objects was implemented successfully.
(4)
YUi = YMi_Â?_Â&#x2039;Â&#x152;]/
(5)
YVi = YMi_Â&#x17D;_Â&#x2039;Â&#x152;i_].
(6)
Color Matching
Detect Object
Detect Position
The color characteristics then return and the established of Y-U-V ranges directly to the color definition, Figure 10 shows accurate result,
Predict Position
Decision Behavior
Motion command to Robot
Path Planning
Fig. 12. Trajectory tracking scheme Fig. 11. Color based object using monocular vision In order to obtain more accurate results in future, we are also drawing our interest on clustering methods. Clustering techniques seek to divide a set of data into groups or clusters [12]. This is also used to determine the location and size of the robots, once segmentation is completed.
@ 4 F! $ " 4 5*(0 However, when it comes to tracking an object with a soccer robot, the image processing can be done using many methods/algorithms. The most commonly used algorithms are listed below: 1) Kalman Filter, 2) CAM shift (Continuously adaptive Mean), 3) Optical Flow. The proposed soccer robot is capable of working with the above mentioned three methods. Our work adopted the Kalman filter method [14]. Introduced by Kalman back in 1960 in his famous paper titled â&#x20AC;&#x153;A new approaches to filtering and prediction problemsâ&#x20AC;?. Kalman filter (KF) has been extensively researched especially in the area of autonomous navigation and assisted guidance, specifically in robotics. It is described as â&#x20AC;&#x153;optimalâ&#x20AC;? because it considers all information that can be provided to estimate the current value of the variable of interest, by using: â&#x20AC;&#x201C; Knowledge of the system and measurementsâ&#x20AC;&#x2122; devices dynamics; â&#x20AC;&#x201C; The statistical description of the system noises, measurement errors and uncertainty in the dynamics models; 46
Articles
The Kalman filter works by estimating a process using feedback information. Firstly, the filter estimates the process state at time k and obtains measurement feedback. To pictorially represent the equations involved in this cycle, it can be divided into two groups: â&#x20AC;&#x153;Time updateâ&#x20AC;? equations and â&#x20AC;&#x153;Measurement updateâ&#x20AC;? equations. The â&#x20AC;&#x153;Time updateâ&#x20AC;? equations are for projecting the current state forward in time and the error covariance gives the a priori estimates for the next time step. The â&#x20AC;&#x153;Measurement updateâ&#x20AC;? equations are responsible for the feedback, e.g. for incorporating a new measurement into the a-priori estimate to obtain an improved a posterior estimate. Figure 13 shows the block diagram of a Kalman filter. A brief explanation of this figure has been given in research article [16]. Representing in a mathematical equation based on Figure 13 are as follows:
Fig. 13. Block diagram of a discrete time system
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 8,
N° 4
2014
Goal
System equation of motion: xj = A.xj-1 + B.uj + wÂ&#x2019;].
(7)
System observation equation:
(8)
zj = H.xj + vÂ&#x2019;].
Start Fig. 16. Obstacle avoidance behavior (scenario 1) Fig. 14. Block diagram of Kalman filter
The block diagram for Kalman filter is as in Figure 14 where the equation are given by: Â&#x2019; Â&#x2019; % ! .
Goal
(9)
Â&#x2019; Â&#x2021; % ! tion is (10) . In this manner, the robot soccer strategy can be further executed.
= ! * *$( ?!2 ,*$ = & 1$,! ?!2 ,*$ Move behavior consists of two operations performed sequentially, rotating and running. This is the simples scenario in which there are no obstacles in between the start point and goal point. For this sce-
Start D
(Xd,Yd)
D (Xd, Yd)
Fig. 17. Obstacle avoidance behavior (scenario 2)
nario, strategy that can be adopted: possible strategy for this scenario is first orient the agent towards the goal point and simply move in a straight line tracking the position in real time till the goal point is reached. Fig. 15. Move behavior 4 The detailed explanation of all equations has been given in: Welch G., Bishop G., An introduction to the Kalman filter, %Â&#x2C6; Â&#x; } Â&#x2019;& Â Â&#x2020;|Â&#x2122;Â&#x192;\ ` {Â&#x192; {Â&#x2122;Â&#x2122;Â&#x160;
5 This experiments has been tested in Jay Robotix R&D laboratory, India. 6 The diagram (in Figs. 15, 16, 17) of the robot is changed for better understanding of decision behaviors using sensors. Articles
47
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 8,
N° 4
2014
Fig. 19. Relation between pixels and metric distance Fig. 18. Attack procedure of the robot soccer
= + /! ,$*% ( ! ?!2 ,*$ The robot has IR sensors to detect obstacles as shown in Figure 6. The seven sensors detect obstacles in the front, right-hand or left-hand sides. In this behavior, we proposed two best scenario that can be adopted for which the control system has been designed: we placed a perpendicular wall or obstacle on the straight line (either vertical or horizontal) connecting start and goal points as shown in Figure 16, we placed a cross wall or obstacle in the straight line connecting the start point and goal point, respectively. Strategy adopted in the scenario 1, i.e. if there is a wall or obstacle, the agent (i.e. soccer robot) has to follow the wall or obstacle in the direction of the goal until the obstacle ends and then loop the original strategy with the current point as the starting point. Strategy adopted in scenario 2, i.e. if there is a cross wall (in Figure 17), the agent (i.e. soccer robot) has to follow the wall throughout the direction of the goal until the obstacle ends and then loop the original strategy with the current point as the starting point as same as the scenario 1.
D J><! *9!( To experimentally measure the efficiency of the proposed algorithm, the robot has to move its predefined path in the robotic soccer environments, leaving the ball in a known location. The methods and approaches proposed in this paper has been tested and verified in our laboratory. Â&#x2C6; + + consistent during the experiments. The experimental result described in this paper that the proposed algorithm has almost constant processing time and independently of the environments around the robot soccer. Based on the practical experiments, the conversion equation are shown in (11) and (12), DP = 0.000377Di3 â&#x20AC;&#x201C; 0.19231Di2Â&#x;\Â&#x192; Â&#x2122;Â&#x2020;Â&#x152;Â?Di â&#x20AC;&#x201C; Â&#x192;Â? {Â?Â&#x160;ÂŁ (11) Di = 8.09 x 10-6Dp3 â&#x20AC;&#x201C; 0.00798Dp2Â&#x;\ Â&#x2020;Â&#x2122; Â?\Dp Â&#x; {\  Â? \ÂŁ 48
Articles
Fig. 20. The experimental scenario
Where Dp indicates the real distances of planner distances (in c.m. units) and the Di indicates the pixel distances of the omni-directional images. When the robot reaches â&#x20AC;&#x153;Pos Bâ&#x20AC;?, it rotates itself until to direction â&#x20AC;&#x153;Dir Câ&#x20AC;?. The robot then moves along â&#x20AC;&#x153;Dir Câ&#x20AC;? to touch the ball, and further to push the ball toward to the goal target. Figure 14 shows the position of subgoal, ball and goal target become collinear. Table 4.1. Recognition succes rate comparison Methods
Figure 16(a) in %
Figure 16(b) in %
Traditional Method
85
79
Proposed Method
92
92
Table 4.2. Execusion time comparison Methods
Figure 16(a)
Figure 16(b)
Traditional Method
16.02
20.91
Proposed Method
15.67
15.98
Improvement Rate
0.21
0.23
Improvement Rate =(T.M â&#x20AC;&#x201C; P.M)/T.M
Journal of Automation, Mobile Robotics & Intelligent Systems
The accuracy was determined as the difference between the estimated values and the ones measured on the field, using pre-depend spots whose location is well known (e.g. the corner of the goal area). The precision (i.e. the difference between the measured value and the measurements average value for the same location) results are similar, and visual inspection made the average values seem trustable. The experimental result also shows the graphics of the vision fusion of ball and the robot soccer distance measure respectively are shown in Figure 15. In-addition color-based object detection, tracking and target following using our proposed method were also verified and tested in our laboratory.
E $( /) *$( (% A) ) ! ;$ 5 This paper addressed a real-time soccer robot for dynamically changing enviroments. Which is tested on images taken from local vision based on the soccer robot. The proposed algorithm was designed in a well structured manner and implemented succesfully for an omnidirectional soccer robot. In the soccer robot environments, promising results were obtained concerning posture accuracy and method robustness to image noise and distortion. The proposed method robustness meets the problem specification. We proposed both efficient color based object detection and tracking using Kalman filter to meet our goal. In order to evaluate this robotic system, we investigated how fast image processing can be realized on this system and how control system can be per/ Â&#x2C6; Â |
mobile robot as a standard platform for soccer robot research. To this end, it might be possible to use clustering technique recognition method for computing optimal and robust result. Moreover, applications of the suggested approach for multi-agent planning will be investigated. C ;8J IJ1JC4
The work was supported by the â&#x20AC;&#x153;Jay Robotix Pvt. Ltd, (R&D)â&#x20AC;?, India under the 2013 research internship program.
VOLUME 8,
[1]
[2]
[3]
YÂ&#x192;^
YÂ&#x2020;^
[6] [7]
[8]
[9]
[10]
643 7
Nishtha Kesswani*Â&#x20AC;Â&#x2013;ÂŁÂŁÂ&#x153; /
Â? + + % Â /
Rajasthan, 305-801 Ajmer, Rajasthan, India, E-mail: nishtha@curaj.ac.in
2014
7JAJ7JC J
[11]
Vibekananda Dutta â&#x20AC;&#x201C; Divison of Theory of Ma & Â&#x2030; % Â / Â&#x2019; +
Â&#x2122;Â&#x2122;|Â&#x160;Â&#x160;Â&#x2020; Â&#x2030; Â&#x2C6; Â&#x2018; {Â&#x192; Â&#x2039;
E-mail: vibek@meil.pw.edu.pl
N° 4
[12]
Y\ ^
*Corresponding author [14]
Kitano H., Tambe M., Stone P., et al., â&#x20AC;&#x153;The RoboCup Synthetic Agent Challenge 97â&#x20AC;?. In: RoboCup-97: Robot Soccer World Cup I, 1998, chapter 4, 45â&#x20AC;&#x201C;50. DOI: 10.1007/3-540-64473-3_49. Asada M., Kuniyoshi Y., Drogoul A., et al. , â&#x20AC;&#x153;The & Â&#x2039; + + Â&#x17E; Â&#x2039; Ă&#x201E;*
(Draft)â&#x20AC;?. In: Proc. of the 1st International Workshop on RoboCup, 1997, 51â&#x20AC;&#x201C;56. Chen Ch-H., Cheng Ch., Page D., Koschan A., Abidi M., â&#x20AC;&#x153;Tracking a moving object with real time systemâ&#x20AC;?. In: Proc. of Industrial Robot: An International Journal, vol. 33, no. 6, 2006, 460â&#x20AC;&#x201C;468. DOI: 10.1108/01439910610705635. Â&#x2C6; Â Â&#x2022; Â&#x201E; Â&#x2021;
vision system for real-time object recognition for an autonomous mobile robotâ&#x20AC;?. In: 2nd IEEE International Conference on Computational Cybernetics, ICCC 2004, 213â&#x20AC;&#x201C;216. DOI: 10.1109/ ICCCYB.2004.1437710. Â&#x2C6; Â ` & ` Â&#x2039; Â&#x2021; Â&#x153;
B., An efficient omnidirectional vision system for soccer robots: From calibration to object detection, 2010, 957â&#x20AC;&#x201C;4158. DOI: 10.1016/j.mechatronics. 2010.05.006. Docile-X documentation, www.jayrobotix.co.in. Kuo Ch.-H., Yang Ch.-M., Yang F.-Ch., â&#x20AC;&#x153;Development of Intelligent Vision Fusion Based Autonomous Soccer Robotâ&#x20AC;?. In: Proceedings of the 2005 IEEE International Conference on Mechatronics, July 10â&#x20AC;&#x201C;12, 2005, Taipei, Taiwan, 124â&#x20AC;&#x201C;129. Papageorgiou C.P., Oren M., Poggio T., â&#x20AC;&#x153;A general framework for object detectionâ&#x20AC;?. In: 1998 IEEE 6th International Conference on Computer Vision, 1998, 555â&#x20AC;&#x201C;562. Cheng G., Zelinsky A., â&#x20AC;&#x153;Real-time vision processing for a soccer playing mobile robotâ&#x20AC;?. In: RoboCup-97: Robot Soccer World Cup I, 1998, 144â&#x20AC;&#x201C;155. Sahota M.K., Mackworth A.K, Kingdon S.J., Barman R.A., â&#x20AC;&#x153;Real-time control of soccer playing robots using off-board vision: The dynamic test bedâ&#x20AC;?. In: IEEE Proc. Int. Conf. on Robots and Automation, Japan, 1995, 3690â&#x20AC;&#x201C;3693. Archibald J.K., Beard R.W., â&#x20AC;&#x153;Competitive robot soccer: A design experience for graduate studentsâ&#x20AC;?. In: Proceedings of the 32nd Annual Frontiers in Education  Ă&#x201E; {Â&#x2122;Â&#x2122;{ Â&#x201E; Â&#x2021;
% Â&#x2C6; Â {Â&#x2122;Â&#x2122;{ Â&#x203A; Â&#x153;\Â&#x192;Â&#x2013;\Â
Dutta V., Sharma K., Gahalot D., â&#x20AC;&#x153;Performance comparison of hard and soft approaches for document clusteringâ&#x20AC;?, International Journal of Computer Application, vol. 41, no. 7, March 2012, 0975â&#x20AC;&#x201C;8887. DOI: doi.org/10.5120/55577632. Â&#x153; Â&#x201A; Â&#x2C6; Â&#x20AC; Â&#x2C6; Â&#x203A; Â&#x161;Â&#x161; +
Â&#x203A; Â&#x161;Â&#x161; Â&#x2021; + + "Â&#x203A; Â&#x203A;Â&#x2021;$Â&#x17E; % /
document clusteringâ&#x20AC;?, CSI Journal of Ccomputing, vol. 1, no. 3, 2012, 46â&#x20AC;&#x201C;51. Freeston L.. Applications of the Kalman filter algorithm to robot localization and world modeling. Technical report % Â / Â&#x2C6;
Articles
49
Journal of Automation, Mobile Robotics & Intelligent Systems
Â&#x2C6; Â&#x2030; {Â&#x2122;Â&#x2122;{ [15] Hargrave P. J., â&#x20AC;&#x153;A tutorial introduction to Kalman filteringâ&#x20AC;?. In: IEE Colloquium onKalman Filters: Introduction, Applications and Future Developments, IET, 1989, 1â&#x20AC;&#x201C;6 . Y\Â&#x160;^
Â&#x2021;
Â&#x2021;
Â&#x2022; Â&#x2C6;
T., A tutorial on particle filters for online nonlinear/nonGaussian Bayesian trackingâ&#x20AC;?, IEEE Transactions on Signal Processing, vol. 50, no. 2, 2002, 174â&#x20AC;&#x201C;188. [17] https://www.robomatter.com (omnidirectional wheel of Figure 1-a ). Y\Â?^
+ & Â&#x2C6; * & Â&#x153; Â
Â&#x161;za D., Introduction to Autonomous Mobile Robots, 2nd edition 2011, Massachusetts Institute / Â&#x2019; + * Â&#x201E;Â&#x2C6; Â Â&#x152;Â?|Â&#x2122;|{Â&#x160;{|Â&#x2122;\Â&#x2020; Â&#x2020;|Â&#x160; Y\Â ^
+ & Â&#x2C6; * & *
Autonomous Mobile Robots, 1st edition, Mas * / Â&#x2019; + {Â&#x2122;Â&#x2122;Â&#x192; * Â&#x201E;Â&#x2C6;
0-262-19502-X. [20] Goris K., Autonomous Mobile Robot: Mechanical Design Â&#x153; Â&#x2019; Â&#x201A; Â&#x2018; % Â /
Brussel, Belgium, 2004â&#x20AC;&#x201C;2005. Y{\^
Â&#x2030; Â&#x2021; Â&#x2C6;
  Â&#x2C6;
Â&#x2018; Â&#x20AC; Â&#x2019; +
distance estimation using monocular vision system for mobile robotâ&#x20AC;?. In: 2011 IEEE conference on Open Systems (ICOS), 2011, 11â&#x20AC;&#x201C;15. Y{{^
Ă&#x2026; Â&#x203A; + /
robot programming frameworks: the behavioral control caseâ&#x20AC;?, Bulletin of the Polish Academy of Sciences â&#x20AC;&#x201C; Technical Sciences, vol. 53, no.1, 2005, 57â&#x20AC;&#x201C;67.
50
Articles
VOLUME 8,
N° 4
2014
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 8,
N° 4
2014
MNL M P 1 MML Z C Z [ Submitted: 23rd November 2014; accepted: 26th November 2014
' () "* "+ -) " (. "/ " . 0 DOI: 10.14313/JAMRIS_4-2014/37 In the paper two algorithms of dynamic modeling of communal sewage networks are presented. It is assumed that the hydraulic parameters of segments, namely canal shape, canal dimension and roughness are constant. The goal of the algorithms is to calculate the main sewage network parameters using only the continuity equation and the Manning formula. In the algorithms, fundamental algebraic formulas describing the filling heights in the canals and the sewage flow velocities are also used. The network model based only on the Manning formula and continuity equation in difference form and not on the liquid equations as it is used commonly by modelling the sewage networks is simpler and faster in calculations. While modeling the networks fixed network structure and slowly changing sewage inflows into the canals are assumed. The forecasted inflow values are stated and the investigation presented concerns the sanitary and mixed gravitational sewage networks. !"#$ % command sewage network, flow computer modelling, Manning formula
& *9</*-*!% A/$# 1$%!/ $- !# 0! The commonly known flow models of wastewater networks are based on two Saint-Venant equations, i.e. on the continuity and the dynamic equations ([15], [1], [7], [12], [14]). The models presented below concern the housekeeping, i.e. sanitary or combined, i.e. sanitary connected with rain sewage networks consisted of segments and nodes. The nodes are the points in which few segments join together or into/ from which the wastewater inflows/outflows. The equations of flow continuity hold in the nodes and the conditions of concordane of sewage surface levels hold in the canals, which are combining each other. It is assumed that the main hydraulic parameters of the network such as shape, canal dimension, canal slope and roughness are constant at any one time, the sewage inflows are slow-changing in time and the nets investigated are of gravitational type. The formulations of the wastewater nets models proposed in the paper are based on the Saint-Venant continuity equation and on the Manning formula, which have the following forms ([7]):
a)
the continuity equation
â&#x2C6;&#x201A;Q â&#x2C6;&#x201A;A + â&#x2C6;&#x2019; z = 0, â&#x2C6;&#x201A;x â&#x2C6;&#x201A;t
(1)
b) the Manning formula
Q = 1 R 2 / 3 â&#x2039;&#x2026; J 1 / 2 â&#x2039;&#x2026; A, n
(2)
where: A â&#x20AC;&#x201C; cross sectional area of the network canal, [m2], Q â&#x20AC;&#x201C; flow rate, [m3/s], Îś â&#x20AC;&#x201C; sewage inflow calculated for the length unit of the canal, v=
Q â&#x20AC;&#x201C; mean velocity of the sewage flow, [m/s], A
J â&#x20AC;&#x201C; YĂ&#x2020;^ R â&#x20AC;&#x201C; hydraulic radius of the canal, [m], n â&#x20AC;&#x201C; roughness coefficient, [s/m1/3]. In the following there will be assumed that network investigated is divided by the nodes into N segments (canals) and each j-th canal is divided into Mj subsegments with the relative lengths as is shown in Fig. 1. In the following relations j means the canal index and i means the subsegment index of j-th canal. The flow changes in respective subsegments of a j-th canal can be written in form of equations (for Â&#x2019;]ÂŽÂŁ\ ÂŁĂ&#x2021;ÂŁ Â&#x2C6;$Â&#x17E;
Î&#x201D;Q1 j = Q1 j â&#x2C6;&#x2019; W j â&#x2C6;&#x2019; Îś 1 j ,
Î&#x201D;Qi j = Qi j â&#x2C6;&#x2019; Qi â&#x2C6;&#x2019;1 j â&#x2C6;&#x2019; Îś i j i=1 Ă&#x2021; Mj]/ ÂŁ
ÂŁ
(3a)
Î&#x201D;QM j j = QM j j â&#x2C6;&#x2019; QM j â&#x2C6;&#x2019;1 j â&#x2C6;&#x2019; Îś i j , Îś i j (t ) = Îś j (t ) â&#x2039;&#x2026; Î&#x201D;xi , where: N â&#x20AC;&#x201C; number of segments(canals), Mj â&#x20AC;&#x201C; number of subsegments in the j-th canal, Qi j â&#x20AC;&#x201C; flow in i-th subsegment of the j-th canal given by the Manning formula, Îś i j â&#x20AC;&#x201C; sewage inflow to the j-th canal calculated for the length unit of the i-th subsegment, W j â&#x20AC;&#x201C; sewage inflow to the j-th canal being the sum of the outputs from other canals combined with canal j. N
W j = â&#x2C6;&#x2018; Pk j â&#x2039;&#x2026; QM j j + Îł j Â&#x2019;]ÂŽÂŁ\ ÂŁĂ&#x2021;ÂŁ,N,
(3b)
kâ&#x2030; j
51
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 8,
where: Pk j â&#x20AC;&#x201C; matrix of elements 0 and 1 describing the connections between the network segments, QM j j â&#x20AC;&#x201C; outflow from the j-th segment of the network, Îł j â&#x20AC;&#x201C; sewage inflow to the j-th network segment.
Îś1 j
Wj ( t )
Îś2 j
Q2 j
Q1 j
Î&#x201D; x1
ÎśM j j
Îś M j â&#x2C6;&#x2019;1 j
Î&#x201D;x 2
Q M j â&#x2C6;&#x2019;1 j
QM j j
Î&#x201D;x M j
Î&#x201D;x M j â&#x2C6;&#x2019;1
Fig. 1. Division of the j-th canal segment into subsegments
Under assumption that roughness coefficient n and the canal slope J are constant along the whole length of the segment considered we can write the formula describing the flow rate:
Qi j (t ) = 1 Ri j (t )2 / 3 â&#x2039;&#x2026; J j 1 / 2 â&#x2039;&#x2026; Ai j (t ). n
(3c)
N° 4
2014
where: Â&#x192; â&#x20AC;&#x201C; time step, Â&#x192;Â&#x2022;i â&#x20AC;&#x201C; lenght of the i-th canal subsegment. Solving equations (6a)â&#x20AC;&#x201C;(6b), beginning from the moment t=0 up to time T with given sewage inflow zi(t), we will receive the set of values Aij (for j=1,ÂŁ...ÂŁ, N, ]ÂŽÂŁ\ ÂŁ...ÂŁ, Mj ÂŁÂŽ Â&#x2122; ÂŁ...ÂŁ ÂŁÂ&#x2019;$ / Ă&#x2C6;xi and each time step Dt, where T is the total simulation time. For equations (6a)â&#x20AC;&#x201C;(6b) the initial conditions for t=0, for cross sectional area A and the flow rate Q have to be given. The flow model is described by relations (3b), (3c) and (6a)â&#x20AC;&#x201C;(6b). For each moment t and for each j-th network segment (jÂŽÂŁ\,ÂŁ...ÂŁ, N) the flows Qij (t) can be then calculated. Knowing the flow values for the time t, we calculate the cross sectional area A for the next time period t+Â&#x192; by means of (6a)â&#x20AC;&#x201C;(6b). According to the Manning formula, the sewage flow depends on the hydraulic radius R and on the cross sectional area A whereas R and A depend on the canal filling height H. To simplify the description of relations (7a)â&#x20AC;&#x201C;(8c), the indexes i and j in them are omitted but they concern each section of the investigated network segment. From the Manning formula and taking into account canal geometry, one can formulate the following relations [2]: for H ÂŁÂŁÂ&#x2122; Â&#x2020;ÂŁd:
After rearranging equation (1) to the form: ,
Î&#x201D;Q Î&#x201D;A + =z Î&#x201D;x Î&#x201D;t
(4)
and after taking into account equations (3a), we receive equations set determining the change of cross sectional area Î&#x201D; A in time Î&#x201D;t: Î&#x201D;Ai j (t ) Î&#x201D;t
=
(7a)
Qi â&#x2C6;&#x2019;1 j (t ) â&#x2C6;&#x2019; Qi j (t ) Î&#x201D;xi
+ Îś j (t ) .
for H Âś Â&#x2122; Â&#x2020;ÂŁd:
Î&#x201D;t â&#x2039;&#x2026; Î&#x201D;x i
â&#x17D;&#x17E; â&#x17D;&#x203A; Mj â&#x17D;&#x; â&#x17D;&#x153; Pk j â&#x2039;&#x2026; QM j j (t ) + Îł j (t ) â&#x2C6;&#x2019; Q1 j (t )â&#x17D;&#x; + Îś j (t ) â&#x2039;&#x2026;â&#x17D;&#x153; â&#x17D;&#x; â&#x17D;&#x153; kâ&#x2030; j , (6a) â&#x17D; â&#x17D;?
â&#x2C6;&#x2018;
Ai j (t + Î&#x201D;t ) = Ai j (t ) +
(
)
Î&#x201D;t â&#x2039;&#x2026; Qi â&#x2C6;&#x2019;1 j (t ) â&#x2C6;&#x2019; Qi j (t ) + Îś j (t ) , Î&#x201D;x i ] Mj . (6b)
52
Articles
(5)
The calculated changes are used to determine Aij for the next time step. From (5) we obtain for each j-th network segment for jÂŽ\ Ă&#x2021; N:
A1 j (t + Î&#x201D;t ) = A1 j (t ) +
where: H â&#x20AC;&#x201C; canal filling height, j â&#x20AC;&#x201C; canal central angle, d Â&#x2013;ÂŁ From the above relations, one can see that for circular canals the cross sectional area A and the hydraulic radius R depend on the canal filling height H and these relations can be described as ]Â&#x2013;] 1(H) and #]Â&#x2013;] 2(H). In this way, while knowing cross sectional area A, one can determine filling height H and hydraulic radius R. In Fig. 2 the relations between A and canal filling degree H/d for different diameter values d are shown [2].
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 8,
N° 4
2014
H/d 1,2
the value
. Equation
for calculating
1
0,8
0,6
0,4
0,2
0
A 0
0,02 0,04 0,06 0,08
0,1
d=0.2
0,12 0,14 0,16 0,18
d=0.3
0,2
0,22 0,24
d=0.5
Fig. 2. Relation between canal filling degree H/d and cross sectional area A for different values d
The algorithm for calculating the sewage flow model consists for given time t of the following steps: â&#x20AC;&#x201C; determining cross sectional area Aij (t) by solving "Â&#x160; $ÂŁÂ&#x2013;ÂŁ"Â&#x160; $ t for each j-th network segment and the i-th canal subsegment ]= / ... /]0j; â&#x20AC;&#x201C; calculating filling height Hij (t) by solving equation (Hij)â&#x20AC;&#x201C; AijÂŁÂŽÂ&#x2122;
/ Â&#x17E; "/ j-th network segment, Â&#x2019;]=1/ ... /]N, and for all canal subsegments ]=1/ ... /]Mj: for Hij ÂŁÂŁÂ&#x2122; Â&#x2020; dj ]
,
(10a)
]
]
]
the canal filling degree is nonlinear and the standard numerical methods for solving nonlinear algebraic equations can be applied. The algorithm is rather complicated and to calculate it the solution of the additional equation (H)A=0 must be solved. Function (â&#x2039;&#x2026;) has the same form as functions (9a)â&#x20AC;&#x201C;(9b). The calculations are done in sequence for each segment of network, beginning from the furthest segment and completing for the segment closest to wastewater treatment. The scheme of the algorithm is shown in Fig. 3. The second version of the network model takes into account the calculation of canal filling height H. For canals with the circular cross-sections the relations between active cross sectional area A and filling height H can be used. As function (â&#x2039;&#x2026;) iscontinues and differentiable, then we can write down:
where (â&#x2039;&#x2026;) is given by (9a) or (9b). After a transformation of (10a), we obtain:
]
]
,
(10b)
, (9a)
where has the form (7b) or (8b). From equation (4) and from relation (10b) transformed to the difference form, we receive:
for Hij >ÂŁÂ&#x2122; Â&#x2020; dj
,
,
(9b)
â&#x20AC;&#x201C; calculating hydraulic radius Rij (t) from relations (7c) or (8c); â&#x20AC;&#x201C; determining flow Qij (t) from Manning formula (3c). Function (H) is continuous and for ?]ÂŽÂŁÂ&#x2122; Â&#x2020;d it has
(11a)
(11b)
To transform the above relation, let us determine the change of the filling height Hij during time Î&#x201D;t:
(12a)
.
(12b)
Articles
53
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 8,
]
The housekeeping as well as industrial or rain sewages are flowing into the combined wastewater network. Depending on the kind of sewage its inflow rate is calculated in different way. For the housekeeping and industrial sewage its inflow towards a given canal is considered as maximal hourly flow gdj defined by the relation:
t=0
t >T
N t=t+Î&#x201D;t j=0
j>N
t=t+1
Y
N j=j+1 i=0
QM j
Y
i>M
N i=i+1
Knowing the values of flow Q(t), the canals filling heights H(t) and the areas of active sections A(t) in the i-th canal subsegment â&#x20AC;&#x201C; we solve equation (6) and we obtain the active section areas in the next time period A(t+Î&#x201D;t) for the i-th canal subsegment
For the i-th canal subsegment we obtain canal filling heights H(t+Î&#x201D;t) by solving equation F(H(t+Î&#x201D;t)) â&#x20AC;&#x201C; A(t+Î&#x201D;t)=0; where function F(â&#x2C6;&#x2122;) is given by (9a) or (9b) Then we calculate the hydraulic radius R(t+Î&#x201D;t) according to the formula (7c) or (8c). Knowing the values of R(t+Î&#x201D;t) and A(t+Î&#x201D;t) we determine the flow Q(t+Î&#x201D;t) according to the formula (3b)
Fig. 3. Schema of the computing algorithm for the first version of the network model 54
Articles
]
+ / )/ *$( $- !# 0! '(-/$# *( $ $9 *(!% ; !# ! C! #$ 5
The input date: â&#x2122;Ś the type of net â&#x2122;Ś the structure of sewage net â&#x2122;Ś number of network segments N â&#x2122;Ś number of canal segments M â&#x2122;Ś number and type of nodes â&#x2122;Ś sewage inflow into particular nodes Îł and Îś â&#x2122;Ś the canal slope â&#x2122;Ś the canal dimensions â&#x2122;Ś the time horizont T and time division into â&#x2C6;&#x2020;t â&#x2122;Ś the initial flow values and cross sectional area values (for t=0)
Y
2014
all canal segments ]=1/ ... /]Mj. Then knowing the flows and filling heights Hij for time period t, we can calculate the filling heights for next period t+Dt according to (12a)â&#x20AC;&#x201C;(12b).
where: Qij (t) â&#x20AC;&#x201C; flow rate in i-th canal subsegment calculated from Manning formula (3b) for the j-th network segment, dj â&#x20AC;&#x201C; internal diameter of j-th network segment, ji â&#x20AC;&#x201C; canal central angle given by formula (7b) or (8b), Dxi â&#x20AC;&#x201C; length of i-th canal segment, Â&#x192; â&#x20AC;&#x201C; time step. The second version of the network model is described by relations (3b), (7a)â&#x20AC;&#x201C;(8c) and (12a)â&#x20AC;&#x201C;(12b). In this model, flow Qij (t) is calculated for moment t and for each j-th network segment (from Â&#x2019;]=1 to Â&#x2019;]ÂŽÂŁNâ&#x20AC;&#x201C;1) in
END
N° 4
,
(13)
where: M â&#x20AC;&#x201C; number of inhabitants assigned to the given network canal, qmv â&#x20AC;&#x201C; mean value of the sewage outflow from a house unit, Nhmax â&#x20AC;&#x201C; coefficient of daily unevenness regarding the housekeeping sewage production. An exact description of methods calculating the inflows of rain sewage into combined wastewater networks can be found in numerous literature ([8], [14], [9], [5], [6]). The inflow of rain sewage into the network canals can be calculated by determining the functions describing the rainfalls and the drainage basin on which the wastewater network is located. For calculating the rainfall sewage the following formula can be used:
where: gdâ&#x20AC;&#x201C; drift of the rain sewage from the terrain on which the wastewater network is located, [dm3l/s], â&#x20AC;&#x201C;surface of drainage basin from which the sewage is drifting towards the given canal section, [ha], Y â&#x20AC;&#x201C; coefficient of surface drift being the quotient between the rain sewage amount reaching the net canal and the total rainfall amount that dropped at the regarded soil part, tâ&#x20AC;&#x201C; delay coefficient, qdâ&#x20AC;&#x201C; rainfall intensity in [dm3/s ha], being the rainfall amount in dm3 that dropped at the soil surface of 1 ha in the time of 1 s. Not all amounts of rain water runs off of the drainage basin towards the net canals and the process occurs gradually with regard
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 8,
to the phenomenon of local retention. It depends on the form of drainage basin, on canals situation, on field slope etc. The amount of water that does not reach the canals but will seep into the ground or will steam away can be estimated by means of the runoff coefficient Ď&#x2C6; calculated from the Reinhold formula: (15)
where: q â&#x20AC;&#x201C; rainfall intensity [dm3/h], td â&#x20AC;&#x201C; rainfall duration [min], M â&#x20AC;&#x201C; factor characterizing the drainage basin and climatic conditions. For the given network structure, the surface of the drainage basin must be determined regarding the shape and configuration of the ground. In this way, the real directions of water runoff towards the canals can be defined. Then the values of Ď&#x2C6; for individual field parts can be calculated. These values depend on the density of buildings situated at the land and on the kind of land covering. The intensity of significant rainfall is calculated on the base of long term meteorological observations. This rainfall is described by the following parameters: â&#x20AC;&#x201C; duration t, [min], â&#x20AC;&#x201C; rainfall height ho, [mm], â&#x20AC;&#x201C; intensity I = ho/t, [mm/min], â&#x20AC;&#x201C; range , [ha], â&#x20AC;&#x201C; probability of appearance p, [%] or â&#x20AC;&#x201C; incidence c = 100/p, [years]. There are several relations combining the rainfall intensity, rainfall duration and probability of rainfall appearance. One of the most used relation for calculating the runoff of significant rainfall is the following Â&#x201E;Âź Â&#x161; Â&#x161; / Â&#x17E;
N° 4
2014
flow velocity in i-th canal segment, tk â&#x20AC;&#x201C; time of soil concentration, Ai â&#x20AC;&#x201C; surface of lateral canal section, i â&#x20AC;&#x201C; surface of drainage basin part belonging to the i-th canal segment, Vi â&#x20AC;&#x201C; factor of canal volume and of land retention regarding the i-th canal segment, qpi â&#x20AC;&#x201C; assumed flow of the rain sewage in i-th segment of the network, { â&#x20AC;&#x201C; factor of used capacity of the network retention. The total sewage flow in a canal is calculated as the sum of housekeeping wastewater, industrial sewage and rainfall water. From this united sewage flow the wastewater outlet taking place in overflow points, which are situated above the canal segment investigated has to be subtracted. Another way of determining the intensity of significant rainfall is the method of constant intensities in which the rainfall duration td = 10 min and the rainfall incidence c = 2 are defined. Delay coefficient t depends on the surface of drainage basin, on its shape and slope and it can be calculated from the following Burklieg-Ziegler formula:
Coefficient t can take values from 2 up to 8 and these values are bigger for larger drainage basins with bigger slopes. The appearance of soil retention can be also considered while doing the calculation by using the function &](t) depending on time (Fig. 4). In this picture the following function parameters are specified: â&#x20AC;&#x201C; tr â&#x20AC;&#x201C; duration of soil retention, â&#x20AC;&#x201C; td â&#x20AC;&#x201C; rainfall duration, â&#x20AC;&#x201C; tk â&#x20AC;&#x201C; total time of the runoff of rainfall water towards the canal investigated.
1,2
where: ho â&#x20AC;&#x201C; mean value of yearly rainfall, [mm], q â&#x20AC;&#x201C; rainfall intensity [dm3/h], c â&#x20AC;&#x201C; rainfall incidence [years], td â&#x20AC;&#x201C; rainfall duration [min], p â&#x20AC;&#x201C; appearance probability (%), p=100/c. Duration of significant rainfall td can be calculated from the formula:
1 0,8 0,6 0,4 0,2 0 0
0,5
1
tr
1,5
2
td
2,5
3
3,5 t
tk
Fig. 4. Function f(t) of wastewater inflow to the sewage network canals
There is also an another formula for calculating the rainfall duration tw in which the network and drainage basin retentions are taken into consideration:
For estimated function &](t), the wastewater inflow to the sewage net canal gd(t) can be calculated with the following formula:
where: N â&#x20AC;&#x201C; number of network segment, tpâ&#x20AC;&#x201C; time of sewage flow through individual canal segments beginning from the upper network node to the point in which the calculation is currently doing, [min], Li â&#x20AC;&#x201C; length of i-th canal segment, [m], vi â&#x20AC;&#x201C; mean value of
with â&#x20AC;&#x201C; surface of the drainage basin. Inflow gdcalculated by means of (18) can be considered by the modeling of a sewage network as the point-wise inlet introduced into the network nodes but the better approach from the computational point of view, is to regard it as the sectional inlet assigned to the canal unit. Articles
55
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 8,
N° 4
2014
: /0$ * 29 -$ 2! ; !# ! C! #$ 5
*9)/ *$(
height H + Ă&#x2C6;t and on the Manning formula for determining the flow Q. In this model the heights of segment fillings are determined for individual time Taking into account the forecasted values of sewperiods. To build the model we have to define the folage inflow, the velocities vj and the canal filings Hj for lowing network parameters: each interval Î&#x201D;t and for each j-th network segment â&#x20AC;&#x201C; type of the net â&#x20AC;&#x201C; housekeeping or combined can be calculated. Using the calculated canal outflow sewage network; QMj j as the additional inflow to the next canal segment we can simulate with this method any part of â&#x20AC;&#x201C; structure of the net â&#x20AC;&#x201C; number of network segments the net investigated. N, number of canal segments M, types of canals, The algorithm shown in Fig. 5 is based on the secnumber and type of nodes; ond version of the network model given by equations â&#x20AC;&#x201C; network segment parameters, i.e. canal dimen(12a)â&#x20AC;&#x201C;(12b) and (3b) describing the change of filling sions, slopes, lengths and roughness coefficients; â&#x20AC;&#x201C; initial data for computing, i.e. initial flows and initial filling height; The input date:
â&#x20AC;&#x201C; date describing the simula
tion process, i.e. simulation ! ! ! time, time steps, network di" # ! ! ! !$ % ! !&! ! ! ' ! ! ! & vision into segments; ! ! ! & * /12 â&#x20AC;&#x201C; sewage inflows into particular nodes. The inflows of rainfall water t=0 to the canals can be given directly according to the functions Îśi(t) END Y t >T determined as a result of soil investigations or indirectly using some approximating functions N [4]. The task of the algorithm is to t=t+4t t=t+1 j=0 determine the values of the following parameters for each net segment and for fixed time period: Y j>N â&#x20AC;&#x201C; the filling height; â&#x20AC;&#x201C; the flow velocity; â&#x20AC;&#x201C; the flow rates. N It is assumed that the hyj=j+1 draulic parameters of segments, i=0 namely canal shape, canal dimension and roughness are constant. The sewage inflows occur Y in the network nodes. i>M In the following the main elements of the algorithm will N be desribed: Step 1. The net structure i=i+1 defined by: number of nodes NW, number of segments N, Mj â&#x20AC;&#x201C; number of subsegments in the j-th canal, the set of nodes For the j-th network segment and each i-th canal subsegment. W = {k}, the set of segments {j}, Knowing the values of canals filling heights H(t) we calculate the areas of active sections A(t) from the relations (19a) or (20a) and the j=1, Ă&#x2021; , N, the set of subsegments hydraulic radius R(t) according to the formula (19b) or (20b). in the j-th canal {i}, i=1, Ă&#x2021; , Mj , the Next we determine the values of flow Q(t) from the Manning formula set of diameters {dj}, slopes for (21) the segments JÂ&#x2019;]/ Â&#x2019;]=1, Ă&#x2021; , N, roughness ni for each segment, the initial flow values Qij and canals filling height values Hij (for ]=0) Solving equations (24a)- (24b) we obtain the canals for each segment Â&#x2019;]=1, Ă&#x2021; , N and each canal subsegnent ]=1, Ă&#x2021; , Mj, the time horizont T and time Fig. 5. Schema of the computing algorithm for the division into Â&#x2014; , zij â&#x20AC;&#x201C; sewage insecond version of the network model flow to the j-th canal calculated ÂŁ
ÂŁ ÂŁ
ÂŁ
ÂŁ
ÂŁ ÂŁ
ÂŁ ÂŁ
ÂŁ
ÂŁ ÂŁ
ÂŁ
56
Articles
ÂŁ ÂŁ
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 8,
for the length unit of the i-th subsegment, gj â&#x20AC;&#x201C; sewage inflow to the j-th network segment should be entered into the algorithm. Step 2. The sewage inflow zij(t) the j-th canal calculated for the length unit of the i-th subsegment, gj â&#x20AC;&#x201C; sewage inflow for individual net nodes are calculated . / + Â ÂŁ Depending on the kind of the network (housekeeping or combined sewage net) the rate of inflow for each segment is calculated using the relations given in point 2. Step 3. For cosidered time tk, the cross sectional areas Aij and hydraulic radiuses Rij for the known filling heights Hij (tk) (calculated according to (12a)â&#x20AC;&#x201C;(12b)) are determined (for the particular j-th net segments j=1, Ă&#x2021; , N and for each i-th canal subsegment i=1, Ă&#x2021; , Mj) as follows: for Hij ÂŁÂ&#x2122; Â&#x2020;ÂŁdjÂŁÂ&#x17E; Â&#x2019;]=1, Ă&#x2021; , N ]=1, Ă&#x2021; , Mj ÂŁ
ÂŁ ÂŁ
ÂŁ
ÂŁ
ÂŁ ÂŁ
ÂŁ
ÂŁ ÂŁ
ÂŁ ÂŁ
,
(19a)
,
,
The calculations are done sequentially for each segment of the network, beginning from the furthest segment and completing the computing for the segment, which is closest to the wastewater treatment plant. Each segment is divided subsequently into Mj subsegments for which the calculations shown are repeated. Step 5. In each followed node the relation is calculated:
ÂŁ
where: Pkj â&#x20AC;&#x201C; matrix consisting of 0 and 1 elements describing the connections between the network segmenst, Q0Â&#x2019;]_j â&#x20AC;&#x201C; outflow from the j-th segment of the network, gj â&#x20AC;&#x201C; sewage inflow to the j-th network segment, Wj â&#x20AC;&#x201C; sewage inflow to the j-th canal being the sum of the outflowws form other canals connected with the j-th canal. Step 6. Knowing the values of flow rates Qij(tk) in all segments of the net we can determine the canal filas: ing heights for the next time period
for Hij >Â&#x2122; Â&#x2020;ÂŁdjÂŁÂ&#x17E;
Â&#x2019;]=1, Ă&#x2021; , N ]=1, Ă&#x2021; , Mj , ÂŁ ÂŁ
2014
(19b)
ÂŁ
N° 4
ÂŁ ÂŁ
, (20a)
,
(20b)
where: dj â&#x20AC;&#x201C;diameter of j-th network segment. Step 4. Knowing hydraulic radiuses Rij (tk) and active areas of canal segments Aij (tk), we can calculate (for individual segments Â&#x2019;]=1, Ă&#x2021; , N and for the i-th canal subsegment, where ]=1, Ă&#x2021; , Mj): ÂŁ
ÂŁ
ÂŁ ÂŁ
ÂŁ ÂŁ
a) flow rates Qi: ,
After calculating the canal filling heights in all seg, ments of the net for the time period we calculate active areas of segments A, hydraulic radiuses R, flow rates Q and velocities vi for the whole network and for the whole time od simulation. Using the simplified flow models, the sewage networks of any kind can be calculated for dynamical case.
(21)
@ $( /) *$(
(22)
In the paper two algorithms for dynamic modelling and planning of communal sewage networks are proposed. In the first algorithm the network investigated is described with the relations (3b) and (6) from which the lateral area A for each canal segment j and for the simulation time t can be determined. Subsequently an additional equation in form (H)A=0 is formulated with function (H) defined by (9a) or (9b). From this equation canal filling height H and
b) flow velocities vi: ,
where: nj â&#x20AC;&#x201C; roughness coefficient of j-th segment, Jj â&#x20AC;&#x201C; canal slope of j-th segment of the network.
Articles
57
Journal of Automation, Mobile Robotics & Intelligent Systems
canal hydraulic radius R can be calculated and using them the sewage flow Q can be determined. This approach seems to be simple but the necessity to formulate and solve the equation (H)-A=0 complicates the process of the modeling. In the second algorithm the canal filing height H for given simulation times t are determined directly by solving the difference equation (24a)â&#x20AC;&#x201C;(24b). Afterwards, the sewage flows Q can be calculated from (21). The network modelled can be calculated step by step for all network segments taking subsequently the outflows from some canal segments as the inflows to other ones. For both algorithms, the essential problem is to determine the models of sewage inflows to the individual network segments. In the case of communal and industrial sewage these inflows are relatively simple to define knowing the data of the water consumption regarding the end users of the water network connected with the sewage one. These inflows can be modelled as the curves with constant values for subsequent time sections. A problem arises by modeling the rain fall water flowing into the sewage canals. The rain fall sewage inflows can be defined directly by means of some wastewater functions resulted from special field investigation or indirectly by means of the functions describing the rainfall and the referred drainage basin. In the second case several parameters describing the soil like surface and shape of the terrain, field decrease, buildings density on the drainage basin, soil covering etc. must be defined what complicates essentially the problem of inflow modeling. The algorithms for modeling and planning the sewage networks presented in the paper are in our opinion an indirect approach between the standard method using the nomogramms and the more sophisticated method using the hydraulic models of the networks like SWMM developed by EPA (US Environment Protection Agency). The modeling with the nomogramms is very simple but not very exact and its application is pure mechanical without any need to understand the process of modeling. On the other side, the modelling with hydraulic models is very exact and also very difficult because of the need to determine many network and terrain parameters. In the case of our algorithms, the exactness is better than by the nomogramms and the complications are lower than by the hydraulic models.
VOLUME 8,
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
643 7
Lucyna Bogdan, Grazyna Petriczek, Jan Studzinski* â&#x20AC;&#x201C; Systems Research Institute, Polish Academy of Sciences, Newelska str. 6, Warsaw. E-mail: Jan.Studzinski@ibspan.waw.pl
[14]
*Corresponding author [15] 7JAJ7JC J
[1] Biedugnis S., Metody informatyczne !_ ! " Â&#x2DC; 1_ _ : Â&#x2122; Â&#x2019; . Publ.: Oficyna Wydawnicza Politechniki Warszawskiej, War58
Articles
N° 4
2014
saw 1998. (in Polish) Bogdan L., Petriczek G., â&#x20AC;&#x153;Dynamical models of communal wastewater networksâ&#x20AC;?. In: 0 " _ "_ _ 8 _ Â&#x161; :
(N.X. Thinh, Ed.), Rhombos Verlag, Berlin 2014, 51â&#x20AC;&#x201C; 62). (in German) Bogdan L., Petriczek G., Studzinski J., â&#x20AC;&#x153;Mathematical modeling and computer aided planinng of communal sewage networksâ&#x20AC;?, % _ &_ /_ 0 2 _ # 2 _ Â&#x203A;_
_ (JAMRIS), vol. 8, no. 2, 2014, (17-28). DOI: 10.14313/JAMRIS_2-2014/14. Chudzicki J., Sosnowski S., Â&#x2019; _ : zacyjne. Publ.: Wydawnictwo Seidel-Przywecki, Warsaw 2004. (in Polish) ' Â&#x161; Â&#x2039; Ă&#x160; ` Â&#x161; Ă&#x2039;
Ă&#x152;Ă? Ă&#x2026; Â&#x161; Â&#x161;Ă&#x17D; Â&#x2018; Â&#x2030; Âź !
Â&#x161; 1 _Â&#x153; " ! : , no. 1, 2005, 29â&#x20AC;&#x201C;34. (in Polish) ' Â&#x161; Â&#x2039; Ă&#x160; ` Â&#x161;
Ă&#x152;Ă? Ă&#x2026; Â&#x161; Â&#x161;Ă&#x17D; Â&#x2018; Â&#x2030; Âź !
Â&#x161; 1 _Â&#x153; " ! : , no. 2, 2005, 25â&#x20AC;&#x201C;28. (in Polish) Mizgalewicz P., Knapik P., Wieczysty A., â&#x20AC;&#x153;Analiza pracy sieci kanalizacyjnych przy zastosowaniu EMCâ&#x20AC;?, Â&#x161; 1 _ Â&#x153; " ! : , no. 434/3â&#x20AC;&#x201C;4, 1984, 20â&#x20AC;&#x201C;21. (in Polish) Â&#x2C6; Â&#x161; Â&#x2030; Â&#x161; Âź
kanalizacji deszczowejâ&#x20AC;?, Â&#x161; 1 _Â&#x153; " ! : , no. 434/3â&#x20AC;&#x201C;4, 1984 (20â&#x20AC;&#x201C;21). (in Polish) _ |Â&#x2021; Ă&#x17D;Â&#x161; Â&#x201E; Â&#x2DC; Â&#x203A; | Â&#x161; Â&#x2021; Â&#x2DC; Â&#x20AC; zenkowska M., â&#x20AC;&#x153;Obliczeniowe a rzeczywiste Ă&#x152;Ă? Â&#x161; Âź Ă&#x17D; Â&#x161; Â&#x2018; Â&#x161; zowejâ&#x20AC;?, Â&#x161; 1 _ Â&#x153; " ! : , no.r 434/3â&#x20AC;&#x201C;4, 1984, 29â&#x20AC;&#x201C;32. (in Polish) Rossman L., _ * _ 0
_ 0 " _ *00 _Â&#x17D;_> _ , Version 5.0.022, 2012. www.epa.gov/nrmrl/wswrd/wq/models/ swmm/ Saegrov S., + _Â&#x17D;_ _ " "_# 1 2 _ & _ ! _ "_ _ * _ 9 ! : . IWA Publishing, Alliance House, London 2005.
Â&#x2021; Ă&#x17D;
obliczania sieci kanalizacji deszczowejâ&#x20AC;?, Â&#x161; 1 _ Â&#x153; " ! : , nr 488/1â&#x20AC;&#x201C;2, 1986, 27â&#x20AC;&#x201C;28. (in Polish)
Âź Ă?
Â&#x161; Ă&#x2026; ` Ă&#x17D;Âź _ zation of sewerage structure in the integrated system for sewage design, management and revitalization â&#x20AC;&#x201C; MOSKANâ&#x20AC;?. In: _ _> ! +_ "_ Â? !
1 &
(J. Wittmann, M. Mueller, Hrsg.), ASIM-Mitteilung AM 146, 2013, 203â&#x20AC;&#x201C;210. Wartalski J., â&#x20AC;&#x153;Komputerowe metody projektowania i analizy hydraulicznej sieciowych Âź Ă&#x17D; Â&#x161; Â&#x2018; ! _Â&#x161; 1 _Â&#x153; " ! : , no. 434/3â&#x20AC;&#x201C;4, 1984, 20â&#x20AC;&#x201C;21. (in Polish) Â&#x2030; Âź Â&#x161; Â? Â&#x2021; Â&#x161; Â&#x161; Âź Ă&#x17D;
w sieci kanalizacyjnejâ&#x20AC;?, 1 ! _? " 1 : , vol. XXVI, issue 4, 1979. (in Polish)
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 8,
N° 4
2014
. L 1 L ] . N Submitted: 15th October 2014; accepted: 12th November 2014
( "1 2(. "+ -) " . 3
DOI: 10.14313/JAMRIS_4-2014/38 In this paper we describe a new measure of remoteness between sets described by nominal values. The introduced measures of perturbation of one set by another are considered instead of commonly used distance between two sets. The operations of the set theory are operated and the considered measures describe changes of the perturbed second set by adding the first one or vice versa. The values of the measure of setsâ&#x20AC;&#x2122; perturbation are range between 0 and 1, and in general, are not symmetric â&#x20AC;&#x201C; it means that the perturbation of one set by another is not the same as the perturbation of the second set by the first one. Keywords: nominal-valued attribute, measure of perturbation, perturbation methodology
& Introduction Comparing objects, we often use some kind of â&#x20AC;&#x153;similarity measuresâ&#x20AC;? between objects. The role of similarity or dissimilarity of two objects is fundamental in many theories of knowledge and behavior. In general, there are two classes of proximity between objects in the first class each object is represented as a point in Cartesian coordinates, a measure of distance between points describes similarities between objects; in the second class, an object is described by sets of features [6] instead of geometric points. In this paper, we describe an innovative measure of proximity between two sets, which elements are denoted by nominal values. This consideration is based on the set theory and its basic operations. We do not consider commonly used distance between two sets, but we introduce a measure of perturbation of one set by another set. The proposed measure identifies changes of the first set after adding the second set and/or changes of the second set after adding the first set. After normalization, the measure of perturbation of sets is ranged from 0 up to 1, where 1 is the highest value of perturbation, while 0 is the lowest value of perturbation. It is shown that this measure is not symmetric, it means that a value of the measure of perturbation of the first set by the second set can be different, then a value of the measure of perturbation of the second set by the first set. Of course, there are cases with symmetric perturbation measures. It must be emphasized that the sum of these measures can be regarded as a Jaccardâ&#x20AC;&#x2122;s dissimilarity measure.
This paper is organized as follows: Section 2 presents description of perturbation methodology as well as the mathematical properties of the measure of perturbation are studied. Illustrative example shows interesting relationships between the proposed measure of perturbation and selected proximity measures.
+ 1 2*(0 $- ! At the beginning, let us assume that there is a col, where lection of subsets {A1, A2, â&#x20AC;Ś, AS}, V is a finite set of nominal values, and VÂŁÂŽÂŁĂ?v1, v2,â&#x20AC;Ś, vL} for vl+1Ă?žĂ?vlÂŁ Ă&#x2018;lÂŁĂ&#x2019;ÂŁĂ?\ { Ă&#x2021; Lâ&#x20AC;&#x201C;1}. Attaching the first set Ai to the second set AÂ&#x2019;], for ]ž£j, we consider as the perturbation of the second set by the first set, in other words â&#x20AC;&#x201C; the set Ai perturbs the set Aj with some degree. In such a way, we defined a novel concept of perturbation of set Aj by set Ai which is denoted by (Ai Ă&#x201C;ÂŁAj), and interpreted by a set Ai\Aj . In order to illustrate the definition, let us consider a case wherein the set AiÂŁÂŽÂŁĂ?e} perturbs the set AjÂŁÂŽÂŁĂ?a, b, c, d, e} and degree of perturbation is zero because the following condition is satisfied (AiĂ?Ă&#x201C;Ă?Aj$ÂŽ
Ai\AjÂŁÂŽÂŁĂ&#x2022; Â&#x2019;
AjÂŁÂŽÂŁĂ?a, b, c, d, e} perturbs the set Ai ÂŽĂ?e} and degree of perturbation is greater than zero because (AjĂ&#x201C;Ă?Ai$ÂŽ
Aj\AiÂŁÂŽÂŁĂ?a, b, c, d}. In contradiction to the measure of perturbation type 1 introduced by the authors (cf. [2], [3], [4], [5]), in this paper we propose the new measure of perturbation of one set by another and therefore this kind of setsâ&#x20AC;&#x2122; perturbation will be called as perturbation type 2: Definition 1. The measure of perturbation type 2 of set Aj by set Ai is defined in the following manner: (1)
Introducing the new setsâ&#x20AC;&#x2122; perturbation type 2, we will discuss some its properties. Now, we will prove the following corollary, which describes conditions for obtaining the minimum value of the measure of perturbation type 2 of set Aj by set Ai which is equal zero. Corollary 1. The measure of perturbation type 2 of set Aj by set Ai satisfies the following property Per(AiĂ&#x201C; Aj$ÂŽÂ&#x2122; if and only if Ai Ă&#x2013; Aj. 59
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 8,
Proof. 1) First implication: Per(AiĂ&#x201C;Aj$ÂŁÂŽÂŁÂ&#x2122;ÂŁ ] iÂŁĂ&#x2013;ÂŁAj. Let us assume that Per(AiĂ&#x201C;Aj$ÂŁÂŽÂŁÂ&#x2122; Â&#x201E; Â&#x153; / ÂŁ\
function Per(AiĂ&#x201C;Aj) is non negative, and reaches a minimum if a condition card(Ai\Aj$ÂŁÂŽÂŁÂ&#x2122; / */
card(Ai\Aj$ÂŽÂ&#x2122; Ai Ă&#x2013; Aj is valid. 2) Consider now the implication: AiÂŁĂ&#x2013;ÂŁAjÂŁ ]4 (AiĂ&#x201C;Aj$ÂŁÂŽÂŁÂ&#x2122; ' AiÂŁĂ&#x2013;ÂŁAj, thus Ai\AjÂŁÂŽÂŁĂ&#x2022; card(Ai\Aj$ÂŁÂŽÂŁÂ&#x2122; Â&#x2019;
obtained that Per(AiĂ&#x201C;Aj$ÂŁÂŽÂŁÂ&#x2122; Â&#x153; / ÂŁÂŁ\ Â&#x2019;
equality Per(AiĂ&#x201C;Aj$ÂŁÂŽÂŁÂ&#x2122; Â / / AiÂŁĂ&#x2013;ÂŁAj. It is important to notice that the measure of perturbation type 2 of set Aj by set Ai is not symmetrical, in general. Additionally, it can be proved that the measure of the setâ&#x20AC;&#x2122;s perturbation type 2 is positive and ranges between 0 and 1, where 0 is the lowest level of perturbation while 1 is interpreted as most level of perturbation, as it is shown in the Corollary 2.
N° 4
2014
Additionally, we can prove that a sum of the measure of the setâ&#x20AC;&#x2122;s perturbation type 2 is always positive and less than 1, as shown in the Corollary 4. Corollary 4. The sum of the measures of perturbation type 2 of sets Aj and Ai satisfies the following equality
Per(Ai Aj Per(Aj Ai
Proof. \$ Â&#x201E; { Per(AiĂ&#x201C;Aj$ÂŁÂ&#x;
Per(AjĂ&#x201C;Ai) is non negative. 2) It can be noticed that the inequality card(Ai Aj$£š£card(V), for Ai ÂŁAjÂŁĂ&#x2013;ÂŁV, and card(Ai\Aj$ÂŁÂ&#x;ÂŁcard(Aj\Ai$ š£card(Ai Aj) are satisfied. The right side of inequality (4) can be written as
Corollary 2. The measure of perturbation type 2 of set Aj by set Ai satisfies the following inequality Per(Ai Aj
Proof. 1) Let us prove the first inequality Per(AiĂ&#x201C;Aj$ÂŁÂÂŁÂ&#x2122; *
card(Ai\Aj$ÂŁÂÂŁÂ&#x2122; / Â&#x153; / ÂŁ\
obtain Per(AiĂ&#x201C;Aj$ÂŁÂÂŁÂ&#x2122; 2) Now, we will consider the second inequality, Per(AiĂ&#x201C;Aj$£š£\ + Ai and Aj, Ai,] jÂŁĂ&#x2013;ÂŁV, it should be noticed that the inequality card(Ai\Aj$ š card(AiÂŁ Aj) is satisfied, and then we can obtain the following inequality
It seems to be very important to prove the following property of the newly defined in this paper the perturbation type 2 of one set Ai by another Aj, namely relation to the Jaccardâ&#x20AC;&#x2122;s coefficient of sets Ai and Aj, which is presented as Corollary 5. The Jaccardâ&#x20AC;&#x2122;s coefficient, known as the measure of similarity, can be applied to both binary and non-binary cases, and the Jaccardâ&#x20AC;&#x2122;s coefficient for two sets, denoted by SJaccard(Ai, Aj), is defined as the size of intersection over the size of the union of these two sets:
Another interesting property about a sum of the measures of perturbation type 2 of arbitrary two disjoint sets presented as Corollary 3. Corollary 3. The sum of the measures of perturbation type 2 of disjoint sets Aj and Ai satisfies the following equality Per(Ai Aj Per(Aj Ai
Proof. It can be noticed that the equality card(Ai ] j$ÂŁÂŽÂŁÂ&#x2122; card(Ai\Aj$ÂŁÂŽÂŁcard(Ai) and card(Aj\Ai$ÂŁÂŽÂŁ ard(Aj) are satisfied for disjoint sets. The left side of inequality Per( Ai A j ) + Per( A j Ai ) = (3) can be written as = =
card( Ai \ A j )
Articles
card( A j \ Ai )
card( Ai â&#x2C6;Ş A j ) card( Ai â&#x2C6;Ş A j )
card( Ai â&#x2C6;Š A j ) + card( Ai ) + card( A j ) card( Ai ) + card( A j ) card( Ai ) + card( A j )
=1
The Jaccardâ&#x20AC;&#x2122;s coefficient is zero if two sets are disjoint, and is one if two sets are identical. Corollary 5. The sum of measures of perturbations type 2 of sets Ai and Aj, and Jaccardâ&#x20AC;&#x2122;s coefficient between sets A ], Aj satisfies the following equality Per(Ai Aj Per(Aj Ai SJaccard(Ai, Aj (6) Proof. Â&#x201E; Â&#x153; / \ Â? "Â&#x2020;$ / / tions (6) can be rewritten as follows
=
card( Ai ) + card( A j )
= 60
+
=
Let us consider the set V, two subsets of the set V, i.e. Ai,] jÂŁĂ&#x2013;ÂŁV, and two selected measures, shown below:
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 8,
â&#x20AC;&#x201C; Diceâ&#x20AC;&#x2122;s similarity for two sets Ai and Aj, denoted by SDice(A ],ÂŁAj), is similar to Jaccardâ&#x20AC;&#x2122;s similarity but gives twice the weight to the size of the union of these two sets and can be written as follows:
(7) â&#x20AC;&#x201C; Overlap coefficient for two sets Ai and Aj, denoted by Ovl(A ], Aj), normalizes the intersection AiÂŁÂ&#x2C6; Aj with the minimum cardinality of its arguments: (8)
Let us consider the following illustrative example, which shows the mutual relationships between the proposed measure of perturbation and selected proximity measures. Â?Â&#x2014; Let us consider the set 6]ÂŽÂŁĂ?b ÂŁc ÂŁd ÂŁe ÂŁf ÂŁm ÂŁn} and two subsets of the set V/Â&#x;A1/Â&#x; {ÂŁ V, where A\ÂŁÂŽÂŁĂ?b ÂŁc ÂŁd}, A{ÂŁÂŽÂŁĂ?m ÂŁb ÂŁc ÂŁe ÂŁf}. A graphical illustration of these subsets is depicted in Fig. 1.
Fig. 1. A graphical illustration of the subsets A1 and A2 in V The perturbation measures type 2 between set A1 and A2, and the Jaccardâ&#x20AC;&#x2122;s coefficient are calculated and formula (6) is obviously satisfied Per( A1 a A2 ) + Per( A2 a A1 ) + S Jaccard ( A1 , A2 ) = =
1 3 2 + + = 1. 6 6 6
(9)
N° 4
2014
The graphic illustration of the perturbation " ÂŁÂŁ{$ A1 and A2 as ` // Â&#x153;
Overlap coefficient is shown in Fig. 2. It is obvious that the calculated values of proximity measures are in general different; the explanation seems to be quite direct. Namely, in general the measures of vectors distance or proximity were developed for the special data mining problem with concrete data sets, and the developed measures were just especially oriented to the considered problem solutions.
: $( /) *$( In this paper we propose the new measure of remoteness between sets described by nominal values. The concept is very general because is based on settheoretic operations. Commonly used approach related to distance between two subsets, Ai and Aj, in the set V, we replaced by idea of perturbation one set by another (and vice versa) and this idea was fundamental to introduce the definition of a measure of perturbation type 1 (cf. [5]) and a measure of perturbation type 2 â&#x20AC;&#x201C; described in this paper. This way we propose an extended view of remoteness between two sets of nominal values. According to the authors of this paper, the newly developed measures of setsâ&#x20AC;&#x2122; proximity, namely the setsâ&#x20AC;&#x2122; perturbation type 1 as well as the setsâ&#x20AC;&#x2122; perturbation type 2 are much more general or even more universal proximity evaluation measures. It is obvious that our perturbation measure do not have any ballast of specified data mining problem represented by nominal values. Additionally, the perturbation measure can be applied directly do nominal-valued data sets as well to binary representation of data sets. Some mathematical properties of the measure of perturbation of sets are explored, and the basic property â&#x20AC;&#x201C; namely asymmetrical property â&#x20AC;&#x201C; are emphasized.
C ;J IJ1JC4 The research has been partially supported by the National Centre of Science under Grant No. UMO{Â&#x2122;\{¡Â&#x2122;Â&#x2020;¡Â&#x201E;¡ Â&#x2019;Â&#x160;¡Â&#x2122; Â&#x2122;Â&#x160;Â?
643 7
Maciej KrawczakÂŁĂ&#x2014; Â&#x2013; & *
Polish Academy of Sciences, Newelska 6, Warsaw, Poland, and Warsaw School of Information Technology, Newelska 6, Warsaw, Poland. Â?| Â&#x17E; Â&#x161; ÂĄ Â Â&#x201A; Â&#x192;+ Â&#x201E; Â&#x2013; & *
Polish Academy of Sciences, Newelska 6, Warsaw, Poland. Â?| Â&#x17E; Â&#x161; +ÂĄ Fig. 2. A graphical illustration of few selected measures for sets A& and A2
Ă&#x2014; +
Articles
61
Journal of Automation, Mobile Robotics & Intelligent Systems
7JAJ7JC J
[1] Jaccard P., Ă&#x2030;tude comparative de la distribution Â&#x2018;
Bulletin del la SociĂŠtĂŠ Vaudoise des Sciences Naturelles, 37, 1901, 547â&#x20AC;&#x201C;579. (in French) [2] Â&#x20AC; Â&#x161; Â&#x2021; Â&#x161; Âź Â&#x2022; /
groups perturbation. In: Proceedings of the 2013 Joint IFSA World Congress NAFIPS Annual Meeting, Â? {Â&#x2122;\ \{ \Â&#x2013;\{ Â&#x160; Â&#x153;_*Â&#x17E; Â&#x17E;¡¡ Â&#x2014; +¡\Â&#x2122; \\Â&#x2122; ¡*Â&#x203A; |Â&#x2C6; Â&#x203A;*Â&#x2039; {Â&#x2122;\ Â&#x160;Â&#x160;Â&#x2122;Â?Â&#x2020;Â?Â? [3] Â&#x20AC; Â&#x161; Â&#x2021;
Â&#x161; Âź Â&#x2022; _ ure of clusters â&#x20AC;&#x201C; application, ICAISC 2013, Lecture Notes in Artificial Intelligence  Â&#x152;Â? Â&#x2020; Â&#x2039; **
{Â&#x2122;\
+ Â&#x201E; \Â&#x152;Â&#x160;Â&#x2013;\Â? [4] Â&#x20AC; Â&#x161; Â&#x2021;
Â&#x161; Âź Â&#x2022; sionality reduction in time series. Information Sciences  {Â&#x160;Â&#x2122; {Â&#x2122;\Â&#x192; \Â&#x2020;Â&#x2013; Â&#x160; Â&#x153;_*Â&#x17E; Â&#x17E;¡¡ Â&#x2014; org/10.1016/j.ins.2013.10.037. [5] Â&#x20AC; Â&#x161; Â&#x2021;
Â&#x161; Âź Â&#x2022; _ ing between sets, Information Sciences (under review process). [6] Tversky A., Features of similarity, Psychological Review  Â?Â&#x192; Â&#x192; \ Â&#x152;Â&#x152; {Â&#x152;Â&#x2013; Â&#x2020;{ Â&#x153;_*Â&#x17E; Â&#x17E;¡¡ dx.doi.org/10.1037/h0025470.
62
Articles
VOLUME 8,
N° 4
2014
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 8,
N° 4
2014
7 J P P J L ? 1 O M x O 1 . M ^:z &: 7 1 P Submitted: 29th August 2014; accepted: 5th October 2014
4 3"* .)( "% "/ ( 2 (. "4 " . 2(.) DOI: 10.14313/JAMRIS_4-2014/39 Abstract: Paper presents new possibilities of Jiles-Atherton model of magnetic hysteresis parameters determination. The main problem connected with this model is the fact that its parameters have to be determined during the optimization process. However, due to the local minima on the target function, the gradient optimization methods are not effective, whereas evolutionary strategies, such 2 );<=/2 2 2 2 2 2 ! 2 2 calculation presented in the paper indicate that differential strategies create possibility of reliable and fast determination of Jiles-Atherton model parameters. Paper also presents guidelines for practical determination of modelâ&#x20AC;&#x2122;s parameters, which is very important from practical point of view. Keywords: corrosion resisting steel, Jiles-Atherton model, magnetic hysteresis
& Introduction Jiles-Atherton model of magnetic hysteresis was introduced in 1986. This early model uses 6 parameters; however, it considered only isotropic materials. In 1996, Jiles-Atherton model was extended by Ramesh et al. As a result of this extension, the possibility of effective modeling of the magnetic hysteresis loops of anisotropic materials was created. On the other hand, extended model utilizes 9 parameters of magnetic material. The parameters of Jiles-Atherton model of magnetic hysteresis are clearly connected with physical properties of magnetic materials. However, it is not defined how to calculate value of each Jiles-Atherton model parameter on the base of measurements of physical properties of given sample of magnetic material. This is the main drawback of Jiles-Atherton model, limiting its usability in engineering applications as well as limiting possibility of verification of correctness of this model. To overcome this problem, the different methods of determination of Jiles-Atherton model parameters were presented. In general, all methods utilize optimization algorithms, targeting the minimization of target function defined as a sum of squares of differences between experimental data and the results of modeling. However, the target function connected with Jiles-Atherton model exhibit many local minima. For this reason, the results of gradient optimization proposed previously [1] are strongly dependent on
given starting point. Moreover, methods of estimation of starting point in Jiles-Atherton model are connected only with isotropic magnetic materials, which are rarely used in technical applications. For this reason, the new methods of determination of parameters of Jiles-Atherton model, on the base of experimentally measured magnetic hysteresis loops, are intensively developed. This paper presents the results of systematic experimental research on differential optimization as a very promising method for determination of Jiles-Atherton modelâ&#x20AC;&#x2122;s parameters.
2. Jiles-Atherton Model of Magnetic Hysteresis Jiles-Atherton model of magnetic hysteresis is based on the idea of a hysteretic magnetization Mah. While, at the beginning, such magnetization was determined only for isotropic materials as a modified Langevin function, recently it is known [2] and verified [3] for anisotropic materials. In this case, anisois given by tropic anhysteretic magnetization the following set of equations:
,
(1)
Where a quantifies domain wall density, Ms is saturation magnetization of the material, Kan is average anisotropy energy density, Ď&#x2C6; is an angle between direction of magnetizing field H and anisotropy easy axis. Moreover, effective magnetizing field He]ÂŽÂŁ?]Â&#x;ÂŁ{0 is calculated for the total magnetization M and inter-domain coupling {. It should be stressed that for isotropic materials (where average anisotropy energy density KanÂŁÂŽÂŁÂ&#x2122; `¡ 3) equation (1) reduces to modified Langevin equation: (4) presented in [4]. 63
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 8,
In some specific materials, such as constructional steels, isotropic and anisotropic phases can be mixed. In such case, the total anhysteretic magnetization is calculated from following equation [5]: Mah t
+(1+t)
where cÂ?ÂľÂ&#x2122; \Âś describes the reversibility of magnetization process, whereas parameter k quantifies the average energy required to break pining site. Moreover, in equation (6), the parameter  causes hysteretic magnetization due to the fact that it is equal to 1 during the increase of H and â&#x2C6;&#x2019; 1 during its decrease. It should be highlighted that parameter  M guarantees that incremental susceptibility is physically justified " Â&#x2122;$ YÂ&#x160;^ It should be stressed that for diversified values of the amplitude of magnetizing field, the original JilesAtherton model guarantees the good agreement between experimental hysteresis loop and results of the modeling for single hysteresis loop [7]. For other values of the amplitude of magnetizing field, another set of modelâ&#x20AC;&#x2122;s parameters have to be determined. It was proven previously that to overcome this problem model parameter k should change during the each magnetization process. Changes of parameter Table 1. The set of Jiles-Atherton parameters of material
64
2014
k are connected with changes of the average energy required to break pining site for different values of materialâ&#x20AC;&#x2122;s magnetization [4]. Due to the fact that the magnetic state of the material is determined by the value of magnetization M, the changes of parameter k might be described by the following equation [7]:
where tÂ?ÂľÂ&#x2122; \Âś /
phase in the material. Magnetic hysteresis is introduced to Jiles-Atherton model by differential equation:
N° 4
where parameters k0, k1 and k2 describe shape of function determining k as follow: k0 is maximum value of k, k1 is its minimum value and k2 is the shape parameter of k(M) function. Table 1 presents the set of parameters of JilesAtherton model of anisotropic magnetic materials. It should be stressed that to solve equation (6) numerical Runge-Kutta algorithm based methods has to be applied [8]. Moreover, due to the lack of antiderrivative for equation (1), Gauss-Kronrod method should be applied for numerical integration [9].
: J><! *9!( / 7! )/ Experimental measurements of magnetic hys / Ă&#x20AC; Â&#x2122; \ sisting martensitic steel. This steel is widely used in construction of energetic structures. As a result, it is often subjected to non-destructive testing procedures, also based on magnetic properties. For proper analyse of such results of non-destructive testing, the Jiles-Atherton model is often applied. For this reason the determination of modelâ&#x20AC;&#x2122;s parameters is required. For effective measurements of B-H magnetic hysteresis loops, the samples with closed magnetic circuit should be used. For this reason, the frame / Ă&#x20AC; Â&#x2122; \ +
Â&#x161; Y\Â&#x2122;^ *
frame-shaped sample may be also used for testing of the stress dependence of magnetic B-H characteristics, which is especially important from the point of view of non-destructive testing applications [11]. Â&#x203A; / Ă&#x20AC; Â&#x2122; \
resisting martensitic steel was wound by magnetizing and sensing winding. Quasistatic B-H characteristics were tested using digitally controlled hysteresis graph HBPL2.
Parameter
Units
Description
Ms
¡
Saturation magnetization of the material
a
¡
Quantifies domain wall density
Ă&#x192;
â&#x20AC;&#x201C;
k
¡
Quantifies average energy required to break the pinning site
k0
¡
Maximum value of k (if k described by eq. 7)
4. 1! 2$% $- ! ! 9*( *$( $- 1$%!/B . 9! !
k1
¡
Minimum value of k (if k described by eq. 7)
k2
â&#x20AC;&#x201C;
Shape parameter of k(M) function (if k described by eq. 7)
c
â&#x20AC;&#x201C;
Magnetization reversibility
Since its introduction in 1984, the most sensitive part of Jiles-Atherton model was the method of determination of its parameters. In general, all methods of determination of modelâ&#x20AC;&#x2122;s parameters [12] are based on different types of minimisation of target function G given as:
t
â&#x20AC;&#x201C;
Participation of anisotropic phase
Kan
`¡ 3
Magnetic anisotropy energy density
Articles
Interdomain coupling
, (8) where McalcJ-A were the results of the modeling of magnetization and Mmeas were the results of the experi-
Journal of Automation, Mobile Robotics & Intelligent Systems
mental measurements of magnetization (calculated from the flux density B), all for the given value Hi of magnetizing field. Moreover, Jiles-Atherton modelâ&#x20AC;&#x2122;s parameters were determined simultaneously for given number of B-H hysteresis loops (e.g. three hysteresis loops) measured for different values of the amplitude of magnetizing field H.
@ & I %*!( < *9*| *$( An algorithms from the family of gradient optimization methods (covering linear gradient methods [13], Newton-like algorithms [14] or congruent gradients methods [15]), are known to be time efficient local search methods. However, as strictly local optimizers, all these methods stuck in local minima, which leads to useless solutions of Jiles-Atherton model parameters. As a result, gradient optimization may be used only for final adjustment of Jiles-Atherton model parameters around the local minima of target function G determined in other way.
@ + J,$/) *$( " !0*! Evolutionary strategies are a set of stochastic algorithms suitable for optimization of continuous functions with local minima [16, 17]. Such strategies are based on simplified model of evolution. In case of such algorithm, from the population of N vectors representing the possible solutions, the set of Îź parents is selected. On the base of parents, ÂĄ descendants are generated with the use of mutation and crossing-over operators [16]. Mutation operator is connected with the change of randomly selected value of descendant vector accordingly to the normal distribution, where the centre of this distribution is the previous value. Crossing-over operator creates descendant vector on the base of two parental vectors when part of vector is taken from one parent, whereas second part is tak / Â&#x2C6; Â&#x2014; / "Ă&#x2122;Â&#x;Ă&#x161;$
strategy, from the set of Îź parents and ÂĄ descendants, Îź best vectors are selected and returned to the popu * / "Ă&#x2122; Ă&#x161;$ +
made only among_ÂĄ descendants vectors. Â&#x201E; "Ă&#x2122;Â&#x;Ă&#x161;$ "Ă&#x2122; Ă&#x161;$ +
"Ă&#x2122;Â&#x;Ă&#x161;$ / / + /
Jiles-Atherton model because it is not losing promising results when they are identified [18].
@ : $, * ( ! 1 *> % < *$( J,$/) *$(
!0" T 1 J V Covariance Matrix Adaptation Evolution Strategy [19] is a successor of evolutionary strategies but unlike them, it does not sore, nor perturb set of solutions called population. In CMA-ES, population is represented by multivariate normal distribution. That distribution is represented by its mean and its symmetric and positive definite covariance matrix. The algorithm is iterative. At each step, the distribution is sampled, and resulting solutions are assessed by objective function. After that, distribution mean and covariance matrix are updated. The algorithm can be fast for difficult problems with costly objective function evaluation because the number of
VOLUME 8,
N° 4
2014
evaluated individuals can be much smaller than in population-based algorithms. The CMA-ES is known to be a robust local search strategy, and because of its robustness, it was successfully applied for many global optimization problems.
@ @ *--! !( * / J,$/) *$( Â&#x2019; // Â + "Â&#x153;Â?$ Y{Â&#x2122;^
a relatively new member of Evolutionary Algorithms family. To apply DE, the problem to be solved is encoded by a vector of real numbers called individual. Each element of individual is a value of design variable. The algorithm is iterative â&#x20AC;&#x201C; at each iteration t (generation), group of N individuals (population) from t-1 is perturbed, i.e. modified by genetic operators (mutation and crossover), then is assessed by objective function. It is assumed that this function should be minimized, i.e. smaller value means better solution. The algorithm stops after specified number of generations. The number of generations and population size N are parameters of the algorithm. The thing that distinguishes DE from the rest of the family is differential mutation operator. During mutation phase, a temporary population is created form current population. Each i-th new individual vi " Âľ\ Â&#x2C6;Âś$ + +
difference between selected individuals to the third individual. That schema can be implemented in many ways. First of all individuals can be selected in many ways from the population. What is more, the information from those selected individuals can be combined in many ways. Therefore there exist many versions of DE algorithm. Following variants of DE were tested from the point of view of its usability for Jiles-Atherton model parameters estimation: DE algorithm 1: In the canonical version of the algorithm (known Â&#x153;Â? ¡ ¡\¡ !$ vi is generated by adding difference between two randomly selected solutions to the third randomly selected solution, i.e.: vi = x <]Â&#x;ÂŁF(x ]Â&#x2013;ÂŁxr2$ÂŁ
"Â $
where FÂ?"Â&#x2122; \$ is scale factor and it is a parameter of the algorithm. The process of vi generation is sketched in Fig. 1.
Fig. 1. Sketch of differential mutation procedure for DEâ&#x20AC;&#x2122;s canonical schema (variant 1) Articles
65
Journal of Automation, Mobile Robotics & Intelligent Systems
VOLUME 8,
Bullets represent individuals in a space of two design variables (dv1, dv2), vi is the resulting mutant that will compete with xi to take i-th place in resulting population, xr0, xr1, xr2 are randomly drawn solution, xbest is the best solution in current generation. For sketch simplicity, it was assumed that F from equation (9) is equal to 1. DE algorithm 2: *  Â&#x153;Â?¡ | | ¡\¡ ! tant vi is a result of the sum of i-th solution xi, difference of two randomly selected solutions and difference of the best solution in current population and xi, i.e.: viÂŁÂŽÂŁxiÂŁÂ&#x;ÂŁ ]â&#x2039;&#x2026;](xbestÂ&#x2013;ÂŁxi$ Â&#x;ÂŁ ]â&#x2039;&#x2026;](xr1â&#x20AC;&#x201C;xr2$ÂŁ
(10)
DE algorithm 3: *  Â&#x153;Â?¡ ¡\¡
Â&#x2018; ! Â / Â&#x17E;
viÂŁÂŽÂŁx2 _]Â&#x;ÂŁÂŁjitter]Â&#x;ÂŁ ]â&#x2039;&#x2026;](xr1â&#x20AC;&#x201C;xr2$ÂŁ
"\\$
where jitter / Â&#x2122; Â&#x2122;Â&#x2122;Â&#x2122;\Ă&#x2014;rand+F, where rand / / ÂľÂ&#x2122; \Âś DE algorithm 4: * /  Â&#x153;Â?¡ ¡\¡
per-vector-dither! a new parameter value is taken from values of three randomly drawn individuals: viÂŁÂŽÂŁxrÂ&#x2122;ÂŁÂ&#x;ÂŁdither]â&#x2039;&#x2026;](xr1Â&#x2013;ÂŁxr2$ÂŁ
"\{$
where dither is defined as F+rand*(1-F). DE algorithm 5: Â&#x2019; / /  Â&#x153;Â?¡ ¡\¡ | + | ! /  dither is calculated only once per generation. DE algorithm 6: * Â&#x2014;  Â&#x153;Â?¡ | | | | ¡\! / Â
/ / \Â&#x2122;Ă&#x2014;pĂ&#x2014;problem size the best solutions is used (pbest), where p=0.2 is an algorithm parameter and problem size is the number of parameters to optimize: viÂŁÂŽÂŁxiÂŁÂ&#x;ÂŁ ]â&#x2039;&#x2026;](xpbestÂ&#x2013;ÂŁxi$ Â&#x;ÂŁ ]â&#x2039;&#x2026;](xr1â&#x20AC;&#x201C;xr2$ÂŁ
"\ $
After mutation, a crossover is performed. For generation of each i-th trial individual ui, a pair of individuals (xi, vi) is used, i.e. xi â&#x20AC;&#x201C; i-th individual form old population and vi is i-th individual from temporary population. To perform crossover, first an index j of design variable is randomly drawn. Starting from that index a sequence of values from vi is copied into ui un / "/ ÂľÂ&#x2122; \Âś$ er than crossover probability (CR), which is a parameter of the algorithm. The rest of the ui vector is copied from xi. Therefore setting CR=1 means that ui=vi. After crossover, trial population is assessed by quality function. After that selection is performed. The i-th place in new population will be occupied by 66
Articles
N° 4
2014
ui, if its quality is not worse than quality of xi, otherwise xi will be used. The model and search algorithm were implemented in R language [21]. In the presented research differential evolution algorithms implemented by Ardia et al. [22] were used. We accepted parameters of algorithm proposed by the implementation, i.e. stop after {Â&#x2122;Â&#x2122; + Â&#x2C6;ÂŽ\Â&#x2122;Ă&#x2014; Â&#x161; Â&#x203A;ÂŽÂ&#x2122; Â? Â&#x203A;ÂŽÂ&#x2122; Â&#x2020;
The implementation uses DE-2 as default optimization method.
5. 7! )/ $- ! ! 9*( *$( $- 1$%!/B . 9! ! = & J,$/) *$( " !0*! Â? + "Ă&#x2122;Â&#x;Ă&#x161;$  tionary strategy were successfully applied previously for determination of Jiles-Atherton model parameters [23]. Such methods of optimization are able to escape from local minima. However, application of evolutionary strategy is time consuming. For presented Â&#x152;Â&#x2122; / "Ă&#x2122;Â&#x;Ă&#x161;$  +
were performed, where population N Â Â&#x2122;Â&#x2122;
number of parents Îź was equal to 3 and number of offspring ÂĄ \{ * {Â&#x2020;{ Â Â&#x2122;Â&#x2122;
evaluations of target function were required. After "Ă&#x2122;Â&#x;Ă&#x161;$ Â&#x161; Â / + / G Â&#x2122; Â&#x192;Â&#x2122;\ Â&#x2019; /
was 32 hours at the single node of Halo2 computer cluster (AMD Opteron 6272).
= + $, * ( ! 1 *> % < *$( J,$/) *$(
!0" T 1 J V CMA-ES is known to be a robust local search strategy. Practical tests indicated that it is not suitable for minimization of G function determining quality of parameters of Jiles-Atherton model. It is results did not lead do acceptable solutions and they were strongly dependent on initial conditions (staring point). For these reasons, we resigned from further research on application of CMA-ES for minimization of G function.
= : *--! !( * / J,$/) *$( To test the efficiency of the differential evolution for determination of the Jiles-Atherton model, the set of 25 optimization processes were carried out for each differential evolution algorithm. Moreover, algorithms were tested for both constant value of modelâ&#x20AC;&#x2122;s parameter k as well as for k(M) given by the equation (7). Table 2 presents the results of the tests of efficiency of optimization process for constant value of k, whereas table 3 presents similar results for k given by equation (7). The number of function evaluations for each algo { \Â&#x2122; Â&#x2122;Â&#x2122;Â&#x2122; / + \Â&#x192; Â&#x2122;Â&#x2122;Â&#x2122; Â&#x2019;
of tuning algorithmâ&#x20AC;&#x2122;s crossover ratio parameter (CR) is presented in table 4 for constant k, and in table 5 for k(M). We used only DE-2 for that tests because this algorithm was chosen to be default in used optimization package, which means that it was recognized to be good choice for various optimization tasks. For our task, according to tables 2 and 3, DE-2 and DE-3 are comparable and they are noticeably better than the rest of investigated algorithms.
Journal of Automation, Mobile Robotics & Intelligent Systems
Table 2. Result of test of the efficiency of differential evolution algorithm for 25 runs of optimization (constant value of k parameter, Mean G â&#x20AC;&#x201C; average value of result target function, Best G â&#x20AC;&#x201C; best value of target func Z\^ _ ^ @ Algorithm
Mean G
Best G
DE-1
Â&#x2122; Â&#x2020;Â&#x160;Â&#x160;
Â&#x2122; Â&#x2020;Â&#x2122;
Â&#x2122; Â&#x2122;Â&#x192;
DE-2
Â&#x2122; Â&#x2020;Â&#x2122;Â&#x152;
0.469
Â&#x2122; Â&#x2122;{Â&#x160;
DE-3
Â&#x2122; Â&#x192;Â Â&#x2020;
0.460
Â&#x2122; Â&#x2122; \
DE-4
Â&#x2122; Â&#x160;Â&#x2122;Â&#x160;
Â&#x2122; Â&#x2020;Â&#x2122;Â
Â&#x2122; Â&#x2122;Â&#x2020;Â&#x192;
DE-5
Â&#x2122; Â&#x2020;Â Â
Â&#x2122; Â&#x2020; Â&#x160;
Â&#x2122; Â&#x2122;Â&#x192;
DE-6
Â&#x2122; Â&#x160;{{
Â&#x2122; Â&#x2020;Â&#x2122;
Â&#x2122; Â&#x2122;Â&#x160;{
Table 3. Result of tests of the efficiency of differential evolution algorithm for 25 runs of optimization (parameter k given by equation 7) Algorithm
Mean G
Best G
DE-1
Â&#x2122; Â&#x2020;Â?Â&#x192;
Â&#x2122; Â&#x192;Â&#x192;Â&#x160;
Â&#x2122; Â&#x2122;Â&#x152;Â&#x192;
DE-2
Â&#x2122; Â&#x192;Â&#x152;Â&#x160;
0.405
Â&#x2122; Â&#x2122;Â&#x192;{
DE-3
Â&#x2122; Â&#x192;Â&#x152;
0.408
Â&#x2122; Â&#x2122;Â&#x192;Â&#x152;
DE-4
Â&#x2122; Â&#x2020;Â \
Â&#x2122; Â&#x192; Â&#x2122;
Â&#x2122; Â&#x2122;Â {
DE-5
Â&#x2122; Â&#x2020;Â&#x152;\
Â&#x2122; Â&#x192;{Â
Â&#x2122; Â&#x2122;Â Â
DE-6
Â&#x2122; Â&#x160;Â&#x2122;Â&#x2020;
Â&#x2122; Â&#x192; \
Â&#x2122; \{Â&#x152;
Table 4. Result of tests of the efficiency of DE-2 with different crossover ratio (CR). 25 independent runs of optimization were performed, constant value of k
VOLUME 8,
N° 4
2014
The algorithm was run on single processor on * "&$ Ă&#x20AC; "&$ Â&#x2020;Â&#x2122;Â&#x2022;}Â&#x161; Â&#x2039;% Â&#x2019; /
was about 26 minutes for problems in which k was a function of M, and 16 minutes for constant k.
6. $( /) *$( From the practitionerâ&#x20AC;&#x2122;s point of view, it is desired to achieve good result by the use of of-the-shelf optimization algorithm, i.e. without parameter tuning. For our problem, the optimizerâ&#x20AC;&#x2122;s default algorithm DE-2 proved to be one of the best performing algorithms. % / / Â / ting of crossover ratio (CR) gave substantially worse results than results achieved after tuning of the CR value. Therefore, to achieve the best possible results, still there is a need for parameter tuning. Fortunately, within the progress of developing modern optimization methods, the number of parameters that needs tuning decreases. Presented results indicate that differential optimization algorithms can be used to determine Jiles-Ath {Â&#x2122;
faster than previously used evolutionary strategies.
C ;8J IJ1JC4 Calculations for the modelling were partially made in the Interdisciplinary Centre for Mathematical and Â&#x2021; + / Â&#x2030; %  + Â&#x2022; Â&#x160;|\Â&#x2122; This work was partially supported by The National Centre of Research and Development (Poland) within + Â&#x2039;Â&#x201E; \¡Â&#x201E;Â&#x192;¡Â&#x160;¡{Â&#x2122;\{
643 7
Crossover (CR)
Mean G
Best G
Â&#x2122; Â&#x2020;
Â&#x2122; Â&#x2020;Â&#x2122;Â&#x152;
Â&#x2122; Â&#x192;Â&#x160;Â
Â&#x2122; Â&#x2122;{Â&#x160;
Â&#x2122; Â&#x152;
Â&#x2122; Â&#x192;Â&#x160;\
Â&#x2122; Â&#x192;Â&#x2020;Â&#x2122;
Â&#x2122; Â&#x2122;Â&#x2122;Â&#x192;
1
0.458
Â&#x2122; Â&#x192;Â&#x2020;Â?
Â&#x2122; Â&#x2122;Â&#x2122;Â&#x2122;
Table 5. Result of tests of the efficiency of DE-2 with different crossover ratio (CR). 25 independent runs of optimization were performed, parameter k was given by equation 7
â&#x20AC;&#x201C; Faculty of Electronics and Infor Â&#x2019; + Â&#x2030; % Â / Â&#x2019; +
Â&#x2C6; Â&#x2018; \Â&#x2020;¡\ Â&#x2122;Â&#x2122;|Â&#x160;Â&#x160;Â&#x2020; Â&#x2030; Â&#x2039;
E-mail: rbiedrzy@elka.pw.edu.pl. Dorota Jackiewicz â&#x20AC;&#x201C; Institute of Metrology and Bio Â? + + Â&#x2030; % Â / Â&#x2019; + Â&#x201E; Â? Â&#x2122;{|Â&#x2020;{Â&#x2020; Â&#x2030; Â&#x2039;
E-mail: d.jackiewicz@mchtr.pw.edu.pl.
Crossover (CR)
Mean G
Best G
Roman Szewczyk â&#x20AC;&#x201C; Industrial Research Institute for Automation and Measurements, Al. Jerozolimskie {Â&#x2122;{ Â&#x2122;{|Â&#x192;Â?Â&#x160; Â&#x2030; Â&#x2039;
E-mail: rszewczyk@piap.pl.
Â&#x2122; Â&#x2020;
Â&#x2122; Â&#x192;Â&#x152;Â&#x160;
Â&#x2122; Â&#x192;Â&#x2122;Â&#x2020;
Â&#x2122; Â&#x2122;Â&#x192;{
Ă&#x2014; +
Â&#x2122; Â&#x152;
Â&#x2122; Â&#x192;Â&#x2122;Â
Â&#x2122; Â&#x152;
Â&#x2122; Â&#x2122;{Â&#x2122;
1
0.383
0.346
Â&#x2122; Â&#x2122;\
7JAJ7JC J
[1]
According to tables 4 and 5, increasing CR from / Â&#x2122; Â&#x2020; + Â Â +
standard deviation of the results. Therefore, after setting CR=1 it is highly probable to achieve solution that is close to the best possible in a single run of the algorithm.
[2]
Jiles D.C., Thoelke J.B., Devine M.K., â&#x20AC;&#x153;Numerical determination of hysteresis parameters for the modeling of magnetic properties using the the / / + ! IEEE Transactions on Magnetics, vol. 28, no: 1, 1992, 27â&#x20AC;&#x201C;35. Â&#x153;_*Â&#x17E; \Â&#x2122; \\Â&#x2122; ¡{Â&#x2122; \\ Â?\ Jiles D. C., Atherton D., â&#x20AC;&#x153;Theory of ferromagnetic ! Journal of Magnetism and Magnetic Articles
67
Journal of Automation, Mobile Robotics & Intelligent Systems
Materials  Â&#x160;\ \Â&#x2013;{ \ Â?Â&#x160; Â&#x192;Â?Â&#x2013;Â&#x160;Â&#x2122; Â&#x153;_*Â&#x17E;
\Â&#x2122; \Â&#x2122;\Â&#x160;¡Â&#x2122; Â&#x2122;Â&#x192;|Â?Â?Â&#x2020; "Â?Â&#x160;$ Â&#x2122;Â&#x2122;Â&#x160;Â&#x160;|\ [3] Szewczyk R., â&#x20AC;&#x153;Validation of the Anhysteretic Magnetization Model for Soft Magnetic Ma Â&#x2039; ! Materials  Â&#x152; Â&#x152; {Â&#x2122;\Â&#x192; Â&#x2020;\Â&#x2122; Â&#x2013;Â&#x2020;\\Â&#x160; Â&#x153;_*Â&#x17E;
Â&#x153;_*Â&#x17E;\Â&#x2122;  Â&#x2122;¡ Â&#x152;Â&#x2122;Â&#x152;Â&#x2020;\Â&#x2122; YÂ&#x192;^
` Â&#x153; ÂŁ Â&#x153; ' Â&#x2019; / / + ! Journal of Applied Physics  Â&#x2020;Â&#x2020; Â&#x160; \ Â?Â&#x192; {\\Â&#x2020;Â&#x2013;{\{Â&#x2122; Â&#x153;_*Â&#x17E;
\Â&#x2122; \Â&#x2122;Â&#x160; ¡\ Â&#x2020;Â?{ [5] Jiles D.C., Ramesh A., Shi Y., Fang X., â&#x20AC;&#x153;Application of the anisotropic extension of the theory of hysteresis to the magnetization curves of Â&#x2014; + !
IEEE Transactions on Magnetics, vol. 33, no. 5, \  Â&#x152;  Â&#x160;\Â&#x2013;  Â&#x160; Â&#x153;_*Â&#x17E; \Â&#x2122; \\Â&#x2122; ¡{Â&#x2122; Â&#x160;\ Â&#x160;{ YÂ&#x160;^
Â&#x20AC; Â&#x161; Â&#x161; +Âź ` Â?
methods for the Jiles-Atherton model param Â&#x2013; Â ! 4 Â&#x2122; Â&#x2DC;"_ ' : 1 Â&#x2122; , Â Â?Â&#x192; \{ {Â&#x2122;Â&#x2122;Â? \Â&#x192;Â&#x2020;Â&#x2013;\Â&#x192;Â&#x152; [7] Szewczyk R., â&#x20AC;&#x153;Modelling of the Magnetic Characteristics of Isotropic and Anisotropic Materi / ! ACTA Physica Polonica A Â \\ \ {Â&#x2122;Â&#x2122;Â? Â&#x160;Â&#x152;Â&#x2013;Â&#x152;Â&#x2122; [8] Atkinson K., â&#x20AC;&#x153;An Introduction to Numerical ! Â&#x2C6; ~ ` Â&#x2030; Âż
\ Â? [9] Shampine L. F., â&#x20AC;&#x153;Vectorized Adaptive Quadra Â&#x2021; Â&#x2019;' Â&#x201E;! Journal of Computational and Applied Mathematics  {\\ { {Â&#x2122;Â&#x2122;Â?
\ \Â&#x2013;\Â&#x192;Â&#x2122; Â&#x153;_*Â&#x17E; \Â&#x2122; \Â&#x2122;\Â&#x160;¡Â&#x2018; {Â&#x2122;Â&#x2122;Â&#x160; \\ Â&#x2122;{\ Y\Â&#x2122;^
` Â&#x161; Â&#x153; Â&#x161; Â&#x161; & ` Â&#x201E; kowski A., Kachniarz M., â&#x20AC;&#x153;Influence of Stresses Â&#x2021; + Â&#x201E;|} / Ă&#x20AC; Â&#x2122; \
& + Â&#x2021; ! Recent Advances in Automation, Robotics and Measuring Techniques Advances in Intelligent Systems and Computing  {Â&#x160;Â&#x152; {Â&#x2122;\Â&#x192; Â&#x160;Â&#x2122;Â&#x152;Â&#x2013;Â&#x160;\Â&#x192; Â&#x153;_*Â&#x17E;
\Â&#x2122; \Â&#x2122;Â&#x2122;Â&#x152;¡ Â&#x152;Â?| | \ |Â&#x2122;Â&#x2020; Â&#x2020; |Â&#x2122;Ă&#x203A;Â&#x2020;Â&#x152; [11] Kachniarz M., Jackiewicz D., Nowicki M., Â&#x201E; Ă&#x2026;
Â&#x161; Â&#x161; Â&#x2030; Â&#x2030; Â&#x2021; +netoelastic Characteristics R. of Constructional
Â&#x2021; ! Mechatronics â&#x20AC;&#x201C; Ideas for Industrial Application, Advances in Intelligent Systems and Computing  \Â&#x152; {Â&#x2122;\Â&#x2020; Â&#x2122;Â&#x152;Â&#x2013; \Â&#x2020; Â&#x153;_*Â&#x17E; \Â&#x2122; \Â&#x2122;Â&#x2122;Â&#x152;¡ Â&#x152;Â?| | \ |\Â&#x2122;  Â&#x2122;| Ă&#x203A;{Â? [12] Baodong B., Jiayin W., Keqing Z., â&#x20AC;&#x153;Identification of the Jiles-Atherton model parameters using
+ ! * Â&#x17E; 2011 International Conference on Electrical Machines and Systems (ICEMS) {Â&#x2122;\\ \Â&#x2013;Â&#x192; Â&#x153;_*Â&#x17E; \Â&#x2122; \\Â&#x2122; ¡ * Â?Â&#x2021; {Â&#x2122;\\ Â&#x160;Â&#x2122;Â&#x152; Â&#x160;\{ [13] Teodorescu P., Stanescu N., Pandrea N., Optimizations Â&#x2030; |*Â?Â?Â? Â&#x2039; {Â&#x2122;\ [14] R. Fletcher, Practical methods of optimization, 2nd ` Â&#x2030; Âż
\Â Â?Â&#x152; [15] Hestenes M., Stiefel E., â&#x20AC;&#x153;Methods of Conjugate Â&#x2022; /
 + '
! Journal of Research of the National Bureau of Standards  Â&#x192; Â&#x160; \ Â&#x2020;{ Â&#x192;Â&#x2122; Â&#x2013;Â&#x192; Â&#x160; [16] H. G. Beyer, The Theory of Evolution Strategies Â&#x2C6; +
+ {Â&#x2122;Â&#x2122;\
Â&#x153;_*Â&#x17E; Â&#x17E;¡¡ Â&#x2014; +¡\Â&#x2122; \Â&#x2122;Â&#x2122;Â&#x152;¡ Â&#x152;Â?| |Â&#x160;Â&#x160;{| 68
Articles
VOLUME 8,
N° 4
2014
Â&#x2122;Â&#x192; Â&#x152;Â?| [17] Rechenberg I., Evolutionsstrategie â&#x20AC;&#x2DC;94, Frommann-Holzboog Verlag, Stuttgart, 1994. [18] Biedrzycki R., Szewczyk R., Ĺ vec P., Winiarski W., â&#x20AC;&#x153;Determination of Jiles-Atherton Model Â&#x2039; % + Â&#x153; // Â? ! Mechatronics â&#x20AC;&#x201C; Ideas for Industrial Application, Advances in Intelligent Systems and Computing,  \Â&#x152; {Â&#x2122;\Â&#x2020; \\Â&#x2013;\Â? Â&#x153;_*Â&#x17E; \Â&#x2122; \Â&#x2122;Â&#x2122;Â&#x152;¡ Â&#x152;Â?| | \ |\Â&#x2122;  Â&#x2122;| Ă&#x203A;{ [19] Hansen N., Ostermeier A., â&#x20AC;&#x153;Completely derandomized self-adaptation in Â
+ !
Journal Evolutionary Computation   { {Â&#x2122;Â&#x2122;\ \Â&#x2020; Â&#x2013; \ Â&#x2020; Â&#x153;_*Â&#x17E; \Â&#x2122; \\Â&#x160;{¡\Â&#x2122;Â&#x160; Â&#x160;Â&#x2020;Â&#x160;Â&#x2122;\Â&#x152;Â&#x2020;Â&#x2122;\ Â&#x2122;  Â? Y{Â&#x2122;^ Â&#x201A; Â&#x203A;  Â&#x153; // Â? ! +er Optimization and Its Applications, vol. 5,
+ {Â&#x2122;Â&#x2122;Â&#x160; [21] R Core Team, R: A Language and Environment for Statistical Computing, R Foundation for Sta + {Â&#x2122;\ Y{{^
Â&#x153; Â&#x2021; Â&#x20AC; Â&#x2021; Â&#x2039; Â&#x201E; Â&#x2022; % `
DEoptim: Differential Evolution in R, R Package Â&#x201A; {Â&#x2122;Â&#x2122;Â&#x152; \ |Â&#x2122; [23] Jackiewicz D., Salach J., Szewczyk R., Bienkowski A., â&#x20AC;&#x153;Application of Extended Jiles-Atherton Model for Modelling the Influence of Stresses on Magnetic Characteristics of the Construc ! Acta Physica Polonica A, vol. 126. \ {Â&#x2122;\Â&#x192;  {Â&#x2013;  Â&#x153;_*Â&#x17E;\Â&#x2122; \{Â&#x160; ¡ Â&#x2039; Â&#x2039; lA.126.392.