Jamris 2016 Vol 10 No 3

Page 1

VOLUME 10 N°3 2016 www.jamris.org pISSN 1897-8649 (PRINT) / eISSN 2080-2145 (ONLINE)

Indexed in SCOPUS


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 (Japan Society for the Promotion of Science, Beijing Office) Jan Jabłkowski (PIAP, Poland) Witold Pedrycz (ECERF, University of Alberta, Canada)

Language Editor: Grace Palmer (USA)

Typesetting: Ewa Markowska, PIAP

Co-Editors: Roman Szewczyk (PIAP, Warsaw University of Technology) Oscar Castillo (Tijuana Institute of Technology, Mexico) Marek Zaremba (University of Quebec, Canada) (ECERF, University of Alberta, Canada)

Executive Editor: Anna Ładan aladan@piap.pl

Webmaster: Piotr Ryszawa, PIAP

Editorial Office: Industrial Research Institute for Automation and Measurements PIAP Al. Jerozolimskie 202, 02-486 Warsaw, POLAND Tel. +48-22-8740109, office@jamris.org Copyright and reprint permissions Executive Editor The reference version of the journal is e-version. Printed in 300 copies.

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 (Szechenyi Istvan University, Gyor and 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) 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 (Birmingham 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 Saffiotti (Örebro University, Sweden) Klaus Schilling (Julius-Maximilians-University Wuerzburg, Germany) Vassil Sgurev (Bulgarian Academy of Sciences, Department of Intelligent Systems, Bulgaria) Helena Szczerbicka (Leibniz Universität, Hannover, Germany) Ryszard Tadeusiewicz (AGH University of Science and Technology in Cracow, Poland) Stanisław Tarasiewicz (University of Laval, Canada) Piotr Tatjewski (Warsaw University of Technology, Poland) 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 10, N° 3, 2016 DOI: 10.14313/JAMRIS_3-2016

CONTENTS 3

34

On the Representation of Planes for Efficient Graph-based SLAM with High-level Features Jan Wietrzykowski DOI: 10.14313/JAMRIS_3-2016/18 12

A Novel Design of a Counter-flow Vortex Tube by Suitable Automation at Hot and Cold Ends Dileep Macha, Manimaran Renganathan, Arockia Selvakumar Arockiadoss DOI: 10.14313/JAMRIS_3-2016/22 38

Kinematic Control of a Mobile Robot Performing Manufacturing Tasks on Non-Planar Surfaces Joshua Qualls, Stephen Canfield, Alexander Shibakov DOI: 10.14313/JAMRIS_3-2016/19 22

Parallel Digraphs-building Computer Algorithm for Finding a Set of Characteristic Polynomial Realisations of Dynamic System Krzysztof Hryniów, Konrad Andrzej Markowski DOI: 10.14313/JAMRIS_3-2016/23 52

Dynamic Modeling of Planetary Vehicle’s Fall on Soft Soil Hassan Shibly DOI: 10.14313/JAMRIS_3-2016/20

Decomposition versus Minimal Path and Cuts Methods for Reliability Evaluation of an Advanced Robotic Production System Aida Shojaeifar, Hamed Fazlollahtabar, Iraj Mahdavi DOI: 10.14313/JAMRIS_3-2016/24

29

Contribution of New Parameter Inverses to Robustification of Fractional-Order Perfect Control for LTI MIMO Discrete-Time State-Space Systems Łukasz Wach, Wojciech P. Hunek DOI: 10.14313/JAMRIS_3-2016/21

2

Articles

58

Comparative Study of Optimised Artificial Intelligence Based First Order Sliding Mode Controllers for Position Control of a DC Motor Actuator Bassey Etim Nyong-Bassey, Benjamin Akinloye DOI: 10.14313/JAMRIS_3-2016/25


Journal of Automation, Mobile Robotics & Intelligent Systems

O G

R -

VOLUME 10,

SLAM

P H -

N∘ 3

2016

E F

Submi ed: 18th July 2016; accepted: 16th August 2016

Jan Wietrzykowski DOI: 10.14313/JAMRIS_3-2016/18 Abstract: Despite the fact, that dense SLAM systems are extensively developed and are ge ng popular, featurebased ones s ll have many advantages over them. One of the most important ma ers in sparse systems are features. The performance and robustness of a system depends strictly on the quality of constraints imposed by feature observa ons and reliable matching between measurements and features. To improve those two aspects, higher-level features can be used, and planes are a natural choice. We tackle the problem of plugging planes into the g o op miza on framework with two dis nct plane representa ons: one based on a properly stated SE(3) parametriza on and one based on a minimal parametriza on analogous to quaternions. Proposed solu ons were implemented as extensions to the g o framework and experiments that verify them were conducted using simula on. We provide a comparison of performance under various condi ons that emphasized differences. Keywords: SLAM, features, plane parametriza on, graph-based op miza on

1. Introduc on The simultaneous localization and mapping (SLAM) problem has to be solved whenever a mobile robot explores unknown environment. It can be a scenario of exploring a disaster site or a previously unvisited building. A variety of potential applications fosters development of new SLAM solutions and improvement of the existing ones. Particularly interesting is the domain of 3D SLAM systems based on affordable depth sensors, such as Kinect, because of their high availability, low price and ability to provide rich information about the environment [14]. Despite the recent growth of the number of dense SLAM systems, feature-based solutions still outperform them with respect to the precision of camera motion estimation and real-time performance [12]. The main component in feature-based systems are sparse features. Features have to provide enough information to determine the sensor/robot position relatively to an existing map. They have to be distinctive enough to prevent wrong associations between the new observations and the map. As the state estimation techniques, either iltration-based, like EKF [19], or optimization-based [11] are not suited for handling incorrect feature associations, the features in 3D SLAM have to be chosen carefully to ful ill those

requirements. Until recent, most systems were based on photometric point features, such as SURF [1] or ORB [15] or their geometric counterparts extracted from point clouds [14]. They are easy to compute and manage, but constrains produced by them are often inaccurate and they can be easily mismatched, which is a major issue. It is caused by the fact that point features are computed from a small local patch of the photometric or depth image, where the pixel values depend on many factors, such as lighting, camera exposition parameters or the depth range. A solution to this problem is to use higher level geometric features, whose positions relative to the sensor can be precisely determined from more global data. It is expected that features that describe spatially extended structures of the scene will be more distinctive and repeatable when re-observed by the sensor. A natural extension to point features are edge or plane features. The planes are particularly interesting, as they commonly exist in man-made environments, such as building interiors, and can be easily detected and isolated using a Kinectlike depth sensor. Walls, ceiling and loor are examples of large planar segments that can be used in localization and mapping. Due to the relatively small number of detected planes in a typical environment, they can be also easily matched between consecutive frames in the data stream. Beside the issues related to the front-end part of a modern, optimization-based SLAM system [2], that deals with processing of the measurements and determination of measurement-to-object associations, attention has to be paid to the back-end. The back-end handles an optimization process that inds the positions of robot and features that minimizes certain criterion, given measurements and measurement-toobject associations. Among many such systems, particularly interesting are the factor-graph-based libraries, because of their lexibility and intuitive problem formulation. Thus, in section 5 we propose an extension to the popular factor graph g o back-end system [11] in the form of a new constraint edge and a corresponding feature vertex. The extension enables a fast and accurate optimization of pose-to-plane constraints by means of a minimal parametrization of the planes. We also compare the new approach to a simpli ied solution based on an overparametrized representation using the standard g o edges and vertices. This simpli ied solution is presented in section 4. We show at irst that using the standard vertices and constraints available in g o is inef icient for planar fea3


Journal of Automation, Mobile Robotics & Intelligent Systems

tures, and then we compare the two solutions proposed in the paper by applying the Absolute Trajectory Error (ATE) and Relative Pose Error (RPE) metrics [17], widely used in the SLAM research community. As this is a preliminary work on SLAM based on high level features, we focus on the optimization backend and conduct simulations using a simpli ied system that lacks a real front-end for the extraction and matching of planar features. Similarly to the approach introduced in [3] we replace the front-end by a simulation that allows us to control the uncertainty of measurements by adding Gaussian noise and to control the number and location of features (i.e. planes in our case) in the environment.

2. Related Work Since the introduction of the Kinect, that started an era of cheap depth sensors, many 3D SLAM solutions using depth and visual information emerged. Pixel intensities and depth measurements are directly used in dense SLAM systems, like the one by Kerl et al. [10]. A motion between two consecutive frames is estimated by minimizing a difference between a predicted and an actual measurement in both, photometric and depth, domains. A large scale system, using a stereo camera instead of a depth sensor, is presented by Engel et al. [5]. A transformation between camera pose at two different frames can be also computed using iterative closest point, as in [13], where Kinect sensor is used to map and track dense surfaces. Another approach is to extract point features and use a sparse representation of measurements, as in the work by Belter et al. [2]. One of the earliest attempts to use planes as features was by Weingarten and Siegwart [19]. They adopted SPmodel [4] to represent planes and harnessed Extended Kalman Filter (EKF) to update the SPmap containing robot pose and feature locations. The SPmodel (symmetries and perturbation model) uses a probabilistic representation of the imprecision in the location of features, and the theory of symmetries to represent the partiality of the uncertainty due to the parametrization of the feature. Unfortunately, the plane representation is overparametrized and EKF-SLAM cannot exploit the sparsity of feature observations, in contrast to our solution. Salas-Moreno et al. [16] proposed a method to densely map an environment with usage of bounded planes and surfels. Planar regions are re ined and extended during camera’s movement and can serve as a display for an augmented reality content. A solution based on both, point and plane features was presented by Taguchi et al. [18]. They use a general form equation to parametrize planes, which is a non-minimal representation, and a sparse linear solver in the Gauss-Newton iterative optimization algorithm. Error calculation between the estimated and the measured plane is accomplished by means of random sampling of the measurement points. A sparse solver is also employed in the work by Kaess [8], where a minimal representation of planes based on 4

VOLUME 10,

N∘ 3

2016

quaternions was introduced. Optimization is done by the iSAM algorithm [9]. A popular tool for graph-based optimization is the g o framework, that outperforms many other systems, including iSAM [11]. It is widely used in point-featurebased SLAM systems, such as those by Mur-Artal et al. [12] or Belter et al. [3]. Thus, the g o library was chosen as the framework we want to test for handling optimization of pose-to-plane constraints, and then extend by a new minimal representation of the planar features.

3. Problem Formula on Using Graph The part of the SLAM problem related to the backend operation is to ind the camera and feature positions that best it the collected observations. To solve this problem ef iciently, a proper representation of the constraints is needed. One of the possibilities is to model the system as a factorized probabilistic equation: 1 đ?‘?(đ??ą|đ??ł) = Ψ (đ??ą , đ??ł ), (1) đ?‘? ∈

where đ??ą are random variables, đ??ł are measurement variables, that are observed, đ?‘? is a normalization constant, đ??š is a set of factors, Ψ (đ??ą , đ??ł ) is a value of a factor đ?‘Ž, đ??ą is a subset of random variables that the factor đ?‘Ž depends on, and đ??ł is a subset of measurement variables that the factor đ?‘Ž depends on. Factor Ψ (đ??ą , đ??ł ) is a function, usually based on the Gaussian distribution, that measures how likely the state of variables đ??ą explain measurements đ??ł . Throughout this paper, we use the following form of factors: 1 Ψ (đ??ą , đ??ł ) = exp − đ??ž (đ??ą , đ??ł ) Ί đ??ž (đ??ą , đ??ł ) , 2 (2) where đ??ž (đ??ą , đ??ł ) is an error function and an information matrix is denoted by Ί . The error function returns a vector of differences between measurement prediction đ??Ą (đ??ą ) based on the state of variables đ??ą and an actual measurement đ??ł : đ??ž (đ??ą , đ??ł ) = đ??Ą (đ??ą ) ⊖ đ??ł , (3) where ⊖ is an operator that is a generalization of the subtraction operation, for example taking into account rotation ambiguities, de ined depending on the representation. Dimensionality of the error vector depends on the type of measurement and its representation. In the case of minimal representation of planes it is 3, and in the case of SE(3) it is 6. The problem can be presented using a probabilistic graphical model, as shown in Fig. 1. The robot and feature positions are encoded by subsets of variables organized in a proper representation, e.g. a translation vector and 3 imaginary components of an unit quaternion for SE(3). If the position đ?‘– has SE(3) representation, then the set đ??ą contains 6 variables. There is no difference between variables representing feature and robot positions, besides from their meaning. Factor is dependent on all variables that represent the robot and feature positions connected to it.


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

N∘ 3

2016

as: Δđ??ąâˆ— = arg min đ?šŤđ??ą

≃ arg min đ?šŤđ??ą

đ?‘™ (đ??ą , đ??ł )

(12)

đ?‘? + đ??› Δđ??ą + Δđ??ą đ??‡ Δđ??ą

(13)

∈

∈

= arg min đ?‘? + đ??›Î”đ??ą + Δđ??ą đ??‡Î”đ??ą,

(14)

đ?šŤđ??ą

where đ?‘? = ∑ ∈ đ?‘? , đ??› = ∑ ∈ đ??› , and đ??‡ = ∑ The Δđ??ąâˆ— value is calculated using equation: Fig. 1. Probabilis c graphical model represen ng the SLAM op miza on problem. Variables encoding robot posi ons are marked as white circles, variables encoding feature posi ons are marked as gray circles, factors are marked as black squares and subset of variables that represent posi on đ?‘– is denoted by đ??ą This form emphasizes the sparsity of dependencies between the robot positions and feature positions. Properly exploiting the sparsity enables ef icient optimization and is in the core of back-end systems development. The optimization can be formulated as a process of inding values of variables đ??ą that maximizes the probability (1), denoted by đ??ąâˆ— . By taking the logarithm of probability it can be written as: đ??ąâˆ— = arg max đ??ą

1 đ?‘?

= arg min đ??ą

(4)

đ??ž (đ??ą , đ??ł ) Ί đ??ž (đ??ą , đ??ł )

(5)

đ?‘™ (đ??ą , đ??ł ).

(6)

∈

= arg min đ??ą

Ψ (đ??ą , đ??ł ) ∈

∈

Although, in general, the problem is not convex, an iterative method is used to ind the optimal values of đ??ą. The assumption is made, that initial guess is good enough not to cause a divergence of the algorithm. At every iteration step, the functions đ?‘™ (đ??ą , đ??ł ) are linearized in the currently estimated state of variables đ??ą and an optimal step is calculated, denoted by Δđ??ąâˆ— . The linearization is expressed by (we omit dependence on đ??ł to simplify notation as values of đ??ł are constant): đ?‘™ (đ??ą + Δđ??ą ) = đ??ž (đ??ą + Δđ??ą ) Ί đ??ž (đ??ą + Δđ??ą )

(7) (8)

≃ [đ??ž (đ??ą ) + đ??‰ (đ??ą )Δđ??ą ] Ί [đ??ž (đ??ą ) + đ??‰ (đ??ą )Δđ??ą ] (9) = đ??ž (đ??ą ) Ί đ??ž (đ??ą ) + 2đ??ž (đ??ą ) Ί đ??‰ (đ??ą )Δđ??ą + Δđ??ą đ??‰ (đ??ą ) Ί đ??‰ (đ??ą )Δđ??ą = đ?‘? (đ??ą ) + đ??› (đ??ą )Δđ??ą + Δđ??ą đ??‡ (đ??ą )Δđ??ą ,

(10) (11)

where đ??‰ is a Jacobian matrix of the error function with respect to variables đ??ą in the current point. If we expand all vectors and matrices in equation (11) to include all đ??ą variables, the iteration step can be written

đ??‡Î”đ??ąâˆ— = −đ??›.

∈

đ??‡ . (15)

After inding Δđ??ąâˆ— , current estimate is updated according to formula: đ??ą

= đ??ą ⊕ Δđ??ą ∗ ,

(16)

where ⊕ is a generalization of addition operator, deined depending on the representation. Note that increments are computed by considering derivatives of the error function with respect to variables, therefore units, in which those variables are expressed, are irrelevant. Iterations are performed until an optimal solution is found. Usually, algorithms like Gauss-Newton or Lavenberg-Marquardt are used in combination with sparse linear optimizers to solve equation (15). The sparsity is encoded in the đ??‡ matrix, since only some values are non-zero (value at position (đ?‘–, đ?‘—) can be nonzero only if variables đ?‘Ľ and đ?‘Ľ are related by a factor). The g o framework organizes probabilistic graphical models in a form of vertices and edges. Vertices are representing subsets of variables denoting robot or feature poses and have to determine a proper representation of those variables. Therefore, vertices also implement ⊕ operator suitable for chosen representation. Edges are analogues of factors and, as such, they bind vertices with measurements. Generally, edges can connect multiple vertices, but in our system they always connect two. The operation that has to be implemented in an edge is error calculation, therefore they implement ⊖ operation. Optionally, edges can also implement analytical calculation of the Jacobian matrices, which are by default computed numerically [11].

4. SE(3) Plane Representa on This section presents a simpli ied solution based on a SE(3) representation of planes. It was necessary to introduce some assumptions and simpli ications to plug planes into overparametrized representation. Usually, using depth sensors, a plane measurement is represented as a normal vector đ??§ in the sensor frame of reference and distance đ?‘‘ to the sensor (hereinafter called camera for convenience). Some assumptions have to be made to convert this representation to the SE(3) one, since the number of such overparametrized representations is in inite. Hence, we assumed that a plane coordinate system has the following properties: - The origin is located in the plane point nearest to a camera. 5


Journal of Automation, Mobile Robotics & Intelligent Systems

Fig. 2. A schema c view of assump ons about coordinate system of a plane - The đ?‘§ axis is perpendicular to a plane. - The đ?‘Ľ axis direction is determined by a cross product of the normal vector and the [1, 0, 0] vector (if they are parallel, with [0, 1, 0] vector). This assumption is only important to assure that the đ?‘Ľ axis will be parallel to the đ?‘§ axis. - The đ?‘Ś axis direction is determined by a cross product of the unit vectors in the đ?‘§ axis and the đ?‘Ľ axis directions. Obviously, there is an ambiguity in the representation, and the global coordinates of a plane depend on the camera position (they won’t be the same for different camera poses). It is caused by the fact that a plane is an object with 3 degrees of freedom (DOF), whereas the SE(3) representation has 6 DOF. Therefore, the frame of reference of an in inite plane can move freely along the đ?‘Ľ and đ?‘Ś axes of this plane, and can rotate around it’s đ?‘§ axis, which gives extra 3 DOF. The different placement of the origin cannot be avoided in a real-world scenario, but, as it will be shown, the difference has no effect on results thanks to a proper information matrix formulation. A schematic illustration of a plane coordinate system is presented in Fig. 2. The standard g o SE(3) vertex represents the position in the form of a translation-quaternion (TQ) vector: đ?‘Ą ⎥ ⎤ đ?‘Ą ⎢ ⎼ đ?‘Ą đ??Ż = ⎢ ⎼, (17) đ?‘ž ⎢ ⎼ ⎢đ?‘ž ⎼ ⎣đ?‘ž ⎌ where đ?‘Ą , đ?‘Ą , đ?‘Ą are Euclidean coordinates and đ?‘ž , đ?‘ž , đ?‘ž are imaginary components of an unit quaternion with the real component đ?‘ž ⊞ 0. In the SE(3) edge values đ??ł represent measurement of a transformation from the camera frame of reference to the plane frame and is also represented by a TQ vector. As đ??ą and đ??ł are just sets of numbers, we use đ??Ż(â‹…) operator to indicate that they should be treated as a TQ vector. The symbols đ??ą and đ??ą denote subsets of đ??ą variables representing global camera and global robot position, re6

VOLUME 10,

N∘ 3

2016

Fig. 3. Transforma ons between frames of reference. Î is a global frame of reference, Î is a camera frame of reference and Î is plane frame of reference spectively. Transformations between frames of reference are depicted in Fig 3. An error, introduced in the equation (3), is de ined as follows: đ??ž (đ??ą , đ??ł ) = đ??Ż(đ??ł )

đ??Ż(đ??ą )

đ??Ż(đ??ą

) ,

(18)

where multiplication is a concatenation of transformations (not a matrix multiplication), đ??Ż is an inversion of the transformation đ??Ż, and đ??Ż(đ??ą ) đ??Ż(đ??ą ) can be interpreted as measurement prediction. The error is de ined in the plane’s frame of reference, therefore an information matrix đ?›€ has to be deined in the same frame. In an overparametrized representation, such as the one considered here, the information matrix is particularly important. It should deine large (theoretically in inite) uncertainty in the dimensions, in which the representation is ambiguous. If the đ?‘–-th dimension is a surplus, then the element of đ?›€ at location (đ?‘–, đ?‘–) should be equal to zero. Unfortunately, the matrix constructed in such way would be rank de icient and impossible to invert. The inability to invert would discard a large number of optimization algorithms. Therefore, we decided to circumvent this limitation by inserting a very small number instead of 0. Another problem was how to specify an information matrix for rotation represented by a quaternion. To overcome the problem, we constructed a covariance matrix for the extended representation (including đ?‘ž value) in the form: đ??‚=

đ??‚ đ?&#x;Ž x

đ?&#x;Ž x đ??‚

,

(19)

where đ??‚ was de ined as follows: đ??‚ = diag(đ?‘?, đ?‘?, 1) and đ??‚

(20)

as follows: đ??‚

=đ??‰ đ??‚ đ??‰ .

(21)

Here đ??‚ is the covariance matrix for a rotation expressed by a 3Ă—3 rotation matrix, de ined as (for a row-major order of matrix elements): đ??‚

= diag(đ?‘?, đ?‘?, 1, đ?‘?, đ?‘?, 1, 1, 1, 1)

(22)


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

and đ??‰ is Jacobian matrix of the conversion from a rotation matrix to a quaternion at the identity point (derived from the equation converting rotation matrix representation to a quaternion representation):

đ??‰

0 0 0 0.125 ⎥ ⎤ 0 0 0.250 0 ⎼ ⎢ −0.250 0 0 ⎼ ⎢ 0 0 −0.250 0 ⎼ ⎢ 0 0 0 0.125⎼ . (23) =⎢ 0 ⎢ 0.250 0 0 0 ⎼ ⎢ ⎼ 0 0.250 0 0 ⎼ ⎢ 0 0 0 ⎼ âŽ˘âˆ’0.250 0 0 0 0.125 ⎣ ⎌

In the above equations đ?‘? is some large value that indicates that in this dimension a variance is in inite. We used đ?‘? = 1000 which was a good compromise between accuracy and numerical stability. The inal information matrix is the 6Ă—6 upper-left corner part of the inverse of the đ??‚ matrix: Ί = [đ??‚

]

Ă—

.

(24)

The ⊕ operator is realized by multiplying a transformation represented by the current state of variables by a transformation expressed by the computed increment Δđ??ą ∗ : đ??Ż(đ??ąĚ‚

) = đ??Ż(đ??ąĚ‚ )đ??Ż(Δđ??ą ∗ ).

5. Minimal Plane Representa on

đ??ž (đ??ą , đ??ł ) = đ??Ş đ??“(đ??ą ) đ??Š(đ??ą

= log đ??Ş đ??“(đ??ą ) đ??Š(đ??ą

(26)

The solution is to normalize the general plane equation, so ‖đ??Šâ€– = ‖[đ?‘? , đ?‘? , đ?‘? , đ?‘? ] ‖ = 1 and restrict đ?‘? ⊞ 0. After doing so, only the irst 3 components of the vector đ??Š are relevant, since the last one can be retrieved using formula: đ?‘? +đ?‘? +đ?‘? .

)

(28)

đ??Ş(đ??ł ) , (29)

where đ??Ş(đ??ą ) denotes a quaternion formed from variables đ??ą , đ??“(đ??ą ) is a homogeneous transformation matrix constructed from variables đ??ą , and đ??Š(đ??ą ) is a plane equation based on variables đ??ą . Note that transformation of a general plane equation from Î frame of reference to Î frame is expressed differently than the same transformation for a point. It is done by the equation (đ??“ , denotes a homogeneous transformation matrix for a transformation from Î to Î ): đ??Š =đ??“ =đ??“

,

đ??Š

(30)

,

đ??Š .

(31)

The logarithm map is a 3 dimensional vector given by the equation: log(đ??Ş) = 2

cos (đ?‘ž ) đ??Ş , ‖đ??Ş â€–

(32)

where đ??Ş is an imaginary part of the quaternion đ??Ş. Updates of variables are done using exponential maps for both, camera positions and plane positions. The update for planes is done using the following formula: đ??Ş(đ??ą

) = exp đ?œ”(Δđ??ą ∗ ) đ??Ş(đ??ą

exp(đ?œ”) =

),

(33)

(27)

sin( ‖đ?œ”‖)đ?œ” . cos( ‖đ?œ”‖)

(34)

The update for camera positions is done in a similar way, but instead of quaternions, operations are performed on TQ vectors: đ??Ż(đ??ą

đ?‘? =

) ⊖ đ??Ş(đ??ł )

where exponential map for a plane is de ined as:

To represent a plane only 3 values are required, since it is an object with 3 DOF. In this section we present a solution based on a representation that uses only 3 values and therefore is minimal. Nevertheless, using a normal vector and a distance requires 4 values: 3 components of đ??§ = [đ?‘› , đ?‘› , đ?‘› ] and đ?‘‘. The same problem occurs with a general plane equation: đ?‘? đ?‘Ľ + đ?‘? đ?‘Ś + đ?‘? đ?‘§ + đ?‘? = 0.

2016

It is an analogue to an unit quaternion and all operations on quaternions can be transfered to this representation [8]. Therefore, it is a minimal representation without singularities, what makes it suitable for optimization purpose. With the minimal representation, we used exponential and logarithm map to calculate the error and update current positions. An exponential map is a map from the Lie algebra to a Lie group and a logarithm map is a map in the reverse direction. The error calculation in an edge connecting a camera position and a plane position is performed using the logarithm map of quaternions:

(25)

The implementation was intended to be simple and demand small amount of work, so it was realized using standard g o edges and vertices. The additional advantage of this approach is that the g o framework implements analytical calculation of Jacobian matrices for standard classes. It was necessary to compute information matrix and implement a measurement simulation. The simulation was accomplished by adding Gaussian noise to the normal vector đ??§ components and a distance value đ?‘‘, and then calculating đ??Ż(đ??ł ) using the previously de ined assumptions about the coordinate system of a plane.

N∘ 3

) = exp đ???(Δđ??ą ∗ ) đ??Ż(đ??ą ).

(35)

The increment used in the above equation comprises a translational and a rotational part, same as the TQ vector: đ?œ? ⎥ ⎤ đ?œ? ⎢ ⎼ đ?œ? đ?œ? đ???=⎢ ⎼= (36) đ?œ” ⎢đ?œ” ⎼ ⎢đ?œ” ⎼ ⎣đ?œ” ⎌ 7


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

N∘ 3

2016

Denoting the result of the exponential mapping by: exp(đ???) =

đ??­ đ??Ş

,

(37)

the calculation can be done using equations: đ??­ = đ??•đ?œ?

(38)

đ??Ş = đ??Ş(đ??‘).

(39)

and Note that, in the notation above, a quaternion is constructed from a rotation matrix, not from a 4dimensional vector. The matrices đ??• and đ??‘ are given by equations: đ??•=đ??ˆ+

1 − cos(‖đ?œ”‖) ‖đ?œ”‖ − sin(‖đ?œ”‖) [đ?œ”]Ă— + [đ?œ”]Ă— ‖đ?œ”‖ ‖đ?œ”‖ (40)

and đ??‘=đ??ˆ+

sin(‖đ?œ”‖) 1 − cos(‖đ?œ”‖) [đ?œ”]Ă— , (41) [đ?œ”]Ă— + ‖đ?œ”‖ ‖đ?œ”‖

where [đ?œ”]Ă— is a skew-symmetric matrix: 0 đ?œ” [đ?œ”]Ă— = −đ?œ”

−đ?œ” 0 đ?œ”

đ?œ” −đ?œ” 0

.

(42)

We implemented an extension to the standard set of g o edges and vertices by adding a vertex representing a plane position and an edge connecting camera position and plane position. As the camera position vertex we used a SE(3) vertex that uses exponential map, included in the framework. During experiments, measurements were simulated by adding Gaussian noise to the components of the normal vector đ??§ and to the distance đ?‘‘ value. The quaternion representation was obtained by constructing a general plane equation, and then properly normalizing a vector of parameters. The vector had the following form: đ?‘› ⎥ ⎤ đ?‘› đ?‘? = ⎢ ⎼. ⎢đ?‘› ⎼ âŽŁâˆ’đ?‘‘ ⎌

(43)

In the current version, the Jacobian matrix was computed numerically.

6. Experiments and Results To experimentally evaluate the proposed models of planar features and the constraints related to them, we simulated motion of a camera in an empty room. As demonstrated in [3], such a simple experiment clearly reveals how the behavior of the optimization back-end depends on the parametrization of the uncertainty model of the features. The simulated front-end does not introduce any errors due to wrong feature associations or multiplicated features, thus the results are isolated from the qualitative errors that are unavoidable in a real front-end. In order to make the simulation maximally realistic as to the dynamics of the sensor 8

Fig. 4. An overview of the simulated environment. Normal vectors đ??§ , đ??§ , đ??§ and distance values đ?‘‘ , đ?‘‘ , đ?‘‘ were noised measurement values motion we used an example trajectory from the ICLNUIM Of ice Room Dataset [7] and inserted a virtual loor and two walls that were always observed by the sensor. An overview of the simulated environment is shown in Fig. 4. Normal vectors đ??§ , đ??§ , đ??§ and distance values đ?‘‘ , đ?‘‘ , đ?‘‘ were the common source of information for both parametrizations. All representations were obtained from those values with added Gaussian noise of the standard deviation equal to 0.01. Optimization was done in batch mode. First, all vertices, along with their initial position estimations, and edges were added to the graph and than the optimization process was triggered. In both cases we used Gauss-Newton algorithm with the Preconditioned Conjugate Gradient (PCG) linear solver. The number of iterations was limited to 100, although in all tests the algorithm converged earlier. We tested when a change of the error value đ?‘™ between iterations will drop below 10 đ?‘™. For the SE(3) representation it was after the 26-th iteration and took 0.343 s. In the case of the minimal representation, it happened after the 9th iteration and took 0.257 s. Both results enable realtime operation, but the optimization with the minimal representation converges faster and needs fewer iterations. An initial guess to camera positions was obtained by simulating dead reckoning (e.g. visual odometry, as used in [2]). We calculated differences between consecutive poses in the ground truth trajectory, added noise to every difference and then build an odometry trajectory by stacking noised difference transformations. If đ?‘‡Ěƒ , is a noised transformation from ground truth trajectory pose đ?‘– to pose đ?‘– +1, then the odometry pose đ?‘– + 1 is expressed by: đ?‘‚

= đ?‘‚ đ?‘‡Ěƒ ,

.

(44)

First, we investigated a behavior of the system when the information matrix � for SE(3) representation was set to identity to highlight that using this representation for planes is not obvious. Setting the information matrix to identity is a common practice, but should be done carefully, in particular when the measurements or the state variables span over nonEuclidean manifold spaces [6]. Effects of neglecting


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

Fig. 5. Visualiza on of the SE(3) op miza on results with the informa on matrices set to iden ty

N∘ 3

2016

Fig. 6. Results of the SE(3) and minimal representa on op miza ons with perpendicular planes

Tab. 1. Results of the SE(3) and minimal representa on op miza ons with perpendicular planes measure

SE(3)

minimal

RPE translational [m]

rmse mean median std max

0.034 0.031 0.029 0.014 0.111

0.031 0.028 0.026 0.013 0.107

RPE rotational [∘ ]

rmse mean median std max

1.001 0.923 0.016 0.389 2.859

1.139 1.049 0.018 0.446 2.960

ATE [m]

rmse mean median std max

0.021 0.019 0.019 0.008 0.062

0.017 0.016 0.015 0.007 0.042

the partiality of uncertainty in planar features can be seen in Fig. 5. As expected, when the identity matrices are used, the optimized trajectory is a degenerated version of the ground truth one, because the leastsquares minimization could not be constrained to the proper manifold. The next experiment compared the SE(3) and minimal representations with properly set information matrices for the situation when the plane features were perpendicular each to the other. This “natural� con iguration of walls in a room provides also the best constraints to the simple system under study, as there are similar constraints along each axis of the global coordinate system. Quantitative results are gathered in Tab. 1, while the estimated trajectories are visualized in Fig. 6. We apply the ATE and RPE metrics. ATE compares the distance between the estimated and ground truth trajectories, whereas RPE corresponds to the drift of the trajectory [17]. From the trajectories it is clearly visible that both solutions reconstructed the camera motion with small errors. The numeric results are slightly better for the minimal representation, but the differences are rather irrelevant.

Fig. 7. Results of the SE(3) and minimal representa on op miza ons when walls approach oor inclina on. The đ?œƒ is an angle by which walls were lted Differences emerged with more challenging setups, in which walls were not perpendicular to the loor and each to the other. A dependency between the angle by which the walls were tilted and the errors in trajectory estimation is visible in Fig. 7. When the angle is small and the measurements of the positions of walls impose strong constraints, the error values are similar to the ones obtained in the previous experiment, but when the walls approach the loor inclination and are close to being parallel to the ground plane, the error for estimation with the SE(3) representation grows faster. Note that the ATE metrics plot behaves exactly as the relative positional error plot, which is caused by the fact, that there are no signi icant loop closures in the small simulation environment, hence the trajectory does not change much after the inal optimization. The results with walls tilted by 80∘ are visualized in Fig. 8.

7. Conclusions We proposed two solutions to the problem of representing plane-based features in the g o framework. First solution was based on a standard set of ver9


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

N∘ 3

2016

REFERENCES [1] H. Bay, A. Ess, T. Tuytelaars, and L. Van Gool, “Speeded-Up Robust Features (SURF)”, Comput. Vis. Image Underst., vol. 110, no. 3, 2008, 346–359.

Fig. 8. Visualiza on of the SE(3) and minimal representa on op miza ons results with walls lted by 80∘

tices and edges from the framework and represented planes using SE(3) parametrization with carefully prepared information matrix. Second solution used minimal representation of planes and required an implementation of the vertex and the edge that extended the g o functionality. The implementation is an important contribution as it can be easily used in further development, as well as in other applications. Experiments veri ied that both approaches give reasonable results and can operate in real-time. When overparametrized representation is used, it is important to carefully construct information matrix. The matrix instructs the optimization algorithm which dimensions are relevant and what are relations between coordinate uncertainties. Despite the fact that presented approaches are theoretically equivalent, when conditions are harsh, the more speci ic solution performs better as comes to accuracy and convergence time. The work gives an insight how surplus dimensions affect the optimization process. The difference could be more signi icant if Jacobian matrices were computed analytically in both cases. Although experiments in a synthetic environment, without a real front-end, give no possibility to compare the performance of our approach with other systems, the presented solution provides a good start point for development of a complete SLAM system based on higher-level features. Future work will focus on adding a front-end functionality to the system. We want to develop an algorithm for detecting and isolating planes, matching planes between consecutive frames and recognizing visited places. Considering other types of features in a single framework to build a robust and versatile system is also planned.

10

[2] D. Belter, M. Nowicki, and P. Skrzypczyń ski. “Accurate Map-Based RGB-D SLAM for Mobile Robots”. In: L. P. Reis, A. P. Moreira, P. U. Lima, L. Montano, and V. Muñ oz Martinez, eds., Robot 2015: Second Iberian Robotics Conference, volume 418 of Advances in Intelligent and Soft Computing (AISC), 533–545. Springer International Publishing, 2016. [3] D. Belter, M. Nowicki, and P. Skrzypczyń ski, “Improving accuracy of feature-based RGB-D SLAM by modeling spatial uncertainty of point features”. In: 2016 IEEE International Conference on Robotics and Automation (ICRA), 2016, 1279–1284. [4] J. A. Castellanos, J. M. M. Montiel, J. Neira, and J. D. Tardos, “The SPmap: a probabilistic framework for simultaneous localization and map building”, IEEE Transactions on Robotics and Automation, vol. 15, no. 5, 1999, 948–952. [5] J. Engel, J. Stü ckler, and D. Cremers, “Large-scale direct SLAM with stereo cameras”. In: Intelligent Robots and Systems (IROS), 2015 IEEE/RSJ International Conference on, 2015, 1935–1942. [6] G. Grisetti, R. Kü mmerle, and K. Ni, “Robust optimization of factor graphs by using condensed measurements”. In: 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems, 2012, 581–588. [7] A. Handa, T. Whelan, J. McDonald, and A. J. Davison, “A benchmark for rgb-d visual odometry, 3d reconstruction and slam”. In: 2014 IEEE International Conference on Robotics and Automation (ICRA), 2014, 1524–1531. [8] M. Kaess, “Simultaneous Localization and Mapping with In inite Planes”. In: IEEE Intl. Conf. on Robotics and Automation, ICRA, Seattle, WA, 2015, 4605 – 4611. [9] M. Kaess, A. Ranganathan, and F. Dellaert, “iSAM: Incremental Smoothing and Mapping”, IEEE Transactions on Robotics, vol. 24, no. 6, 2008, 1365–1378. [10] C. Kerl, J. Sturm, and D. Cremers, “Dense visual SLAM for RGB-D cameras”. In: 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems, 2013, 2100–2106.

AUTHOR Jan Wietrzykowski∗ – Poznań University of Technology, Institute of Control and Information Engineering, ul. Piotrowo 3A, 60-965 Poznań , Poland, e-mail: jan.wietrzykowski@cie.put.poznan.pl.

[11] R. Kü mmerle, G. Grisetti, H. Strasdat, K. Konolige, and W. Burgard, “G o: A general framework for graph optimization”. In: Robotics and Automation (ICRA), 2011 IEEE International Conference on, 2011, 3607–3613.

[12] R. Mur-Artal, J. M. M. Montiel, and J. D. Tardó s, “ORB-SLAM: A Versatile and Accurate Monocu-

Corresponding author


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

N∘ 3

2016

lar SLAM System”, IEEE Transactions on Robotics, vol. 31, no. 5, 2015, 1147–1163. [13] R. A. Newcombe, S. Izadi, O. Hilliges, D. Molyneaux, D. Kim, A. J. Davison, P. Kohi, J. Shotton, S. Hodges, and A. Fitzgibbon, “KinectFusion: Real-time dense surface mapping and tracking”. In: Mixed and Augmented Reality (ISMAR), 2011 10th IEEE International Symposium on, 2011, 127–136. [14] M. Nowicki and P. Skrzypczyń ski, “Experimental Veri ication of a Walking Robot Self-Localization System with the Kinect Sensor”, Journal of Automation, Mobile Robotics and Intelligent Systems, vol. 7, no. 4, 2013, 42–52. [15] E. Rublee, V. Rabaud, K. Konolige, and G. Bradski, “ORB: An ef icient alternative to SIFT or SURF”. In: 2011 International Conference on Computer Vision, 2011, 2564–2571. [16] R. F. Salas-Moreno, B. Glocken, P. H. J. Kelly, and A. J. Davison, “Dense planar SLAM”. In: Mixed and Augmented Reality (ISMAR), 2014 IEEE International Symposium on, 2014, 157–164. [17] J. Sturm, N. Engelhard, F. Endres, W. Burgard, and D. Cremers, “A Benchmark for the Evaluation of RGB-D SLAM Systems”. In: Proc. of the International Conference on Intelligent Robot Systems (IROS), 2012. [18] Y. Taguchi, Y. D. Jian, S. Ramalingam, and C. Feng, “Point-plane SLAM for hand-held 3D sensors”. In: Robotics and Automation (ICRA), 2013 IEEE International Conference on, 2013, 5182–5189. [19] J. Weingarten and R. Siegwart, “3D SLAM using planar segments”. In: 2006 IEEE/RSJ International Conference on Intelligent Robots and Systems, 2006, 3062–3067.

11


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

N° 3

2016

Kinematic Control of a Mobile Robot Performing Manufacturing Tasks on Non-Planar Surfaces Submitted: 11th May 2016; accepted: 19th July 2016

Joshua Qualls, Stephen Canfield, Alexander Shibakov DOI: 10.14313/JAMRIS_3-2016/19 Abstract: Mobile robotic systems are becoming viable technologies for automating manufacturing processes in fields that traditionally have seen little automation. Such fields include pipeline construction, green energy development, infrastructure and shipbuilding. To operate in these environments, the mobile robotic platform must provide controlled motion of a manufacturing toolset over the surface of a structure which is generally non-planar. One such example is welding a seam along a non-flat ship hull where the surface may consist of sections resembling common geometric shapes such as cylinders or spheres and the tool must follow a path defined by the weld seam. This paper will present a kinematic control approach applicable to one mobile robot topology performing a task on a cylindrical surface. This method is readily generalized to other robot topologies or surface geometries. The method is based on a kinematic model that predicts the robot motion and configuration joint parameters while on a nonplanar surface with the desired motion prescribed in local tool space. The effort is motivated by a practical application of welding on steel hulls or other surfaces and the results will be compared with these empirical experiences. A discussion of how these results can be used to guide future design of mobile robot platforms for manufacturing is provided. Keywords: kinematic, control, mobile robot, manufacture, non-planar surface

1. Introduction

12

The development of mobile robot systems is growing at a rapid pace. These systems are being investigated in arenas including surveillance, agriculture, medical and manufacturing to name a few. In manufacturing, mobile robots may provide an avenue to bring increased automation to unstructured manufacturing environments in which the manufactured device is large and/or must be constructed on-site rather than in a factory. Examples of unstructured manufacturing environments include erecting civil structures, constructing energy producing facilities, tanks, pipelines, or shipbuilding. Early research on mobile robot manufacturing applications has shown promise in automating tasks such as welding and inspection, [1, 2]. These applications require the ability

to follow a path while performing the automated task at hand. Task planning and control rely on a suitable kinematic and/or dynamic model of the mobile system. It has been demonstrated the kinematics of vehicles is dependent on the terrain and as such must be considered in the modeling process [3–5]. These studies generally consider surface material properties rather than the geometric properties which may directly impact friction and potential slipping. In manufacturing, the surfaces are generally metal which tend to be more isotropic than ground terrain. However, geometric properties are important if the manufacturing shapes are non-planar. The vast majority of kinematic models demonstrated in the literature assume the robot system is operating on planar surfaces [6–9]. In practice, the mobile robot often operates on a manufactured surface generally consisting of non-planar surfaces. Most kinematic control models assume the surface is locally planar. To a much smaller extent, kinematic models for mobile robots have been developed that can account for nonplanar geometric surfaces [10–17]. Of these papers, the most common technical approach to building the model is to generate a state-specific representation of the interaction between the wheel contact and the ground, [9], or to employ a more general relationship describing the kinematic behavior of contact between the wheel and surface, while retaining the classic kinematic assumptions of no relative motion along a common normal, [11]. Several papers build on generalized contact equations proposed and developed by Montana, [18], resulting in a set of five ordinary differential equations describing the propagation of the contact point between two general surfaces. This approach has been applied to mobile robot modeling by several authors including [12–14], where the most common application of these models is to evaluate specific mobile robot topologies that can eliminate or reduce wheel slipping when traveling over nonplanar terrain, [15–17]. While little work has been conducted on applications regarding manufacturing-specific tasks, these tasks pose an impact on the model development. The geometric properties of the surfaces are known a-priori and in many cases consist of simple Boolean shapes. Manufacturing tasks require the robot to coordinate a tool function while following a prescribed path, with coordinates specified in tool space, and place specific tolerances on the tool motion. Finally, the manufacturing task is known ahead of time and can be simulated. This allows an evaluation of the planar assumption and determines


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

the range of manufacturing operations suitable for a more simplistic planar-based kinematic model as opposed to a detailed, non-planar model.

2. Approach

A kinematic model of the robot system suitable for non-planar surfaces is constructed in this section. This model is developed in the context of a mobile manufacturing robot capable of climbing metal surfaces in order to conduct common tasks associated with manufacturing, [1]. Such a model implies that the robot is primarily traveling at lower velocities associated with tasks such as welding, machining, or cutting. It also implies that the surface features can be assumed more isotropic (material properties) or known a priori (geometrical properties). In manufacturing or inspection operations, the task is generally defined as a specified path or trajectory along which a tool must travel while conducting welding, cutting or similar type functions. As an example, consider the robot in Figure 1 in which the mobile robot is simultaneously cleaning and inspecting the wall of a tank for pitting, corrosion, or cracks. This scenario is representative of a broad variety of manufacturing tasks that could be performed by mobile robots. The robot in this example is operating on a surface which is predominantly cylindrical in shape; with many manufacturing surfaces consisting of a relatively small number of uniform geometric shapes. Therefore, path following along simplistic geometric surfaces will serve as the representative scenario for this paper. The improved kinematic model of the robot system can be used in several ways, such as a tool for design and development of these robots, to serve as a tool in planning, manufacturing and maintenance tasks, or to aid in navigation during operation. This model will provide a better predictor of robot kinematic motion on a non-planar surface and will be demonstrated for a cylindrical climbing surface; although the method can be applied to any other surface by defining the surface curvature, metric and torsion. In the traditional mobile robot model for a differential drive system, a set of differential equations are given in the robot kinematics that describe propagation of the robot platform frame position and orientation in time as,

N° 3

2016

,

(3)

with and representing the velocity of the contact point as 2d vectors residing in the plane tangent to the wheel and surface respectively, rW the wheel radius and, di the vector from the robot frame to the contact point and subscripts W and S identify the contact point for the wheel or surface respectively. Further, the subscript i will be used throughout this paper to identify the wheel for which the equations are written; for example the left wheel, right wheel or castor wheel (i = L, R ,C). The contact point velocities and are described in the wheel and surface frames respectively with projections from the robot frame to wheel and surface frame. These equations can be integrated in time to track the robot location. Furthermore, when considering robot motion on a planar surface, any set of frames depending on the configuration coordinates could remain constant since the location of the contact point between the wheels and the surface is assumed to be constant relative to the robot. When considering motion on non-planar surfaces, the Jacobian, J, becomes a function of q, containing the traditional configuration coordinates plus a series of geometry dependent variables that describe the configuration of the robot chassis relative to the surface through each of the wheels (see for example Figure 2). The contact velocities are functions of surface conditions and the q update must be consistent with the surface geometry. It should be noted that one of the complicating factors in the non-planar case is that it is non-obvious to define a consistent and desired velocity state. For the planar case, this is straightforward; define or use the no-slip condition to define the robot frame velocity through and . In the non-planar case, the robot frame velocity must be defined consistent with kinematic and geometric conditions. A method to address these issues consists of the following steps. Starting from a known location,

(1)

where describes the planar motion of the robot in the local robot frame given, the vector of inputs for the differential drive system (input wheel rotations) and J the system Jacobian, which is independent of robot configuration parameters, . The model in Equation 1 is generally developed by assuming pure roll and no slip which can be used to describe the motion of the contact points between the ground and wheel surfaces as, (2)

Fig. 1. Mobile Robot Performing Surface Inspection Articles

13


Journal of Automation, Mobile Robotics & Intelligent Systems

an instantaneous kinematic model of the robot is constructed assuming a temporary state of no slip. This is used to find the relative velocities between the wheels and climbing surface for a consistent set of input velocities. Next, a set of first order differential equations, called contact equations, are employed to define the velocity of the contact points in the wheel and surface frames based on these relative velocities. The contact equations are integrated in time to update the location of the robot on the climbing surface. Finally, the robot configuration parameters are updated in time by satisfying the robot kinematic constraints and new wheel locations.

2.1. Mobile Robot Kinematics

In the remainder of this paper an upright circular cylinder will serve as the reference climbing surface while the robot architecture will be based on a differential steer system with three wheels; left, right, and caster. The left and right wheels are driven by independent motors and the caster having a passive revolute joint. The robot under consideration is capable of climbing on ferrous surfaces as discussed in [1]. In addition, the robot will contain one passive suspension revolute joint aligned centrally in the longitudinal direction of the robot. A schematic of this robot is shown in Figure 2. An instantaneous model of the robot is constructed with the robot represented as three in-parallel serial chains called wheel chains, connecting the robot chassis to the surface. The contact point for each wheel is modeled as a spherical connection with ground (providing an instantaneous pure roll no slip condition) and the wheel axle modeled as a revolute. The suspension member is part of the left wheel chain and modeled as another revolute in this chain. Similarly, the passive caster joint found in the caster wheel chain is also modeled as a revolute. This treats the robot as an instantaneous holonomic in-parallel system with two 5 degree of freedom (dof) chains for the left and caster wheel and a 4 dof chain for the right wheel.

VOLUME 10,

Articles

2016

A series of frames are then defined to represent the path from the cylinder inertial frame, {I}, through each wheel contact point to the local robot frame, {r}, for each of the three wheels labeled L, R and C as shown in Figures 2 and 3 with each wheel defined through the use of the subscript i. For each wheel, the first two frames of the wheel chain are located at the contact point, one defined on the climbing surface {Si} and one defined on the robot wheel {Wi}. Frames {Si} and {Wi} are defined in a manner allowing the z axis to reside along the outward normal to the surface and wheel following the method in [13], as shown in Figure 3. Next, a set of frames, from {0i} to {4i} for the left and caster wheel (i=L, C) and from {0i} to {3i} for the right wheel (i=R) are constructed to define the kinematics of each wheel chain. The first three frames {0i} to {2i} model the contact point instantaneously as a spherical joint assuming no slip, the next frame {3i} defines rotation of the wheel about its axis, and remaining frames define caster rotation {4i}, i=C, and one degree of freedom suspension {4i}, i=L. Finally, a common frame for the robot, {r} is located on the chassis as shown in Figure 3. The frames are based on Denavit and Hartenberg notation, [19], and are shown in Figure 2 (note an extra fixed rotation is required to bring frame {4} for the left wheel in alignment with frame {r} of the robot chassis). The configuration parameters for each chain are identified as , for the left and caster wheel chains, and for the right wheel chain with as rotations around the z axis using the notation defined in [19]. This provides two degrees of freedom needed to traverse the non-planar surface. Frame {Si} describes the climbing surface at the point of contact of wheel i and is located relative to {I} through the transformation,

Fig. 2. Differential Steer System Platform and Kinematic Frame Assignments 14

N° 3

(4)


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

N° 3

2016

Fig. 3. Cylindrical surface and contact frames where zi and fi represent translation and rotation about the z axis of the inertial frame {I}, rc is the radius of the cylinder, and subscript i refers to the three wheels, left, right or caster. Frame {Wi} describes the wheel surface at the point of contact of each wheel located relative to {Si} through a rotation of ψ about the z axis of {Si}:

(5)

Note that in comparison with reference [18], frames {Si} and {Wi} here are defined as outward normal frames to the surface and wheel bodies. Frame {0i} is defined as a fixed rotation relative to {Wi} to represent the first joint in the wheel branch having an axis parallel to the wheel axis and intersecting the contact point: (6) Thus the transformation of each wheel to the inertial frame is given as: (7) Note that this transformation is a function of the three parameters, zi, fi, and yi. A set of differential equations are constructed to propagate the position and orientation of the contact frames forward in time in the following manner. The instantaneous kinematics are used to describe the velocity state of the entire system; this yields the instantaneous velocity of frame {Wi} with respect to {Si}, for i = L, R, C. The method presented by Montana, [18], is used to develop a set of differential equations which are used to describe the motion of frames {Wi} and {Si}. The parameters, zi, fi and, yi are then described as a function of time

and can be integrated. Finally, the robot configuration is updated in time as the wheel contacts move along the surface. This update is based on satisfying the constraints contained in the instantaneous kinematic model. Finally, a strategy to implement this with a kinematic control scheme is presented. Returning to the robot kinematics, the length and width of the robot is denoted as l and 2b respectively and are shown in Figure 2. The wheels are assumed toroid in shape (but other shapes could be selected) with outer radius ro and inner radius, , with caster offset, c, for the steering wheel. A set of three homogenous transformations, one associated with each wheel chain, and three Jacobian matrices are used to relate the velocity of the robot chassis {r} to the configuration state velocity for each wheel branch as: (8)

where is the vector of joint parameters for wheel branch i=L, R, C with containing for i =L, C, and containing for i = R, and (9) with , the adjoint transformations that project velocity in {0R} and {0C} into velocity in {0L}. The velocity vr must lie in the column space of JL, and as shown in Equation 8. A singular value decomposition is performed on each of these matrices yielding , and where the columns of U are the left singular vectors of the corresponding Jacobian. Each U matrix is further partitioned as  , and where correspond to the zero singular values in each decomposition, representing the left null space of JL, and , and are of size 6×1, 6×2 and 6×1 respectively. This leads to a total of four constraints derived from Equation 8 as, Articles

15


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

(10)

Two components of vr are defined as the allowable two dof inputs of the robot (these must be consistent with the four constraints) to then solve for vr from the four constraint equations. This allows configuration velocities , i = L, R, C to be solved making use of the Moore-Penrose inverse function as, . (11)

These equations assume wheel contact locations (defined as the coordinates zi and fi, i=L, R, C, Equation 4) and wheel headings (yi, i=L, R, C, Equation 5) are fixed instantaneously and propagated forward in time according to a set of differential equations governing the contact as defined below. The joint parameters in the robot (qi) are found by satisfying the kinematic model shown in Figure 2 for a given set of contact points.

2.2 Contact Equations

The wheel contact locations are propagated forward in time using the method presented in [18]. This gives a set of differential equations that describe the motion of contact between the robot wheels and climbing surface. The surfaces are characterized through the function f with tangent directions, fu(U) and fv(U) the outward normal direction, g(f(U)) at location U and the metric M, curvature K and torsion T measures can be similarly found at each location U=[u, v]T for both the wheel and the surface, [18]: (12)

(13) Where

(14)

, and The contact equations are given for the contact point motion on the wheel, , and the motion of the contact point on the climbing surface, as

(15)

(16)

(17)

where is the rotation between the wheel and surface frames about the common normal, is the orientation of the wheel frame projected on the surface frame as given in Equation 5, is the curvature of surface relative to the wheel at the point of contact given as,

(18)

16

Articles

N° 3

2016

And relative

the rotational velocities and due to the no-slip wheel assumptions and q(i) is the ith component of vector q. It must be noted that the subscript i has been removed in the preceding equations, however each operation is performed for each of the three wheels. Equations 15–17 represent five equations each for the three wheels, i=L, R, C or 15 equations in total to solve for the contact point velocities along the wheel and climbing surface. The parameters define the contact parameters from Equation 4 as: and

(19)

(20)

where subscript i is removed such that Equations. 12–20 apply to all three wheels.

2.3. Update and Recursion

The kinematic constraints are a function of the robot configuration as seen in Equation 10. These configuration parameters must be updated with the surface geometry as the robot navigates along the climbing surface. This procedure begins by updating the contact point between the wheel and the surface. This is performed for each wheel and is updated based on the integration of Equations 19 and 20 and assumed coincident with . The locations of these contact points on the cylindrical climbing surface are described in the inertial frame as, (21)

Two defined inputs, qL(4) and qR(4), are calculated from integrating appropriate terms in Equation 11, with the remaining 12 configuration parameters in qL, qR, and qc determined as the set satisfying the equality of the homogenous transformations. These transformations are used to define the position and orientation of frame {r} onto the inertial frame {I} for each of the three wheel branches, (22)

It is important to note that several solutions should be available in each branch, however the desired solution is closest to the original configuration and is expected to remain in a relatively nearby region. This process is solved numerically using the MATLAB FSOLVE function which requires an initial guess (previous position).

2.4. Kinematic Control

Based on the model given, a control strategy is demonstrated based on an incremental control about a reference trajectory, [20]. Here, the goal is to drive the robot to travel along a specified reference trajectory defined by tracking an idealized, virtual robot that


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

N° 3

2016

returns a desired reference position at each update cycle, both described in the inertial frame. The current error in position is first determined in Cartesian coordinates:

contact points to the robot frame origin. The time step is advanced and the function is implemented at each updated time step with the process repeating using current velocity inputs. This approach is used in the validation and application sections below.

(24)

The model is validated first through a comparison with a simplified analytical solution and then through tests using a lab-based prototype robot. The analytical comparison proceeds first by evaluating a reduced system permitting closed-form solutions to the path of the contact point along the climbing surface. The reduced system assumes that the robot is performing a circular move with one wheel, spherical instead of toroidal, fixed and the other rotating such that the moving wheel is pivoting about a fixed point, yielding the following set of differential Equations:

(23)

and then cast into a coordinate frame that defines the error in terms of distance (ρ), direction to reference position (α), and direction to reference orientation (β).

(25)

(26) (27)

A linear control scheme is now defined in the robot local frame as, (28) (29)

which form the two velocity inputs for vr. As given in Siegwart and Nourbakhsh [20], stability of this linearized control system is shown to exist when

4. Model Validation

(31)

and

(32)

(33)

3. Implementation

The model demonstrated above is implemented in MATLAB for simulation and design purposes as described in this section. This initial value problem is solved via numerical integration using MATLAB’s ODE 45 solver. The desired path is defined in one of two methods; open loop, specifying desired robot velocity, or closed loop, specifying a desired reference trajectory. The geometric parameters for the climbing surface and robot wheels are first defined through MS, KS, TS, and MW, KW, TW. Second, the initial conditions are then defined for the robot through the initial wheel contact locations, , i=L, R, and C, and wheel branch configuration vectors qL, qR, qC. The robot frame velocity (vr) inputs are specified through vx and wz, with remaining terms solved through Equation 10. The configuration parameter velocities are solved using Equation 11. The necessary information to solve for the contact point velocities is now available and solved using Equations 15–17. The new contact points are updated and used to solve for the new configuration state using the MATLAB FSOLVE function. This Function solves for a set of parameters minimizing the objective F defined as (30)

with f   for matrix elements (i, j) = (1,4), (2,4), (3,4), (1,3), (2,3), (3,1). This function represents equality between three homogenous transformations that connect the wheel

Fig. 4. Comparing Model over: (A) Large Radius Cylinder and (B) Smaller Radius Cylinder Articles

17


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

N° 3

2016

Fig. 5. Prototype Climbing Robot Navigating Cylindrical Tank

Fig. 6. Comparison of Model and Prototype Test

where , is the length from the pivot point to the center of the spherical wheel; with rw the wheel radius, rc the surface cylinder radius, and b is half the width of the robot as seen from Figure 2 above. The model above is simulated to execute a path in which the contact point of one wheel is held fixed while the other travels around it and the results are compared with those from the reduced system model. This is shown for a robot of dimensions of rw  = 0.05 m, b = 0.10 m and over two cylinder sizes, rc = 1e5 m (nearly planar, Figure 4a) and rc = 200 m (Figure 4b).

The comparisons between the two models indicate generally good correlation with the analytical results with a maximum square error of 1.8e-3 m for the case shown in Figure 4b. Discrepancies between the model and the reduced solution are in part caused by the assumed spherical wheel on the reduced system. The proposed model is now validated with experimentally-derived data to evaluate its validity. To perform the experimental tests, a differential-steer mobile robot climbing system is constructed for operating on non-planar surfaces. The robot chassis

Fig. 7. Evaluating Four Maneuvers on Cylindrical Surface; A) Vertical Path B) Horizontal Path C) Spiral Path D) Circular Path 18

Articles


Journal of Automation, Mobile Robotics & Intelligent Systems

was 3D printed and contains two magnetic wheels and a passive caster wheel providing stability for the platform. The two magnetic wheels are mechanically coupled to ensure known, equal inputs of the left and right drive wheels. The prototype test robot is shown in Figure 5 and has kinematic parameters as follows: 2b = 0.1016 m, l = 0.04445 m, = 0.0254 m. The climbing surface is a cylindrical tank with rc = 0.381 m and uniform surface properties leading to consistent friction characteristics. The prototype of this system was developed so that straight line motion along a nonplanar, (cylindrical), surface could be determined and compared to model results. The motion of the climbing robot is monitored using an OptiTrack motion capture system consisting of eighteen cameras oriented so that the entire testing workspace, (robot and climbing surface), is visually monitored. The motion capture system can achieve a sub millimeter accuracy based on the calibration of the system. This ensures measurements are accurate while testing on nonplanar surfaces. The ground plane is located with the Z axis aligned with the center of the cylindrical climbing surface and the X and Y plane lying at one end of the cylinder. The climbing robot carries reflective markers so that its position and orientation are measured as it traverses the cylindrical climbing surface for comparison with the proposed model. The robot travels over a portion of the cylinder with equal left/ right wheel velocities (enforced through a mechanical connection) and the results are shown in Figure 6 which presents and compares three paths as trajectories mapped onto the unwrapped cylinder surface. The black path represents the straight line travel that would be expected if using a planar model (assumes non-planar effects are small) while the red line shows the path obtained from the measured experimental data. The blue line represents the predicted results generated from the model using known robot and surface parameters. Figure 6 clearly shows that the planar assumption is not valid for this example and shows a strong correlation between the model and experimental data. It should be noted that the cylindrical surface had some feature defects (pitting, which was not considered in the model) and this caused the discontinuities in the experimental data. The results of this experimental comparison indicate the model is a useful predictive tool in the estimation of robot trajectory on cylindrical climbing surfaces.

VOLUME 10,

N° 3

2016

Case 1: Robot Maneuvers on a Cylindrical Climbing Surface The first case considers four different maneuvers of the robot on a single cylinder shown in Figure 7 a-d. Each maneuver is defined as set of constant, openloop kinematic commands defined in the robot frame. With ratio of the surface curvature to half the width of the robot, (rc/b), of 20. Figure 7 displays the paths of the Left, Right and Caster Wheel contact locations on the cylindrical climbing surface. The first maneuver, Figure 7a, directs the robot to operate vertically along the cylinder with the second maneuver directed horizontal (around the circumference of the cylinder, Figure 7b). Next, the robot performs maneuvers while oriented 45Âş from the surface, Figure 7c. The final maneuver yields a circular path by operating at a constant and nonzero linear and angular velocity, Figure 7d.

Case 2: Robot Maneuvers on Cylinders of Varying Radius The second case demonstrates the potential effects of the non-planar surface on the robot path. This is considered by observing a generally circular path performed on varying cylinder sizes. The size of the cylindrical climbing surfaces ranges from essentially planar (large radius) to small (radius approaching robot width). This is performed by varying the scale between the cylinder radius (rc) and the width of the robot (2b). The velocity inputs are selected for this maneuver providing a contractible closed-path as shown in Figures 7d and 8. Figure 8 displays theses maneuver performed on cylinders of radius varying from rc = 2e5 m, 2e2 m, and 0.5e2 m. The results are presented as a planar sheet produced by unwrapping the cylinder surface which displays as the cylinder radius decreases, the paths remain closed but becomes increasingly oblong.

Case 3: Robot Maneuvers Using Kinematic Control The third case considers kinematic control for three maneuvers considered common in manufacturing environments. A ratio, surface curvature to half the width of the robot (rc/b), of 20 was utilized for testing this method of control. These tasks are rep-

5. Application

Using the model defined above, a series of robot maneuvers are considered on the cylindrical climbing surface. The first case considers four maneuvers that represent paths common for welding or inspection tasks. The second case demonstrates potential effects on a simulated path due to a change in the scale between the cylinder radius (rc) and robot size (b). The final case demonstrates use of kinematic control to follow a predefined path. In all cases, the application results are demonstrated as paths traced by the contact point (of one or more robot wheels) on the climbing surface.

Fig. 8. Robot Paths for a Circular motion over Cylinders of Varying Radii Articles

19


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

N° 3

2016

Fig. 9. Demonstrating Closed loop control over. A) Triangular Path, B) Square Path, C) Diamond Path resentative of welding along an uneven surface and generally result in a path resembling a triangular, diamond or square. The paths generated in this section are guided by means of a kinematic controller to navigate along a specified path. The results are shown in Figures 9a–c, representing each wheel path and demonstrating the model is able to generally follow the desired path. The model results in closed-paths indicating its robustness and suitability to the chosen numerical integrator.

6. Discussion and Conclusion

20

The method discussed in this paper is used to evaluate mobile robot trajectory when moving over an uneven surface. Geometric representations of the contact point between two surfaces yield a set of ordinary differential equations and when combined with kinematic constraints these equations are solved in an iterative manner to describe the robot motion. The method is applied to a cylindrical climbing surface and a platform modeled as a three-wheeled differential-steer robot with toroid-type wheels. The objective of this work is to provide the groundwork for kinematic path planning of mobile robots that traverse known surfaces in order to perform manufacturing tasks such as inspection and welding. The method constructed satisfies the no-slip constraints, (vx = vy = 0), which are assumed to be zero for this particular robot model. A set of kinematic constraints are developed using Equation 8 and are used to solve for the velocity of the robotic platform, (vr). Once the robot velocity is determined the joint velocities are then determined using Equation 8. The no-slip assumption combined with the joint velocities allow the implementation of Equations 15–17, [18], allowing for updated contact points on the climbing and wheel surfaces. Equations 15–17 also provide an updated orientation of the wheel frames relative to the surface frame. The model formulation satisfies similar constraints as seen in, [14]; however the current model prescribes the velocity vector at the geometric center of the robot, in the robot frame, with the kinematic constraints stated in terms of this velocity. The model was validated through numeric as well as experimental testing. The numerical evaluation is performed using a simplified analytical representation of the model expressed using Equations 31–33. The results of this comparison (Figure 4 a–b) show the model consistently represents a purely Articles

circular path for larger radius climbing surface and paths that are oblong in nature for smaller radius cylinders. The model was additionally validated through empirical testing with a differential steer robot climbing on a small cylindrical tank. The empirical tests and corresponding model applications clearly show the significance of curvature on robot kinematic position estimates as the cylinder radius is reduced relative to the size of the robot. When considering a non-dimensionalized ratio of the surface curvature to half the width of the robot, (rc/b), operational conditions in which the curvature to robot ratio is 15 or less show noticeable error when relying on the planar assumption. This is observed in application case two in which a robot operating on a smaller radius cylinder (surface curvature to robot ratio of 13.3) demonstrates a noticeable departure in the predicted path when compared with a planar-assumption (surface curvature to robot ratio of >500). This is similarly observed in the empirical example, here where a small robot on a small tank (surface curvature to robot ratio of 7.5) operates with a nominal straight line input where both wheels are driven at an equal constant speed, but travels along a path that is a curved line when viewed on the unwrapped surface of the tank. The non-planar kinematic model can be used to improve robot kinematic estimates for applications in which the surface curvature to robot ratio is at or below a certain threshold. The model can be implemented as part of a kinematic control scheme, as shown in application case three, to track desired trajectories on curved surfaces. This example demonstrates an open-loop implementation of the kinematic control law relying on the non-planar kinematic model for current estimates of the robot position on the cylinder surface. This non-planar kinematic model could also be combined with external sensing capabilities as an improved prediction step to enable improved performance when performing manufacturing tasks on non-planar surfaces.

AUTORS

Joshua Qualls*, Stephen Canfield, Alexander Shibakov – Tennessee Technological University, Cookeville, Tn. USA. *Corresponding author


Journal of Automation, Mobile Robotics & Intelligent Systems

REFERENCES [1]

O’Toole A., Canfield S. L., “Developing a Kinematic Estimation Model for a Climbing Mobile Robotic Welding System”. In: Proc. of the 2010 ASME International Design Engineering Technical Conferences, Montreal Quebec, Canada, 15– 18 Aug. 2010, DETC2010-28878. [2] Canfield S. L., Beard J. W., “Robotic inspection in power plants”, ISA 51st Annual Instrumentation Symposium, 2005. [3] Mandow A., Martínez J. L., Morales J., et al., “Experimental kinematics for wheeled skid-steer mobile robots”. In: IEEE/RSJ International Conference on Intelligent Robots and Systems, IROS 2007. DOI: 10.1109/IROS.2007.4399139. [4] Wong J. Y., Huang W., “Wheels vs. tracks–A fundamental evaluation from the traction perspective”, Journal of Terramechanics, vol. 43, no. 1, 2006, 27–42. [5] Wong J. Y., Chiang C., “A general theory for skid steering of tracked vehicles on firm ground”. In: Proceedings of the Institution of Mechanical Engineers, Part D: Journal of Automobile Engineering, vol. 215, no. 3, 2001, 343–355. [6] Martínez J. L,. Mandow A., Morales J., Pedraz S., Garcia-Cerezo A., “Approximating kinematics for tracked mobile robots”, The International Journal of Robotics Research, vol. 24, no. 10, 2005, 867–878. DOI: 10.1177/0278364905058239. [7] Shiller Z., Hua M., “Trajectory planning of tracked vehicles”. In: Proceedings – 1993 IEEE International Conference on Robotics and Automation. DOI: 10.1109/ROBOT.1993.292242. [8] Kozłowski K., Pazderski D., “Modeling and control of a 4-wheel skid-steering mobile robot”, Int. J. Appl. Math. Comput. Sci., vol. 14, no. 4, 2004, 477–496. [9] Caracciolo L., De Luca L., “Trajectory tracking control of a four-wheel differentially driven mobile robot”. In: Proceedings. 1999 IEEE International Conference on Robotics and Automation, vol. 4. DOI: 10.1109/ROBOT.1999.773994. [10] Song X., Seneviratne L.D., Althoefer K., Song Z., “A robust slip estimation method for skidsteered mobile robots”. In: 10th International Conference on Control, Automation, Robotics and Vision, ICARCV 2008. DOI: 10.1109/ICARCV.2008.4795532. [11] Yu W., Chuy O., Collins E., Hollis P., “Analysis and Experimental Verification for Dynamic Modeling of A Skid-Steered Wheeled Vehicle”, IEEE Proceedings on Robotics, vol. 26, no. 2, April 2010. [12] Sarkar N., Kumar V., “Control of Mechanical Systems With Rolling Constraints Application to Dynamic Control of Mobile Robots”, The International Journal of Robotics Research, vol. 13, no. 1, 1994, 55–69. [13] Sarkar N., Yun X., Kumar V., “Dynamic Control of 3-D Rolling Contacts in Two-Arm Manipulation”, IEEE Transactions on Robotics and Automation, vol. 13, no. 3, 1997, 364–376.

VOLUME 10,

N° 3

2016

[14] Chakraborty N., Ghosal A., “Kinematics of wheeled mobile robots on uneven terrain”, Mechanism and Machine Theory, vol. 39, no. 12, 2004, 1273–1287. DOI: 10.1016/j.mechmachtheory.2004.05.016. [15] Davis P.W., Sreenivasan S.V., Choi B.J., “Kinematics of Two Wheels Joined By A Variable Length Axle on Uneven Terrain”. In: ASME 1997 International Design Engineering Technical Conferences, DETC97/DAC-3857, Sacramento, 14–16 Sept. 1997. [16] Sreenivasan S. V., Nanua P., “Kinematic Geometry of Wheeled Vehicle Systems”. In: 24th ASME Mechanisms Conference, 96-DETC-MECH-1137, Irvine, CA, 1996. [17] Auchter J., Moore C. A., Ghosal A., “A novel kinematic model for rough terrain robots”, Advances in Computational Algorithms and Data Analysis, Springer Netherlands, 2009, 215–234. DOI: 10.1007/978-1-4020-8919-0_16. [18] Montana D.J., “The kinematics of contact and grasp”, Int. J. Rob. Res., vol. 7, no. 3, ,1988, 17–32. [19] Spong M., Vidyasagar M., Robot modeling and control, New York: John Wiley & Sons, 2006. [20] Siegwart, R. and Nourbakhsh, I. Intro to Autonomous Mobile Robots. MIT press, 2004.

Articles

21


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

N° 3

2016

Dynamic Modeling of Planetary Vehicle’s Fall on Soft Soil Submitted: 23th April, 2016; accepted: 26th July 2016

Hassan Shibly DOI: 10.14313/JAMRIS_3-2016/20 Abstract: The objective of future planetary mission is to explore more new zones on Mars planet. This goal may be achieved by using high speed planetary vehicle, (Rover). The motion of planetary vehicles at high speed and on unknown terrain increases the number of possible risks. One risk is a sudden change of ground level in the vehicle path causes a fall down onto a low ground. This paper presents a study and simulation of the dynamic response of a free fall of a quarter vehicle (rover) model with rigid wheel on a soft soil. A simplification of Bekker’s equation is derived and used in the numerical solution of the two coupled dynamic equations of motion. The Dynamic response of the unsprung mass, rigid wheel, shows a three stages; the sinkage stage, the equilibrium stage, and the pulling out stage from soil. The simulation shows that having rigid body mode helps in pulling out the vehicle wheel from the soil. It shows that the first three stages of the first fall are the most significant ones. They have the largest sinkage, largest impulsive force, and largest amplitude of the system dynamic response during interaction of the rigid wheel and the soft soil following the free fall. The existence of a damping reduces the dynamic response magnitude and prevent the unsprung mass from pulling out the wheel from soil after sinkage. Keywords: dynamic modeling, dynamic response, sinkage following free fall, rigid wheel soft soil mechanics

1. Introduction

22

Exploration of more planetary zones requires traveling for a long distance which increases the demand for high speed planetary vehicles, rovers. High speed motion of any vehicle on unknown terrain encounters a fall dawn onto a low ground. Planetary vehicle have metal rigid wheels to sustain the low temperatures on planets. The size of rovers and their wheels are relatively small. In addition planetary vehicles carry on instruments which are impact sensitive. A significant part of Mars planet terrain is a loose soil which is been investigated in this work. A large number of research works were conducted on planetary vehicles traversing loose horizontal terrain for rigid wheels [1–3], for tires [4], and traversing loose sloped terrain [5]. The main focus was to investigate

the traction of planetary vehicles’ wheels at quasi static conditions. All previous studies did not give the necessary attention to the dynamic response of the interaction lightweight vehicles – loose terrain. The fall of a rigid wheel on a soft soil has different mechanics than a common fall of rubber wheel on a hard ground. This case motivates the study of the mechanics during interaction rigid wheel and soft soil following rover free fall. This contribute to more understanding of the dynamic response of a rover following a free fall on a soft soil as is on Mars planet. The gained knowledge of the mechanics of the wheelsoil interaction enhances the design of future planetary vehicles. Many studies and experiments were done to determine the mechanics of the interaction between a rigid wheel and soft soil for off road vehicles. Bekker [6] derived the analytical relationship of the normal stress σ exerted on a point on the rim of a wheel as function of the point sinkage z for sandy soil as: And for the shear stress τ is given by:

(1)

(2)

Where n is the wheel sinkage exponent (soil exponent), K1 [KPa], and K2 [KN/m3] are pressure sinkage moduli, r is wheel radius [m], b is wheel width [m], j shear deformation distance, f is internal friction angle [deg], k is the shear deformation modulus, and co is the soil cohesion. Previous experiments on sand showed that the location of the maximum normal stress is a function of the slip i, where the slip is defined as one minus the ratio of actual traveling speed to the wheel linear speed. The location qm, see Figure 1, of the maximum normal stress on a rim of rigid wheel is given by [7] as (3)

Where c1 and c2 are the coefficients that define the relative location of the maximum normal stress, and θ1 is the angular location of contact beginning, entry angle. During rotation of the wheel each point on the contact surface of the wheel rim and the soil has sinkage z. The sinkage is determined as the difference between the vertical projections of the locations of the considered point and the first contact point. The


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

result is that the sinkage z is a function of the angular location θ and the wheel radius r. The normal stress distribution, Equation (1), can be expressed as a function of the angle θ using the unique relationship between sinkage and angular location of any point on the wheel rim. Substituting this relation into Equation (1) gives the distribution of the normal stress along the contact surface as: (4)

N° 3

2016

The forces that act on the contact surface of a rigid wheel during driving on a soft terrain are determined by integrating; the horizontal component of the stresses to give the horizontal force Fx, the vertical components of the stresses to give the vertical force Fz, and the shear stress on the contact area to give the torque T, as follow: (8)

(9)

(10)

While another approach was taken to determine the shear deformation distance j by considering the path of any point on the wheel rim as cycloid and is function of the slippage [10]. The result is more complicated expression. In this work the shear deformation distance j expression as it is in Equation (6) was adopted.

The nonlinearity of j expression in the shearing stress formula in equations (8)–(10) forced numerical integration in order to determine the forces and torque. In this case there is no closed form for the forces and torque that act on a wheel interacts with soft soil. The absence of closed forms prevent algebraic operation of the wheel equilibrium equations which is needed for on-line wheel-soil interaction prediction in the case of planetary missions. The online soil characteristics prediction requires another approach of force calculation [12]. A previous work on reformulation of the basic mechanics of a rigid driven wheel on a soft terrain was introduced by [Shibly et al., 12, 13]. Recalculating the stress distribution around the rim of a driven rigid wheel that based on the experimental data given in [9] and redrawing of the stress distribution on a Cartesian Coordinates yields pattern very close to a triangle, see Figure 2. In this figure the upper three curves are the normal stress σ distribution, and the lower three curves are the shear stress τ distribution around the rim of driven rigid wheel on soft terrain for different values of soil exponent n. Therefore, the stress distribution can be approximated by triangles. A similar observation was reached by Vincent [11]. Integration of the normal stresses and sheer stresses act on the rim of a rigid wheel which interacts with soft soil is given by:

Fig. 1. Free body diagram of driven rigid wheel on soft soil [12]

Fig. 2. Normal stress σ distribution, and shear stress τ distribution for different values of n [12]

(5)

The normal stress around the wheel rim starts from zero at the free surface, at the starting point of the contact area, increases toward a maximum value, and then decreases back to zero at the end of contact with soil [7 –11]. This stress distribution is divided to two zones, 1 and 2, see Figure 1. The stress indices in the equations are referred to the zone number. Determination of the total shear deformation distance j of a point on the wheel rim that slips in soft soil was introduced by [7, 8] as: (6)

Substitution of this expression into Equation (2) to obtain the shear stress new expression during slippage as:

(7)

Articles

23


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

N° 3

2016

(11)

The power of the exponent in the shear stress formula in equation (7) is nonlinear. Therefore the integration has to be done numerically. The uniqueness in the case under consideration is the accuracy of integration results and not the exact stress distribution around the rim of the wheel. The stress distribution can be approximated by an equivalent triangle, which has the same area and the same maximum stress value and q1 as its base. An equivalent distribution of the stresses, which act on the wheel contact surface with soft soil, was developed. Based on the equivalent stress distribution a new closed form formulation of the rigid wheel- soft soil interaction mechanics was created. A comparison between those formulations was compared with conventional formulations for forces and torque that act on the wheel. The results of the comparison shown graphically were almost matching. An experimental validation of the theoretical results was presented [12].

Fig. 3-a. Free body diagram of rigid wheel on soft soil

2. Stresses and Forces Analysis

The equivalent distribution for the two zones yields a linear stress distribution. The equivalent stress distribution Si of normal stress σ and shear stress τ are triangles with two sides which are defined by:

And

(12)

(13)

24

In this work a study of the dynamic response of a rover fall down into soft soil and its penetration into a soft soil is presented. To simplify the interaction mechanics wheel-soil, and to simulate also the interaction of a round foot of a walking on soft soil a rotation less rover’s wheel case was considered. The shape of the foot in this study is circular and has the same radius as of the rover’s wheel. In this case the normal stress during sinkage is function of the wheel sinkage and has symmetric distribution in both sides of the vertical direction, while the maximum normal stress acts at the lowest point of the wheel as shown in Figure 3a. In this case the equivalent distribution of the normal stresses is approximated as triangle of equal sides where . Substitution of the equivalent stress distribution and integration along the wheel contact area give the normal load as: Articles

Figure 3-b. Equivalent triangle of normal stress distribution

(14)

Substitute Equations (12 & 14) into Equation (11), and integrate to obtain the vertical force as: (15) Plotting the expression within the parenthesis in the last equation for the range 0°< q1< 45° and perform a straight line fitting gives a straight line with slope of 0.98, see Figure 4. As a result the expression is simplified as it is shown in Equation (15). From geometry, see Figure 3, we have:

(16)

(17)

Equate equation (16) and equation (17) to get a simplified relation between the entry angle θ1 and the maximum sinkage zm:


Journal of Automation, Mobile Robotics & Intelligent Systems

Substitute into equation (15) to get:

VOLUME 10,

(18)

(19) The maximum value of normal stress is at θ=0o. Substitute into Eq. (4) to get:

(20)

After simplifications the normal force expression is:

(21)

The last expression of the vertical force Fz shows that the normal force is a function of the sinkage zm during wheel sinkage into the soil. This function is nonlinear and for a specific soil parameters the coefficient of the sinkage kz has constant value and it is defined as:

N° 3

2016

(22)

And the equivalent normal force on the wheel as function of the sinkage becomes:

(23)

A simulation of the normal force Fz as function of the sinkage zm for various values of soil exponent n is shown in Figure 5. To examine the increase in the coefficient value kz as function of the soil exponent the ratio of coefficient for a two values of soil exponent n1 and n2 is found to be: (24)

This ratio is computed for low and large values of soil exponent n1=0.2, n2=1.6, and wheel width of b=0.06[m] gives ratio of 135.5. In a similar way the ratio of the normal force Fz for a two values of soil exponent n1 and n2 is given by:

(25)

And this ratio for a sinkage value of z=b/2 is 0.379. This means that the soil exponent n has a significant effect on the coefficient kz while this effect is been diminished in the formula of the normal force.

2.1. Kinematic Model

Fig. 4. Straight line fitting

Fig. 5. Normal force of soil as function of sinkage for various values of soil exponent n

Our model of the simulation is a four wheels of rover. The rover platform is linked to the wheels by a mechanical structure. The mechanical structure’s properties specify the rover stiffness and damping. In this work a simplified model of one quarter of rover is been considered. The model has two lumped masses. One is the sprung mass ms (one quarter of rover) and it is linked to a second lumped unsprung mass mus, (rigid wheel mass) by a mechanical suspension. The mechanical structure is modeled as a common linear mechanical suspension consists of linear high stiffness ks spring and damper with low damping coefficient cs, see Figure (6). The wheel is considered as a rigid body of radius r.

Figure 6. Dynamic model of quarter vehicle Articles

25


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

2016

Fig. 7-a. The velocities of the sprung mass vs and the wheel vus as function of time for undamped system

Fig. 8-a. The displacements of the sprung mass zs and the wheel zus as function of time for undamped system

Fig. 7-b. The velocities of the sprung mass vs and the wheel vus as function of time for damped system

Fig. 8-b.The displacements of the sprung mass zs and the wheel zus as function of time for damped system

3. Dynamics Analysis The dynamic response of the rover as a result of its free fall on soft soil starts at the instant of the first wheel’s contact with the soil and ends when the wheel is settled down. Any bounce of the wheel leads to a second free fall and so on. Using newton’s second law for the sprung mass and for the wheel to obtain two dynamic equations of motion of the model as: (26)

And in matrix form: Where:

(27)

(28)

Articles

The vehicle (rover) suspension structure has small damping value and we assume that it will not have a significant effect on the natural frequencies of the suspension structure and can be omitted for the purpose of determining the eigenvalues and eigenvectors [9]. As a result the following equation is used to determine eigenvalues and eigenvectors of the model:

(30)

The initial conditions of the dynamic equation of motion of a quarter vehicle model are zero position and velocity equal to the final velocity of the free fall. And the external force is the interaction force between the wheel and the soft soil is the normal force Fz. Solving the last equation to obtain the eigenvalues as:

(31)

And the eigenvectors as: (29)

26

N° 3

Where µ is the reduced mass and

(32) .


Journal of Automation, Mobile Robotics & Intelligent Systems

Fig. 9-a. The normal force as function of time during the two interactions for undamped system

Figure 9-b. The normal force as function of time during the two interactions for damped system The solution gives two eigenvectors (normal mode shapes). The first normal mode shape shows that the two masses move in phase as a rigid body, and the second normal mode shape shows that the two masses move out of phase with amplitude ratio of η. The simulation results for velocity, displacement, and normal force for values of: ms=4[kg], mus=0.4[kg],r=0.12[m], g=3.7[m/sec2], ks=5300[N/m], cs=25[N.sec/m] are shown in Figures 7-a&b, 8-a&b, and 9-a&b, respectively. And in order to see the relative motion between the two masses the displacement graph zs is shifted up by the physical dimension of the two masses (the thinner upper blue curve), see Figure 8-a & b.

5. Results and Discussion

From the simulation results we can conclude that the soil exponent n has a significant effect on the coefficient kz, but this effect is significantly reduced in the magnitude of the normal force especially for the value of n=0.5. While the relative deviation from a straight line graph of the normal force Fz as function of sinkage (The straight line that passes through the origin and the graphs’ intersecting point, see Figure 5) is very large. The graphs intersecting point shows that at

VOLUME 10,

N° 3

2016

a sinkage value equal to the wheel width the normal force has the same value for any soil exponent, which that the effect of the soil exponent n is cancelled. Therefore the soil reaction during sinkage may be considered as a nonlinear spring with constant coefficient of stiffness kz and becomes linear for n=0.5. The interaction between the rigid wheel (unsprung mass) and soft soil has three stages. At each stage the normal force Fz is different. During the first stage the wheel penetrates into the soft soil until it reaches its maximum sinkage at zero velocity, it is between point 1 & point 2 on the graph, see Figure 8-a. At this stage the normal force is been calculated according to the expression in Equation (23). The second stage starts at maximum sinkage and ends at the instant of pulling out leaving the soil, and it is between point 2 & point 3 on Figure 8-a. The wheel velocity at stage two is zero and the normal force is the reaction force to all other forces which act on the wheel. The third stage starts when the sprung mass pulls out the unsprung mass (wheel) and then the wheel losses contact with the soil, it is between point 3 & point 4 on Figure 8-a. During the third stage the normal force is zero and the system starts to vibrate according to its two eigenvectors with an initial conditions equal to the motion parameters at the end of the second stage. It can be noticed that there is a significant effect of the rigid body mode at the start of stage three. This mode is useful in pulling out the wheel from the soil. At the first stage the penetration is linearly increases with time as shown in Figure 8, and the penetration speed into the soil is affected by the normal projection of soil stresses on the wheel’s rim, and the transmitted forces caused by the sprung mass. The transmitted forces act on the wheel toward down in the direction of the wheel’s motion. The first fall makes the soil more compact, as a result the soil parameters are changed. Therefore it is harder to penetrate into the soil and then it harder to pull out compared to the first fall. In case that the wheel does not pull out leads to a continuous vibration of the sprung mass about its final position. Adding damping to the system reduces the vibration of both sprung mass, and unsprung mass (wheel) significantly. Also the maximum value of the force in the second sinkage is much less than the first one. The damper is very essential if the fall occurs on earth as it is expected, but in space it is preferred not to have damper and let the sprung masses vibrates which may help in pulling out the wheel from the soil. The normal force during sinkage and contact with soil exists during very short time and it has a geometric shape resemblance to any impulsive force during collision of two objects. Therefore a future work is to replace the sinkage force with an impulsive force applied to the wheel during contact with a soft soil.

AUTHOR

Hassan Shibly – Central Connecticut State University, New-Britain, CT, 06050, USA. E-mail: hshibly@ccsu.edu Articles

27


Journal of Automation, Mobile Robotics & Intelligent Systems

REFERENCES [1] Ding L., Deng Z., Gao H., Nagatani K., Yoshida K., “Planetary rovers’ wheel-soil interaction mechanics, new challenges and applications for wheeled mobile robots”, Journal of Intelligent Service Robotics, vol. 4, 2011, no. 1, 17–38. DOI: 10.1007/s11370-010-0080-5. [2] Azimi A., Holz D., Kovecses J., Angeles J., Teichmann M., Efficient Dynamics Modeling for Rover Simulation on Soft Terrain, AIAA, 2012, 0804. [3] Irani R. A., Bauer R. J., Warkentin A., “Dynamic Wheel-Soil Model for Lightweight Mobile Robots with Smooth Wheels”, Journal of Intelligent & Robotic Systems, vol. 71, 2013. [4] Taheri S., Sandu C., Taheri S., Pinto E., Gorsich D., “A technical survey on Terramechanics models for tire–terrain interaction used in modeling and simulation of wheeled vehicles”, Journal of Terramechanics, vol. 57, 2015, 1–22. [5] Li Z., Wang Y., “Coordinated Control of Slip Ratio for Wheeled Mobile Robots Climbing Loose Sloped Terrain”, Scientific World Journal, 2014. DOI: 10.1155/2014/396382. [6] Bekker M.G., Theory of Land Locomotion, the Mechanics of Vehicle Mobility, University of Michigan Press Ann Arbor, 1956. [7] Wong J.-Y., Reece A.R., “Prediction of Rigid Wheel Performance of Driven Rigid Wheels, Part I”, Journal of Terramechanics, vol. 4, no. 1, 1967, 81–98. [8] Onafko O., A. R. Reece., “Soil Stresses and Deformation Beneath Rigid Wheels”, Journal of Terramechanics, vol. 4, no. 1, 1967, 59–80. [9] Wong Jo. Y., Theory of Ground Vehicles, JohnWilley & Sons, New-York, 2001. [10] Janosi Z., “An Analyses of Pneumatic Tire Performance on Deformable Soils”. In: Proc. First Int. Con. On Terrain Vehicle Systems, Edizon Minerva Tecnica, Torino, 1961. [11] Vincent E.T., “Pressure distribution on and Flow of Sand Past Rigid Wheel”. In: Proc. First Int. Con. On Terrain Vehicle Systems, Edizon Minerva Tecnica, Torino, 1961, 859–877. [12] Shibly H., Iagnemma K., Dubowsky S., “An equivalent soil mechanics formulation for rigid wheels in deformable terrain, with application to planetary exploration rovers”, Journal of Terramechanics, vol. 42, 2005, 1–13. [13] Iagnemma K., Shibly H., Rzepniewski A., Dubowsky S., “Planning and control algorithms to enhance rover rough terrain mobility”. In: Proceeding of I-SAIRAS: 6th International Symposium on Artificial Intelligence, Robotics, and Automation in Space, USA, June 2001. [14] Clough R.W., Penzien J., Dynamics of Structures, McGraw Hill, 1975.

28

Articles

VOLUME 10,

N° 3

2016


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

N° 3

2016

Contribution of New Parameter Inverses to Robustification of Fractional-Order Perfect Control for LTI MIMO Discrete-Time State-Space Systems Submitted: 28th February 2016; accepted: 26th August 2016

Łukasz Wach, Wojciech P. Hunek DOI: 10.14313/JAMRIS_3-2016/21 Abstract: The paper presents results of application of various right inverses to fractional-order discrete-time perfect control in terms of improving its stability and robustness. For that reason the newly introduced σ-inverse and H-inverse are applied finally to obtain the mentioned above control strategy strictly dedicated to LTI MIMO nonsquare systems described by state-space framework. It is highlighted that parameter σ-inverse and H-inverse with different so called ‘degrees of freedom’ outperform the typical minimum-norm right T-inverse. Moreover, this new approach deals with the same class of problems concerning integer-order systems. The simulation studies performed in Matlab/Simulink environment confirm high potential of proposed here method. Keywords: LTI MIMO fractional-order systems, perfect control, inverses of nonsquare matrices, stability

1. Introduction The issues concerning the stability and robustness of LTI MIMO integer-order discrete-time systems in state-space domain are subject to more and more intensive scientific exploration [2, 4, 5, 9, 10]. The search of various methods to increase robustness of perfect control for such systems is being conducted in particular in order to obtain new classes of right inverses [4, 5]. Until now, the mostly used and widely presented in the literature is minimum-norm right Tinverse [2 , 3, 6, 7, 8]. T-inverse considered, however, as the “minimum-energy” inverse, cannot be used to wide class of cases where the control inputs remain unstable under perfect control law. The powerful tools that can be applied to mentioned class of problems are recently introduced s-inverse and H-inverse with different types of so-called degrees of freedom [2,4,5,9]. It is interesting that the first inverse constitutes an extension of minimum-norm right T-inverse in which degrees of freedom are organized as the separate matrices being both in parameter as well as polynomial form. On the other hand, the second mentioned inverse based on well-known SVD factorization. That approach gives the opportunity to impact on the perfect control strategy by influencing matrices obtained from SVD factorization in form of parameter or polynomial degrees of freedom as well. In the

paper mentioned above tools previously employed to integer-order systems are transferred to fractionalorder perfect control for LTI MIMO discrete-time systems. It is remarkable that the concept of engaging the inverses of parameter matrices to increasing the robustness of discrete-time fractional-order perfect control structures in state-space is a new and original authors’ idea, not presented so far. The paper is, therefore, an attempt to synthesis of discrete-time fractional-order perfect control with regard of its stability and robustness. To obtain that objective, the recently devised fractional-order multivariable discrete-time perfect control algorithm, in particular dedicated to the so-called nonsquare systems, i.e. systems with different numbers of input and output variables, is used [1]. The simulation studies of perfect control involve parameter σ-inverse [4, 9] and parameter H-inverse [5, 11]. The results of research conducted in Matlab/Simulink environment show that utilization of appropriate inverse machinery may determine stability and, as a consequence, minimum phase property of the non-integer systems. The paradigm adapted from integer-order calculus, still need to be proved, which as is worth of scientific effort, become the aim future research. The paper is organized in following manner. In Section 2 the fractional-order system representation is presented. Next section outlines the notion of fractional-order perfect control strictly dedicated to LTI MIMO discrete-time systems defined in statespace framework. The newly introduced nonunique s-inverse and H-inverse are shortly presented in Section 4. An application of touched in previous section parameter right inverses into fractional-order perfect control algorithm is shown in Section 5. Simulation studies in Section 6 indicate the contribution of the new idea to increasing non-integer order perfect control robustness property in terms of stability. Final conclusions are given in the last section of the paper.

2. System Representation

Consider a linear time-invariant (LTI) discrete fractional-order system S(Ad, B, C) with nu-inputs u(k), ny-outputs y(k) and state vector x(k) described by the following equations (1)

where k represents the discrete time, Δα is the Grünwald–Letnikov fractional difference operator of order α (with 0<α<2) in form of

29


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

(2)

whilst

(3)

Note that Ad = A – In, where A is the n×n-state matrix of integer-order system and In denotes the identity n-matrix.

3. Fractional-Order Perfect Control Algorithm

Let us consider discrete-time fractional-order system described by formulas (1–3). After minimizing the performance index (4) where y(k+1) and yref(k+1) are the one-step deterministic output predictor and the output reference/ setpoint, respectively, we obtain the fractional-order perfect control law [1]  .

(5)

In further study we will touch only the case where product of CB is right-invertible. Thus, index ‘#’ in Eqn. (5) is replaced by index ‘R’, which designates any nonunique right inverse (including the unique minimum-norm right inverse also known as T-inverse [2, 3]). Therefore in the next section the crucial nonunique parameter σ-inverse and H-inverse are presented in order to obtain a robust fractional-order perfect control algorithm.

4. Inverses of Nonsquare (Parameter) Matrices

Let start our consideration with definitions of the classical minimum-norm T-inverses (in the backward shift operator domain) being of full rank or non-full rank with dimension ny×nu, respectively.

Definition 1 ([2]). Let the polynomial matrix be of full rank ny (or nu). The (unique) minimum-norm right (or least square left) T-inverse of is defined as (or ).

Definition 2 ([2]). Let the polynomial matrix of non-full normal rank r be skeleton-factorized as , where

30

T-inverse of Articles

. The (unique) Moore-Penrose is defined as ,

where

N° 3

2016

and

.

Remark 1. The system taken into account in our considerations is parameter system and constitutes a special case of polynomial one i.e. for . An extension of mentioned above unique right T-inverse of full normal rank is nonunique right σ-inverse including degrees of freedom. The newest definition of σ-inverse can be find in Ref. [9] in form of Corollary 1. Corollary

1

([9]).

Let

the polynomial be of full normal

rank ny (or nu) and let of full normal rank ny (or nu) be arbitrary order s. Assume additionally that the product is of full normal rank ny (or nu). Then an old form of σ-inverse (see [2], p. 57, Eqn. (5.3)) can be equivalently redefined as .

Remark 2. Naturally, the presented polynomial matrix right σ-inverse reduces to the parameter one (for ) as follows  ,

(6)

with parameter degrees of freedom β. Some issues concerning β having polynomial matrices can be found in Ref. [9].

Remark 3. For cializes to T-inverse.

s-inverse spe-

Remark 4. It is clear now that in Eqn. (6) it should rather be written instead of , as well as B instead of .

Finally, the recently introduced non-unique parameter right H-inverse based on SVD factorization is shown below.

Theorem 1 ([11]). Consider an m×n matrix A being of full rank m under the SVD decomposition A =  , where U and V are unitary matrices and includes eigenvalues of A. Then the right matrix H-inverse of A can be given as , (7) where

whilst

is an arbitrary matrix polynomial in the backward shift operator domain.

Remark 5. As it is in preceding cases, the presented polynomial matrix L(q–1), including degrees of freedom, can be reduced to the parameter one L. Having the needed notion of polynomial inverses and their parameter representations, we are able


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

to proceed with the implementation of T-, σ- and Hinverses into the fractional-order perfect control law as in Eqn. (5), which is a subject of subsequent section.

5. An Application of Parameter Matrix Right Inverses into Fractional-Order Perfect Control Law

Starting to consider the implementation outlined in former section right inverses we have to assume that the product of CB is of full rank. For CB being of non-full rank the perfect control does not exist. Firstly, we take into account the classical minimumnorm T-inverse. It is important to note, that minimumnorm T-inverse stand for a special case of more general one related to s-inverse (see Remark 3). Therefore, regarding Eqn. (5), the fractional-order perfect control formula for LTI MIMO discrete-time systems in statespace can be presented in following form  .

(8)

Secondly, to implement s-inverse, we rewrite the Eqn. (5) according to Corollary 1 with corresponding remarks as follows  , (9)

with parameter matrix β (of ny× nu dimension). Eventually, the SVD-based H-inverse formula defined in Theorem 1 is applied to Eqn. (5). Therefore, we obtain related to H-inverse the fractional-order perfect control law in succeeding form (10)

Remark 6. According to the issues mentioned in Section 3 the product of CB has to be right invertible. For left invertible systems, i.e. systems comprising more output than input variables, the fractional-order perfect-control cannot be established.

Note that used in non-integer order perfect control problems the minimum-norm T-inverse in many cases may make the whole control system unstable. Therefore, in perfect control robustness research study (in terms of stability) there is a need to employ other non-unique inverses, for example said σ-inverse or H-inverse implemented in formulas (9) and (10). In fact, the application of the other right inverses could be connected with the problem of control zeros placement [2, 3] and finally with the issue of selecting the appropriate right inverse degrees of freedom. The problem of stability of multivariable fractionalorder perfect control systems is illustrated in the next section by the complex simulation examples related to parameter σ-inverse and H-inverse.

N° 3

2016

6. Simulation Example Consider an LTI MIMO discrete-time fractionalorder system with three-inputs and two-outputs described by Eqns. (1–3) as follows

(11) ,

and initial state vector

Employing the unique T-inverse to product of CB (β = CB in Eqn. (6)) for α = 0.5, we obtain, not presented here, unstable fractional-order perfect control described by Eqn. (8). Now the drawback of T-inverse due to the lack of possibility of influencing the noninteger order prefect control stability by choosing degrees of freedom can be corrected through the application of said σ-inverse or H-inverse to system (11). This intriguing property of aforementioned inverses is presented below.

6.1. Parameter -inverse

After application of special selected degrees of freedom in form of parameter matrix

we obtain asymptoti-

cally stable non-integer perfect control (see Eqn. (9)) depicted in Fig. 1. It should be noted that degrees of freedom can be chosen by using of some criterion for example minimum-energy gauge, which will be the subject of future research. Asymptotically stable state vector is illustrated in Fig. 2. 50 u1 u2 u3

40

30

20

10

u(k) 0

-10

-20

-30

-40

-50

0

10

20

30

40

k

50

60

70

80

90

100

Fig. 1. Fractional-order perfect control: asymptotically stable u(k) (case: σ-inverse with βstab) Articles

31


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

15

N° 3

2016

30

x1 x2 x3

u1 u2 u3

10

20 5

10

0

x(k)

u(k)

-5

0

-10

-10 -15

-20 -20

0

10

20

30

40

k

50

60

70

80

90

100

Fig. 2. Fractional-order perfect control: asymptotically stable x(k) (case: σ-inverse with βstab)

6.2. Parameter H-inverse Finally, let us introduce our new parameter H-inverse into the fractional-order perfect control. For that reason it is necessary to use Eqn. (10) with degrees of freedom, selected as in previous subsection 6.1, contained in parameter matrix Lstab. Thus, for

and Lstab=[–7.0141 –4.8498] we obtain the asymptotically stable fractional-order perfect control u(k) and asymptotically stable state vector x(k) shown in Figs. 3 and 4, respectively.

-30

0

10

20

30

40

50

60

70

k

80

90

100

110

120

130

140

150

Fig. 3. Fractional-order perfect control: asymptotically stable u(k) (case: H-inverse with Lstab) It is obvious that in all cases, i.e. stable and unstable ones, after time delay k ≥ d = 1, the output remains at the reference/setpoint yref=[1 1]T, which is the main property of MV/prefect control strategies (see Fig. 5).

7. Conclusions

In the paper the application of s-inverse and Hinverse into the problem of fractional-order perfect control for systems comprising different numbers of inputs and output variables has been given. The nonunique inverses have been employed here to design the robust structures of mentioned control strategy, in particular in terms of their stability. It has been shown that σ-inverse and H-inverse are able to stabilize fractional-order perfect control in the cases where the application of the classical minimum-norm right T-inverse lead to the unstable control systems. Simulation examples conducted in Matlab/Simulink environment under the authors’ complex procedure, confirm the significant potential of whole presented

10 x1 x2 x3

8

8 y1 y2

6 7

4 6

2

x(k)

5

0

y(k) 4

-2

-4

3

-6

2

-8

1

-10

0

10

20

30

40

50

60

70

k

80

90

100

110

120

130

140

150

Fig. 4. Fractional-order perfect control: asymptotically stable x(k) (case: H-inverse with Lstab) 32

Articles

0

0

10

20

30

40

k

50

60

70

80

90

100

Fig. 5. Fractional-order perfect control: stable y(k) (case: T-inverse, σ-inverse with βstab and H-inverse with Lstab)


Journal of Automation, Mobile Robotics & Intelligent Systems

in the paper inverse machinery. The future study will be focused on search of the analytical proofs of carried out simulation tasks. AUTHORS

Łukasz Wach* – PhD student, Opole University of Technology, Department of Electrical, Control and Computer Engineering, Poland. Wojciech P. Hunek – associate Professor and head of Group of Control and Decision Systems at the Institute of Control and Computer Engineering, Department of Electrical, Control and Computer Engineering, Opole University of Technology, Poland. *Corresponding author: lukasz.wach@interia.eu

REFERENCES

[1] Wach Ł., Hunek W. P., “Perfect control for fractional-order multivariable discrete-time systems, Theoretical Developments and Applications of Non-Integer Order Systems”. In: Proc. of the 7th Conference on Non-integer Order Calculous and its Applications (RRNR’2015), series: Lecture Notes in Electrical Engineering, vol. 357, Szczecin, Poland, 2015, 233–237. DOI: 10.1007/978-3-319-23039-9_19. [2] Hunek W.P., Towards a General Theory of Control Zeros for LTI MIMO Systems, Opole University of Technology Press, Opole, Poland, 2011. [3] Hunek W.P., Latawiec K.J., “A study on new right/ left inverses of nonsquare polynomial matrices”, International Journal of Applied Mathematics and Computer Science, vol. 21, no. 2, 331–348, 2011. DOI: 10.2478/v10006-011-0025-y. [4] Hunek, W.P., Latawiec K.J., Majewski P., Dzierwa P., “An application of a new matrix inverse in stabilizing state-space perfect control of nonsquare LTI MIMO systems”. In: Proc. of the 19th IEEE International Conference on Methods and Models in Automation and Robotics (MMAR’2014), Międzyzdroje, Poland, IEEE Catalog Number: CFP13MMA-CDR, 451–455. [5] Hunek W. P., “New SVD-based matrix H-inverse vs. minimum-energy perfect control design for state-space LTI MIMO systems”. In: Proc. of the 20th IEEE International Conference on System Theory, Control and Computing (ICSTCC’16), 13th–15th October 2016, Sinaia, Romania, 2016. Accepted for publication. [6] Ben-Israel A., Greville T. N. E., Generalized Inverses, Theory and Applications, New York: Springer-Verlag, 2 ed., 2003. [7] Bańka S., Dworak P., Efficient algorithm for designing multipurpose control systems for invertible and right-invertible MIMO LTI plants. Bulletin of the Polish Academy of Sciences – Technical Sciences, vol. 54, no. 4, 2006, 429–436. [8] Bańka S., Multivariable control systems – A polynomial approach, vol. 11, Szczecin: Szczecin

VOLUME 10,

N° 3

2016

University of Technology Press, 2007. (in Polish) [9] Hunek W. P., “An application of polynomial matrix σ-inverse inminimum-energy state-space perfect control of nonsquare LTI MIMO systems”. In: Proc. of the 20th IEEE International Conference on Methods and Models in Automation and Robotics (MMAR’2015), Międzyzdroje, Poland, 252–255, 2015. [10] Hunek W. P., “An application of new polynomial matrix σ-inverse in minimum-energy design of robust minimum variance control for nonsquare LTI MIMO systems”. In: Proc. of the 8th IFAC Symposium on Robust Control Design (ROCOND’2015), Bratislava, Slovakia, 2015, 149–153. [11] Hunek W. P., “Contribution of new matrix H-inverse to stabilizing the perfect control for LTI MIMO state-space systems”. In: Proc. of the 21st IEEE International Conference on Methods and Models in Automation and Robotics (MMAR’2016), Międzyzdroje, Poland, 2016, 64–69.

Articles

33


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

N° 3

2016

A Novel Design of a Counter-Flow Vortex Tube by Suitable Automation at Hot and Cold Ends Submitted: 14th July 2016; accepted: 23rd August 2016

Dileep Macha, Manimaran Renganathan, Arockia Selvakumar Arockiadoss DOI: 10.14313/JAMRIS_3-2016/22 Abstract: Separating the cold and hot air by using the principles of the vortex tube can be applied to industrial applications such as cooling equipment in CNC machines, heating processes, cooling suits, refrigerators etc. The vortex tube is well-suited for these applications because it is simple with no moving parts, quiet, compact, and does not use refrigerants. This study is devoted to the development and testing of an automated vortex tube that can meet the demands of time variant applications such as spot cooling during welding. This is achieved with the help of a moving blockage cone at hot end and orifice area controller at cold end. The performance of a counter-flow vortex tube is validated by comparing the results obtained from the present work with the literature. Keywords: counter-flow vortex tube, temperature separation, automation, orifice area controller, blockage cone

1. Introduction

34

The vortex tube is a device which separates a high pressure air fed tangentially at inlet into two streams (Fig. 1) at lower and higher temperatures than the inlet air at cold and hot end exits respectively. This is possible with the help of blockage cone at hot end and orifice at cold end. The difference in the total temperature produced due to the swirl flow is first observed by Ranque [1] during the study in a cyclone separator. Later, Hilsch [2] performed experimental and theoretical studies to increase the efficiency of the vortex tube. He also found that angular velocity gradients in radial direction lead to this temperature separation. Several researchers also put forth the statements on temperature separation from their studies. Many articles are reviewed by Eiamsa-ard [3] on the basis of statements or hypotheses on the temperature separation in the counter-flow vortex tube. The design operating conditions and the optimal configurations of the vortex tube are discussed by Yilmaz et al. [4]. Several applications of the vortex tube cited in literature [5] include the dehumidification of gas samples, cooling the electronic control cabinets, refrigeration, polymerase chain reaction thermocycler applications, liquefying the natural gas and air-conditioning in the under-water habitation systems.

Hitesh, Aniket and Ashok [6] reviewed the experimental and numerical (Computational Fluid Dynamics) work carried out by various researchers. Also, review of various optimization studies using techniques such as Artificial Neural Network (ANN), Taguchi method is presented, which have not received due attention previously. The core objective is to give deliberate consideration to quality outcomes of fewer unattended research work on vortex tube. Literature collection by Sudhakar and Mihir [7] lists the Ranque–Hilsch vortex tube experiments using air as the working fluid. The review focuses on the variables of interest and the important experimental results that have been obtained up to now. Another objective is to find curve-fitting equations using data from the literature which can provide a rough estimate of temperatures that are achieved, and which can be used in practice for preliminary vortex tube design. The effects of conical valve angle and length to diameter ratio on the performance of a counter flow Ranque–Hilsch vortex tube are predicted with artificial neural networks (ANNs) [8] by using experimental data. In the model, inlet pressure, conical valve angle, length to diameter ratio and cold mass fraction are used as input parameters while total temperature difference is chosen as the output parameter. The multilayer feed forward model and the Levenberg–Marquardt learning algorithm are used in the network and the hyperbolic tangent function is chosen as a transfer function. It is found that ANN can be successfully used to predict effects of geometrical parameters on the performance of the Ranque–Hilsch vortex tube with a good accuracy. Other literature involves the theoretical and experimental studies based on flow and thermal characteristics and optimizing the geometrical parameters using genetic algorithm, artificial intelligence and fuzzy logic techniques. H. Pourier and W. Park [9] studied the variation of cold end orifice diameter by a valid numerical technique to understand the tem-

Fig. 1. Schematic of a Counter-flow vortex tube


Journal of Automation, Mobile Robotics & Intelligent Systems

perature separation. Earlier studies by B. Upendra et al. [10] and S. Nimbalkar and Michael Mueller [11] also suggest the requirement of optimum cold end orifice diameter in their experimental and computational studies. Genetic algorithm based optimization of the cold end orifice diameter is found using a back propagation neural network technique by H. Pourier et al. [12]. To meet the stringent usage of cold air, automation is required. Automation of counter-flow vortex tube finds important at this place in literature. The design requirements, development, validation and testing of an automated counter-flow vortex tube is further discussed here.

VOLUME 10,

N° 3

2016

minimum apertures are maintained at 12 mm and 5 mm, respectively. The orifice area controller contains blades placed in a socket and assembled with a help of a pin. The overall assembly of the iris mechanism is shown in the Fig. 3. The aperture opening is controlled by changing the angle of the knob.

2. Methodology

The principle involved in the development and testing of automated vortex tube is shown (Fig. 2). A micro-controller controls the mass flow of streams using the blockage cone and orifice area controller at hot and cold ends respectively. Feedback to the microcontroller is measured using the temperature sensors at cold and hot end. After an initial calibration of the automated vortex tube, a computerized feedback program is created for maintaining the desired temperature at the cold end.

Fig. 3. Orifice Area Controller (a) Modeling, (b) Fabrication and (c) Assembly

Fig. 2. Line diagram of experimentation in an automated counter-flow vortex tube

Fig. 4. Blockage Cone – Computer Aided Drawing and Operation

3. Design and Development The design step plays a crucial step to predict the desired temperature after modeling followed by analyses of different parameters. The dimensions of the parts of counter-flow vortex tube are arrived after a series of preliminary experimental studies and consultation with the literature. Vortex tube diameter (inside) is fixed at 19 mm while the length is maintained at 190 mm. The blockage cone angle is decided at 30° to maintain the sensitivity in flow and temperature adjustments. The clearance between the different parts of the vortex tube is maintained within ±0.5 mm. An iris diaphragm is used at cold end to have a variable diameter circular opening at cold end. This regulates the flow rate and thereby the desired temperature (temperature drop by 10°C as compared to inlet) can be maintained. The maximum and

At the hot end, the blockage cone is placed at the centre of the annular flow exiting assembly as shown (cross-section) in Fig. 4. The cone is translated in (fully closed position) and out (fully open position) at the hot end of vortex tube, thereby facilitating the blockage at hot end. A threading arrangement is provided at the back side of the cone where rotational motion from a DC motor is converted into a linear motion.

4. Experimental Facility

The experimental arrangement primarily consists of a compressed (2 bar, absolute) and dry air from a compressor (Fig. 5) and transducers for the measurement of temperature and pressure at inlet and outlets by which the mass-flow rate is calculated. K-type thermocouple and LM35 sensors are used for temperature measurement. Piezo-resistive (strain) type of transducer is suited for the measurement of Articles

35


Journal of Automation, Mobile Robotics & Intelligent Systems

Fig. 5. Laboratory facility for the manual operation mode pressure. Arduino Uno micro-controller interfaces with the personal computer for data acquisition and storage. The DC motor and servo motor receives signal from the micro-controller for controlling the blockage cone position at hot end and orifice diameter at cold end. The output voltages from the sensor are in the range 0-1 volts, acceptable to the micro-controller. A mapping function is employed for the conversion of units after calibration tests. Data acquisition and processing are facilitated with the help of cool mate and Microsoft Excel software packages, respectively. The fully automatic mode of operation of counterflow vortex tube is shown in Fig. 6.

VOLUME 10,

N° 3

The optimum ratio of cold end orifice diameter to vortex tube diameter is found by varying the orifice diameter ([9],[10] and [11]) in a given range. The results from these studies indicate the ratio to be maintained as 0.5. Lower than the optimum ratio leads to secondary circulation as reported by B. Upendra et al. [10]. This degrades the temperature separation effect due to streamwise circulation along the longitudinal direction of the vortex tube. Higher than the optimum ratio increases the short-circuiting of flow from inlet directly to the cold end exit without traversing towards the hot end. The present study employs a range of cold end orifice diameter from 5 mm to 12 mm for a vortex tube diameter of 19 mm leading to the range in ratio from 0.26 to 0.63. The optimum cold end orifice diameter is found as 9 mm from the present study and the ratio is calculated. This is found to be 0.47 and closely approximates with the P. Hassan [9]. This leads to a higher temperature separation between inlet and cold end (DTc). Converse to this situation, the temperature separation between inlet and hot end (DTh) is better when m > 0.5. Due to the higher mass flow of air at hot end (m < 0.5), inner core air transfers the energy to peripheral air stream in a better way as compared to lower mass flow of air at hot end (m > 0.5). However, the peak values for

Fig. 6. Automation by feedback mode at (a) hot end and (b) cold end

5. Results and Discussion

36

Several experiments are carried out as the percentage of flow exiting the cold end varies depending on the blockage cone position at hot end and the diameter of orifice at the cold end. Cold gas fraction (m) denotes the ratio of mass flow of air at cold end to the inlet of vortex tube. The actuators at hot and cold ends are employed as shown in Fig. 6 for the automated case, where the blockage cone position and orifice diameter are varied appropriately and the resulting temperature difference is found. Total temperature differences between inlet and cold end, inlet and hot end are reported in Fig. 7 and Fig. 8, respectively. Due to the lower mass flow of air at cold end (m < 0.5), inner core air transfers the energy to peripheral air stream in a better way as compared to higher mass flow of air at cold end (m > 0.5). Articles

2016

Fig.7. Temperature separation at the cold end

Fig. 8. Temperature separation at hot end


Journal of Automation, Mobile Robotics & Intelligent Systems

temperature separation is observed at m = 0.4 for higher DTc and m = 0.9 for higher DTh. The results from manual and feedback cases are found to be contiguous and consistent with the literature also. The trend as theoretically predicted is also matched with the literature. Hence the compressed air pressure can be increased further to increase DTc. This can effectively replace a liquid coolant in a CNC machining operation. To accommodate the lubricity requirement, an additional sprayer can be installed along with the vortex tube facility. This design promotes the mutual benefit between an industry and the environment.

6. Conclusion

The present study deals with the performance of the vortex tube at lower inlet pressure of 2 bar (abs). The requirement of parts for the conversion from manual to automatic operation of the vortex tube is considered. To accomplish the need for automation, the flow controllers at hot and cold ends are designed and developed. The annular area at hot end is controlled using a blockage cone, whereas the cross-sectional area at cold end is regulated by a orifice area controller built using Iris mechanism. The behavior of the results obtained from the developed system are found to be in conformity with the literature. The system thus developed is considered to fulfil the benefits as a coolant facility in a CNC machine and also meet the requirements for spot cooling applications.

AUTHORS Dileep Macha – Post-Graduate Student, Mechatronics, School of Mechanical and Building Sciences, VIT University Chennai Campus, Chennai, Tamilnadu, India 600127. Manimaran Renganathan* – Thermal and Automotive Research Group, School of Mechanical and Building Sciences, VIT University Chennai Campus, Chennai, Tamilnadu, India 600127. E-mails: manimaran.r@vit.ac.in, manimaran.nr@gmail.com

Arockia Selvakumar Arockiadoss – Mechatronics Research Group, School of Mechanical and Building Sciences, VIT University Chennai Campus, Chennai, Tamilnadu, India 600127.

VOLUME 10,

N° 3

2016

[3]

Eiamsa-ard S., Promvonge P., “Review of Ranque–Hilsch Effects in Vortex Tubes”, Renewable Sustainable Energy Rev., vol. 12, 2008, 1822–1842. DOI: 10.1016/j.rser.2007.03.006. [4] Yilmaz M., Kaya M., Karagoz S., Erdogan S., “A Review on Design Criteria for Vortex Tubes,” Heat Mass Transfer, vol. 45, 2009, 613–632. DOI: 10.1007/s00231-008-0447-8. [5] Xue Y., Arjomandi M., Richard K., “A Critical Review of Temperature Separation in a Vortex Tube,” Exp. Therm. Fluid Sci., vol. 34, 2010, 1367–1374. DOI: 10.1016/j.expthermflusci.2010.06.010. [6] Hitesh R. T., Aniket M., Ashok D. P., “Experimental, computational and optimization studies of temperature separation and flow physics of vortex tube: A review”, Renewable and Sustainable Energy Reviews, vol. 52, 2015, 1043– 1071. DOI:10.1016/j.rser.2015.07.198 [7] Sudhakar S., Mihir S., “Review of Ranque–Hilsch vortex tube experiments using air”, Renewable and Sustainable Energy Reviews, vol. 52, 2015, 172–178. DOI:10.1016/j.rser.2015.07.103 [8] Murat E. K., Levent G., Burak M., “Using artificial neural network for predicting performance of the Ranque–Hilsch vortex tube”, International Journal of Refrigeration, vol. 35, no. 6, 2012, 1690–1696. DOI:10.1016/j.ijrefrig.2012.04.013. [9] Hassan P., Park W.-G., “Numerical investigation on cooling performance of Ranque-Hilsch vortex tube”, Thermal Science, vol.18, no. 4, 2014, 1173– 1189. DOI: 10.2298/TSCI120610052P [10] Upendra B., et al., “Numerical investigations on flow behavior and energy separation in Ranque–Hilsch vortex tube”, International Journal of Heat and Mass Transfer, vol. 51, no. 25, 2008, 6077–6089. DOI: 10.1016/j. ijheatmasstransfer.2008.03.029 [11 Sachin N., Mueller M. R., “An experimental investigation of the optimum geometry for the cold end orifice of a vortex tube”, Applied Thermal Engineering, vol. 29, no. 2, 2009, 509–514. DOI: 10.1016/j.applthermaleng.2008.03.032 [12] Hassan P., et al., “Modeling the cooling performance of vortex tube using a genetic algorithm-based artificial neural network”, Thermal Science, vol. 20, no. 1, 2016, 53–65. DOI: 10.2298/TSCI140126112P.

*Corresponding author

REFERENCES

[1] [2]

Ranque G.J., “Experiments on Expansion in a Vortex With Simultaneous Exhaust of Hot Air and Cold Air”, J. Phys. Radium, vol. 4, no. 7, 1933, 112–114. Hilsch R., “The Use of Expansion of Gases in a Centrifugal Field as Cooling Process”, Rev. Sci. Instrum., vol. 18, no. 2, 1947, 108–113. Articles

37


Journal of Automation, Mobile Robotics & Intelligent Systems

D

P C

-B

VOLUME 10,

C P

A

F F D S

R

N∘ 3

2016

S

Submi ed: 8th August 2016; accepted: 1st September 2016

Krzysztof HryniĂłw, Konrad Andrzej Markowski DOI: 10.14313/JAMRIS_3-2016/23 Abstract: This paper presents in-depth the parallel computer algorithm for the determina on of characteris c polynomial realisa ons of dynamic system. The main dierences between the depicted method and other stateof-the-art solu ons include ďŹ nding not few realisa ons, but a whole set, and the fact that the found realisaons are always minimal among all possible. As digraphsbuilding methods used in the algorithm are NP-complete or NP-hard problems, the algorithm is paralleled and GPGPU (General-Purpose compu ng on Graphics Processor Units) computa on is proposed as the only feasible solu on. The ar cle describes in detail the proposed method, discusses it’s complexity, presents op misa on solu ons and s ll open problems. The working algorithm is illustrated with a numerical example and compared to results of other known methods. Keywords: dynamic system, GPGPU, characteris c polynomial, digraphs, algorithm

1. Introduc on Many problems for dynamic systems (both positive and not) are still not completely solved, for example: the determination of lower and upper bounds of reachability index [8, 11], determination of reachability index set [7,12,34], etc. One of such problems is the realisation problem. In many research studies, we can ind a canonical form of the system [27, 30, 31, 33] i.e. constant matrix form, which satis ies the system described by the transfer function. With the use of this form, we are able to write only one realisation of the system [4, 37, 39], while there exist many possible solutions. This means that we can ind many sets of matrices which it into the system transfer function, but methods other then the canonical forms are required. The digraphs theory was applied to the analysis of dynamical systems was proposed for the irst time in the paper [11] to the analysis of positive twodimensional systems. Since then, there were more instances of using this theory in research on dynamic systems. Earlier in [19] and [20], a solution for inding a set of possible realisations of the characteristic polynomial was proposed, but due to a complicated nature of the problem further experimentation shown that it tended to ind some improper solutions and the practical implementation was slow. In this article, we propose an upgraded and full version of the computer algorithm based on research results achieved during practical testing of earlier algorithms, optimised to 38

be able to achieve results in a limited time. The algorithm inds a set of possible digraphs realisations of characteristic polynomial in spite of such task being a NP-hard problem. To achieve such a solution, parallel computing with the use of GPUs (Graphics Processing Units) is used. 1.1. No on In this paper the following notion will be used. The set đ?‘› Ă— đ?‘š real matrices will be denoted by â„? Ă— and â„? = â„? Ă— . If đ??† = [đ?‘” ] is a matrix, we write đ??† ⊞ 0 (matrix đ??† is called non-negative), if đ?‘” ⊞ 0 for all đ?‘–, đ?‘—; đ??† > 0 (matrix đ??† is called positive), if đ??† ⊞ 0 and any đ?‘” > 0; đ??† ≍ 0 (matrix đ??† is called strictly positive), if đ?‘” > 0 for all đ?‘–, đ?‘—. The set of đ?‘› Ă— đ?‘š real matrices with non-negative entries will be denoted by â„? Ă— and â„? = â„? Ă— . The đ?‘› Ă— đ?‘› identity matrix will be denoted by đ??ˆ . For more information about the matrix theory, an interested reader is referred, for instance, to [3, 16]. 1.2. 2-D Systems Consider the two-dimensional (2D) general model ∑ = (đ??€ , đ??€ , đ??€ , đ?? , đ?? , đ?? , đ??‚, đ??ƒ) [9] described by the equation: đ?‘Ľ

,

=

đ?‘Ś(đ?‘–, đ?‘—) =

đ??€ đ?‘Ľ, +đ??€ đ?‘Ľ, +đ??€ đ?‘Ľ +đ?? đ?‘˘ , + đ?? đ?‘˘ , +đ?? đ?‘˘

,

+ ,

(1)

đ??‚đ?‘Ľ , + đ??ƒđ?‘˘ ,

where đ?‘Ľ , ∈ â„? , đ?‘˘ , ∈ â„? and đ?‘Ś , ∈ â„? is state, input and output vector, respectively at the point (đ?‘–, đ?‘—) and đ??€ ∈ â„? Ă— ; đ?? ∈ â„? Ă— ; đ?‘˜ = 0, 1, 2; đ??‚ ∈ â„? Ă— , đ??ƒâˆˆâ„? Ă— . From (1) for đ?? = đ?? = 0 we obtain the irst Fornasini-Marchesini model [9] and for đ??€ = 0 and đ?? = 0 the second Fornasini-Marchesini model [9]. Ă— of the model The transfer matrix đ??“(đ?‘§ , đ?‘§ ) ∈ â„? (1) is given by: đ??“(đ?‘¤ , đ?‘¤ ) = đ??‚ [đ??ˆ − đ??€ đ?‘¤ đ?‘¤ − đ??€ đ?‘¤ − đ??€ đ?‘¤ ] â‹… [đ?? đ?‘¤ đ?‘¤ + đ?? đ?‘¤ + đ?? đ?‘¤ ] + đ??ƒ.

â‹… (2)

In the paper we can assume without loss of generality that the đ??ƒ = 0, as symbolic form of the transfer matrix will be the same, as in the model matrix đ??ƒ in luences only numeric values of the terms. 1.3. Characteris c Polynomial Let đ?”˝ be a ield e.g., of the real number â„?. The function đ?‘ƒ(đ?‘¤ , đ?‘¤ ) of the variable đ?‘¤ , đ?‘¤ , is called polyno-


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

N∘ 3

2016

mial: đ?‘?(đ?‘¤ , đ?‘¤ ) =

đ?‘Ž

,

� �

(3) Fig. 1. Digraph đ?’&#x; (

in the variables đ?‘¤ , đ?‘¤ , over the ield đ?”˝, where đ?‘Ž , ∈ đ?”˝ are called the coef icients of the polynomial. The set of polynomial (3) over the ield đ?”˝ will be denoted by đ?”˝[đ?‘¤ , đ?‘¤ ]. If đ?‘Ž , ≠0, then the non-negative integer đ?‘› = đ?‘› + đ?‘› is called the degree of a polynomial and is denoted đ?‘‘đ?‘’đ?‘” đ?‘?(đ?‘¤ , đ?‘¤ ), ie., đ?‘› = đ?‘‘đ?‘’đ?‘” đ?‘?(đ?‘¤ , đ?‘¤ ). The polynomial is called monic, if đ?‘Ž , = 1 and zero polynomial, if đ?‘Ž , = 0. For example, for a two-dimensional system the characteristic polynomial consists of two variables: đ?‘§ and đ?‘§ if we have a discrete time system; đ?‘ and đ?‘ if we have a continuous time system; đ?‘§ and đ?‘ if we have a hybrid system. Interested reader may ind de inition and properties of the characteristic polynomial in books on linear algebra, for example in [5, ch. 9]. 1.4. Digraphs A directed graph (called also digraph) đ?’&#x; consists of a non-empty inite set đ?•?(đ?’&#x;) of elements called vertices and a inite set đ?”¸(đ?’&#x;) of ordered pairs of distinct vertices called arcs. We call đ?•?(đ?’&#x;) the vertex set and đ?”¸(đ?’&#x;) the arc set of đ?’&#x;. We will often write đ?’&#x; = (đ?•?, đ?”¸) which means that đ?•? and đ?”¸ are the vertex set and arc set of đ?’&#x;, respectively. The order of đ?’&#x; is the number of vertices in đ?’&#x;. The size of đ?’&#x; is the number of arc in đ?’&#x;. For an arc (đ?‘Ł , đ?‘Ł ), the irst vertex đ?‘Ł is its tail and the second vertex đ?‘Ł is its head. More information about the digraph theory is given in [1, 13, 14, 36]. A two-dimensional digraphs đ?’&#x; ( ) is a directed graph with two types of arcs and input lows. For the irst time, this type of digraph was presented in papers [10] and [11]. When we generalise this approach, we can de ine đ?‘›-dimensional digraphs. In this case we have đ?‘ž types of arcs and input lows. There exists đ?’œ –arc (or đ?’œ –arc,‌,đ?’œ –arc) from vertex đ?‘Ł to vertex đ?‘Ł if and only if the (đ?‘–, đ?‘—)–th entry of the matrix đ??€ (or đ??€ ,‌,đ??€ ) is non-zero. There exist â„Ź –arc (or â„Ź –arc,‌,â„Ź –arc) from source đ?‘ to vertex đ?‘Ł if and only if the (đ?‘–, đ?‘š)–th entry of the matrix đ?? (or đ?? ,‌,đ?? ) is non-zero. For the system described by the matrices ⧾

đ??€ =

⧾

0 2 0 3 0 0 , đ??€ = 0 1 0

0 0 4 0 0 2 7 0 0

(4)

we can draw two-dimensional digraph đ?’&#x; ( ) presented in Figure 1 consisting of vertices đ?‘Ł , đ?‘Ł and đ?‘Ł . 1.5. GPGPU GPU (Graphics Processing Unit) is a single-chip processor with integrated transform, lighting, triangle setup/clipping, and rendering engines that is dedicated to high-performance 3D graphics, but can also

)

corresponding to (4)

be used for GPGPU (General-Purpose computing on Graphics Processor Units) problems, as it is suited for parallel programming with coherent and predictable memory access. In such problems, GPU and CPU coprocessing (sequential parts of algorithms are run on CPU and parallel parts are run on GPU) outstrips traditional CPU-based algorithms due to its high computational capacity [32]. GPGPU solutions allow to increase the speed of the algorithm (usually by one or two orders of magnitude, depending on problem and implementation), but parallel execution of the algorithm and unique GPU architecture require different construction of the algorithm and memory allocation solutions, as GPU architecture is optimised for executing many concurrent threads slowly, rather than executing a single thread quickly and its memory is constructed and allocated differently. One of important features of GPGPU algorithms are kernels – functions executed in parallel (synchronous or asynchronous) way only on device (GPU card) that are allocated into blocks and grids (2D and 3D structures) with shared memory. Kernels allow very fast concurrent computation, especially for a problem when tasks share some common features – as in graph exploration problems [15]. CUDA is a parallel computing platform and programming model developed by NVIDIA Corporation, increasing computing performance for parallel problems with the use of GPUs.

2. Problem Statement Our task is the following: for a given characteristic polynomial (3) determine entries of the state matrices đ??€ and đ??€ using two-dimensional đ?’&#x; ( ) digraphs theory. The dimension of the state matrices must be the minimal among the possible ones and cannot contain additional coef icients of the characteristic polynomial. 2.1. State-of-the-art Currently, entries of the state matrices are determined using canonical forms, a method which gives one of possible realisations of the characteristic polynomial [2, 28, 33]. State-of-the-art algorithms were proposed in [4,26,29,38–40] and are compared brie ly to the algorithm presented in this paper in the latter part of the article (Section 4.4). There are no known methods of inding a set of all possible realisations for a given characteristic polynomial, due to the complexity of the problem. First proposition of such a method was given in [19] and [20], but the proposed method was only theoretical and extensive testing showed that it was not feasible for practical implementation as the problem of inding all possible realisations of a given polynomial is 39


Journal of Automation, Mobile Robotics & Intelligent Systems

of such complexity that it cannot be solved in reasonable time even by the brute-force GPGPU method [18]. In [22, 24, 35] further improvements to the proposed algorithm were made and in [23] correspondence between digraph structures and ability to obtain complete results using the algorithm was discussed. 2.2. Proposed Solu on This paper presents for the irst time the complete implementation of digraph-based algorithm for inding a set of solutions in form of state matrices of 2D dynamic system. The algorithm starts with creating digraphs for all monomials in the characteristic polynomial, then joins them by the use of disjoint union to create all possible variants of digraphs representing the polynomial realisation. The algorithm uses growth and prune steps to eliminate redundant solutions before the main computational step that is executed concurrently on multiple CUDA kernels to achieve speed needed due to the complexity of the problem (as explained in Section 4). Result of the algorithm’s work is in the form of state matrices đ??€ and đ??€ . Algorithm is explained in detail in Section 3.

3. Main Result Remark 1 In algorithm’s pseudo-code, all arrays and vectors are numbered starting from 1 for clarity. Also, vectors that are used in the GPU-part of the algorithm are often presented as matrices (despite CUDA allowing only the use of vectors on the device part of the algorithm), so it is easier for the reader to understand how the algorithm works. Function 1 Main Output: All possible polynomial realisations with information: {valid / no intersection / incorrect number of cycles} 1: ; // Total number of solutions 2: [ , , ] � (); // – number of monomials in polynomial 3: Create and matrices; 4: for to do 5: � sub-graph size for given monomial; 6: ( , , , , ); 7: ( , , , , , ); 8: = max( ); 9: Determine number of in characteristic polynomial; 10: ( , , , , , );

Function đ?‘™đ?‘œđ?‘Žđ?‘‘đ?‘ƒđ?‘œđ?‘™đ?‘Śđ?‘›đ?‘œđ?‘šđ?‘–đ?‘Žđ?‘™() (line 2) returns (through pointers) a number of monomials, number of variables (colours) in the polynomial and information about monomials in form đ?‘šđ?‘œđ?‘›đ?‘œđ?‘šđ?‘–đ?‘Žđ?‘™đ?‘ [đ?‘šđ?‘œđ?‘›][đ?‘?đ?‘œđ?‘™đ?‘œđ?‘˘đ?‘&#x;_đ?‘›đ?‘˘đ?‘šđ?‘?đ?‘’đ?‘&#x;] = đ?‘?đ?‘œđ?‘™đ?‘œđ?‘˘đ?‘&#x;_đ?‘?đ?‘œđ?‘¤đ?‘’đ?‘&#x;; matrix đ?‘‘đ?‘Žđ?‘Ąđ?‘Ž contains information about possible monomial realisations in the form [đ?‘ đ?‘œđ?‘™đ?‘˘đ?‘Ąđ?‘–đ?‘œđ?‘›đ?‘ ] = [đ?‘&#x;đ?‘’đ?‘Žđ?‘™đ?‘–đ?‘ đ?‘Žđ?‘Ąđ?‘–đ?‘œđ?‘›đ?‘ ], while đ?‘™đ?‘’đ?‘”đ?‘’đ?‘›đ?‘‘ 40

VOLUME 10,

N∘ 3

2016

matrix contains information about the number and size of those realisations in the form [đ?‘šđ?‘œđ?‘›đ?‘œđ?‘šđ?‘–đ?‘Žđ?‘™] = [đ?‘›đ?‘˘đ?‘šđ?‘?đ?‘’đ?‘&#x;đ?‘œđ?‘“đ?‘&#x;đ?‘’đ?‘Žđ?‘™đ?‘–đ?‘ đ?‘Žđ?‘Ąđ?‘–đ?‘œđ?‘›đ?‘ ; đ?‘ đ?‘–đ?‘§đ?‘’đ?‘œđ?‘“đ?‘šđ?‘œđ?‘›đ?‘œđ?‘šđ?‘–đ?‘Žđ?‘™]. Function 2 monomialVertexStart Parameters: Output: 1: 2: 3: 4: 5: 6:

,

,

,

,

,

= [ ]; // Vector is created from one row of the array � number of position (colour) of irst non-zero value in [ ] [ ] ; [] [] ; if ( ! ) then ( , , , , , , );

Function 2 is the irst part of the growth part of algorithm, used for creation of new realisations by means of DFS (Depth- irst Search) on a sub-graph. It creates a part of realisation for the irst vertex, which reduces the number of redundant realisations created by Function 3, as each realisation not starting with the irst non-zero colour can be obtained from other realisations by means of swapping columns / rows. Function 3 monomialVertex Parameters: , , , , , , Output: 1: for to do 2: if ( [ ]! ) then 3: for to do 4: if ( ! ) then 5: [ ]= [ ]; 6: else 7: [ ] = [ ] ; 8: [ ] ; 9: if ( ! ) then 10: ( , , , , , , ); 11: else 12: ; 13: [ ] ; // Recurrent growth algorithm inished and all information about given realisation is obtained

Recurrent Function 3 forms the core of the growth part of the algorithm. It is executed for all possible combinations of monomial realisations for a given sub-graph size and number of colours. Some of the realisations obtained can be redundant as they will be removed by the prune step of the algorithm in Function 4. In lines 1–8, the function puts another element into đ?‘&#x;đ?‘’đ?‘Žđ?‘™đ?‘–đ?‘ đ?‘Žđ?‘Ąđ?‘–đ?‘œđ?‘›đ?‘ vector and after it is full (line 11) a given realisation is added into the đ?‘‘đ?‘Žđ?‘Ąđ?‘Ž matrix as a new solution.


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

Function 4 monomialVertexPrune Parameters: , Output: , 1: [ ][ ] = of irst monomial, 2: 3: 4: 5: 6: 7: 8: 9: 10:

11: 12: 13: 14: 15: 16: 17: 18: 19: 20:

,

,

N∘ 3

2016

Function 5 createDigraphs ,

,

Parameters:

[ ][ ]; // in the case [ ][ ] ; [ ][ ] ; // number of solutions for a given monomial Create for matrix; for to do ; // Number of removed solutions Create for matrix shifted by positions; for to do for to ( ) do if ( [] [ ]) then // If both hash functions have the same values, it means the second realisation can be achieved by shifting rows/columns and it is redundant [] ; ; ; corresponding to is zeroed; BREAK if ( ! ) then Sort matrix, so all non-zero elements are before zeroes // Information about realisations is inserted into matrix; [ ][ ] ; [ ][ ] ;

Function 4 forms the prune part of a candidate generation algorithm. All redundant solutions generated earlier in Functions 2 and 3 are removed. To achieve this, the fast algorithm checks control sums (hashes) that are unique – if two hashes are the same, it means that the second solution can be obtained from the irst by classical shifting of rows and/or columns and one of the solutions is redundant. To check for all possibilities, there is a need (đ?‘ đ?‘–đ?‘§đ?‘’ - 1) shifts. Hashes are generated as follows: đ?‘‘đ?‘Žđ?‘Ąđ?‘Ž[đ?‘Ľ][đ?‘’] ∗ đ?‘?đ?‘œđ?‘™đ?‘œđ?‘˘đ?‘&#x;đ?‘ ,

(5)

where � is a number of elements in the solution vector, � is a number of solutions. After each step, the ���� matrix is sorted, so that non-empty elements are placed in a continuous form. If the function in any step removes solutions to just one for a given monomial (or if after the growth step there is only one solution), it breaks loops to avoid unnecessary work. After the process of pruning of generated solutions is inished, current information about solutions is stored in the ������ matrix, which contains information about a number of solutions and their size. After creating and checking all monomial realisations, Function 5 creates all possible combinations of polynomial realisations. Each possible combination is assigned to a separate CUDA kernel on GPU for par-

,

,

,

,

,

Output: Set of matrices , , , for each realisation and information if the realisation is proper 1: Determine a number of possible variants of placement of each monomial, as ; [

2:

where [ ] ( ; 3: Create , and

4: 5: 6:

7: 8: 9:

[

]∗

][ ]

[

[

],

][ ])

matrices; ‌ × ⋎ ⋎ ⋹ ⋎ ; ‌ × ‌ ; for = 1 to ; Fill matrices with data about arcs between sources and graph vertices; Allocate and transfer data to GPU; ( , , , , , , , , ); Transfer data from GPU; Synchronisation; ( ) check for every realisation where ;

allel computation. As each monomial is realised on a sub-graph, for sub-graphs with the size lower than the size of polynomial graph there are different possible variants of placement of the monomial (as explained in Remark 2), so the total number of kernels needed is a product of the products of the number of monomial realisations and variants of placement of monomial. Each kernel is assigned to its own information about numbers of monomial realisations and variants through kernel grid parameters, because of GPU memory allocation and sharing features. Remark 2 Aside from a number of possible combinations of monomial realisations (which are stored in the đ?‘‘đ?‘Žđ?‘Ąđ?‘Ž and đ?‘™đ?‘’đ?‘”đ?‘’đ?‘›đ?‘‘ matrices) there is a number of variants of possible adding sub-digraphs. First monomial of the same size as the size of digraphs representing polynomial realisation will always have only 1 variant, as each other variant can be obtained by re enumerating vertices. For each other monomial realisation, there is a number of variants represented by the equation đ?‘Łđ?‘Žđ?‘&#x;đ?‘–đ?‘Žđ?‘›đ?‘Ąđ?‘ =

(đ?‘š − đ?‘–),

(6)

where: đ?‘› is the size of sub-graph, and đ?‘š is the size of polynomial digraphs realisation. Example 1 1-vertex sub-graph added to 5-vertex digraphs will have 5 variants (as the only possibilities are placing the 1-cycle on one of ive vertices of digraphs), while 3-vertex sub-graph will have 60 variants (5 â‹… 4 â‹… 3). First part of kernel ills đ??€ , đ??€ matrices with connections between vertices in digraphs in such a way 41


Journal of Automation, Mobile Robotics & Intelligent Systems

Function 6 createSolutionKernel - Part One Parameters:

,

,

,

,

, , , , Output: Each kernel returns matrices , for a given realisation , along with information if realisation is proper 1: Realisation number vector and matrix of variants are assigned to each kernel; 2: Largest monomial is chosen from based on [ ]; 3: for to do 4: = [ [ ][ ] ][ ]; 5: if ( ) then 6: _ 7: else 8: _ 9: [ ][ _ ] ; 10: [ ] ; 11: for to do 12: 13: for 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: for 25: 26: 27: for 28: for

if ( else

_ [

[ ][

]

[ to

] do [ ] [ ]

if ( to

][

_

]

; ; ) then

;

do to

do [ ][ ]

�

31: if ( 32: 33: 34:

=

[ ][ ] do stores size of all monomials = [ ][ ] ; [ ][ ] [ ][ ] [ ][ ]) then _ [ ][ ]

[ ][ ]

29: 30:

to //

( ); []

) then

print There is no common part of digraphs return , ; BREAK;

that each 1D digraph is represented by đ??´ matrix for a given colour. Then matrix đ??? is created as a sum of đ??€ and đ??€ matrices as it represents all connections in digraphs and using it instead of đ??€ matrices in the latter part of the algorithm (second part of Function 6) allows for much faster computation of a number of existing cycles. Also, the function checks intersection of disjoint unions of sub-graphs creating digraphs and all realisations where intersection is ∅ are improper. Function đ?‘Ąđ?‘’đ?‘ đ?‘Ąđ??śđ?‘Śđ?‘?đ?‘™đ?‘’đ?‘ đ??žđ?‘’đ?‘&#x;đ?‘›đ?‘’đ?‘™(đ?‘ƒ) in line 30 is used to create in a parallel way all needed matrices đ?‘„ presented in Function 6 (part two) line 17. Matrices đ?‘„ are created by removing from square matrix đ??? (representing all connection in digraphs, regardless of colour) all rows and columns with the exception of đ?‘– -th, ‌, đ?‘– -th, where đ?‘› ≤ đ?‘ đ?‘–đ?‘§đ?‘’, đ?‘– < đ?‘– + 1; đ?‘š = 1, ‌ , đ?‘› − 1. 42

N∘ 3

VOLUME 10,

2016

Function 6 is executed in a parallel way – each kernel calculates one realisation and one of variants that are assigned through kernel grid addressing as presented in [17] allowing fast access to shared memory features of GPU, consistent address pool and easy translation between nD matrices (used by CPU) and 1D vectors (used by GPU). Each kernel is assigned to its own realisation vector � which consists of numbers of chosen realisations for each monomial. Example 2 Let’s assume that for tested polynomial �(�

,�

,�

) = 1−đ?‘§

�

�

−đ?‘§

�

�

−

đ?‘§ đ?‘§ −đ?‘§ 1123 ⎥ ⎤ 1132 ⎢ ⎼ 134 ⎥ ⎤ ⎢1 2 1 3⎼ 4 5 3⎼ đ?‘‘đ?‘Žđ?‘Ąđ?‘Ž = ⎢ 1 2 3 ⎼ and đ?‘™đ?‘’đ?‘”đ?‘’đ?‘›đ?‘‘ = ⎢ , ⎢6 6 2⎼ 1 3 2 ⎢ ⎼ ⎣7 7 1⎌ ⎢1 2 ⎼ ⎣3 ⎌ then irst kernel will be assigned to realisation vector in form đ?‘… = 0 0 0 0 ; (đ?‘› + 1)-th kernel, where đ?‘› is number of variants possible, will be assigned realisation vector đ?‘… = 0 1 0 0 ; (2đ?‘›+1)-th kernel will be assigned đ?‘… = 1 0 0 0 , ‌, and inally (5đ?‘› + 1)-th kernel will be assigned đ?‘… = 2 1 0 0 . In this example, 3-rd and 4-th positions in đ?‘… vector do not change, as there is only one possible realisation for those monomials. Each kernel has also its own vector đ?‘‰, which stores positions of vertices for variants of monomial realisations. Example 3 Continuing with the polynomial from Example 2, we have 1 variant for irst monomial (as explained earlier in Remark 2) and for next monomials 24, 12 and 4 variants (according to equation (6)). In this case, 6 912 kernels will be used (6 realisations â‹…24â‹…12â‹…4) and for one of sample kernels vector đ?‘‰ presented as matrix will take the form: 321 đ?‘‰ = 31 2 in this case, the second monomial is represented by arcs between vertices 3-2, 2-1, 1-3. The third monomial is represented by arcs between 3-1 and 1-3 and the fourth monomial is represented by arc 2-2. All arc colours are determined by information from the đ?‘‘đ?‘Žđ?‘Ąđ?‘Ž matrix chosen by the realisation vector. Element đ?‘? , ∈ đ??? represents the number of different arcs beginning in vertex đ?‘– and ending in vertex đ?‘—. The algorithm checks if the number of n-vertex cycles in realisation is proper for the characteristic polynomial. It starts with shorter cycles irst, because it is faster, and if the algorithm inds even one additional cycle, it means that the realisation is not valid and then kernel stops working and frees memory. For 1vertex (line 2) and 2-vertex cycles (line 9), there are


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

Function 7 createSolutionKernel - Part Two 1: // Realisation is proper only if the number of cycles is

the same for digraphs and the characteristic polynomial 2: if (

[ , ]!

[ ]) then

3: print Number of 1-vertex cycles is incorrect 4: return , ; 5: BREAK; 6: ; 7: for all , ∈ [ , , ‌ , ], where do 8: 9: 10: if ( 11: 12: 13: 14: for 15: 16:

17:

18: 19: 20: 21: 22:

//

,

,

,

,

,

N∘ 3

2016

with the number of cycles in the characteristic polynomial. If the number of cycles is different, it means that adding sub-graphs created some additional cycles, and realisation is improper and should be discarded. If at any point the value of đ?‘&#x;đ?‘’đ?‘ đ?‘˘đ?‘™đ?‘Ą equals zero (line 5), it means that one of the elements of the determinant is zero and the inal value of the given determinant will be zero (so there will be no cycle for this combination), and there is no further need of checking that possibility and the algorithm can move to check for the next combination.

;

( , ∗ , ); ! [ ]) then print Number of 2-vertex cycles is incorrect return , ; BREAK; to ( ) do = 0; for all , ‌ , where , ; ,‌, do ‌ , , ⎥ , ⎤ ‌ , , , ⎼ Ă— ⎢ // ; â‹Ž â‹Ž â‹Ž ⎼ ⎢ â‹Ž ‌ ⎣ , , , ⎌ // All possible n-cycles are checked and a number of existing ones is counted with the use of recurrent Function 7 ( , , , ); if ( ! [ ]) then print Number of -vertex cycles is incorrect return , ; BREAK;

fast methods of checking the number of cycles, for đ?‘›vertex (where đ?‘› ≼ 3) cycles Function 7 is recurrently executed to check all possible cycles and count their sum. There are some additional constraints used to speed up the algorithm, for example if any column is empty, it means that every excision of đ??? containing that column cannot have n-vertex cycles and can be automatically discarded. Function 8 countCycles Parameters: , , , Output: ) 1: // Ă—( [ , ,‌, ] and 2: ; 3: for to where ! ,∀ 4: ∗ ; , 5: if ( ) then 6: BREAK; 7: if ( ) then 8: = 9: else 10: ( , ,

4. Problem Complexity and Algorithm Op misa on Many graph problems (like graph orientation, coverage, colouring, decomposition, disjunction, connection and inding both the shortest paths and cycles) are proposed or proven as NP-complete or NP-hard for 1D undirected graphs, sometimes even with constraints added [1]. It can be assumed, that for arbitrary multi-dimensional digraphs, those tasks are even more complex and time-consuming. As creating digraphs realisation for the characteristic polynomial includes many operations that are considered NP-complete or NP-hard problems, it is also a NP-hard problem [22, 24]. It can be assumed that its computational complexity will be very high, as: - it consists of set of NP-complete or NP-hard problems, - proposed solution is based on operating on arbitrary two-dimensional digraphs, making it more complicated than 1D undirected graphs, - in [25] it is conjectured that for many NP-complete problems (including NP-complete graph problems and set coverage problems) there are no solutions that are capable of solving the problem under exponential time, and all well-known algorithms have at least exponential computational complexity. Because of the complexity of the proposed problem, there is a constant need of optimisation – and for that, it is needed to precisely identify complexity of each part of the algorithm, on what elements it depends and how the algorithm can be made faster. 4.1. Algorithm Op misa on

,‌,

do

∗

,

,

; );

Function 8 is used for counting fast the number of cycles present in digraphs basing on matrices đ?‘„ created earlier. It is recurrently executed, so that all possible cycle combinations will be checked, and it returns the sum of existing cycles, which is later checked

In the algorithm proposed in [21] irst optimisations were performed in form of growth/prune steps, which restrict number of solutions that are fully created and tested and in creating ixed solution start, which reduces number of solutions created times, as can be seen in equation (7). In [24] there was proposed a set of modi ications that causes the algorithm to work faster (better variant of ixed start, omitting prune step when not needed, and different calculation for 1D monomials). In [22] further modi ications were proposed in form of modi ication of creation of intersection set, removal of redundant variants before parallel calculation and skipping the 1-arc cycles, that further improved the speed of the algorithm and reduced the complexity for the most complicated cases. Still, due 43


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

to the NP-hard complexity of the problem, the overall computational complexity of the algorithm wasn’t lowered below factorial for 2D polynomials and linearithmic for 1D polynomials. 4.2. Computa onal Complexity of the Growth/Prune Part The growth part of the algorithm (Functions 2 and 3), in which possible solutions are created, is performed in đ?‘? (đ?‘šâˆ’1) operations for each monomial in the characteristic polynomial, where: đ?‘? - number of colours; đ?‘š - size of the monomial. This step creates a number of solutions that form a multiset permutation represented by equation đ?‘šâˆ’1 = (đ?‘Ľ − 1), đ?‘Ľ , ‌ , đ?‘Ľ (đ?‘š − 1)! = , (đ?‘Ľ − 1)! đ?‘Ľ ! ‌ đ?‘Ľ !

đ?‘ =

(7)

where đ?‘Ľ represents a number of occurrences of đ?‘–-th colour in the monomial and đ?‘Ľ + đ?‘Ľ + ‌ + đ?‘Ľ = đ?‘š. In equation (7), decrementation of đ?‘Ľ and đ?‘š represents reduction of a number of the possible solutions by the ixed irst choice in Function 2. For optimisation purposes it is important to be able to determine a number of solutions that are created after the prune step of the algorithm, as it allows us to prepare a number of kernels for each monomial in advance and it is essential for full parallelism of the algorithm. Theorem 1 There exist đ?‘?=

đ?‘šâˆ’1 đ?‘Ľ ,đ?‘Ľ ,‌,đ?‘Ľ

=

(đ?‘š − 1)! , đ?‘Ľ !đ?‘Ľ !‌đ?‘Ľ !

(8)

possible distinct digraphs solutions for given monomial, where đ?‘Ľ represents number of occurrences of đ?‘–-th variable in the monomial and đ?‘Ľ + đ?‘Ľ + ‌ + đ?‘Ľ = đ?‘š. Proof Number of distinct digraphs solutions is the same problem as determination of arrangement of đ?‘› distinct objects along a ixed circle. As we have more than one variable, it is a case of a multi-set permutation which gives (đ?‘›! )/(đ?‘š ! đ?‘š ! ‌ đ?‘š ! ) solutions. As the permutation is cyclic, đ?‘›! is reduced to (đ?‘› − 1)! as the circle can be rotated [6].

44

N∘ 3

2016

and preparing memory blocks for each of the inal solutions, which can be calculated independently of others, without incurring the synchronisation problem. The prune step (Function 4), where redundant solutions are removed, is based heavily on the number of solutions that are being reduced. For each monomial, it is performed in (đ?‘š − 1)(đ?‘ log đ?‘ + đ?‘š) steps, where đ?‘ is determined as in equation (7). As the part for each monomial can be run in a parallel way (as we can determine the number of kernels), the algorithm needs đ?‘? (đ?‘š − 1) + (đ?‘š − 1)(đ?‘ log đ?‘ + đ?‘š)

(9)

operations in case when enough kernels are available for full parallelisation. To estimate computational complexity, we should assume the worst case scenario. In such a scenario, we imply that monomials are of size đ?‘š → đ?‘‰, where đ?‘‰ is the number of vertices in polynomial digraphs, and we can transform equation (9) into (đ?‘‰ − 1)(đ?‘? + đ?‘ log đ?‘ + đ?‘‰).

(10)

As can be seen in equation (10), there are two factors that can generate the largest computational effort: đ?‘? and đ?‘ log đ?‘ . Both parts are maximised when đ?‘? = đ?‘‰ (there are as many colours in each monomial as vertices in polynomial digraphs), but for such đ?‘Ľ = đ?‘Ľ = ‌ = đ?‘Ľ = 1 scenarios prune step can be omitted as presented in [24] and the algorithm needs only đ?‘? (đ?‘š − 1) operations. For the worst-case condition that is not a đ?‘? = đ?‘š scenario, we can assume that đ?‘ → (đ?‘‰ − 1)! and sequential part’s computational complexity is factorial and can be presented as đ??“(đ??•) = đ??Ž(đ?‘‰! ) in big O notation. 4.3. Computa onal Complexity of Digraph Crea on Part Digraph creation part of the algorithm is executed on (đ?‘š − 1)! đ?‘‰! â‹… đ?‘Ľ ! đ?‘Ľ ! ‌ đ?‘Ľ ! (đ?‘‰ − đ?‘š)!

(11)

kernels, each performing (�(� + �) + � log � ) + � + �log �

(12)

Remark 3 Circle rotation used for digraphs representations of polynomials is synonymous with swapping columns / rows of đ??€ matrix that is used in the control theory.

operations. In the worst case scenario, � → � and equation (12) can be presented as

When we know the characteristic polynomial, we can determine at the start of the algorithm the number of solutions generated during the growth step (described by equation (7)) and the number of solutions generated after the prune step (described by equation (8)) for each of the monomials. With such information, we can compute different monomials that the characteristic polynomial consists of simultaneously by assigning each to kernel block of the precalculated size

which makes parallel part’s computational complexity đ??“(đ??•) = đ??Ž(đ?‘‰log đ?‘‰ ) and makes the part of algorithm solvable in linearithmic time, if there are enough kernels available.

(2� + 1)� + �� log � + �log � ,

(13)

4.4. Comparison with Other Algorithms Using proposed algorithm we can determine all possible multi-dimensional digraph structures that satisfy the characteristic polynomial (3). The number


Journal of Automation, Mobile Robotics & Intelligent Systems

�

/

‌�

Fig. 3. Number of opera ons performed for the polynomial � � ‌ � + � of Tesla C2050 GPU with 10 parallel threads

/

�

Fig. 2. Poten al number of solu ons of the polynomial � � ‌ � + �

of the solution is bigger with the size of the characteristic polynomial and number of the variables. Let be / / / given the polynomial đ?‘§ đ?‘§ ‌ đ?‘§ + đ?‘§ đ?‘§ ‌đ?‘§ + đ?‘§ + đ?‘§ + â‹… + đ?‘§ where: đ?‘› is the power of the polynomial (đ?‘› = 1, 2, ‌ , 10); đ?‘? is the number of colour (đ?‘? = 1, 2, 3). In the Figure 2, we have presented a number of the possible digraph structure. For example, if we have a polynomial in the form: - đ?‘§ + đ?‘§ + đ?‘§ we have 120 possible digraphs structures; - đ?‘§ đ?‘§ + đ?‘§ đ?‘§ + đ?‘§ + đ?‘§ , we have 29, 506, 498, 560 possible digraphs structures; - đ?‘§ đ?‘§ đ?‘§ +đ?‘§ đ?‘§ đ?‘§ +đ?‘§ +đ?‘§ +đ?‘§ , we have 1.83361492â‹… 10 possible digraphs structures. The number of the possible digraph structures is growing very fast as we can see in Figure 2. In the Figure 3, we see, that the algorithm for determination of all possible digraphs representations of the characteristic polynomial is performed in a larger number of operations. The number of operations depends on maximal power of the characteristic polynomial and number of colours. For example if we have the polynomial that: - consist of one variable in the following form đ?‘§ +đ?‘§ + đ?‘§ , then we must make about 1000 operations; - consist of two variables in the following form đ?‘§ đ?‘§ + đ?‘§ đ?‘§ + đ?‘§ + đ?‘§ , then we must make 1.97 â‹… 10 operations;

N∘ 3

VOLUME 10,

/

/

/

2016

+� +� +⋯+�

‌�

/

+ � + � + ⋯ + � with use

- consist of three variables in the following form � � � + � � � + � + � + � , then we must make 1.05 ⋅ 10 operations. Tab. 1. Number of the digraph structures and opera ons Characteristic polynomial

Digraph structures , .

,

Number of operations

,

.

â‹…

â‹…

.

â‹…

Presented in the Table 1 numbers of operations were performed using computer with use of graphic card Tesla C2050 with 10 parallel threads. In Table 2, we presented a potential and real number of digraph structures for examples considered in the state-of-the-art papers: [4, 26, 29, 38–40]. Potential solutions hold the solutions that can be created by the algorithm. It should be noted that the potential and real solutions does not contain realisations that we can receive by re-encumbering the vertices in the digraphs. This operation is very simple, but it is not included in the algorithm, as it leads to unnecessary operations and can be obtained by transposition of đ??€ matrices after the algorithm is inished. 45


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

N∘ 3

2016

Tab. 2. Poten al and real number of the digraph structures Characteristic Polynomial

Grow

Prune

Solutions Potential Real

( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )

Examples from: (

)

[39, pp. 634-635]. (

)

[40, pp. 1463]. ( ) [40, pp. 1461]. (

)

[38, pp. III-292]. ( ) [39, pp. 637]. (

)

[26, pp. 636]. (

)

[29, pp. 6-7]. (

)

[4, pp. 207].

Tab. 3. Comparison the size of the realisa on and the number of the solu ons Size ( Ă— )

Characteristic Polynomial

Solutions (number)

Proposed algorithm Size Solutions

( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )

Examples from: (

)

[39, pp. 634-635]. (

)

[40, pp. 1463]. ( ) [40, pp. 1461]. (

)

[38, pp. III-292]. ( ) [39, pp. 637]. (

)

[26, pp. 636]. (

)

[29, pp. 6-7]. (

)

[4, pp. 207].

In Table 3, we presented the comparison of the size of the realisation and the number of the solutions for the examples presented in the papers considered in Table 2. After looking at the table, we can say that the algorithm proposed in this paper gives more realisations and additionally all of them are the minimal among all possible and thus can be proven as superior on grounds of achieved solutions to other state-ofthe-art methods. In Table 3 the values marked by red colour are those that give a better results compared to the methods described in the state-of-the art papers.

lowing form are constructed:

5. Numerical Example

đ?‘ đ?‘–đ?‘§đ?‘’ = đ?‘šđ?‘œđ?‘›đ?‘œđ?‘šđ?‘–đ?‘Žđ?‘™đ?‘ [1][1] + đ?‘šđ?‘œđ?‘›đ?‘œđ?‘šđ?‘–đ?‘Žđ?‘™đ?‘ [1][2] = 4; [1] = 2 đ?‘šđ?‘œđ?‘›đ?‘œđ?‘šđ?‘–đ?‘Žđ?‘™đ?‘ 2 = ; đ?‘&#x;đ?‘’đ?‘Žđ?‘™đ?‘–đ?‘ đ?‘Žđ?‘Ąđ?‘–đ?‘œđ?‘›đ?‘ [1] = 1. [2] = 2

Let us consider the following example. For the given characteristic polynomial �(�

,�

)=1−đ?‘§

�

−đ?‘§

�

−đ?‘§

(14)

determine all possible realisations of the state matrices đ??€ and đ??€ using digraph theory and GPGPU computing method. To solve this problem, we use the parallel algorithm presented in Section 3. In the irst step, we must write the following initial conditions: number of colours in digraphs: đ?‘?đ?‘œđ?‘™đ?‘œđ?‘˘đ?‘&#x;đ?‘ = 2; monomials: đ?‘€ = đ?‘§ đ?‘§ , đ?‘€ = đ?‘§ đ?‘§ and đ?‘€ = đ?‘§ . Figure 4 presents algorithm structure used to determine characteristic polynomial realisation described by the equation (14). The algorithm starts from function đ?‘€đ?‘Žđ?‘–đ?‘›() in which monomials in the fol46

4 4

[1] [1] = 2 ⎍ ⎧ ⎪ [1] [2] = 2 ⎪ đ?‘šđ?‘œđ?‘›đ?‘œđ?‘šđ?‘–đ?‘Žđ?‘™đ?‘ = [2] [1] = 1 . ⎨ [2] [2] = 1 ⎏ ⎪ ⎪ ⎊ [3] [1] = 1 ⎭ In the next step for the irst monomial đ?‘€ = đ?‘§ đ?‘§ from function đ?‘€đ?‘Žđ?‘–đ?‘›() is starting the function đ?‘šđ?‘œđ?‘›đ?‘œđ?‘šđ?‘–đ?‘Žđ?‘™đ?‘‰đ?‘’đ?‘&#x;đ?‘Ąđ?‘’đ?‘Ľđ?‘†đ?‘Ąđ?‘Žđ?‘&#x;đ?‘Ą() (see box đ?‘€đ?‘œđ?‘› = 1 and đ?‘†đ?‘Ąđ?‘Žđ?‘&#x;đ?‘Ą in the Figure 4). In this function, we write the following initial conditions:

Then from function đ?‘šđ?‘œđ?‘›đ?‘œđ?‘šđ?‘–đ?‘Žđ?‘™đ?‘‰đ?‘’đ?‘&#x;đ?‘Ąđ?‘’đ?‘Ľđ?‘†đ?‘Ąđ?‘Žđ?‘&#x;đ?‘Ą() recurrent function đ?‘šđ?‘œđ?‘›đ?‘œđ?‘šđ?‘–đ?‘Žđ?‘™đ?‘‰đ?‘’đ?‘&#x;đ?‘Ąđ?‘’đ?‘Ľ() (named đ?‘‰đ?‘’đ?‘&#x;đ?‘Ąđ?‘’đ?‘Ľ in latter part of the paper) is started. After this step we obtain all possible combinations of the đ?‘€ monomial realisations for given đ?‘ đ?‘–đ?‘§đ?‘’ = 4 and number of colours đ?‘?đ?‘œđ?‘™đ?‘œđ?‘˘đ?‘&#x; = 2. In the considered example, we have: - đ?‘‰đ?‘’đ?‘&#x;đ?‘Ąđ?‘’đ?‘Ľ(1) – for đ?‘– = 1, đ?‘— = 1 → đ?‘šđ?‘œđ?‘›đ?‘œđ?‘šđ?‘–đ?‘Žđ?‘™đ?‘ [1] = 0; for đ?‘– = 1, đ?‘— = 2 → đ?‘šđ?‘œđ?‘›đ?‘œđ?‘šđ?‘–đ?‘Žđ?‘™đ?‘ [2] = 2; đ?‘&#x;đ?‘’đ?‘Žđ?‘™đ?‘–đ?‘ đ?‘Žđ?‘Ąđ?‘–đ?‘œđ?‘›đ?‘ [2] = 1. - đ?‘‰đ?‘’đ?‘&#x;đ?‘Ąđ?‘’đ?‘Ľ(2) – for đ?‘– = 2, đ?‘— = 1 → đ?‘šđ?‘œđ?‘›đ?‘œđ?‘šđ?‘–đ?‘Žđ?‘™đ?‘ [1] = 0; for đ?‘– = 2, đ?‘— = 2 → đ?‘šđ?‘œđ?‘›đ?‘œđ?‘šđ?‘–đ?‘Žđ?‘™đ?‘ [2] = 1; đ?‘&#x;đ?‘’đ?‘Žđ?‘™đ?‘–đ?‘ đ?‘Žđ?‘Ąđ?‘–đ?‘œđ?‘›đ?‘ [3] = 2. - đ?‘‰đ?‘’đ?‘&#x;đ?‘Ąđ?‘’đ?‘Ľ(3) – for đ?‘– = 2, đ?‘— = 1 → đ?‘šđ?‘œđ?‘›đ?‘œđ?‘šđ?‘–đ?‘Žđ?‘™đ?‘ [1] = 0; for đ?‘– = 2, đ?‘— = 2 → đ?‘šđ?‘œđ?‘›đ?‘œđ?‘šđ?‘–đ?‘Žđ?‘™đ?‘ [2] = 0; đ?‘&#x;đ?‘’đ?‘Žđ?‘™đ?‘–đ?‘ đ?‘Žđ?‘Ąđ?‘–đ?‘œđ?‘›đ?‘ [4] = 2.


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

N∘ 3

2016

Main

LoadPolynomial() Mon=1 Start Vertex(1) i=1

i=2

Vertex(2) i=2 Vertex(4) i=1 i=2

Vertex(3)

Vertex(5) Vertex(6) EXECUTION TIME

Prune Mon=2 Start i=2

Vertex(1)

Prune Mon=3 Start Prune CreateDigraph()

K1/1

‌

K3/1

‌

K48/1

K1/2

‌

K3/2

‌

K48/2

K1/3

‌

K3/3

‌

K48/3

FINISH

Fig. 4. Workings of the algorithm for example presented in Sec on 5 In this moment, the condition đ?‘Łđ?‘’đ?‘&#x;đ?‘Ąđ?‘’đ?‘Ľ! = đ?‘ đ?‘–đ?‘§đ?‘’ is not met, and we write the irst solution in the form: đ?‘ đ?‘œđ?‘™đ?‘˘đ?‘Ąđ?‘–đ?‘œđ?‘›[1] = 1 1 2 2 . In the next step, we jump to function đ?‘‰đ?‘’đ?‘&#x;đ?‘Ąđ?‘’đ?‘Ľ(1) and grow index đ?‘– to 2. - đ?‘‰đ?‘’đ?‘&#x;đ?‘Ąđ?‘’đ?‘Ľ(1) – for đ?‘– = 2, đ?‘— = 1 → đ?‘šđ?‘œđ?‘›đ?‘œđ?‘šđ?‘–đ?‘Žđ?‘™đ?‘ [1] = 1; for đ?‘– = 2, đ?‘— = 2 → đ?‘šđ?‘œđ?‘›đ?‘œđ?‘šđ?‘–đ?‘Žđ?‘™đ?‘ [2] = 1; đ?‘&#x;đ?‘’đ?‘Žđ?‘™đ?‘–đ?‘ đ?‘Žđ?‘Ąđ?‘–đ?‘œđ?‘›đ?‘ [2] = 2. - đ?‘‰đ?‘’đ?‘&#x;đ?‘Ąđ?‘’đ?‘Ľ(4) – for đ?‘– = 1, đ?‘— = 1 → đ?‘šđ?‘œđ?‘›đ?‘œđ?‘šđ?‘–đ?‘Žđ?‘™đ?‘ [1] = 0; for đ?‘– = 1, đ?‘— = 2 → đ?‘šđ?‘œđ?‘›đ?‘œđ?‘šđ?‘–đ?‘Žđ?‘™đ?‘ [2] = 1; đ?‘&#x;đ?‘’đ?‘Žđ?‘™đ?‘–đ?‘ đ?‘Žđ?‘Ąđ?‘–đ?‘œđ?‘›đ?‘ [3] = 1. - đ?‘‰đ?‘’đ?‘&#x;đ?‘Ąđ?‘’đ?‘Ľ(5) – for đ?‘– = 2, đ?‘— = 1 → đ?‘šđ?‘œđ?‘›đ?‘œđ?‘šđ?‘–đ?‘Žđ?‘™đ?‘ [1] = 0; for đ?‘– = 2, đ?‘— = 2 → đ?‘šđ?‘œđ?‘›đ?‘œđ?‘šđ?‘–đ?‘Žđ?‘™đ?‘ [2] = 0; đ?‘&#x;đ?‘’đ?‘Žđ?‘™đ?‘–đ?‘ đ?‘Žđ?‘Ąđ?‘–đ?‘œđ?‘›đ?‘ [4] = 2. As đ?‘Łđ?‘’đ?‘&#x;đ?‘Ąđ?‘’đ?‘Ľ! = đ?‘ đ?‘–đ?‘§đ?‘’ is not met, we write the second solution in the form: đ?‘ đ?‘œđ?‘™đ?‘˘đ?‘Ąđ?‘–đ?‘œđ?‘›[2] = 1 2 1 2 and jump to function đ?‘‰đ?‘’đ?‘&#x;đ?‘Ąđ?‘’đ?‘Ľ(4) with index đ?‘– = 2. - đ?‘‰đ?‘’đ?‘&#x;đ?‘Ąđ?‘’đ?‘Ľ(4) – for đ?‘– = 2, đ?‘— = 1 → đ?‘šđ?‘œđ?‘›đ?‘œđ?‘šđ?‘–đ?‘Žđ?‘™đ?‘ [1] = 1; for đ?‘– = 2, đ?‘— = 2 → đ?‘šđ?‘œđ?‘›đ?‘œđ?‘šđ?‘–đ?‘Žđ?‘™đ?‘ [2] = 0; đ?‘&#x;đ?‘’đ?‘Žđ?‘™đ?‘–đ?‘ đ?‘Žđ?‘Ąđ?‘–đ?‘œđ?‘›đ?‘ [3] = 2. - đ?‘‰đ?‘’đ?‘&#x;đ?‘Ąđ?‘’đ?‘Ľ(6) – for đ?‘– = 1, đ?‘— = 1 → đ?‘šđ?‘œđ?‘›đ?‘œđ?‘šđ?‘–đ?‘Žđ?‘™đ?‘ [1] = 0; for đ?‘– = 2, đ?‘— = 2 → đ?‘šđ?‘œđ?‘›đ?‘œđ?‘šđ?‘–đ?‘Žđ?‘™đ?‘ [2] = 0; đ?‘&#x;đ?‘’đ?‘Žđ?‘™đ?‘–đ?‘ đ?‘Žđ?‘Ąđ?‘–đ?‘œđ?‘›đ?‘ [4] = 1. As again đ?‘Łđ?‘’đ?‘&#x;đ?‘Ąđ?‘’đ?‘Ľ! = đ?‘ đ?‘–đ?‘§đ?‘’ is not met, third solution takes the form: đ?‘ đ?‘œđ?‘™đ?‘˘đ?‘Ąđ?‘–đ?‘œđ?‘›[3] = 1 2 2 1 and inal data matrix takes the form: đ?‘‘đ?‘Žđ?‘Ąđ?‘Ž =

1 1 1

1 2 2

2 1 2

2 2 1

.

(15)

In this moment, we have inished the function đ?‘šđ?‘œđ?‘›đ?‘œđ?‘šđ?‘–đ?‘Žđ?‘™đ?‘‰đ?‘’đ?‘&#x;đ?‘Ąđ?‘’đ?‘Ľ(), and we return to function đ?‘šđ?‘œđ?‘›đ?‘œđ?‘šđ?‘–đ?‘Žđ?‘™đ?‘‰đ?‘’đ?‘&#x;đ?‘Ąđ?‘’đ?‘Ľđ?‘†đ?‘Ąđ?‘Žđ?‘&#x;đ?‘Ą() and then to function đ?‘šđ?‘Žđ?‘–đ?‘›(), from which we start function đ?‘šđ?‘œđ?‘›đ?‘œđ?‘šđ?‘–đ?‘Žđ?‘™đ?‘‰đ?‘’đ?‘&#x;đ?‘Ąđ?‘’đ?‘Ľđ?‘ƒđ?‘&#x;đ?‘˘đ?‘›đ?‘’(). In this function, we write the following initial conditions: đ?‘ đ?‘œđ?‘™đ?‘˘đ?‘Ąđ?‘–đ?‘œđ?‘›đ?‘ = 3; đ?‘™đ?‘’đ?‘”đ?‘’đ?‘›đ?‘‘[1][1] = 1; đ?‘ đ?‘œđ?‘™ = đ?‘ đ?‘œđ?‘™đ?‘˘đ?‘Ąđ?‘–đ?‘œđ?‘› − đ?‘™đ?‘’đ?‘”đ?‘’đ?‘›đ?‘‘[1][1] + 1 = 3 − 1 + 1 = 3; Determine đ?‘ â„Žđ?‘–đ?‘“đ?‘Ą: đ?‘ â„Žđ?‘–đ?‘“đ?‘Ą = đ?‘ đ?‘–đ?‘§đ?‘’ − 1 = 4 − 1 = 3. Determine â„Žđ?‘Žđ?‘ â„Ž for data matrix (15) using equation (5): 1â‹…2 +1â‹…2 +2â‹…2 +2â‹…2 â„Žđ?‘Žđ?‘ â„Ž = 1 â‹… 2 + 1 â‹… 2 + 1 â‹… 2 + 2 â‹… 2 1â‹…2 +2â‹…2 +2â‹…2 +1â‹…2

54 = 50 . 42

In the next step, we create â„Žđ?‘Žđ?‘ â„Ž2 for data matrix (15) shifted by đ?‘Ľ positions. We obtain: - for đ?‘Ľ = 1 we have: đ?‘ â„Žđ?‘–đ?‘“đ?‘Ą(đ?‘Ľ = 1) =

1 1 2 2 1 1 2 1 2 1 2 1 2 1 1 2 2 1 1 2 2

⇒ (16)

42 ⇒ â„Žđ?‘Žđ?‘ â„Ž2 = 38 ; 36 (a) for đ?‘– = 2, đ?‘— = 1, we compare â„Žđ?‘Žđ?‘ â„Ž(2) with â„Žđ?‘Žđ?‘ â„Ž2(1). As 50! = 40 we compare the next pair. 47


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

(b) for đ?‘– = 2, đ?‘— = 2, we compare â„Žđ?‘Žđ?‘ â„Ž(2) with â„Žđ?‘Žđ?‘ â„Ž2(2). As 50! = 38 we compare the next pair. (c) for đ?‘– = 3, đ?‘— = 1, we compare â„Žđ?‘Žđ?‘ â„Ž(3) with â„Žđ?‘Žđ?‘ â„Ž2(1). In this situation 42 == 42; therefore we set đ?‘ đ?‘œđ?‘™đ?‘˘đ?‘Ąđ?‘–đ?‘œđ?‘› = 2 and đ?‘&#x;đ?‘’đ?‘šđ?‘œđ?‘Łđ?‘Žđ?‘™đ?‘ = 1 and change â„Žđ?‘Žđ?‘ â„Ž and đ?‘‘đ?‘Žđ?‘Ąđ?‘Ž into the following: 54 â„Žđ?‘Žđ?‘ â„Ž = 50 , 0

1122 đ?‘‘đ?‘Žđ?‘Ąđ?‘Ž = 1 2 1 2 . 1̸ 2̸ 2̸ 1̸

N∘ 3

2016

Fig. 5. Two-dimensional digraphs corresponding to monomial đ?‘€

(a)

- for đ?‘Ľ = 2, we have: đ?‘ â„Žđ?‘–đ?‘“đ?‘Ą(đ?‘Ľ = 2) =

1 1 2 2 1 1 2 1 2 1 2 1 2 1 1 2 2 1 1 2 2

(b)

⇒ (17)

36 ⇒ â„Žđ?‘Žđ?‘ â„Ž2 = 50 48 (a) for đ?‘– = 2, đ?‘— = 1, we compare â„Žđ?‘Žđ?‘ â„Ž(2) with â„Žđ?‘Žđ?‘ â„Ž2(1).As 50! = 36 we compare the next pair. (b) for đ?‘– = 2, đ?‘— = 2, we compare â„Žđ?‘Žđ?‘ â„Ž(2) with â„Žđ?‘Žđ?‘ â„Ž2(2). As 50 == 50 we set đ?‘ đ?‘œđ?‘™đ?‘˘đ?‘Ąđ?‘–đ?‘œđ?‘› = 1 and đ?‘&#x;đ?‘’đ?‘šđ?‘œđ?‘Łđ?‘Žđ?‘™đ?‘ = 2 and change â„Žđ?‘Žđ?‘ â„Ž and đ?‘‘đ?‘Žđ?‘Ąđ?‘Ž into: â„Žđ?‘Žđ?‘ â„Ž =

54 0 , 0

1122 đ?‘‘đ?‘Žđ?‘Ąđ?‘Ž = 1̸ 2̸ 1̸ 2̸ . 1̸ 2̸ 2̸ 1̸

Finally, we write ���� and ������ which contain information about realisation in the following form:

(c)

Fig. 6. Two-dimensional digraphs corresponding to monomial đ?‘€

(a)

(b)

(c)

đ?‘‘đ?‘Žđ?‘Ąđ?‘Ž = 1 1 2 2 đ?‘™đ?‘’đ?‘”đ?‘’đ?‘›đ?‘‘[đ?‘šđ?‘œđ?‘›][2] = đ?‘ đ?‘œđ?‘™đ?‘˘đ?‘Ąđ?‘–đ?‘œđ?‘› ⇒ đ?‘™đ?‘’đ?‘”đ?‘’đ?‘›đ?‘‘[1][2] = 1 đ?‘™đ?‘’đ?‘”đ?‘’đ?‘›đ?‘‘[đ?‘šđ?‘œđ?‘›][3] = đ?‘ đ?‘–đ?‘§đ?‘’ ⇒ đ?‘™đ?‘’đ?‘”đ?‘’đ?‘›đ?‘‘[1][3] = 4. Now we break function đ?‘šđ?‘œđ?‘›đ?‘œđ?‘šđ?‘–đ?‘Žđ?‘™đ?‘‰đ?‘’đ?‘&#x;đ?‘Ąđ?‘’đ?‘Ľđ?‘ƒđ?‘&#x;đ?‘˘đ?‘›đ?‘’(), and we come back to function đ?‘€đ?‘Žđ?‘–đ?‘›(). In the same way we follow with monomial đ?‘€ and đ?‘€ . Finally, we obtain matrix đ?‘‘đ?‘Žđ?‘Ąđ?‘Ž and matrix đ?‘™đ?‘’đ?‘”đ?‘’đ?‘›đ?‘‘ in the form: 1122 , đ?‘‘đ?‘Žđ?‘Ąđ?‘Ž = 1 2 1

114 ������ = 2 2 2 . 331

In this moment, we start function đ?‘?đ?‘&#x;đ?‘’đ?‘Žđ?‘Ąđ?‘’đ??ˇđ?‘–đ?‘”đ?‘&#x;đ?‘Žđ?‘?â„Žđ?‘ () which creates all possible combinations of polynomial realisation. In this function, we write the following initial conditions: 1) Determine number of possible variants (6) of placement of each monomial as đ?‘Łđ?‘Žđ?‘&#x;đ?‘–đ?‘Žđ?‘›đ?‘Ąđ?‘ [đ?‘šđ?‘œđ?‘›]: - For the monomial đ?‘€ , we have đ?‘Łđ?‘Žđ?‘&#x;đ?‘–đ?‘Žđ?‘›đ?‘Ąđ?‘ [1] = 1; corresponding digraph is presented in Figure 5; - For the monomial đ?‘€ , we have đ?‘Łđ?‘Žđ?‘&#x;đ?‘–đ?‘Žđ?‘›đ?‘Ąđ?‘ [2] = 12; Digraph starting from the irst vertex corresponding to monomial đ?‘€ is presented in Figure 6. In this same way, we can draw nine remaining digraphs starting from the second, third and fourth vertex respectively. 48

(d)

Fig. 7. Two-dimensional digraphs corresponding to monomial đ?‘€ - For the monomial đ?‘€ , we have đ?‘Łđ?‘Žđ?‘&#x;đ?‘–đ?‘Žđ?‘›đ?‘Ąđ?‘ [3] = 4; corresponding digraph is presented in Figure 7 2) The number of vertices of digraphs for polynomial realisation is equal to the size of maximal digraphs for monomial realisations, in this example đ?‘Łđ?‘’đ?‘&#x;đ?‘Ąđ?‘–đ?‘?đ?‘’đ?‘ = 4, the size of digraphs for đ?‘€ ; 3) Determine number of kernels needed for computation:đ?‘˜đ?‘’đ?‘&#x;đ?‘›đ?‘’đ?‘™đ?‘ = âˆ? đ?‘ đ?‘œđ?‘™[đ?‘šđ?‘œđ?‘›] â‹… đ?‘Łđ?‘Žđ?‘&#x;đ?‘–đ?‘Žđ?‘›đ?‘Ąđ?‘ [đ?‘šđ?‘œđ?‘›] = (1 â‹… 1) â‹… (1 â‹… 12) â‹… (1 â‹… 4) = 48; 4) Create đ??€ , đ??€ , đ?? and đ?? zeros matrices. At this moment, we can: create digraphs as a combination each of the monomial realisation, write matrix đ??€ , đ??€ , đ???, write đ?‘?đ?‘Śđ?‘?đ?‘™đ?‘’đ?‘ vector and đ?‘–đ?‘›đ?‘Ąđ?‘’đ?‘&#x;đ?‘ đ?‘’đ?‘?đ?‘Ąđ?‘–đ?‘œđ?‘› vector. For example: - For the đ?‘˜đ?‘’đ?‘&#x;đ?‘›đ?‘’đ?‘™[1], we take the irst realisation of the monomial đ?‘€ (Figure 5), the irst realisation of the monomial đ?‘€ (Figure 6a) and the irst realisation of the monomial đ?‘€ (Figure 7a). Digraph correspond-


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

0001 ⎤ ⎥ ⎢ 1 0 0 0 ⎼, ⎢0 0 0 0⎼ ⎣0 0 1 0⎌

0100 ⎤ ⎥ ⎢ 1 1 0 0 ⎼, ⎢0 1 0 0⎼ ⎣0 0 0 0⎌

ing to đ?‘˜đ?‘’đ?‘&#x;đ?‘›đ?‘’đ?‘™[1] is presented in Figure 8.

đ??€

Fig. 8. Two-dimensional digraphs corresponding to đ?‘˜đ?‘’đ?‘&#x;đ?‘›đ?‘’đ?‘™[1]

1000 ⎤ ⎥ ⎢ 1 0 0 0 ⎼, ⎢0 1 0 0⎼ ⎣0 0 0 0⎌ đ??€

0101 ⎤ ⎥ ⎢ 0 0 0 0 ⎼, ⎢0 0 0 0⎼ ⎣0 0 1 0⎌ đ??€

1101 ⎤ ⎥ ⎢ 1 0 0 0 ⎼, ⎢0 1 0 0⎼ ⎣0 0 1 0⎌

(18)

đ???

đ?‘?đ?‘Śđ?‘?đ?‘™đ?‘’đ?‘ = 1 1 0 1 , đ?‘–đ?‘›đ?‘Ąđ?‘’đ?‘&#x;đ?‘ đ?‘’đ?‘?đ?‘Ąđ?‘–đ?‘œđ?‘› = 1 0 0 0 . In this situation, we have a common part of monomial digraphs (vertex đ?‘Ł ), and we can assume that đ?‘˜đ?‘’đ?‘&#x;đ?‘›đ?‘’đ?‘™[1] is one of possible realisations of characteristic polynomial. - For the đ?‘˜đ?‘’đ?‘&#x;đ?‘›đ?‘’đ?‘™[3], we take the irst realisation of the monomial đ?‘€ (Figure 5), the irst realisation of the monomial đ?‘€ (Figure 6a) and the third realisation of the monomial đ?‘€ (Figure 7c). Digraph corresponding to đ?‘˜đ?‘’đ?‘&#x;đ?‘›đ?‘’đ?‘™[3] is presented in Figure 9.

Fig. 9. Two-dimensional digraphs corresponding to đ?‘˜đ?‘’đ?‘&#x;đ?‘›đ?‘’đ?‘™[3]

đ??€

0101 ⎤ ⎥ ⎢ 0 0 0 0 ⎼, ⎢0 0 0 0⎼ ⎣0 0 1 0⎌ đ??€

0101 ⎤ ⎥ ⎢ 1 0 0 0 ⎼, ⎢0 1 1 0⎼ ⎣0 0 1 0⎌

(19)

đ???

đ?‘?đ?‘Śđ?‘?đ?‘™đ?‘’đ?‘ = 1 1 0 1 , đ?‘–đ?‘›đ?‘Ąđ?‘’đ?‘&#x;đ?‘ đ?‘’đ?‘?đ?‘Ąđ?‘–đ?‘œđ?‘› = 0 0 0 0 . In this situation, we do not have a common part of monomial digraphs and đ?‘˜đ?‘’đ?‘&#x;đ?‘›đ?‘’đ?‘™[3] is not realisation of characteristic polynomial. - For the đ?‘˜đ?‘’đ?‘&#x;đ?‘›đ?‘’đ?‘™[6], we take the irst realisation of the monomial đ?‘€ (Figure 5), the irst realisation of the monomial đ?‘€ from the second vertex and the second realisation of the monomial đ?‘€ (Figure 7b). Digraph corresponding to đ?‘˜đ?‘’đ?‘&#x;đ?‘›đ?‘’đ?‘™[6] is presented in Figure 10.

Fig. 10. Two-dimensional digraphs corresponding to đ?‘˜đ?‘’đ?‘&#x;đ?‘›đ?‘’đ?‘™[6]

0101 ⎤ ⎥ ⎢ 2 1 0 0 ⎼, ⎢0 1 0 0⎼ ⎣0 0 1 0⎌

đ??€

2016

(20)

đ???

đ?‘?đ?‘Śđ?‘?đ?‘™đ?‘’đ?‘ = 1 1 0 1 ,

đ?‘–đ?‘›đ?‘Ąđ?‘’đ?‘&#x;đ?‘ đ?‘’đ?‘?đ?‘Ąđ?‘–đ?‘œđ?‘› = 0 1 0 0 .

In this situation, we have common part of monomial digraphs (vertex đ?‘Ł ), and we can assume that đ?‘˜đ?‘’đ?‘&#x;đ?‘›đ?‘’đ?‘™[6] is one of possible realisations of the characteristic polynomial. In this same way, we determine the remaining kernels. In our example, we have đ?‘˜đ?‘’đ?‘&#x;đ?‘›đ?‘’đ?‘™[1], ‌ , đ?‘˜đ?‘’đ?‘&#x;đ?‘›đ?‘’đ?‘™[48]. Using the second part of the function đ?‘?đ?‘&#x;đ?‘’đ?‘Žđ?‘Ąđ?‘’đ?‘†đ?‘œđ?‘™đ?‘˘đ?‘Ąđ?‘–đ?‘œđ?‘›đ??žđ?‘’đ?‘&#x;đ?‘›đ?‘’đ?‘™() for all kernels which have common part, we check the number of đ?‘›-vertex cycles in a characteristic polynomial realisation. At the beginning, we check, number of cycles consisting of one vertices, then two vertices, three vertices and four vertices respectively. In our example, we will check the number of cycles for: 1) Digraphs corresponding to đ?‘˜đ?‘’đ?‘&#x;đ?‘›đ?‘’đ?‘™[1] are presented in Figure 8. Matrix đ??? and vector đ?‘?đ?‘Śđ?‘?đ?‘™đ?‘’đ?‘ are described by the equation (18). - Check condition for simple cycle consisting of one vertex – ∑ đ?‘?, = ∑ đ?‘?, = 1 = đ?‘?đ?‘Śđ?‘?đ?‘™đ?‘’đ?‘ [1]; - Check condition for simple cycle consisting of two vertices (see Function 6 lines 7-9). 11 10 11 = 1; = 0; = 0; 10 00 00 ,

0000 ⎤ ⎥ ⎢ 1 0 0 0 ⎼, ⎢0 1 1 0⎼ ⎣0 0 0 0⎌

N∘ 3

,

,

00 00 00 = 0; = 0; = 0; 10 00 10 ,

,

(21)

,

đ?‘?đ?‘Śđ?‘?đ?‘™đ?‘’đ?‘ [2] = 1 + 0 + 0 + 0 + 0 + 0 = 1 - Check condition for simple cycle consisting of three vertices (see Function 6 lines 14-18). 000 101 121 120 100 = 0, 000 = 0, 100 = 0, 100 = 0 010 010 000 010

- Check condition for simple cycle consisting of four vertices (see Function 6 lines 7-9). 1201 ⎤ ⎥ 1 0 0 0⎼ ⎢ = 1, đ?‘„=đ???= ⎢0 1 0 0⎼ ⎣0 0 1 0⎌

đ?‘?đ?‘Śđ?‘?đ?‘™đ?‘’đ?‘ [4] = 1

At this moment, we can say that digraphs presented in Figure 8 do not appear addition cycles.

49


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

2016

2) Digraphs corresponding to đ?‘˜đ?‘’đ?‘&#x;đ?‘›đ?‘’đ?‘™[6] are presented in Figure 10. Matrix đ??? and vector đ?‘?đ?‘Śđ?‘?đ?‘™đ?‘’đ?‘ are described by the equation (20).

problem of the analysis of system dynamics for realisations on a different number of nodes in digraphs.

- Check condition for simple cycle consisting of one vertex – ∑ đ?‘?, = ∑ đ?‘?, = 1 = đ?‘?đ?‘Śđ?‘?đ?‘™đ?‘’đ?‘ [1]; - Check condition for simple cycle consisting of two vertices (see Function 6 lines 7-9).

Krzysztof HryniĂłw – Faculty of Electrical Engineering, Warsaw University of Technology, Koszykowa 75, 00-662 Warsaw, Poland, e-mail: Krzysztof.Hryniow@ee.pw.edu.pl. Konrad Andrzej Markowski∗ – Faculty of Electrical Engineering, Warsaw University of Technology, Koszykowa 75, 00-662 Warsaw, Poland, e-mail: Konrad.Markowski@ee.pw.edu.pl, www: http://nas.isep.pw.edu.pl.

01 00 01 = 2; = 0; = 0; 21 00 00 ,

,

,

10 10 00 = 0; = 0; = 0; 10 00 10 ,

,

AUTHORS

∗

(22)

,

đ?‘?đ?‘Śđ?‘?đ?‘™đ?‘’đ?‘ [2] = 2 + 0 + 0 + 0 + 0 + 0 = 2 This means that in digraph corresponding to đ?‘˜đ?‘’đ?‘&#x;đ?‘›đ?‘’đ?‘™[6] (see Figure 10) additional cycle consisting of two vertices appears, and digraph does not satisfy the characteristic polynomial (14).

6. Concluding Remarks The paper presents in-depth examination of the parallel computer algorithm for inding a set of characteristic polynomial realisations of dynamic system. The algorithm is based on the multi-dimensional digraphs theory to allow creation of a set of solutions of characteristic polynomial realisations instead of just one solution – this is what makes the main difference between the proposed method and other state-of-theart solutions. Moreover, the presented algorithm created solutions that are always minimal in terms of size of the state matrices. The algorithm gives as a result a set of realisations of characteristic polynomial, both in the form of digraphs and state matrices representation. Due to NP-hard complexity of the problem, as digraphs-building methods used in the algorithm are NP-complete or NP-hard problems, as presented in Section 4, the algorithm needs to be paralleled using GPGPU (General-Purpose computing on Graphics Processor Units) computation as it is impossible to sequentially check all needed solutions. Even for parallel implementation the method is still time consuming and of factorial computational complexity. The paper presents optimisation of the algorithm, based on mathematical principles of circular multi-set permutations, that eliminates the problem with the worstcase scenario of the basic version of the algorithm, reduces a number of unnecessary created potential solutions (and thus complexity and working time of the algorithm) both in growth and prune steps, allows for parallel execution of both growth and prune steps and simpli ies the algorithm workings for 1D monomials and polynomials. Proposed modi ications greatly reduce time needed for candidate generation. Further work, apart from optimisation, includes extension of the algorithm to ind all possible solutions (not only minimal), solve the realisation problem, reachability and controllability of systems using the fast graph-based method. There is also an open 50

N∘ 3

Corresponding author

REFERENCES [1] J. Bang-Jensen, G. Gutin, Digraphs: Theory, Algorithms and Applications (2nd Edition), SpringerVerlag: London, 2009. [2] L. Benvenuti, L. Farina, “A tutorial on the positive realization problem�, IEEE Transactions on Automatic Control, vol. 49, no. 5, 2004, 651–664. [3] A. Berman, M. Neumann, R. J. Stern, Nonnegative Matrices in Dynamic Systems, Wiley: New York, 1989. [4] M. Bisiacco, E. Fornasini, G. Marchesini, “Dynamic regulation of 2D systems: A state-space approach�, Linear Algebra and Its Applications, vol. 122–124, 1989, 195–218. [5] T. Blyth, E. Robertson, Basic Linear Algebra (2nd Edition), Springer: London, 2002. [6] M. Bona, Combinatorics of Permutations(Second Edition), Chapman Hall, CRC Press, 2012. [7] R. Bru, C. Coll, S. Romero, E. Sanchez, “Reachability indices of positive linear systems�, Electronic Journal of Linear Algebra, vol. 11, 2004, 88–102. [8] R. Bru, S. Romero-Vivo, E. Sanchez, “Reachability indices od periodic positive systems via positive shift-similarity�, Linear Algebra and Its Applications, vol. 429, 2008, 1288–1301. [9] E. Fornasini, G. Marchesini, “State-space realization theory of two-dimensional ilters�, IEEE Trans, Autom. Contr., vol. 21, 1976, 481–491. [10] E. Fornasini, M. E. Valcher, “Directed graphs, 2D state models, and characteristic polynomials of irreducible matrix pairs�, Linear Algebra and Its Applications, vol. 263, 1997, 275–310. [11] E. Fornasini, M. E. Valcher, “On the positive reachability of 2D positive systems�, LCNIS, 2003, 297–304. [12] E. Fornasini, M. E. Valcher, “Controllability and reachability of 2D positive systems: a graph theoretic approach�, IEEE Transaction on Circuits and Systems I, no. 52, 2005, 576–585. [13] L. R. Foulds, Graph Theory Applications, Springer Verlag, 1991. [14] C. Godsil, G. Royle, Algebraic Graph Theory, Springer Verlag, 2001.


Journal of Automation, Mobile Robotics & Intelligent Systems

[15] S. Hong, T. Oguntebi, K. Olukotun, “Ef icient parallel graph exploration on multi-core CPU and GPU”. In: Parallel Architectures and Compilation Techniques (PACT), 2011 International Conference on, 2011, 78–88. [16] R. A. Horn, C. R. Johnson, Topics in Matrix Analysis, Cambridge Univ. Press, 1991. [17] K. Hrynió w, “Parallel pattern mining on Graphics Processing Units”. In: Proceedings of 2013 14th International Carpathian Control Conference (ICCC), 2013, 134–139. [18] K. Hrynió w, K. A. Markowski, “Conditions for digraphs representation of the characteristic polynomial”. In: Young Scientists Towards the Challenges of Modern Technology, 2014, 77–80. [19] K. Hrynió w, K. A. Markowski, “Parallel digraphsbuilding algorithm for polynomial realisations”. In: Proceedings of 2014 15th International Carpathian Control Conference (ICCC), 2014, 174–179. [20] K. Hrynió w, K. A. Markowski, “Reachability index calculation by parallel digraphs-building”. In: 19th International Conference on Methods and Models in Automation and Robotics (MMAR), Miedzyzdroje, Poland, September 2-5, 2014, 2014, 808–813. [21] K. Hrynió w, K. A. Markowski, “Digraphs-building of complete set of minimal characteristic polynomial realisations as means for solving minimal realisation problem of nD systems”, International Journal of Control, 2015, (Submitted to). [22] K. Hrynió w, K. A. Markowski, “Optimisation of digraphs creation for parallel algorithm for inding a complete set of solutions of characteristic polynomial”. In: 20th International Conference on Methods and Models in Automation and Robotics (MMAR), 2015, 2015, 1139–1144. [23] K. Hrynió w, K. A. Markowski. “Classes of digraph structures corresponding to characteristic polynomials”. In: R. Szewczyk, C. Zieliń ski, and M. Kaliczyń ska, eds., Challenges in Automation, Robotics and Measurement Techniques, Advances in Intelligent Systems and Computing, 329–339. Springer International Publishing, 2015. [24] K. Hrynió w, K. A. Markowski. “Optimisation of digraphs-based realisations for polynomials of one and two variables”. In: R. Szewczyk, C. Zieliń ski, and M. Kaliczyń ska, eds., Progress in Automation, Robotics and Measuring Techniques, volume 350 of Advances in Intelligent Systems and Computing, 73–83. Springer International Publishing, 2015. [25] R. Impagliazzo, R. Paturi, “On the complexity of k-SAT”, Journal of Computer and System Sciences, vol. 62, 2001, 367–375. [26] T. Kaczorek, “Realization problem for general model of two-dimensional linear systems”, Bulletin of the Polish Academy of Sciences, Technical Sciences, vol. 35, no. 11–12, 1987, 633–637.

VOLUME 10,

N∘ 3

2016

[27] T. Kaczorek, Positive 1D and 2D systems, Springer Verlag: London, 2001. [28] T. Kaczorek, “Positive realization for 2D systems with delays”. In: Proceedings of 2007 International Workshop on Multidimensional (nD) Systems, 2007, 137 – 141. [29] T. Kaczorek, “Positive realization of 2D general model”, Logistyka, vol. nr 3, 2007, 1–13. [30] T. Kaczorek, M. Busłowicz, “Minimal realization problem for positive multivariable linear systems with delay”, Int. J. Appl. Math. Comput. Sci., no. 14(2), 2004, 181 – 187. [31] T. Kaczorek, L. Sajewski, The Realization Problem for Positive and Fractional Systems, Springer International Publishing: Berlin, 2014. [32] D. Luebke and G. Humphreys, “How GPUs work”, IEEE Computer, vol. 40, 2007, 96–100. [33] K. A. Markowski, “Determination of positive realization of two dimensional systems using digraph theory and GPU computing method”. In: International Symposiumon Theoretical Electrical Engineering, 24th – 26th June 2013: Pilsen, Czech Republic, 2013, II7–II8. [34] K. A. Markowski, “Determination of Reachability Index Set of Positive 2D System Using Digraph Theory and GPU Computing Method”. In: 18th International Conference on Methods and Models in Automation and Robotics (MMAR), Miedzyzdroje, Poland, August 26-29, 2013, 2013, 705–710. [35] K. A. Markowski, “Determination of minimal realisation of one-dimensional continuous-time fractional linear system”, International Journal of Dynamics and Control, 2016 (Accepted). [36] W. D. Wallis, A Beginner’s Guide to Graph Theory, Biiokhä user, 2007. [37] L. Xu, H. Fan, Z. Lin, N. Bose, “A directconstruction approach to multidimensional realization and LFR uncertainty modeling”, Multidimensional Systems and Signal Processing, vol. 19, no. 3–4, 2008, 323–359. [38] L. Xu, L. Wu, Q. Wu, Z. Lin, Y. Xiao, “Reduced-order realization of Fornasini-Marchesini model for 2D systems”. In: Circuits and Systems, 2004. ISCAS ’04. Proceedings of the 2004 International Symposium on, vol. 3, 2004, III–289–292. [39] L. Xu, L. Wu, Q. Wu, Z. Lin, Y. Xiao, “On realization of 2D discrete systems by Fornasini-Marchesini model”, International Journal of Control, Automation, and Systems, vol. 4, no. 3, 2005, 631–639. [40] L. Xu, Q. Wu, Z. Lin, Y. Xiao, Y. Anazawa, “Futher results on realisation of 2D ilters by FornasiniMarchesini model”. In: 8th International Conference on Control, Automation, Robotics and Vision, Kunming, China, 6-9th December, 2004, 1460–1464.

51


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

N° 3

2016

Decomposition versus Minimal Path and Cuts Methods for Reliability Evaluation of an Advanced Robotic Production System Submitted: 21st February 2016; accepted: 26th April 2016

Aida Shojaeifar, Hamed Fazlollahtabar, Iraj Mahdavi DOI: 10.14313/JAMRIS_3-2016/24 Abstract: As complex systems have become global and essential in today’s society, their reliable design and the determination of their availability have turned into a very important task for managers and engineers. Industrial robots are examples of these complex systems that are being increasingly used for intelligent transportation, production and distribution of materials in warehouses and automated production lines. In this paper, two techniques of reliability evaluation are developed for a complex system of robots. Decomposition method and minimal path and cuts method are adapted for the proposed complex system. For practical implementation, a particular robot system is first modeled. Then, reliability block diagram is adopted to model the complex system for reliability evaluation purpose. Finally, the methods are implemented and their properties are discussed. Keywords: complex system reliability, industrial robots, decomposition method (DM), minimal paths and cuts method (MPCM) cone

1. Introduction

52

In the past few years a considerable amount of work has been devoted to improve the efficiency of methodologies applied to reliability and safety analyses of industrial plants. In particular, the need for a more detailed analysis of the system under study is growing, whereby the plants structures as well as its working conditions were taken into account. This implies the evaluation of the interaction of several elements, namely physical transient, control system intervention and operator tasks, which are very important during operational or abnormal situations [3]. Much effort has been devoted to fill the gap between deterministic dynamic analyses of plants, i.e. engineering simulations particularly useful to study small configurations, and classical reliability methods, such as logical methodologies like Fault Trees (FTs) and Event Trees (ETs), necessary to study complex system as a whole [3]. New approaches have been embarked on: as an example Jeong [16] introduced the Markov chain in the FT analysis to permit the evaluation of the probabilistic behavior of system unavailability versus time, when the plant is decomposed into a reasonable number of super components; other studies have been developed to assess the system reliability by a dynamic and qualitative approach based on Petri

Nets theory and Markov chains [6, 21]. The GO FLOW method has been realized to enhance the GO characteristics with the introduction of a time-ordered analysis [31, 23]. All these methodologies show very interesting approaches to system analysis, but they present two main problems: • The effort needed for system decomposition into supercomponents or the construction of charts; • The adequacy of the process model used in the probabilistic analysis of the system to represent the actual interaction between the process physics and component behavior. The first issue is related to the need to study the reliability of a complex system in detail and it does not seem to be avoidable. On the contrary, the second problem can be tackled by a more accurate study of the physical and dynamic behavior of the system; a number of methods are being developed with the particular attention to this problem. As an example the approach proposed by Hassan and Aldemir [13] separated the physical and probabilistic analysis and realizes a suitable method to assess top event sensitivity to uncertainty on the component failure data. Other methods are the Markov Failure Modelling [2] and the Continuous Event Tree method [27] which link the system model to probabilistic treatment using Markovian or semi-Markovian chains in a complete theoretical analysis, but seem to be very difficult to apply on large configurations; the DYLAM attainment and the possible recovery of “top” methodology, which uses a quantitative dynamic process model for probabilistic analysis; and finally the Dynamic Event Tree method [26] which is similar to DYLAM approach, but deals with the system at a lower level of detail in order to reduce the computation efforts. There is extensive literature on reliability characteristics of repairable systems with two or three components under varying assumptions on the failures and repairs. In most of these papers, exponential distributions are assumed for mathematical convenience. The concept of reliability can also be applied in other fields using different techniques. Mahajan and Singh [22] discussed the reliability analysis of utensils manufacturing plant. Goel and Singh [11] presented reliability analysis of a standby complex system having imperfect switch over device and availability analysis of butter manufacturing system in a dairy plant. Singh [25] suggested some applications of reliability technology such as fertilizer industry, sugar industry and biogas plant. Dhillon and Natesan [8] discussed power system in fluctuating environment. Dayal and


Journal of Automation, Mobile Robotics & Intelligent Systems

Singh [7] studied reliability analysis of a system in a fluctuating environment. Kumar et al. (1988) discussed feeding systems in the sugar industry. Traditional system reliability analysis methodologies are based on “bottom up” relationships between system and component reliabilities, such as the methodologies explained by Hoyland and Rausand [15], Kumamoto and Henley [18], and the Nuclear Regulatory Committee (NRC) Probability Risk Assessment Guide (1983). This approach drives reliability analysis towards understanding component reliability characteristics, which then allows system level reliability prediction. Recent techniques allow reliability analysis to be conducted at sub-system or system levels (which is referred to as higher level as it appears “higher” in many visualization methodologies). The parameters that describe the reliability characteristics of components define the reliability characteristics of the system. Accordingly, these parameters will always be the unknowns of interest in any system reliability analysis, and, correspondingly, reliability analysis inherently involves the “downwards” propagation of information. Conversely, reliability prediction is an “upwards” expression of information. During the recent years, the requirement of modern technology, especially the complex systems used in the industry, leads to a growth in the amount of researches about the design for reliability. Avontuur and van der Werff [5] and Avontuur [4] emphasized the importance of reliability analysis in the conceptual design phase. It is demonstrated that it is possible to improve a design by applying reliability analysis techniques in the conceptual design phase. The aim is to quantify the cost of failure and unavailability and compare them with investment cost to improve the reliability [1]. In following the increase of using automatic systems, the problem of performance reliability in such equipment and regarding to it, some indexes such accessibility, rate of fault and etc. are suggested. Since the most automatic systems are designed for continuous missions and the destruction during the mission can make high expenses for utilizers, so evaluating the assurance on equipment must be considered in different steps and also in the phase of planning, to prevent such unwanted destructions (faults) during the work [10]. In this field Korayem and Iravani [17] have promoted the reliability and improvement of robot 3P and robot 6R by tools FMEA and QFD. Structural design via deterministic mathematical programming techniques has been widely accepted as a viable tool for engineering design [12]. However, in most structural engineering applications response predictions are based on models involving uncertain parameters. This is due to a lack of information about the value of system parameters external to the structure such as environmental loads or internal such as system behavior. Under uncertain conditions the field of reliability – based optimization provides a realistic and rational framework for structural optimization which explicitly accounts for the uncertainties [9, 20, 24]. Although risk assessment evaluation of complex dependable systems can be performed through the

VOLUME 10,

N° 3

2016

use of dynamic stochastic modeling, in the real industrial world the well-known combinatorial techniques, such as Reliability Block Diagram (RBD) and Static Fault Tree (SFT), are still the most widely used [28]. This paper is organized as follows: The problem is stated and formulated in Section 2. An implementation study is conducted in Section 3. Section 4 contains conclusion and some recommendations for future works.

2. Proposed Problem and Methods

Consider a complex production system including automated processes and multiple robots. In this system, appropriate functioning of the facilities is guaranteed by functioning of its vital equipment. The question is how to evaluate and analyze the performance of the system defined by the availability of the whole system. In this regard, the reliability evaluation comes to the picture as an effective instrument. While the system under consideration is complex due to having many material handling robots, developing an efficient approach to compute and analyze the system reliability has a significant benefit. For instance, this helps to determine proper arrangements of robots and machine layout as well as specifying an adequate process plan. Note that all these factors influence the reliability of the whole system. In addition, as the robots are assumed to operate in two states of working and not working, in what comes in the next subsection some techniques that are capable of determining the reliability of a complex system are explained.

2.1. Decomposition Method

One way to determine the reliability of complex system is decomposition method (DM). According to DM, a component is chosen close to the left or to the right end of the system block diagram. This component is called “keystone”. Then, the conditional reliability of the system given that the “keystone” survives, and the conditional system reliability given that the “keystone” fails is computed. The reliability of the whole system is then determined as a weighted average of these two conditional reliabilities, where the weights are the reliability of the “keystone”, R and 1-R, respectively. Lets’ consider the “keystone” by CX and the corresponding reliability by RX, then, ,

(1)

where is the conditional reliability when the “keystone” survives and is the conditional reliability when the “keystone” fails.

2.2. Minimal Paths and Cuts Method

Minimal path and cuts method (MPCM) is a technique for reliability computation in complex systems specifically network systems. Let be a function of n variables, 0 £ xi £ 1 for all i = 1, … , n. this function is called a “structure function” if when the system survives and is equal to zero otherwise, where I1, …, In are survival indicators of the components. Articles

53


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

Consider a system S of n components, represented by a given structure function. Let be a set of m components of S. P is called a “path set” if the system S survives whenever all the elements of P are survive. A path set, P, is called minimal if the set is not a path set following the exclusion of any of its members, i.e., no proper subset of P is a path set. Having the block diagram of a system all the minimal paths can be listed. A “cut set” is a set of components of a system such that if all the components belonging to the set fail then the system fails, too. A cut set is called minimal if the survival of any of its elements entails system survival.

3. Numerical Example

Let’s consider a numerical example to show the effectiveness of implementing the proposed methods for reliability evaluation of an advanced production system. Consider a production system having 9 robots for material handling which are either active or failed (binary state). The robots are unidirectional and move between stations S and T. a configuration of the system is drawn in Figure 1. Using the decomposition method we need to determine a keystone robot first. Robot 6 is considered as keystone and using the equation below the reliability of the system is computed:

(2)

Since the formula is conditional we need to compute the reliability based on the condition given separately. First, consider that robot 6 is active then all paths including robot 6 are functioning. Thus, the paths are: 1-2-6-8; 3-2-6-8; 1-2-6-7-9; 3-2-6-7-9. The series/parallel structures in different paths are taken in to account for reliability evaluation of the system. Robots 1 and 2 are series and their integration is parallel with robot 3. Also, robots 7 and 9 are series and their integration is parallel with robot 8 and the integration is series with robot 6. Then, mathematically we have, . (3)

The second case is when the system is conditionally not working so that robot 6 as keystone is failed.

Fig. 1. Configuration of the system understudy 54

Articles

N° 3

2016

Then, paths should be selected in which robot 6 is not present. The paths are: 3-5-7-9; 4-7-9.

Then according to the decomposition main formula, we obtain: (4)

The reliability of the system is the addition of the two preceding relations as given below,

(5)

Since robots are similar and homogenous (R = 0.845), then the numerical result of the system reliability when robot 6 is the keystone is obtained to be 0.928. The same computations are performed when other robots are considered as keystone. The results are summarized in Table 1. Table 1. Different keystones and the corresponding reliability of the system Keystone robot

Reliability of the system

2

0.776

1 3

0.701 0.891

4

0.7415

7

0.815

5 8 9

0.6528 0.8117 0.94

The results in Table 1 show that when robot 9 is considered as a keystone, the reliability of the system is increased. Then, maintenance department should concentrate more on this robot for more system availability. The decomposition method is used when the system in in network configuration.


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

N° 3

2016

B1 B2

B3

B8 B7

B6

B5

B4

B10

B11

B12

B9

B22

B21

B20

B19

B18

B32

B31

B30

B29

B27

B28

B16

B26

B17

B15

B24

B25

B23

B14

B13

Figure 2. Reliability block diagram Now, consider a system having the following reliability block diagram shown in Figure 2. Also, the block diagram coding is presented in Table 2. Table 2. Block diagram coding B1 B2

Fails in dispatching

Failure in allocation

B3

Condition met for failure in dispatching

B5

Failure of reflecting control system

B4

Sending false command from system

B6

Failure of emergency stopping system

B8

Failure of the protecting system

B10

Robot mechanical parts failure in dispatching

B12

Loss of power supply

B7 B9

B11

Locking of the holding system

Failure of the electrical system

Robot input and control failures in dispatching

B13

Drive unite (brushless DC electric motor failure )

B15

Steering failure

B14 B16

Brake system failure

Laser navigation system failures

B17

Robot software control system failure

B19

Over heat

B18 B20 B21

Safety system failure Electrical charge Leakage

B22

Performance degeneration

B24

Humidity

B23 B25

Motor temp

Depreciation

B26

Failure of the network

B28

P.L.C connection to other components

B30

Failure of the system processor hardware

B32

Failure of the protecting system sensors

B27 B29 B31

Failure in connections

P.L.C control system fail

Failure of the communicating system

According to the block diagram of a 9 robot system, the reliability of the whole system is computed using minimal path and cut. Initially, the existing minimal paths are determined (according to definitions given in section 2.2). Note that Lj implies robot jth.

Path 1: {L1,L2,L6,L8}; Path 2: {L3,L5,L7,L9}; Path 3: {L4,L7,L9}; Path 4: {L3,L2,L6,L8}; Path 5: {L3,L2,L6,L7,L9}; Path 6: {L1,L2,L6,L7,L9}.

In identifying the minimal paths it should be noted that the robot movement is unidirectional. Then the proposed structure function is,

(6) Articles

55


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

2016

While robots are only in two states of active and fail then Is just take values 0 or 1. So, the reliability of the system is,

• Developing a predicitve maintenance plan in parallel with relaibility evaluation.

(7)

Aida Shojaeifar – Department of Industrial Engineering, Mazandaran University of Science and Technology, Babol, Iran. E-mail: aidashojaeifar@yahoo.com.

Since we consider homogenous robots having similar reliability, the reliability of the systems is, RSYS= (0.845)9= 0.22.

Now, the cut paths are determined using the block diagram. Cut paths are the ones that are failed when all components on them are failed. The cut paths are listed below: {L1,L3,L6}; {L1,L3,L7}; {L2,L3,L4}; {L2,L3,L7}; {L2,L5,L4}; {L2,L5,L7}; {L6,L3,L4}; {L6,L3,L7}; {L6,L5,L4}; {L6,L5,L7}; {L6,L9}; {L8,L9}; {L2,L9}; { L7,L8 }. Then, the corresponding structure function is,

ɸ ( I1,…,I9)= ɸ (I1I3I6 , I1I3I7 , I2I3I4 , I2I3I7 , I2I5I4 , I2I5I7 , I6I3I4 , I6I3I7 , I6I5I4 , I6I5I7 , I6I9 , I8I9 , I2I9 , I7I8 )= [1-(1-I3) (1-I1)(1-I6) ] . [1-(1-I3)(1-I1)(1-I7) ] . [1-(1-I2)(1-I3) (1-I4) ] . [1-(1-I2)(1-I3)(1-I7) ] . [1-(1-I2)(1-I5)(1-I4) ] . [1-(1-I2)(1-I5)(1-I7) ] . [1-(1-I6)(1-I3)(1-I4)] . [1-(1-I6) (1-I3)(1-I7)] . [1-(1-I6)(1-I5)(1-I4)] . [1-(1-I6)(1-I5)(1I7)] . [1-(1-I6)(1-I9)] . [1-(1-I8)(1-I9)] . [1-(1-I2)(1-I9)] . [1-(1-I7)(1-I8)].

and the reliability of the system is,

Rsys =(R1R3R6 , R1R3R7 , R2R3R4 , R2R3R7 , R2R5R4 , R2R5R7 , R6R3R4 , R6R3R7 , R6R5R4 , R6R5R7, R6R9 , R8R9 , R2R9 , R7R8)= [1-(1-R3)(1-R1)(1-R6) ] . [1-(1-R3)(1-R1)(1-R7) ] . [1(1-R2)(1-R3)(1-R4) ] . [1-(1-R2)(1-R3)(1-R7) ] . [1-(1R2)(1-R5)(1-R4) ] . [1-(1-R2)(1-R5)(1-R7) ] . [1-(1-R6) (1-R3)(1-R4)] . [1-(1-R6)(1-R3)(1-R7)] . [1-(1-R6)(1-R5) (1-R4)] . [1-(1-R6)(1-R5)(1-R7)] . [1-(1-R6)(1-R9)] . [1(1-R8)(1-R9)] . [1-(1-R2)(1-R9)] . [1-(1-R7)(1-R8)]. where the numerical value of reliability is obtained to be 0.8741.

4. Conclusions

56

N° 3

In this paper, two methods were adapted to evaluate the reliability of a complex system includig robots in a production system. The proposed model considered binary state robots that are functioning as material handling devices in a production system. In this approach, the reliability block diagram was presented, based on which the structure of robots were determined. Then, using decomposition and minimal paths and cuts methods the reliability of a complex system was computed. As for future research directions the following can be pointed out: • Considering multiple state system of a robot instead of using a binary state; • State transition consideration in modelling and evaluation of reliability for the proposed robotic system; Articles

AUTHORS

Hamed Fazlollahtabar* – Faculty of Industrial Engineering, Iran University of Science and Technology, Tehran, Iran. E-mail: hfazl@alumni.iust.ac.ir. Iraj Mahdavi – Department of Industrial Engineering, Mazandaran University of Science and Technology, Babol, Iran. E-mail: irajarash@rediffmail.com *Corresponding author

REFERENCES

[1]

Abo Al-Kheer A., El-Hami A., Kharmanda M. G., Mouzaen A. M., “Reliability-based design for soil tillage machines”, Journal of Terramechanics, vol. 48, no. 1, 2011, 57–64. DOI: 10.1016/j. jterra.2010.06.001. [2] Aldemir T., “Computer-assisted Markov failure modeling of process control system”, IEEE Transactions on Reliability, vol. 36, 1987, 133–44. [3] Apostolakis G., Chu T. L., “Time-dependent accident sequences including human actions”, Nucl. Technol., 64, 1984, 115–26. [4] Avontuur G.C., Reliability analysis in mechanical engineering design, [Ph.D. thesis], Delft University Press, Delft, The Netherlands, 2000. [5] Avontuur G.C., van der Werff K., “An implementation of reliability analysis in the conceptual design phase of drive trains”, Reliability Engineering & System Safety, vol. 73, no. 2, 2001, 155–165. [6] Bobbio A., Use of Petri nets for System Reliability Analysis. Paper presented at Ispra Course ‘Advanced, Informatic Tools for Safety and Reliability Analysis’, Commission of the European Communities, Ispra (VA), Italy, 24th–28th Oct., 1988. [7] Dayal B., Singh J., “Reliability analysis of a system in a fluctuating environment”, Microelectron. Reliab., vol. 32, 1992, 601–603. [8] Dhillon B.S., Natesan J., “Stochastic analysis of outdoor power system in fluctuating environment”, Microelectron. Reliab., vol. 23, 1983, 867–881. [9] Enevoldsen I., Sørensen J.D., “Reliability-based optimization in structural engineering”, Struct. Saf., vol. 15, no. 3, 1994, 169–96. [10] Fiorenzo M., “Automation and Robotic in Construction, New Challenge for Old and New Industrialized Countries”, Automation in construction, 2008, 109–110. [11] Goel P., Singh J., Reliability analysis of a standby complex system having imperfect, 1995.


Journal of Automation, Mobile Robotics & Intelligent Systems

[12] Haftka R.T., Gürdal Z., Elements of structural optimization, 3rd edition, Kluwer, New York, USA, 1992. [13] Hassan M., Aldemir T., “A data base oriented dynamic methodology for the failure analysis of closed loop control systems in process plants”, Reliability Engineering & System Safety, 27, 1990, 275–322. [14] Hickman J. W., PRA procedures guide: a guide to the performance of probabilistic risk assessments for nuclear power plants, NUREG/CR-2300, vol. 1, 1983. [15] Hoyland A., Rausand M., System reliability theory: models, statistical methods, and applications, 2nd ed., John Wiley & Sons, Inc, 2004. [16] Jeong K. S., Chang S. H.m, Kim T. W., “Development of the dynamic fault tree using Markovian process and supercomponents”, Reliability Engineering & System Safety, 19, 1987, 137–160. [17] Korayem M.H., Iravani A., “Improvement of 3P and 6R Mechanical Robots Reliability and Quality Applying FMEA and QFD Approaches”, Robotics and Computer-Integrated Manufacturing, vo. 24, no. 3, 2008, 472–487. DOI: 10.1016/j. rcim.2007.05.003. [18] Kumamoto H., Henley E. J., Probabilistic risk assessment and management for engineers and scientists, 2 ed., Wiley-IEEE Press, 2000. [19] Kumar D., Singh J., Singh I.P., “Reliability analysis of the feeding system in paper industry”, Microelectron. Reliab., vol. 28, 1988, 213–215. [20] Kuschel N., Rackwitz R., “Two basic problems in reliability-based structural optimization”, Math Methods Oper. Res, vol. 46, no. 3, 1997, 309–33. [21] Leroy A., “Economic study of the need to keep an emergency pipeline repair system on stand-by”, The SRS Quarterly Digest, 1989, 10–14. [22] Mahajan P., Singh J. “Reliability of utensils manufacturing plant — A case study”, Opsearch, vol. 36, 1999, 260–271. [23] Matsuoka T., Kobayashi M., “GO-FLOW: A new reliability analysis methodology”, Nuclear Science & Engineering, vol. 9, no. 8, 1988, 64–78. [24] Royset J.O., Der Kiureghian A., Polak E., “Reliability-based optimal structural design by the decoupling approach”, Reliab. Eng. Syst. Saf., vol. 73, no. 3, 2001, 213–21. [25] Singh J., “A warm stand by redundant system with common cause failures”, Reliab. Eng. Syst. Saf., 26, 1989, 135–141. [26] Siu N., Acosta C., “Dynamic event tree analysis – an application to SGTR”. In: Proceedings of the International Conference Probabilistic Safety Assessment and Management (PSAM), ed. G. E. Apostolakis. Elsevier Science Publishers, London 1991, 539–41. [27] Smidts C., Simulation des srquences industrielles accidentelles prenant en compte le facteur humaine. Application au domaine des centrales nucleaires. PhD Thesis, Universitd Libre de Bruxelles, Bruxelles, France, 1990. [28] Stamatelatos M., Vesely W., Dugan J.B., Fragola J., Minarick J., Railsback J., Fault tree handbook with

VOLUME 10,

N° 3

2016

aerospace applications. Washington, DC: NASA Office of Safety and Mission Assurance, 2002. [29] switch over device, Microelectron. Reliab., 35, 285–288. [30] Vesely W. E., Goldberg F. F., “Time dependent unavailability analysis of nuclear safety systems”, IEEE Trans. Reliability, vol. 264, 1977, 257–260. [31] Williams R. L., Gateley W. Y., GO Methodology – Overview. EPRI NP-765, Electric Power Research Institute, 1978.

Articles

57


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

N° 3

2016

Comparative Study of Optimised Artificial Intelligence Based First Order Sliding Mode Controllers for Position Control of a DC Motor Actuator Submitted: 13th June 2016; accepted 26th August 2016

Bassey Etim Nyong-Bassey, Benjamin Akinloye DOI: 10.14313/JAMRIS_3-2016/25 Abstract: This paper aims at critically reviewing various sliding mode control measures applied to Permanent Magnet DC Motor actuator for position control. At first, a hybrid sliding mode controller was examined with its advantages and disadvantages. Then, the smooth sliding mode controller in the same manner. The shortcomings of the two methods were overcome by proper switch design and also using tanh-sinh hyperbolic function. The sliding mode controller switches on when either disturbance or noise is detected. Genetic Algorithm Computational tuning technique is employed to optimize the gains of the controllers for optimal response.The performance of the proposed controller architecture, as well as the reviewed controllers, have been compared for performance evaluation with respect to several operating conditions. This includes load torque disturbance injection, noise injection in a feedback loop, motor nonlinearity exhibited by parameters variation, and a step change in reference input demand. Keywords: adaptive fuzzy control, DC motor position control, genetic algorithm, particle swarm optimization, sliding mode control

1. Introduction

58

The purpose of the paper is to provide a critical review while presenting new elements with respect to some fundamental issues and challenges related to Adaptive Fuzzy Sliding Mode Controller for position control of a DC motor actuator. The utilization of the DC motor extends across a wide gamut of industrial applications. This includes; rolling mills, electric cranes, electric locomotives; trains, trams, and robotics [1–8]. For precision, a controller of high performance is preferred and characterized by good load torque disturbance rejection, and exhibits minimal or no overshoot [2, 9]. The sliding mode controller (SMC) is well known for it’s robust to disturbance and insensitive to parameter variation. In [10] fully decentralized fuzzy sliding mode controller (FDFSMC) technique was used for the stabilization of a Quadrotor UAV attitude. The choice of the SMC scheme was based on the existing literature on this nonlinear control approach because of its robustness against the incertitude and external perturbation. However, the chattering phenomenon

is the major drawback of the proposed techniques of FDFSM. The proportional integral derivative (PID) Controller is very common for industrial control system use. The gains of the PID controller can be tuned by Ziegler-Nichols (Z-N), root locus pole placement, trial and error method. Also, it may be tuned by some form of optimization technique such as Genetic algorithm or particle swarm optimization. The optimal response is not guaranteed with the PID controller after tuning the gains as a degree of overshoot, steady state error and long settling time are often a trade-off for a fast rise time [11]. Author [12] worked on optimization of performance specifications of industrial permanent magnet DC motor based on particle swarm optimization (PSO) method. The enhanced performance was achieved by optimally tuning of the Proportional-Integral-Derivative (PID) controller gains. The proposed method was applied to the linear model of PMDC motor. The performance of the suggested objective function of PSO was then compared with the performance of other objective functions of PSO and conventional Ziegler Nichols (ZN) method. The comparison clearly indicated the effectiveness of the optimisation technique. During motor operation, since the conventional PID controller gains are tuned offline they remain fixed in the prevalence of nonlinearities. Hence, the output response is affected [11]. The fuzzy logic controller is suitable for negating the effect of non-linearity which may result from mechanical wear and tear in the motor drive as well as disturbance. Author [13] applied both the conventional SMC and a decentralized fuzzy architecture (FDFSMC). The decentralized architecture comprised of a fuzzy SMC in conjunction with an adaptive Fuzzy-PID. A fuzzy inference mechanism was used to reduce the chattering phenomenon inherent in the conventional SMC. However, the sign function used for switching the sliding mode controller exhibited chattering. In [14] the output of a PID controller is used as to establish the sliding surface of a Fuzzy SMC as applied in position control of a DC motor. Thus the controller structure incorporates a parallel control action by PID and Fuzzy logic Sliding mode (PID+FSMC). From previous study, various methods based on fuzzy sliding mode control have been deduced for position control of a DC motor. However, not one of them can be said to be completely satisfactory. This work, therefore, carries out a comparative study on various sliding mode control methods. The strengths


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

and shortcomings associated with each fuzzy sliding strategy has been underpinned. Modifications to the fuzzy sliding mode reaching law and switching function has been proposed in this work. The proposed model has been compared with the existing models with respect to robustness to nonlinearities and exogenous disturbance as well as setpoint tracking.

2. Mathematical Modeling of DC Motor

The mathematical equations for modeling the DC motor is established by Kirchhoff’s voltage law and Newton’s second law of motion for the armature circuit and mechanical section in turn. The DC motor schematic diagram is shown in Figure 1.

Fig. 1. PMDC motor schematic [15] By Kirchhoff’s voltage law, the armature circuit equation is determined from first principle: (1)

(2)

Consequently, by Newton’s second law of motion, the mechanical rotor equation is given: (3)

Where,

(4) T = Kti.

K = K t = Ke

By re-arranging equations (1) and (3):

(5)

(6)

(7)

(8)

By applying Laplace transform to equation (7) and (8) the equations become: (9)

(10)

By the elimination of I (s) in equation (8) and (9) the transfer function of the input voltage to output speed of the DC motor is given as:

N° 3

2016

(11)

Similarly, the transfer function encompassing output position and input voltage is derived by substituting equation (2.4) into equation (2.10) as shown:

(12)

The DC motor state space representation is shown in canonical form:

V (13) Where, − I is the current in the armature winding (In ampere), − E is the armature winding back E.M.F (In volt), − R is the armature winding resistance (In ohm), − V is the armature voltage (In volt), − T is mechanical torque (In Nm), − Ke is the back E.M.F constant (Nm/A), − L is the armature winding inductance (In Henry), − J is moment of inertia of the motor (In Kgm-2), − B is the motor’s coefficient of frictional (In Nm/(rad/sec)), − w is angular velocity of the mechanical rotor shaft (rad/sec), − q is angular position of the mechanical rotor shaft (rad).

3. PID Controller

The PID controller is popular because it offers a fairly good response, it is modest and simple to build. However, due to non-linearity, model uncertainty, and exogenous disturbance, the linear PID controller falls short in performance chiefly due to static controller gains [3, 16]. The mathematical representation of the PID controller is: (14)

Where: e signifies error, KP denotes the proportional gain constant, KD represents the derivative gain constant, KI is the integral gain constant, Td is the derivative time and Ti is the integral time [3].

4. Fuzzy Logic Controller

In 1973, L.A Zadeh introduced the fuzzy logic theory, thereafter Mamdani in 1974, implemented it for controlling systems structurally complex to model. In a typical control problem the input to the fuzzy controller is the error signal; error and change in error [3, 5]. The Fuzzy controller comprises the fuzzification interface, rule base, the inference mechanism and defuzzification interface. The optimum response depends on upon the tuning of the scaling gains, the rule base, and the membership functions [2, 9, 17, 18]. Articles

59


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

N° 3

2016

A. Fuzzification The input values depicting change-in-error and error are received by this interface. The values are mapped according to the linguistic rules and converted to degree of one or more membership functions [20]. B. Membership Function The shape of the membership function (MF) usually depends on the control variable. The triangular and trapezoidal MFs are easy to implement hence commonly selected. At the initial design, a starting point is to keep the MFs equal also they have to overlap by 50% in order to avoid null firing rule or undefined function. The Fuzzy set typically consists of ‘‘NB (Negative Big)’’, ‘‘NM (Negative Medium)’’, ‘‘Z (Zero)’’, ‘‘PM (Positive Medium)’’ and ‘‘PB (Positive Big)’’ membership functions [19]. C. Rule Base The fuzzy rules are heuristic logical rules that depend basically on Operator’s experience with the system. Deducing the rules may also involve observing the phase plane of the error and derivative error and consequently the step response of the closed loop system. A typical fuzzy rule is of the form: If Error is Positive Big (NB) and Change in Error is Zero (Z) then Control output is PB. This is logical as the rule seeks to reduce the output since a positive error signifies an undershoot situation and has been presented by authors [15, 19, 20].

D. Defuzzification The output required for controlling the plant is a crisp value and it is determined from the complete fuzzy set by a defuzzification scheme. The commonly used defuzzification methods are: [19] Center of Gravity (COG): Bisector of Area (BOA):

(15)

i < n < imax (16)

Where, xi depicts the point on the universe of discourse (i = 1, 2, . . . k) and is the degree of membership for the input set.

4.1. Fuzzy-PID Controller

60

The PID controller tuned offline has shortcomings in dealing with nonlinearities and parameter variation. Hence this paved way for an adaptive online tuning. During the drive operation, the fixed PID controller gains are constantly adjusted by the Fuzzy logic controller to counteract the nonlinear effect and disturbance [9]. The adaptive Fuzzy-PID structure is presented in paper [1] and schematics shown in Figure 2 The fuzzy logic controller’s scaling gains have to be tuned precisely as the influence the optimal response of the system. There is, however, no consensus Articles

Fig. 2. An Adaptive Fuzzy-PID Controller Structure [1] for tuning the scaling gains as authors have suggested using trial and error which is tedious [2, 3, 17].

5. Tuning Methods

5.1. Root Locus (Pole Placement)

The altering of the pole and zeros may be achieved graphically or numerically in the MATLAB, Singleinput-single-output – SISO – tool. This avails the user opportunity to derive the best response by observing the root locus plot during the adjustment. Design constraints such as the maximum overshoot, settling time can be specified. Though the poles may be placed in the desired location the optimal response is not guaranteed. It is based on mathematics and should be regarded as an intelligent guess. Thus this becomes a tiresome process [21].

5.2. Manual Tuning Method In paper [22] a summarized rule of manually tuning the controller gains based on experience is proffered as an alternative method. However, the author assets to the fact that it doesn’t work all the time and thus takes a long time. The process involves tuning first making derivative and integral action zero. Afterward, a proportional action is increased gradually and the derivative action is used to dampen overshoot. While the integral term is used to eliminate the steady state error. This process goes on till the optimal response is derived and proportional term large as possible. Table 1 summarizes this method. Table 1. Manual Tuning Rules [24] Operation

Rise time

Overshoot

Stability

Kp ↑

Faster

Increases

Decreases

Increases

Decreases

TD ↑

1/TI ↑

Slower Faster

5.3. Genetic Algorithm

Decreases

Increases

Genetic Algorithm is a stochastic searching optimization method patterned to imitating the theory of natural selection and genetics. In GA individuals constituting a population exist as a potential solution to a given problem. Some advantages of GA are the ease of implementation and that the evaluation (fitness) function knowledge of plant parameters are not required. It also works for non-linear systems as well as avoids local minima convergence. GA comprises three key phases; selection, crossover and mutation [9, 23, 24].


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

N° 3

2016

A. Selection Phase In [24] the selection process is done using the roulette wheel while in [2] stochastic uniform is used to constitute the individuals in the first generation. An iterative process occurs with each iteration representing a generation. This is such that at the end of each generation, individuals are compared to an evaluation function and selected for mating to give rise to new offspring. The off-spring usually would possess the good traits of their progenitor haven evolved with some degree of mutation and crossover genetic process as specified in the algorithm [25]. The population size for consequent generations is governed by the mathematical representation: Number of offspring = N * relative fitness (17)

where, N is Population size.

B. Crossover Phase The mating pairs after the selection phase undergo crossover genetic procedure which is performed by crossover probability in order to give rise to new offspring with enhanced genetic traits. Mathematically, crossover operation is given as: [2] (18) Where, and are dissimilar parent chromosomes, α is a stochastically acquired natural number, αÎ[0, 1]. A small crossover value is usually selected for a large population size in other to enhance and the individuals while retaining the best characteristics of both parents [23, 24].

C. Mutation Phase The mutation phase occurs after the crossover process mimicking the real life process of mutation which involves the modification of the genome on rare occasions. Hence the occurrence of mutation is usually low for the preservation of good chromosomes. The objective of introducing mutation is to avoid convergence of local minima and increase the fitness of the individual as a possible solution by chromosome mutation. Author [24] suggests using the following formula to determine mutation rate: (19)

Where, Pm is the finest mutation rate, PS is the population size and L is the length of individual random string. One of the benefits of the GA algorithm is that it can be used to tune and optimize the PID and fuzzy controller gains. The GA despite its benefit it does not guaranty optimal solution for all time. The GA flow chart is shown in Figure 3.

Fig. 3. Flowchart for genetic algorithm

5.4. Particle Swarm Optimization The particle swarm optimization (PSO) technique is a population based search algorithm where individuals are termed as particles and denote a candidate solution [26]. The principle of PSO is centered on swarms searching for productive feed haven. The PSO concept is such that ab initio a random population of particles is constituted. Each particle is bestowed with a random velocity and flown through the problem space. Based on an individual particles flight experience and that of other particles, it modifies its flight pattern in the problem space. Each particle keeps track of flight trajectory related with the optimal solution (fitness) attained during the flight through the problem space. This value is referred to as the Also the optimal solution of any particle in the search space is called gbest. The key idea is such that the particle exhibit change in velocity (acceleration) with time advancing toward the gbest and pbest position. Each particle tends to alter its present position and velocity with respect to the distance between itself and gbest and itself and pbest [26, 27]. Figure 4 shows the flowchart of the PSO The particles position and velocity modification are thus achieved as thus: (20)

Articles

61


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

(21)

Where: − denotes the velocity of particle i at dimension g at the iteration k+1, − denotes the position of particle i at dimension g at the iteration k+1, − r1 and r2 randomly generated numbers between 0 and 1, − c1 and c2 are cognitive and social acceleration constants, respectively, − K constriction factor denoted by K=

where

.

(22)

The velocity range is [-Vmax, Vmax] I = 1, 2,…,n; g = 1, 2,…, d, where n is the number of particle swarm and the dimension of the optimization problem is “d”

N° 3

2016

act the abnormality and preserve the response. The injected integral term is summed up with the adaptive fuzzy controller integral term. This approach, therefore, harnesses the robustness of the sliding mode and the advantage of the fuzzy controller with respect to model insensitivity. The high frequency chattering of the SMC may be solved by a trade-off for robustness. In [28, 29] the problem is resolved by selecting a suitable smoothening signum function with a negligible boundary layer width Æ in the order of ±10–4. As the output of the switched integral term is smoothened before it is introduced to the system input. For estimating the presence of disturbance and noise in the controlled variable output q(t) a first order filter with a time constant t of 8 mS is used. An advanced signal q(t+1) is generated from the controlled output variable q(t) which is the present signal. The first order filter is thus expressed as a differential equation [30]: And in the S domain as a transfer function:

(23)

(24)

The sliding surface Ss is presented for tracking q(t) in the presence of torque load disturbance and noise as: (25) where, C is a positive constant for scaling and The system is confined to the sliding surface as the first derivative of the sliding surface converges to zero. Hence, reaching surface is defined as: Fig. 4. PSO algorithm flowchart [12, 27].

6. Fuzzy-PID Sliding Mode Controller (FPIDSMC) 6.1 Sliding Mode

62

The proposed controller design comprises of a complementary controller structure. This comprises of an online tuned Fuzzy-PID and sliding mode controller for an improved transient and steady state performance. The influence of an integral term in the PID controller deployed in position control causes offset in the output. This is due to an incrementing action while the absence of it causes poor rejection of load disturbance. The sliding mode output is switched ON in the event disturbance or noise is detected. This succinctly provides for the integral action required to counterArticles

If

(26) (27)

Where h is a positive real constant. Then will ensure sliding occurs at SS = 0. The DC motor control law for is expressed mathematically, as the summation of the continuous and discontinuous functions: (28)

(29)

Where, − K1 and K2 are scaling gains for position and velocity feedback attenuators,


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

N° 3

2016

and defines the finite range of the Fuzzy gain values for incrementing proportional control action. − and are the Fuzzy output finite range for incrementing integral control action. − and are defines the finite range of the fuzzy gains for derivative control action. − KP, KI and KD are the PID controllers proportional, integral and derivative gains. Furthermore, for an improved damping during the transient state, the DC motor output, and derivative of the DC motor output are scaled and utilized as a damping feedback loop to motor input. The discontinuous control law functions concurrently with . The sliding mode controller is switched ON/OFF with respect to the switching function defined in equation (33). As with the sliding mode controller the high frequency ON/OFF switching results in the chattering phenomenon. Authors have consistently tried to minimize the chattering exhibited. In [13, 14] a simple reaching law was presented (30)

Where K is a real constant. The output was smoothened by fuzzy logic mimicking a Sat function in [14]. The sliding mode switching sign function is mimicked by a fuzzy logic controller in other to eliminate the high frequency switching. The PID controller is combined in parallel with the fuzzy (PID+FSMC) shown in Figure 5. The output of the PID is used to generate the sliding surface. The 3D

Fig. 5. PID+FZSMC structure

Fig. 8. Output MF for PID+FSMC

Fig. 9. FDFSMC architecture surface plot of rule base used is shown in Figure 6 and the MFs are shown in Figures 7 and 8. The decentralized fuzzy architecture is shown in Figure 9. Also in [31] the following equation was proposed in other to eliminate chattering:

6.2. Proposed Smoothening for Sliding Mode Controller Output

(31)

In this work, equation (32) a hyperbolic function with suitable is proposed for smoothening the signal, thereby eliminating chattering. The effectiveness of the suggested variant functions for smoothening the sliding mode output have been compared in the result section. The mathematical representation of the reaching law of the sliding mode discontinuous control is represented: (32) t =1, 2, 3… n

(33)

Fig. 6. PID+FSMC 3D surface plot

Fig. 7. Input MF for error and change-in-error

Fig. 10. Sliding mode surface Articles

63


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

N° 3

2016

Where, − is the discontinuous sliding mode switching function with hysteresis boundary for robust control. − q(t –1) and q(t), respectively, depict the past and present angular position responses of the DC motor. The sliding mode control surface for equations (30–32) is shown in Figure 10.

6.3. Adaptive Fuzzy Logic Controller Design

In this work the fuzzy-PID controller’s control actions rule base for Kp, Ki and KD are engineered to negate model uncertainty and parameter variations and GA is used to optimize the controller. The MF comprises of seven Fuzzy sets, ‘NB’, ‘NM’, ‘NS’, ‘Z’ ,‘PS’, ‘PM’, ‘PB’. The ‘NM’, ‘NS’, ‘Z’ ,‘PS’, ‘PM’ Fuzzy sets are triangular while the ‘NB’ and ‘PB’ are both trapezoidal. The MFs are adjusted heuristically to ensure optimal performance. By narrowing the base of the error and change in error, triangular MF to be narrow, a constricted control action is established which improves the steady state performance. The universe of discourse ranges from –3 to 3 for all MFs. Figures 11, 12 and 13 depict the MF set for error and change in error, Kp, Ki and KD rule base as well as the 3D surface plot respectively. Table 2, shows the 49 heuristically determined fuzzy rules for adjusting KP, KI and KD.

Fig. 11. MF for error and change in error input variables

Fig 13. 3D surf mapping of the adaptive rules The MFs overlap by 50% in order to avoid any misfiring. The defuzzification scheme used is the Bisector of Area (BOA). The FPIDSM controller schematic diagram is shown in Figure 14.

Fig. 14. FPIDSMC

6.4. Proposed Fitness Function for Genetic Algorithm The fitness function is used to evaluate the distinctive offspring for evolution in GA algorithm. Basically, the fitness function used here originates from one of the following integrals of error function: the integral square error (ISE), integral absolute error (IAE), integral time absolute error (ITAE) [30].

(34)

(35)

(36)

The ISE integrates the square of error over time, penalizing large errors more severely than small errors hence reducing overshoot and settling time [30].

Fig. 12. MF for KP, KI and KD output variables

Table 2. Fuzzy Control Rules for ΔKp, ΔKi and ΔKd e/ce

NB

NM

NS

ZE

PS

PM

PB

NB

NB

NB

NB

NM

NM

NS

Z

NM

NM

NS

NS

Z

PS

NS

NS

PS

PM

PB

PB

NM NS ZE PS PM PB 64

Articles

NB

NM NS Z

NB

NM

NS

NS

Z

PS

Z

PS PS

NM

NS

Z

PS

PM

PM

PS

PM

Z

PS

PS

PM

PB

PB

PS

PM PB


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

IAE integrates the absolute error over time, long and short errors are treated the alike. The oscillations are reduced with IAE [30]. The ITAE penalizes longer error more severely than an error occurring in a short duration, thus resulting in a reduction of settling time than the ISE and IAE. It is employed mostly for tuning PID gains for robust response [30]. ITAE is used as in paper [2]. In this work, a modified ISE fitness function is coupled with first order lag filter observers used for evaluating the systems error. The modification employs a penalty function which is effective in taking off the overshoot and improving the transient response of the system as well as for minimizing controller energy. The mathematical representation of the ISE and penalty fitness function used for position control optimization is given as: J = ISE + penalty function for angular position and its derivatives (37)

The position control fitness function is aimed at attaining steady state response in the shortest period of time without overshoot. This is modeled and shown in Figure 15: Error 'e(t)'= reference angular position 'r' – actual angular position output 'y' P(t) = q(t+1) – q(t) S(t) = W(t+1) – W(t)

(38)

(39)

(40) (41)

N° 3

2016

Where W = dq/dt. Where, w1, w2, w3 are real positive constant weights and Sp(t) and Pp(t) are overshoot penalty terms. W is angular speed, q(t) is the angular position of the motor, and e(t) is the error. U(t) is the motor’s input voltage included in the objective function for minimising controller energy. The designer determines the weighting coefficients [9, 17–18]. A first order transfer function with time constant is arbitrarily chosen to be smaller than the plants dominant time constant with suitable value usually in the order of 1 mS is used to obtain Sp(t) and 9 mS for Pp(t). From trial and error suitable weighting factor w was found by making the value of the penalty term equal to 1.5*Reference input value. w = 1.5* (Reference input value)/(penalty term value) (42) If overshoot violation does not occur, the fitness function equation is strictly ISE alone. The fitness function J mechanism of operation for position control is such that when the absolute value of position and the derivative of position is greater than zero, this value is multiplied by a weighting constant to induce the penalty operation. Ideally, at steady state the derivative of position and speed should be zero for position control. Therefore, if the derivative of angular position is driven to a zero value early enough the overshoot does not occur. The weights ensure that the value of the penalty term is significant when an overshoot occurs. However, a very large weighting factor might results in convergence to local minima. A challenge in designing the penalty function is that it might require in-depth analysis of the plant model dynamics and operation and the weighting might be difficult to determine heuristically.

Fig 15. Proposed fitness function for position control incorporating ISE and overshoot penalty function Articles

65


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

The practical operational constraints such as the range of set point and torque load disturbance (as well as feedback noise) have been incorporated during the optimization searching process in other to obtain the optimal controller gains, robust for such operations [35].

(43)

The gains of the controllers are optimised using GA with the exception of PID+FSMC which is optimised using PSO. The optimisation is performed until convergence of the modified fitness function value occurs. The suitable GA parameter constants used are shown in Table 4 The performance analysis is aimed at comparing the optimized controllers. The comparison is with respect to normal operation, motor parameter variations (increased Resistance and Motor Inertia) disturbance rejection, noise injection. A second order low pass filter with a bandwidth of 77 Hz is used to block off the high frequency chattering introduced during feedback loop noise injection. The transfer function is given as:

7.1 Simulation

The performance evaluation for the controllers was performed in MATLAB/SIMULINK environment. Table 3. DC motor parameters Value

Back E.M.F constant ‘K’

1.2 Nm/A

Moment of inertia for motor rotor ‘J’

0.022 Kg.m2

Resistance of the armature ‘R’

2.45 Ω

Mechanical damping (friction) factor ‘B’

Inductance of the armature ‘L’

0.0005Nms

(44)

0.035 H

Where, KDC is the DC gain, wf is frequency of roll-off and Qf is pole quality factor. (45)

Table 4. Genetic algorithm parameter selection Number of generations

Convergence

Selection method

Stochastic uniform

Mutation

0.05

Population size

Crossover Probability

2016

The DC motor parameters are shown in Table 2. The DC motor open loop transfer function for position control is given as:

7. Simulation Results and Discussion

Motor Parameters

N° 3

Position control processes require a great deal of precision. Hence a decent transient response; no overshoot and fast rise time, zero steady state error and good disturbance rejection are essential. The performance is evaluated using the integral error criterion; IAE and ITAE. Also the classical performance evaluation; rise time (tr), settling time (ts), maximum percentage overshoot (Mp) is explored.

20

0.8

Table 5. DC motor transient and steady state performance for normal operation Controller Structure

FPIDSMC FDFSMC PID+FSMC PID FZ-PID 66

Articles

Controller tuning method

Percentage Overshoot (%)

GA

0

GA

0.44

PSO

0.06

Root-Locus and GA

3

GA

0

Rise time (sec)

0.9 1.4 0.3 0.8 1

Reaction to Torque and 1nd steady state error

2nd Steady state error

Settling time (sec)

0.988 rads and 0 after 10s

-0.000081

1.3

0.980 rads and -0.0001 after 10s 0.999 rads and 0 after 10s 0.986 rads and 0.008 after 10s 0.985 rads and 0 after 10s

-0.000359

1.5

0.013111

0.4

0.001891

1.2

0.007160

1.3


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

During the simulation, the controllers are made to track a step input reference command of 1 rad and 2 rads. During the 1 rad reference command tracking at 15 s into steady state at a torque load distur-

Angular Posi on (Rads)

a)

Angular Posi on (Rads)

b)

Angular Posi on (Rads)

c)

2,20 2,00 1,80 1,60 1,40 1,20 1,00 0,80 0,60 0,40 0,20 0,00

1,02 1,01 1,00 0,99 0,98 0,98

2,05 2,04 2,03 2,02 2,01 2,00 1,99 1,98 1,97 1,96

2

4

6

2016

bance of 0.3 Nm is applied. At 20 s the load torque is reduced to 0.27 Nm. At 30 s the reference command is changed to 2 rads with total simulation runtime of 50 s.

FPIDSMC 0

N° 3

FDFSMC

PID+FSMC

PID

FZ-PID

8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50

Time (sec)

FPIDSMC FDFSMC PID+FSMC PID FZ-PID 0

2

4

6

8

10

12

14

16

18

20

22

24

26

28

30

32

34

36

38

Time (sec)

40

FPIDSMC FDFSMC PID+FSMC PID FZ-PID

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

Time (sec)

50

Fig. 16 a, b, c. Motor response for normal operation

Angular Posi on (Rads)

a)

1,0400 1,0300 1,0200 1,0100 1,0000 0,9900 0,9800 0,9700 0,9600 0,9500

FPIDSMC 0

5

10

15

Angular Posi on (Rads)

b)

2,0000 1,7500 1,5000 1,2500 1,0000 0,7500 0,5000 0,2500 0,0000

FDFSMC 20

FPIDSMC 0

2

4

6

8

10

25

PID+FSMC 30

FDFSMC 12

Fig. 17 a, b. Motor response for 50% increase in inertia

14

16

PID

35

40

PID+FSMC 18

20

22

FZ-PID 45

Time (sec)

PID 24

50

FZ-PID 26

28

30

Time (sec) Articles

67


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

N° 3

Angular Posi on (Rads)

a) 2,0000 1,7500 1,5000 1,2500 1,0000 0,7500 0,5000 0,2500 0,0000

FPIDSMC 0

5

10

FDFSMC

15

20

PID+FSMC

25

30

PID

35

40

45

50

Time (sec)

Angular Posi on (Rads)

b)

1,0500 1,0400 1,0300 1,0200 1,0100 1,0000 0,9900 0,9800 0,9700 0,9600 0,9500

FPIDSMC 0

2

4

6

8

10

12

FDFSMC

14

16

PID+FSMC

18

20

22

PID 24

Angular Posi on (Rads)

FZ-PID

26

28

30

Time (sec)

Fig. 18 a, b. Motor response for 50% increase in armature resistance

a)

FZ-PID

4,0 3,0 2,0 1,0 0,0

FPIDSMC 0

2,5

5

7,5

FDFSMC

PID+FSMC

PID

FZ-PID

10 12,5 15 17,5 20 22,5 25 27,5 30 32,5 35 37,5 40 42,5 45 47,5 50

b)

Angular Posi on (Rads)

Time (sec)

1,06 1,05 1,03 1,02 1,00 0,99 0,97 0,96 0,94 0,93 0,91

FPIDSMC 0

2

4

6

8

10

12

14

16

FDFSMC 18

20

22

PID+FSMC 24

26

28

30

PID 32

FZ-PID

34

36

38

Time (sec)

Angular Posi on (Rads)

c) 2,10 2,09 2,07 2,06 2,04 2,03 2,01 2,00 1,98 1,97 1,95

FPIDSMC

Articles

PID+FSMC

PID

FZ-PID

39 39,5 40 40,5 41 41,5 42 42,5 43 43,5 44 44,5 45 45,5 46 46,5 47 47,5 48 48,5 49 49,5 50

Fig. 19 a, b, c. Motor response during noise injection 68

FDFSMC

Time (sec)

40

2016


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

N° 3

2016

Table 6. ITAE ad ISE DC motor controllers performance indices Operational Condition

Normal operation

Controller Type

ISE

ITAE

FPIDSMC

0.3504

3.959

PID+FSMC PID FZ-PID

0.0945 0.1734 0.3207

8.077 10.59 4.431

FDFSMC

FPIDSMC 50% increase in Inertia

FDFSMC

PID+FSMC PID FZ-PID FPIDSMC

50% increase in Resistance

Noise Injection

7.2. Discussion

FDFSMC

PID+FSMC PID FZ-PID

FPIDSMC FDFSMC PID+FSMC PID FZ-PID

The performance evaluation for all five controllers; PID, FZ-PI, FPIDSMC, FZ-PID and FDFSMC during normal and abnormal operation are presented in Table  5 and 6, respectively. As shown in Figure 16 a,b,c during normal motor operation, the PID+FSMC exhibits the fastest transient response with 0.3 s rise time and 0.4 s settling time while having 0.06% overshoot. This controller has most robust torque rejection, however, the output exhibits chattering despite the deployment of Fuzzy logic to mimic the sliding mode Sat function. Despite having the least ISE value of 0.0945 as ISE only penalizes sluggish transient response. It, therefore, has the poorest steady state error response depicted by a value of 10.59 over the 50 s simulation run time. The PID controller follows closely with an overshoot of 3% and a rise time of 0.8 s but settles only after 0.4 s. Upon torque load injection and decrease, it dips to 0.986 and recovers leaving with the largest state error. However, this reduces to 0.0018 after applying a command reference of 2 rads. The FPIDSMC has a fairly decent rise time of 0.8 s which is closely followed by the FZ-PID and FDFSMC with 1 s and 1.4 s, respectively. The FPIDSMC has a better torque rejection capability that the PID, FZPID and FDFSMC. It also has the best steady state response as its ITAE value of 3.959 is the least with zero steady state error during the 1 rad tracking. However, a negligible steady offset of -0.000081 is depicted in the response. The FZ-PID has the next largest steady state error after the PID+FSMC. The FDFSMC exhibits

0.4464

5.484

0.3365

2.954

0.0782 0.1057 0.3269

1.707 9.397 4.474

0.4266

4.434

0.3850

2.491

0.0749 0.1406 0.3209

14.03 15.12 4.447

0.3900

0.3072 0.3897 0.07996 0.1539 0.3179

3.551

3.481 4.441 16.45 14.22 4.613

the next best steady state error elimination after the FPIDSMC despite it has the poorest torque load rejection capability. Figure 17a,b shows the controllers response during 50% parameter variation increase in motor inertia. The PID+FSMC and PID controllers exhibit increased overshoot while the response of the FPIDSMC, FDFSMC, and FZ-PID controllers remain consistent. The FPIDSMC controller maintains the least steady state error capability. From Figure 18 a, b, the response during the effect of 50% increase in armature winding resistance the controllers remain adaptive. This is with the exception of the PID controller which exhibits overshoot upon the second transient. During the noise injection, the second order filter is applied to block off the high frequency noise signal. As shown in Figure 19 a,b,c the PID+FSMC exhibits an increased high frequency chattering in the output. This is characterized by overshoot during the second transient also. The FPIDSMC, FDFSMC, FZ-PID and PID all exhibit a reduced high frequency chattering compared to the PID+FSMC. The high frequency chattering is the resultant of the derivative block responding to the high frequency rate change in the noisy signal. The PID controller is characterized however by a large overshoot of 40% during the second transient. Haven compared all five controllers the FPIDSMC has the least ITAE value with respect to the operating conditions considered. Hence it is the most precise for position control. However, with respect to load torque rejection and fast transient the PID+FSMC has Articles

69


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 10,

the least ISE value. Hence it is the fastest amongst the controllers despite its poor steady state error elimination.

[2]

The work reviewed current trends in fuzzy sliding mode applied in position control of a DC motor. The performance of the controllers reviewed was evaluated during normal and abnormal circumstances. The sliding mode controller is known to be robust and highly effective in negating disturbance. However, the output exhibits chattering. The PID+FSMC despite mimicking the sat function using fuzzy logic didn’t eliminate the chattering. However, it had the best transient response. A smoothening sliding mode law is proposed in the work. The capability of the fuzzy logic artificial intelligence controller is used enhance the poor capability of the PID by adapting controller’s gains in the event of model imprecision. The adaptive Fuzzy-PID controller is merged with a sliding mode controller to form a congruent robust structure. The FPIDSMC, therefore, harnesses the capabilities of both controllers. Despite not being the fastest controller it is the most precise controller amongst those compared as it has the least ITAE values for all time. The decentralized FDFSMC comprising a Fuzzy sliding mode and FZ-PID, as well as SMC derived from existing work was also implemented. This controller, however, had a good steady state performance only second to the FPIDFSMC. Though a very poor rejection capability. The conventional PID gains were initially tuned by root locus method afterward GA was used to optimize the gains. Also, the FPIDSMC, FDFSMC, FZ-PID scaling gains were tuned by GA for optimal response. Since the PID+FSMC exhibits steady state error PSO was used to optimize the response as it converges faster than GA. Overall a compromise in robustness, however, guarantees pristine steady state response.

[3]

8. Conclusion

AUTHORS

Bassey Etim Nyong-Bassey * – Department of Electrical/Electronics Engineering, Federal University of Petroleum Resources Effurun, P.M.B 1221 Effurun, Delta State, Nigeria. E-mail: Nyongbassey.bassey@fupre.edu.ng Benjamin Akinloye – Department of Electrical/Electronics Engineering, Federal University of Petroleum Resources Effurun, P.M.B 1221 Effurun, Delta State, Nigeria. E-mail: Akinloye.benjmin@fupre.edu.ng *Corresponding author

REFERENCES

[1] 70

Yunfei L., Hui L., Yong C., “Research on tuning method for fuzzy PID”. In: 4th International Workshop on Advanced Computational Intelligence (IWACI), 2011, 334–337.

Articles

[4]

[5]

[6]

[7] [8]

[9]

[10]

[11] [12]

[13]

[14]

N° 3

2016

Gadoue S. M., Giaouris D., Finch J. W., “Artificial intelligence-based speed control of DTC induction motor drives – A comparative study”, Electric Power Systems Research, vol. 79, Jan. 2009, 210–219. DOI : 10.1016/j.epsr.2008.05.024. Fereidouni A., Masoum M. A. S., Moghbel M., “A new adaptive configuration of PID type fuzzy logic controller”, ISA transactions, vol. 56, May 2014, 222–240. DOI: 10.1016/j. isatra.2014.11.010. Meshram P. M., Kanojiya R.G., “Tuning of PID Controller using Ziegler-Nichols Method for Speed Control of DC Motor’’. In: IEEE International Conference On Advances In Engineering, Science And Management (ICAESM), 2012. Mohiuddin M.S., “Comparative study of PID and Fuzzy tuned PID control for speed control of DC Motor”, International Journal of innovations in Engineering and Technology, vol. 2, August 2013, 291–301. Pandey S., Pandey B., “DC Motor Torque Control using Fuzzy Proportional-Derivative Controllers”, International Journal of Engineering and Advanced Technology (IJEAT), vol. 3, no. 6, August 2014, 202–207. Ingole C. R., Kasat K. N., ‘‘A Review on Different Approaches for Speed Control of DC Motor’’. Available online: www.ijetemr.in/website/CMS/ admin/upload/5-6-1-SM.doc. Kumar P., Prabhat P. K., Kumar M., Choudhary S. D., “Speed Control of DC Motor Using PID & Smart Controller”, International Journal of Scientific & Engineering Research, vol. 5, no. 11, November 2014, 1044–53. Hamed B. M., Al-Mobaied M. N., “Fuzzy Logic Speed Controllers Using FPGA Technique for Three-Phase Induction Motor Drives”, Dirasat, Engineering Sciences, vol. 37, no. 2, 2010, 194–205. Deia Y., Kidouche M., Ahriche A., “Fully decentralized fuzzy sliding mode control with chattering elimination for a Quadrotor attitude”. In: 2015 4th International Conference on Electrical Engineering (ICEE) 2015, December 2015, 1–6. DOI: 10.1109/INTEE.2015.7416742. Shallal H., “Comparison Performance of Different PID Controllers for Dc Motor’’, vol. 5, June 2012, 121–230. Medewar P.G., Munje R.K., “PSO with modified objective function for performance enhancement of PMDC motor”. In: 2015 International Conference on Energy Systems and Applications, October 2015, 658–662. DOI: 0.1109/ ICESA.2015.7503432 Ahmed H., Rajoriya A., “A Hybrid of Sliding Mode Control and Fuzzy Gain Scheduling PID Control using Fuzzy Supervisory Switched System for DC Motor Speed Control System”, International Journal of Grid and Distributed Computing, vol. 9, no. 5, 2016, 41–54. DOI: 10.14257/ ijgdc.2016.9.5.05. El-Bakly A., Fouda A., Sabry W., “A proposed DC motor sliding mode position controller design


Journal of Automation, Mobile Robotics & Intelligent Systems

using fuzzy logic and PID techniques”. In: Proceedings of the 13th International Conference on Aerospace Sciences and Aviation Technology (ASAT’09). May 2009. [15] http://i.stack.imgur.com/ei9cI.gif. Access: 9th of May, 2016. [16] Sandhya D., Amarendra Reddy B., Gopala Rao K.A., “Fuzzy I-PD and Fuzzy PID Control of Nonlinear Systems”. In: International Conference on Control, Automation, Communication and Energy Conservation, INCACEC 2009, 4th–6th June 2009. [17] Yusof A.M., A Comparative study of Conventional PI and Fuzzy-PID for motor speed, M.Sc. Thesis, Faculty of Electrical and Electronic Engineering, University Tun Hussein Onn Malaysia, June 2013. [18] Li H.-X., Gatland H. B., “Conventional fuzzy control and its enhancement”, IEEE Transactions on Systems, Man, and Cybernetics, Part B: Cybernetics, vol. 26, 1996, 791–797. [19] Jantzen J., Tutorial on fuzzy logic, Technical Report, Technical University of Denmark, Dept. of Automation, 1998. [20] Zhao J., Bose B. K., “Evaluation of membership functions for fuzzy logic controlled induction motor drive”. In: IECON 2002. 28th Annual Conference of the Industrial Electronics Society, 2002, 229–234. [21] Tan C. P., Teoh K. S., Jones L. J. N., “A review of Matlab’s SISOTOOL; features and contributions to Control education”. In: International Federation of Automatic Control World Congress, Hyung Suck Cho, 6th–11th July 2008, 2008, 8473–8474 [22] Namazov M., Basturk O., “DC motor position control using fuzzy proportional-derivative controllers with different defuzzification methods”, Turkish Journal of Fuzzy Systems, vol. 1, 2010, 36–54. [23] Wu C.T., Tien J.-P., Li T. S., “Integration of DNA and real coded GA for the design of PID-like fuzzy controllers”. In: 2012 IEEE International Conference on Systems, Man, and Cybernetics, 2012, 2809– 2814. DOI: 10.1109/ICSMC.2012.6378174. [24] Fan L., Joo E. M., “Design for auto-tuning PID controller based on genetic algorithms”. In: 4th IEEE Conference on Industrial Electronics and Applications. ICIEA 2009, 1924–1928. [25] Yeniay O., “Penalty function methods for constrained optimization with genetic algorithms”, Mathematical and Computational Applications, vol. 10, 2005, 45–56. [26] Mohanty B., Hota P.K., “Particle swarm optimization based interconnected Hydro-Thermal AGC system considering GRC and TCPS”, International journal of Electrical, computer, Electronics and Communication Engineering, vol. 8, 2014, 1175–1181. [27] Omar A., Khedr T. Y., Zalam A., “Particle swarm optimization of fuzzy supervisory controller for nonlinear position control system”. In: 2013 8th International Conference on Computer Engineering & Systems (ICCES), 2013, 138–145. [28] Martí P., Velasco M., Camacho A., Martín E. X., Fuertes J. M., “Networked sliding mode control

VOLUME 10,

N° 3

2016

of the double integrator system using the eventdriven self-triggered approach”. In: 2011 IEEE International Symposium on Industrial Electronics (ISIE), June 2011, 2031–2036. DOI: 10.1109/ ISIE.2011.5984472. [29] El-Bakly A., Fouda A., Sabry W., “A proposed DC motor sliding mode position controller design using fuzzy logic and PID techniques”. In: 13th International Conference on Aerospace Sciences & Aviation Technology, May 2009. [30] Shuaib A. O., Ahmed M. M., “Robust PID Control System Design Using ITAE Performance Index (DC Motor Model)”, International Journal of Innovative Research in Science, Engineering and Technology (IJIRSET), Vol. 3, August 2014 [31] Asad M., Bhatti A.I., Iqbal S., Asfia Y., “A smooth integral sliding mode controller and disturbance estimator design”, International Journal of Control, Automation and Systems, vol. 13, no. 6, 2015, 1326–1336. DOI: 10.1007/s12555-013-0544-4. [32] Shuaib A. O., Ahmed M. M., “Robust PID Control System Design Using ITAE Performance Index (DC Motor Model)”, International Journal of Innovative Research in Science, Engineering and Technology (IJIRSET), vol. 3, August 2014.

Articles

71


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.