SYSTEM AND METHOD OF REPLANNING FOR COVERAGE OF ENVIRONMENTS WITH UNKNOWN OBSTACLES
A system and method to replan coverage paths for a robot operating in an environment with initially unknown static obstacles. Existing coverage approaches reduce coverage time by covering along the minimum number of coverage lines (straight-line paths). However, recomputing such paths online can be computationally expensive resulting in robot stoppages that increase coverage time. An alternative is greedy detour replanning, i.e., replanning with minimum deviation from the initial path, which is efficient to compute but may result in unnecessary detours. In this work, an anytime coverage replanning approach named OARP-Replan is proposed that performs near-optimal replans to an interrupted coverage path within a given time budget. This is accomplished by solving linear relaxations of mixed-integer linear programs (MILPs) to identify sections of the interrupted path that can be optimally replanned within the time budget.
This application claims priority to and the benefit of U.S. Provisional Patent Application Ser. No. 63/487,622, entitled “SYSTEM AND METHOD OF REPLANNING FOR COVERAGE OF ENVIRONMENTS WITH UNKNOWN OBSTACLES” filed on Mar. 1, 2023, and U.S. Provisional Patent Application Ser. No. 63/602,426, entitled “SYSTEM AND METHOD OF REPLANNING FOR COVERAGE OF ENVIRONMENTS WITH UNKNOWN OBSTACLES” filed on Nov. 23, 2023, the disclosure of which is incorporated herein by reference in its entirety.
BACKGROUNDThe embodiments described herein relate to semi-autonomous cleaning devices, in particular to a system and method for a mapping and localization framework for a semi-autonomous cleaning device.
Autonomous and semi-autonomous cleaning device or cleaning robot can move about a surface in an environment. Examples of the autonomous mobile robots include cleaning robots that autonomously perform cleaning tasks within an environment (e.g., a home, a shopping mall, an airport). Many kinds of cleaning robots are autonomous to some degree and in different ways. A cleaning robot can include a controller configured to autonomously navigate the robot about an environment such that the robot can ingest debris as it moves.
Coverage planning problems show up in many real-world applications such as cleaning, manufacturing, and agriculture. Informally, the coverage planning problem is to find a path that has the robot covering its entire environment with an onboard sensor or tool and minimizes a cost function. In this disclosure, the goal is to tackle the problem of replanning optimal coverage paths that have been interrupted by previously unknown static obstacles. This is known as the coverage replanning problem. This problem arises when businesses such as retail stores and warehouses change their environments frequently to accommodate new products and remapping beforehand each time would be too costly.
One approach to coverage replanning is to stop executing the current coverage path and plan a new path for the uncovered environment with the new obstacle(s). However, coverage planning is a difficult problem and this approach does not scale well for large environments with many unknown obstacles. Moreover, an obstacle may only affect a small section of the path (i.e., the unbroken parts of the path may still be drivable and near-optimal).
An alternate approach is to only replan the affected section(s) of the path (i.e., local replanning) while keeping the rest of the path intact. A simple example of local replanning would be where the robot simply drives around the obstacle whenever a collision is imminent. However, a more practical approach would be to use the time while driving towards the blockage to find more optimal solutions.
SUMMARYA system and method to replan coverage paths for a robot operating in an environment with initially unknown static obstacles. Existing coverage approaches reduce coverage time by covering along the minimum number of coverage lines (straight-line paths). However, recomputing such paths online can be computationally expensive resulting in robot stoppages that increase coverage time. An alternative is greedy detour replanning, i.e., replanning with minimum deviation from the initial path, which is efficient to compute but may result in unnecessary detours. In this work, an anytime coverage replanning approach named OARP-Replan is proposed that performs near-optimal replans to an interrupted coverage path within a given time budget. This is accomplished by solving linear relaxations of mixed-integer linear programs (MILPs) to identify sections of the interrupted path that can be optimally replanned within the time budget. This approach is validated in simulation using maps of real-world environments and compared against a greedy detour replanner and other state-of-the-art approaches.
According to this disclosure, an anytime coverage replanner that utilizes the time spent driving to conduct near-optimal replans on the provided coverage paths is disclosed.
According to previous disclosures, an Optimal Axis-Parallel Rank Partitioning (OARP) approach to plan coverage paths that minimizes the number of turns in the solution is disclosed. Minimizing turns is motivated by path quality and optimality as robots can have decreased performance while turning (speed and coverage).
According to the disclosure, OARP solves this using the following three-step framework:
-
- i) decomposing the environment into grid cells,
- ii) using the decomposition to compute the minimum number of axis-parallel (horizontal and vertical) ranks, i.e. long rectangles that match the width of the robot's coverage tool while covering along a straight-line path, and
- iii) finding an optimal tour of the ranks to obtain the coverage path.
According to the disclosure, the OARP concept is extended to provide a coverage replanning approach, namely OARP-Replan, that replans coverage paths. The following contributions have been added:
-
- 1. a) a Mixed-Integer Program (MILP) that replans the ranks of a coverage path such that a tour of the ranks (i.e. a coverage path) can be replanned within a time budget.
- 1. b) leverage LP relaxations of this MILP to replan ranks in polynomial time (efficient to compute).
- 2. present a second MILP that reduces the number of decision variables, and therefore replans the coverage ranks faster than the first MILP.
- 3. provide an anytime coverage replanning method named OARP-Replan that leverages the above MILPs to conduct near-optimal replans to the coverage path within a given time budget.
- 4. conduct simulations using maps of real-world environments that show that our proposed approach achieves better coverage performance than other state-of-the-art approaches, including an offline approach (obstacles are known).
Consider a 2D non-convex environment with known obstacles, where W⊆R2 is a closed and bounded set that represents all free points within the environment. Now consider a robot with a state composed of its position x∈W and a heading θ∈[0, 2π) radians. The robot is carrying a coverage tool with a footprint given by A⊆R2. Assume that the coverage tool is a square of width I>0. Let A(x, θ)⊆W represent the placement of the tool with respect to the robot's state. In reality, a square tool may only be able to cover a subset of the environment {tilde over (W)}⊆W. However, for simplicity of notation, assume that {tilde over (W)}=W. Now formally define the coverage planning problem (CPP) of interest as follows.
Problem 1 (Coverage Planning Problem (CPP):Given a 2D environment W and a robot carrying a coverage tool of footprint A, plan a path P from the set P of all possible paths which solves the following equations where J(P) is the cost of the path P.
According to the disclosure, the path cost J(P) to be the time for the robot to cover the given environment along P.
Optimal Axis-Parallel Rank Partitioning (OARP)According to the disclosure, the focus of the Optimal Axis-Parallel Rank Partitioning (OARP) approach is to plan optimal coverage paths in which the coverage tool moves only in axis-parallel directions (horizontal and vertical) during coverage. The OARP approach uses a three-step framework to plan coverage paths:
-
- (i) decompose the environment W into an Integral Orthogonal Polygon (IOP), which is a set of square grid cells of size I,
- (ii) place the minimum number of axis-parallel (horizontal or vertical) ranks (straight-line paths) to cover the IOP, and
- (iii) compute a tour of the ranks to construct the coverage path.
To place the minimum number of ranks in the IOP, OARP solves a linear program (LP) to compute the coverage orientation of each cell in the IOP. Once the ranks are obtained, a tour of the ranks is computed by solving a Generalized Travelling Salesman Problem (GTSP) that minimizes the cost of transitioning (driving) between ranks.
The resulting coverage path is represented as a series of ranks connected by cost-minimizing transition paths, which are collision-free dynamically feasible paths to traverse between ranks. Note that, unlike ranks, transition paths do not have to be axis-parallel.
Coverage Replanning ProblemConsider the case where the robot is trying to follow its initial coverage path P but it observes a set O of previously unknown obstacles. In other words, the actual environment is
Suppose, at position xi, the robot detects a new obstacle interrupting the path. Let t be the time in which the robot would reach the obstacle along its current path from xi. While the robot might be able to continue along P for time τ, the subsequent path must be replanned. One solution is to solve the full CPP for the new environment
Let Pr be the remaining path after the first interruption by the obstacle. Let Wr⊆W be the area covered by Pr, where O⊆Wr. The replanning problem is to plan a new coverage path P′r before τ such that it covers the same areas as Pr without colliding into O.
Problem 2 (Coverage Replanning Problem (CRP)Given a path P covering W, a set of newly observed obstacles O, a time τ until the first such obstacle is encountered along P, the remaining path Pr after the first encounter, and the area Wr covered by Pr, find a new coverage path P′r within time t which solves
CRP is similar to CPP when t is infinite and P=Pr. However, for a finite τ, CRP must find a trade-off between minimizing coverage cost and ensuring a path is computed within τ. The larger the τ value, the closer the coverage cost is to the optimal path (CPP solution).
Rank-Based Coverage ReplanningCPP is NP-Hard, which indicates that CRP is intractable. Therefore, one looks for relaxations of Problem 2 that are more solvable. A common approach is to solve this problem in stages. While this may remove some optimal solutions in the search space, it reduces the complexity of the problem and makes it tractable.
According to this disclosure, the focus is on replanning initial coverage paths that are represented as a series of axis-parallel (horizontal/vertical) ranks covering an IOP decomposition of our initial environment (e.g., paths generated by OARP). With this setup, Problem 2 is shown in two stages: (i) rank replanning, and (ii) touring.
In the rank replanning stage, the minimum number of axis-parallel ranks is computed to cover the IOP of the remaining region Wr\O. In the touring stage, the replanned path P′r is obtained by computing a tour of the ranks that minimizes the cost of transitioning between the ranks.
Problem 3 (Rank-Based Coverage Replanning)Given a set of newly observed obstacles O that interrupts the remainder Pr of the coverage path P, and a time budget t before the robot's first encounter with an obstacle in O, compute the following within time τ:
-
- (i) a minimum set of ranks that covers the IOP representation of the uncovered free region Wr \O and
- (ii) a tour of the ranks that minimize the total cost of transition between ranks.
According to the disclosure, one objective is to solve rank replanning efficiently so that the majority of the time budget is available for the touring stage, which is formulated as a Generalized Travelling Salesman Problem (GTSP), an NP-hard problem. However, the rank replanning output affects the GTSP input size, and in turn, the runtime. Therefore, the rank replanning stage was designed such that the tour of the replanned ranks can be computed within the time budget τ.
To better understand this coupling, consider the example coverage path shown in
To reduce the computational complexity of the touring step, sections of the initial path to cover unchanged ranks are reused. This allows us to spend the time budget on connecting new ranks to the unchanged path sections. As a result, the GTSP problem size is driven by the number of new ranks.
According to
Let m be the number of total ranks in the replanned solution and mnew≤m be the number of new ranks. The GTSP input size is dependent on mnew and the estimated GTSP runtime would be a monotonically increasing function {circumflex over (T)}(mnew). Therefore, given a time budget τ, bound mnew such that Î(mnew)≤τ. In other words, a larger t allows us to change more ranks (mnew) so that can minimize the total number of ranks (m). To compute this bound, one first determines {circumflex over (T)} using data collected from previous GTSP runs. Set {dot over (m)}={circumflex over (T)}−1 (τ) as the maximum GTSP instance size, where {circumflex over (T)}−1 is the inverse of {circumflex over (T)}. Thus, the following constraint was added in rank replanning to ensure that the touring stage finishes within time τ:
A high-level algorithm of the proposed approach, namely OARP-Replan, for which the pseudocode is given in Algorithm 1.
The latter method is referred to as the greedy detour (GD) replan, which can be performed using a local planner with little to no computational time and thus no robot stoppage. GD replan is proposed as a fallback method in the case where the main planner does not have enough time to replan the path.
According to the disclosure,
To evaluate if the path after encounter i can be replanned, the planner runs a sub-routine named RANK-REPLAN to get a set of replanned ranks for which a tour can be computed in time τi (Line 7). If RANK-REPLAN returns a set of replanned ranks, compute a tour of the ranks using another sub-routine called TOUR-REPLAN (Line 9) that solves the GTSP to obtain our replanned path. This sub-routine runs as a background process while the robot continues to follow the current coverage path. However, if RANK-REPLAN returns an empty set, then this indicates that there is no solution that will finish within the expected time budget. In that case, GD replan is used to replan encounter i (Line 12), and the procedure is repeated for the next encounter. In the end, a replanned path is obtained where some (or all) encounters are replanned using GD replan, while the remaining path undergoes a near-optimal replan before the robot reaches the corresponding encounter.
According to the disclosure, OARP-Replan is executed using the path that the robot is currently executing (i.e. if a new obstacle is detected before P′ is returned), a new replan of P is started.
The Base MILPAccording to the disclosure, the RANK-REPLAN subroutine minimizes the number of replanned ranks while constraining the number of new ranks within a budget {dot over (m)}. The mixed-integer linear program (MILP) from the OARP is further elaborated upon.
Consider an integral orthogonal polygon (IOP) containing grid cells representing the input environment, where each cell ci for 1≤i≤n is of size I×I (I is the tool width). The goal of the MILP is to assign a coverage orientation (horizontal or vertical) for each cell ci such that the number of ranks covering the cells is minimized. Ranks are obtained by merging similarly-oriented neighboring grid cells. To this end, variables are introduced to represent cell orientations and count the resulting ranks after all merges are complete.
Let xHi and xVi be binary variables that denote whether cell ci is oriented horizontally or vertically (cannot be both).
Let xH, xV, yL, yR, yT, yB be n-dimensional binary vectors of the corresponding variables for all grid cells. Let
be the vectors of all horizontal rank and vertical rank endpoints respectively, where
WH,yV∈{0,1}2n,
Since each rank has exactly two endpoints, the number of coverage ranks m is given by half the sum of all rank endpoints:
where 1 is the column vector of ones. This constitutes the objective of the optimization problem.
To formulate the MILP constraints, one must encode the relationship between the orientations (x variables) and endpoints (y variables). Following from our previous work, directed graphs were used in the IOP to detect whether a neighboring cell can be merged. Let GL and GR be directed graphs composed of all horizontal path flows for each grid cell from its left and right neighbors respectively. For cells at the IOP border, artificial nodes called border identifiers were added to simulate path flow into those cells. Similarly, let GT and GB be the graphs composed of all vertical path flows for each grid cell from its top and bottom neighbors respectively. From these graphs, let AL, AR, AT, and AB be matrices representing the corresponding graphs, where each row of a matrix signifies a directed edge in the graph, with a −1 for a source grid cell (outgoing edge), a +1 for a sink grid cell (incoming edge), and Os otherwise. These matrices resemble the node-arc incidence (NAI) matrices for the graphs GL, GR, GT, and GB.
A rank minimization MILP is proposed, namely MILP-0, that will extend in the rest of this section:
In this MILP, equations 8 and 9 ensure that, for an optimal solution of MILP-0, vectors yH and yV correspond to the endpoints of the optimal number of ranks covering the IOP. Equation 10 ensures that each cell is only assigned one orientation (can be either horizontal or vertical).
Constraining New RanksAccording to the disclosure, a means to constrain the number of new ranks mnew to be within the rank budget m is considered. To compute mnew, identify the new ranks in the replanned solution by comparing them with the ranks from the initial path. This comparison requires an encoding of ranks using the MILP variables. To this end, an encoding based on perfect matching is proposed that matches the endpoints for each rank in the MILP solution. The new ranks are therefore the difference between the old and new endpoint matchings.
To simplify the explanation of the encoding, the horizontal case is first discussed and the same ideas are simply extended to the vertical case. Consider a horizontal row of connected (unobstructed) grid cells in the IOP as depicted in
Now, consider the case where the row contains a horizontal rank with a left endpoint at a cell ci. This indicates that the rank either (i) covers cells to the right of ci or, (ii) covers only ci. In both cases, it is observed that there must exist a cell to the right of ci (including cc) that is the right endpoint of this rank. Rank is identified by matching its left and right endpoints.
Variables that represent directed edges are added between ci and every cell cr to its right if formulated, as any of them could be a right endpoint. Also, edge is added from ci to itself to account for a single-cell rank. For each edge between ci and a cell cr, add a binary variable zir∈{0, 1} that takes a value of 1 if the edge is included in the matching (i.e. cr is a right endpoint). To ensure that ci and cr are matched only if they are left and right endpoints respectively, the following constraints was enforced:
Assume that zir=0 (see
If zir=1, then yLi and yR
Following Lemma 1, a way of representing a horizontal rank as a matching of its endpoints is shown. Each horizontal row of connected grid cells in the given IOP is extracted the following constraints for each cell c; in the row:
The setup to represent vertical ranks as a matching of its endpoints in a vertical row of connected grid cells is extended. For each cell ci in the vertical row, the following constraints were added:
Now, let z−ij be an input to the MILP such that z−ij is 1 if the initial path contains a rank with cells ci and cj as endpoints and 0 otherwise. From Lemma 1, if the MILP solution has a rank with ci and cj as endpoints (zij=1), then it is a new rank if z−ij=0. Using this relation for all pairs of cells ci and cj with matching edges, compute mnew as follows:
An extended MILP is proposed, namely MILP-1, that minimizes the number of ranks in the replanned solution while constraining the number of new ranks to be within a budget
MILP-1 is shown to solve the rank replanning stage (Problem 3(i)) optimally, i.e. the solution (i) minimizes the number of ranks m, (ii) subject to the constraint that mnew≤
According to the disclosure, the formulated MILP-1 solves the rank replanning step optimally. However, one drawback of MILP-1 is that it adds a large number of decision variables (O(n2)), which affects the runtime of the MILP. Another MILP extension, namely MILP-2, that uses fewer decision variables, which can be more successfully used for large environments. Instead of matching rank endpoints, count new ranks by identifying changes to the rank endpoints from a previous solution.
The horizontal ranks to present our approach was analyzed and extend the same approach to vertical ranks. Consider a binary vector y−H∈{0,1}2n that indicates if a cell was a horizontal (left or right) endpoint for a rank in the initial path. The vector is taken as an input to the MILP. Vectors yH and y−H was compared to identify rank endpoint changes. Specifically, look to identify two types of changes: (i) an added endpoint and (ii) an extended endpoint.
An added endpoint represents an endpoint in yH but not in y−H. This helps count the first four of the five possible rank changes illustrated in
However, in the case of a merged rank (
The following piece-wise equation for cell ci to capture this relationship is considered:
Now, let βH be a vector of binary variables that represents whether each cell is an extended horizontal endpoint. This is used to compute a value βH that counts the number of extended horizontal endpoints as follows:
where the º operator is the element-wise product of two vectors. To extend these concepts to the vertical case. Let y−V be a binary vector indicating whether a cell was a vertical endpoint for a rank in the initial path. The total number of added endpoints α and extended endpoints β is then obtained as follows:
One now looks to bound the number of new ranks mnew using α and β, to exploit the following property.
Lemma 2Consider a and B to be the number of added and extended endpoints respectively for a set of replanned ranks. Then the number of new ranks mnew in the set is bounded as follows:
By considering all possible changes to the ranks as illustrated in
A second MILP extension using the result from Lemma 2. Following Proposition 1, an additional term ∈(α+β/2) was added to the objective function, where ∈=1/({dot over (m)}+1), to compute a solution with the smallest mnew without dominating the minimization of m. The resulting MILP is as follows:
If feasible, solving MILP-2 guarantees a solution where mnew≤{dot over (m)}. Moreover, MILP-2 has O(n) decision variables, and expect MILP-2 to run faster than MILP-1. Remark 1 is also applicable for this MILP, one solves the linear relaxation to obtain integral solutions. However, since there are negative terms involving yH and yV (Eqs. (30), (31)), an additional constraint must be added to the linear relaxation to ensure that the problem is bounded:
yH,yV≤1.
According to the disclosure, an approach to compute a tour of the replanned ranks to obtain our new coverage path is disclosed. A Generalized Travelling Salesman Problem (GTSP) on an auxiliary graph representing all path connections is disclosed. Each set in the graph represents a rank and consists of two vertices representing the directions in which the rank can be traversed. These sets are known as rank sets. The graph edges are the transition costs between the vertices, which depend on the robot's dynamics and design. Assume robot dynamics where (i) the robot traverses a straight line with piecewise constant acceleration with a maximum velocity and (ii) the robot stops and turns in place with a constant angular velocity.
However, the disclosure looks to address two additional challenges in the tour replan. Firstly, to limit the size of the GTSP instance by considering only the interrupted sections of the initial path.
According to the disclosure,
According to the disclosure,
The second challenge is to take into account the position of the robot and the desired end of the tour. To address this, artificial start and end vertices were added to the GTSP graph, as in
The robot covering partially known environments was simulated; the base environment is known but there are unknown obstacles that the robot discovers during coverage. Initial coverage paths were planned for the base environments using the OARP method and replanning the path as new obstacles were detected.
A dataset of 7 real-world 2D maps were obtained from Avidbots as our base environments, with their minimum coverage path lengths ranging from 145 m to 1900 m. Randomly generated obstacles were added with varying sizes and orientations to create a set of unknown environments. Specifically, two datasets of unknown environments were created: (i) fixed clutter dataset where the new obstacles occupy 10% of the base map's free area for all maps, and (ii) varying clutter dataset where starting with a candidate base environment, unknown environments were generated by varying the % area occupied by new obstacles.
For the varying clutter dataset, the base environment was chosen to be the one used in
To determine our rank replanning budget {dot over (m)}, one estimate the runtime {circumflex over (T)} (m) needed to compute a tour for m ranks. This runtime includes (i) the estimated time to compute transition paths {circumflex over (T)}trans(m), and (ii) the estimated time to solve the GTSP {circumflex over (T)}GTSP(m). Transition path computation is included as it is a time-intensive process, especially for large maps. Formally,
Data is collected from previous coverage planning runs to estimate each function. To estimate {circumflex over (T)}GTSP by fitting a cubic polynomial through the data as shown in
The inverse of {circumflex over (T)}(m) to compute the replanning budget, i.e.
The total coverage cost (drive time+stop time) of the two proposed OARP-Replan approaches was compared against two other replanning approaches: (i) GD replan, which resembles the practical case of following a turn-minimizing coverage path with a local planner; and (ii) the OARP approach as proposed in [6]. OARP is an offline planner, was modified and used online for replanning. The online approach as OARP-Original which is implemented as follows: (i) ranks are replanned by solving the linear relaxation of MILP-O from Section V (identical to the MILP in), and (ii) the tour of the resulting ranks is computed by solving the GTSP as formulated.
The results from the fixed clutter dataset was reviewed. For each base environment, 5 trials were run where each trial was generated with a new random set of obstacles occupying 10% of the free space in the environment.
According to the disclosure, both OARP-Replan approaches result in faster coverage relative to GD replan, with an average improvement of about 13% across all maps. To visualize this improvement, one shows an example map with three unknown obstacles in
Using OARP-Replan-2, similar improvements were observed in the replanned path for this example. Since the tour of the replanned ranks is computed with little to no stoppage, the replanning time does not affect the total coverage cost.
When comparing with OARP-Original, both OARP-Replan approaches achieve faster coverage, with the gap increasing as initial paths get longer (larger maps). This is because MILP-0 does not limit the change to the coverage path, leading to longer replanning times and resulting robot stoppages (diagram 1104 of
Similar experiments were conducted using the variable clutter dataset, where 5 trials were run for each clutter level.
The average runtimes of the rank replanning MILPs for both OARP-Replan approaches are compared. In solving the MILP efficiently, one looks to allow more time for solving the GTSP to compute a tour. The MILP from OARP-Original is excluded from this comparison as it does not constrain the GTSP input size.
For the varying clutter dataset, the average runtimes of both MILPs are comparable, with MILP-1 performing better overall. Increasing clutter seems to slightly change both MILPs' runtimes, and as such, observed no drastic runtime difference as with the fixed clutter dataset.
Comparison Against BCDIn addition to the above comparisons, the proposed OARP-Replan (i.e. OARP-Replan-1) approach was compared against the Boustrophedon Cell Decomposition (BCD) method. For this comparison, the dataset from the BCD consists of around 300 scans of environments with varying numbers of obstacles or holes. The outer boundary of each map is a square, which is then filled with the obstacles observed in the scans. The maps are arranged in the order of increasing complexity, which is given by the number of hole vertices (e.g., one square hole consists of 4 vertices). To perform this comparison, similar robot parameters were used as a tool width of 3 m, maximum velocity of 3 m/s, linear acceleration of ±1 m/s2, and turn-in-place dynamics with an angular velocity of 30°/s.
BCD is an offline planning method, which requires prior information about the obstacles in the environment. While there are online variations of BCD, such as BA*, the BCD approach as proposed in the Bahnemann et al paper (“Revisiting Boustrophedon Coverage Path Planning as a Generalized Traveling Salesman Problem”) which aims to minimize turns and is therefore chosen as our baseline.
For this comparison, all obstacle information to the offline BCD planner is provided, while providing no information to OARP-Replan. OARP-Replan must therefore replan an initial path covering the unobstructed base environment (a simple square) whenever the robot detects obstacles. The results of using the offline OARP planner from were added, as it represents OARP-Replan when provided with all obstacle information and unlimited solver time. For clarity, two offline approaches as BCD-Offline and OARP-Offline.
According to
According to this disclosure, a case study of a Turtlebot 3 replanning coverage paths in a ROS simulation using GD replan and OARP-Replan (i.e. OARP-Replan-1) is provided. This is to demonstrate the real-world applicability of our replanning approach. In an anonymized environment as shown in
According to the disclosure, robot parameters from Table I for this simulation with some changes to use the default Turtlebot controller in ROS: set maximum velocity to 0.3 m/s and linear acceleration to 1 m/s2. With these parameters, OARP-Replan covered the environment 16.5% faster than GD replan along a path that was 12.2% shorter. This difference is mainly due to the reduction in long detours where the robot travels around obstacles many times.
ObservationsAccording to the disclosure, an anytime coverage replanning approach called OARP-Replan to replan coverage paths for environments with unknown static obstacles is proposed. OARP-Replan solves this problem in two stages: (i) rank replanning, and (ii) touring. The first stage replans the ranks (straight-line paths) of an obstructed coverage path, while the second stage computes a tour of the replanned ranks to obtain the new path. Two mixed-integer linear programs (MILPs) are proposed where each solve the rank replanning stage so that the resulting touring stage is completed within a time budget τ.
Simulations on maps of real-world environments showed that the OARP-Replan variants using each MILP achieve better coverage performance than both a greedy replanner and a state-of-the-art coverage planner modified for online replanning. Moreover, OARP-Replan is compared with an offline approach (treating all obstacles as known) where a 19% improvement in coverage cost is observed.
According to further embodiments, this approach may be extended to address dynamic obstacles. This would involve detecting areas that could be free at a later time and coming back to cover them without long detours. Another future direction involves replanning proactively using predictions about environment occupancy to balance coverage and exploration, which can be competing objectives. Removing the axis-parallel constraint and allowing multiple directions of coverage may also improve coverage paths for non-orthogonal environments.
According to
According to
According to
According to
According to the disclosure, a system for coverage re-planning of an environment with unknown obstacles for a semi-autonomous cleaning apparatus is disclosed. The system comprises a processor, one or more LIDAR sensor or cameras configured for obstacle detection, one or more motors or actuators configured for movement of the cleaning apparatus, and a cleaning apparatus navigation software module. The cleaning apparatus navigation software module further comprising a coverage planner module, a local planner module, a local controller module and a coverage replanner module. The navigation software modules are configured to receive a cleaning plan and compute a executable coverage paths and the navigation software modules are configured to provide feedback to create coverage paths and replanned coverage paths.
According to the disclosure, the coverage planner module of the system is configured to convert cleaning path plant to sectors or straight-line paths, avoid known obstacles and uses connection planner to connect sectors and compute a coverage path. The local planner module of the system splits the coverage path to executable path for the local controller and makes small changes to the path to go around detected obstacles. If larger changes to path are required a request is sent to conduct a coverage replan.
According to the disclosure, the local controller module of the system is configured to move the apparatus to cover the environment along the executable paths and if new obstacles are detected, ask the local replanner for a new path. The local controller module is further configured to provide feedback of the executable path progress and completion and report whether the robot is stuck.
According to the disclosure, the coverage replanner module of the system is configured to receive information about new obstacles from the local planner and the time to reach the obstacles and optimally replans the remainder of the coverage path given the available time. The coverage replanner module of the system further provides feedback to the local planner by providing info on coverage plan progress, new obstacles and time along current path to reach new obstacles.
According to the disclosure, the LIDAR sensor and cameras of the system are provided to input data to the local planner module. The local controller module of the system executes the executable paths by moving the apparatus by actuating motors and actuators.
According to the disclosure, an OARP-Replan coverage replanning method is used to perform replanning by solving linear relaxations of mixed-integer linear programs (MILPs) to identify sections of the interrupted path that can be optimally replanned within the time budget. The coverage replanner module utilizes the time spent driving to conduct near-optimal replans on the provided coverage paths.
According to the disclosure, an Optimal Axis-Parallel Rank Partitioning (OARP) approach is used to plan coverage paths is used whereby the OARP approach minimizes the number of turns.
According to the disclosure, a computer-implemented method for a semi-autonomous cleaning apparatus comprising a processor, hardware and navigation software, the cleaning apparatus configured for coverage re-planning of an environment with unknown obstacles. The method comprising the steps of receiving a cleaning plan for an environment, sending the cleaning plan to a coverage planner module of the navigation software, the coverage planner module configured to compute a coverage path, sending the computed coverage path to a local planner module and a coverage replanner module, the local planner module configured to split the coverage plan into one or more executable paths and the coverage replanner module configured for replanning the coverage path and sending the executable paths to the local planner module, the local planner module configured to send instructions to move the apparatus along the executable path. The navigation software modules are configured to provide feedback to create coverage paths and replanned coverage paths.
According to the disclosure, the coverage planner module of the method is configured to convert cleaning path plant to sectors or straight-line paths, avoid known obstacles and uses connection planner to connect sectors and compute a coverage path. The local planner module of the method splits coverage path to executable path for the local controller and makes small changes to the path to go around detected obstacles.
According to the disclosure, if larger changes to path are required a request is sent to conduct a coverage replan. The local controller module of the method is configured to move the apparatus to cover the environment along the executable paths and if new obstacles are detected, ask the local replanner for a new path.
According to the disclosure, the local controller module of the method is further configured to provide feedback of the executable path progress and completion and report whether the robot is stuck. The coverage replanner module of the method is configured to receive information about new obstacles from the local planner and the time to reach the obstacles and optimally replans the remainder of the coverage path given the available time.
According to the disclosure, the coverage replanner module of the method further provides feedback to the local planner by providing info on coverage plan progress, new obstacles and time along current path to reach new obstacles. The LIDAR sensor and camera of the method s provide input data to local planner.
According to the disclosure, the local controller module of the method executes the executable paths by moving the apparatus by actuating motors and actuators. The OARP-Replan coverage replanning method is used to perform replanning by solving linear relaxations of mixed-integer linear programs (MILPs) to identify sections of the interrupted path that can be optimally replanned within the time budget.
According to the disclosure, the coverage replanner module of the method utilizes the time spent driving to conduct near-optimal replans on the provided coverage paths. Furthermore an Optimal Axis-Parallel Rank Partitioning (OARP) approach to plan coverage paths is used on the method whereby the OARP approach minimizes the number of turns. Minimizing turns is motivated by path quality and optimality as robots can have decreased performance while turning (speed and coverage).
According to the disclosure, a computer-implemented method for a semi-autonomous cleaning apparatus comprising a processor, hardware and navigation software, the cleaning apparatus configured for coverage re-planning of an environment with unknown obstacles by solving an Optimal Axis-Parallel Rank Partitioning (OARP) approach. The method further comprises the steps of decomposing the environment into grid cells, using the decomposition to compute the minimum number of axis-parallel ranks and finding an optimal tour of the ranks to obtain the coverage path.
According to the disclosure, the axis-parallel ranks of the method further comprising horizontal and vertical ranks. The axis-parallel ranks of the method further comprising long rectangles that match the width of the robot's coverage tool while covering along a straight-line path.
The methods disclosed herein comprise one or more steps or actions for achieving the described method. The method steps and/or actions may be interchanged with one another without departing from the scope of the claims. In other words, unless a specific order of steps or actions is required for proper operation of the method that is being described, the order and/or use of specific steps and/or actions may be modified without departing from the scope of the claims.
As used herein, the term “plurality” denotes two or more. For example, a plurality of components indicates two or more components. The term “determining” encompasses a wide variety of actions and, therefore, “determining” can include calculating, computing, processing, deriving, investigating, looking up (e.g., looking up in a table, a database or another data structure), ascertaining and the like. Also, “determining” can include receiving (e.g., receiving information), accessing (e.g., accessing data in a memory) and the like. Also, “determining” can include resolving, selecting, choosing, establishing and the like.
The phrase “based on” does not mean “based only on,” unless expressly specified otherwise. In other words, the phrase “based on” describes both “based only on” and “based at least on.”
While the foregoing written description of the system enables one of ordinary skill to make and use what is considered presently to be the best mode thereof, those of ordinary skill will understand and appreciate the existence of variations, combinations, and equivalents of the specific embodiment, method, and examples herein. The system should therefore not be limited by the above-described embodiment, method, and examples, but by all embodiments and methods within the scope and spirit of the system. Thus, the present disclosure is not intended to be limited to the implementations shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A system for coverage re-planning of an environment with unknown obstacles for a semi-autonomous cleaning apparatus comprising:
- a processor;
- one or more LIDAR sensor or cameras configured for obstacle detection;
- one or more motors or actuators configured for movement of the cleaning apparatus;
- cleaning apparatus navigation software modules, further comprising: a coverage planner module; a local planner module; a local controller module; and a coverage replanner module;
- wherein the navigation software modules are configured to receive a cleaning plan and compute a executable coverage paths;
- wherein the navigation software modules are configured to provide feedback to create coverage paths and replanned coverage paths.
2. The system of claim 1 wherein the coverage planner module is configured to convert cleaning path plant to sectors or straight-line paths, avoid known obstacles and uses connection planner to connect sectors and compute a coverage path.
3. The system of claim 1 wherein the local planner module splits the coverage path to executable path for the local controller and makes small changes to the path to go around detected obstacles.
4. The system of claim 1 wherein if larger changes to path are required a request is sent to conduct a coverage replan.
5. The system of claim 1 wherein the local controller module is configured to move the apparatus to cover the environment along the executable paths and if new obstacles are detected, ask the local replanner for a new path.
6. The system of claim 1 wherein the local controller module is further configured to provide feedback of the executable path progress and completion and report whether the robot is stuck.
7. The system of claim 1 wherein the coverage replanner module is configured to receive information about new obstacles from the local planner and the time to reach the obstacles and optimally replans the remainder of the coverage path given the available time.
8. The system of claim 1 wherein the coverage replanner module further provides feedback to the local planner by providing info on coverage plan progress, new obstacles and time along current path to reach new obstacles.
9. The system of claim 1 wherein the LIDAR sensor and cameras are provided to input data to the local planner module.
10. The system of claim 1 wherein the local controller module executes the executable paths by moving the apparatus by actuating motors and actuators.
11. The system of claim 1 wherein an OARP-Replan coverage replanning method is used to perform replanning by solving linear relaxations of mixed-integer linear programs (MILPs) to identify sections of the interrupted path that can be optimally replanned within the time budget.
12. The system of claim 1 wherein the coverage replanner module utilizes the time spent driving to conduct near-optimal replans on the provided coverage paths.
13. The system of claim 1 wherein an Optimal Axis-Parallel Rank Partitioning (OARP) approach is used to plan coverage paths is used whereby the OARP approach minimizes the number of turns.
14. A computer-implemented method for a semi-autonomous cleaning apparatus comprising a processor, hardware and navigation software, the cleaning apparatus configured for coverage re-planning of an environment with unknown obstacles, the method comprising the steps of:
- receiving a cleaning plan for an environment;
- sending the cleaning plan to a coverage planner module of the navigation software, the coverage planner module configured to compute a coverage path;
- sending the computed coverage path to a local planner module and a coverage replanner module, the local planner module configured to split the coverage plan into one or more executable paths and the coverage replanner module configured for replanning the coverage path; and
- sending the executable paths to the local planner module, the local planner module configured to send instructions to move the apparatus along the executable path;
- wherein the navigation software modules are configured to provide feedback to create coverage paths and replanned coverage paths.
15. The method of claim 14 wherein the coverage planner module configured to convert cleaning path plant to sectors or straight-line paths, avoid known obstacles and uses connection planner to connect sectors and compute a coverage path.
16. The method of claim 14 wherein the local planner module splits coverage path to executable path for the local controller and makes small changes to the path to go around detected obstacles.
17. The method of claim 14 wherein if larger changes to path are required a request is sent to conduct a coverage replan.
18. A computer-implemented method for a semi-autonomous cleaning apparatus comprising a processor, hardware and navigation software, the cleaning apparatus configured for coverage re-planning of an environment with unknown obstacles by solving an Optimal Axis-Parallel Rank Partitioning (OARP) approach, the method comprising the steps of:
- decomposing the environment into grid cells;
- using the decomposition to compute the minimum number of axis-parallel ranks; and
- finding an optimal tour of the ranks to obtain the coverage path.
19. The method of claim 18 wherein the axis-parallel ranks further comprising horizontal and vertical ranks.
20. The method of claim 18 wherein the axis-parallel ranks further comprising long rectangles that match the width of the cleaning apparatus coverage tool while covering along a straight-line path.
Type: Application
Filed: Mar 1, 2024
Publication Date: Sep 5, 2024
Inventors: Megnath RAMESH (Waterloo), Francis Christopher IMESON (Kitchener), Stephen SMITH (Kitchener), Baris FIDAN (Kitchener)
Application Number: 18/593,009