1. Introduction
Mobile robots are categorized in both classical and heuristic methods in Coverage Path Planning (CPP). These methods can be divided subcategories such as analytical methods, evolutionary methods, enumerative methods, and meta-heuristic methods [
1]. In real-world applications, these methods are highly dependent on the ability to optimize coverage path planning with minimized obstacles in a dynamic environment [
1]. In mobile robots, Coverage Path Planning (CPP) algorithms have been implemented in many ‘real-world’ applications in dynamic environments; examples include domestic robots, such as cleaning and monitoring robots, automatic lawn mowers, inspection robots, painting robots, and industrial robots [
1,
2,
3]. There are generally two types of motion planning approaches for a cleaning robot. These are (according to the behavior of obstacles) off-line (or static) and on-line (or dynamic) motion planning [
1,
4]. In the case of stationary obstacles, robot routing uses a predefined decision.
Such a use-case motion planning is called offline decision making or static motion planning. When the obstacles are not static (that is, they are moving or dynamic obstacles), motion planning is termed as on-line or dynamic motion planning [
1,
2,
5,
6,
7,
8,
9].
In an investigation by František et al. [
6], the authors address the identification of obstacles and path coverage. The sampling-based method employs metrics, collision checking, heuristics, post processing and local planning, addressing the situations covered with an optimal path to attempt to prevent robot collisions. In a dynamic environment, research by Duchon et al. [
7] has attempted to improve the A* (A-star) algorithms for mobile robot navigation based on a grid map. The research uses heuristics to optimize time, coverage and distance traveled. However, the approach does not address obstacles in a dynamic environment.
Recently, algorithms have been developed using an on-line coverage-based approach, the ‘boustrophedon division’ algorithm, typically the BA* algorithm [
9,
10,
11,
12]. The BA* algorithm performs a search using a backtracking mechanism to ensure that all regions are found, and the workspace of the robot is covered completely. In a known environment, the cleaning robot applies to model a graph-based representation, based on the known environmental information; The BA* algorithm then uses the method of graph traversal for coverage path planning. In an unknown environment, the learning robot employs a sensing system to explore and identify the environment [
9,
10,
11,
12]. The approach uses modeling, and generates a graph based on the identified environmental information in the coverage path planning.
A major approach is the decomposition of the working environment into smaller, simpler, and non-overlapping areas; the robot covers each small area by a primitive motion, such as the ‘boustrophedon’ (or zig-zag) move. The Spiral-STC algorithm proposed by Gabriely & Rimon [
13] divides the map into ‘megacells’, then a spanning tree is generated to connect all ‘megacells’ to provide coverage by following the spanning tree. In multiple tasks, Manuel, et al. have investigated how a robot locally finds the best paths and coverage actions to keep the desired coverage level over the environmental dynamic [
5]. The investigation of a robot proposed an on-line coverage algorithm in grid environments, in order to find an optimal way in simulations [
13]. In machine learning approaches, some studies have been concerned with K-mean clustering [
12], neural networks [
14] and genetic algorithms [
15] for finding the coverage path of a mobile robot. In monitoring industry robot applications [
15,
16,
17,
18,
19], these robots applied the approaches of the cluttered environment with limited onboard energy for robot monitoring [
15] and cleaning robot in the control for coverage path [
16].
These investigations have considered the CPP problem. In this paper, we have addressed two fundamental scientific questions related to mobile robotic systems: (i) how can a robot form a high-level probabilistic representation of an operating space (the environment), and (ii) how can a robot understand and reason about the operating environment. The first issue is related to feature extraction (the obstacles), the second issue can be viewed in terms of special recognition (modeling the operating environment). The paper aims to propose a new approach, which combines robot reasoning (hedge algebra integrated and knowledge reasoning techniques) with the Spiral Spanning Tree Coverage (STC) algorithm for a cleaning and monitoring robot operating in a dynamic environment. This approach is used to apply knowledge inference and hedge algebra with a Spiral STC algorithm to enable autonomous robot control with obstacle avoidance and optimal coverage path planning.
The remainder of this paper is structured as follows: An introduction to the coverage path planning problem is provided in
Section 2. Robot reasoning and applied hedge algebra, the process of robot movement, robot sensing in dynamic environments, and the rules with knowledge-based reasoning, are introduced in this section. The proposed model for CPP is presented in
Section 3 with the path planning processing algorithm. Evaluation is addressed in
Section 4. The experimental results and discussions are proposed in
Section 5. Concluding observations and potential future work are given in
Section 5 as well.
3. The Proposed Model
The proposed Hybrid Spiral Spanning Tree Coverage-Hedge Algebras model in Knowledge Reasonings for Robot Coverage Path Planning is designed to achieve improvements to the Spiral STC algorithm, combined with fuzzy rules in order to find optimal CPP areas. To find an optimal path, avoid obstacles, and maximize coverage, a robot can apply its rules in the knowledge base. The proposed model for Robot Coverage Path Planning is as shown in
Figure 4.
In the proposed model, before releasing the robot in the operating space, the rules and the hedge algebra are programmed into the robot in order to quantify the robot sensing and reasoning in CPP problems. The proposed model consists of five steps: Step 1 creates a matrix for robot knowledge reasonings in order to consider a robot direction based on robot stages. All data sets quantified by hedge algebras, together with reasoning techniques. Step 2 considers an average vector from the robot reasoning matrix, in order to find the best directions. To cover all path planning, Step 3 can be applied as the STC algorithm for the optimal robot coverage path. To use the rules in knowledge-base to find an optimal path while avoiding fixed and moving obstacles, the robot applies forward chaining approach with updated rules to the knowledge base. For the similar conditions in the case study of robot simulations and real robot experiments, the robot applies existing rules with good behaviors in reasonings for coverage path planning.
The rules (in the knowledge-base) are created existent rules, and are updated by experts to find the optimal approach for cleaning. The rules are applied as follows: (i) The robot traverses the operating space, visiting all the nodes, (ii) the robot must complete all the nodes in the operating space, such as obstacle(s), bounded walls, without repeating or overlapping paths (i.e., to enable the identification of the optimal coverage path), (iii) the robot must avoid all obstacles (static and moving objects); (iv) the robot will find the ‘optimal path’ including the uncertainties (a dynamic operating space) with its motion trajectories.
The proposed algorithm is described as follows:
Step 1. Create a matrix for robot knowledge reasonings
Let
} be a set of robot stages (after a robot visited each node in the path) that is used to show robot directions in its knowledge reasoning, where
m is the number of robot stages in an environment
T. To consider robot direction
in an environment
T, its robot stage weight
represented by the
i-th robot direction of the
j-th robot reasoning, considered by the
t-th robot case study in the past (quantified historical data sets in the reasoning robot), where
n is the number of robot directions. A reasoning robot matrix can be constructed as follows:
Note that an initial robot weight is zero value for a robot matrix. As considering hedge algebras discussed in Section B1, it can be quantified to input the reasoning robot matrix. A robot direction can be used in Step 2 using the robot reasoning matrix.
Step 2. Consider a vector average from the reasoning robot matrix.
For each direction of a robot,
n directions of a controlled robot can be represented by the vector as follows:
To calculate the vector, we have a result of the vector as follows:
where
; the output of
V* is the average vector of considered robot directions.
Step 3. Apply STC algorithm for optimal robot coverage path by using Procedure STC(w, x) to create a spanning tree coverage
Procedure. While is a root contained a starting cell, is a main cell. |
|
End of while. |
- 3.
If x ≠ S, go back from x to a sub cell of w in the determined path by the edge from x to w
|
End of Procedure |
Step 4. Use the rules in knowledge-base to find an optimal path while avoiding fixed and moving obstacles
These steps of the proposed algorithm will be completed while the grid lines have been scanned where, |
R = {r1, …, rm}, ri is a production rule ri. IF <Condition> THEN <Action> Temp is an event of a robot that moves it Vet is a production rule which has been used Loc(F, Rule) is a procedure for a set of rules r ∈ Rule, r: left → q such that left ⊆ F
|
{ |
Temp = GT; Vet = 0; |
Obstacle = Loc(Temp,R); |
while ((Obstacle ≠ 0) and (KL ⊄ GT)) do |
r ← Get(Obstacle) // r: left → q |
Vet = Vet ∪ {r}; R = R \ {r}; |
Temp = Temp ∪ {q}; |
Obstacle = Loc(Temp, R); |
end while |
if (KL ⊂ Temp) then |
exit(‘ Robot passed the obstacles’); |
else exit (‘Robot could not be successful’); |
} |
The output of Step 4 shows an optimal path to the robot, using the rules of forward chaining, while avoiding fixed and moving obstacles.
Step 5. To update and manage the rules in the knowledge base
The rules of a set:
where rule
is the production rule implemented to enable the robot to avoid obstacles and dead-end paths, and where:
Note: Repeat Step 1 to 4 until the robot visits the coverage path completely.
4. Experimental Result and Evaluation
4.1. Experimental Results
In our experimental evaluation of the proposed model, we have evaluated a number of path planning case studies in both experimental simulation results and real robot. Our proposed model has been applied to the same conditions and mapping in the range of cell numbering nodes (80–450). In simulation results, we can adjust the numbers of nodes that the robot traveled, and the considered rules when a robot faces moving and static obstacles. The interface of the algorithms has been tested in simulations, as shown in
Figure 5,
Figure 6 and
Figure 7.
Figure 5 shows the beginning of an experimental interface.
Figure 6 shows the robot path visited for the proposed model with static obstacles, where there are no moving obstacles.
Figure 7 shows the robot path visited for the proposed model where there are moving obstacles.
4.2. Experimental Results in a Real Case Study of Robot Coverage Path Planning
We have tested the experiments for a cleaning robot which senses a dirty floor. Considering hedge algebras, we have the hedge algebras as follows:
- (1)
- (2)
- (3)
- (4)
- (5)
In vacuum robot senses, the structure of such algebras can be described in either possibly clean or dirty values T = {clean, dirty, very clean, very dirty, approximately clean, possibly clean, approximately clean or possibly clean, approximately clean and possibly clean, etc.}
Let
= {
,
,…,
} be a set of robot stages that use to show robot directions in its knowledge reasoning, where
m is the number of robot stages in an environment
T, as shown in
Table 1.
For each direction of a robot,
n directions of a controlled robot can be represented by the vector as follows:
Note that V* is the average vector of considered robot directions.
The rules of a robot are in the form in
Rule i as follows:
Table 2 shows a sample of
Rule i satisfy robot actions
.
The real robot in experiments successfully completed the pilot tests for controlling the vacuum robot in CIST Robot laboratory under the same conditions and environments, as shown in
Figure 8 and
Figure 9. We have tested in a case study of a real robot that supports to control the robot which is integrated with its software components of the mechanical device. The robot knows how to clean with its performance in the coverage path. Robot software is embedded to control the autonomous tasks of a robot in its coverage path planning. In dirty floors, the robotic can process automation to allow the robot to achieve significant operational efficiency, using sensors that provide the same range, and are capable of recognizing a free cell, a cell containing an obstacle, or a cell bounded by a wall (possibly on two sides of a cell). As the robot moves perpendicular to the wall, whenever it meets an obstacle and the wall, both sensors should be ON, and this will notify the robot that there is an irregular obstacle. The robot may not move to any cell if the robot is faced with static and moving obstacles.
To consider dirt in the floors, the degree of importance of the function, corresponding to the means of cleaning approaches in Hedge algebras, based on the dirt that is shown in how the robot can start working on the identified and mapped directions, helps the robot to move quickly.
To consider robot directions (moved straightway, left, right, stop, …, etc.), rules considered by experts are obtained from historical data that can be applied in optimal robot path planning. In the case study of experiments, we used 50 rules for considered robots in dynamic environments to avoid complex obstacles.
4.3. Evaluation
To evaluate the overall performance of the proposed model, the performance was compared with the methods such as Mobile robot navigation (MRN) [
4], BA*: An Online Complete Coverage Algorithm for Cleaning Robots (BA*) [
9] and Complete Coverage Path Planning Algorithms based on A* Algorithms (A*-CPP) [
21]. The repetition rate of methods is used to compare the performance of methods. It is indicated that the results in simulations is to consider the robot in traveling overlaps when it has completed a coverage path. Further testing these methods of a robot were evaluated in repetition rate in robot coverage path planning with moving obstacles.
The robot coverage rate percentage can be calculated in Equation (2) [
4]:
where
- ▪
At is the total nodes of the environment
- ▪
Ao is the total area of the obstacles and Ap is the total area covered by the robot’s path.
4.3.1. A Comparison of the Repetition Rate for Evaluation of the Methods
In testing of robots in dynamic environments, the robot visits multiple-static obstacles in complex situations such as regular, irregular, multiple regular, and multiple irregular obstacles. Note that a regular obstacle can be defined a common object in frequently appeared basic obstacles. The testing experiment was in the range between 80–150 nodes (cells), with the performance of the robot coverage path about 90–100%. In the experimental results, the repetition rate for the proposed approach is lower than those of the MRN, BA* and A*-CPP methods, with respect to simple regular and irregular obstacle environments, as depicted in
Table 3.
As shown in
Table 3, the repetition rate of the proposed model is lower than achieved for the MNR, BA* and A*-CPP methods in regular obstacles, irregular obstacles, multiple obstacles and multiple irregular obstacles.
To do a similar scenario in the simulation experiment, a real robot was applied in the complex obstacles during the coverage path planning process. The complete CPP performance for the methods in terms of the repetition rate in the real robot are as follows: Regular obstacles, irregular obstacles, multiple obstacles, and multiple irregular obstacles, as depicted in
Table 4.
As shown in
Table 4, experimental results of the real robot show that our proposed model achieves the highest coverage rate with a low repetition rate when compared to the MNR, BA* and A*-CPP methods evaluated. The proposed model has achieved complete coverage of the environmental area (the operational space) with a low repetitive coverage rate.
4.3.2. Comparison of Repetition Rate and Duration in Robot Coverage Path Planning with Moving Obstacles
In the experimental testing, we compared the proposed model with the other latest methods considered, these methods were: MNR, BA* and A*-CPP methods. The evaluation compared, when a robot faces with moving obstacles: (i) The duration, awareness, and ability [of the robot] to cover both static and dynamic environments, and (ii) the repetition rate where a robot faces obstacles in uncertain and dynamic operating environments. The tests evaluated in the operating environment with moving obstacles, which are randomly running in simulations. The experiments are done with the numbers of nodes (cells) in the range (200–550), the average results derived from the experiments are shown in
Figure 10.
From
Figure 10 it may be seen that in terms of the duration times and repetition rate (for a robot to traverse an operating environment effectively the search space), our proposed model outperforms lower than those of the MNR, BA* and A*-CPP methods.
Further testing simulations for a robot faced with moving obstacles, of these methods in terms of the repetition rate of a robot (100–250 nodes), together with static obstacles are as follows: Regular obstacles, irregular obstacles, multiple obstacles, and multiple irregular obstacles.
Table 5 demonstrates the reduction in duration time (in seconds) achieved using our proposed model over the alternative methods for all types of operating environment and obstacle type.
Table 6 shows that the repetition rate (a robot to traverse an operating environment—effectively the search space) for our proposed model under all operating environments, massively outperforms the alternative methods considered; this is evidenced by the ability of the proposed method to achieve complete coverage of the operational environment with a very low repetitive coverage rate in the range 2% to 7%.
4.3.3. Result Discussions
The experimental results evaluated in the operating environment with static/moving obstacles which are randomly running in simulations. The experiments of the proposed model are done with the numbers of nodes (cells) in the range of (80–550).
The average results derived from the experiments of the proposed model with the number of nodes in the range of 80 to 200 reaches a 90–100% coverage path rate with static obstacles. When the number of nodes increased from 200 to 550, the robot coverage path rate was about 90–98%. The rules considered in the knowledge base can be influenced with a coverage rate about 100%, however, the repetition rate can be increased. To address the problems, the weights of these rules should be considered to be matching the rules of a robot with its various situations in regular, irregular, multiple regular, and multiple irregular obstacles while running the simulations. In further testing results, a repetition rate of the proposed model in the experiment is about 2% with regular, 4% with irregular, multiple regular, and 7% with multiple irregular obstacles. Knowledge of experts has a significant role of enhancing the rule quality, which updates the knowledge base. It can reduce the repetition rate, while experts update the matched rules in the knowledge base. It is possible to optimize the cover path, repetition rate and running time, mostly based on the rules considered. We can create an objective function to adjust suitable parameters influenced by the robot cover path, repetition rate and running time.
5. Concluding Observations
In this paper, we have presented a new robot control method to enable a cleaning robot to traverse an operating space characterized by both static and dynamic obstacles. The proposed approach has been shown to be capable of moving around static and dynamic operating spaces effectively and efficiently.
In conclusion, our proposed model provides for the shortest duration (operational environment traverse time) with the lowest repetition rate (the duplication of cells within the operational environment). The experimental results indicate that the effectiveness of the proposed model in terms of the repetition and time traveled in uncertain environments (moving obstacles and static obstacles).
Further investigations in the future work extend the rule-based in pattern learning approaches, combined with rules considered from experts to address complex situations in moving obstacles when the robot visits an optimal coverage path.