Page 1


JOURNAL of AUTOMATION, MOBILE ROBOTICS & INTELLIGENT SYSTEMS

Editor-in-Chief Janusz Kacprzyk

Executive Editor: Anna Ładan aladan@piap.pl

(Systems Research Institute, Polish Academy of Sciences; PIAP, Poland)

Associate Editors: Mariusz Andrzejczak (PIAP, Poland) Katarzyna Rzeplińska-Rykała (PIAP, Poland)

Co-Editors: Dimitar Filev (Research & Advanced Engineering, Ford Motor Company, USA)

Kaoru Hirota

Webmaster: Tomasz Kobyliński tkobylinski@piap.pl

(Interdisciplinary Graduate School of Science and Engineering, Tokyo Institute of Technology, Japan)

Witold Pedrycz (ECERF, University of Alberta, Canada)

Roman Szewczyk (PIAP, Warsaw University of Technology, Poland)

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

Editorial Board: Chairman: Janusz Kacprzyk (Polish Academy of Sciences; PIAP, Poland) Plamen Angelov (Lancaster University, UK) Zenn Bien (Korea Advanced Institute of Science and Technology, Korea) Adam Borkowski (Polish Academy of Sciences, Poland) Wolfgang Borutzky (Fachhochschule Bonn-Rhein-Sieg, Germany) Oscar Castillo (Tijuana Institute of Technology, Mexico) Chin Chen Chang (Feng Chia University, Taiwan) Jorge Manuel Miranda Dias (University of Coimbra, Portugal) Bogdan Gabryś (Bournemouth University, UK) Jan Jabłkowski (PIAP, Poland) Stanisław Kaczanowski (PIAP, Poland) Tadeusz Kaczorek (Warsaw University of Technology, Poland) Marian P. Kaźmierkowski (Warsaw University of Technology, Poland) Józef Korbicz (University of Zielona Góra, Poland) Krzysztof Kozłowski (Poznań University of Technology, Poland) Eckart Kramer (Fachhochschule Eberswalde, Germany) Andrew Kusiak (University of Iowa, USA) Mark Last (Ben–Gurion University of the Negev, Israel) Anthony Maciejewski (Colorado State University, USA) Krzysztof Malinowski (Warsaw University of Technology, Poland)

Andrzej Masłowski (PIAP, Poland) Tadeusz Missala (PIAP, Poland) Fazel Naghdy (University of Wollongong, Australia) Zbigniew Nahorski (Polish Academy of Science, Poland) Antoni Niederliński (Silesian University of Technology, Poland) Witold Pedrycz (University of Alberta, Canada) Duc Truong Pham (Cardiff University, UK) Lech Polkowski (Polish-Japanese Institute of Information Technology, Poland) Alain Pruski (University of Metz, France) Leszek Rutkowski (Częstochowa University of Technology, Poland) Klaus Schilling (Julius-Maximilians-University Würzburg, Germany) Ryszard Tadeusiewicz (AGH University of Science and Technology in Kraków, Poland)

Stanisław Tarasiewicz (University of Laval, Canada) Piotr Tatjewski (Warsaw University of Technology, Poland) Władysław Torbicz (Polish Academy of Sciences, Poland) Leszek Trybus (Rzeszów University of Technology, Poland) René Wamkeue (University of Québec, Canada) Janusz Zalewski (Florida Gulf Coast University, USA) Marek Zaremba (University of Québec, Canada) Teresa Zielińska (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. The Editor does not take the responsibility for contents of advertisements, inserts etc. The Editor reserves the right to make relevant revisions, abbreviations and adjustments to the articles.

All rights reserved ©

1


JOURNAL of AUTOMATION, MOBILE ROBOTICS & INTELLIGENT SYSTEMS VOLUME 5, N° 2, 2011

CONTENTS REGULAR PAPERS 66

3

Methodology of control and supervision of web connected mobile robots with CUDA technology application J. Będkowski, A. Masłowski 12

Complexity study of guaranteed state estimation for real time to robot localization E. Seignez, A. Lambert 28

Messor - Verstatile wal king robot for serach and rescue missions K. Walas, D. Belter 35

A Time optimal path planning for trajectory tracking of wheeled mobile robots R. Vivekananthan, L. Karunamoorthy 42

A Comparative Study of PID Controller Tuning Using GA, EP, PSO and ACO B. Nagaraj, S. Abirami, N. Muruganath 49

System-level approaches to power efficiency in FPGA based designs (Data Reduction Algorithms Case Study) P.P. Czapski, A. Śluzek 60

Design, control and applications of the underwater robot Isfar W. Biegański, J. Ceranka, A. Kasiński

2

DEPARTMENTS EVENTS


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 2

2011

METHODOLOGY OF CONTROL AND SUPERVISION OF WEB CONNECTED MOBILE ROBOTS WITH CUDA TECHNOLOGY APPLICATION Submitted 12th October 2010; accepted 17th February 2011.

Janusz Będkowski, Andrzej Masłowski

Abstract: The main problem of the following paper is control and supervision of web connected mobile robots. Taking up this subject is justified by the need of developing new methods for control, supervision and integration of existing modules (inspection robots, autonomous robots, mobile base station). The methodology consists of: multi robotic system structure, cognitive model of human supervisor structure, system algorithms and cognitive model algorithms. The research problem comprises web connected mobile robots system development structure with exemplification based on inspection-intervention system. The modelling of human supervisor's behaviour is introduced. Furthermore, the structure of a cognitive model of human supervisor with the application of the new NVIDIA CUDA technology for parallel computation is proposed. The results of experiments performed in real, virtual and hybrid environments are discussed. The methodology is verified by exemplification based on a system composed of autonomous mobile robot ATRVJr and robot INSPECTOR. Keywords: mobile robot, cognitive control and supervision.

1. Introduction The main problem undertaken in the paper is control and supervision of web connected mobile robots, for example, inspection intervention robot system, with an application of CUDA technology. The main applications of multi-robot inspection intervention system are actions in a disaster area, covering all the consequences of fires, chemical hazards, and the effects of terrorist attack. The environment of the system forces short time of inspection, and determines basic goals for the system. This provides clearly defined working conditions, the criteria for checking correctness of control and supervision algorithms and the position for dissertation on the background of existing knowledge. Many studies have shown extensive technical development in the area of mobile robotics. There have been many solutions [8] for technical issues related to unique mechatronics designs of mobile robots. Many new robots have high mobility [31] in difficult terrain. In addition, number of robots equipped with sophisticated sensors [32] increases, which enhances the effectiveness of search and detection of victims [11],[33].

2. Multi robotic system structure The main object of research in this work is a web connected mobile robot system, for example, the inspec-

tion - intervention system consisting of a mobile base station, a group of autonomous robots and remote-controlled robot, equipped with a manipulator with n degrees of freedom. Figure 1 shows structure of such a system.

Fig. 1. Inspection intervention system. The main tasks of the system is an inspection and intervention of hazardous environment for human activities. The system consists of three following components: mobile base station, the remotely controlled robot, autonomous mobile robot. 2.1. Mobile base station It provides information concerning the robot's environment to the operator. The station is equipped with HMI software using advanced techniques of interactive graphics for operator interaction with robots. An important problem for the operator is a large quantity of information provided by the robot sensors, which can result in a problem with making quick and accurate decisions. During the routine work the system should assist the human operator, which will ensure proper operation despite operator's errors. For this purpose, a cognitive model of human supervisor is proposed, which solves some of the abovementioned problems. 2.2. The remotely controlled robot It is aimed for inspection and intervention disaster area. The robot is equipped with a video cameras, a manipulator with n degrees of freedom and communication system. The robot is able to partially replace the human in the environment that affects the health or even threatens human life. Articles

3


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

2.3. Autonomous mobile robot Its task is the inspection of the area of the disaster. For this purpose it is equipped with a laser measurement systems that provide 3D data of the environment, video camera, ultrasonic sensors for obstacles avoidance, local position system determining robot position. Robot can be, depending on the application, additionally equipped with chemical sensors or thermal camera. From the standpoint of the system of web connected mobile robots there may occur a crisis situation that may lead to mission failure and even robots damage. For the purpose of this work crisis is an exceptional situation, which is interpreted by supervisor as a state of dangerous, potentially threatening the performance of the mission or the safety of the system. Developed cognitive model of human supervisor is characterized by supervising the robot system showing similar reaction as human, in the event of an emergency. Therefore it has the ability to recognize emergencies and the ability to generalize during making decisions, it is able to control the robots in a way similar to human.

3. Cognitive model of human supervisor Developed cognitive model of the human supervisor is working with a distributed control system of mobile robots and has developed perception, which forms the basis of knowledge. Figure 2 shows the model diagram. Due to the potential loss of communication between the main inspection - intervention system components developed and implemented distributed cognitive model of the human supervisor of the robotic system is combining the elements of a centralized system and multi agent system. Figure 3 illustrates the idea of the model.

3.1. Cognitive map Cognitive map is a result of the sum of observations made with the use of robot perception. Cognitive map is a source of information for the cognitive model, it stores the state of the system, including robots, the environment and mission. On this basis the cognitive model of human

Fig. 3. Scheme of the distributed multi agent cognitive supervisor of the robotic system. Articles

2011

Multi agent cognitive architecture of the developed cognitive supervisor consists of three layers. The first layer is reserved for the most important in the hierarchy of agents - the cognitive supervisor of the robotic system. In the absence of communication problems the cognitive model works in a centralized system scheme, where agents from the lower layers, are fully subordinated to the execution of his orders. From the perspective of software engineering in this case we are dealing with a distributed implementation of a single cognitive supervisor. Otherwise, if there are communication problems between layer I and layer II or within layer II, the agents from layer II are fully autonomous and operate in a pattern of multi agent system. It should be noted that fault-free communication between the agents of layer II and layer III is assumed, as a result of using wired Ethernet communications. Cognitive architecture is strongly conditioned by supervising multi agent system where CSRS is installed at the base station, CSR1, CSR2, CSRn are installed on a mobile robot on-board computers, and coordinate the work of sub-CS1, CS2, CSn, which in turn, are installed on computational units of the robot, overseeing the work of operating systems. Additionally, in the architecture in Figure 3 CSRCR is an agent supervising the remote-controlled robot, assuming that the robot is equipped with a suitable on-board computer.

Fig. 2. Scheme of the distributed cognitive supervisor of the robotic system.

4

N째 2


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 2

2011

Fig. 4. Scheme of cognitive map building.

Fig. 5. 2D and 3D maps available for the cognitive model and the operator. supervisor is able to detect danger and possibly intervene. The result of perception, including receiving information and processing, and then thinking in terms of transformation of this information, is the cognitive map (Figure 4). Cognitive map can be assumed as some form of description of the world. On the basis of sufficient information about the world cognitive model may decide to effect behavioural or cognitive. Behavioural effect is directly associated with making a particular action (following path movement of the robot), while the cognitive effect creates new structures, which in terms of machine learning can mean the extension of the decision tree, or creating a new rule-making, and for the monitoring of the emergence of the mission new graph of the mission. 3.2. Cognitive map building algorithm From the standpoint of implementation the cognitive map is a sum of observations obtained by means of robot perception, in a form understandable to the cognitive model of the human supervisor. Cognitive model makes control decisions based on the cognitive map. The cognitive map building algorithm is implemented to obtain the map model that is understandable at the same time by the operator and by the cognitive model. It is assumed that cognitive model controls and supervises the system based on the same information as human does. The following elements are a part of the implemented perception of cognitive model: — position of robots, — configuration of a remote controlled robot arm,

— — — — —

2D/3D maps, map of temperature, map of chemical contamination, path, goal (position, time).

Robot position is determined by the robot positioning system. Information about the configuration of a remotecontrolled robot arm is provided in binary form, where the logical value of 1 means that there may be a conflict of individual degrees of freedom of robot arm, while the value of 0 means the contrary. Map with obstacles is represented by a 2D raster map, where cells take values from 0 to 255, which corresponds to a probability of occurrence of obstacles in this space. 3D map is represented by a set of 3D points, a set of lines and a set of triangles. The figure 5 shows the implementation of the 2D and 3D maps, available for both, cognitive model of human supervisor and operator (HMI client). The most important element in the implementation of the map is the SLAM (Simultaneous Localization and Mapping) algorithm. SLAM delivers the information concerning occupancy grid map with obstacles and robot position. To obtain 3D data robot has to move forward or rotate, therefore the data are collected from vertically mounted laser measurement system. The result is 3D cloud of points. From this cloud of 3D points the lines are extracted slice by slice using following algorithm with support of CUDAparallel computation: Articles

5


Journal of Automation, Mobile Robotics & Intelligent Systems

1. transformLaserScanToCartesian( ) //procedure for converting the coordinates of points (r, a) into coordinates (x, y) 2. for each point 3. for each point 4. calculateLineParams // parameters A, B and C for the line Ax + By + C = 0 passing through each pair of points 5. for each line 6. for each point 7. calculateDistancePointToLine( ) 8. sumIsPointCloseToLine( ) // for each line, for each point calculate the distance of a point from the line 9. while done 10. sortLines( ) // sort lines according to their number of points lying on the line within a certain distance (2 - 3 cm) Steps 2, 3, 4 and 5, 6, 7, 8 are implemented using CUDA parallel computation. Double loops are executed in parallel, where each of the calculation (i, j) corresponds to one kernel in GPU. Based on the location of the robot and the two subsequent measurements of the laser the triangles are calculated in 3D space. The Figure 6 illustrates the idea of combining two lines in order to appoint the triangles.

Fig. 6. The idea of an algorithm combining two lines to determine the triangles.

VOLUME 5,

N° 2

2011

issues of artificial intelligence, a number of performed studies was related to neural networks [13],[18], face recognition algorithms [28], or speech recognition [27]. CUDA is widely used in interactive computer graphics [7], or 3D reconstruction [9], [26], [29]. It is noteworthy that areas such as cryptography [23] also benefit from CUDA's power of computing. CUDA application begins to have value in effective methods of inspection of implementation correctness of products such as: inspection of the correctness of the TFT-CCD [10]. CUDA was used for parallel computation in following tasks: — ray intersection for obstacle avoidance with 3D map built in real time, — 3D map building and reconstruction, — internal procedure of classification process, — line extraction from laser data, — simulator of laser measurement system working in acquired 3D map.

5. Implementation of the autonomous behaviour of mobile robot ATRVJr autonomous mobile robot equipped with sensors capable of detecting the environment is responsible for providing this information to the mobile base station. The system was designed in a distributed architecture, so it has the ability to run multiple tasks simultaneously. At this stage, due to lack of enforcement mechanisms to interfere with the working environment, cooperation of robots is the aggregation of information from sensors and delivering them to the mobile base station. The following illustration shows a diagram of elements of the autonomous robot behaviour, on the example of implementation of robotATRVJr.

Full information about the cloud of 3D points, 3D lines and triangles are stored in the server 2D/3D Maps. HMI main program, as well as distributed cognitive model has access to the server through the CORBA interface, therefore it can be the core information for decision making module. Chemical concentration and temperature maps are provided in the same form as the 2D map, where different cell values correspond to temperatures in the area, or chemical concentration, scaled according to the adopted criterion. The goal is defined by a point on the map and the amount of time needed to achieve it. Planned path is a list of goals. In the case of a patrol task we are dealing with a graph, in which there is a cycle connecting the end with the initial goal. Fig. 7. Autonomous behaviours of ATRVJr robot.

4. Parallel approach with CUDA CUDAtechnology is used in many fields of science for so-called, advanced scientific computing [20], [12]. Main applications are related to image processing [36], [34] or compression [30], segmentation [25], [35], edge detection [21], stereovision [15], motion tracking [17]. Significant use of CUDA is evident in studies of new algorithms in the field of graphs including the shortest path algorithms [24], and Voronoi diagrams [22]. From the perspective of a significant acceleration of computing, CUDA is used in the calculation of grouping [9],[14],[37]. Referring to the 6

Articles

Blocks “Go forward”, "Rotate", "Brake" represent the low level autonomous behaviour. All the above structured algorithms for moving the robot are constructed with these blocks. Blocks of "Wait", "Resume", "Abort" represent the functionality to allow interaction with the algorithm that is currently executed. Blocks “Go to goal”, "go from A to B”, "Go to points A, B, C" carry out the task of moving the robot along defined path. Block "Explore" performs the task of visiting all the areas of defined map, the robot performs the task in two ways, first is chaotic


Journal of Automation, Mobile Robotics & Intelligent Systems

navigating on the map, the second is to use a graph algorithm to visit all vertices in a graph representing the environment. Block "Patrol" performs the task of patrolling a defined area on an ongoing basis until the execution of another order. Block "Return to base" performs the task of returning the robot to the base station. Block "Autonomous navigation of robot INSPECTOR" performs the task of autonomous control of the robot INSPECTOR to move it to a place where communication with the base station is restored. Obstacles avoidance is obtained through the implementation of the sliding window algorithm. The following illustration shows three types of binary maps (SLAM, inertial sensor, an area with a high temperature) that are used for sliding window computation. A summary binary map is showing all obstacles.

VOLUME 5,

N째 2

2011

Fig. 9. Defining the goal by operator supervised by a cognitive model. On the left the colour blue means a collisionfree path, the right colour red indicates a potential crisis situation.

Fig. 10. Defining further goals by the operator controlled by cognitive model. On the left the colour blue means a collision-free path, the right colour red indicates a potential crisis situation.

Fig. 8. The idea of building a binary maps based on maps SLAM, with the inertial sensor or temperature sensor. The autonomous mobile robot can generate a path using the A* algorithm based on given binary map representing the obstacles.

The supervision of the operator's action of new goal definition is done in real time. In case of operator error that can lead to a crisis situation, cognitive model does not allow the operator to set such a goal. 6.2. Inspection robot supervision Figure 11 shows defined rectangular prisms, which contain robot main components.

6. Experiments Verification of the methodology for control and supervision of web connected mobile robots was done on the basis of real inspection intervention system View-Finder [2], [4], [5], [6]. The test system includes ATRVJr autonomous mobile robot and a remote-controlled inspection robot INSPECTOR. There were also tests carried out using the Augmented Reality system AR [3] consisting of a real robot ATRVJr and virtual model robot INSPECTOR. Cognitive aspects were tested during cognitive map building and autonomous mobile robot navigation with obstacle avoidance supervision. 6.1. Mission planning supervision Mission planning is performed using the HMI that visualizes cognitive map. In this particular experiment the cognitive map is composed with 2D map, 3D map (generated based on actual measurements during the robot task), the position of the robot, defined objective and distance measurements of the robot sensors. Figures 9 and 10 present experiment connected with the monitoring of planning mission defined by the operator. The operator has the ability to define new goals with new position, visualized using flags. Cognitive information determines the collision-free path to the next goal.

Fig. 11. Defined rectangular prisms which contain main components of INSPECTOR robot.

Fig. 12. The result of remote controlled robot supervision. From the standpoint of the operator or cognitive model of human supervisor, it is essential to detect potential intersections between two rectangular prisms in the 3D robot model. Such an event is defined as a crisis. The task Articles

7


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 5,

N° 2

2011

of the operator, or a cognitive model, is to prevent damaging the mobile platform. Figure 12 shows a situation of crisis in the robot control (red colour). 6.3. Inspection system testing Correctness of the work of the inspection system, controlled and supervised by a cognitive model of the human supervisor was evaluated using AR technology (Augmented Reality [16]). Figure 13 shows a virtual model of the robot INSPECTOR used for experiments.

Fig. 15. HMI view of the cognitive map associated with the experiment. Figure 16 shows crisis situation of the autonomous control of a remote controlled robot INSPECTOR. When a collision occurs between the surrounding rectangular block of INSPECTOR robot with an obstacle, cognitive model performs control correction in order to avoid the obstacles. Fig. 13. INSPECTOR real robot and its virtual counterpart. — — — —

AR system consists of the following modules: real robotATRVJr, real base station, virtual robot INSPECTOR, distributed cognitive model of human supervisor.

The experiment scenario is given: 1. Initially INSPECTOR and ATRVJr are in an unknown environment, lack of communication with the robot INSPECTOR. 2. ATRVJr: build a 3D map when moving to the goal. 3. ATRVJr: return to the starting point keeping safe distance from the robot INSPECTOR. 4. Cognitive model: control ATRVJr to the goal, while remote control (autonomously) robot INSPECTOR.

Fig. 16. Effect of collision detection between the rectangular prism surrounding the robot INSPECTOR and a 3D map-based on autonomous robot ATRVJr measurement. Presented experiment confirms the correctness of the methodology of control and supervision of web connected mobile robots using CUDA technology and the correct operation of the system in terms of resilience to crises, caused by operator error. It should be noted that the ability to make correct decisions associated with the loss of communication between system components was positively verified. In this example the lack of communication between the base station and the robots was tested.

Fig. 14. Real environment of robotic system. Autonomous mobile robot in the first phase of the experiment is building 3D model of the environment while it moves from the goal No. 1 to the goal No. 5. The Figure 15 shows the cognitive aspect - the effect of the 3D map building algorithm in real time, on the basis of the actual measurement delivered by a laser measurement system. In the next phase of the experiment an autonomous mobile robot returned to the position specified by the goal No. 1, cognitive model starts remote control of robot INSPECTOR, using the robot ATRVJr onboard computer. Figure 15 provides a view of the main HMI visualizing cognitive map associated with this particular experiment. 8

Articles

6.4. CUDAalgorithms computational complexity The algorithms were verified based on the time complexity. The study was performed using five computer units of different configurations of CPU, GPU, RAM. The results for the unit of IntelCore 2 2.4 GHz, GF 1600M Quadro are interesting because of the possibility of installing the computer directly on the mobile robot. The results were organized in the following tables. The experiments verify the cognitive model's response time which is comparable to the human response in a given situation. For example, cognitive model implemented in the weakest testing PC machines needs 30 ms to detect a crisis situation. In the case of a robot INSPECTOR,


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 2

2011

Table 1. The ray intersection algorithm with a set of 102,400 triangles. CPU Intel Core 2 - 2,4GHz (Mobile Workstation) Intel Core 2 - 2,2GHz Intel Core 2 - 3,0GHz Intel Core 2 Quad Q6600 - 2.4GHz Intel Core 2 Quad - 3.0GHz

GPU GF Quadro 1600M GF 9800GX2 GF 3700 QUADRO GF 8800 GTX GF280, GF280 (SLI)

RAM 800MHz 800MHz 800MHz 800MHz 1600MHz

Time[ms] 2,67 1,79 1,45 1,17 0,52

Table 2. Algorithm for the simulation of laser measure-ment system (181 beams of measurement) in the scene of 102, 400 triangles. CPU Intel Core 2 - 2,4GHz (Mobile Workstation) Intel Core 2 - 2,2GHz Intel Core 2 - 3,0GHz Intel Core 2 Quad Q6600 - 2.4GHz Intel Core 2 Quad - 3.0GHz

GPU GF Quadro 1600M GF 9800GX2 GF 3700 QUADRO GF 8800 GTX GF280, GF280 (SLI)

RAM 800MHz 800MHz 800MHz 800MHz 1600MHz

Time[ms] 520 360 280 230 100

Table 3. The average response time of the cognitive model of the mission planning monitoring, 102,400 triangles. CPU Intel Core 2 - 2,4GHz (Mobile Workstation) Intel Core 2 - 2,2GHz Intel Core 2 - 3,0GHz Intel Core 2 Quad Q6600 - 2.4GHz Intel Core 2 Quad - 3.0GHz

GPU GF Quadro 1600M GF 9800GX2 GF 3700 QUADRO GF 8800 GTX GF280, GF280 (SLI)

RAM 800MHz 800MHz 800MHz 800MHz 1600MHz

Time[ms] 30 13 11 9 5

Table 4. Algorithm line extraction from the measurement of laser measurement system (181 points). CPU Intel Core 2 - 2,4GHz (Mobile Workstation) Intel Core 2 - 2,2GHz Intel Core 2 - 3,0GHz Intel Core 2 Quad Q6600 - 2.4GHz Intel Core 2 Quad - 3.0GHz

control algorithm respond occurs no later than after 60 ms [1]. The conclusion is that the cognitive model needs about 90 ms to make a decision. Concerning the 100 ms communication constraints, the cognitive model does not affect the work of commercial mobile robot.

7. Conclusion The result is a new methodology of control and supervision of web connected mobile robots using CUDA technology. This is a new approach that can be applied in the inspection multi robot systems for anti-crisis assistance. Conducted experiments on a specific example of the multi robot system show the ability of developed algorithms to control and supervise various types of mobile units. Specific conclusions are as follows: — in the multi robot system there are autonomous agents that can operate independently in the event of loss of communication with other agents of the system, while being supervised by a distributed cognitive model of human supervisor,

GPU GF Quadro 1600M GF 9800GX2 GF 3700 QUADRO GF 8800 GTX GF280, GF280 (SLI)

RAM 800MHz 800MHz 800MHz 800MHz 1600MHz

Time[ms] 522 477 380 310 180

— human supervisor is modelled with accordance to cognitive philosophy, where model of perception and the ability to learn how to control robots were developed, — as a result of emulating way of thinking of human supervisor in decision making, implemented cognitive model of human supervisor is able to react appropriately in emergency situations, by recognizing the crisis and appropriately controlling the robots, — proposed distributed cognitive model of the human supervisor combines a hierarchical structure with distributed and thus gave the supervision process resistance to communication problems in the network of robots, — implemented new algorithms using CUDA architecture to increase the functionality of mobile robots, — developed new HMI programs in a more intuitive way transmit information from robots and make it possible to control them with the use of interactive graphics, and consequently may increase efficiency of the operator.

Articles

9


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

AUTHORS Janusz Bêdkowski* - Industrial Research Institute for Automation and Measurements, Al. Jerozolimskie 202, 02-486 Warsaw, Poland. Institute of Automation and Robotics, Warsaw University of Technology, œw. A. Boboli 8, 02-525 Warsaw, Poland. E-mail: januszbedkowski@gmail.com. Andrzej Mas³owski - Industrial Re-search Institute for Automation and Measurements, Al. Jerozolimskie 202, 02-486 Warsaw, Poland. E-mail: amaslowski@piap.pl. Institute of Automation and Robotics, Warsaw University of Technology, œw. A. Boboli 8, 02-525 Warsaw, Poland. E-mail: a.maslowski@mchtr.pw.edu.pl. * Corresponding author

[11]

[12]

[13]

References [1]

[2]

[3]

[4]

[5]

[6]

[7]

[8]

[9]

[10] 10

J. Bêdkowski, “Fast hybrid classifier DT-FAM Decision Tree Fuzzy Art Map for high dimensional problems in mobile robotics”. In: Proceedings of the Sixteenth International Symposium on measurement and Control in Robotics ISMCR'2007, Warsaw Poland, 21st-23rd June, 2007. J. Bêdkowski, A. Mas³owski, “Cognitive Theory Based Approach for Inspection using Multi Mobile Robot Control”. In: The 7th IARP International WS HUDEM'2008, AUC, Cairo, 28th-30th March, 2008. J. Bêdkowski, A. Mas³owski, “Cognitive model of the human supervisor for inspection/intervention robotic system”. In: III Conference Young scientists towards the challenges of contemporary technology, 22nd-24th Sept. 2008. J. Bêdkowski, P. Kowalski, G. Kowalski, A. Mas³owski, E. Colon, “Improvement of ATRVJr Software Architecture for VeiwFinder Application”. In: International Workshop On Robotics for risky interventions and Environmental Surveillance, RISE'2009, Brussels, 12th-14th January, 2009. J. Bêdkowski, A. Mas³owski, “NVIDIA CUDA application in the Cognitive Supervision and Control of the Multi Robot System”. In: International Workshop On Robotics for risky interventions and Environmental Surveillance, RISE'2009, Brussels, 12th-14th January 2009. J. Bêdkowski, J. Piszczek, P. Kowalski, A. Mas³owski, “Improvement of the robotic system for disaster and hazardous threat management”. In: 14th IFAC International Conference on Methods and Models in Automation and Robotics, 19th-21st August, 2009. B. C. Budge, J. C. Anderson, C. Garth, K. I. Joy, “A straightforward CUDA implementation for interactive ray-tracing Interactive Ray Tracing”. In: IEEE Symposium on RT, 9th-10th August, 2008, p. 178 and fur. J. Casper, R. R. Murphy, “Human-robot interactions during the robot-assisted urban search and rescue response at the World Trade Center”, IEEE Transactions on Systems, Man and Cybernetics, Part B, 33, 2003, pp. 367- 385. F. Cao, A. K. H. Tung, A. Zhou, “Scalable Clustering Using Graphics Processor”, Lecture Notes in Computer Science, vol. 4016/2006, 2006, pp. 372-384. Chang Hee Lee, Changki Jeong, Moonsoo Chang,

Articles

[14]

[15]

[16]

[17]

[18]

[19]

[20]

[21]

[22]

[23]

N° 2

2011

PooGyeon Park, “Implementation of TFT inspection system using the common unified device architecture (CUDA) on modern graphics hardware”. In: International Conference on Control, Automation, Robotics and Vision, ICARCV 2008, 17th-20th Dec. 2008, pp. 1899-1902. G. De Cubber, G. Marton, “Human Victim Detection”. In: International Workshop on Robotics for risky interventions and Environmental Surveillance, RISE'2009, Brussels, 12th-14th January2009, CD-ROM. G. Cummins, R. Adams, T. Newell, “Scientific computation through a GPU”. In: Southeastcon, IEEE, 3rd-6th April 2008, pp. 244-246. A. Fernandez, R. San Martin, E. Farguell, G.E. Pazienza, “Cellular Neural Networks simulation on a parallel graphics processing unit”. In: International Workshop on 11th Cellular Neural Networks and Their Applications, CNNA'2008, 14th-16th July, 2008, pp. 208-212. V. Garcia, E. Debreuve, M. Barlaud, “Fast k nearest neighbor search using GPU”. In: IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops, 2008. CVPRW 08, 23rd-28th June, 2008, pp. 1-6. J. Gibson, O. Marques, “Stereo depth with a Unified Architecture GPU”. In: IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops, 2008. CVPRW 08, 23rd-28th June, 2008, pp. 1-6. M. Haller, M. Billinghurst, B. Thomas, “Emerging Technologies of Augmented Reality: Interfaces and Design”. Idea Group Publishing, ISBN 1599040662, 2006. J. Huang, Ponce, P. Sean, P. Seung In, Y. Cao, Q. Francis, “GPU-accelerated computation for robust motion tracking using the CUDA framework”. In: 5th International Conference on Visual Information Engineering, VIE'2008, 29th July-1st Aug. 2008, pp. 437-442. H. Jang, A. Park, K. Jung, “Neural Network Implementation Using CUDA and OpenMP”. In: Computing: Techniques and Applications, 2008. DICTA '08.Digital Image, , 1st-3rd Dec. 2008, pp. 155-161. P. Kowalski, J. Bedkowski, A. Mas³owski, “Improvement of the 3D map building and its fast rendering using Compute Unified Device Architecture (CUDA)”, Maintenance Problems, no. 3(70), 2008, Quarterly ISSN 1232-9312. D. Luebke, “CUDA: Scalable parallel programming for high-performance scientific computing”. In: 5th IEEE International Symposium on Biomedical Imaging: From Nano to Macro, 2008. ISBI 2008, 14th-17th May, 2008, pp. 836-838. L. Yuancheng, R. Duraiswami, “Canny edge detection on NVIDIA CUDA”. In: IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops, CVPR Workshops 2008, 23rd-28th June, 2008. I. Majdandzic, C. Trefftz, G. Wolffe, “Computation of Voronoi diagrams using a graphics processing unit”. IEEE International Conference on Electro/ Information Technology, EIT 2008, 18th-20th May, 2008, pp. 437-441. S. A. Manavski, “CUDA Compatible GPU as an Efficient HardwareAccelerator forAES Cryptography”.


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

[24]

[25]

[26]

[27]

[28]

[29]

[30]

[31]

[32]

[33]

[34]

[35]

In: IEEE International Conference on Signal Processing and Communications, 2007. ICSPC 2007, 24th-27th Nov. 2007, pp. 65-68. T. Okuyama, F. Ino, K. Hagihara, “A Task Parallel Algorithm for Computing the Costs of All-Pairs Shortest Paths on the CUDA-Compatible GPU”. In: International Symposium on Parallel and Distributed Processing with Applications, 2008. ISPA '08. 10th-12th Dec. 2008, pp. 284-291. L. Pan, L. Gu, J. Xu, “Implementation of medical image segmentation in CUDA Technology and Applications in Biomedicine”. In: International Conference ITAB'2008, 30th-31st May, 2008, pp. 82-85. S. Patidar, P.J. Narayanan, “Ray Casting Deformable Models on the GPU”. In: 6th Indian Conference on Computer Vision, Graphics & Image Processing, 2008. ICVGIP '08. 16th-19th December 2008, pp. 481-488. G. Poli, A. L. M. Levada, J.F. Mari, J. H. Saito, “Voice Command Recognition with Dynamic Time Warping (DTW) using Graphics Processing Units (GPU) with Compute Unified Device Architecture (CUDA)”. In: 19th International Symposium on Computer Architecture and High Performance Computing, SBAC-PAD 2007. 24th-27th Oct. 2007, pp. 19-25. G Poli, J.H. Saito, J.F. Mari, M.R. Zorzan, “Processing Neocognitron of Face Recognition on High Performance Environment Based on GPU with CUDA Architecture”. In: 20th International Symposium on Computer Architecture and High Performance Computing, SBACPAD '08, 29th Oct. -1st Nov. 2008, pp. 81-88. H. Scherl, B. Keck, M. Kowarschik, J. Hornegger, “Fast GPU-Based CT Reconstruction using the Common Unified Device Architecture (CUDA)”. In: Nuclear Science Symposium Conference Record, 2007. NSS '07. IEEE Volume 6, 26th Oct.-3rd Nov. 2007, pp. 4464-4466. V. Simek, R. R. Asn, “GPU Acceleration of 2D-DWT Image Compression in MATLAB with CUDA”. In: European Symposium on Computer Modeling and Simulation, EMS '08, Second UKSIM, 8th-10th Sept. 2008, pp. 274-277. B. Shah, H. Choset, ”Survey on urban search and rescue robotics”. Technical report, Carnegie Mellon University, Pittsburg, Pennsylvania, 2003. M. Strand, R. Dillmann, “3D-Environment Modeling using an autonomous Robot”. In: IARP-Workshop on Environmental Maintenance & Protection , CD-ROM, 2008. H. Sugiyama, T. Tsujioka, M. Murata, “Victim detection system for urban search and rescue based on active network operation”, Design and application of hybrid intelligent systems, 2003, pp. 1104-1113. Y.K.A. Tan, W.J. Tan, L.K. Kwoh, “Fast Colour Balance Adjustment of IKONOS Imagery Using CUDA”, IEEE International Geoscience and Remote Sensing Symposium, 2008. IGARSS 2008, 7th-11th July, 2008, vol. 2, pp. II-1052 - II-1055. V. Vineet, P. J. Narayanan, “CUDA cuts: Fast graph cuts on the GPU”. In: IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops, CVPR Workshops'2008, 23rd-28th June, 2008, pp. 1-8.

[36]

[37]

N° 2

2011

Z. Yang; Y. Zhu; Y. Pu, “Parallel Image Processing Based on CUDA”. In: International Conference on Computer Science and Software Engineering , 12th-14th Dec. 2008, vol. 3, pp. 198-201. J. Zheng, W. Chen, Y. Chen, Y. Zhang, Y. Zhao, W. Zheng, “Parallelization of spectral clustering algorithm on multi-core processors and GPGPU”. In: 13th Asia-Pacific Computer Systems Architecture Conference.ACSAC 2008, 4th-6th Aug. 2008, pp. 1-8.

Articles

11


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

N째 2

2011

COMPLEXITY STUDY OF GUARANTEED STATE ESTIMATION FOR REAL TIME TO ROBOT LOCALIZATION th

th

Submitted 19 July 2010; accepted 10 December 2010.

Emmanuel Seignez, Alain Lambert

Abstract: The estimation of a vehicle configuration in its environment is mostly solved by Bayesian methods. Interval analysis allows an alternative approach: bounded-error localization. Such an approach provides a bounded set of configuration that is guaranteed to include the actual vehicle configuration. This paper describes the boundederror localization algorithms and presents their complexity study. A real time implementation of the studied algorithms is validated through the use of an experimental platform. Keywords: autonomous robot, data fusion, localization, bounded error state estimation, algorithm.

1. Introduction The aim of the localization problem is to maintain a correct vehicle configuration (position and orientation) among its displacement using proprioceptive and exteroceptive sensors [3]. Proprioceptive sensors generate a cumulative error along the displacement. Consequently, using proprioceptive sensors does not give a satisfactory positioning to be used in higher level tasks like path following or path planning. To cope with this problem, any localization processes also use exteroceptive sensors to improve the predicted configurations of the vehicle. Thus, the localization processes are broken down into two steps: they alternate the prediction phases using proprioceptive sensors and a correction (estimation) phase using exteroceptive sensors. The most commonly used methods are based on Kalman filtering [9], [19], [8] and Markov localization, using either a probability grid [5] or particle filtering [2], [29]. Kalman filtering [7] (in its basic implementation) requires neither a great amount of computing power nor memory but, in return, cannot perform global localization and can only track one configuration of the vehicle. Moreover, it diverges very swiftly in the presence of erroneous data (outliers) even whilst using methods developed to overcome some of its limitations such as those reported in [10]. Kalman filtering is therefore not well adapted to a situation where outliers are unavoidable. Markov localization methods require more computing power than Kalman filtering but provide more reliable estimated configurations in complex, dynamic or badly mapped environments [6]. These methods have dominated for the last few years and much work is still going on to improve them, especially Monte Carlo localization [30]. Markov localization methods evaluate the probability of a vehicle being in a given region of a mapped environment 12

Articles

but nothing ensures that the vehicle is indeed in the configuration with the highest probability. Bounded-error state estimation [11] is an alternative and less known method which has been proposed for localization [21], [22] and tracking [13]. This method is based on R. E. Moore's [23] work on interval analysis. He proposed to represent a solution to a problem by giving an interval in which the real solution is guaranteed to be. Thus, whereas the majority of localization methods provide probabilistic results, this method gives a set of bounded configuration in which the vehicle is guaranteed to be. In bounded-error state estimation, all model and measurement errors are assumed to be bounded, with known bounds. At each time instant, the bounded-error recursive state estimator provides a set containing all possible configurations of the vehicle given the measurements and noise bounds. The methodology has proved its feasibility in simulations [13]. Experiments were done to demonstrate that this method can be made operational on real data [25], [26]. [26] suggests using the volume of bounded localization in order to tune the method with a number of boxes that remains tractable. Nevertheless, [26] does not show how to achieve it. This paper focuses on the bounded localization algorithms of the method and shows how to tune it in order to achieve a real time operation. Whereas [12], [13] focus on the mathematical aspects of the method, a complete presentation of the algorithms is provided here. These algorithms are then used to calculate the complexity of the localization method and to prove its tractability. Finally, we will propose a new method of automatically setting parameters to provide the most precise localization in real time. Section 2 describes the necessary mathematical tools based on interval analysis. Section 3 shows the way of representing the solution set with subpavings. Section 4 presents the localization process: the operations realized during the prediction step are reported in Section 4.1 whilst Section 4.2 presents the estimation step. Section 5 shows the complexity of each studied algorithm and Section 6 explains how to tune the parameter so as to achieve a real time implementation. Finally, Section 7 presents the experimental platform and an experimental validation of the proposed real time bounded error state estimation.

2. Interval analysis 2.1. Overview Bounded-error state estimation is based on interval analysis. Interval analysis was introduced in the sixties in order to avoid the problem of approximations in calculations. R. E. Moore [23] proposes to represent a solution of


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

a problem by an interval in which the real solution is guaranteed to be. The minimum and maximum of this interval are perfectly known and not approached. Interval analysis provides a set of rules to calculate with the interval [x] = [x,x] Ì ú where x and x are respectively the minimum and the maximum of [x]. The width of an interval is w[x] = x-x. Arithmetical operations (+, -, * and /) and standard mathematical functions readily extend to intervals. For example, [1,2]+[3,4] = [4,6] ln([1,e]) = [0,1]

(1)

2.2. Afree library The computing development using the interval analysis is simplified by the use of PROFIL/BIAS (Programmer’s Runtime Optimized Fast Interval Library/Basic Interval Arithmetic Subroutines) [16], [15], [1], a C++ class library supporting the most commonly needed interval and real operations in a user friendly way. Using this library allows the manipulation of intervals as numbers. All basic mathematical functions were implemented to accept numbers as well as intervals. 2.3. Inclusion function The notion of inclusion function is one of the most important tools provided by interval analysis [11]. For any function where f : D Ì ú ® ú is defined as combinations of arithmetical operators and elementary functions, interval analysis makes it possible to build inclusion functions f satisfying "[x] Ì D, f ([x]) Ì f[ ] ([x])

(2)

where f ([x]) denotes the set of all values taken by f (.) over [x]. The simplest way to obtain an inclusion function is to replace all real variables by interval ones and all realvalued operators or elementary functions by their interval counterparts. The natural inclusion function is then obtained. For example, the function shown below f (x) = x2 - x + 1

(3)

N° 2

2011

3. Dealing with subpavings 3.1. Introduction The vehicle configuration in the global frame is denoted by x = (x,y,q)T where (x,y) are the coordinates of the middle of the segment joining the two steering wheels and q specifies the orientation of a local frame attached to the vehicle with respect to the global frame. To estimate and handle the sets implied in our problems, we use the concept of boxes as bounded configurations: a box [x] Îú3 is composed of 3 intervals [x]=[x]´[y]´[q]. A subpaving [11] is a union of non-overlapping boxes. In the following sections, a description of the operations performed to calculate the subpaving is provided. 3.2. Use of a subpaving in localization process The principle of localization consists of testing the binary relevance of each box according to the data returned by the sensors. Firstly we verify if a box (or a part of it) is compatible with the measurement: if the answer is positive the box is kept, else the box is discarded. If only a part of the box is compatible with the measurement, then the box is cut into smaller boxes making it possible to improve the solution description (see Section 2.3). In order to make the operations more efficient, two different models are used to order the description and the storage of these boxes (see Section 4). The set of vehicle configurations is either represented as a list in which overlapping boxes are present, or as a binary tree which avoids overlapping boxes. In the tree representation, each node has the description of a box and the box located at the root of the tree contains all the boxes in the tree. 3.3. Tree organization The binary tree is constructed by dichotomy: a box is cut into two children boxes by interval bisection (one dimension of the box is bisected). These boxes have the same subintervals length in one dimension and a copy of all the other dimensions. We chose to cut the box according to the largest length. For instance, cutting the root box [x] among y dimension lead to two boxes named L[x] and R[x] (corresponding respectively to the right and the left children [x]):

has the following natural inclusion function f[ ] ([x]) = [x]2 - [x] + 1

(4) (5)

For convergent functions (all functions considered in this work are convergent), the width of their image interval tends to zero when the width of the corresponding argument interval tends to zero. As a consequence, cutting the interval into smaller intervals improves the result of the inclusion function (see [24], [11]). For instance using Eq. (3), f[ ] ([0,2]) gives a result of [-1,5], whereas a calculation of f[ ] ([0,1]) È f[ ] ([10,2]) gives an interval of [0,4] which is better than f[ ] ([0,2]). Outer-approximation of sets may be achieved by a union of non-overlapping boxes or subpaving. Subpaving combined with direct image evaluation and inverse image evaluation algorithms are the building stones of the bounded-error state estimation algorithm.

3.4. Representation of a set using a subpaving The Figure 1 gives a two dimensions example of a subpaving calculation for a set W Î ú2 bounded on [0;5]´[0;5]. Starting from a root [0;5]´[0;5] the extrema of W are calculated to reduce the box. Here we find [0.1;4]´[0;3.8] (Figure 1.1). The bisection takes place using the largest length dimension. The two studied boxes are [0.1;2.05] ´[0;3.8] and [2.05;4]´[0;3.8] (Figure 1.2). In order to reduce the boxe’s length, we calculate the extrema of W for each box. On the right child, the box is reduced to [2.05;4] Articles

13


Journal of Automation, Mobile Robotics & Intelligent Systems

Fig. 1. Binary tree and list representation of a set of configurations. 14

Articles

VOLUME 5,

N째 2

2011


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

´[2;3.8] because the interval [2.05;4]´[0;2] is empty. Similar operations are done for the left child which is reduced to [0.1;2.05]´[0;3.7]. Each box is then bisected again. This bisection is done until it meets one of the three following criteria: 1 - a box is completely inside W, in this case the box is kept, 2 - a box is not contained by W, in this case the box is deleted, 3 - the bisected box reaches the minimum length, in this case the box is kept. 3.5. Converting a tree into a list The actual configuration of the vehicle is included into a leaf node. For prediction steps (in the localization process), a complex tree organization of the subpavings is not needed. When only the leaf nodes are required to describe the subpavings, the boxes can be organized as a list of nodes. Doing that reduces the number of nodes and thus the quantity of memory and calculation needed. A function TREE_TO_LIST (Algorithm 1) is recursively called to visit the tree until a leaf node is found. This leaf node is placed in the list. The described algorithm has been used here to calculate the list of Figure 1.5 from the tree in Figure 1.4.

2011

partially or totally in [x]childleft, Listright contains the boxes partially or totally in [x]childright (Line 15-24, Algorithm 2). The function BUILDSP is then called recursively for the two boxes [x]childleft and [x]childright with their associated lists (Line 25-26, Algorithm 2). Finally, BUILDSP deletes the two sublists (right and left) and returns a tree. The Algorithm 3 (called by Algorithm 2) calculates the box that includes a list of boxes. Starting from an empty box (line 1), the algorithm increases the bounding box according to the boxes in the list (lines 2 à 9). Subpavings are used in a number of operations that are involved in the localization process.

4. Localization process 4.1. Prediction step The prediction step uses the data provided by the odometers mounted on the rear wheels of our experimental platform (see Section 7 for a description of the sensors). 4.1.1. Odometric data integration A non-linear discrete-time state-space model is considered to describe the evolution of the configuration xk of the vehicle xk+1 = f(xk , uk , vk)

Converting a list into a tree (and eliminating overlapping boxes) To reduce the number of leaf nodes (which increases during the prediction step) and thus to reduce the calculations, the overlapping boxes have to be deleted. For this purpose, the BUILDSP algorithm generates a set of nonoverlapping boxes ordered as a binary tree. BUILDSP starts from possibly overlapping boxes ordered as a list. The Algorithm 2 (BUILDSP), deduced from the explanation in [12], reduces the number of pavings and the future calculations. Algorithm 2 starts (in the first call) with a box [x]root that contains all the box in the list “List”. On line 2-9, [x]root is reduced to eliminate all the areas that are not useful. This is necessary, on each recursive call, in order to bind the set as close as possible (see Figure 1.2). Line 10-12, Algorithm 2, BUILDSP tests if [x]root is included in one box in the list. If yes, or [x]root is smaller than e (line 13), then the box is kept. If this is not the case [x]root is cut among its larger dimension: it builds [x]childleft and [x]childright (Line 14, Algorithm 2). The list of boxes is then divided into two sub-lists: Listleft contains the boxes

N° 2

(6)

3.6.

where uk is a known two-dimensional control vector which is assumed constant between the times indexed by k and k+1. vk is an unknown state perturbation vector that accounts for the uncertain description of reality by the model. X is a subpaving of ú3 in which the robot is guaranteed to be. Integrating the odometric data is done by creating the subpaving that includes Y = f(X) where f is a known non-linear function. Xkïk-1, the set that is consistent with sensor data provided at time k knowing k-1, could be calculated using Xkïk-1 = f(x, u, v) with

x Î Xk-1ïk-1, u + v Î [u + v]

= f(Xk-1ïk-1, u + v).

(7)

with [u + v] the state vector u added to the bounded error v on the measurement. [u + v] can be deduced from data sent by the incremental coder which are in binary format: the actual position of the coder for the right wheel belongs to

Articles

15


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

[ntr+1, ntr+1] and [ntl+1, ntl+1] for the left wheel. Knowing the coder resolution ncoder, the angular displacements of the left and right wheels are given by [nt -1, ntr+1] [dr] = 2 ´ [p] ´ r ncoder [dl] = 2 ´ [p] ´

(8)

[ntl-1, ntl+1] ncoder

As p cannot be represented exactly, it is bounded. We can deduce the longitudinal motion ds and rotational motion dq by integrating the measurement errors on the wheels radius R and on the distance between the two rear wheels 2e: 16

Articles

N° 2

2011

[ds] = [R - DR, R + DR] ´

[dl]+[dr] 2

(9)

[dq] = [R - DR, R + DR] ´

[dl]-[dr] 2[e - De, e + De]

(10)

where R is the measurement error on the wheel radius and e the measurement error on the distance between the two rear wheels. These parameters are made larger than usual to allow for the wheel slipping. The classical evolution model, described in [28], [17], is considered:


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

f(x) =

(11) Applying bounded parameters on (12) for each box ^ [x] Î Xk-1ïk-1 the bounded evolution of the vehicle is described by the following inclusion function:

f[ ]([x]) =

N° 2

2011

The boxes of the list OldList are bisected until their width in all dimensions is lower than a specified precision parameter e. This step is detailed in the Algorithm 4 (function Mince). For each dimension of the paving (lines 3,7,11, Algorithm 4), if the length is higher than the specified value e, the box is bisected. A new box is then added at the end of the list of boxes and will be considered by the mince function later. Calculating the inclusion function (line 2-4 Algorithm 5) The images of the resulting boxes are then evaluated using the inclusion function for f and the Profil/Bias library. According to Eq. (2), the union of these images is guaranteed to contain f(Xk-1ïk-1,[u+v]). When e decreases, the image subpaving Xkïk-1 gets closer to the optimal subpaving. However the price to be paid is an increased prediction computing time.

(12) An outer-approximation Xkïk-1 may be calculated using the IMAGESP (IMAGE SubPaving) algorithm [11], because the set of boxes Xk-1ïk-1 is described by a subpaving and an inclusion function for the prediction function f is available. 4.1.2. IMAGESP The IMAGESP algorithm (Algorithm 5) may be decomposed into three steps: Mincing the subpavings (line 1, Algorithm 5)

Merging the subpaving (line 5-6 Algorithm 5) The images are merged to get a subpaving guaranteed to contain the configuration of the vehicle (line 6, Algorithm 5). This last step builds a subpaving (a set of non-overlapping boxes) represented as a binary tree. It reduces the number of boxes that will have to be used in further steps. Furthermore, the list List is no longer useful and is deleted. 4.2. Estimation step The estimation step integrates the data provided by the sonars of the experimental platform.

Articles

17


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

4.2.1. Sonar data prediction The measurement equation at time k for the i-th sonar can then be described as [yk,i] = h(si([x]) + [wk,i],

(13)

with the noise measurement [wk,i] = [-ah(si([x])), ah(si([x]))] and h(si([x])) the smallest distance between the sensor positioned at si([x]) and the nearest segment located inside the emission cone (g is the half aperture cone). The computing of [rmin] = h[](si([x])) is given in Algorithm 6. For each wall of the environment (see line 1,2,3, Algorithm 6), the smallest distance between the wall and a box is computed whilst taking into account the robot uncertainty in which the sensor is guaranteed to be. The segments are defined by their extremities (a and b). The aperture cone extremities are described by the two vectors u1 and u2. More details of this function are reported in [20], [12], [11]. All nS measurement equations (13) may then be gathe-

18

Articles

N° 2

2011

red to form [rmin]. Algorithm 6 allows an easy calculation of [rmin] but it is a rather crude description of the range measurement process. Measurements resulting from multiple reflections of the transmitted wave, for instance, may not be explained by this model. Nevertheless, experimental results show us that such a simulation provide good enough localization results. Each of the nS sonars of the vehicle provides a range measurement. To the i-th measurement yk,i, an interval [yk,i] = [yk,i - wi, yk,i - wi] may be associated. All [yk,i], measurements are gathered to form [yk]. The output [yk], available at time k, can be taken into account by updating Xkïk-1 (the previous localization set obtained during the prediction step) into an outer approximation Xkïk Xkïk = hk-1 ([yk]) Ç Xkïk-1.

(14)

Since Xkïk-1 is described by a union of boxes, Xkïk may be obtained as a union of boxes using the SIVIA (Set Inversion Via IntervalAnalysis) algorithm [11].


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

4.2.2. SIVIA Starting from the root of the binary tree provided by the BUILDSP algorithm during the prediction step, each box of the tree is evaluated using [rmin] = h[](si([x])) as following: • If [rmin] Ì [yk] then any x Î[x] is thus consistent with the measurements and noise bounds and [x] is proved to be in Xkïk (line 8 Algorithm 7). [x] is kept in the solution list. • If [rmin] Ç [yk] = Æ then there is no x in [x] that is consistent with the measurements and noise bounds and [x] does not belong to Xkïk (line 11 Algorithm 7). [x] is eliminated. • If [rmin] Ç [yk] ¹ Æ and if [x] < e, then the box is too little to be cut. At least one configuration in [x] is consistent with the measurements and noise bounds and due to its small dimension, [x] is kept (line 14 Algorithm 7).

N° 2

2011

If [rmin] Ç [yk] ¹ Æ and if [x] ³ e, the same tests are applied to the right and left children (if they do not exist they are calculated).

4.2.3. Robustness to outliers For ultrasonic range measurements, it sometimes occurs than more than 50% of the data collected turn out to correspond to outliers. These outliers may correspond to an outdated map of the environment, to sensor failures, to people moving in the environment, etc. As a consequence, the set characterized by SIVIA may very frequently turn out to be empty. To solve this problem, a robust variant (Algorithm 9) of the correction step has to be used. This variant keeps any x Î[x] which is consistent with at least no measurements among the nS available. At the beginning of a correction step, the number of outliers is unknown and should be calculated. A first approach would be to characterize the set of all xk that are

Articles

19


Journal of Automation, Mobile Robotics & Intelligent Systems

consistent with a outliers, starting with a=0 and increasing a by one until the solution becomes non-empty (line 1-5 inAlgorithm 8). Once such a nonempty set is obtained, and if the number a of outliers is smaller than nS - security, one add a number of security outliers to increase robustness against undetected outliers (lines 6-10). However this causes deterioration in the precision of the localization. In order to deal with the outliers, the function SIVIA should have a new parameter no: the number of outliers that have to be considered. This alters the algorithm accordingly and leads to the Rob_SIVIA algorithm presented in Algorithm 9.

20

Articles

VOLUME 5,

N째 2

2011

This new algorithm looks like the Algorithm 7, but it considers the sonar simulations one by one (line 5-14) to determine the number of consistent measurements (line 9) and erroneous measurements (line 11). If there are too many erroneous data, the tree is not a solution (line 15-17). If there are enough consistent data or if the minimum precision is reached (line 18-22), the tree is kept. If none of these cases occur then the current box is cut and the tests are repeated on each of the new boxes. Finally, Algorithm 10 resumes the localization process using the presented algorithms.


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

5. Complexity study In this section, the complexity of the localization process is studied according to each algorithm presented in the precedent parts. 5.1. Prediction step During the prediction (Algorithm 10), the functions TREE_TO_LIST and IMAGESP are used. The TREE_TO_LIST function complexity This function iterates over the nboxestree nodes of the tree and creates a list of nboxesleaves elements (with nboxestree = nboxesleaves ´ 2-1 in the worst case scenario). Thus the complexity of this algorithm is O(nboxestree). The IMAGESP function complexity IMAGESP is summarized in Algorithm 5 and uses the functions MINCE and BUILDSP. The MINCE function complexity The MINCE function (Algorithm 4) starts from a list of nlist elements and bisects these boxes into 2 boxes until their dimensions become smaller than e. In the worst case, the number of operations is equal to the number of nodes nboxestree of a binary tree with nboxesleaves leaves. Thus, the complexity of this algorithm is O(nboxestree). The BUILDSP function complexity BUILDSP, presented in Algorithm 2, can be summarized as: — line 2 calls the function Bounding (Algorithm 3) which iterates over the list of boxes (O(nboxesleaves)) — lines 10-12 and lines 17-24 show two iterations over the list of boxes (O(2 ´ nboxesleaves)) — lines 25-26, two recursive calls of BUILDSP — lines 27-28, the lists are deleted, two iterations over the list of boxes (O(2 ´ nboxesleaves)) Consequently, the list of boxes is visited 5 times at each recursive call. The recursive calls are done until the nboxesleaves leaves of the tree are reached. Consequently, the number of recursive calls is: ncallslBuildSp = 1 + 2 + 4 + ... + nboxesleaves = nboxestree

(15)

Two lists of boxes are created by BUILDSP. Each list contains the boxes that cover a part of the considered space. In the worst case, each list contains all the boxes of the initial list. The complexity of the BUILDSP function is O(nboxestree ´ 5 ´ nboxesleaves) which can be simplified to O(n2boxestree). Complexity of the prediction step According to theAlgorithm 5: — line 1 uses the function Mince (Algorithm 4) that has a complexity of O(nboxestree), — lines 2-4, iterate over the list of boxes (complexity of O(nboxestree)) , — line 5 uses the function Bounding (Algorithm 3), which iterates over the list of boxes (complexity in O(nboxesleaves)) , — line 6 uses the function BUILDSP, which has a

N° 2

2011

complexity of O(n2boxestree), — Line 7: the list is deleted (O(nboxesleaves)). In addition, according to Algorithm 10, during prediction step a call of TREE_TO_LIST and delete(tree) is done. Each of them has a complexity in O(nboxestree). Knowing that nboxestree = 2nboxesleaves -1 , we can replace nboxesleaves by nboxestree in the above complexity. Then, we can notice that the main part of the prediction step complexity is due to BUILDSP. Finally, the overall complexity of the prediction step is O(n2boxestree). 5.2. Estimation step During the estimation step (see Algorithm 10), the function Robust_localization (Algorithm 8) is called upon. Next, Robust_localization uses the function Rob_SIVIA. Rob_SIVIA may be broken down into 2 main steps: — line 5-14, ns calls of sonar simulation, — lines 25-26, two recursive calls of Rob_SIVIA. The number of recursive calls of the function Rob_SIVIA depends on the number of boxes of the binary tree. Thus Rob_SIVIA will be called a maximum of nboxestree times and the complexity of Rob_SIVIA is in O(ns ´ nboxestree ´ nwalls) (see Algorithm 6), where nwalls is the number of the walls. As Rob_SIVIA is called ns time by the Robust_localization function, the complexity of the estimation step is in O(ns2 ´ nwalls ´ nboxestree ).

6. Toward a real-time computing 6.1. First improvement The BUILSP algorithm has high complexity and is realised during each prediction step ie ten to a thousand times between each estimation step. The goal of the BUILSP algorithm is to reduce further calculation (to decrease the number of boxes and to eliminate overlapping boxes). Nevertheless, the use of BUILSP is not mandatory in the prediction step. To decrease the calculation time of the prediction step, the BUILSP algorithm was moved outside of the prediction step and was only done before each estimation step. This means that BUILSP is moved after the prediction loop ie from the IMAGESP algorithm to between line 7 and 8 of Algorithm 10. It reduces the prediction step complexity to O(nboxestree) and increases the estimation step 2 complexity to O(nboxes + nboxestree ´ n2s ´ nwalls) . Jointly tree with this modification, the TREE_TO_LIST step and the deletion of the tree are moved after each estimation step (rather than before each prediction step). In return, the number of boxes to be taken into account during the prediction step increases, and overlapping boxes are present. However, the whole calculation time decreases during the prediction step as well as during the complete localization process. Such an improvement was already applied in [26, 25, 14]. 6.2. Tuning of the parameter e The number of nodes nboxestree of the binary tree is the biggest when the number of leaf nodes nboxesleaves is the biggest. In such a case the tree is well balanced. nboxesleaves is the biggest when the leaf nodes have the smallest Articles

21


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

dimensions (lower than e). Assuming that the bounding box of the studied set is [x]inc = [x]inc ´ [y]inc ´ [q]inc and that e defines the precision parameter (any dimension of any box can be divided by 2 until its size is lower than e), the maximum number of boxes nboxesleaves is: (16)

where

is the smallest integer greater or equal to and

is the width of the box

.

We can experimentally determine the maximum number nmax boxesleaves of boxes allowed to achieve a real time computing. Next we need to maintain a number of boxes lower or equal to nmax boxesleaves in order to maintain a real time: nboxesleaves £ nmax boxesleaves

N° 2

2011

moreover time-consuming [32, 4]. Most of the platforms based on a reduced model, do not support time consuming algorithms [31]. The platform Minitruck (Figure 2-a) does not have these disadvantages, the 400 Mhz Intel Xscale processor (480 Mips) allowing the user to run consuming computing programs directly on the platform. Furthermore, the possibility of accessing a distant computer still increases the computing power of the platform. In addition, Minitruck has advantages of low development cost, low maintenance demand, a small size and reduced weight. There is also the possibility of doing indoor as well as outdoor experiments with a low electrical consumption. (a) Minitruck

(17)

Thus, e can be deduced from:

(18) or equivalently by the following cubic function: 3 2 (1 - nmax boxesleaves ) e + 2e (w[x]inc+w[y]inc+w[q]inc) +

+ 4e(w[x]incw[y]inc+w[y]incw[q]inc+w[x]incw[q]inc) + +8w[x]incw[y]incw[q]inc £ 0,

(19)

Equation (19) has at least one solution among the real numbers. We retain the smallest value of e if there is more than one solution. By considering that the three added boxes (the three “1”) in Eq. (18) do not significantly modify the calculation time, we obtain the following approximation: e@

3

8w[x]inc ´ w[y]inc ´ w[q]inc nmax boxesleaves

(b) The sensors

(20)

We can now adapt the e value to the embedded computing power. Unfortunately, a high e value leads to a poor (imprecise) localization. This is the price paid for having a slow embedded computer.

7. Experimental validation Minitruck (Figure 2-a) is a generic electric vehicle developed in the laboratory and equipped with an embedded electronic system, actuators and sensors. This multisensor platform has sufficient computing power to execute the algorithm autonomously. Nevertheless, a Client/ Server architecture with wireless communication enables high computing power calculations to be sent to a distant computer. It allows the user to quickly add his own algorithms so as to test his theoretical works. 7.1. Introduction An experimental platform is necessary for an experimental validation of algorithms. However, real scale platform is generally expensive to buy and maintain and 22

Articles

Fig. 2. Location of the sensors and uncertainty of the sonar measurements. The platform embeds different kinds of sensors: ultrasound sonars, odometers and a camera with the possibility of easily adding other sensors. A client-server architecture was chosen with a powerful distant workstation. The communication is ensured by a wireless connection and a high level protocol that we defined. All the vehicle actuators and sensors are accessible through the wireless network. The vehicle also embeds a data server which can accept requests and commands from one or more distant workstations.


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

7.2. Experimental platform 7.2.1. Mechanical considerations To reduce the development cost of the platform, an existing mechanical base of a vehicle model reduced to 1/20 was used. With small size, 50 cm length by 22 cm width, and a weight of less than 4 kg, the platform allows easy experimentation indoors as well as outdoors. The experimental platform can easily be carried everywhere. The propulsion is provided by an electric motor (D.C. motor) assembled on a reducer and a differential bridge on the aft wheels. The vehicle is able to go forward and backward and can reach speeds of up to 10 meters per second because of a three gears gearbox. The vehicle direction control is done by a numerical servo-motor on the front wheels. It is able to turn the wheels from -35° to +35°. Two other servo-motors are used to control the motor speed through a power module and the gearbox. 7.2.2. Electronic considerations For the power supply of the vehicle, two batteries NiMh of 3300 mAh are used : one is soley for the electric motor and the other is used for electronic purposes. During our experiment, the autonomy of the vehicle was about an hour depending on the speed and the command to the servo-motors. The embedded computer is based on an Intel Xscale PXA270 processor which has a 32 bits core clocked at 400 mHz. Sold by the GUMSTIX company (www.gumstx. com), it provides a complete Linux system based on the 2.6 Linux kernel. It integrates 128 MB SD-RAM, 4 MB stratoflash and the possibility to add a MMC card (Multi Media Card). It has several I/O peripherals (80 I/O pins including 2 serial links, a wi-fi connection, I2C bus, SPI bus, USB, etc.). In addition, another processor, an Atmel 128, is available and is used to connect the incremental coders and the servo-motors. Figure 3 gives a synopsis presenting how the various embedded modules are connected to the Intel Xscale and the Atmel. The embedded computing power is sufficient to implement on-board basic tasks like collision avoidance, Kalman filtering localization, path tracking, automatic parking [27], etc. Tasks needing more computing power can be deported on a distant computer using a client-server architecture. In this case, the exchanged information is reduced to the sensor data from the experimental platform and to the command from the distant computer.

N° 2

2011

7.2.3. Proprioceptive sensors The digital optical coders HEDS 5540, developed by Hewlett-Packard, have a 500 points per turn angular resolution. Basically, a beam goes through a disc (Figure 4), and two sensors detect the beam crossing. These two sensors are needed to find the rotation direction. Counting the electric crenels, ntr for the right wheel and ntl for the left wheel deduces the angular displacement, see Eq. (8). Due to the vehicle wheel radius of r=4 cm, incremental coders give a half-millimeter-length precision, which is considered sufficient given the mechanical precision. They give information about the vehicle movements. These movements are measured by an incremental coder assembled on each rear wheel unit.

Fig. 4. An incremental coder. 7.2.4. Exteroceptive sensors Overview The platform is equipped with ten ultrasound sonars that give back information about the distance between them and any obstacle located in their aperture cone. The Polaroid Ultrasonic Ranging module is popular in the field of robotic sensor technology. Both its high current consumption (150mA) and its large size are not well adapted for a reduced model platform. The SFR08 of Devantech (see Figure 5) were chosen because of their small size (43x20x17 mm), their price (less than 60 Euros), their low consumption (50 mA during the shoot and 3 mA in standby) and because they integrate all the electronic treatments. Fixed around the vehicle, nine of the sensors are in the truck cab and sweep the front and the sides of the vehicle. A tenth sensor is placed on the rear of the cab and sweeps the rear of the vehicle. The sensor’s orientation and position are presented on Figure 2b). Minimum sensing distance Each ultrasonic module uses a transmitter resonator and a receiver resonator, both calibrated at a frequency of 40 kHz. Considering the Fresnell zone [18], a close field in which high wave perturbation makes it highly improbable to detect any obstacle, we find: (21)

Fig. 3. Flowchart of the hardware.

where D=16 mm is the sensors diameter,

Articles

23


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 2

2011

is the wavelength, v=340 m.s-1 the sound speed and f=40 kHz is the resonator frequency. Thus, the sensor will not be able to detect any obstacles below l0=7.5 mm.

Fig. 5. SFR08 sensor and angle beam. During the emission, the SFR08 send out an eight cycle burst at 40 kHz and is not able to detect any echo because the sensor processor does not check the reception resonator while it commands the emission resonator. Due to the sound speed, we can deduce that the sensor is blind below

(including the

Fresnell zone). In practice, the smallest distance the SFR08 succeeded in detecting is 2.9 cm between the sensor and an obstable. To this distance, we have to add the distance between the external grid of the resonator and the membrane: 0.5 cm. Thus, the minimum distance measured by the sensor is 3.4 cm. If the obstacle is closer than 3.4 cm then the calculated distance is at least 3.4 cm. In fact the SFR08 consider the first echo received after a time that corresponds to 3.4 cm. Practice and theory give the same result. Consequently, the measurement returned by the sonar simulator (see Section 5.2) should be bigger than or equal to 3.4 cm. Maximum sensing distance During the reception, the SFR08 can listen to an echo for a maximum of 65 ms. Its maximum sensing distance is (65 ms*346 m/s)/2=11 m. Experimentation was done to find the maximum distance the sensor is able to detect. To this purpose, we proceeded to take samples of 100 measurements, increasing the distance gradually. At 5 meters, the sonar could never detect the obstacle. The waiting time set by the manufacturer provides a maximum sensing distance of 11 meters, much further than the 5 meters the SFR08 is actually capable of. We chose to reduce this waiting time to 35 ms, which gives a theoretical maximum sensing distance of 5 meters, to reduce the measurement time. Consequently, the measurement returned by the sonar simulator should be lower than or equal to 5 m. Measurement errors Several experiments were done to find the sensor’s properties. The sensor was placed at 200 cm from the ceiling of the room to approach ideal conditions and we proceeded to 1000 measurements. The distribution gives an average of 200 cm with an error of 2 cm (1%), the repartition of these data is shown in Figure 6. 24

Articles

Fig. 6. Sonar data distribution.

Fig. 7. Other experiment. In ideal conditions, the sensors detect the distance with an error of about ± 1% (Figure 6). In addition to this error, the temperature variation in the sound speed causes an error in calculating the distance. Eq. (22) gives the sound speed vsound depending on the sound speed at 0°C (v0=331.3 m.s-1) and on the temperature of the environment t in degrees Celsius. (22) If we consider a temperature of 20°C in the calculation and if the real temperature is 25°C, an error of 1% on the result has to be added. Thus, the total uncertainty Dy (Figure 2) on the distance measurements y may be considered to be 2% of the result. In the second experiment we considered real conditions: the vehicle was placed on the ground at a distance of 200 cm from a wall. Figure 7 presents a distribution in logarithmic scale of 2000 sonar measurements. We notice that several shorter distances were detected by the sensor. They are mainly due to reflections from the ground. Overall, almost 100 measurements were done under 190 cm. That means that 5% of measurements have an error of more than 5%. These experiments were done several times, showing that the data calculated by the sensor largely


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

depends on the environment (floor, walls). The measurement error is set to 6% (5% + 1% in order to take into account the temperature change). Thus, a=6% in Equation (13).

N째 2

2011

During this experiment, Minitruck moved in a corridor of our laboratory at a low speed (10 cm/s) (see Figure 8).

Aperture cone An obstacle is detected if it is in the emission cone of the sensor. This aperture cone depends on the incidence angle between the sensors and the object, the material of the object and its distance from the sensor. Experimentation showed that a maximal half aperture cone g of 22째 can be considered. It is the largest angular deviation for which a useful signal could be collected. This is consistent with the 3 dB beam width that can be obtained from Figure 5. 7.3. Experimental results Using data obtained from the experimental platform Minitruck, the bounded error state estimation method was employed to solve the localization problem. The model uncertainties (Equations (9), (10) and (13)) are taken as Dr=5 mm, De=5 mm and a=0.05 . The e parameter was automatically calculated using Eq. (20).

Fig. 8. Minitruck in its environment. The curved solid line in Figure 9 represents the vehicle trajectory as provided by the odometric data alone. This predicted trajectory deviates from the actual trajectory. Such a localization error is due to an error in the initial configuration, the wheels slipping on the ground during

Fig. 9. Position of Minitruck as evaluated from odometric data alone.

Fig. 10. Projections onto the (X,Y)-plane of 26 subpavings. Articles

25


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

the experiment and inaccurate values of the distance between the rear wheels and of their diameter. On a fortymeter course, the error on the arrival point is almost four meters. Sonar measurements were collected each second. Unfortunately, a large part of this data has to be considered as erroneous and does not correspond to any charted element. The presence of outliers is due not only to the uncertainty of the results returned by the sensors but also to foreign elements not represented on the map which were in the field of the sensors at the time of measurements, such as people walking in the corridor and uncharted elements. Thus, the correction step should only consider the relevant part of telemetric measurements, and be robust to the presence of outliers. In average, about 20 to 30 % of the measurements had to be considered as erroneous. In this experiment, the initial configuration of Minitruck is only known to satisfy x Î [26,0 m;26,5 m], y Î [0,8 m;1,0 m] and q Î [350,10]. Figure 10 displays the projection onto the (X,Y)-plane of 26 estimated configuration subpavings taken during the tracking of Minitruck. Despite the large amount of erroneous data, a relatively precise localization is provided, often with a precision of about 20 cm. At the end of this experiment, the final configuration is well estimated (Table 1). The actual configuration is represented on Figure 10 and contained in the last subpaving provided.

x = (x,y,q)T L[x], R[x] [x]root Xkïk-1 e

si([x]) g

yk

[3]

[4]

[5]

8. Conclusion In this paper, we presented in detail the bounded-error implementation and algorithms used to localize a mobile robot equipped with sonars. The algorithms of IMAGESP and BUILDSP for the prediction step, and the algorithms of SIVIA for the estimation step were provided. A complexity study of these algorithms was carried out. Furthermore, we gave a tuning of the parameter that allows us to achieve a real time localization. The final experiment provides results that show the ability of the bounded-error state estimation to solve the localization problem in real time. Further works will concern an acceleration of the estimation step (the most time consuming part of the algorithm) so as to enhance the localization precision on the slowest of computers. List of symbols Inclusion function that denotes the set of all values f[ ] ([x]) taken by f (.) over [x] 26

Articles

Vehicle configuration in the global frame Respectively the right and the left children of [x], where [x] is a node of a tree Box that contains all the boxes of the List (or of the Tree) The set that is consistent with sensor data provided at time k knowing k-1 Precision parameter used to bisect a box Position of the sensor i when vehicle is in a configuration [x] Half aperture cone of the sonar Gathered measurements for all ïyk,iï sonar measurements at time k.

References [1] [2]

These results show the ability of the bounded-error localization technique to work in real time in a real environment.

2011

AUTHORS Emmanuel Seignez* - Ecole Supérieure d'Ingénieurs en Electronique et Electrotechnique, 14 Quai de la somme, 80000 Amiens, tel.: +33 3 22 66 20 54, fax number: +33 3 22 66 20 00. E-mail: seignez@esiee-amiens.fr. Alain Lambert - Institut d'Electronique Fondamentale Univ Paris Sud, CNRS, F-91405 Orsay, France . E-mail : alain.lambert@u-psud.fr. * Corresponding author

Table 1. Actual configuration and estimated configuration subpaving provided by the bounded-error localization technique. Actual configuration Estimated configuration X (cm) 28,76 [28,76 ; 28,86] Y (cm) 1,81 [1,71 ; 1,81] q (deg) 84 [74;85]

N° 2

[6]

[7] [8] [9]

[10]

[11]

http://www.ti3.tu-harburg.de/software/profilenglisch. html. M. Arulampalam, S. Maskell, N. Gordon, T. Clapp, “A tutorial on particle filters for on-line non-linear/nongaussian bayesian tracking”, IEEE Transactions Signal Processing, no. 50(2), 2002, pp. 174-188. J. Borenstein, B. Everett, L. Feng. Navigating Mobile Robots: Systems and Techniques. A.K. Peters Ltd., Wellesley, MA, 1996. S. Bouaziz, M. Fan, A. Lambert, T. Maurin, R. Reynaud, “Picar: experimental platform for road tracking applications”. In: Proceedings of the IEEE International Conference on Intelligent Vehicle (IV), 2003, pp. 495-499. W. Burgard, D. Fox, D. Hennig, T. Schmidt, “Estimating the absolute position of a mobile robot using position probability grids”. In: Proceedings of the National Conference on Artificial Intelligence (AAAI), vol. 2, Portland, OR, 1996, pp. 896-901. W. Burgard, D. Fox, S. Thrun, “Active mobile robot localization”. In: Proceedings of the International Joint Conference on Artificial Intelligence (IJCAI), 1997. C.K. Chui, G. Chen, Kalman filtering with real-time applications, Springer Verlag, 1990. I. Cox et al., Autonomous Robot Vehicles, SpringerVerlag, 1990. J.L. Crowley, “World modeling and position estimation for a mobile robot using ultrasonic ranging”. In: Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), vol. 2, Scottsdale, AZ, 1989, pp. 674-680. K. Ito, K. Xiong, “Gaussian filters for nonlinear filtering problems”. In: IEEE Transactions on Automatic Control, vol. 45, May 2000, pp. 910-927. L. Jaulin, M. Kieffer, O. Didrit, E. Walter, Applied Interval Analysis, Springer-Verlag, London, 2001.


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

[12]

[13]

[14]

[15]

[16]

[17]

[18]

[19]

[20]

[21]]

[22]

[23] [24] [25]

[26]

[27]

[28]

M. Kieffer, “Estimation ensembliste par analyse par intervalles, application a la localisation d’un véhicule”. PhD thesis, Université Paris-Sud, Orsay, France, 1999. (in French) M. Kieffer, L. Jaulin, E. Walter, D. Meizel, “Robust autonomous robot localization using interval analysis”, Reliable Computing, no. 6(3), 2000, pp. 337-362. M. Kieffer, E. Seignez, A. Lambert, E. Walter, T. Maurin, “Guaranteed robust nonlinear state estimator with application to global vehicle tracking”. In: Proceedings of the IEEE International Conference on Decision and Control (CDC) , Spain, 2005, pp. 6424-6429. O. Knuppel, “Bias-basic interval arithmetic subroutines. Technical report”, Technical Report 93.3, HarburgHamburg, Germany, 1993. O. Knuppel, “Profil-programmers runtime optimized fast interval library. Technical report”, Technical Report 93.4, Harburg-Hamburg, Germany, 1993. A. Lambert, N. Le Fort-Piat, “Safe task planning integrating uncertainties and local maps federation”, International Journal of Robotics Research, no. 19(6), 2000, pp. 597-611. A. Lambert, Y. Pralus, J. Rivenez, “Ultrasons, propagation des ondes ultrasonores”. In: Centre Technique des Industries Mécanique, 1990. (in French) J.J. Leonard, H.F. Durant-Whyte, “Mobile robot localization by tracking geometric beacons”, In: IEEE Transactions on Robotics and Automation, no. 7(3), 1991, pp. 376-382. O. Lévêque. “Méthodes ensemblistes pour la localisation de véhicules”. PhD dissertation, Université de Technologie, Compiègne, France, 1998. (in French) Léveque, L. Jaulin, D. Meizel, E. Walter, “Vehicle localization from inaccurate telemetric data: a set inversion approach”. In: Proceedings of 5th IFAC Symposium on Robot Control, SY.RO.CO.'97, vol. 1, Nantes, France, 1997, pp. 179-186. D. Meizel, O. Leveque, L. Jaulin, and E. Walter. Initial localization by set inversion. IEEE Transactions on Robotics and Automation, 18(6):966971, December 2002. R.E. Moore, Interval Analysis, Prentice-Hall: Englewood Cliffs, NJ, 1966. R.E. Moore, Methods and Applications of Interval Analysis, SIAM: Philadelphia, PA, 1979. E. Seignez, M. Kieffer, A. Lambert, E. Walter, T. Maurin, “Experimental vehicle localization by boundederror state estimation using interval analysis”. In: Proceedings of the IEEE International Conference on Intelligent Robots and Systems (IROS), Canada, 2005, pp. 1277-1282. E. Seignez, M. Kieffer, A. Lambert, E. Walter, T. Maurin, “Real-time bounded-error state estimation for vehicle tracking”, International Journal of Robotics Research, no. 28(1), 2009, pp. 34-48. E. Seignez, A. Lambert, T. Maurin, “Autonomous parking carrier for intelligent vehicle”. In: Proceedings of the IEEE International Conference on Intelligent Vehicle (IV), Las Vegas, USA, 2005, pp. 411-416. E. Seignez, A. Lambert, T. Maurin, « An experimental platform for testing localization algorithms”. In: Proc. of the IEEE International Conference On Information And

[29]

[30]

[31]

[32]

N° 2

2011

Communication Technologies: From Theory To Application, ISBN: 0-7803-68483-0, Siria, 2006. S. Thrun, M. Bennewitz, W. Burgard, A. Cremers, F. Dellaert, D. Fox, D. Hahnel, C. Rosenberg, N. Roy, J. Schulte, D. Schulz, “Minerva: A second generation mobile tour-guide robot”. In: Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), vol. 5, 1999, pp. 1999-2005. S. Thrun, D. Fox, W. Burgard, F. Dellaert, “Robust monte carlo localization for mobile robots”, Artificial Intelligence Journal, no. 128(1-2), 2001, pp. 99-141. R.W. Wall, J. Bennett, K. Lichy, E. Owings, G. Eis, “Creating a low cost autonomous vehicle”. In: IEEE Internationnal Conference of the Industrial Electronics Society (IECON), vol. 4, Sevilla, Spain, 2002, pp. 31123116. E. Woo, B.A. MacDonald, F. Trépanier, “Distributed mobile robot application infrastructure”. In: Proceedings of the IEEE International Conference on Intelligent Robots and Systems (IROS), vol. 2, Las Vegas, Oct. 2003, pp. 1475-1480.

Articles

27


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

N째 2

2011

MESSOR - VERSATILE WALKING ROBOT FOR SEARCH AND RESCUE MISSIONS Submitted 17th June 2010; accepted 22nd December 2010.

Krzysztof Walas, Dominik Belter

Abstract: Nowadays there are more people living in the cities than in the countryside. With the growing number of multistorey buildings, which are built very fast, the number of possible collapses is rising. Rescue missions in ruins of such constructions pose a possible threat to the life of the rescuers. To avoid involving people in such missions mobile robots are used. The use of a six-legged robot in Urban Search and Rescue missions is proposed due to its static stability while walking on rough terrain. In this paper six-legged walking robot Messor is described. Its mechanical structure was designed in such a way, that negotiating obstacles met in urban space is possible. In order to perform such tasks as walking over rough terrain or climbing stairs the robot is equipped with significant number of on-board sensors. The control algorithms, which take advantage of mechanical structure were developed. At the beginning a mechanical structure of the robot is described. Next, the design of the robot control system architecture is considered. Then the robot sensory system is presented and afterward the application software is characterized. Keywords: walking robot, six-legged, field robots.

1. Introduction

Six-legged robots and their use in the field missions is a very popular research topic, thus many such robots have been built in a last few years. Some of them were built to perform specialized function such as demining missions. The prototypes were built in Japan [15] and in Spain [8]. Other robots are used for example as a planetary rovers [13]. There were also some multipurpose robots: Lauron III [7] and Scorpion [10] which is in fact an eight-legged robot but its design is similar to a six-legged robot. Some other experimental examples are: the robot which is equipped with piezoceramic actuator [19], and the DLRCrawler [9], which structure is based on the fingers of DLR-Hand II [6]. In this paper the six-legged walking robot Messor is described. The robot is aimed to work in USAR missions. Its mechanical structure was designed in such a way that negotiating obstacles met in urban space is possible. In order to perform such tasks as walking over rough terrain or climbing stairs the robot is equipped with significant number of on-board sensors. The control algorithms, which take advantage of mechanical structure, and are supported by the use of appropriate sensors, were developed. The robot is shown in Fig. 1. The paper is organized as follows. At the beginning a mechanical structure of the robot is described. Next, robot control system architecture problem is considered. Then the robot sensory system is presented and afterwards the application software is characterized. Conclusions and future work plans are provided at the end.

2. Mechanical structure of the robot

Fig. 1. The Messor robot. Urban areas are getting bigger each day. Nowadays there are more people living in the cities than in the countryside. With the growing number of multi-storey buildings, which are built very fast, the number of possible collapses is rising. Rescue missions in ruins of such constructions pose a possible threat to the life of the rescuers. To avoid involving people in such missions mobile robots are used. The use of a six legged robot in Urban Search and Rescue missions (USAR) is proposed due to its static stability while walking on rough terrain. 28

Articles

The Messor robot is the second generation prototype of the six-legged walking robot which was built in our institute where the research on mobile robotic have been conducted since 1990. The first one was the Ragno robot. The kinematics, sensory system and control of this robot is described in [3], [16]. Design of the robot Messor is based on the experience acquired during the development of the first generation machine. Its kinematic structure is thus similar to the previous prototype, only the dimensions were changed. This new mechanical design allows the robot to perform more demanding locomotion tasks. 2.1. Robot trunk Messor and its trunk are designed to fulfill two requirements. The first is about the distribution of the forces on the robot legs during the tripod gait on flat surface. The leg-end forces should not differ much. The second requirement addresses the dimensions of the trunk to enable the robot to climb the stairs.


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 2

2011

Fig. 2. Trunk of the robot with the workspace for the first joint marked. The equal distribution of the forces was found by using the balance of the forces and torques on the robot trunk. The point of the attachment of the middle legs to the trunk was found by calculations. The distance of the assigned point is further from the vertical axis of the trunk twice the distance of front and hind legs of the robot. The trunk of the robot Messor is shown in Fig. 2. The same solution for the design of the trunk was adapted in the robot for demining missions which was described in [8]. The first requirement implied the bounds on the horizontal dimensions. The vertical dimensions were chosen in order to enable standard stairs climbing. For this purpose the dimensions of the stairs were investigated. The depth d of the stair and the height h of the stair should be in relation 60 < 2 · h + d < 65 cm. The formula comes from the technical regulation concerning the structures built in Poland. The highest possible stair in habitable building is 20 cm which gives the depth of 20 cm while assuming the lower limit. Due to the posed requirement on the minimal depth of the step, the distance between two pairs of legs is 15.3 cm to enable the robot to put two pairs of the legs on the same step. 2.2. Robot leg The kinematic configuration of the leg is similar to an anthropomorphic robot arm. It has 3-DOF, so only position control is available but not the orientation of the tip. The segments of the legs have the following dimensions: coxa 5.5 cm, femur 16 cm, tibia 23 cm (with the foot), which corresponds approximately to the proportions of the insects leg segments met in the nature. The proportion for the insect is 1:4:5. This proportion was the starting point in the design process. In order to obtain geometrical dimensions of the leg at least the length of one segment has to be established. Thus, the length of the distal part of the leg was found according to the requirement posed by the stair climbing strategies. As the highest possible step is 20 cm, so the distal segment of the leg is 23 cm long. The additional 3 cm eases the negotiation of the stairs.

Fig. 3. Robot leg and frontal cross section of its workspace. Let's look at the working area of the single leg. The kinematic structure of the robot leg is shown in Fig. 3. In the first joint (nearest to the trunk) the movements are constrained by the structure of the robot. For forelegs the available angle of the movement is 171°, for the middle legs is 200°, and for the hind legs is 149°. The angular ranges of movements for the first joint of each leg are shown in Fig. 2. As it could be seen the robot is able to rotate its fore and hind legs in order to assume a mammal like configuration of the legs and is able to walk on four legs. Regarding next two joints, the cross section of the working area is shown in Fig. 3. The mobility is limited in the top part of the area, above the robot. So the Messor is not able to walk while turned upside down, but the area of possible movements beneath the robot is large. It creates the possibility of hiding the legs under the trunk or grasping an object with the legs. This ability combined with the one mentioned earlier enables the robot to carry some limited load held by middle legs, and performing the mammal like walk on four legs i.e. on front and hind legs. 2.3. Actuators The Messor robot is equipped with robotic servomotors. Each of them provides 2.94 Nm of torque, 38.5 W of power, and its mass is only 68 g. The motors have a digital interface (Hitec HMI protocol) with the position control. The used motors enable the robot to walk efficiently on the rough terrain, and to climb obstacles. The smooth change of the speed of the robot movements is possible.

3. Sensory system The Messor robot is equipped with many sensors which could be divided into two groups. One group of sensors is responsible for safety of the walking procedures on a rough terrain. The second group is more sophisticated and is used for path planning.

Articles

29


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

3.1. Sensors used for the safety of walking To perform safe movement of the robot from one location to another, the information about its pose as well as on contacts of its feet with the ground is needed. The pose of the robot is estimated by using a 6-DOF Inertial Measurement Unit (IMU). The module consists of three accelerometers and three gyroscopes. Each accelerometer provides data about the robot acceleration along each axis of the local coordinates frame, while the gyroscopes provide the information on the angular velocity of the robot around each axis of the local coordinates frame. These data allow to stabilize the platform of the robot during steepness climbing as well as to correct the heading while walking. As to sensing of a contact of the robot feet with the ground two types of sensors were used. The first one is mounted at the tip of the foot and provides information on the contact force with the ground. It is a resistive sensor, where the resistance is decreasing with the increase of the contact force. According to the drop of the resistance the voltage on the resistor is rising. The voltage is measured by the microcontroller equipped with an A/D converter. The data are used for sensing contacts with the ground. Another part of the system is a current sensor attached to each motor of the leg. The information of the current in each leg enables the calculation of the torque in each joint and then to apply equation: F = (JT)-1Q

(1)

where, F - reaction force vector [3x1], J - geometric Jacobian for the leg [3x3], Q - torque in each joint vector [3x1]. In that way force exerted on the ground at the tip of the leg is obtained. The simultaneous measurements from the two above mentioned sensory systems fixed on the leg provides a reliable information about the contact with the ground. These measurements are also used to sense the surrounding environment and enables to implement simple reactions scheme in case of the occurrence of unexpected or unperceived obstacles. The robot can also be equipped with any kind of chemical substances sensors. The sensors should have resistance or voltage output. In our experiments the robot is equipped with ethanol sensor. 3.2. Sensors used for the path planning Search and rescue missions are performed in very rough terrain so good path planning is needed in order to perform mission. The Messor robot is equipped with three main sensors for mission support. The first one is the video camera uEye - UI-1225LE-C which gives information about the surrounding environment and it is used in the Simultaneous Localization and Mapping (SLAM) subsystem and also for visual odometry. The model used on the robot has a picture resolution 752x482 and frame rate 87 fps. The robot uses monocular vision system. The second one is the Laser Range Finder (LRF) 30

Articles

N° 2

2011

Hokuyo URG-04LX. Its performance is described in [14]. The sensor is used for map building. The surface in front of the robot is scanned while walking. Resolution of the elevation map is constant [5]. The scanning time for the LRF is equal to 100 ms. The elevation map is built on-line and is used in algorithms for searching the stable candidate contact points and for path planning. The robot changes the body attitude while walking.At each point along the trajectory the robot stops the movement and makes scan. In the case of climbing obstacles a different approach to map building has to be used. In such a mode the robot stops before the obstacle and performs a scanning movement. The model of the whole object is built and the robot is able to plan the climbing strategy in advance. This approach is possible because climbing is rather a deliberative process. The third sensor and auxiliary one is the structural light system. It is the vertical laser stripe which is used for stair climbing control in order to measure a stair depth and height. The use of the structural light involves the use of the camera. Thus other vision based algorithms couldn't be performed at the same time.

4. Robot control system architecture and hardware configuration 4.1. Logical architecture The robot is a complex system with 18 servomotors and a number of sensors on board. The logical architecture and device configuration should be adjusted to the mechanical structure and applications of the robot [11], [12]. The control system architecture should be organized to provide the appropriate resources for each functional module of the control system. To guarantee the real-time operation and high-performance all components work simultaneously. The robot control system provides the response of the servomotors without significant delays and allows to measure the state of the robot during the movement (orientation of the robot's platform, real angles in servomotors, current in motors), simultaneously operate low-level, fast control-loops and modules which demand a lot of computational resources.

Fig. 4. Robot control architecture scheme. The robot control system architecture is hierarchical and it is divided into four layers (Fig. 4): — mission control (e.g. motion planning), — motion control, — leg measurements and control, — environment sensing.


Journal of Automation, Mobile Robotics & Intelligent Systems

The main tasks for the top layer are: terrain mapping, self-localization, visual odometry and motion planning. To perform these assignments appropriate computational resources and high-level algorithms are necessary. The output of the algorithms are movement orders which are sent to the middle layer of the control system. The modules which are located in the top layer can also send queries to the middle layer asking about the present state of the robot. The top layer enables also the communication with the teleoperator and the transmission of the camera images to the remote control center. In the opposite direction only the movement orders are sent. The middle layer is responsible for the motion control. To execute the desired movement the appropriate software module computes the reference values for the servomotors and sends them to the legs controllers. To deal with the robot kinematics the calculus unit with floating point operations is necessary. The most important feature of this layer is a fast and reliable communication module. It allows to send desired values to the leg controllers and to read the data from sensors during the movement. This communication should be faster than the reaction of the servomotors. It allows to modify the desired values and read current angles in robot joints in dynamic states. The bottom layer consists of a measurement unit and of six controllers (one for each leg). The modules which are located on this layer are responsible for the cooperation with the sensors and the actuators. The leg controllers receive the reference values for the legs joints and resend them to the appropriate servomotors. It provides an appropriate interface between the number of various electronics devices and the higher layer which is responsible for the computationally demanding tasks. The controllers also

VOLUME 5,

N째 2

2011

receive and collect information about the measured legs angles, contact forces and currents of motors. The measurement unit is responsible for conditioning the signal from the on-board sensors of chemical substances and from the IMU. 4.2. Device configuration The device configuration of the robot is shown in Fig. 5. The top layer of the control system is located on the Single Board Computer. The robot is equipped with the PICO 820 computer with Intel Atom on board. It uses Linux operating system to manage devices. The computer communicates with the teleoperation device through the Bluetooth or WiFi channel. The camera and laser range finder are plugged into the USB ports of the Single Board Computer. The motion controller is located on a board with the EP9302, ARM9 core microprocessor. It computes the desired values for the servomotors. The microprocessor supports the fast floating point arithmetic operations on homogeneous transformation matrices. It is energy efficient and supports a high-level embedded operating systems such as Linux. The applications for EP9302 can be prepared in the majority in the high-level programming languages which makes the microprocessor programming easy. The lowest layer of the control system is based on the AT91SAM7S256 microcontrollers with 32-bit ARM7 core. Its peripherals include UART ports, SPI communication channels, 10 bit analog to digital converters, timers, DMA controllers and interrupts management unit. It also supports floating point operations, which are very useful in signal preprocessing. There are six microcontrollers on-

Fig. 5. Control system architecture of the robot. Articles

31


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

board, one for each leg to communicate with integrated servomotors and to measure leg state. An additional microcontroller is used to process the measurements of the robot's internal state (inclinometers and gyroscopes) and environment's state (chemical substances sensors). The robot can also work on batteries. The 7.4V LiIon/Polymer Battery Pack Modules are used. It allows to work about 20 min without charging. 4.3. Communication channels For a distributed control system the most important feature is a fast communication between modules. To achieve a high speed transfer of data between robot modules appropriate communication channels are used. The communication protocol is fitted to the specification of the transferred data and function of the modules. However the highest layer of the control system is not physically connected directly to the measurement unit it can send request through the middle layer of the system and then use obtained data for motion planning. The communication at the top software layer does not depend on physical communication channels. The robot is equipped with integrated servomotors. The Hitec HMI protocol allows to send reference values of angles in joints, modify the speed of the drive, and to receive information about the servomotors state. It supports one-wire protocol and allows to send orders 300 times per second. The reference values for the servomotors are computed by the motion controller, and then they are sent to the leg controllers. The communication should be fast to prevent delays between the movement of the first and the last leg. To achieve the minimal delays the fast and bidirectional Serial Peripheral Interface (SPI) is used. The EP9302 microcontroller works as a master SPI while the leg controllers and sensor board work as SPI slave units. The master unit chooses the microcontroller to communicate with. The communication frame reserves single byte for flags, six bytes for data and one byte for checksum. When the communication error occurs the frame is resend. The SPI communication is significantly faster than Hitec HMI protocol. When all the reference values are received by the leg controllers the data are transmitted forward through Hitec HMI protocol simultaneously. Such a me-

Fig. 6. Modules of the application software. 32

Articles

N째 2

2011

thod is much more efficient than sending the reference values to the servomotors one by one. The communication frame also includes the checksum byte. If the communication error occurs the data frame is retransmitted. The communication delays are significantly smaller than a mechanical reaction of the drives. The retransmission, if it happens, does not cause the delays in motion control. The communication between the top layer of the control system and the motion controller is based on the TCP/IP protocol. Such a communication is easy to implement because both the top and the middle layer of the control system are embedded on the computers with Linux operating system on-board. Various tasks of the first two layers are performed by different software modules. The communication between modules which are located on the same computer unit is also based on the TCP/IP protocol. It makes the communication simpler. There is the same standard for exchanging data between modules on the same computer and between two separated devices. The maximal frequency of the modification of desired value for servomotor is 333Hz. The proposed architecture of the control systems allows to modify the state of each leg 111 times a second. It is possible because of the simultaneous work of the leg controllers and the use of the SPI protocol to communicate between low layers.

5. Application software The application software of the robot is divided into a number of separate and independent modules. It allows to create a flexible control application software for the robot and enables programming of each functionality separately by different programmers. Each module can be easily replaced and modified without any changes in other modules. Only the application programming interface should be predetermined. Such an architecture allows to develop the software independently and simultaneously. The scheme of the application software is shown in Fig. 6. The software for the ARM7 processor is written in C and is interrupts driven. The controller is waiting for the orders from the top layer of the control system. When the request from the higher layer is obtained, the reference values are sent to the appropriate servomotor or the information on sensor's state is returned. Most of the values mea-


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

sured by sensors are cyclically stored. It allows to filter a noisy measurement on the leg controller and to send filtered values to the middle layer. The main task for the software of the motion controller is to generate the movement of the robot. There are several modules which generate platform movement and allow to walk by using any type of gait [1]. The modules which address safety aspects of the movement execution are also situated on the middle layer. These modules check the static stability of the robot and prevent from setting the positions of the feet which are located outside the robot leg's workspace. While walking on the rough terrain there is also a module for the appropriate foothold selection [2]. It can be used with structure light sensor which measures the shape of the terrain in front of the robot [4]. Another module measures the orientation of the robot by using accelerometers and gyroscopes. The top layer of the control system, which is placed on the single board computer, is dedicated to motion planning, mapping, machine vision and image processing algorithms. There is a separate module on the single board computer for planning the movement and sending appropriate orders to motion controller. Another module is dedicated to map building. It collects measurement data from the laser range finder and creates a map of the surrounding terrain [18]. There is also a module which manages the camera resources and images. A space for selflocalization, visual odometry and teleoperation modules is also available. These modules are under development.

6. Conclusions

N° 2

2011

The presented robot is prepared to operate in an urban environment. The typical obstacles in such an environment are stairs, curbstones or unstructured debris. The mechanical structure, control system and application software are developed to make the robot available to deal with such obstacles. To support the walk on the unstructured terrain the robot uses a laser range finder and the module for mapping [17]. The data are also used for planning the movement of the feet and for the selecting appropriate footholds [2], [4]. The robot uses contact sensors to assure appropriate support for its legs. The motion controller executes the movement orders to reach a desired position. Fig. 7 documents an experiment on the rough terrain. Due to its mechanical structure the robot is also able to walk on four legs while carrying a load. The documentation of this experiment is shown in Fig. 8. The capabilities of the Messor robot could be seen in the movie available at http://lrm.cie.put. poznan.pl/JAMRIS2010KWDB.avi. The Messor robot requires further development. In the near future the robot will be able to climb stairs. An appropriate algorithm is currently tested on the robot. Moreover further improvement in the environment sensing and path planning is needed. ACKNOWLEDGMENTS This work is funded by MNiSW grant N514 294635 in years 2008-2010. Dominik Belter is a scholarship holder within the project “Scholarship support for PH.D. students specializing in majors strategic for Wielkopolska's development”, Sub-measure 8.2.2 Human Capital Operational Programme, co-financed by European Union under the European Social Fund.

AUTHORS Krzysztof Walas* - Institute of Control and Information Engineering, Poznan University of Technology, ul. Piotrowo 3A, Poznan, Wielkopolska, Poland. E-mail: Krzysztof.Walas@put.poznan.pl. Dominik Belter - Institute of Control and Information Engineering, Poznan University of Technology, ul. Piotrowo 3A, Poznan, Wielkopolska, Poland. E-mail: Dominik.Belter@put.poznan.pl. * Corresponding author Fig. 7. The robot while walking on rough terrain. References [1]

[2]

[3]

Fig. 8. The robot while quadruped walking.

[4]

D. Belter, Parametrized gait generation system for hexapod walking robot, Zeszyty Naukowe Politechniki Warszawskiej. Problemy robotyki, K. Tchoñ, C. Zieliñski (Ed.), vol. 2, 2008, pp. 565-574. (in Polish) D. Belter, “Adaptive Foothold selection for Hexapod Robot Walking on Rough Terrain”. In: 7th Workshop on Advanced Control and Diagnosis 2009, Zielona Góra, Poland, CD-ROM, 2009. D. Belter, K. Walas, A. Kasiñski, “Distributed control system of dc servomotors for six legged walking robot”. In: Proceedings of Int. Power Electronics and Motion Control Conference, Poznan, Poland, 2008, pp. 10441049. D. Belter, P. £abecki, P. Skrzypczyñski, “Map-based Adaptive Foothold Planning for Unstructured Terrain Articles

33


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

[5]

[6]

[7]

[8]

[9]

[10]

[11]

[12]

[13]

[14]

[15]

[16]

[17]

[18]

34

Walking”. In: IEEE Int. Conference on Robotics and Automation, 3rd-8th May 2010, Anchorage, Alaska, USA, pp. 5256-5261. D. Belter, P. Skrzypczyñski, “Rough Terrain Mapping and Classification for Foothold Selection in a Walking Robot”. In: IEEE Int. Workshop on Safety, Security & Rescue Robotics, 2010. C. Borst, M. Fischer, S. Haidacher, H. Liu, G. Hirzinger, DLR Hand II, “Experiments and Experiences with an Anthropomorphic Hand”. In: IEEE Int. Conference on Robotics and Automation, Taipei, Taiwan, vol. 1, 2003, pp. 702-707. B. Gassmann, K.-U. Scholl, K. Berns, “Locomotion of LAURON III in rough terrain”. In: International Conference on Advanced Intelligent Mechatronics, Como, Italy, 2001, vol. 2, pp. 959-964. P. Gonzalez de Santos, J.A. Cobanoa, E. Garcia, J. Estremera M.A. Armada, “A six-legged robot-based system for humanitarian demining missions”, Mechatronics, vol. 17, 2007, pp. 417-430. M. Gorner, T. Wimbock, A. Baumann, M. Fuchs, T. Bahls, M. Grebenstein, C. Borst, J. Butterfass, G. Hirzinger, “The DLR-Crawler: A testbed for actively compliant hexapod walking based on the fingers of DLRHand II”. In: International Conference on Intelligent Robots and Systems, Nice, France, 2008, pp. 1525-1531. B. Klaassen, R. Linnemann, D. Spenneberg, F. Kirchner, “Biomimetic Walking Robot Scorpion: Control and Modeling”, Robotics and Autonomous Systems, vol. 41, 2002, pp. 69-76. J.Z. Kolter, M.P. Rodgers, A.Y. Ng, “A control architecture for quadruped locomotion over rough terrain”. In: Proc. IEEE Int. Conf. on Robotics and Automation, Pasadena, USA, 2008, pp. 811-818. J.Z. Kolter, M.P. Rodgers, A.Y. Ng, “Stereo Vision and Terrain Modeling for Quadruped Robots”. In: Proc. IEEE Int. Conf. on Robotics and Automation, Kobe, Japan, 2009, pp. 1557-1564. E. Krotkov, J. Bares, T. Kanade, T. Mitchell, R. Simmons, W.L. Whittaker, “Ambler: a six-legged planetary rover”. In: 5th International Conference on Advanced Robotics, Robots in Unstructured Environments, 19th22nd June 1991, Pisa, Italy, pp. 717-722. Y. Okubo, C. Ye, J. Borenstein, “Characterization of the Hokuyo URG-04LX Laser Rangefinder for mobile Robot Obstacle Negotiation”, SPIE Conf. Unmanned Robotic and Layered Systems, Orlando, USA, 2009. H. Qing-Jiu, N. Kenzo, “Humanitarian mine detecting six-legged walking robot and hybrid neuro walking control with position/force control”, Mechatronics, vol. 13, 2003, pp. 773-790. K. Walas, D. Belter, A. Kasinski, “Control and environment sensing system for a six-legged robot”, Journal of Automation, Mobile Robotics and Intelligent Systems, vol. 2(3), 2008, pp. 26-31. P. £abêcki, D. Rosiñski, P. Skrzypczyñski, “Terrain Perception and Mapping in a Walking Robot with a Compact 2D Laser Scanner”. In: Emerging Trends in Mobile Robotics (H. Fujimoto et al., ed.), Singapore, World Scientific, 2010, pp. 981-988. C. Ye, J. Borenstein, “A Novel filter for terrain mapping with laser rangefinders”, IEEE Transaction on Robotics

Articles

[19]

N° 2

2011

and Automation, no. 20(5), 2004, pp. 913-921. A.A. Yumaryanto, J. An, L. Sangyoon, “A CockroachInspired Hexapod Robot Actuated by LIPCA”. In: IEEE Conference on Robotics, Automation and Mechatronics, Bangkok, Thailand, 2006, pp. 1-6.


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

N째 2

2011

A TIME OPTIMAL PATH PLANNING FOR TRAJECTORY TRACKING OF WHEELED MOBILE ROBOTS Submitted 26th March 2010; accepted 21st February 2011.

R. Vivekananthan, L. Karunamoorthy

Abstract: A variety of approaches for trajectory tracking control of wheeled mobile robots have been implemented. This paper presents a model for a time optimal motion control based on fuzzy logic algorithm for a three wheeled nonholonomic mobile robot with desired function. Simplified kinematic equations of a differentially driven robot are designed to follow the path with evaluated linear and angular velocities. Here, the proposed kinematic model is based on a simple geometric approach for getting the desired position and orientation. The speeds are varied depending on the variations in the path and on the posture of the robot. The robot is subjected to move in a constrained workspace. The control architecture was developed based on fuzzy logic algorithm to obtain time optimal motion control of robot trajectory tracking. The kinematic model was done on Matlab software environment and profound impact on the ability of the nonholonomic mobile robot to track the path was evaluated. Keywords: wheeled robot, time optimal, trajectory tracking, motion control, fuzzy logic algorithm, Matlab environment.

1. Introduction Autonomous mobile robots are mechanical devices capable of moving in an environment with a certain degree of autonomy. The robot is able to plan its own motion following the path as closely as possible and is usually expected to travel from its initial position to a target position located at a specified range and bearing. A wheeled robot is an autonomous robot and it can autonomously plan and control its own motion in order to accomplish specified tasks. However, these mobile robots are quite restricted in their motion by nonholonomic constraints on their wheel mechanism. In path planning, the path is completely described with geometry for the robot to move from initial to target position with orientation. In this paper, a model that describes the path of a mobile robot for given requirements is developed. The basic ability of such a robot is to reach target positions with fast and stable navigation. Different types of kinematic model and platform designs have been studied for wheeled mobile robots. The trajectory tracking problem is highly nonlinear and several approaches have been developed to solve the problem through direct control of the robot's dynamics. Some of these approaches have mentioned the problem of motion planning under nonholonomic constraints using only a kinematic model of a mobile robot. Some kinds of dynamic models the controller can produce perfectly the same

velocity that is necessary for the kinematic controller. The control design of a mobile robot with nonholonomic constraints on a reference path in trajectory tracking with determined velocity is very difficult. There are various possibilities how a target position (xd, yd) can be described with its orientation. The path of the robot would be satisfied with various robot constraints and the smooth requirements. Robot path planning and motion control techniques are often developed in simulation and then applied to real robot systems. Motion planning and control of autonomous vehicles involve several problems related to environment perception and representation, path planning, path tracking, velocity, motion control, etc. Nonholonomic systems have motion limitations in the kinematic model. The control of the nonholonomic systems is challenging, unlike holonomic constraints, because nonholonomic constraints involve one or more velocities and are not integrable. The nonholonomic mobile robot can reach the target with arbitrary position and orientation, but it is unable to rotate while simultaneously moving in an arbitrary direction. The control strategy of nonholonomic wheeled robot can be defined by arbitrary combinations of the following parameters (x, y, q, u, w). This paper deals with concepts of the mobile robot motion control, which includes geometric path, fuzzy logic control and genetic algorithm optimization. The objective of trajectory tracking is to generate the control commands for the vehicle to follow the previously defined path by taking into account the actual position and orientation, linear and angular velocities and nonholonomic constraint imposed by the vehicle. Many researchers have proposed various control techniques for this problem. Simple kinematic systems considered only the position of the robot and then developed simultaneously positioning and steering [1], [2], [3], [4], [5]. These techniques do not present the relation between the controller parameters and the robot real systems. Tracking a mobile robot's position and orientation precisely is a challenging task. In trajectory tracking, the actual and reference position and orientation of mobile robot are moved all the time. Hence, stabilization in tracking is a problem. Several authors adopt a simple path planning approach which identifies only the target position of the robot and passes the obstacle avoidance to the motion control using techniques such as PID, fuzzy logic, neural network and genetic algorithms. Fuzzy logic has been applied to mobile robot and autonomous vehicle control significantly [6], [11]- [15]. Genetic algorithm is useful in circumstances where it is difficult to determine an exact membership functions. In this paper, wheeled robot motion control system is Articles

35


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

2011

differentially driven three wheeled mobile robot is shown in Fig. 1.

2. Path Planning

u=

2.1. Kinematic model Kinematic model of the wheeled mobile robot (WMR) assumes that the robot is placed on a plane surface. The contacts between the wheels of the robot and the rigid horizontal plane have pure rolling and non slipping conditions during the motion. This nonholonomic constraint can be written as . . ycosq - xsinq = 0

(1)

The center position of the vehicle (x, y, q) is expressed in the inertial coordinate frame. Here x and y are position of the robot and q is orientation of the robot with respect to inertial frame. Suppose that the robot moves on a plane with linear and angular .velocities, the state vector can be . . . expressed as q = (x, y, q)T. The differential drive mobile robot is an autonomous vehicle. It has two drive wheels, which are independently driven for getting the desired path. The robot’s motion on linear trajectories is given by constant velocities of the wheels and the motion on circular trajectories is determined by the difference between the angular velocities of the two drive wheels. The state of the robot is defined by its position and orientation and by the speeds of the two drive wheels. A simple structure of Articles

y- Direction

discussed and genetic algorithm, fuzzy logic controller is implemented to get optimum solution. Developed kinematic model is presented based on simple geometric approach [4], [12], 13]. The problem of path planning can be simplified by calculating intersection points to be reached subsequently. Here, the control model only needs the robot's control variables or inputs (u, w) to set the state variables (x, y, q). This research work proposes a motion control strategy on fuzzy logic control to produce trajectories by following a defined path with a desired position and orientation. The simulation model has been designed in Matlab environment. Mathematical equations, simulation and results are also presented. The evolution of the genetic algorithm used to find the optimal parameters for the fuzzy controller [16], [17] allows an easy tuning of the controller parameters to find suitable velocity control inputs, which stabilize the kinematic closed loop control. The proposed fuzzy controller aims at achieving perfect velocity tracking while considering not only a kinematic model but also a dynamic model of the mobile robot. This paper analyses the kinematic modelling of three wheeled differentially driven nonholonomic mobile robot with simple geometric approach and to get the optimum design of the fuzzy controller for mobile robot trajectory tracking. The stability of a wheeled robot is analyzed for a kinematical model using a linearized kinematical model. This analysis is done for the case of a straight line and a circle with the trajectories that can be decomposed into pieces of constant curvature.

Path planning is partitioned into geometric and kinematic components. Motion control of mobile robots has been focused only on the kinematic model, there is a perfect velocity tracking. The kinematic model of the vehicle is described in detail in this section along with three wheeled vehicle mechanics.

36

N° 2

x- Direction

Fig.1. Three wheeled differentially driven mobile robot. A wheeled mobile robot’s motion can be expressed in terms of translational and rotational motion. The translational component is the displacement of the centre of the mobile robot and the rotational component is the rotational movement of the vehicle. For the robot’s movement, the linear velocity u and the angular velocity w are chosen. These values are converted into the velocities of the left and right wheels. The kinematic model is formulated by using these wheel speeds and geometric constraints of the vehicle also. The kinematic behaviour of the vehicle depends on the control variables u and w. (wl + wr)r 2 (wl - wr) w= l cosq ul = ur cosq

(2) (3) sinq l/2 sinq -l/2

. x . y. q

(4)

where wl and wr are angular velocities of left and right wheels of the mobile robot respectively. Both wheels have same radius denoted by r. These two rear driving wheels are separated by l. The linear velocities of left and right wheels are given in equation (4). Different values of wl and wr of the mobile robot trajectory are followed for the trajectory. 2.2. Geometric Model The path planning under kinematic constraints is transformed into a pure geometric problem. There are many possible ways to describe the path. The resulting shortest path is composed of circular arcs and straight lines. The robot motion control can be done providing wheel velocities u(t), w(t) called control variables. The mathematical model of this kinematic problem considers these two control variables and three state variables (x(t), y(t), q(t)). . x cosq 0 u . y. = sinq 0 (5) w q 0 1 The tangential velocity in x direction is ux = u.cosq, the tangential velocity in y direction is uy .= u.sinq and the angular velocity of the vehicle is w = q. An appropriate


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

approach is implemented to produce the desired trajectory described by a sequence of coordinates. An arbitrary configuration (x, y, q), is defined by the robot path planner and the robot is placed on the path. The location of the target is known for all t, and its state transition equation simplifying to q(t) = f (u,w). The velocities of left and right are different from each other and the robot does not move in a straight line but follows a curved trajectory around a point located at a distance r from its centre of radius, continuously changing both the robot’s position and orientation. The path tracking controller has to ensure a geometrical convergence towards the path to be followed. The motion of the robot could be described with two modes, either pure rotation or pure translation. The path consists of circular arcs with a specified radius and turning angle and a straight tangent line. These circular arc and straight tangent line are used to avoid stoppage and provide continuity for the robot. To achieve controlled trajectory, the linear and angular velocities u and w are calculated by the equations (6) and (7) through fuzzy logic controller. For circular motion, equation (6) is used and the path is described by the function of the angle only and for linear motion, equation (7) is used and the straight line path is described by calculating the tangent length of the circles. . x . y. q

=

0 0 w

(6)

. x . y. q

=

u.cosq u.sinq 0

(7)

(a)

(b)

N° 2

2011

of a circle followed by a tangent straight line segment. The discontinuity of the curvature of the path at the tangent point would be overcome by smoothening the path before computing the trajectory. The following parameters are obtained from the geometry of Fig. 2. f = Ða + Ðb

(8)

C2y - C1y C2x - C1x r2 + r1 tan b = L r2 + r1 tan b = 2 C1C2 - (r1 + r2)2

(10)

a1 = j - qd

(12)

a2 = bd - (90 - j)

(13)

(9)

tan a =

(11)

3. Trajectory Planning A trajectory is a path which is an explicit function of time. To have smooth movement, the trajectory must give continuous velocity and acceleration. The robot will be moved backward and forward based on the situation, and it will compute navigation. Here, it is assumed that the robot’s motion is always directly forward and that its orientation is tangent to the circle at all points of the trajectory. To construct the circle, the value for its radius given by r is found. The value r for the radius of the circle is essentially the turn radius for the robot’s motion. In trajectory planning, simplified kinematic constraints are added to plan a feasible trajectory. The minimum turning radius and the dimensions of a robot plan a trajectory. According to the geometric model, the planner is considered to switch the path. if If If If

yd - y0 ³ 0 yd - y0 ³ 0 yd - y0 £ 0 yd - y0 £ 0

and and and and

yd - y0 > 0 yd - y0 < 0 yd - y0 > 0 yd - y0 < 0

j = j and a = a j = j + 90 and a = a + 90 j = j + 180 and a = a + 180 j = j + 270 and a = a + 270

If a £ b £ a + 180 anticlockwise rotation otherwise clockwise rotation If a + 90 £ b £ a + 270 anticlockwise rotation otherwise clockwise rotation If a + 180 £ b £ a + 360 anticlockwise rotation otherwise clockwise rotation Fig. 2. (a) Trajectory of the vehicle (b) Relationship of circles and tangent line. In order to reach a target position with a specified orientation, a trajectory consisting of a straight line and a circular arc with a fixed radius is calculated as shown in Fig. 2. The radius depends on the robot’s velocity and its position. The algorithm first calculates a suitable intersection point to be reached and then calculates a circular arc through the target position. The target position can then be reached with the desired orientation. So the trajectory is calculated out of the target parameters and the present position. It consists of straight lines, circular arcs, the linear and angular velocities. The planned path consists of an arc

If a + 270 £ b £ a + 90 anticlockwise rotation otherwise clockwise rotation The variables calculated by the control law are the translational and rotational velocities, based on the position, orientation, and the current values of the translational and rotational velocities. Hence, the maximum absolute value of the path curvature is minimized by maximizing the absolute value of the angular velocity. The path planning controller generates a path by calculating robot’s desired orientation q at each position. The configuration of a robot depends usually on its position (x, y), and orientation q is a set of parameters that uniquely determine the Articles

37


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

position of every point in the robot. Different optimality criteria may be chosen depending on the desired WMR motion smoothness. For instance, while considering the robot motion the linear and angular velocity and the path arc length are calculated, so that the robot can move to any desired path effectively.

N° 2

2011

tinuity while considering kinematic constraints. The membership functions are derived based on the kinematical constraints of the robot. When turning with a curvature, the speed gradually decreases and makes a smooth turn. The fuzzy logic controller is selected for getting simple and optimum results. In this trajectory tracking, the optimal control parameters are evaluated from fuzzy logic and the distance and orientation errors are taken into account from the desired path. Block diagram (3) shows the complete process of fuzzy logic motion control. Angular velocity and linear velocity of the mobile robot are obtained as output from fuzzy controller. The fuzzy rules are defined based on the tasks. The robot motion command is dependent on the fuzzy selection that integrates and coordinates all behaviours. The initial target position is specified in a 2D space. The tangent angle and distance to the target point are calculated with respect to the robotâ&#x20AC;&#x2122;s current position. These two values are used by the fuzzy controllers as error values. The developed fuzzy controllers for this behaviour are: angle and distance errors as inputs. During the robot movement, the robot moves whether in a straight line or in a circular arc, based on the position and orientation errors which depend on the path. Designed FLC has three inputs and two outputs. The inputs are, the linear distance in the tangent path D or L, the angle a1 from circle for initial position and the angle a2 from circle for target position. The outputs are, the linear and angular velocities u and w. The linguistic variables are defined in Table 1. Triangular and Trapezoidal membership functions are used for the input and output. The rules in Table 1 constitute a part of the knowledge base of the path tracking behaviour of mobile robot and expresses how the system has to react.

4. Control Structure and Implementation The objective of this paper is to obtain optimum tracking behaviour. Various control techniques have been proposed for this application and are being researched. Open loop and closed loop feedback strategies are followed for controlling robotâ&#x20AC;&#x2122;s motion. In open loop control system, the control parameters linear and angular velocities are calculated beforehand, from the geometrical approach with its initial and end position and orientation to get the desired path between them in the case of path following. In closed loop control system, PID or fuzzy logic control (FLC) or neural network (NN) or genetic algorithm (GA) is selected to implement for a highly nonlinear robot model. 4.1. Design of Fuzzy Logic Controller The application of fuzzy logic control in robotics is to produce an intelligent robot with the ability of autonomous behaviour and decision. In this section, the problem of how to set the control parameter values for desired robot behaviour is solved. This behaviour is analysed from the sensitivity of the robot input parameters (a1, a2 and D). The equations (8-13) are considered for getting j, a1, a2, D and L. The maximum linear and angular velocities are obtained with the set of this optimal parameters using fuzzy logic algorithm and by maintaining the con-

Table 1. Linguistic variables for inputs and Fuzzy rules for outputs. Fuzzy rules for outputs

Linguistic variables for inputs Angle: a1, a2

Distance: L

Z

N

M

F

ACL: Anticlockwise Large

Z: Zero

Turn medium

Turn medium

Turn medium

Turn fast

ACM: Anticlockwise Middle

N: Near

Turn medium

Turn medium

Turn medium

Turn medium

ACS: Anticlockwise Small

M: Medium

Turn slow

Turn slow

Turn medium

Turn medium

ZE: Zero

F: Far

Zero

Straight slow

Straight medium

Straight fast

CS: Clockwise Small

Turn slow

Turn slow

Turn medium

Turn medium

CM: Clockwise Middle

Turn medium

Turn medium

Turn medium

Turn medium

CL: Clockwise Large

Turn medium

Turn medium

Turn medium

Turn fast

xd, yd, qd

Path planner

a1, a2, D

Fuzzy controller

uf , wf

Genetic algorithm

uc , wc

x, y, q Fig. 3. General structure of motion control. 38

Articles

Mobile robot

Integration

u,w


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 5,

N° 2

2011

of the robot with respect to circle1 and circle2. The membership function of full circle is divided into two parts clockwise and anticlockwise. So the angle error interval is between 0° to 180° or 180° to 360°. The path is simplified to choose a forward moving velocity of the robot to solve trajectory tracking at every point on the curve. The path tracking controller has to ensure a geometrical convergence towards the path to be followed. If the angle a1 is equal to zero, then the robot’s front end is oriented to the direction of the tangent line L. If a2 is equal to zero, then the robot reaches the target with its desired orientation. The fuzzy membership function D for distance error and angle errors a1 and a2 for circle1 and circle2 are shown in Fig. 4.

Fig.4. Representation of membership function of inputs angle errors and distance errors.

Fig. 5. Representation of membership function of outputs angular and linear velocity. 4.1.1. Membership functions of angle error The same membership functions are described for linguistic variables a1 and a2 which represent orientation

4.1.2. Membership functions of the output Essentially, the control objective is to successfully navigate a mobile robot along a desired path in a two-dimensional environment. Designing a fuzzy controller would help in achieve this objective. Considering the situations illustrated by Fig. 2 the vehicle must be designed to follow a path against the given initial and final conditions. This step was suitably chosen to represent a monotonically decreasing function of travelling distance and to give a strong influence in the path direction. The fuzzy logic controller is used to interpret this heuristic in order to generate outputs for linear and angular velocities from the values of error distance D and error angles a1 and a2. When the target is far, the speed of the approach should be fast whereas when the target is near, the speed of approach should be slow. For circular motion, the centripetal acceleration is related to the angular velocity w and the linear velocity u by the given formula u=rw. However the simulation is accurate enough to predict the desired path. If the controller finds both distance error and angle errors, it will apply the path to generate a decision to which direction should it go next. Before entering into fuzzy logic controller a set of feasible angle errors and distance errors are obtained to get the desired position and direction. In this way, the vehicle could run along the track and at the same time, keep its position in the path. In the simulations, to achieve controlled trajectory, the linear and angular velocities u and w are calculated by the given equations (6) and (7). If a different linear velocity u is desired, the angular velocity w would be adjusted to get smooth path in the continuity. Like that if a different angular velocity w is desired, the linear velocity would be adjusted. The velocity profiles are generated by the fuzzy logic algorithm to follow the trajectory and choosing the control parameters for the desired behaviour. The tracked trajectory shown in Fig. 6 is very close to the desired result and the tangential and angular velocities are maintained within the limits. 4.2. GeneticAlgorithm The optimal path generation is essential for the efficient operation of a mobile robot. Recent advances in robotics and machine intelligence have led to the application of modern optimization method such as the genetic algorithm to solve the path-planning problem and motion control. In the optimization, the control parameters u and w evaluated from fuzzy logic controller would be changed to the desired path. The most difficult problem in motion Articles

39


Journal of Automation, Mobile Robotics & Intelligent Systems

control is to find such parameters which could match, fast speed and precise movement. A suitable fitness function can be expressed as f = uÑt +rwÑt with constraint function of (uf - ua + wf - wa). Thus, the system computes the distance between straight line and arc in the 2D space. Combining fuzzy logic and genetic algorithm reduces the time to find optimal control parameters for increasing the quality of generated paths. The simulation results demonstrate the algorithm as shown in Fig.7. Using GA the relations between linear and rotational velocities were made constant and the robot’s path was lying alongside the arc of a circle.

5. Simulation Results Trajectory generation is the problem in finding feasible solutions in the motion control. Some of the trajectory generation methods are too complicated and time consuming to produce smooth paths. A mobile robot can follow the desired reference path according to the prescribed velocity profile with a satisfactory accuracy. A motion planning optimization algorithm produces time optimal

Fig. 6. State responses (x, y, q).

Fig.7. Fuzzy logic simulated results with genetic algorithm. 40

Articles

VOLUME 5,

N° 2

2011

path for a given input parameter. In this paper, a simple geometric and fuzzy logic method is implemented for trajectory generation. The main idea behind the proposed design control strategy is to find a path which moves to a final position with a desired orientation. The equation of nonholonomic constraint is not integrable. So the feasible trajectory of the robot is limited. Using the theoretical kinematic model described in section 2, the simulation can be created to get outputs under different motion trajectories and thereby to evaluate the results. In order to attend the robot's position and orientation, the control problem has been designed in such a way that the robot follows three steps with a moving reference frame. The motion of the robot could be described with two modes either pure rotation or pure translation. The initial location is (x y q) = (0m 0m 0°) and the target is located at (xd, yd, ß) = (100m, 80m, 20°), (100m, 80m, 150°), (-100m, 80m, 60°), (-100m, 80m, 240°). Using a fuzzy controller as described above, the robot was able to successfully follow a smooth path towards the target. The resulting linear velocity or angular velocity is ob-


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

tained in all four behaviours as long as the vehicle is far away from the target. With the use of circular motion, the trajectory becomes a smooth curve and the angular and linear velocities are adjusted according to the next steps. The measure of smoothness of path is obtained by the constraint function of genetic algorithm by the given formula u = rw. The vehicle is decelerated from the maximum speed before turning a corner to adapt angular velocity and it is again accelerated after turning the corner depending on the distance. The vehicle is not stopped at this point. If the length of the straight or circular path is close to the next path, the robot would not move at minimum speed, even if it is obtained from a part of the trajectory. Robot motion control requires time optimal to drive with high speed and therefore a smooth path is necessary. Its time responses of w and u are shown in Fig. 7. In the intersection point of the curves the robot has to move with maximum allowed speed within radial acceleration. This method produced trajectory characteristics which were smoother and better. The control results are analysed by the Matlab environment. These control parameters are then used to control the vehicle each time and it autonomously travels along the path as shown in Fig. 6.

[4]

[5]

[6]

[7]

[8]

[9]

6. Conclusion Modelling and control strategy of the motion of the three wheeled differentially driven nonholonomic mobile robot is discussed. Fuzzy logic controller has been developed on Matlab software environment for addressing the problem of tracking control for a desired position and orientation. In this paper, the trajectory is used to derive the kinematic relations of the robot at the displacement, velocity and acceleration levels. The implementation of this proposed control strategy is a simple geometric approach and the simulations give satisfactory results. Suitable velocity control inputs were obtained from fuzzy logic algorithm which stabilizes the kinematic closed loop control. In future, the ability of obstacle avoidance will be added to get optimal path planning.

AUTHORS R. Vivekananthan* - Assistant Professor, Government College of Engineering, Salem, India. E-mail: rvivek704@rediffmail.com. L. Karunamoorthy - Professor, College of Engineering, Guindy,Anna University, Chennai, India. E-mail: karun@annauniv.edu.. * Corresponding author

[10]

[11]

[12]

[13]

[14]

[15]

N° 2

2011

2003, Bauru, Brazil, no. 09, 2003, pp. 620-624. S. Sun, P. Cui, “Path tracking and a Practical Point stabilisation of Mobile Robot”, Int. Journal of Robotics and Computer Integrated Manufacturing, no. 20, 2004, pp. 29-34. K. Kozlowski, D. Pazderski, “Modelling and control of a 4-wheel skid steering mobile robot”, International Journal of Applied Mathematics and Computer Science, vol. 14, no. 4, 2004, pp. 477-496. M.-H. Hung, D.E. Orin, “Dynamic simulation of actively coordinated wheeled vehicle systems on uneven terrain”. In: Proceedings of the 2001 IEEE International Conference on Robotics and Automation, 21st-26th May 2001, Seoul, Korea, pp. 779-786. G. Novak, “An example for autonomous mobile cooperating robots”. In: Proceedings of the First workshop on Intelligent Solutions in Embedded Systems, Vienna, Austria, June 2003, pp. 107-118. D.-S. Kim, W.H. Kwon, H.S. Park, “Geometric kinematics and applications of a mobile robot”, Int. Journal of Control, Automation and systems, vol. 1, no. 3, Sept. 2003. pp. 376-384. A. El Hajjaji, S. Bentalba, “Fuzzy path tracking control for automatic steering of vehicles”, Int. Journal of Robotics and Autonomous Systems, no. 43, 2003, pp. 203-213. I. Spacapan, J. Kocijan, T. Bajd, “Simulation of fuzzy logic based intelligent wheelchair control system”, Journal of Intelligentt and Robotic Systems, no. 39, 2004, pp. 227-241. Ch.-Ch. Wong, H.-Y. Wang, S.-A. Li, C.-T. Cheng, “Fuzzy Controller Designed by GA for Two-wheeled Mobile Robots”, International Journal of Fuzzy Systems, vol. 9, no. 1, March 2007. pp. 22-30. R. Choomuang, N. Afzulpurkar, “Hybrid Kalman Filter/ Fuzzy Logic based Position Control of Autonomous Mobile Robot”, International Journal of Advanced Robotic Systems, vol. 2, no. 3, 2005, pp. 197-208. F.M. Raimondi, M. Melluso, “A new fuzzy robust dynamic controller for autonomous vehicles with nonholonomic constraints”, Int. Journal of Robotics and Autonomous Systems, no. 52, 2005, pp. 115-131. B. Ibraheem Kazem, A.I. Mahdi, Ali Talib Oudah, “Motion Planning for a Robot Arm by Using Genetic Algorithm”, Jordan Journal of Mechanical and Industrial Engineering, vol. 2, no. 3, Sept. 2008, pp. 131-136. C. K. Loo, M. Rajeswari, E.K. Wongi, M.V.C. Rao, “Mobile robot path planning using hybrid genetic algorithm and traversability vectors method”, Intelligent Automation and Soft Computing, vol. 10, no. 1, 2004, pp. 51-64.

References [1]

[2]

[3]

S.V. Sreenivasan, P. Nanua, “Kinematic geometry of wheeled vehicle systems”, ASME Journal of Mechanical Design, vol. 121, March 1999, pp. 50-56. B. D'Andrea Novel, G. Bastin, G. Campion, “Control of nonholonomic wheeled mobile robots by state feedback linearization”, Int. Journal of Robotics Research, vol. 14, no. 6, 1995, pp. 543-559. F.C. Vieira, A.D. Adelardo, A.D Medeiros, Pablo J. Alsina, “Dynamic stabilization of a two wheeled differentially driven nonholonomic mobile robot”, SBAI Articles

41


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 2

2011

A COMPARATIVE STUDY OF PID CONTROLLER TUNING USING GA, EP, PSO AND ACO Submitted 9th August 2010; accepted 22nd February 2011.

B. Nagaraj, P. Vijayakumar

Abstract: Proportional – Integral – Derivative control schemes continue to provide the simplest and effective solutions to most of the control engineering applications today. However PID controller are poorly tuned in practice with most of the tuning done manually which is difficult and time consuming. This article comes up with a hybrid approach involving Genetic Algorithm (GA), Evolutionary Programming (EP), Particle Swarm Optimization (PSO) and Ant Colony Optimization (ACO). The proposed hybrid algorithm is used to tune the PID parameters and its performance has been compared with the conventional methods like Ziegler Nichols and Cohen Coon method. The results obtained reflect that use of heuristic algorithm based controller improves the performance of process in terms of time domain specifications, set point tracking, and regulatory changes and also provides an optimum stability. Speed control of DC motor process is used to assess the efficacy of the heuristic algorithm methodology. Keywords: Ant colony algorithm, evolutionary programming, genetic algorithm particle swarm optimization and soft computing.

1. Introduction PID controller is a generic control loop feedback mechanism widely used in industrial control systems. It calculates an error value as the difference between measured process variable and a desired set point [3]. The PID controller calculation involves three separate parameters proportional integral and derivative values .The proportional value determines the reaction of the current error, the integral value determines the reaction based on the sum of recent errors, and derivative value determines the reaction based on the rate at which the error has been changing the weighted sum of these three actions is used to adjust the process via the final control element. The goal of PID controller tuning is to determine parameters that meet closed loop system performance specifications, and the robust performance of the control loop over a wide range of operating conditions should also be ensured. Practically, it is often difficult to simultaneously achieve all of these desirable qualities. For example, if the PID controller is adjusted to provide better transient response to set point change, it usually results in a sluggish response when under disturbance conditions [11]. On the other hand, if the control system is made robust to disturbance by choosing conservative values for the PID controller, it may result in a slow closed loop response 42

Articles

to a set point change. A number of tuning techniques that take into consideration the nature of the dynamics present within a process control loop have been proposed [4]. All these methods are based upon the dynamical behavior of the system under either open-loop or closed-loop conditions. In this paper, heuristic approach to optimally design a PID controller, for a DC motor is proposed. A comparison between the results obtained by the heuristic methods and conventional methods via simulation of the DC motor is presented in results and comparison section. The parameters of a DC motor used in this paper are listed in Table 1. Table 1. Parameters of the DC Motor. Parameters R (Resistance of the stator) Kb (Back electromotive force constant) D (Viscous coefficient) L (Inductance of the stator) Kt (Motor torque constant) J (Moment of inertia)

Values & Units 21.2 W 0.1433 Vs rad-1

1*10-4 kg m s/rad 0.0524 H 0.1433 kg m/A 1*10-5 kg m S2/rad

The characteristic equation of DC motor can be represented as, vapp(t) = Ldi(t) +

Ri(t) + Vemf (t) dt

(1)

Vemf = Kb × w(t)

(2)

T(t) = Kt × i(t)

(3)

T(t) = J

dw(t) + D × w(t) dt

(4)

Where Vapp(t) is the applied voltage, w(t) is the motor speed, L is the inductance of the stator, i(t) is the current of the circuit, R is the resistance of the stator, Vemf (t) is the back electromotive force, T is the torque of the motor, D is the viscous coefficient. J is the moment of inertia, Kt is the motor torque constant, and Kb is the back electromotive force constant. From the characteristics equations of the motor, the transfer function is obtained,


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

G(S) =

0.1433 5.2e - 007 s2 + 0.000217 s + 2.265

(5)

The purpose of this paper is to investigate an optimal controller design using the evolutionary Programming, Genetic Algorithm, Particle Swarm Optimization and Ant Colony Optimization. The block diagram of a control system with unity feedback employing soft computing PID control action is shown in Figure 1[7]. The general equation of PID controller is, t

d(e) Y(t) = [kpe(t) + Kd + Ki e(t)d(t)] d(t)

(6)

0

Fitness Function

EP/GA/PS/ACO e PID

YSP

Measured

U

v

Y PROCESSS

y SENSOR

Fig 1. Block diagram of Intelligent PID controller. The initial values of PID gain are calculated using conventional Z â&#x20AC;&#x201C; N method. Being hybrid approach, optimum value of gain are obtained using heuristic algorithm. The advantages of using heuristic techniques for PID are listed below, i. Heuristic Techniques can be applied for higher order systems without model reduction [7]. ii. These methods can also optimize the design criteria such as gain margin, Phase margin, Closed Loop Band Width (CLBW) when the system is subjected to step & load change [7]. Heuristic techniques like Genetic Algorithm (GA), Evolutionary Programming (EP), Particle Swarm Optimization (PSO) and Ant Colony Optimization (ACO) methods have proved their excellence in giving better results by improving the steady state characteristics and performance indices.

2. GAbased tuning of the controller The optimal value of the PID controller parameters Kp, Ki, Kd is to be found using GA. All possible sets of controller parameters values are particles whose values are adjusted to minimize the objective function, which in this case is the error criterion, and it is discussed in detail. For the PID controller design, it is ensured the controller settings estimated results in a stable closed-loop system [1]. Genetic Algorithms are a stochastic global search method that mimics the process of natural evolution. It is one of the methods used for optimization. John Holland formally introduced this method in the United States in the 1970 at the University of Michigan. The continuing performance improvement of computational systems has made them attractive for some types of optimization. The genetic algorithm starts with no knowledge of the correct solution and depends entirely on responses from its environment and evolution operators such as reproduction, cros-

N° 2

2011

sover and mutation to arrive at the best solution [1]. By starting at several independent points and searching in parallel, the algorithm avoids local minima and converging to sub optimal solutions. A. Objective Function of the Genetic Algorithm This is the most challenging part of creating a genetic algorithm is writing the the objective function. In this project, the objective function is required to evaluate the best PID controller for the system. An objective function could be created to find a PID controller that gives the smallest overshoot, fastest rise time or quickest settling time. However in order to combine all of these objectives it was decided to design an objective function that will minimize the performance indices of the controlled system instead [2]. Each chromosome in the population is passed into the objective function one at a time. The chromosome is then evaluated and assigned a number to represent its fitness, the bigger its number the better its fitness [3]. The genetic algorithm uses the chromosomes fitness value to create a new population consisting of the fittest members. Each chromosome consists of three separate strings constituting a P, I and D term, as defined by the 3-row bounds declaration when creating the population [3]. When the chromosome enters the evaluation function, it is split up into its three Terms. The newly formed PID controller is placed in a unity feedback loop with the system transfer function. This will result in a reduce of the compilation time of the program. The system transfer function is defined in another file and imported as a global variable. The controlled system is then given a step input and the error is assessed using an error performance criterion such as Integral square error or in short ISE. ÂĽ

ISE = e2(t)dt

(7)

0

The chromosome is assigned an overall fitness value according to the magnitude of the error, smaller the error larger the fitness value. Initializing the values of the parameters is as per Table 2. The flowchart of the GA control system is shown in Figure 2. Initialize Population

Evaluate Fitness

Select Fitness

Mutation

Cross over/Production

Optimum Solution

Non Optimum Solution

Fig. 2. Flowchart of GA.

Articles

43


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 2

2011

3. EP based tuning of the controller

4. PSO based tuning of the controller

EP is generally used to optimize real-valued continuous functions. EP uses selection and mutation operators and does not use the crossover operator. The focus is on the observed characteristics of the population. The selection operator is used to determine chromosomes for mating in order to generate new chromosomes [22]. There are two important ways in which EP differs from GAs. First, there is no constraint on the representation. The typical GA approach involves encoding the problem solutions as a string of representative tokens, the genome. In EP, the representation follows from the problem. A neural network can be represented in the same manner as it is implemented, for example, because the mutation operation does not demand a linear encoding [7]. Second, the mutation operation simply changes aspects of the solution according to a statistical distribution which weights minor variations in the behavior of the offspring as highly probable and substantial variations as increasingly unlikely. The steps involved in creating and implementing evolutionary programming are as follows: • Generate an initial, random population of individuals for a fixed size (according to conventional methods Kp, Ki, Kd ranges declared). • Evaluate their fitness (to minimize integral square error).

PSO is one of the optimization techniques and kind of evolutionary computation technique. The technique is derived from research on swarm such as bird flocking and fish schooling. In the PSO algorithm, instead of using evolutionary operators such as mutation and crossover to manipulate algorithms, for a d-variable optimization Problem, a flock of particles are put into the d-dimensional Search space with randomly chosen velocities and positions knowing their best values [8]. The algorithm proposed by Eberhart and kennedy (1995) uses a 1-D approach for searching within the solution space. For this study the PSO algorithm will be applied to a 2-D or 3-D solution space in search of optimal tuning parameters for PI, PD and PID control [21]. Consider position Xi,m of the I-th particle as it traverses a n-dimensional search space: The previous best position for this i-th particle is recorded and represented as Pbesti,n. The best performing particle among the swarm population is denoted as gbesti,n and the velocity of each particle within the n-dimension is represented as Vi,n. The new velocity and position for each particle can be calculated from its current velocity and distance, respectively [18]. So far (p best) and the position in the d-dimensional space [7]. The velocity of each particle, adjusted accordingly to its own flying experience and the other particles flying experience [7]. For example, the i th particle is represented, as

¥

ISE = e2(t)dt

(7)

xi = (Xi,1, Xi,2,..., Xi,d)

0

• • • •

Select the fittest members of the population. Execute mutation operation with low probability. Select the best chromosome using competition and selection. If the termination criteria reached (fitness function) then the process ends. If the termination criteria not reached search for another best chromosome.

Initializing the values of the parameters is as per Table 2. The flowchart of the EP control system is shown in Fig. 3. Initialize by random Fitness Evaluation Mutation

Competition and selection

Terminati on criteria reached

End

Fig. 3. Flow Chart of EP. 44

Articles

In the d-dimensional space. The best previous position of the i th particle is recorded as, Pbesti = (Pbesti,1, Pbesti,2,..., Pbesti,d)

(8)

The index of best particle among all of the particles in the group in gbestd.The velocity for particle i is represented as (9)

Vi = (Vi,1, Vi,2,..., Vi,d)

The modified velocity and position of each particle can be calculated using the current velocity and distance from Pbesti,d to gbestd as shown in the following formulas (t) (t) (t+1) Vi,m = W×Vi,m + c1*rand()*(Pbesti,m - xi,m )+ (t) + c2*Rand()*(gbestm - xi,m)

(10)

(t+1) (t) (t+1) xi,d = xi,m + vi,m

(11)

where n d t (t+1) Vi,m W c1, c2 rand(n) (t) xi,d Pbesti,m gbestm

i = 1,2,...,n; m = 1,2,...,d

- number of particles in the group - dimension - pointer of iterations (generations) - velocity of particle I at iteration t - inertia weight factor - acceleration constant - random number between 0 and 1 - current position of particle i at iterations - best previous position of the ith particle - best particle among all the particles in the population


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

In the proposed PSO method each particle contains three members P, I and D. It means that the search space has three dimension and particles must ‘fly’ in a three dimensional space. Initializing the values of the parameters is as per Table 2. The flowchart of the PSO – PID control system is shown in Fig. 4. START Generate Initial Population

Run The Process Model Calculate the Parameter Kp, Ki, Kd at PID controller Calculate The Fitness Function Calculate The Pbest of Each Particle and gbest of Population Update The Velocity, Position, gbest and Pbest of Particles

N° 2

2011

the ants do not communicate directly but indirectly by adding pheromone to the environment. Based on the specific problem an ant is given a starting state and moves through a sequence of neighboring states trying to find the shortest path. It moves based on a stochastic local search policy directed by its internal state, the pheromone trails, and local information encoded in the environment. Ants use this private and public information inorder to decide when and where to deposit pheromone. In most application the amount of pheromone deposited is proportional to the quality of the move an ant has made. Thus the more pheromone, the better the solution found. After an ant has found a solution, it dies; i.e.it is deleted from the system [13]. ACO uses a pheromone matrix t={tij} for the construction of potential good solutions. The initial values of t are set tij = t0"(i,j), where t0 > 0 The probability PijA(t) of choosing a node j at node I is defined in the equation (12). At each generation of the algorithm, the ant constructs a complete solution using (12), starting at source node. PijA(t) =

[tij(t)]a[hij]b å Atij(t)]a[hij]b

if i,j Î TA

(12)

i,j ÎT

NO

Maximum Iteration number reacted YES

STOP

Fig. 4. Flowchart of PSO.

where hij =

1 , j = [p,i,d]: kj

representing heuristic functions. a and b are constants that determine the relative influence of the pheromone values and the heuristic values on the decision of the ant. TA: is the path effectuated by the ant A at a given time. The quantity of pheromone DtijA on each path may be defined as

5. ACO based tuning of the controller ACO’s are especially suited for finding solutions to different optimization problems.Acolony of artificial ants cooperates to find good solutions, which are an emergent property of the ant’s co-operative interaction. Based on their similarities with ant colonies in nature, ant algorithms are adaptive and robust and can be applied to different versions of the same problem as well as to different optimization problems [23]. The main traits of artificial ants are taken from their natural model. These main traits are (1) artificial ants exist in colonies of cooperating individuals, (2) they communicate indirectly by depositing pheromone (3) they use a sequence of local moves to find the shortest path from a starting position, to a destination point they apply a stochastic decision policy using local information only to find the best solution. If necessary in order to solve a particular optimization problem, artificial ants have been enriched with some additional capabilities not present in real ants [16]. An ant searches collectively foe a good solution to a given optimization problem. Each individual ant can find a solution or at least part of a solution to the optimization problem on its own but only when many ants work together they can find the optimal solution [4]. Since the optimal solution can only be found through the global cooperation of all the ants in a colony, it is an emergent result of such this cooperation. While searching for a solution

Lmin Dt = LA 0 else A ij

if i, j ÎTA

(13)

where: LA - is the value of the objective function found by the ant A. Lmin - is the best solution carried out by the set of the ants until the current iteration. The pheromone evaporation is a way to avoid unlimited increase of pheromone trails. Also it allows the forgetfulness of the bad choices. NA tij(t) = ptij(t-1) + å DtijA (t) A=1 (14) where: NA - number of ants P - the evaporation rate. 0 < p < =1. A. Implementation algorithm Step 1 Initialize randomly a potential solutions of the parameters (Kp, Ki, Kd) by using uniform distribution. Initialize the pheromone trail and the heuristic value. Articles

45


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

Step 2 Place the Ath ant on the node. Compute the heuristic value associated in the objective (minimize the error). Step 3 Use pheromone evaporation given by eqn (14) to avoid unlimited increase of pheromone trails and allow the forgetfulness of bad choices. Step 4 Evaluate the obtained solutions according to the objectives. Step 5 Display the optimum values of the optimization parameters. Step 6 Globally update the pheromone, according to the optimum solutions calculated at step 5. Iterate from step 2 until the maximum of iterations is reached. Initializing the values of the parameters is as per Table 2. The flowchart of the ACO – PID control system is shown in Fig. 5. START Initialize - Number of ants, Pheromone, Probability selected path. Population of (Kp, Ki, Kd)

N° 2

2011

6. Results and comparisons The transfer function of DC motor has been taken to analyze the performance of various heuristic algorithms. Transfer function is given by, G(S) =

0.1433 5.2e - 007 s2 + 0.000217 s + 2.265

The initial values of PID gains are calculated using conventional Z –N method. In this paper a time domain criterion is used for evaluating the PID controller. A set of good control parameters, P, I and D can yield a good step response that will result in performance criteria minimization in time domain [18]. These performance criteria in time domain include the overshoot, rise time and settling time. To show the effectiveness of the heuristic method, a comparison is made with the conventional designed PID controller with GA, EP, and PSO &ACO method. At first method, PID controller design using Z – N method & the values of designed PID controller are Kp = 9.3883, Ki = 36.4170, and Kd = 0.6051. Initialize the values of the parameters EP, GA, PSO & ACO is as per table 2. The values of EP, GA, PSO and ACO designed PID controllers are tabulated in table 3. Performance characteristics of DC motor were indicated & compared with heuristic tuning methods as shown in Fig 6. Simulation shows the performance characteristics of conventional method of controller tuning lead to a large settling time, overshoot, rise time & steady state error, GA, EP, PSO & ACO based tuning methods have proved their excellence in giving better result by improving the steady state characteristics and performance indices.

Run The Process Model

7. Conclusion Evaluate the Fitness Function Udate Pheromone and Probability Calculate Optimum of Kp, Ki, Kd

Maximum Iteration number reached

STOP

Research work has been carried out to get an optimal PID tuning by using GA, EP, PSO and ACO. Simulation results demonstrate the tuning methods that have a better control performance compared with the conventional ones. It is possible to consider several design criteria in a balanced and unified way. Approximations that are typical to classical tuning rules are not needed. Soft computing techniques are often criticized for two reasons: algorithms are computationally heavy and convergence to the optimal Solution cannot be guaranteed. PID controller tuning is a small-scale problem and thus computational complexity is not really an issue here. It took only a couple of seconds to solve the problem. Compared to conventionally tuned system, GA, EP , PSO and ACO tuned system has good steady state response and performance indices.

Fig 5. Flowchart of ACO.

Table 2. PSO, GA, EP and ACO Parameters.

46

PSO PARAMETERS Population size:100 Wmax=0.6/ Wmin=0.1 C1 = C2 = 1.5

GA PARAMETERS Population size:100 Mutation rate:0.1 Arithmetic Crossover

EP PARAMETERS Population size:100 Normal distribution Mutation rate: 0.01

Iteration:100 Fitnessfunction:ISE

Iteration:100 Fitnessfunction:ISE

Iteration:100 Fitnessfunction:ISE

Articles

ACO PARAMETERS Population size:100 No of Ants = 10 No. of Path = 15 C1 = C2 = 2 Iteration :100 Fitnessfunction: ISE


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 2

2011

Table 3. Comparison result of Z-N and Heuristic methods. PID Parameters

Tuning Method

Dynamic performance specifications

Performance Index ISE

Kp

Ki

Kd

Tr

Ts

M p (%)

(Proportional gain)

(Integral gain)

(Derivative Gain)

(Rise time)

(Settling time)

(Peak overshoot)

(Integral square error)

9.3883 10 3 1.5 10

36.4170 100 90 500 200

0.6051 0.1 0.001 0.02 0.21

1.27 0. 468 0. 444 0. 0761 0. 00105

2.235 0.877 0.781 0.13 0.429

1 0. 0 0. 0 0. 0 0. 0

2.2926 1.334 1.4406 1.0024 1.174

ZN EP GA PSO ACO

Amplitude

Step Response

Time (sec)

Fig. 6. Comparison result of Z-N and Heuristic methods.

AUTHORS B. Nagaraj* - Tamilnadu Newsprint and Papers Ltd, Tamilnadu, India. Research Scholar Karpagam University. E-mail: nagarajice@gmail.com. P. Vijayakumar - Karpagam College of Engineering, Tamilnadu, India. * Corresponding author

[5]

[6]

[7]

References [1]

[2]

[3]

[4]

Ian Griffin, Jennifer Bruton “On-Line PID controller tuning using genetic algorithm”. Available at: www. eeng.dcu.ie/~brutonj/Reports/IGriffin_MEng_03.pdf M.B.B. Sharifian, R. Rahnavard, H. Delavari “Velocity Control of DC Motor Based Intelligent methods and Optimal Integral State FeedbackController”, International Journal of Computer Theory and Engineering, vol. 1, no. 1,April 2009. N. Thomas, P. Poongodi “Position Control of DC Motor Using Genetic Algorithm Based PID Controller”. In: Proceedings of the World Congress on Engineering 2009, 1st-3rd July 2009, London, UK, vol. II. K.J. Astrom, T. Hagglund, “ Automatic tuning of simple regulators with specification on phase and amplitude

[8]

[9]

[10]

[11]

margins”, Automatica, vol. 20, 1984, pp. 645- 651. A.A. Khan, N. Rapal “Fuzzy PID controller: design, tuning and comparison with conventional PID controller”. In: IEEE International Conference on Engineering of Intelligent Systems, 2006, pp. 1-6, DOI 10.1109/ ICEIS.2006.1703213. S. Saha, “Performance Comparison of Pid base Position control system with FLC based position control system”, TIG Research Journal, vol. 1, no. 2, Sept. 2008. J. Lieslehto, “PID controller tuning using Evolutionary programming”. In: American Control Conference, VA, USA, 25th-27th June 2001. M. Nasri, H. Nezamabadi-pour, M. Maghfoori, “A PSOBased Optimum Design of PID Controller for a Linear Brushless DC Motor”, World Academy of Science, Engineering and Technology, no. 26, 2007. B. Nagaraj, S. Subha, B. Rampriya, “Tuning Algorithms for PID Controller Using Soft Computing Techniques”, IJCSNS International Journal of Computer Science and Network Security, vol. 8, no. 4,April 2008. H.S. Hwang, J.N. Choi, W.H. Lee, J.K. Kim,“A Tuning Algorithm for The PID Controller Utilizing Fuzzy Theory”, International Joint Conference on Neural Networks, vol. 4, 1999, pp. 2210-2215. Jan Jantzen, “Tuning of fuzzy PID controllers”. DenArticles

47


Journal of Automation, Mobile Robotics & Intelligent Systems

[12]

[13]

[14]

[15]

[16]

[17]

[18]

[19]

[20]

[21]

[22]

[23]

48

mark.Tech. Report no. 98-H 871(fpid), 30. Sept. 1998, pp. 1-22. Kiam Heong Ang, Gregory Chong, “PID Control System Analysis, Design, and Technology”, IEEE Transactions on Control Systems Technology, vol. 13, no. 4, July 2005, pp. 559-576. I. Chiha, P. Borne, “Multi-Objective Ant Colony Optimization to tuning PID Controller”. In: Proceedings of the International Journal of Engineering, vol. III, issue no. 2, March 2010. G. Dicaro, M.Dorigo, “Ant colonies for adaptive routing in packet switched communications network”. In: A.E. Eiben, T. Back, M. Schoenauer, a H-P. Schwefel, ed., Proceedings of PPSN-V 5th international conference on parallel problem solving from nature, Lecture notes in csc, vol. 1498, Springer Verlag: Berlin, 1998, pp. 673-682. G. Zhou, J.D. Birdwell, “Fuzzy logic- based PID autotuner design using simulated annealing”. In: Proceedings of the IEEE/IFAC Joint Symposium on ComputerAided Control System Design, 7th-9th March, 1994, pp. 67-72. H. Ying-Tung, C. Cheng-Long, C. Cheng-Chih, “Ant colony optimization for designing of PID controllers”, IEEE International Symposium on Computer Aided Control Systems Design, Taipei,Taiwan, 24th September, 2004. B. Nagaraj, N. Murugananth, “A comparative approach approach of soft computing methodologies for industrial process tuning”, KYTO Journal Engineering Research, vol. II, Dec 2009. N. Pillay, “A particle swarm optimization”. Master Thesis Dept. of Electronics Engineering at DURBAN Univ. of Tech., 2009. E. Grassi, K. Taskatis, “PID controller tuning by frequency loop shaping: Application to diffusion furnace temp. control”, IEEE Transaction on Control System Tech., vol. VIII, no. 5, Sept. 2000. A. Karimi, D. Gracia, R. Longchamp, “PID Controller Tuning using Bode's Integrals”, IEEE transactions on Control System Tech., vol. XI, no. 6, Nov. 2003. T.-H. Kim, I. Maruta, T. Sugia, “Particle Swarm Optimization based Robust PID Controller tuning”, IEEE Conference on Decision & Control, 12th 14th Dec, 2007 New Orleans, LA, USA, pp. 200-205. N. Pillay, P. Govender, ”A particle Swarm Optimization Approach for model independent tuning of PID control loop”, IEEE African 2007, IEEE catalog: 04CH37590C, ISBN: 0-7803-8606. K. Ramkumar, S. Sharma, “Real Time Approach of Ant Colony Optimization”, International Journal of Computer Application, vol. 3, no. 8, June 2010, pp. 34-46.

Articles

VOLUME 5,

N° 2

2011


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 2

2011

SYSTEM-LEVEL APPROACHES TO POWER EFFICIENCY IN FPGA-BASED DESIGNS (DATA REDUCTION ALGORITHMS CASE STUDY) Submitted 6th February 2010; accepted 18th August 2010.

Pawel Piotr Czapski, Andrzej Śluzek

Abstract: In this paper we present preliminary results on systemlevel analysis of power efficiency in FPGA-based designs. Advanced FPGA devices allow implementation of sophisticated systems (e.g. embedded sensor nodes). However, designing such complex applications is prohibitively expensive at lower levels so that, moving the designing process to higher abstraction layers, i.e. system-levels of design, is a rational decision. This paper shows that at least a certain level of power awareness is achievable at these higher abstractions. A methodology and preliminary results for a power-aware, system-level algorithm partitioning is presented. We select data reduction algorithms as the case study because of their importance in wireless sensor networks (WSN’s). Although, the research has been focused on WSN applications of FPGA, it is envisaged that the presented ideas are applicable to other untethered embedded systems based on FPGA’s and other similar programmable devices. Keywords: power awareness, FPGA, system-level, Handel-C, data reduction..

1. Introduction Sensor nodes are important examples of embedded systems. A typical sensor node (for either civilian or military applications) has a wireless communication unit, a processing unit, a sensing unit, and a power unit, [1]-[3]. Power resources of the sensor node are often limited or even irreplaceable in a field. This is a factor significantly constraining performances and power consumption of sensor nodes. Thus, processing devices with fixed architecture, e.g. microcontrollers (MCU) or digital signal processors (DSP), are still the most popular technique for sensor node implementations (due to their mature power and energy management). However, advanced multimillion-gate reconfigurable architectures become incomparably more powerful (e.g. Altera FPGA chips, Xilinx FPGA chips, [4], [5]). Therefore, more attention has been recently paid to reconfigurable architectures, e.g. software-based processors (LatticeMico, Nios, MicroBlaze, PicoBlaze, XTensa), [4]-[7]. Although there are currently only a few wireless sensor node applications employing FPGA chips and in these applications FPGAis mostly used as a supporting processing unit (e.g. [8]-[11]) it is envisaged that by employing such reconfigurable processing units more flexible sensor nodes, adaptable to a wider range of scenarios (including unpredictable ones) can be developed.

A typical FPGA incorporates the main array of slices and I/O blocks, and a number of other hard cores, i.e. memory blocks, digital clock managers, encryption circuitries, and custom multipliers, [12]. Although, power and performances of FPGA are often compared to applicationspecific integrated circuits (ASIC), e.g. [12], [13], configurable interconnections and switching structures (indispensable to achieve programmability of FPGA) increase loads and, thus, power consumption, [14]. This is a drawback of FPGA and, therefore, a careful analysis of power characteristics is of a particular importance for FPGA-based designs. Together with powerful FPGA devices, advanced high-level designing tools – e.g. compilers (Quartus, ISE), hardware description languages (Verilog, VHDL), system-level hardware description languages (such as Handel-C or Catapult C), etc. – are available so that complex processing units can be quickly synthesized and prototyped using FPGA’s or other complex devices. However, the system-level techniques are not power-aware so that significant power and/or hardware overheads (comparing to tedious but efficient low-level techniques) may be introduced in designs developed at high-levels, e.g. [4], [5], [15]. The main objective of this paper is to show that a certain level of power awareness can be incorporated into the system-level design techniques with almost no overheads. We demonstrate it using results of several experiments on power optimization in FPGA designs. The experiments are conducted using Handel-C language and DK Design Suite. The results are obtained for the case study of data reduction algorithms. This is a deliberate choice since data reduction is one of the fundamental issues in wireless sensor networks (and other related areas). The following sections of the paper are structured as follows: Section 2 overviews power consumption in FPGA and methods of power estimation and reduction. In Section 3, we present selected data reduction algorithms employed in untethered embedded systems (such as sensor nodes). Section 4, which is the core part of the paper, contains description of the experimental results obtained for those algorithms. We first demonstrate that hardware and power characteristics of FPGA designs can be represented sufficiently accurately at the system-level. Then, by using this observation, we show how power savings can be achieved by the system-level design partitioning. We focus on algorithms partitioned into domains that are run in parallel, but certain ideas for sequentially executable domains are presented in Section 5. Section 6 concludes the paper.

Articles

49


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

2. Power Consumption in FPGA

2011

where Ci, Vi, and fi, represent correspondingly the capacitance, the voltage swing, and the clock frequency of the ith resource (e.g. [12], [13], [18], [19]).

includes changes in the capacitance, the supply voltage, and the clock frequency) may offer some improvements. For example, because of high capacitance of external connections, on-chip memories instead of off-chip memories are recommended, [19]. The capacitance may also be reduced by tight timing constraints, e.g. [12], [18], forcing place-and-route tools to choose resources with lower capacitance. Reducing the supply voltage is the most effective mean to power consumption reduction (a quadratic term in (1) and (2)). However, lower supply voltages increase delays in circuits (that decreases performance) so it must be carefully balanced against any performance drop. Decreasing the clock frequency can also reduce power consumption. However, it may require changes to the design, especially for devices performing under predefined timing constraints.

The actual dynamic power of FPGA devices is, obviously, determined by the complexity of the implemented design. The design-dependent factors that contribute to the dynamic power are: effective capacitance of resources, resources utilization, and switching activity of resources, [12], [13], [20]. The effective capacitance represents the sum of parasitic capacitances of interconnected wires and transistors. The resources utilization reflects an obvious fact that FPGA provides more resources than usually required to implement a particular design (unused resources do not consume the dynamic power). The switching activity is the average number of signal transitions in a clock cycle. Generally, it is related to the clock frequency but it may also depend on other factors, e.g. temporal patterns of input signals. Hence, (1) can be rewritten as:

2.3. Power Consumption Estimation in FPGA Details of power consumption of FPGA can be obtained by real measurements or by simulation-based estimations, [12], [13], [20-22]. The real measurements provide the most accurate power information, e.g. [20], but the measured device must be a representative one. Power estimates that use the simulation-based approach are more convenient, but they provide only approximate results. The majority of existing power estimation techniques are based on the switching capacitance and the corresponding factors such as the average switching activity and the average resource utilization, see [12], [13], [17]-[19], [20], [22], [23]. Such approaches are suitable for power consumption estimates of FPGA devices, where most of implemented designs are synchronous and driven by the system clocks.

P = åCi × Vi2 × fi × Ui × Si

3. Data Reduction Algorithms

2.1. Dynamic and Static Power Power consumption of CMOS devices, e.g. FPGA, consists of two components: static and dynamic, [12], [13], [16]-[19]. The dynamic power consumption of CMOS devices is caused by signal switching at the device transistors, [16], [18], [19]. Frequencies of signal switching are obviously related to the clock frequency. Hence, the dynamic power consumption of a multi-resource system is generally modelled as: P = Ci2 × Vi × fi

i

(1)

(2)

where Ui and Si are the utilization, and the switching activity of individual resources. The static power consumption is caused mainly by the leakage current between the power supply and the ground. The sub-threshold leakage current (depending on temperature and the threshold voltage Vth) dominates the leakage current, see [19]. Some researches, e.g. [12], show that the static power of modern FPGA’s, e.g. the Virtex-II family (SRAMbased FPGA, 0.15 µm technology), ranges between 5 and 20% of the total dissipated power, depending on the temperature, the clock frequency, and the implemented design. However, since the static power of FPGA is mainly technology-dependent and it does not change with the design complexity, we do not discuss the static power issues in this paper. 2.2. Reduction of Power Consumption According to [20], three approaches to FPGA dynamic power consumption reduction exist. First, changes can be done at the system-level, e.g. modifications to the algorithms used. Secondly, if the architecture of FPGA is already fixed, a designer may change the logic partitioning, mapping, placement and routing. Finally, if no such changes are possible, enhanced operating conditions (this 50

N° 2

Articles

3.1. Introduction More complex embedded systems obviously have to process more data. Handling large amount of data becomes even more difficult when the data have to be transmitted wirelessly. Some researchers report that the cost of sending one bit of data over a certain distance is as high as the cost of 3000 CPU instructions executed locally, see [24]-[27]. Thus, the issue of data reduction (compression) becomes of the paramount importance. Data reduction (compression) algorithms are either lossless or lossy, e.g. [28], [29]. Lossless techniques are used in applications that cannot tolerate any difference between the original and decompressed data. Generally, lossless compression techniques generate a statistical model of data and map data to bit strings based on the generated model. Lossy compression techniques provide much higher compression ratio by accepting distortion in the reconstruction process. In general, lossy compression techniques transform given data into a new data space using an appropriate basis function or functions, [30]. Compression algorithms can be evaluated using different criteria: the relative complexity, the memory requirements, CPU speed requirements, compression ratio, the distortion level, see [28], [29], [31].


Journal of Automation, Mobile Robotics & Intelligent Systems

3.2. Data Reduction in Wireless Sensor Networks Data reduction is not commonly used in applications of wireless sensor networks. The major limitations are memory footprints and inadequate performances of processing units, see [31]-[33]. Therefore, the use of typical lossless data compression algorithms like LZO, BZIP2, PPMd (and other PC-based algorithms) is discouraged, see [31]. Nevertheless, there are some works on such algorithms used in sensor nodes of a limited power and performance (e.g. LZW in [34]). Other lossless data reduction algorithms used in sensor networks are Huffman and RLE coding, [35]. Some pre-processing techniques changing data descriptions and increasing compression ratio are also often used, [34, 35]. These use Burrow-Wheeler Transform (BWT) and Structured Transpose (ST) to reorder data before LZW coding, and decorrelation transforms such as Wavelet Transform (WT) to describe data structures before employing Huffman codes. However, the latter introduce some distortions due to employed lossy transformations. To overcome the limitations of standard algorithms, novel compression schemes have been developed for wireless sensor networks, [25], [27], [31], [32], [36]-[40]. These are coding by ordering, pipelined in-network compression, and differential coding lossless schemes, and some low-complexity video compressions schemes such as JPEG with some modifications. Lossy data reduction in wireless sensor networks includes aggregation and approximation, [24], [27], [40]. Aggregation summarizes the measurements in the form of simple statistics, e.g. average, maximum, minimum, etc., over regular intervals. This is an effective way in reducing the data volume but rather crude for applications requiring detailed historical information, e.g. in surveillance and monitoring. Approximations (e.g. histograms, wavelets, discrete cosine transform, linear regression, etc.) are employed if data exhibit a large degree of redundancy. There are also other methods of data reduction in wireless sensor networks, e.g. [26], [32], [41], [42]. They involve distributed processing and combine routing, data fusion and data aggregation so that they are not a subject of our discussion. Although the shear data volume is the major issue in wireless sensor networks, directly affecting the communication capacity, e.g. [26], [34], there might be additional requirements for data reduction algorithms in such systems. For example, data reduction schemes are supposed to reduce communication latency, to enhance the energy efficiency (by reducing the energy consumed on data transmission, [25]) and to generally reduce the energy consumption, [26]. Altogether, energy awareness is (directly or indirectly) one of the main issues for data reduction algorithms in wireless sensor networks. Therefore, data reduction algorithms have been selected as the case study for this paper.

VOLUME 5,

N째 2

2011

system-level. The selected algorithms are Huffman coding and Arithmetic coding. Our further experiments have shown, nevertheless, that similar results have been obtained for other algorithms of diversified structures so that this case study exemplifies of what we believe is a useful technique of general applicability. Huffman coding is a popular algorithm for embedded systems due to its simplicity, low hardware and performance requirements, and the nature of data to be stored or communicated, [35]. However, problems may arise if the alphabet of source data is not big enough, or with highlyskewed probabilities, or just a binary one (in-network data such as detection, classification, tracking, etc.) in the worst case, [28], [29]. This problem can be partially solved by building the extended alphabet (that has symbols grouped in blocks of two and more). However, this introduces exponential growth of the codebook. Arithmetic coding is a better choice that assigns codewords to particular sequences without generating codes for all sequences of that length (as in the case of Huffman coding), [28], [29]. However, Arithmetic coding is much more tedious to implement. Thus, even if Arithmetic coding is a good candidate for wireless sensor networks, it has not been (to our knowledge) implemented yet in such applications. Nevertheless, our experiences show that Arithmetic coding may be a feasible choice for FPGAbased applications. Dividing a design into a number of domains is a proven technique. The selected algorithms can be naturally decomposed into compressors and decompressors (although further partitioning of both compressor and decompressor is also later discussed). We use such decompositions as the major technique for optimizing the power consumption at the system-level of design, [43]. It is shown that by a proper algorithms partitioning and the corresponding selection of clock frequencies for the individual domains, a significant power savings can be obtained without analyzing the hardware-level details of the designs. The algorithms are implemented at the system-level in Handel-C using DK Design Suite (a complete design environment for C-based algorithmic design entry, simulation and synthesis). To investigate power efficiency of the designs, we compile them for RC203 development board, equipped in Xilinx Virtex-II FPGA (xc2v3000fg676-4). XPower (one of the accessories of Xilinx Integrated Software Environment (ISE)) is employed for hardware-level power consumption estimation. XPower provides the estimates using simulated data describing activity of the implemented design. Sensor nodes (and other similar systems) are often deployed in hardly predictable environments. Hence, we arbitrarily assume that activity rate of the implemented designs is 50%. To minimize differences between XPower estimates and the actual hardware implementations, we decided to use the external FPGA pins as the direct data inputs and outputs.

4. Experiments In this section we discuss experiments on FPGA implementation of two data reduction algorithms. The main objective of these experiments is to prove that the dynamic power awareness of FPGA designs can be achieved at the

4.1. Methodology Dynamic power consumption is proportional (see Equations (1) and (2)) to the size of the design and the clock frequency. However, the complexity of FPGA deArticles

51


Journal of Automation, Mobile Robotics & Intelligent Systems

signs is differently measured at different levels. The system-level (abstract) complexity is expressed by the number of equivalent NAND gates. For a given algorithm, its abstract complexity is therefore fixed (depending on the algorithm structure and the compiler’s efficiency). Even if the algorithm is decomposed into several parts, its overall complexity is just a union of individual component complexities. Thus the system-level “dynamic power consumption” of a design can be defined in some non-defined units (NDU) as a product the equivalent NAND number and the clock frequency. The hardware-level complexity is determined by the mapping the system-level structures (netlists) into the FPGA resources (slices, I/O blocks, interconnections, etc.). However, the mapping results may significantly vary for different clock frequencies, especially for decomposed algorithms that can be implemented within one domain or physically partitioned into several hardware domains. Therefore, the fundamental question for system-level power estimates is whether the abstract complexity of algorithms (i.e. the number of equivalent NAND gates) can be used as a reliable factor for determining the actual dynamic power usage. Intuitively, the power grows with the number of NAND gates but it is important to evaluate fluctuations caused be mapping-and-placing differences (e.g. by using various clock frequencies), differences between single-domain and multi-domain implementations of a decomposed algorithm, etc. Since we have not found in the available sources experimental validation of this issue, Section 4.2 presents such a validation. It confirms feasibility of our approach, i.e. we can use the system-level complexity of designs to fairly accurately represent the power characteristics of the actual FPGA implementations. 4.2. Accuracy of the System-level Power Estimates In this experiment we investigate hardware-level power characteristics of a decomposed algorithm (Huffman coding decomposed into compressor and decompressor is actually selected) implemented for various clock frequen-

Fig. 1. Compressor (15MHz; on the right) and decompressor (15MHz; on the left) in an exemplary Design A – Huffman coding. 52

Articles

VOLUME 5,

N° 2

2011

cies in either one or two domains. In order to avoid any distortion of results, we do not use any chip area constraints and we allow map, place, and route tools to perform unconstrained optimizations. Huffman coding is selected because both parts (i.e. compressor and decompressor) in spite of their different inner structures have almost identical system-level complexities, i.e. the system-level dynamic power estimates would be similar. In Design A, the compressor and decompressor are implemented within the same module but in two separate clock domains. In Design B, they are implemented in a separate single-domain module each. Huffman coding was implemented for data of 1bit width, the alphabet of 2 elements, and the sample size of 32 elements, but these parameters do not have any actual significance. Multiple variants of both designs have been hardwareimplemented using diversified clock frequencies (minimum and maximum clock frequencies are defined by the platform limitations). Although certain variations in the physical layouts of the implementation are unavoidable, we expect that the hardware-level power estimates would be consistent. Figures 1 to 4 show exemplary layouts (which, as expected, are actually diversified) while Tables 1 to 3 show the related hardware-level estimates of dynamic power obtained by using XPower. We can observe that the added dynamic power consumption of separately implemented compressor and decompressor is almost the same as the total dynamic power consumption for the design with both compressor and decompressor (compare the rows 1, 2 and 3 of Tables 1 and 2 to the rows 1 and 4 of Table 3, correspondingly). The variations are below a 5% threshold. The tables additionally show that the dynamic power consumption changes proportionally to the clock frequency change, as predicted in the system-level estimates. In spite of diversified physical layouts of the implementations (compare Figures 1 to 4) power characteristics of the design remain consistent.

Fig. 2. Design B with only compressor (15MHz) – Huffman coding.


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

Table 1. Only decompressor – Design B. Clock frequency [MHz] Total dynamic power (clock+logic+signals) [mW] 6 1.57+5.31+13.66=20.54 15 1.04+13.06+33.73=47.83 24 1.67+20.89+54.46=77.02 Table 2. Only compressor – Design B. Clock frequency [MHz] Total dynamic power (clock+logic+signals) [mW] 6 1.04+5.06+12.43=18.53 15 1.04+12.43+30.91=44.38 24 1.67+19.88+49.40=70.95 Table 3. The overall power consumption (decompressor/ compressor) – Design A. Decompressor clock frequency [MHz] 6 8 12 15 18 22 24

Compressor clock frequency [MHz] 24 22 18 15 12 8 6

Total dynamic power (clock+logic+signals) [mW] 2.77+25.19+63.07=91.03 2.82+25.25+64.00=92.07 2.57+25.40+64.98=92.95 1.97+25.48+65.79=93.24 2.48+25.65+68.03=96.16 2.48+25.84+67.71=96.03 2.53+25.95+65.75=94.23

The results of this experiment are the key to the systemlevel clock domain algorithm partitioning discussed below. They confirm that power consumption can be estimated at the system-level using the abstract complexity of the designs (e.g. the number of equivalent NAND gates) and the assumed clock frequency. Even though we cannot estimate the absolute values (which depend on the conversion ratio from non-defined units (NDU) to milliwatts - it should be determined individually for a given model of FPGA) the optimum clock frequencies for various domains and/or the best partitioning strategies can be found in this way.

Fig. 3. Design B with only decompressor (15MHz) – Huffman coding.

N° 2

2011

4.3.

Algorithm Partitioning into Parallel Domains –Approach In the subsequent experiments, we use algorithm partitioning as a tool for power reduction. The same algorithms, i.e. Huffman coding and Arithmetic coding (actually their compressors and decompressors) are used as the case study. First, we focus on partitioning into domains that are run simultaneously (the alternative scenario is briefly discussed in Section 5). The partitioning scheme is applied to compressors and decompressors of both algorithms. The compressor and decompressor are each divided into two domains performing simultaneously (more details in Subsection 4.4) and, based on their system-level characteristics, the most power-efficient clock frequencies are proposed for the domains. Details of the system-level analysis of the designs are as follows: System-level hardware complexity The algorithm implemented at the system-level (DK Design Suite) is first compiled and synthesized to the netlist level. The system-level hardware complexity (resources) is estimated by the equivalent number of NAND gates used by the design. Such results are obviously platformindependent. Even though the synthesized designs are later targeted to a relevant hardware (using Xilinx ISE software) the resources are estimated at the system-level only. When a domain is isolated from an algorithm, this domain is separately compiled and synthesized at the system-level to obtain the equivalent number of NAND gates. The complexity (i.e. the equivalent number of NAND gates) of the remaining algorithm is computed straightforwardly by subtracting the number of gates of the isolated domain from the whole algorithm. It has been verified experimentally that (at least in the implemented algorithms) the results do not depend on which domain is isolated, i.e. in case of two domains the complexity of any domain is practically the same no matter whether it is isolated or whether it is considered “the remaining part of the algorithm”.

Fig. 4. Compressor (24MHz; on the right) and decompressor (6MHz; on the left) in an exemplary Design A – Huffman coding. Articles

53


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

Processing time estimates Processing time of a particular algorithm (or its domain) is also estimated at the system-level using debugging tools of DK Design Suite. A clock cycle is the basic unit of the time estimates. Because we assume a parallel run of the domains, the longer execution time (of the isolated domain or of the remaining algorithm) determines the overall processing time. Power consumption estimates Dynamic power consumption in FPGA is directly related to the hardware resources. We assume that the systemlevel complexity (i.e. the equivalent number of NAND gates) multiplied by the clock frequency describes the dynamic power utilisation expressed in NDU (non-defined units). The validity of this approach has been justified by the experiment described in Section 4.2. It should be noted that such a power characteristics is platform-independent.

2011

each new sample and the latter one is executed for each new code to be decoded into a symbol. Hence, they are in different clock domains. Moreover, we decided to implement memory to store statistics of input data (AlphArray) and internal node structures of binary tree (InterNodeArray) in the same clock domain as CodeGet. Hence, BuildHuffTree has to access AlphArray and InterNodeArray through channels. Block diagrams of the clock domain partitioning of the Huffman coding decompressor are presented in Figure 6. The system-level characteristics of the design are given in Table 5. Main clock domain CodeSendDirect

Secondary clock domain BuildHuffTree BuildHuffCode

SampleArray channels

Algorithm Partitioning into Parallel Domains – Implementation To deal with certain limitations of DK Design Suite, we use samples of 32 elements, and sequences of 4 symbols for Arithmetic coding. These values correspond to 1sec of data gathering by certain sensors (e.g. the typical sampling frequency for magnetometers used in wireless senor networks is approx. 10-50 Hz) so they are reasonable, see [44]-[47]. We also arbitrarily decide that the width of processed data is 10bits which is typical resolution of analog-to-digital-converter (ADC) used in wireless sensor networks, [48]. Memories required by data reduction algorithms are implemented within the FPGA so that large capacitances of external connections are avoided. Such an approach does not distort the results since the FPGA-based memory is used only for the essential operations, and we do not store more than one sample of input or output data.

N° 2

SampleArray

4.4.

Huffman coding The compressor of Huffman coding consists of BuildHuffTree (building Huffman tree), BuildHuffCode (building Huffman code), and CodeSendDirect (encoding symbols) functions. BuildHuffTree and BuildHuffCode are executed for every new sample, and CodeSendDirect is executed for every new symbol to be encoded. Therefore, we decided to put BuildHuffTree and BuildHuffCode in one clock domain and CodeSendDirect in another clock domain. Moreover, we decided to implement a memory to store samples of input data (SampleArray) and the symbol code table (SymbolCode; for symbols encoding) in the same clock domain as CodeSendDirect (as the data are mostly accessed by CodeSendDirect). Hence, BuildHuffTree and BuildHuffCode have to access SampleArray and SymbolCode through channels. Block diagrams of the clock domain partitioning of the Huffman coding compressor is presented in Figure 5. The system-level characteristics of the design are given in Table 4. The decompressor of Huffman coding consists of BuildHuffTree (building Huffman tree; however, it differs from BuildHuffTree used in compressor) and CodeGet (decoding symbols). The first function is executed for 54

Articles

SymbolCode

channels

SymbolCode

Fig. 5. Block diagram of Huffman coding compressor. Table 4. Huffman coding (compressor) – hardware resources and processing time. [NAND gates equivalent] 214,634 Complete compressor 79,195 Main clock domain Secondary clock domain 135,439 Main clock domain

CodeGet

AlphArray

Clock cycles 1,155 20,352

Secondary clock domain

BuildHuffTree

channels

InterNodeArray channels

AlphArray

InterNodeArray

Fig. 6. Block diagram of Huffman coding decompressor. Table 5. Huffman coding (decompressor) – hardware resources and processing time. [NAND gates equivalent] Complete compressor 130,724 45,737 Main clock domain Secondary clock domain 84,987

Clock cycles 655 14,666

Arithmetic coding We have implemented the compressor of Arithmetic coding using the following functions: vasPrbCount (buil-


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

ding a probabilistic model of sample data), vasCDFCount (building a cumulative distribution function based on the probabilistic model of sample data) and vCodeEncSeq (encoding the alphabet symbols or sequences of symbols). VasPrbCount and vasCDFCount are executed for each new sample (so they are in the same clock domain), and vCodeEncSeq is executed for each new symbol or symbols sequence to be encoded (so is located in the other clock domain). The memories storing a sample of input data (uiaSample), storing the probabilistic model of input data (asPrb), and storing the cumulative distribution function of input data (asCumDistFun) are implemented in the same clock domain as vCodeEncSeq. Thus, vasPrbCount and vasCDFCount have to access uiaSample, asPrb, and asCumDistFun through channels. Block diagrams of the clock domain partitioning of the Arithmetic coding compressor are presented in Figure 7. The design characteristics are shown in Table 6. Main clock domain

Secondary clock domain

vasPrbCount

vCodeEncSeq

vasCDFCount channels uiaSample asPrb asCumDistFun

uiaSample channels channels

asPrb asCumDistFun

Main clock domain

vCodeDecSeq

asPrb

asCumDistFun

N° 2

2011

Secondary clock domain

vasCDFCount

channels

channels

asPrb

asCumDistFun

Fig. 8. Block diagram of Arithmetic coding decompressor. Table 7. Arithmetic coding (decompressor) – hardware resources and processing time. [NAND gates equivalent] Complete compressor 303,114 Main clock domain 299,679 Secondary clock domain 3,435

Clock cycles 3,418 3,204

Channels overhead The resources estimates of a partitioned design might be distorted by the hardware needed for the inter-domain communication. To figure out the actual significance of these overheads, we have implemented the corresponding designs consisting of the channels only (actually, redundant channels that can transfer data samples of 32, 128, and 512 elements are implemented). The results, i.e. the equivalent numbers of NAND gates, are presented in Tables 8 and 9.

Fig. 7. Block diagram of Arithmetic coding compressor. Table 8. Huffman coding – channel overheads. Table 6. Arithmetic coding (compressor) – hardware resources and processing time. [NAND gates equivalent] Complete compressor 231,666 Main clock domain 225,047 Secondary clock domain 6,619

Clock cycles 3,961 5,350

The decompressor of our Arithmetic coding implementation consists of vasCDFCount (building the cumulative distribution function based on the probabilistic model of sample data) and vCodeDecSeq (decoding alphabet symbols or symbols sequences). The first function is executed for each new sample and the latter one is executed for each new code to be decoded into a symbol or a sequence of symbols. Therefore, we decided to place each function in different clock domains. Moreover, the memories storing the probabilistic model of input data (asPrb) and storing cumulative distribution function of input data (asCumDistFun) are implemented in the same clock domain as vCodeDecSeq. Hence, vasCDFCount has to access asPrb and asCumDistFun through channels. Block diagrams of the clock domain partitioning of the Arithmetic coding decompressor are presented in Figure 8. The characteristics of the design are given in Table 7.

32 Sample size 216 Compressor [NAND gates equivalent] 680 Decompressor [NAND gates equivalent]

128 228

512 240

764

848

Table 9. Arithmetic coding – channel overheads. 32 Sample size 216 Compressor [NAND gates equivalent] 680 Decompressor [NAND gates equivalent]

128 228

512 240

764

848

Tables 8 and 9 show that the channel overheads are insignificant compared to the compressor/decompressor logic (given in Tables 4 to 7). They are 0.24%, 0.40%, 0.22%, and 0.17%, of the compressor/decompressor logic of Huffman and Arithmetic coding, correspondingly. The additional hardware resources overheads for inter-domain clock synchronization are also included into these numbers. The example (confirmed by similar experiments for other algorithms) shows that for moderate/large FPGA designs inter-domain communication overheads are negligible and they do not affect the system-level analysis of power characteristics. Articles

55


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

4.5.

2011

Algorithm Partitioning into Parallel Domains –Analysis Results of algorithm partitioning (using a two-domain partitioning) are presented in Tables 4 and 5 (Huffman coding) and in Tables 6 and 7 (Arithmetic coding). In both algorithms, the longer processing time of a domain defines the nominal clock frequency for the whole design (depending on the maximum acceptable processing time that cannot be exceeded). Any reduction of the clock frequency to an individual domain would correspondingly reduce the dynamic power (according to Equations 1 and 2). Therefore, we can estimate the power saving that can be achieved by slowing down the other domain that requires fewer clock cycles to complete its operation.

Arithmetic coding Using the same approach for the compressor of Arithmetic coding (domain details in Figure 7) we can see in Table 6 that 6,619 gates of the secondary domain should be driven by the nominal clock, while 225,047 gates of the main domain can be driven by 74.04% of the nominal frequency (3,961/5,350 = 0.7404). Thus, the total power consumed by the non-partitioned algorithm driven by the nominal clock is:

Huffman coding In Table 4, the main domain needs only 1,155 clock cycles of execution time while the secondary domain requires 20,352 cycles (see Figure 5 for the domain details). When both domains are driven by the same clock frequency (i.e. the compressor design is not partitioned) the overall power consumption can be estimated (in some non-defined units (NDU)) as:

225,047 × 0.7404 + 6,619 × 1 = 173,243.80NDU

(79,195 + 135,439) × 1 = 214,634NDU However, in the partitioned design the main domain can be run at the frequency equal to only 5.67% of the nominal clock frequency (1,155/20,352 = 0.0567) and can still complete its operation within the same time. Thus, the power consumption for the main domain can be reduced to: 79,195 × 0.0567 = 4,490.36NDU while the secondary domain needs: 135,439 × 1 = 135,439NDU Therefore, the total power consumed by the partitioned design is equal to: 4,490.36 + 135,439 = 139,929.36NDU i.e. 65.19% of the original 214,634NDU for the nonpartitioned design. Almost 35% of the dynamic power is saved. Following the same methodology for the decompressor (see Table 5 and Figure 6 for the domain details) we conclude that 84,987 equivalent gates of the secondary domain should be driven by the nominal clock frequency while 45,737 gates of the main domain need only 4.47% of that frequency (655/14,666 = 0.0447). Therefore, the power consumption of the partitioned design can be expressed as: 45,737 × 0.0447 + 84,987 × 1 = 87,031.44NDU which is 66.58% of the power needed by the nonpartitioned implementation (that needs 130,724NDU).

56

N° 2

Articles

(225,047 + 6,619) × 1 = 231,666NDU while the total power estimate for the partitioned design is:

so 25.22% of power consumption has been saved compared to the non-partitioned design. For the Arithmetic coding decompressor (details in Table 7 and in Figure 8), the main domain (consisting of 299,679 gates) determines the nominal clock frequency, and the secondary domain (only 3,435 gates) needs 93.74% of the frequency. The power savings are very insignificant in this case, i.e. (299,679 + 3,435) ×1 = 303,114NDU versus 299,679 × 1 + 3,435 × 0.9374 = 302,898.97NDU The dynamic power reduction is only 0.07%.

5. Remarks on Sequential Partitioning The algorithm partitioning framework discussed in Section 4 is applicable to algorithms where all fragments perform simultaneously (though possibly with diversified intensities, i.e. at various clock frequencies). This framework, nevertheless, may not give satisfactory power savings in some situations (e.g. for the Arithmetic coding decompressor). As seen in Table 7, both parts of the algorithm require almost the same processing time so that no matter what the domain sizes are, we cannot expect any spectacular power savings by parallel partitioning. There are many algorithms, however, where not all fragments of a decomposed algorithm should be run continuously (i.e. processing is at least partially sequential). Since the dynamic power consumption depends on switching activities of the relevant resources, the idle fragments (i.e. those with temporarily very low switching activity) consume only negligible amounts of dynamic power. By exploiting this fact, further savings of the dynamic power are possible at the system-level. Assume an algorithm partitioned into just two fragments X and Y that are executed sequentially. Let the corresponding domains Dx and Dy have their processing times of cx and cy clock cycles, correspondingly. The overall execution time for the whole algorithm can be, therefore, expressed as:


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

t = tx + ty =

cx cy + fx fy

(3)

where fx and fy are the corresponding domain clock frequencies. The power consumption can be hypothetically reduced if the clock frequency of the more hardware-intensive domain is reduced and (if we need to maintain the overall throughput of the system) the clock frequency of the other domain is correspondingly increased. If the original frequencies are changed (by Dfx and Dfy, respectively) the overall execution time would changed and the following dependency can be straightforwardly obtained from Equation 3: Dt =

-Dfx × cx -Dfy × cy + fx × (fx + Dfx) fy × (fy + Dfy)

(4)

where Dt is the overall execution time increment due to frequency changes Dfx and Dfy . If the processing time is preserved, the value of Equation 4 is zero, so that a simple expression can be obtained on how to simultaneously modify clock frequencies in both domains without affecting the processing time: Dfx × cx -Dfy × cy = fy × (fy + Dfy) fx × (fx + Dfx)

(5)

Then, the recommended (i.e. minimizing the overall power consumption) frequencies can be found by optimizing hardware×frequency products under constraint specified by (5). The proposed approach ignores several practical effects. First, the assumption about a zero dynamic power during the inactivity periods holds only approximately. Secondly, the static power that inherently exists in any FPGA device may further distort the validity of calculations. Therefore, the feasibility of this technique to the actual power consumption reduction has to be verified experimentally. The experiments are currently conducted, and the results will be presented in our future papers.

6. Conclusions In this paper, we have proposed methods for optimizing the dynamic power consumption in FPGA device at the system-level of the designing process. It is calculated and verified experimentally that algorithm decompositions into simultaneously executed fragments (when combined with the appropriate choice of clock frequencies) may significantly reduce the dynamic power indeed. Moreover, as an additional/alternative tool, we propose a sequential algorithm partitioning that may further reduce the power consumption by changing clock frequencies of the relevant clock domains (without affecting the algorithm’s throughput). It should be highlighted that the proposed ideas do not introduce any unintentional processing delays or significant hardware overheads. Our estimations regarding power savings are intentionally based on the system-level results only. Therefore, the dynamic power savings should remain similar for a wide range of FPGA’s and other devices. Only the ratio between the dynamic and static power, and the actual values in milliwatts will not be, obviously, deviceindependent.

N° 2

2011

Additionally (or rather primarily) we have also shown that the power characteristics of partitioned and non-partitioned designs estimated at the system-level are, in general, inherited at the hardware-level, in spite of variations in the actual layouts of the implemented designs. Thus, the validity of the proposed techniques has been justified experimentally. Our experiments are focused on data reduction algorithms, namely Huffman coding and Arithmetic coding. Thus, certain properties of these algorithms have been (intentionally or not) revealed as well. In particular, contrary to the existing believes, we found that Arithmetic coding is a feasible candidate for FPGA-based data reduction embedded systems. In certain scenarios (more details are not discussed in this paper) it may be superior to Huffman coding. Though our experimental works are based on data reduction algorithms implemented in FPGA devices, the same approach can be applicable to other algorithms and other configurable structures. And certainly wireless sensor networks are not the only area where the proposed framework can be useful. We also express our hope that modern powerful FPGA devices will find a niche in wireless sensor networks and other energy-aware systems. In spite of a relatively high static power (e.g. 378mW of static power for Xilinx Virtex-II FPGA) they offer numerous advantages, e.g. if the design is large or at least moderate, the dynamic power dominates. For example, a design utilizing just 1/3 of VirtexII FPGAslices may consume up to 533mW of the dynamic power. Thus, our efforts on dynamic power reduction do not seem baseless. Finally, an important direction for the future results can be highlighted. In the conducted experiments, the algorithm partitioning has been done intuitively (based on our understanding on the algorithm’s structure). Even though currently it seems to be the most typical (and the most convenient) approach, we believe that system-level algorithm partitioning for power consumption optimization is an interesting topic. Our experiments clearly reveal that, for example, partitioning into domains of opposite properties (large domains with slow clocks versus small domains with very fast clocks) is a recommended strategy for parallel partitioning. Moreover, we have found that (contrary to some believes) inter-domain communication resources in FPGA implementations are typically insignificant compared to the size of (moderate and large) designs. More interesting properties might be revealed when futher researches are conducted in this area.

AUTHORS Pawel Piotr Czapski* - Nanyang Technological University, School of Computer Engineering, Block N4 #02a-32, NanyangAvenue, Singapore 639798. E-mail: pawel@czapski.eu. Andrzej Œluzek - Nanyang Technological University, School of Computer Engineering. * Corresponding author

Articles

57


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

References [1]

[2]

[3]

[4]

[5]

[6]

[7]

[8]

[9]

[10]

[11]

[12]

[13]

[14]

58

K. Romer,F. Mattern, “The Design Space of Wireless Sensor Networks,” IEEE Wireless Communications, vol. 11, no. 6, December 2004, pp. 54-61. M.A.M. Vieira, C.N. Jr. Coelho, D.C. Jr. da Silva, J.M. da Mata, “Survey on Wireless Sensor Network Devices”. In: Proceedings of the Emerging Technologies and Factory Automation, 2003, pp. 537-544. J. Feng, F. Koushanfar, M. Potkonjak, “System-Architectures for Sensor Networks Issues, Alternatives, and Directions”. In: Proceedings of the IEEE International Conference on VLSI in Computers and Processors, 2002, pp. 226-231. Xilinx, Inc., “Product Selection Guides,” FPGA and CPLD Solutions from Xilinx, Inc., 2008. [Online]. Available: http://www.xilinx.com. [Accessed: September 06, 2008]. Altera Corporation, “Altera Product Catalog,” Altera FPGA, CPLD, ASIC and Programmable Logic, 2008. [Online]. Available: http://www.altera.com. [Accessed: September 06, 2008]. Lattice Semiconductor Corporation, “LatticeMico Product Brochure,” FPGA and CPLD solutions from Lattice Semiconductor, 2008. [Online]. Available: http://www. latticesemi.com. [Accessed: September 06, 2008]. Tensilica, Inc., “XTensa Product Brief,” Tensilica: Configurable and Standard Processor Cores for SOC Design, 2008. [Online]. Available: http://www.tensilica. com. [Accessed: September 06, 2008]. B. O'Flynn, et al., “The Development of a Novel Miniaturized Modular Platform for Wireless Sensor Networks,” in Proceedings of the Fourth International Symposium on Information Processing in Sensor Networks, 2005, pp. 370-375. S.J. Bellis, K. Delaney, B. O'Flynn, J. Barton, K.M. Razeeb, C. O'Mathuna, “Development of Field Programmable Modular Wireless Sensor Network Nodes for Ambient Systems,” Computer Communications, vol. 28, no. 13,August 2005, pp. 1531-1544. D. Bauer, S. Furrer, S. Rooney, W. Schott, H.L. Truong, B. Weiss, “The ZRL Wireless Sensor Networking Testbed,” IBM Zurich Research Laboratory, Ruschlikon, Switzerland, Tech. Rep. RZ 3620 (# 99630), 2005. V. Tsiatsis, S.A. Zimbeck, M.B. Srivastava, “Architecture Strategies for Energy-Efficient Packet Forwarding in Wireless Sensor Networks”. In: Proceedings of the International Symposium on Low Power Electronics and Design, 2001, pp. 92-95. L. Shang, A.S. Kaviani, K. Bathala, “Dynamic Power Consumption in Virtex-II FPGA Family”. In: Proceedings of the 2002 ACM/SIGDA 10th International Symposium on Field-Programmable Gate Arrays, 2002, pp. 157-164. V. Degalahal, T. Tuan, “Methodology for High Level Estimation of FPGA Power Consumption”. In: Proceedings of the 2005 Conference on Asia South Pacific Design Automation, 2005, pp. 657-660. N. Rollins, M.J. Wirthlin, “Reducing Energy in FPGA Multipliers Through Glitch Reduction,” presented at the International Conference on Military and Aerospace Programmable Logic Devices, Washington, DC, USA, 2005.

Articles

[15]

[16]

[17]

[18]

[19]

[20]

[21]

[22]

[23]

[24]

[25]

[26]

[27]

[28] [29] [30]

N° 2

2011

Celoxica, Ltd., “Agility Compiler,” Celoxica - The Technology Leader in C Based Electronic Design and Synthesis, 2006. [Online]. Available: http://www.celoxica. com/products/agility/default.asp. [Accessed: October 18, 2006]. S.J.E. Wilton, S.-S. Ang, W. Luk, “The Impact of Pipelining on Energy per Operation in Field-Programmable Gate Arrays”. In: Field Programmable Logic and Application, Vol. 3203, J. Becker, M. Platzner, and S. Vernalde, Eds. Berlin, Germany: Springer-Verlag, 2004, pp. 719-728. G.J.M. Smit, P.J.M. Havinga, “A Survey of Energy Saving Techniques for Mobile Computers,” University of Twente, Department of Computer Science, Enschede, Netherlands, Tech. Rep. Moby Dick, 1997. P.J.M. Havinga, G.J.M. Smit, “Low Power System Design Techniques for Mobile Computers,” University of Twente, Department of Computer Science, Enschede, Netherlands, Tech. Rep. ISSN 1381-3625, 1997. O.S. Unsal, I. Koren, “System-Level Power-Aware Design Techniques in Real-Time Systems”. In: Proceedings of the IEEE, vol. 91, no. 7, July 2003, pp. 10551069. H.G. Lee, S. Nam, N. Chang, “Cycle-Accurate Energy Measurement and High-Level Energy Characterization of FPGAs”. In: Proceedings of the 4th International Symposium on Quality Electronic Design, 2003, pp. 267-272. N. Chang, K. Kim, “Real-Time per-Cycle Energy Consumption Measurement of Digital Systems”, Electronics Letters, vol. 36, no. 13, June 2000, pp. 1169-1171. K. Weiß, C. Oetker, I. Katchan, T. Steckstor, W. Rosenstiel, “Power Estimation Approach for SRAM-based FPGAs”, In: Proceedings of the 2000 ACM/SIGDA 8th International Symposium on Field Programmable Gate Arrays, 2000, pp. 195-202. M. French, “A Power Efficient Image Convolution Engine for Field Programmable Gate Arrays”. In: International Conference on Military and Aerospace Programmable Logic Devices, Washington, DC, USA, 2004. A. Deligiannakis, Y. Kotidis, N. Roussopoulos, “Compressing Historical Information in Sensor Networks”. In: Proceedings of the 2004 ACM SIGMOD International Conference on Management of Data, 2004, pp. 527-538. M. Chen, M.L. Fowler, “The Importance of Data Compression for Energy Efficiency in Sensor Networks”. In: Proceedings of the 2003 Conference on Information Sciences and Systems, 2003. M. Chen, M.L. Fowler, “Data Compression Trade-Offs in Sensor Networks”. In: Proceedings of the SPIE Conference on Mathematics of Data/Image Coding, Compression, and Encryption VII, with Applications, 2004, pp. 96-107. A. Deligiannakis, Y. Kotidis, “Data Reduction Techniques in Sensor Networks”, IEEE Data Engineering Bulletin, vol. 28, no. 1, March 2005, pp. 19-25. K. Sayood, Introduction to Data Compression, 3rd ed. San Francisco, CA, USA: Morgan Kaufmann, 2006. D. Salomon, Data Compression - The Complete Reference, 4th ed. London, UK: Springer-Verlag, 2007. T. Dang, N. Bulusu, W. Feng, “RIDA: A Robust Infor-


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

[31]

[32]

[33]

[34]

[35]

[36]

[37]

[38]

[39]

[40]

[41]

[42]

[43]

mation-Driven Data Compression Architecture for Irregular Wireless Sensor Networks”. In: Wireless Sensor Networks, vol. 4373, K. Langendoen, T. Voigt, Eds. Berlin, Germany: Springer-Verlag, 2007, pp. 133-149. V. Jolly, S. Latifi, N. Kimura, “Energy-Efficient Routing in Wireless Sensor Networks Based on Data Reduction”. In: Proceedings of the International Conference on Parallel and Distributed Processing Techniques and Applications, 2006, pp. 804-812. N. Kimura, S. Latifi, “A Survey on Data Compression in Wireless Sensor Networks”. In: Proceedings of the International Conference on Information Technology: Coding and Computing, 2005, pp. 8-13. K.C. Barr, K. Asanovic, “Energy-Aware Lossless Data Compression,” ACM Transactions on Computer Systems, vol. 24, no. 3, pp. 250-291,August 2006. C.M. Sadler, M. Martonosi, “Data Compression Algorithms for Energy-Constrained Devices in Delay Tolerant Networks”. In: Proceedings of the 4th International Conference on Embedded Networked Sensor Systems, 2006, pp. 265-278. J.P. Lynch, A. Sundararajan, K.H. Law, A.S. Kiremidjian, E. Carryer, “Power-Efficient Data Management for a Wireless Structural Monitoring System”. In: Proceedings of the Fourth International Workshop on Structural Health Monitoring, 2003, pp. 15-17. H. Akcan, H. Bronnimann, “Deterministic Data Reduction in Sensor Networks”. In: Proceedings of the 2006 IEEE International Conference on Mobile Adhoc and Sensor Systems, 2006, pp. 530-533. A.T. Hoang, M. Motani, “Collaborative Broadcasting and Compression in Cluster-based Wireless Sensor Networks”. In: Proceedings of the Second European Workshop on Wireless Sensor Networks, 2005, pp. 197-206. P. J. Marron, R. Sauter, O. Saukh, M. Gauger, K. Rothermel, “Challenges of Complex Data Processing in Real World Sensor Network Deployments”. In: Proceedings of the ACM Workshop on Real-World Wireless Sensor Networks, 2006, pp. 43-48. D. Petrovic, R.C. Shah, K. Ramchandran, J. Rabaey, “Data Funneling: Routing with Aggregation and Compression for Wireless Sensor Networks,” in Proceedings of the First 2003 IEEE International Workshop on Sensor Network Protocols and Applications, 2003, pp. 156-162. A. Deligiannakis, Y. Kotidis, “Data Reduction Techniques in Sensor Networks”, IEEE Data Engineering Bulletin, vol. 28, no. 1, March 2005, pp. 19-25. Y. Al-Obaisat, R. Braun, “On Wireless Sensor Networks: Architectures, Protocols, Applications, and Management”. In: Proceedings of the 1st IEEE International Conference on Wireless Broadband and Ultra Wideband Communication, 2006. A. Ciancio, S. Pattem, A. Ortega, B. Krishnamachari, “Energy-Efficient Data Representation and Routing for Wireless Sensor Networks Based on a Distributed Wavelet Compression Algorithm”. In: Proceedings of the Fifth International Conference on Information Processing in Sensor Networks, 2006, pp. 309-316. P.P. Czapski, A. Sluzek, “Power Optimization Techniques in FPGA Devices: A Combination of System- and Low-Levels,” International Journal of Electrical, Com-

[44]

[45]

[46]

[47]

[48]

N° 2

2011

puter, and Systems Engineering, vol. 1, no. 3, 2007, pp. 148-154. L. Gu, et al., “Lightweight Detection and Classification for Wireless Sensor Networks in Realistic Environments” , in Proceedings of the Third International Conference on Embedded Networked Sensor Systems, 2005, pp. 205-217. J. Ding, S.-Y. Cheung, C.-W. Tan, P. Varaiya, “Signal Processing of Sensor Node Data for Vehicle Detection”. In: Proceedings of the Seventh International IEEE Conference on Intelligent Transportation Systems, 2004, pp. 70-75. J.R. Agre, L.P. Clare, G.J. Pottie, N.P. Romanov, “Development Platform for Self-Organizing Wireless Sensor Networks”. In Proceedings of the SPIE Conference on Unattended Ground Sensor Technologies and Applications, 1999, pp. 257-268. P. Dutta, M. Grimmer, A. Arora, S. Bibyk, D. Culler, “Design of a Wireless Sensor Network Platform for Detecting Rare, Random, and Ephemeral Events”. In: Proceedings of the Fourth International Symposium on Information Processing in Sensor Networks, 2005, pp. 497-502. Crossbow Technology, Inc., “Product Catalog,” Crossbow Technology: Wireless: Home Page, 2008. [Online]. Available: http://www.xbow.com. [Accessed: September 06, 2008].

Articles

59


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 2

2011

DESIGN, CONTROL AND APPLICATIONS OF THE UNDERWATER ROBOT ISFAR Submitted 16th November 2010; accepted 22nd February 2011.

Wojciech Biegański, Jakub Ceranka, Andrzej Kasiński

Abstract: This paper describes the design of the underwater robot Isfar which belongs both to a miniROV and AUV classes vehicle. The mechanical structure, the architecture of the control system and the most significant applications of such vehicle are presented together with the classification of the Isfar within particular classes of underwater vehicles. Keywords: unmanned underwater vehicle, mini remotely operated vehicle, autonomous underwater vehicle, underwater robot.

decisions autonomously. That recent progress resulted with the definition of a new class of underwater vehicles i.e. AUV (Autonomous Underwater Vehicles). AUVs are designed to collect data from the sensory system (such as recorded images and particular measurements) without the need of the operator. This paper presents the robot Isfar, that belongs to the miniROV class with the ability to transform into the AUV class, enabling the manoeuvrability and large variety of applications of miniROVs combined with tetherless, autonomous operation ofAUVs. The word 'Isfar' means 'yellow' in Maltese language.

2. Overview of existing UUV solutions 1. Introduction The vehicle constructed by a Serbian inventor and engineer Nikola Tesla, considered as the first UUV (Unmanned Underwater Vehicle), was presented on annual exhibition of electrical engineering in 1889 [10],[11]. Yet, rapid development of such vehicles came out on late, on 50s of 20th century, when vehicles CURV (Cable-controlled Underwater Re-search Vehicle) and TONGS (Television Observed Nautical Grappling System) were introduced [12]. The main goal of such vessels was to operate in high depths, that are beyond the divers' reach. There was a trend to build vehicles that were capable of exploring oceanic depths up to several thousands of meters. Contemporary engineers does not focus only on exploration of high depths, but also on granting security of divers making their duties or on environmental surveillance. Small underwater units became now more significant. Engineers and scientists design them to manually operate in shallow waters and littoral zones [9]. The commercialisation of specialized, low-cost, mechanical and electronic components provided possibility to construct more robotized vehicles. In consequence, it is possible to build vehicles of miniROV (mini Remotely Operated Vehicle) class, able to replace or assist the diver in monitoring and searching missions, due to the application of intelligent sensory and control systems able to detect underwater objects, avoid obstacles, indicate collisions or send the information about actual location and orientation of the vehicle. They are operated manually with the software installed on the console of the teleoperator. The teleoperator focuses only on reaching the desired area and on examining the images that are transferred by the vision system installed on-board. The development of automation technology made possible to replace the teleoperator with machine intelligence capable of making 60

Articles

Among many existing UUV solutions, these enumerated below belong to the most advanced group. It is worth mentioning that there are differences not only in the control systems and sensory equipment between these classes, but also on mechanical design i.e. ROV class vehicles are characterized by ‘crate-style’ design (see Fig. 1.) and AUVs are streamlined ‘torpedo-shaped’ with less motors but with wings (see Fig. 2.). In consequence, the maneuverability differs between these classes. 2.1. ROV/miniROV class SeaBotix LBV series are miniROV class vehicles designed for rescue missions and to assist divers during their work. All of them are equipped with 4 to 6 thrusters, video camera and a console for the teleoperator. There are also many options e.g. a simple, attachable manipulator with replaceable grabbers or additional lighting. The maximum depth of vLBV950 is 950 m. Because of using the external power supply, attached to the console of the teleoperator (which is placed on the surface), the weight of these vehicles is very low (18 kg for vLBV950) [13].

Fig. 1. SeaBotix LBV300 miniROV. VideoRay has several different models of miniROVs designed for underwater inspection of both sea and inland waters. These vehicles are upgradeable with many external components such as grabbers, cameras, imaging sonar, radiation detectors or water quality measuring devices.


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

The VideoRay vehicles are not equipped with an on-board power supply [14]. 2.2. AUV class HUGIN as a heavy AUV developed by Kongsberg Maritime (Norway) in 1990 with the co-operation with the Norwegian Defence Research Establishment [3]. More advanced versions are HUGIN 3000 (maximum depth is 3000 m), HUGIN 1000 (compact version of HUGIN 3000) and HUGIN 4500 (able to operate at the depth of 4500 m). HUGIN is designed for many applications in oceanography, environmental monitoring, underwater resource studies and also for military applications e.g. mine searching [4]. Remote Environmental Measuring Unit(s) (REMUS) developed in Woods Hole Oceanographic Institution in 1994 is a pioneer of an autonomous, compact, low-cost vehicle designed to collect environmental data to help understanding stability and change in marine ecosystems [1]. It is equipped with the acoustic-based navigation system, depth and temperature sensors. In the year 2000 REMUS gained many new capabilities during development, e.g. added Doppler Velocity Log (DVL), compass, gyroscopes [2]. Currently the Hydroid company sells REMUS for the commercial use [16].

Fig. 2. REMUS AUV. Starbug is a vision-based AUV designed for seabed mapping by the Australian Scientific and Research Organisation. It is designed for environmental monitoring of the Great Barrier Reef. Starbug is equipped with visuallyguided navigation system, pressure sensor, magnetic compass, IMU and GPS (used on surface) [5],[6]. The vehicle Isfar, presented in this paper has many similarities to Starbug. 2.3. Underwater gliders Underwater glider is a subclass of AUV class vehicle that has a specific drive. Gliders propel themselves by changing buoyancy and using wings to produce forward motion. Buoyancy is changed by varying the vehicle volume to create a buoyancy force. Wing lift balances the across-track buoyant force while the forward buoyant force balances drag [6]. The vehicle that exemplifies glider class is Seaglider built at the University of Washington. It is equipped with temperature-conductivitydissolved oxygen sensor and fluorometer [8].

Fig. 3. Seaglider AUV.

N° 2

2011

3. Isfar overview

Fig. 4. The general view of the Isfar (Lake Malta in the background). Isfar is a prototype of a hybrid of the miniROV and AUV in single vehicle. The main goal was to build a lowcost, small vehicle able to serve as an universal platform for experiments with equipment (a number of sensors and actuators) and intelligent algorithms. At the same time, it should be able to execute searching and rescue missions in ROV mode with the teleoperator. The characteristics of the robot are following: • area of operation: inland waters, both artificial and natural, • maximum depth up to 15 m, • external dimensions (0.6 x 0.9 x 0.4) m, • weight (in air) 25 kg, • tethered connection with teleoperator, • high bandwidth communication protocol, • maximum speed: 0.7 m/s (forwards), 0.36 m/s (backwards), • manoeuvring capabilities: 5 DOF, • batteries able to supply energy for up to 3 h installed on-board • hybrid control system able to work with operator (with the use of a special console) and/or autonomously, • sensory equipment: IMU (Inertial Measurement Unit), a depth sensor, a vision system able to work in two modes (in visible spectrum and in near-infrared) with lighting.

4. Mechanical construction Isfar has three hulls. Hulls are attached to the frame made of flat beams. The space between the main hull and side hulls is filled with two fins. The third fin, placed beneath the main hull, takes the function of keel commonly used in boats (see Fig. 5.). Manoeuvring motors with propellers are mounted at the ends of the fins. The elements of buoyancy drive are placed inside the side hulls. Main hull contains power supply module, drivers of the actuators, sensors and main control unit. Hulls are made from yellow polyethylene PE80 that is highly durable against pressure and resistant to a moisture. The plugs, preventing water penetration, together with fins are made from white polyethylene PE1000. The Articles

61


Journal of Automation, Mobile Robotics & Intelligent Systems

transparent porthole for camera, made from thick perspex, is mounted at the front of the main hull. The frame is made from inox steel. Additional ballasts, composed of rectangular plates made from stainless steel, are mounted on the keel. a)

VOLUME 5,

N° 2

2011

The use of the Ethernet as a main communication channel enabled the possibility to operate Isfar in two modes (ROV and AUV interchangeably). The Ethernet specification lets high channel capacities (there is a sequence of hi-res images transmitted from the underwater at the speed of 30 fps) and significant length of the tether connecting the robot with the teleoperator (in ROV mode). In order to make the robot operate in AUV mode, the selected AI algorithms must be transferred to the on-board computer. In consequence, the missions that would be executed in that mode will make the human operator a passive observer only. There is no need to make hardware modifications to switch between these modes. 5.1. Low control layer Low control layer consists of actuators and their drivers together with sensory systems.

b)

Fig. 5. Mechanical construction. 1 - main hull, 2 - side hull, 3 - fin, 4 - keel, 5 - frame, 6 - additional ballast, 7 - manoeuvring drive, 8 - lighting (NIR LEDs), 9 - lighting (cold-white LEDs). Elements of the lighting are made from aluminium capsules with small perspex plugs. Specialised, underwater connectors are mounted on the back of the main hull. The wires connecting the floats, manoeuvring drives and lights with main hull are placed in small diameter hoses. The selection of a three-hull style of the robot forced, at the stage of design, accurate planning of quantity, placement, types and dimensions of all the internal components, since, at the stage of testing, there was no possibility to make modifications to the mechanics.

5. Hybrid control system The three-layer control system was designed. The block diagram of the architecture of the control system is presented in Fig. 6.

Fig. 6. The architecture of the control system of Isfar. 62

Articles

The manoeuvring drive In order to move backwards and forwards three DC motors with propellers were installed. These motors, posing as the manoeuvring drive, come from Johnson L550 bilge pumps, thus there was no need to design the tight housing for the motors. The authors decided to use these motors for the sake of common availability and low price. Each motor has the power of 36 W and maximum operating current of 3 A. The maximum torque of these motors is 50 mNm each. The two-blade propellers dia. 40 mm were used. The propellers were tested with the use of dynamometer, with the result of 6 N of thrust each (resulting the thrust of the robot of 18 N). The drives were placed in the vertices of an equilateral triangle. In consequence, the way the motors were placed, the manoeuvring drive makes Isfar capable of: â&#x20AC;˘ surging i.e. moving forwards and backwards, â&#x20AC;˘ change of orientation i.e. heading angle and pitch angle (which is useful while ferreting during the searching missions). The controllers of the manoeuvring drive were designed with the use of an Atmel AVR ATmega8L microcontroller and H-bridges embedded in ST Micro-electronics VNH2SP30 chip. Due to characteristics of the VNH2SP30 circuit, especially its low resistance of internal transistors, the drive is energy efficient. The driver is able to control the motors in two modes: in open-loop mode with Pulse Width Modulation or in closed-loop with current feedback (VN2HSP30 chip has an embedded current sensor). The experiments undertaken with the drive proved, that current is directly proportional to the thrust of the motor. The buoyancy drive The buoyancy drive consists of four piston tanks with the volume of 0.5 l each. The piston tanks hold a DC motors with transmission gears mounted outside. In accordance with the Archimedes principle, the increase of volume of water inside the tank, causes the buoyancy force to change. With the special layout of piston tanks in the construction of the robot, the magnitude and


Journal of Automation, Mobile Robotics & Intelligent Systems

sense of the buoyancy force can be controlled thus the drive enables: • heaving i.e. motion along vertical axis (immersing and emerging), • change of orientation i.e. roll angle. The range of all the piston tanks is approximately ±10 N. The measured speed of the robot to emerge is approx. 0.2 m/s. The set point for the drivers is the position of the piston inside the each tank. The controllers are designed with the use of similar drivers such as were used in the manoeuvring drive i.e. ST Microelectronics VNH2SP30. The communication role is taken by the AVR ATmega8L microcontroller. All the drives that were installed on the robot lets Isfar to be a nonholonomic robot.

Fig. 7. Body frame axes and orientation angles. The lighting The lighting is based on high power LEDs. The lighting consists of six power diodes i.e. three cold-white diodes with the power of 3 W and three diodes emitting the near-infrared radiation with the power of 1 W and the wavelength of 850 nm. Each LED has mounted a star shaped radiator and a collimator. The capsules with diodes were mounted symmetrically (similar to manoeuvring motors i.e. at the basis of a triangle) in front of the fins mentioned above (see Fig. 5.) The driver of the lighting is based on an AVR ATmega8L microcontroller and MBI1801 High-Power LED drivers. The brightness of the LEDs depends on the current controlled by MBI1801. The on-board camera The most essential part of underwater inspecting vehicles is a vision system sending the recorded sequence of images directly to the surface. Because Isfar is constructed for inland underwater inspection, the specialized vision system had to be designed, as the images are barely unreadable. To manage with this problem Isfar is equipped with the Intellinet 550291 network IP camera capable of recording images in insufficient light conditions. The camera is characterized by IR sensitive lenses which means that the spectrum of the light carrier is extended to a nearinfrared band (wavelength up to 850 nm). The camera has an embedded Linux operating system installed, uses the Ethernet protocol to communicate, transmits images us-

VOLUME 5,

N° 2

2011

ing Motion-JPEG or MPEG-4 format. The parameters of the image recording such as brightness, contrast, saturation etc. are controlled via HTTP requests. Furthermore, the camera is characterized by: • 1/3'' Sony CCD sensor, • image resolutions: 720x576, 640x480 or 352x288, • frame rate up to 30 fps. Inertial Measurement Unit In order to conduct the estimation of the orientation of the vehicle, the custom-made Inertial Measurement Unit is installed on-board. IMU consists of three digital gyroscopes measuring the angular velocities along axes of the body frame, and two 3-axis accelerometers. The gyroscopes are mounted on the board in the specific layout i.e. along three orthogonal axes. The work of gyroscopes is supported by redundant accelerometers, functioning as inclinometers, indicating the orientation of the board while it is perpendicular to the vector of gravity. By doing that the pitch and roll angles reset is made possible, thus the angle measured via gyroscopes are uncertain (the error is cumulative) because of the thermal noise. Additional function of accelerometers is to warn about collisions with obstacles. Three Atmel ADIS16060 iMEMS gyroscopes were used. The gyros are characterized by the range of ±80 deg/sec, 14-bit resolution and SPI output interface. The ADXL330 accelerometers work in the range of ±3g and have analog outputs. The main part of this sensory subsystem is an AT91SAM7S128 microcontroller based on ARM7 core. Its aim is to read the angular rates, convert them to floating point format, integrate (in order to calculate the angles) and transmit them to the middle control layer. The depth sensor According to Pascal's law, the depth of the immersed body is proportional to the pressure exerted to that body, thus the depth sensor is assembled with the use of the industrial pressure sensor WIKA A-10. The sensor is characterized by the analog output and by the range of pressure measurements approx. 5 ba, which means it is able to work at the depths up to 40 m. The work of this component is coordinated by anATMega8L microcontroller. It is worth mentioning that the low control layer has a modular design i.e. each driver or sensor controller was mounted on the separate board. In case of failure, only the damaged board has to be replaced. The software of low control layer is written in C programming language. The MCUs used at this layer are 8-bit AVR and 32-bit ARM7. The fault detection algorithm for I2C bus was implemented both in the middle and low control layers. 5.2. Middle control layer Middle layer of the control system contains only single device i.e. the main control unit. The purpose of that board is to connect and synchronise data between the high and low control layers. Simple regulation tasks such as buoyancy and heading control are also performed at this layer. The main control unit is based on two integrated circuits i.e. the Ethernet controller and the ARM7 family microcontroller. Articles

63


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

The Ethernet controller, Microchip ENC28J60 has embedded two layers of ISO/OSI model i.e. the Physical Layer (PHY module), and Data Link Layer (MAC module). The manufacturer implemented useful algorithms for collision detection, retransmission, packet filtering and checksum calculation. The controller communicates with processing unit via SPI interface. The I2C bus allows up to 127 slave devices to be connected at the same time and makes the system using that bus universal and reconfigurable. The communication between the high and low control layer is based on a protocol of simple messages built on the basis of the Ethernet protocol, making possible to control Isfar in real-time. At the Network Layer of the OSI model, the IP is used and as a protocol of Transport Layer UDP. It is worth mentioning that datagrams are sent in a stream. The software of the middle control layer is written in C programming language. All the protocols of the 3rd and above OSI layers were implemented independently on the microcontroller. 5.3. High control layer The high control layer complies with star network topology. Two different types of devices are allowed at this layer: the remote console of the teleoperator and a supervisory computer with autonomous operation algorithms. It is obvious that these devices might work together at the same time, but only one of them works as an active driver and the remaining devices – only as passive observers. The remote console (ROV mode) The teleoperator has a console equipped with gamepad or joystick at his disposal. The main part of the console is a mobile PC running the graphical application that shows current image from under the water [13]. The GUI of the console application is designed on the model of HUD (Heads-Up Display) applied in the modern military aircrafts i.e. indicators showing the flight parameters do not cover the view in front of the vehicle, and the pilot does not need to turn his head to monitor them. The application is built using Python programming language and PyGame library. The application is multi-platform, it was tested under Windows and also under Linux operating systems. The on-board computer (AUV mode) The remote console might be replaced by the on-board computer in autonomous operation. The robot would be able to work without constraining the motion tether then. Decisive algorithms implemented at this layer would be knowledge based and supported by the current data delivered by sensory systems, in particular camera and sonar. The work at designing algorithms for the autonomous operation is currently under development. 5.4. Power supply The power module of Isfar contains four Li-Poly batteries with capacitance of 5600 mAh each and with nominal voltage of 11.1 V. The choice of lithium-polymer accumulators is justified by their good capacitance to volume co64

Articles

N° 2

2011

efficient. Usage of the PoE (Power over Ethernet) standard, and suitable contactor made possible to turn on or reset the robot only by plugging in the Ethernet RJ-45 connector to its socket.

6. Applications The primary purpose of Isfar is to execute searching missions. As it is known, every mission requires the specialised and trained divers to work in very difficult conditions, often dangerous. Using robot that would replace the diver is justified. Isfar is able to work significantly longer then the diver without emerging to the surface. Long diving periods are disastrous to the diver’s health. It is obvious that robots does not suffer from diseases that the divers might fall due to their work e.g. diseases resulting from the contamination of water environment. Searching and reconnaissance missions are inseparable with rescue missions. The specialised groups of rescuers might be interested in such vehicles. Another application of Isfar is inspection and cataloguing of underwater plants or objects e.g. monitoring underwater structures such as pillars of bridges or boat plating, which maintenance is critical. Another purpose of Isfar is to map the bed of the lake or river and hence the robot may work at the service of environmental care and could search and indicate the location of the source of the contamination, especially with the use of NIR recorded images. The robot could also assist in the archaeological research conducted under the water.

7. Summary Taking to the account the current state of development of robots supporting humans, operating in difficult and dangerous environments, Isfar exemplifies vehicle that has still unique operational capabilities. The first experiments on Lake Malta in Poznan, confirmed the assumed operational parameters in underwater environment. At the moment, Isfar is ready for the execution of missions in ROV mode i.e. with teleoperator. The development work in the area of extending autonomy of the robot is in progress now. Some conclusions can be drawn from the current design: • In the vehicles like Isfar, the Inertial Measurement Units should work together with digital compasses (based on magnetometers), the DVL (Doppler Velocity Log) and GPS transceivers. The idea of using these components is surely worth considering, in order to improve the better localization, orientation and linear velocity measurements of the robot. • The sensory system could be also augmented by using the multi-beam sonar making possible to scan or map the bed of the lake or river. • There is also a possibility to make a fusion of recorded images by visual together with acoustic sensory systems’output. The presented control system, due to its transparency and modularity could be applied to the other robots, not necessarily underwater.


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

AUTHORS Wojciech Biegañski*, Jakub Ceranka, Andrzej Kasiñski - Institute of Controland Information Engineering, Poznan University of Technology, ul. Piotrowo 3A, PL-60965 Poznan, Poland. E-mails: wojciech.bieganski@doctorate.put.poznan.pl, jakub.ceranka@doctorate.put.poznan.pl, andrzej.kasinski@put.poznan.pl.

[16]

N° 2

2011

Official web page of Hydroid Inc. http://www. hydroidinc.com/.

* Corresponding author

References [1]

[2]

[3]

[4]

[5]

[6]

[7]

[8]

[9]

[10]

[11] [12]

[13]

[14] [15]

C. von Alt et al., “Remote Environmental Measuring Units”, Autonomous Underwater Vehicle Technology Symposium '94 , July 1994, pp. 13-19. M. Purcell et al., “New Capabilities of the REMUS Autonomous Underwater Vehicle”. In: OCEANS 2000 Proceedings, MTS/IEEE, vol. 1, September 2000, pp. 147-151. R. Marthiniussen et al., “HUGIN-AUV Concept and operational experiences to date”. In: OCEANS '04 Proceedings. MTTS/IEEE, vol. 2, November 2004, pp. 846-850. P.E. Hagen et al., “The HUGIN 1000 autonomous underwater vehicle for military applications”. In: OCEANS 2003 Proceedings, vol. 2,April 2004, pp. 1141-1145. M. D. Dunbabin et al., “Large-Scale Habitat Mapping Using Vision-Based AUVs: Experiences, Challenges & Vehicle Design”. In: OCEANS 2007 Europe Proceedings, June 2007, pp. 1-6. M. Dunbabin et al., “A Hybrid AUV Design for Shallow Water Reef Navigation”. In: 2005 IEEE International Conference on Robotics and Automation Proceedings, April 2005, pp. 2105 -2110. D. L. Rudnick et al. “Underwater Gliders for Ocean Research”, Marine Technology Society Journal, vol. 38, no. 1, 2004, pp. 73-84. C.C. Eriksen et al. “Seaglider: A Long-Range Autonomous Underwater Vehicle for Oceanographic Research”, IEEE Journal of Oceanic Engineering, vol. 26, issue 4, October 2001, pp. 424-436. J. Yuh. “Development in Underwater Robotics”. In: 1995 IEEE International Conference on Robotics and Automation Proceedings, vol. 2, May 1995, pp. 18621867. N. Tesla. "Method of and Apparatus for Controlling Mechanism of Moving Vessels or Vehicles”. Patent number 613,809,1899. N.Tesla, “The Problem of Increasing Human Energy”, Century Illustrated Magazine, June 1900. W.E. Baxley et al., “TONGS An evolution of a HeavyLift Search and Recovery Remotely Operated Vehicle”, Underwater Magazine, vol. 16, 2004. D. Maffei et al. “A computer interface for controlling the ROV mission in scientific survey”. In: OCEANS 2000 Proceedings, MTS/IEEE, vol. 2, September 2000, pp. 1365-1370. Official web page of SeaBotix Inc., San Diego, USA. http://www.seabotix.com/. Official webpage of VideoRay LLC, Phoenixville, USA. http://videoray.com/. Articles

65


VOLUME 5,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 2

2011

EVENTS SPRING-SUMMER 2011 April 29 – 30

National conference on Computers, Communication and Controls. Organized by R.V.College of Engineering, Dept. of Electronics and Communication Engineering, Bangalore, India. http://www.rvce.edu.in

May 2–4

ICIBM 2011 - International Conference on Intelligent Building and Management, Sydney, Australia. http://www.icibm.org/

10 – 12

MFPT 2011 - The Applied Systems Health Management Conference, Virginia Beach, USA. http://www.mfpt.org

13 – 15

DSDE 2011 - The 2nd IEEE International Conference on Data Storage and Data Engineering, Xi'an, China http://www.icdsde.org/

21 – 22

ICWOC 2011 - 2011 International Conference on Wireless and Optical Communications, Zhengzhou, China. http://www.icwoc.org/

28 – 29

ICIEE 2011 - International Conference on Information and Electronics Engineering. Bangkok, Thailand http://www.iciee.org/

June 10 – 12

IEEE ICCSIT - 4th IEEE International Conference on Computer Science and Information Technology, Chengdu, China http://www.iccsit.org/

July 18 – 22

35th COMPSAC - The IEEE Signature Conference on Computers, Software and Applications. Co-sited with SAINT 2011 and COMPSAC 2011, to be held in Munich, Germany http://compsac.cs.iastate.edu/

18 – 22

ESAS 2011 - The 6th IEEE International Workshop on Engineering Semantic Agent Systems. Main Theme: Theory and practice of semantic Web technologies in developing software agents, mobile agents and multi-agent systems towards REALIZING THE COMPUTED WORLD. Sponsored by: IEEE Computer Society. http://compsac.cs.iastate.edu/workshop_details.php?id=32&y=

August 19 – 21

66

Events

ICIFE 2011 - 3rd International Conference on Information and Financial Engineering, Shanghai, China. http://www.icife.org/

JAMRIS 2011 Vol 5 No 2  

www.jamris.org