Performance analysis of real-time and general-purpose operating systems for path planning of the multi-robot systems

ABSTRACT


INTRODUCTION
In recent, almost all of electronic devices are designed for the devices to operate independently from human beings and autonomously have operating systems to perform a specific task [1]- [5].Commonly used operating systems can be listed as android for mobile devices, windows for PCs, Linux and iOS for both platforms.The main purpose of operating systems is to use the hardware most effectively and also to fulfill the tasks in the fastest way [6].On the other hand, operating systems have some dependencies while performing described tasks.The time is one of the important dependencies for operating systems.The calculation of the processing time is crucial parameter in especially time depended on operations and tasks.It is an important parameter that determines the performance of an operating system and minimizes the possibility of error [6].Therefore, all operating systems have time dependencies.Two different time calculation methods have been used which were named based on their kernel structures which depend on operating systems type [4], [7]- [13].These are general purpose operating system (GPOS) and real-time operating system (RTOS).
GPOS is a common operating system type such as windows, Linux, android.that is designed to fulfill personal use.The main purpose of GPOS, which is an operating system design that can be used by everybody, is high efficiency.Efficiency is directly related to the number of tasks completed per unit cycle.It means that GPOSs must support multi-tasking [8], [14].On the other hand, task scheduling and allocation are performed without priority levels of the tasks in GPOSs [15].It is possible to execute lower priority tasks  ISSN: 2088-8708 Int J Elec & Comp Eng, Vol. 12, No. 1, February 2022: 285-292 286 instead of higher priority tasks, primarily.In this way, system performance can be increased which depends on the task-scheduling algorithms.It means that system efficiency can increase at the same time.However, it is possible to occur delays in processing time in GPOS.This is a tolerable error, and it can be solved by using effective task-scheduling and allocation algorithms.But, this situation can cause crucial errors if the task has time dependency [4], [16]- [19].For example, in the obstacle avoidance for mobile robots, when an obstacle is detected, an obstacle avoidance task must be performed simultaneously.It means that the task must have higher priority.Otherwise, the robot may hit the obstacle and an accident occurs.This is an undesirable and unexpected situation.In order to avoid such an error, the task with high priority should be executed quickly.
RTOSs have been designed to solve high-time dependency tasks [9], [16], [17], [20].RTOSs are divided into three subcategories according to their time dependency.These are soft real-time, hard real-time, and firm real-time, respectively [3], [9], [21].The task processing and completion times are absolutely certain in RTOS [22].Since the task that is processed will finish at the end of a predetermined maximum scheduling time, it is terminated or completed in a certain time [11], [23].However, in some possible delays, the responses of the system are various which depends on the type of RTOS.Delays are tolerable in soft realtime systems, poorly tolerable in hard real-time systems, and no tolerance in firm real-time systems [12], [24]- [26].If the task is not completed on time, it is terminated or canceled in firm real-time systems [12], [24]- [26].It is crucially important to have highly precise decision ability for autonomous robot applications in a dynamic and unknown environment [27]- [29].The decision process is one of the high-time dependency tasks, especially, detection and identification of obstacles [28], [30], [31].
RTOSs are divided into two types according to their core architectures which are monolithic kernel and microkernel [32]- [35], as well.In a monolithic kernel, all processes in the operating system are defined in the kernel.All processes such as file management and networking.run in the kernel.On the other hand, applications work on the user side.The disadvantage of this design is the entire system can be affected by any negativity in the kernel [32], [33].In this structure, the whole kernel must be recompiled for a change that can be performed [32], [33].And, this process is a cause of the time loss [32], [33].The whole operating system processes work on the user side in microkernel systems [32]- [34].All processes communicate with each other.This approach increases the message traffic and decreases performance.But, the microkernel architecture is more secure than the monolithic kernel architecture.An occurred error during task-processing does not affect the whole system.It is not more complex because it contains less code [32]- [34].
In this study, GPOS and RTOS versions of Ubuntu and Pardus which are two Linux distributions were analyzed to compare their performances on path planning of the multi-robot systems.Moreover, it is possible to compare the performance of robot operating system (ROS) on these two distributions, in this study.Robot groups with different numbers of members were used to perform the path tracking tasks using both Ubuntu and Pardus as GPOS and RTOS to analyze their performance in the turtlesim simulation environment.In this way, both the performance of two different Linux distributions in multi-robotic applications were observed and compared.Two different path planning cases were performed, and results were discussed.

RESEARCH METHOD
In this study, GPOS and RTOS were installed on two different Linux distributions which are Ubuntu and Pardus, and system performances were analyzed.Ubuntu is one of the most popular Linux distribution with a Linux kernel, using the Debian infrastructure and architecture [36].This operating system, distributed as open-source, has been developed since October 2004 and is currently the most popular Linux-based system [36].Pardus is an open-source operating system developed by Ulakbim and Tübitak using the Debian infrastructure.Its distributions have been on the market since 2005 [37].Experimental studies on the simulation have been performed on ROS.Although ROS is perceived as a real operating system, it is actually software based on an operating system and used for robot control [38]- [43].It is possible to test mobile robots in a virtual environment with the turtlesim package installed in the ROS noetic version.The turtlesim package is a visualization tool that allows us to observe the movements of a virtual robot by working on ROS via user codes [38]- [40].ROS rqt plugin for turtlesim was used as a trajectory planning application of multirobot systems [44].Free distribution and usage permissions are given in the license file in the application [45].The turtlesim plug-in in the rqt of [44], a selected picture as a planned path is drawn with the help of swarm robots.In drawing the picture, the number of robots is various according to the size and complexity of the picture [44].In case studies, the computer which has an Intel Atom® N2600 1.6 Ghz processor, 2 GB DDR3 RAM, 500 GB hard disk was used.

EXPERIMENTAL STUDIES
All experimental studies were designed for path planning and formation control of multi-robot system.Official logos of operating systems were used.In all case studies, [44] were used to draw robots's paths.

Experiment 1 draw a path using Pardus logo
In this experiment, Pardus logo was drawn as simple path planning using [44].Pardus GPOS-RTOS and Ubuntu GPOS-RTOS operating systems were used with the same parameters.The results were recorded, and performance comparison was performed.In Figure 1, Pardus official logo and selected paths were shown, separately.The code was run with its default settings without changing and the same shape was drawn in 4 different operating systems.In Figure 2, drawing paths by robots are shown by using turtlesim.Thus, processor usage and processing time on the turtlesim were measured and recorded in the data table.Results were presented in Figure 3, separately.According to results which were shown in Figure 3, central processing unit (CPU) usage is lower and processing time is shorter than other operating systems when Ubuntu GPOS was used.On the other hand, low CPU usage of RTOSs were observed than GPOS versions, in Figure 3, as well.

Experiment 2 draw a path using Ubuntu-Linux logo
In this experiment, Ubuntu-Linux logo was drawn as simple path planning using [44].Pardus GPOS-RTOS and Ubuntu GPOS-RTOS operating systems were used with the same parameters.The results were recorded, and performance comparison was performed.In Figure 4, Ubuntu-Linux official logo and selected paths were shown, separately.The code was run with its default settings without changing and the same shape was drawn in 4 different operating systems.In Figure 5, drawing paths by robots are shown by using turtlesim.Thus, processor usage and processing time on the turtlesim were measured and recorded in the data table.Results were presented in Figure 6, separately.According to results which were shown in Figure 6, CPU usage is lower and processing time is shorter than other operating systems when Ubuntu GPOS was used.On the other hand, low CPU usage of RTOSs were observed than GPOS versions, in Figure 6.Low CPU usage of RTOS was observed in both experiments.We can say that the main reason for this is that the long processes are terminated and the other process is executed, in RTOS.

RESULTS AND DISCUSSION
In experiment 1 and 2, complex trajectory tracking and formation control for multi-robot systems were performed by using [44] on all operating systems.The processing times for each operating system are presented in Table 1.As can be seen from the results in Table 1, in the comparison of RTOS and GPOS, GPOSs give better results than RTOS in processing time.The main reason for this is while drawing a picture in GPOS, when each robot's task is finished during drawing, the operating system reads the value and the process of the next robot begins.But before beginning of the process in RTOS, the beginning and ending times of the process is determined.If the processing time is set as 100 milliseconds for each process, even if robot completes its task before 100 milliseconds, the resources will be available for the other robot at the end of the 100 milliseconds.Although, this situation increases system security and reduces the margin of error, it causes delays in processing times as it extends the processing time.As a result of this application, there are two results that can be observed clearly in the performance evaluation of multi-robots in path planning and formation control.The first one is, GPOSs completed their task earlier than RTOSs in two different operating systems.The second one is, Ubuntu GPOS and RTOS completed processes faster than Pardus with limited resources.At the same time, it has been observed that all operating systems completed their tasks without any problems.

CONCLUSION
In this study, open-source operating systems, Ubuntu and Pardus, were used as operating systems in order to freely modify in the core codes and structure.The main aim of this study is to observe and to compare usability of RTOS and GPOS in multi-robot systems.RTOSs were completed tasks later than the GPOSs as expected.Because, even if the processes were completed, the operating system read the value at the end of the exact processing time determined for the processes.The results vary due to the structural features of the operating systems.When choosing an operating system for the multi-robot applications, features such as possible failure conditions, process security, processing time speeds should be taken into consideration.A defined process is terminated or completed at certain time when a process run on RTOS.This is very important feature, if robot is used in time dependency applications.Since the processing times are clearly defined, that task is canceled in the delay that occurs in a task and the whole system is not affected by an error that occurs and the system remains alive.GPOS and RTOS were compared for path planning and formation control of multi-robot systems using two different Linux distributions.According to the experimental results, it was seen that GPOS concluded all defined task faster than RTOS.GPOS can be preferred in a way that performance is in the foreground in studies to be carried out in the field of multirobotic systems.If the task has time dependency or the task requires certain processing time, RTOSs must be used, absolutely.

Int
Performance analysis of real-time and general-purpose operating systems … (Seçkin Canbaz) 287

Table 1 .
The processing times for each operating system (milliseconds)