<?xml-model href='http://www.tei-c.org/release/xml/tei/custom/schema/relaxng/tei_all.rng' schematypens='http://relaxng.org/ns/structure/1.0'?><TEI xmlns="http://www.tei-c.org/ns/1.0">
	<teiHeader>
		<fileDesc>
			<titleStmt><title level='a'>Online Exploration and Coverage Planning in Unknown Obstacle-Cluttered Environments</title></titleStmt>
			<publicationStmt>
				<publisher></publisher>
				<date>10/01/2020</date>
			</publicationStmt>
			<sourceDesc>
				<bibl> 
					<idno type="par_id">10181223</idno>
					<idno type="doi">10.1109/LRA.2020.3010455</idno>
					<title level='j'>IEEE Robotics and Automation Letters</title>
<idno>2377-3774</idno>
<biblScope unit="volume">5</biblScope>
<biblScope unit="issue">4</biblScope>					

					<author>Xinyue Kan</author><author>Hanzhe Teng</author><author>Konstantinos Karydis</author>
				</bibl>
			</sourceDesc>
		</fileDesc>
		<profileDesc>
			<abstract><ab><![CDATA[Online coverage planning can be useful in applications like field monitoring and search and rescue. Without prior information of the environment, achieving resolutioncomplete coverage considering the non-holonomic mobility constraints in commonly-used vehicles (e.g., wheeled robots) remains a challenge. In this paper, we propose a hierarchical, hexdecomposition-based coverage planning algorithm for unknown, obstacle-cluttered environments. The proposed approach ensures resolution-complete coverage, can be tuned to achieve fast exploration, and plans smooth paths for Dubins vehicles to follow at constant velocity in real-time. Gazebo simulations and hardware experiments with a non-holonomic wheeled robot show that our approach can successfully tradeoff between coverage and exploration speed and can outperform existing online coverage algorithms in terms of total covered area or exploration speed according to how it is tuned.]]></ab></abstract>
		</profileDesc>
	</teiHeader>
	<text><body xmlns="http://www.tei-c.org/ns/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink">
<div xmlns="http://www.tei-c.org/ns/1.0"><head>I. INTRODUCTION</head><p>T HE paper addresses online coverage planning in un- known environments for vehicles with non-holonomic constraints. Efficient field coverage is essential for tasks such as environmental monitoring <ref type="bibr">[1]</ref>, map reconstruction <ref type="bibr">[2]</ref>, locating survivors <ref type="bibr">[3]</ref>, and autonomous exploration of forested areas <ref type="bibr">[4]</ref>. In all these applications, regions to be explored may be unknown and partially observable. Even if the environment map can be obtained prior to departure, unexpected unvisitable areas may occur, such as collapsed trees following a storm. Hence, it is necessary to develop approaches that enable online exploration and coverage planning of irregularly-shaped environments with potential unexpected obstacles.</p><p>Depending on the application, various different types of unmanned vehicles-including aerial (fixed-wing aircraft), surface, ground (wheeled/legged robots), and underwater ones (e.g., <ref type="bibr">[5]</ref>- <ref type="bibr">[10]</ref>)-can be deployed. A common challenge among most of them is the presence of non-holonomic mobility constraints, often manifested as a minimum turning curvature constraint. A way to take into consideration this constraint is by using a Dubins vehicle model <ref type="bibr">[11]</ref>, which specifies the vehicle to move in fixed-speed straight lines and counter/clockwise turns. More complex paths can be designed by concatenating straight-line and turning maneuvers.</p><p>When the environment is known, existing approaches (e.g., <ref type="bibr">[6]</ref>, <ref type="bibr">[12]</ref>- <ref type="bibr">[14]</ref>) decompose the region into a set of non-overlapping subregions, and then plan paths within each subregion. In practice, however, regions to be explored can be unknown. Exhaustive search strategies, like back-and-forth parallel swath motions <ref type="bibr">[15]</ref>, <ref type="bibr">[16]</ref> or spiral paths <ref type="bibr">[17]</ref>, alter the robot's direction of motion if obstacles are encountered. This may lead to incomplete coverage when the region occluded by the obstacle has not been visited. In contrast, many existing online coverage methods <ref type="bibr">[15]</ref>, <ref type="bibr">[18]</ref>- <ref type="bibr">[20]</ref> lead to abrupt velocity and orientation changes when encountering obstacles. This effect becomes pronounced especially when operating in obstacle-cluttered environments, and can hinder tasks for which the success rate is sensitive to the quality of sensor input, e.g., in field reconstruction <ref type="bibr">[2]</ref>, <ref type="bibr">[21]</ref> and survivor localization <ref type="bibr">[22]</ref>. To mitigate this challenge, we propose an online approach that plans smooth trajectories that minimize the frequency of acceleration-deceleration events.</p><p>To represent the environment we consider a uniform hexagonal grid where a cell's dimension is determined by the robot's sensor footprint. Hexagon-based partitioning enjoys several benefits, including regular tessellation <ref type="bibr">[23]</ref>, uniform travel distance to all adjacent cells, and better description of non-convex regions <ref type="bibr">[24]</ref>. The effectiveness of hexagonal cell decomposition has been shown in applications including potential-fieldbased path finding <ref type="bibr">[25]</ref>, field search <ref type="bibr">[26]</ref> and offline path finding <ref type="bibr">[27]</ref> in known environments, and online underwater mine countermeasure <ref type="bibr">[28]</ref> with no restricted areas. Different from those approaches, we focus on describing unknown, obstacle-cluttered, bounded environments with duplicates of regular hexagons, which fill a plane with no gap or overlap.</p><p>We propose an online, hierarchical coverage planning approach for Dubins vehicles. At the high level, a Hex-Decomposition Coverage Planning (HDCP) algorithm is proposed. Based on information collected from the robot's observations up to the current time, the robot selects a feasible hexagon subregion to explore next. At the low level, Dubinscurve-based paths are planned in real-time. Closed-form solutions for feasible paths (e.g., start and goal positions for line segments, angles for arcs) are provided. The proposed HDCP algorithm aims to cover the entire unknown (yet bounded) environment, whereas its variant, HDCP-E, is used for fast exploration. The proposed method is evaluated in Gazebo simulations in three forest/farm-like environments and in one baseline empty environment, and compared against Spanning Tree Coverage (STC) <ref type="bibr">[19]</ref>, Boustrophedon motions and the A* search algorithm (BA * ) <ref type="bibr">[20]</ref>, and Multi-robot Hex Decomposition Exploration (M-HDE) <ref type="bibr">[29]</ref> in terms of covered area and exploration speed. We observe that unknown environments with random obstacles can be fully covered. HDCP covers the most amount of free space, whereas HDCP-E achieves the highest coverage area per unit time. The proposed method is evaluated experimentally with a non-holonomic wheeled robot.</p><p>Contributions: This paper has three key contributions. 1) We develop a hex-decomposition-based online coverage planning algorithm, HDCP, that guarantees resolutioncompleteness in unknown, cluttered spaces. 2) We propose the variant HDCP-E, to trade-off between fast exploration and resolution-completeness. 3) We offer closed-form solutions for planning smooth paths that robots can follow at constant speed. The major difference between HDCP and our previous work M-HDE <ref type="bibr">[29]</ref>-which also applies hexagonal cell decomposition in unknown environments-is the sensor-footprint-based decomposition strategy herein which ensures full coverage within each subregion. Further, M-HDE is developed mainly for online exploration tasks. If applied to coverage tasks (as in this work) it performs worse because it prioritizes visiting the most unexplored area. Doing so leaves uncovered subregions and necessitates returning back to fill in holes.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>II. RELATED WORK</head><p>Several methods have been proposed to tackle the coverage path planning problem. When prior map information is available, planning can be offline <ref type="bibr">[30]</ref>. Most planners use some form of decomposition, like Boustrophedon <ref type="bibr">[6]</ref>, <ref type="bibr">[31]</ref>, Semi-boustrophedon <ref type="bibr">[14]</ref>, Morse <ref type="bibr">[12]</ref>, or Line-sweepbased <ref type="bibr">[13]</ref> decomposition, to partition the free space into a set of non-overlapping cells. For online coverage planning, using information collected by on-board sensors, similar cellular-decomposition-based strategies <ref type="bibr">[15]</ref>, <ref type="bibr">[20]</ref>, <ref type="bibr">[32]</ref> are also applied. Resolution-complete coverage can be obtained by ensuring that all cells can be visited, and then applying "lawnmower" motions within each cell. Another popular approach used for coverage planning is the Spanning Tree algorithm <ref type="bibr">[19]</ref>, <ref type="bibr">[33]</ref>. However, paths generated by those methods may contain sharp turns which can reduce efficiency and increase fuel consumption for non-holonomic robots <ref type="bibr">[34]</ref>.</p><p>A common way to consider non-holonomic constraints is to generate feasible paths using a Dubins model for offline coverage planning <ref type="bibr">[6]</ref>, <ref type="bibr">[14]</ref>, <ref type="bibr">[35]</ref>, <ref type="bibr">[36]</ref>. Lewis et al. <ref type="bibr">[14]</ref> solve the offline coverage problem as a traveling salesman problem, and add constraints to ensure planned paths consist of line segments and curves of a given minimum radius only. Yu et al. <ref type="bibr">[37]</ref> proposed a graphical-optimization-based smooth planning strategy for Dubins vehicles. The method reduces the total coverage time, but at the expense of high computational complexity. Function-based smooth coverage planning methods generate paths represented by functions like clothoids <ref type="bibr">[38]</ref> and B&#233;zier curves <ref type="bibr">[39]</ref>, <ref type="bibr">[40]</ref>. Due to their smoothness, B&#233;zier curves enable fast coverage and energy efficiency, but at the price of complex calculations. Online coverage planning methods that are directly applicable to Dubins vehicles remain limited. One approach is to obtain an offline solution for coverage paths using any available prior knowledge, and then replan according to the information collected through sensors as the robot moves to avoid collisions <ref type="bibr">[41]</ref>- <ref type="bibr">[44]</ref>. Another way is to modify existing online coverage approaches, such as online STC <ref type="bibr">[19]</ref> and online BA * <ref type="bibr">[20]</ref>, to decelerate and make smooth turns that satisfy the minimum turning radius constraints. Our proposed work fills in the gap by utilizing sensor-based decomposition and directly incorporating nonholonomic constraints.</p><p>III. PROBLEM SETUP Consider a robot tasked to survey an unknown, bounded, obstacle-cluttered space S. The robot is equipped with navigation sensors (e.g., LIDAR, depth camera) and observation sensors (e.g., RGB/thermal camera, mine detector). Navigation sensors are used to plan collision-free paths, while observation sensors are used to complete the designated task. Different from target search problems in which the search terminates once targets are located, the goal here is to cover the entire field with observation sensors.</p><p>We use two coordinate systems. Cartesian coordinates link to high-level objectives (e.g., to represent a point of interest in a map) and enable onboard sensor data inference (e.g., visual scene understanding). Cube coordinates are necessary to plan paths in hexagon subregions that form a hex grid. Thus, we use a two-layer environment map where a 2D hex grid plane is overlaid on top of a Cartesian plane.  In the hex grid plane, a hexagon subregion is S k , with its cube coordinate ( H x k , H y k , H z k ). <ref type="foot">3</ref> The position of the center of S k in frame W is</p><p>Each S k has six adjacent cells (Fig. <ref type="figure">1(b</ref>)), forming a set</p><p>Hex side length r is determined based on the observation sensor footprint, taken here to be a circular disk of radius l r (Fig. <ref type="figure">1(c)</ref>). <ref type="foot">4</ref> Radius l r depends on the selected sensor's range and is chosen by the user so that to achieve object detection of acceptable (by the user) accuracy. Once l r is determined, the goal is to achieve full coverage for circumscribed circle of each hexagon cell. Suppose the radius of circular paths is r t , chosen such as r min &#8804; r t &#8804; l r . Ideally, setting r t = l r ensures complete coverage of the circumscribed circle of a hexagon cell with no redundancy. However, in practice we may often have r t &lt; l r in which case more sensor data are collected but at the expense of efficiency (defined as newly covered area per unit time). Given l r and r t , then r = l r + r t .</p><p>Our method assumes the following. 1) The navigation sensor detection radius is large enough to at least detect obstacles in adjacent subregions. 2) There is sufficient battery life to achieve full coverage. 3) r min is reasonably small compared to the sensor footprint and obstacle density.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>IV. ONLINE HIERARCHICAL COVERAGE PLANNING</head><p>We propose a hierarchical approach to cover an unknown environment. High level planning runs on the hex grid. A robot determines a sequence of subregions to visit in the next several time steps (Section IV-A). Low level planning runs on the Cartesian plane. A robot plans circular and straight-line paths to complete an observation task in current subregion and move to next subregion, respectively (Section IV-B).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>A. Hex Decomposition Coverage Planning</head><p>We first describe our proposed Hex Decomposition Coverage Planning (HDCP) approach. HDCP works at the hex grid plane, and ensures resolution-complete coverage of hexdecomposed unknown regions. In each subregion, a robot is deployed to complete the observation task, entering into an Observing Mode. A subregion is visited, if the robot has finished Observing Mode in this subregion. Re-entering a visited subregion will not trigger another Observing Mode. A subregion is explored if it has been covered by navigation sensors, i.e. having been marked as obstacle-free or obstacleoccupied region. Once a robot completes an observation task within one subregion, it enters into a Transitioning Mode and moves to another subregion. Only Observing Mode triggers observation sensors; navigation sensors collect information continuously during both modes.</p><p>We demonstrate the detailed process for HDCP in Algorithm 1. Upon departure, the robot initiates robot-centric frames H and W , whose origins are at robot's departure position, for high-level and low-level planning, respectively. A bounded unknown space S consists of unknown but finite number of subregions S k . Let &#964; be the step of high-level planning which records when a subregion was visited, i.e. pair (&#964;, S k ) represents a robot's position in hex plane at step &#964; .</p><p>A robot's path in hex grid plane up to step &#964; is then defined as Let E &#964; = {(S k , u)|S k &#8712; S, u &#8712; {0, 1}} be the set containing all explored subregions and their status u by navigation sensors up to step &#964; . u = 0 represents that a subregion is obstaclefree, otherwise u = 1. E &#964;,u=0 returns all explored obstaclefree subregions, E &#964;,u=1 returns obstacle-occupied, unvisitable subregions.</p><p>Suppose a robot finishes its observation task within subregion S i at step &#964; , and needs to determine the next subregion S j to visit at step &#964; + 1 (line 10 of Algorithm 1). To decrease the number of repeatedly visited subregions, an unvisited subregion is preferred. To minimize the total travel distance, a robot prefers one of its adjacent subregions before moving to subregions further away (Fig. <ref type="figure">2(a)</ref>). Let C &#964; = V &#964; &#8746; E &#964;,u=1 be the set of all "undesired" choices of S j , i.e. either already visited or obstacle-occupied. Then, set</p><p>j , which are unvisited, obstacle-free subregions adjacent to S i .</p><p>As we seek to complete tasks for the entire free space within the unknown region efficiently, it is undesirable to leave any isolated subregion unvisited. The cost of coming back to "fill a hole" later can be avoided by finishing all nearby areas first before moving away. Let function f (&#8226;) calculate the number of visited or obstacle-occupied neighbors of a candidate S * j as</p><p>indicates that all adjacent subregions of candidate S * j are either visited or obstacleoccupied, which makes this S * j a "hole" and hence should be prioritized to visit. &#964; &#8592; 1, S i &#8592; (0, 0, 0), empty sets P &#964; , V &#964; , E &#964; , &#934;i,j 3:</p><p>Move to S i according to Eq. ( <ref type="formula">7</ref>) and Appendix 5:</p><p>Update E &#964; by navigation sensor results 10:</p><p>end while 13: end procedure 14: procedure NEXTHEX(S i , E &#964; , &#934;i,j</p><p>Obtain S j according to Eq. ( <ref type="formula">1</ref>), &#934;i,j &#8592; &#8709; 17:</p><p>Obtain S j according to Eq. ( <ref type="formula">2</ref>) 20:</p><p>&#934;i,j &#8592; GetAStarPath(S i , S j , E &#964; )</p><p>return S j , &#934;i,j 26: end procedure When |Q &#964; (S i )| &gt; 0, there exists at least one candidate S * j that is adjacent to S i . Under this condition, among all candidates S * j , the next subregion that a robot prioritizes to visit, S j , is determined as</p><p>Given <ref type="bibr">(1)</ref>, among all unvisited adjacent subregions the robot will choose the one with the maximum visited/obstacleoccupied neighbors as S j (line 16 of Algorithm 1). This strategy ensures that the robot does not leave any isolated unvisited subregions, to avoid the need to return to this area.</p><p>If |Q &#964; (S i )| = 0, the task has been completed for all adjacent subregions of S i . Under this condition, the robot will move to a subregion S j that is nonadjacent to S i (Fig. <ref type="figure">2(b)</ref>). Let</p><p>&#8709;} be the set that contains all candidates S * j , which are visited subregions with unvisited obstacle-free neighbors. If Q &#964; is not empty, the robot selects S j from all candidates S * j as arg max</p><p>Per (2), the robot revisits a nearest-in-the-past visited subregion S j which has unvisited obstacle-free adjacent subregions (line 19 of Algorithm 1). Once S j is chosen, we seek a path in hex grid, which contains a sequence of subregions on the way to move to S j . In order to determine an optimal feasible path, we need some definitions.</p><p>Definition 1: A feasible path between obstacle-free subregions S i and S j in hex grid plane, denoted as &#934; i,j , is a list of ordered obstacle-free subregions <ref type="foot">5</ref> such that if only the movement to an adjacent subregion is allowed for each step, a robot starting from S i can reach S j in finite steps.</p><p>Definition 2: A shortest feasible path, denoted as &#934;i,j , is the path among all feasible paths &#934; i,j which contains the least number of subregions.</p><p>Definition 3: A subregion is visitable if and only if 1) this subregion is obstacle-free, and 2) there exists one (shortest) feasible path from the departure position to this subregion.</p><p>Each subregion in the feasible path and shortest feasible path is an adjacent subregion of its preceding and following subregions in the ordered list. The feasible path and shortest feasible path are not unique between two subregions. From the current position S i , there must exist at least one feasible path to any subregion on path P &#964; , which is a subset of path P &#964; .</p><p>A shortest feasible path &#934;i,j can be obtained according to function GetAStarPath (line 20 of Algorithm 1). Given all explored subregions E &#964; , GetAStarPath applies the A * algorithm <ref type="bibr">[45]</ref> with distance cost q in 2D hex grid</p><p>(3) While following &#934;i,j (line 21 of Algorithm 1), more subregions are explored by the navigation sensor. If E &#964; is updated, &#934;i,j needs to be updated accordingly (lines 18-20 of Algorithm 1). Note that &#934;i,j may contain 1) unvisited subregions, and 2) subregions with unvisited obstacles-free neighbors. If at any step, an unvisited subregion is encountered, the robot enters Observing Mode to complete the task for the subregion (lines 6-8 of Algorithm 1), then switches to Transitioning Mode. If a subregion with unvisited obstaclefree neighbors is encountered, we discard &#934;i,j and move to an adjacent unvisited subregion (line 16 of Algorithm 1).</p><p>When Q &#964; (S i ) = Q &#964; = &#8709;, coverage is complete. HDCP establishes that in a bounded environment, for given discretization resolution, the coverage process terminates in finite time, leaving no unvisited area that is visitable according to Definition 3. Coverage using HDCP is complete to the resolution of the smallest allowed hexagon cell, which can be referred as resolution-completeness <ref type="bibr">[46]</ref>. Lemma 1 In an unknown, bounded environment, online coverage using HDCP (Algorithm 1) is resolution-complete. Proof of Lemma 1 We prove Lemma 1 by contradiction. Assume the coverage terminates according to Algorithm 1 and there still exists a visitable, yet unvisited, subregion S q . Suppose the departure position of the coverage is S p . Since S q is visitable, there must exist a shortest feasible path &#934;p,q according to Definition 3. Denote the mth subregion on the shortest feasible path as &#934;p,q [m].</p><p>According to Definition 1, &#934;p,q [1] must be an adjacent subregion to S p , &#934;p,q [1] &#8712; N (S p ). Since the progress has terminated, Q &#964; = &#8709;. Recalling the definition of Q &#964; , we can deduce ( <ref type="formula">6</ref>) from ( <ref type="formula">4</ref>) and (5), &#934;p,q[1] &#8712; N (Sp) , ( <ref type="formula">4</ref>)</p><p>Hence, S q is already visited, which leads to the contradiction.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>B. Dubins Path Planning</head><p>Next, we discuss Dubins Path Planning for Observing Mode and Transitioning Mode. For a robot currently in S i , it first enters into Observing Mode. For an observation task, it is required that the observation sensor covers the entire subregion, which leads to a circular path. Let W &#181; i be the starting point on the circular path. The robot follows a full circle, (C 2&#960; ) i , and then returns to W &#181; i . Once arriving at W &#181; i , the robot enters into Transitioning Mode, in which the robot aims to move to the starting point W &#181; j for the next subregion S j . Constrained by the vehicle model, feasible paths always consist of arcs and straight lines, without turns sharper than robot's minimum turning capability.</p><p>Figures <ref type="figure">2(c</ref>), (d) show the planned path, which comprises an arc of angle &#945; and a straight line of length l. The straight line is chosen to be tangent to both circular paths in S i and S j . Let the tangent point in S i be W &#981; i , the corresponding tangent point in S j will become the starting point W &#181; j . Among outer tangent points (Fig. <ref type="figure">2(c)</ref>) and inner tangent points (Fig. <ref type="figure">2(d))</ref>, following the robot's current moving direction, we select the one that is the closest to W &#181; i along the circular path. Using geometry (closed-form solutions for tangent points are given in the Appendix), &#945; and l are</p><p>The combined path for Observing and Transitioning Mode between S i and S j is (C 2&#960; ) i (C &#945; L l ) i&#8594;j . By utilizing tangent points to switch among arcs and straight line paths, generated combined paths are smooth.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>C. Trading-off Exploration Coverage and Speed</head><p>In some scenarios such as waypoint coverage <ref type="bibr">[9]</ref> and water sample collection <ref type="bibr">[47]</ref>, full coverage within subregions does not need to be enforced. In this case, the exploration process of unknown environments can be accelerated by combining Observing and Transitioning Mode, which is referred to as HDCP-E. In HDCP-E, full circle trajectory (C 2&#960; ) i is removed from planned paths to accelerate exploration of more hexagon subregions. At the same time, observation sensors are enabled throughout the process. The modified paths become (C &#945; L l ) i&#8594;j . Hence, HDCP-E inherits the advantage of smooth and continuous paths from HDCP.</p><p>The two variants (HDCP and HDCP-E) reveal the tradeoff between exploitation and exploration. HDCP guarantees resolution-complete coverage of unknown yet bounded space by 1) visiting all subregions, and 2) achieving full coverage within each subregion, whereas HDCP-E enables fast and complete exploration in terms of visiting all subregions. Importantly, the next-subregion-selection strategy (Algorithm 1) can also be applied to other cell-decomposition-based coverage algorithms to obtain the order of visiting subregions.</p><p>V. EXPERIMENTS, RESULTS, AND DISCUSSION Our proposed variants are evaluated in Gazebo simulation and experimentally with a non-holonomic wheeled robot. Their performance is compared against 1) online BA * [20], 2) online STC <ref type="bibr">[19]</ref>, and 3) M-HDE <ref type="bibr">[29]</ref> in terms of total coverage area and average exploration speed.</p><p>A. Simulation 1) Simulation Setup: Figures <ref type="figure">3(a</ref>)-(c) show three 20m&#215;20m 2D simulated forest/farm-like environments in Gazebo (random, uniform, and in-row placement, respectively). Two type of trees, which are different in terms of size and shape, are used. Ten trees of each type are placed in each environment, hence all three environments have same amount of free space. In the random environment (Fig. <ref type="figure">3(a)</ref>), trees are placed randomly to represent a forest-like unstructured environment. In the uniform environment (Fig. <ref type="figure">3(b</ref>)), trees are arranged and lined up strictly. In the in-row environment (Fig. <ref type="figure">3(c</ref>)), trees are loosely lined up, with slightly-varying spacing between them. This environment approximates a more realistic intercropping agricultural field. We further consider the baseline scenario of operating in an empty environment bounded by square walls.</p><p>We deploy the non-holonomic wheeled robot Turtlebot to cover the entire area without prior knowledge of the environment map. The robot is equipped with an RPLidar laser scanner as the navigation sensor, and an Astra Pro stereo camera as the observation sensor. Both perception <ref type="foot">6</ref> and planning are online. To reduce the uncertainty in obstacle detection caused by online perception and odometry drift, we run ten trials for every obstacle-cluttered scenario.</p><p>Camera observations are chosen to have high accuracy with l r = 0.5 m. Hence, for HDCP, HDCP-E, and M-HDE, the hex subregion side length is r = 1 m. The robot moves at a constant velocity of 1 m/s. For BA * and STC, the square side length is 1 m;<ref type="foot">foot_4</ref> the robot moves forward at 1 m/s, and decelerates to 0.3 m/s when taking sharp turns.<ref type="foot">foot_5</ref>   To eliminate the influence of starting position, the robot is deployed from 2 different positions: center and lower-left corner (red and blue squares in Fig. <ref type="figure">3</ref>(a)-(c)). Note that in both simulation and real experiment, robot-centric hex (for HDCP, HDCP-E, and M-HDE) and square (for STC and BA * ) grids originate at robot's departure position. In a robot-centric grid, the number of occupied cells caused by obstacles and environment boundaries is influenced by the relative position between the object and the origin of the grid. For instance, a small obstacle can either lie within one cell, or on an edge/intersection of multiple cells after varying the grid origin. In addition, the size of cells is determined according to the robot footprint. The occupied cells near boundaries are marked as obstacles by the robot at runtime via onboard perception. We do not pre-determine near-boundary inaccessible cells for the robot prior to departure.</p><p>2) Results and Discussion: Table <ref type="table">II</ref> contains means and one-standard deviations for the percentage of coverage area over total free space, total algorithm runtime, and averaged exploration speed over ten trials. We consider the total free space as subtracting the tree-occupied area from the total environment area, which is consistent among all scenarios.</p><p>Results suggest that, regardless of departing position, HDCP covers the most area in all evaluated, obstacle-cluttered environments. While the uniform and in-row environments bounded by square walls are more regular and structured, HDCP still outperforms the other evaluated methods that use a square grid discretization. Our findings demonstrate the advantage of hexagon decomposition, where we mark obstacles as more "round-like" hexagons instead of square cells in obstaclecluttered environments.</p><p>In terms of exploration speed, HDCP-E covers almost twice as fast as STC and BA * in all environments from both departure positions. The results suggest that the strategy of HDCP and HDCP-E for selecting the next subregion is efficient in terms of exploring more unknown space. However, in HDCP, more area is covered when following the full-circle at the expense of exploration speed. M-HDE from our previous work <ref type="bibr">[29]</ref> achieves the second fastest exploration, in which the lack of inner-tangent straight-line transitioning causes longer paths. <ref type="foot">9</ref> Hence, in scenarios when the speed of exploring more unknown space is the main concern, HDCP-E can be used to achieve fast exploration.</p><p>It is worth noticing that STC is the approach most sensitive to the environment and departure position. Especially in the in-row environment, STC is unable to cover the entire space when departing from center. This is because STC assumes all visitable space has to have a width of at least four times of the sensor footprint radius, to ensure repetition-free paths <ref type="bibr">[19]</ref>.</p><p>If the assumption is not satisfied, the area will be marked as obstacle, even if the width of the area is wider than the robot's own width and can thus be visited. On the other hand, for HDCP, changing departure position and environment can cause at most 6% coverage percentage loss.</p><p>Evident in Fig. <ref type="figure">4</ref>, our proposed method generates smooth paths for robots with non-holonomic constraints. The robot moves at constant speed throughout the process, which enables better path following and sensor stability. In contrast, small areas can remain uncovered in both BA * and STC when the robot fails to follow planned paths exactly due to abrupt deceleration before turning. The advantage of smooth paths is more obvious in cluttered environments, in which case turning maneuvers are required more frequently.</p><p>We also evaluate the algorithm in an square environment without obstacles, which is believed to be most suitable for lawnmower-like methods such as BA * and STC. In the empty environment, BA * (0.75 m 2 /s) achieves comparable coverage speed as HDCP-E (0.82 m 2 /s). This is because when applying lawnmower-like methods in the empty environment, the robot follows straight-line paths from one side to another, which requires minimum number of turns. In addition, BA * (92.1%) covers slightly more area than HDCP (91.4%). This is because square cells describe the square space better when no obstacle exists. However, in obstacle-cluttered environments, the existence of unexpected obstacles force the robots to take frequent, possibly sharp turns. Taking sharp turns requires deceleration and acceleration for lawnmower-like methods, whereas HDCP and HDCP-E allow robots to operate at constant velocity. Moreover, as discussed above, the advantage of describing obstacles with hex cells is more obvious in obstacle-cluttered environments than empty environments. Overall, the proposed HDCP and HDCP-E work well in unknown and irregularlyshaped obstacle-cluttered environments that are bounded.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>B. Experiments</head><p>We also evaluate the performance of all algorithms in a 10m &#215; 8m indoor space (Fig. <ref type="figure">3(d)</ref>) with a real Turtlebot robot configured as in the simulation. The environment contains a truss, desks, and chairs as obstacles. For HDCP, HDCP-E, and M-HDE, we have l r = 0.4 m and r = 0.8 m; the robot moves at constant velocity of 0.3 m/s. For BA * and STC, we have side length of 0.8 m, and the robot moves forward at 0.3 m/s, and decelerates to 0.1 m/s in turning. We observe that HDCP and BA * cover similar area, which is expected since the experimental environment is mostly empty with obstacles lined up strictly in the middle. HDCP-E has the highest average exploration speed, 0.16 m 2 /s, which is consistent to simulation results. Further, our approach generates smooth paths (Fig. <ref type="figure">5</ref>) in real time for robots to follow at constant speed, while BA * and STC both require frequent acceleration and deceleration since the robot makes turns frequently in the small, cluttered space.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>VI. CONCLUSIONS</head><p>The paper contributes to online resolution-complete coverage planning in unknown obstacle-cluttered environments. Research on this vein is limited when it comes to considering some form of dynamic feasibility (in this case Dubins vehicles), while ensuring resolution-complete coverage.</p><p>Results suggest that our proposed algorithm HDCP can cover more area compared to existing methods such as M-HDE, STC and BA * in unstructured and obstacle-cluttered environments, due to the advantage of decomposing the workspace in hex cells. Its variant HDCP-E achieves the fastest exploration (covered area per unit time) in both structured and unstructured environments. Further, we show that Dubins vehicles may fail to follow frequently required sharp turns using STC and BA * , leading to uncovered areas along the search path. Our method guarantees resolution-complete coverage while considering non-holonomic constraints in the form of Dubins curves. Derived geometric closed-form solutions to determine how to move between subregions enable real-time planning. Current weaknesses of HDCP are a slight underperformance compared to BA * in square, empty environments, and the presence of repeated arc segments on circular paths when moving to the tangent points. However, we believe that ensuring path smoothness and continuity due to this repetition outweighs the limitation.</p><p>Future work will focus on performing a complexity analysis to investigate how to speed up the methodology, and application to real world agricultural/forest environments. Outer tangent points are</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>APPENDIX</head></div><note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="3" xml:id="foot_0"><p>We drop superscript H in cube coordinates for clarity of presentation.</p></note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="4" xml:id="foot_1"><p>This is reasonable as there are a few ways to achieve a circular footprint, e.g., via rotation with gimbals or by using multiple sensors.</p></note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="5" xml:id="foot_2"><p>The first subregion in the ordered list is adjacent to S i , while the last subregion is S j itself.</p></note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="6" xml:id="foot_3"><p>We use the open-source LIDAR-based obstacle detector published in https://github.com/tysik/obstacle detector.</p></note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="7" xml:id="foot_4"><p>We refer the reader to<ref type="bibr">[19]</ref>,<ref type="bibr">[20]</ref> for more details.</p></note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="8" xml:id="foot_5"><p>We optimized the turning speed so that no odometry drift is observed.</p></note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="9" xml:id="foot_6"><p>Note that we modify M-HDE by replacing the original path finding strategy in<ref type="bibr">[29]</ref> with A* to achieve better performance.</p></note>
		</body>
		</text>
</TEI>
