<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" article-type="research-article" dtd-version="2.3" xml:lang="EN">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Plant Sci.</journal-id>
<journal-title>Frontiers in Plant Science</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Plant Sci.</abbrev-journal-title>
<issn pub-type="epub">1664-462X</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3389/fpls.2024.1337638</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Plant Science</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Improving path planning for mobile robots in complex orchard environments: the continuous bidirectional Quick-RRT* algorithm</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Ye</surname>
<given-names>Lei</given-names>
</name>
<xref ref-type="author-notes" rid="fn001">
<sup>*</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2567846"/>
<role content-type="https://credit.niso.org/contributor-roles/conceptualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/software/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Li</surname>
<given-names>Jin</given-names>
</name>
<role content-type="https://credit.niso.org/contributor-roles/resources/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-review-editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Li</surname>
<given-names>Pu</given-names>
</name>
<role content-type="https://credit.niso.org/contributor-roles/data-curation/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-review-editing/"/>
</contrib>
</contrib-group>
<aff id="aff1">
<institution>School of Intelligent Engineering, Shaoguan University</institution>, <addr-line>Shaoguan</addr-line>, <country>China</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>Edited by: Yunchao Tang, Dongguan University of Technology, China</p>
</fn>
<fn fn-type="edited-by">
<p>Reviewed by: J&#xe1;nos Botzheim, E&#xf6;tv&#xf6;s Lor&#xe1;nd University, Hungary</p>
<p>Weikuan Jia, Shandong Normal University, China</p>
<p>Jinhai Wang, Foshan University, China</p>
<p>Xing Wang, Commonwealth Scientific and Industrial Research Organisation (CSIRO), Australia</p>
</fn>
<fn fn-type="corresp" id="fn001">
<p>*Correspondence: Lei Ye, <email xlink:href="mailto:leoye1992@sgu.edu.cn">leoye1992@sgu.edu.cn</email>
</p>
</fn>
</author-notes>
<pub-date pub-type="epub">
<day>13</day>
<month>05</month>
<year>2024</year>
</pub-date>
<pub-date pub-type="collection">
<year>2024</year>
</pub-date>
<volume>15</volume>
<elocation-id>1337638</elocation-id>
<history>
<date date-type="received">
<day>13</day>
<month>11</month>
<year>2023</year>
</date>
<date date-type="accepted">
<day>22</day>
<month>04</month>
<year>2024</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2024 Ye, Li and Li</copyright-statement>
<copyright-year>2024</copyright-year>
<copyright-holder>Ye, Li and Li</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p>
</license>
</permissions>
<abstract>
<p>Efficient obstacle-avoidance path planning is critical for orchards with numerous irregular obstacles. This paper presents a continuous bidirectional Quick-RRT* (CBQ-RRT*) algorithm based on the bidirectional RRT (Bi-RRT) and Quick-RRT* algorithms and proposes an expansion cost function that evaluates path smoothness and length to overcome the limitations of the Quick-RRT* algorithm for non-holonomic mobile robot applications. To improve the zigzag between dual trees caused by the dual-tree expansion of the Bi-RRT algorithm, CBQ-RRT* proposes the CreateConnectNode optimization method, which effectively solves the path smoothness problem at the junction of dual trees. Simulations conducted on the ROS platform showed that the CBQ-RRT* outperformed the unidirectional Quick-RRT* in terms of efficiency for various orchard layouts and terrain conditions. Compared to Bi-RRT*, CBQ-RRT* reduced the average path length and maximum heading angle by 8.5% and 21.7%, respectively. In addition, field tests confirmed the superior performance of the CBQ-RRT*, as evidenced by an average maximum path lateral error of 0.334&#xa0;m, a significant improvement over Bi-RRT* and Quick-RRT*. These improvements demonstrate the effectiveness of the CBQ-RRT* in complex orchard environments.</p>
</abstract>
<kwd-group>
<kwd>path planning</kwd>
<kwd>mobile robots</kwd>
<kwd>orchard environments</kwd>
<kwd>rapidly exploring random tree</kwd>
<kwd>bidirectional expansion</kwd>
</kwd-group>
<counts>
<fig-count count="14"/>
<table-count count="10"/>
<equation-count count="5"/>
<ref-count count="42"/>
<page-count count="12"/>
<word-count count="5904"/>
</counts>
<custom-meta-wrap>
<custom-meta>
<meta-name>section-in-acceptance</meta-name>
<meta-value>Sustainable and Intelligent Phytoprotection</meta-value>
</custom-meta>
</custom-meta-wrap>
</article-meta>
</front>
<body>
<sec id="s1" sec-type="intro">
<label>1</label>
<title>Introduction</title>
<p>Mobile robots are garnering increasing attention among researchers as intelligent devices. Owing to their high degree of automation, mobile robots can improve productivity and provide various conveniences. Mobile robots are currently being utilized in various scenarios (<xref ref-type="bibr" rid="B7">Ferguson and Stentz, 2006</xref>; <xref ref-type="bibr" rid="B42">Zhao et&#xa0;al., 2014</xref>; <xref ref-type="bibr" rid="B22">Ljungqvist et&#xa0;al., 2019</xref>; <xref ref-type="bibr" rid="B26">Reid et&#xa0;al., 2020</xref>; <xref ref-type="bibr" rid="B29">Strader et&#xa0;al., 2020</xref>; <xref ref-type="bibr" rid="B2">Buchanan et&#xa0;al., 2021</xref>; <xref ref-type="bibr" rid="B39">Ye et&#xa0;al., 2023</xref>). As agricultural automation research has gained widespread attention in recent years, mobile robots have begun to make their way into agricultural settings (<xref ref-type="bibr" rid="B35">Xiong et&#xa0;al., 2017</xref>; <xref ref-type="bibr" rid="B1">Blok et&#xa0;al., 2019</xref>; <xref ref-type="bibr" rid="B27">Ren et&#xa0;al., 2020</xref>). <xref ref-type="bibr" rid="B15">Khajepour et&#xa0;al. (2020)</xref> proposed a particle filter algorithm using a laser beam model and Kalman filter algorithm based on line detection for the positioning and navigation of mobile robots in orchards. <xref ref-type="bibr" rid="B25">Qiu and Li (2022)</xref> implemented a path-tracking control for orchard mobile robots using a PID algorithm. <xref ref-type="bibr" rid="B37">Yang et&#xa0;al. (2022)</xref> used a dataset of orchard road data to train semantic segmentation networks to extract navigation paths and achieve path tracking for orchard robots. However, the studies above focused on orchard robots operating in structured environments with more prominent road features, with less consideration for path planning and obstacle avoidance. In unstructured orchard scenes, it is difficult for mobile robots to make decisions by obvious features or scene markers to realize specific navigation movements. The mobile robot in the orchard needs to perceive the unstructured orchard environment and plan the movement path for the mobile robot in the navigation operation stably and efficiently through the constructed environment map or by obtaining the real-time perception feedback. Therefore, in the field of mobile robot navigation in orchards, path planning is a fundamental and crucial aspect. Path planning refers to the process by which a mobile robot identifies, within the configuration space, an obstacle-free path from its initial configuration to its target configuration. The path must simultaneously satisfy environmental constraints and the kinematic constraints of the mobile robot itself (<xref ref-type="bibr" rid="B28">Siciliano et&#xa0;al., 2008</xref>).</p>
<p>In recent years, a substantial amount of research has been dedicated to the path planning conundrum for orchard robots. <xref ref-type="bibr" rid="B13">Jiang et&#xa0;al. (2022)</xref> used 3D and 2D LiDAR to map greenhouse orchards and used the Dijkstra algorithm to plan global paths for mobile robots. <xref ref-type="bibr" rid="B31">Tian et&#xa0;al. (2023)</xref> proposed an ant colony optimization algorithm to solve multitarget waypoint planning for unmanned aerial vehicles in orchards. <xref ref-type="bibr" rid="B40">Zhang et&#xa0;al. (2023)</xref> introduced an improved artificial potential field algorithm for weed-removal robot path planning, improving the safety of robot automation operations. <xref ref-type="bibr" rid="B41">Zhang et&#xa0;al. (2022)</xref> conducted LiDAR scans of greenhouse maps and employed the probabilistic roadmap technique to calculate the paths between all target points, consequently establishing comprehensive global paths for navigating multiple operational points. In addition to general-purpose path planning algorithms, researchers have extensively researched path planning algorithms for special orchard target guidance based on the perception of the orchard scene. <xref ref-type="bibr" rid="B21">Liu et&#xa0;al. (2023)</xref> proposed a real-time orchard mapping method based on visual odometry-centered position estimation fused with a LiDAR camera and achieved real-time apple global localization using ORB-SLAM3, YOLO-V5, Euclidean clustering filtering, and the local point cloud sliding window method. <xref ref-type="bibr" rid="B36">Xiong et&#xa0;al. (2023)</xref> combined the VINS-RGBD SLAM framework with the semantic segmentation algorithm BiSeNetV1 to propose a real-time localization and semantic map reconstruction method for unstructured citrus orchards. <xref ref-type="bibr" rid="B5">Chen et&#xa0;al. (2021)</xref> presented a global map-construction method tailored to the nature of orchard-picking tasks using the ORB-SLAM3 algorithm. <xref ref-type="bibr" rid="B4">Chen et&#xa0;al. (2024)</xref> proposed a set of vision algorithms for moving target estimation, real-time self-localization, and dynamic harvesting. In addition, a reliable coordination mechanism was established for continuous motion and harvesting behavior.</p>
<p>In large and complex orchard environments, efficiently determining the navigation paths for mobile robots is of concern (<xref ref-type="bibr" rid="B39">Ye et&#xa0;al., 2023</xref>). The rapid-exploration random tree (RRT) algorithm is a framework for path planning algorithms widely used by mobile robots. This algorithm iteratively generates feasible paths by incorporating points obtained from random sampling of the state space, providing probabilistic completeness (<xref ref-type="bibr" rid="B17">LaValle et&#xa0;al., 2001</xref>). The efficiency of RRT algorithms for path planning has been highlighted in recent studies. <xref ref-type="bibr" rid="B11">Huan et&#xa0;al. (2023)</xref> employed the RRT*-connect algorithm to plan the navigation path of a microrobot in a plant&#x2013;vein environment. Combined with the characteristics of the Dijkstra algorithm for path optimization, <xref ref-type="bibr" rid="B34">Wencheng et&#xa0;al. (2020)</xref> improved the RRT algorithm to solve the path planning problem of orchard spraying robots. <xref ref-type="bibr" rid="B3">Castro et&#xa0;al. (2023)</xref> proposed an online adaptive path planning solution fusing RRT and deep reinforcement learning algorithms. Despite these advantages, the RRT has inherent limitations due to its random sampling nature, including (1) reliance on a global uniform random sampling strategy, which results in slower convergence due to the lack of guided search (<xref ref-type="bibr" rid="B19">Li et&#xa0;al., 2020</xref>); (2) path generation from random sampling and iteration, resulting in non-optimality (<xref ref-type="bibr" rid="B21">Liu et&#xa0;al., 2023</xref>); and (3) unsuitability of RRT-generated paths for scenarios involving mobile robot tracking motion because it overlooks kinematic constraints (<xref ref-type="bibr" rid="B33">Webb and Van Den Berg, 2013</xref>).</p>
<p>Researchers have refined the basic RRT algorithm to accommodate various application environments and overcome limitations. <xref ref-type="bibr" rid="B16">Kuffner and LaValle (2000)</xref> proposed Bi-RRT, a bidirectional search tree that initiates two parallel trees from the start and target states to expedite algorithm convergence to improve the convergence speed of the RRT algorithm. <xref ref-type="bibr" rid="B38">Ye et&#xa0;al. (2021)</xref> enhanced the Bi-RRT by incorporating a gravitational algorithm with an adaptive step and gravitational coefficient adjustment into the AtBi-RRT algorithm, which they applied to a picking robot, achieving improved search efficiency and the ability to navigate complex obstacle regions. <xref ref-type="bibr" rid="B30">Tahir et&#xa0;al. (2018)</xref> proposed a potentially guided intelligent bidirectional RRT* algorithm that significantly improves convergence speed and memory utilization. To advance the optimization of paths generated through iterative random sampling in the RRT algorithm, <xref ref-type="bibr" rid="B14">Karaman and Frazzoli (2011)</xref> introduced the RRT* algorithm that incorporates key processes such as ChooseParent and Rewire and proved its asymptotic optimality. As the number of samples increased, the algorithm gradually approached the optimal solution, with the path acquisition cost converging to the optimum. However, the convergence is slow, especially in complex environments. The informed RRT* algorithm was introduced to enhance convergence efficiency (<xref ref-type="bibr" rid="B8">Gammell et&#xa0;al., 2014</xref>). This algorithm restricts the sampling to an elliptical region that narrows as the path length decreases after finding a feasible path. This strategy preserves the probabilistic completeness and asymptotic optimality of RRT*, speeds up convergence, and improves solution quality. Furthermore, <xref ref-type="bibr" rid="B24">Nasir et&#xa0;al. (2013)</xref> developed RRT*-Smart to further speed up convergence. The algorithm starts from the sampled nodes and seeks direct, unobstructed connections to ancestral nodes, reducing path costs. Similarly, <xref ref-type="bibr" rid="B12">Jeong et&#xa0;al. (2019)</xref> proposed Quick-RRT*, which extends the set of parent nodes beyond the immediate neighbors to include their ancestors. This approach also influences the rewiring process, favoring the alignment of new nodes with nearby parent nodes, improving initial solutions, and achieving faster optimal convergence compared to RRT. <xref ref-type="bibr" rid="B19">Li et&#xa0;al. (2020)</xref> combined a potentially guided method and Quick-RRT* to propose the PQ-RRT* algorithm, which achieved faster convergence and better initial path quality than the Quick-RRT*. Moreover, researchers have proposed two approaches to apply RRT algorithms to kinematically constrained navigation scenarios. The first is the consideration of kinematic constraints during the RRT path search process. <xref ref-type="bibr" rid="B33">Webb and Van Den Berg (2013)</xref> introduced kinodynamic-RRT*, an asymptotically optimal path planning solution for robots with linear dynamics. <xref ref-type="bibr" rid="B23">Moon and Chung (2014)</xref> proposed a dual-tree RRT algorithm for path planning for mobile robots with differential wheels. <xref ref-type="bibr" rid="B32">Wang et&#xa0;al. (2021)</xref> proposed the KB-RRT* algorithm, incorporating kinematic constraints to prevent unnecessary node expansion and speed up the feasible path identification for differential-wheel mobile robots. The second approach involves post-processing to mitigate increasing computational complexity during sampling. Methods such as spline fitting maintain the planning speed while producing smooth paths. <xref ref-type="bibr" rid="B6">Elbanhawi et&#xa0;al. (2015)</xref> proposed a cubic B-spline smoothing algorithm that ensured curvature continuity while satisfying a robot&#x2019;s incompleteness constraint. Other smoothing methods, such as Bezier curves, have also been widely used to smooth the initial RRT paths, making them suitable for different motion planning scenarios (<xref ref-type="bibr" rid="B20">Liu et&#xa0;al., 2019</xref>; <xref ref-type="bibr" rid="B18">Li and Yang, 2020</xref>; <xref ref-type="bibr" rid="B9">Gan et&#xa0;al., 2021</xref>).</p>
<p>The conventional directional extension algorithm research pays relatively little attention to the smooth connection of paths at the conjunction between two trees; in the RRT sampling algorithm, processing the dynamics constraint during each iteration will occupy a significant amount of computational resources and increase the planning time, especially in complex environments; in path planning research combining RRT algorithm with spline fitting, relatively few studies consider the corner constraints of path points, resulting in large deviations between the actual trajectory and planned path, which can easily trigger accidental collisions in complex environments. Therefore, applying the existing path planning methods for the path planning problem of orchard mobile robots in complex environments is relatively difficult. Based on the limitations of the existing studies, our primary contributions are presented below.</p>
<list list-type="simple">
<list-item>
<p>(1) The path length and maximum heading angle of the path are simultaneously adopted as the path cost according to the mobile robot. Hence, the algorithm is optimized for path smoothness and improved in terms of path executability during the extension process.</p>
</list-item>
<list-item>
<p>(2) The path planning speed is improved by adding a directional extension method to the Quick-RRT* algorithm.</p>
</list-item>
<list-item>
<p>(3) To improve the local path smoothness of the bidirectional extension algorithm in conjunction with the two trees, the CreateConnectNode optimization algorithm is proposed to generate the optimal connection point directly in the conjunction region of the two trees.</p>
</list-item>
</list>
<p>The remainder of this paper is organized as follows: <italic>Section 2</italic> discusses the specific implementation of the proposed continuous bidirectional Quick-RRT* (CBQ-RRT*) algorithm. Simulation comparisons and field experiments for B-RRT*, Quick-RRT*, and CBQ-RRT* are described in <italic>Section 3</italic>, and the results are compared and analyzed. Finally, <italic>Section 4</italic> presents the conclusions and discusses the study.</p>
</sec>
<sec id="s2">
<label>2</label>
<title>Methods</title>
<p>In developing path planning algorithms for the autonomous navigation of mobile robots in orchards, the primary considerations are the executability and efficiency of the paths planned by the algorithm and the computational efficiency of the algorithm. This study improves the Quick-RRT* algorithm and introduces a CBQ-RRT* algorithm to meet these requirements. The pseudocode for the CBQ-RRT* algorithm is presented in <xref ref-type="other" rid="T7">
<bold>Algorithm 1</bold>
</xref>. Initially, an extended cost function containing the kinematic constraints of the mobile robot is established, which is applied to lines 4 and 11 in <xref ref-type="other" rid="T7">
<bold>Algorithm 1</bold>
</xref> to constrain the extension direction of the nodes. The optimal parent nodes are further selected for <italic>X<sub>new</sub>
</italic> and <italic>X<sub>new2</sub>
</italic> in lines 7 and 14 using this cost function. Then, a bidirectional augmentation method is introduced to accelerate path planning. Finally, an optimization strategy is proposed for connecting dual trees to avoid abrupt connections that violate the kinematic constraints (line 19). Further details of the implementation are presented in the following section.</p>
<table-wrap id="T7" position="float">
<label>Algorithm 1</label>
<caption><p>CBQ-RRT*.</p></caption>
<table>
<tbody>
<tr>
<td>
<preformat>
<italic>1 V<sub>a</sub>
</italic> &#x2190; {<italic>X<sub>start</sub>
</italic>}; <italic>V<sub>b</sub>
</italic> &#x2190; {<bold>
<italic>X<sub>goal</sub>
</italic>
</bold>}; <italic>E<sub>a</sub>
</italic> &#x2190; &#x2205;; <italic>E<sub>b</sub>
</italic> &#x2190; &#x2205;; <italic>T<sub>a</sub>
</italic> &#x2190; (<italic>V<sub>a</sub>
</italic>, <italic>E<sub>a</sub>
</italic>); <italic>T<sub>b</sub>
</italic> &#x2190; (<italic>V<sub>b</sub>
</italic>, <italic>E<sub>b</sub>
</italic>);
2 <bold>for</bold> <italic>i</italic> &#x2190; 0 to <italic>N do</italic>
3 &#x2003;<italic>X<sub>rand</sub>
</italic> &#x2190; Sample();
4 &#x2003;<italic>X<sub>nearest</sub>
</italic> &#x2190; NearestVertex(<italic>X<sub>rand</sub>
</italic>, <italic>T<sub>a</sub>
</italic>);
5 &#x2003;<italic>X<sub>new</sub>
</italic> &#x2190; Extend(<italic>X<sub>nearest</sub>
</italic>, <italic>X<sub>rand</sub>
</italic>);
6 &#x2003;<italic>&#x3c3;<sub>a</sub>
</italic> &#x2190; Steer(<italic>X<sub>nearest</sub>
</italic>, <italic>X<sub>new</sub>
</italic>);
7 &#x2003;<italic>X<sub>parent_Ta</sub>
</italic> &#x2190; ChooseParent(<italic>X<sub>new</sub>
</italic>, <italic>Depth</italic>);
8 &#x2003;<bold>if</bold> <italic>X<sub>parent_Ta</sub>
</italic> &#x2260; &#x2205; then
9 &#x2003;&#x2003;<italic>T<sub>a</sub>
</italic> &#x2190; Rewire(<italic>T<sub>a</sub>
</italic>, <italic>X<sub>new</sub>
</italic>, <bold>
<italic>X<sub>ancestries_Ta</sub>
</italic>
</bold>)
10 &#x2003;<bold>end if</bold>
11 &#x2003;<italic>X<sub>nearest_Tb</sub>
</italic> &#x2190; NearestVertex (<italic>X<sub>new</sub>
</italic>, <italic>T<sub>b</sub>
</italic>);
12 &#x2003;<italic>X<sub>new2</sub>
</italic> &#x2190; Extend(<italic>X<sub>nearest_Tb</sub>
</italic>, <italic>X<sub>Tb_Extend</sub>
</italic>);
13 &#x2003;<italic>&#x3c3;<sub>b</sub>
</italic> &#x2190; Steer(<italic>X<sub>nearest_Tb</sub>
</italic>, <italic>X<sub>new2</sub>
</italic>);
14 &#x2003;<italic>X<sub>parent_Tb</sub>
</italic> &#x2190; ChooseParent(<italic>X<sub>new2</sub>
</italic>, <italic>Depth</italic>);
15 &#x2003;<bold>if</bold> <italic>X<sub>parent</sub>
</italic> &#x2260; &#xd8; then
16 &#x2003;&#x2003;<italic>T<sub>b</sub> &#x2190;</italic>Rewire(<italic>T<sub>b</sub>
</italic>, <italic>X<sub>new2</sub>
</italic>, <bold>
<italic>X <sub>ancestries_Tb</sub>
</italic>
</bold>)
17 &#x2003;<bold>end if</bold>
18 &#x2003;<bold>if</bold> distance(<italic>X<sub>new2</sub>
</italic>,<italic>X<sub>new</sub>
</italic>) &#x2264; <italic>GoalRadiu</italic>;
19 &#x2003;&#x2003;<italic>X<sub>create_conn</sub>
</italic> &#x2190; CreateConnectNode(<italic>T<sub>a</sub>
</italic>, <italic>T<sub>b</sub>
</italic>, <italic>X<sub>new</sub>
</italic>);
20 &#x2003;<bold>end if</bold>
21 &#x2003;<bold>end for</bold>
</preformat>
</td>
</tr>
</tbody>
</table>
</table-wrap>
<sec id="s2_1">
<label>2.1</label>
<title>Cost function of smooth expansion</title>
<p>In the application of mobile robots in orchards, the efficacy of the RRT and its extended variants in path planning has been suboptimal. The heading angles of the generated path nodes have large variations in the path planning phase because of the random nature of the algorithm, which challenges the kinematic constraints of the mobile robot. This leads to significant lateral deviation in the navigation of the robot, contributing to navigation failure. This section proposes a novel path cost function based on the analysis of the kinematic constraints of a mobile robot that mitigates this problem.</p>
<p>Assuming a uniform terrain, the spatial position of a tracked mobile robot within an orchard environment can be defined as <italic>X<sub>i</sub> </italic>= (<italic>x<sub>i</sub>
</italic>, <italic>y<sub>i</sub>
</italic>, <italic>&#x3b8;<sub>i</sub>
</italic>), as illustrated in <xref ref-type="fig" rid="f1">
<bold>Figure&#xa0;1</bold>
</xref>. Here, <italic>x<sub>i</sub>
</italic> and <italic>y<sub>i</sub>
</italic> represent the coordinates in the global <italic>x<sub>w</sub>
</italic>&#x2013;<italic>y<sub>w</sub>
</italic> coordinate system, while <italic>&#x3b8;<sub>i</sub>
</italic> signifies the robot&#x2019;s orientation angle. The computation of <italic>&#x3b8;<sub>i</sub>
</italic> is done using <xref ref-type="disp-formula" rid="eq1">Equation (1)</xref>.</p>
<fig id="f1" position="float">
<label>Figure&#xa0;1</label>
<caption>
<p>Schematic diagram of the mobile robot configuration.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-15-1337638-g001.tif"/>
</fig>
<disp-formula id="eq1">
<label>(1)</label>
<mml:math display="block" id="M1">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b8;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>arctan</mml:mi>
<mml:mrow>
<mml:mo stretchy="true">(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo stretchy="true">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Additionally, by neglecting any track deformation during the motion of the tracked mobile robots, we can approximate their kinematics as that of a differentially driven mobile robot. According to the kinematic model formula, the kinematic constraints can be articulated using <xref ref-type="disp-formula" rid="eq2">Equation (2)</xref>.</p>
<disp-formula id="eq2">
<label>(2)</label>
<mml:math display="block" id="M2">
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo stretchy="true">[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b8;</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo stretchy="true">]</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo stretchy="true">[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b8;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo stretchy="true">]</mml:mo>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mo stretchy="true">[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mrow>
<mml:msubsup>
<mml:mo>&#x222b;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mrow>
<mml:mtext>&#x394;</mml:mtext>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:mi>cos</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>&#x3b8;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi>d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mrow>
<mml:msubsup>
<mml:mo>&#x222b;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mrow>
<mml:mtext>&#x394;</mml:mtext>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:mi>sin</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>&#x3b8;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi>d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mrow>
<mml:msubsup>
<mml:mo>&#x222b;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mrow>
<mml:mtext>&#x394;</mml:mtext>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo stretchy="true">]</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="true">[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b8;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo stretchy="true">]</mml:mo>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mo stretchy="true">[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>R</mml:mi>
<mml:mi>sin</mml:mi>
<mml:msub>
<mml:mi>&#x3b8;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>R</mml:mi>
<mml:mi>sin</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>&#x3b8;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>&#x3c9;</mml:mi>
<mml:mtext>&#x394;</mml:mtext>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>R</mml:mi>
<mml:mi>cos</mml:mi>
<mml:msub>
<mml:mi>&#x3b8;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>R</mml:mi>
<mml:mi>cos</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>&#x3b8;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>&#x3c9;</mml:mi>
<mml:mtext>&#x394;</mml:mtext>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
<mml:mtext>&#x394;</mml:mtext>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo stretchy="true">]</mml:mo>
</mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
<mml:mo>&#x2260;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="true">[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b8;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo stretchy="true">]</mml:mo>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mo stretchy="true">[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:mtext>&#x394;</mml:mtext>
<mml:mi>t</mml:mi>
<mml:mi>cos</mml:mi>
<mml:msub>
<mml:mi>&#x3b8;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:mtext>&#x394;</mml:mtext>
<mml:mi>t</mml:mi>
<mml:mi>sin</mml:mi>
<mml:msub>
<mml:mi>&#x3b8;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo stretchy="true">]</mml:mo>
</mml:mrow>
<mml:mi>w</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
<p>where <italic>v<sub>c</sub>
</italic> and <italic>&#x3c9;</italic> are the linear and angular velocities of the robot, respectively; <italic>R</italic> is the turning radius of the robot, and <inline-formula>
<mml:math display="inline" id="im1">
<mml:mrow>
<mml:mi>R</mml:mi>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>From <xref ref-type="disp-formula" rid="eq2">Equation (2)</xref>, the transformation between the robot&#x2019;s current configurations depends on the kinematic parameter constraints. When the planned path includes points with significant changes in yaw angles, it can result in unreachable points along the path. Consequently, significant lateral deviation errors occur during the robot&#x2019;s trajectory tracking process, as shown in <xref ref-type="fig" rid="f2">
<bold>Figure&#xa0;2</bold>
</xref>, where <italic>X</italic>
<sub>2</sub> = (<italic>x</italic>
<sub>2</sub>
<italic>, y</italic>
<sub>2</sub>
<italic>, &#x3b8;</italic>
<sub>2</sub>) is the path point of the planned path and <italic>X</italic>
<sub>2</sub>&#x2019; = (<italic>x</italic>
<sub>2</sub>&#x2019;<italic>, y</italic>
<sub>2</sub>&#x2019;<italic>, &#x3b8;</italic>
<sub>2</sub>&#x2019;) is the path point reached by the mobile robot under the kinematic constraints.</p>
<fig id="f2" position="float">
<label>Figure&#xa0;2</label>
<caption>
<p>Schematic of mobile robot trajectory deviation.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-15-1337638-g002.tif"/>
</fig>
<p>Thus, significant changes in the heading angle at the waypoint result in considerable lateral error in the path-following trajectory of the mobile robot during navigation. This section introduces a novel path cost function, denoted as <italic>C</italic>(<italic>x<sub>i</sub>
</italic>, <italic>x<sub>i+1</sub>
</italic>), designed to regulate the expansion direction of the nodes, as shown in <xref ref-type="disp-formula" rid="eq3">Equations (3)</xref> and <xref ref-type="disp-formula" rid="eq4">(4)</xref>.</p>
<disp-formula id="eq3">
<label>(3)</label>
<mml:math display="block" id="M3">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi>D</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mi>A</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="eq4">
<label>(4)</label>
<mml:math display="block" id="M4">
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>D</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mi>D</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>p</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>&lt;</mml:mo>
<mml:mi>D</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>p</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>+</mml:mo>
<mml:mi>&#x221e;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>h</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>where <italic>X<sub>i</sub>
</italic>
<sub>(</sub>
<italic>
<sub>parent</sub>
</italic>
<sub>)</sub> denotes the parent node of <italic>X<sub>i</sub>
</italic>. The path cost function <italic>C</italic>(<italic>X<sub>i</sub>
</italic>, <italic>X<sub>i</sub>
</italic>
<sub>+1</sub>) comprises a distance cost function <italic>D</italic>(<italic>X<sub>i</sub>
</italic>, <italic>x<sub>i</sub>
</italic>
<sub>+1</sub>) and an angle penalty function <italic>A</italic>(<italic>X<sub>i</sub>
</italic>, <italic>X<sub>i</sub>
</italic>
<sub>+1</sub>). The computation of <italic>D</italic>(<italic>X<sub>i</sub>
</italic>, <italic>X<sub>i</sub>
</italic>
<sub>+1</sub>) involves using the Euclidean distance formula, whereas <italic>A</italic>(<italic>X<sub>i</sub>
</italic>, <italic>X<sub>i</sub>
</italic>
<sub>+1</sub>) is calculated indirectly using the cosine formula. An angle cost penalty is introduced when the heading angle between path nodes exceeds &#x3c0;/2.</p>
<p>The CBQ-RRT* algorithm uses the cost function in lines 4&#x2014;6 and 11&#x2014;13 of <xref ref-type="other" rid="T7">
<bold>Algorithm 1</bold>
</xref> to select the initial parents of <italic>X<sub>rand</sub>
</italic> and <italic>X<sub>new</sub>
</italic> in the two extended trees, ensuring that the paths between them and their respective parents satisfy the kinematic constraints. Thus, the CBQ-RRT* algorithm restricts the expansion direction of the nodes, ensuring compliance with the kinematic constraints of the mobile robot. <xref ref-type="fig" rid="f3">
<bold>Figure&#xa0;3</bold>
</xref> illustrates the node expansion process. Additionally, the CBQ-RRT* algorithm incorporates the cost function into the ChooseParent and Rewire functions in lines 7&#x2013;10 and 14&#x2013;17 of <xref ref-type="other" rid="T7">
<bold>Algorithm 1</bold>
</xref>, which further maintains the path to satisfy the kinematic constraints during the path optimization process of the CBQ-RRT* algorithm. The pseudocode for implementing the ChooseParent and Rewire functions is shown in <xref ref-type="other" rid="T8">
<bold>Algorithm 2</bold>
</xref> and <xref ref-type="other" rid="T9">
<bold>Algorithm 3</bold>
</xref>.</p>
<fig id="f3" position="float">
<label>Figure&#xa0;3</label>
<caption>
<p>CBQ-RRT* algorithm node expansion process.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-15-1337638-g003.tif"/>
</fig>
<table-wrap id="T8" position="float">
<label>Algorithm 2</label>
<caption><p>ChooseParent(<italic>X<sub>new</sub>
</italic>, <italic>Depth</italic>).</p></caption>
<table>
<tbody>
<tr>
<td>
<preformat>
<italic>1</italic> &#x2003;<bold>
<italic>X<sub>near</sub>
</italic>
</bold> &#x2190; NearVertices(<italic>X<sub>new</sub>
</italic>, <italic>T</italic>, <italic>R</italic>);
2 &#x2003;<bold>for</bold> <italic>X<sub>near</sub>
</italic> &#x2208; <bold>
<italic>X</italic>
</bold>
<italic>
<sub>near</sub>
</italic> <bold>do</bold>
3 &#x2003;<italic>X<sub>ancestry</sub>
</italic> &#x2190; <italic>X<sub>near</sub>
</italic>;4 &#x2003;&#x2003;<bold>for</bold> <italic>i =</italic> 0 to Depth <bold>do</bold>
5 &#x2003;&#x2003;&#x2003;<bold>if</bold> <italic>X<sub>ancestry</sub>
</italic> &#x2209; <bold>
<italic>X<sub>ancestries</sub>
</italic>
</bold>;
6 &#x2003;&#x2003;&#x2003;&#x2003;<bold>
<italic>X<sub>ancestries</sub>
</italic>
</bold> &#x2190; <italic>X<sub>ancestry</sub>
</italic> &#x222a;<bold>
<italic>X<sub>ancestries</sub>
</italic>
</bold>;
7 &#x2003;&#x2003;&#x2003;<bold>end if</bold>
8 &#x2003;&#x2003;&#x2003;<italic>X<sub>ancestry</sub>
</italic> &#x2190;parent(<italic>X<sub>ancestry</sub>
</italic>);
9 &#x2003;&#x2003;<bold>end for</bold>
10 &#x2003;<bold>end for</bold>
11 &#x2003;<italic>X<sub>parent_new</sub>
</italic>&#x2190;findCost_min(<bold>
<italic>X<sub>ancestry</sub>
</italic>
</bold>, <italic>X<sub>new</sub>
</italic>)
12 &#x2003;<bold>Return</bold> <italic>X<sub>parent_new</sub>
</italic>
</preformat>
</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="T9" position="float">
<label>Algorithm 3</label>
<caption><p>Rewire(<bold>
<italic>X<sub>new</sub>
</italic>
</bold>
<italic>, X<sub>near</sub>
</italic>, X<sub>ancestries</sub>).</p>
</caption>
<table>
<tbody>
<tr>
<td>
<preformat>
<bold>1 &#x2003;for all</bold> <italic>X<sub>from</sub>
</italic>&#x2208;<italic>X<sub>new</sub>
</italic>&#x222a;<bold>
<italic>X<sub>ancestries</sub>
</italic> do</bold>
2 &#x2003;&#x2003;<bold>for all</bold> <italic>X<sub>near</sub>
</italic> &#x2208;<bold>
<italic>X<sub>near</sub>
</italic>
</bold>
3 &#x2003;&#x2003;&#x2003;<bold>if</bold> Cost(<italic>X<sub>from</sub>
</italic>) + Cost(<italic>X<sub>from</sub>
</italic>, <italic>X<sub>near</sub>
</italic>) &#x2264; Cost (<bold>
<italic>X</italic>
</bold>
<italic>
<sub>near</sub>
</italic>) &amp; CollisonFree <bold>then;</bold>
4 &#x2003;&#x2003;&#x2003;&#x2003;<italic>X<sub>parent_near</sub>
</italic> &#x2190; <italic>X<sub>from</sub>
</italic>;
5 &#x2003;&#x2003;  <bold>end if</bold>
6 &#x2003;<bold>end for</bold>
</preformat>
</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s2_2">
<label>2.2</label>
<title>Dual-tree smooth connected method</title>
<p>Adding the Quick-RRT* algorithm to the bidirectional expansion method in <xref ref-type="other" rid="T7">
<bold>Algorithm 1</bold>
</xref> improves the planning efficiency, but in the expansion direction; <italic>T<sub>a</sub>
</italic> expands in the <italic>X<sub>rand</sub>
</italic> direction and <italic>T<sub>b</sub>
</italic> expands in the <italic>X<sub>new</sub>
</italic> direction generated by <italic>T<sub>a</sub>
</italic>. Moreover, ChooseParent and Rewire optimization during the dual-tree expansion is performed independently, making it difficult to obtain the optimal connection point by random sampling in a complex environment. For example, in <xref ref-type="fig" rid="f4">
<bold>Figure&#xa0;4</bold>
</xref>, if the Quick-RRT* algorithm is added directly to the bidirectional expansion method, the iteration is stopped after the dual-tree connection. In addition, there is a higher probability of path points with large changes in the heading angle in the path connection, and a large redundant section of the path is added, as shown in <xref ref-type="fig" rid="f4">
<bold>Figure&#xa0;4A</bold>
</xref>. To enhance this situation, once a connection path is obtained between the two trees (line 18 in <xref ref-type="other" rid="T7">
<bold>Algorithm 1</bold>
</xref>), the CBQ-RRT* algorithm proposes the CreateConnectNode algorithm to generate a more optimal dual-tree connection point <italic>X<sub>creat_conn</sub>
</italic> (line 19 in <xref ref-type="other" rid="T7">
<bold>Algorithm 1</bold>
</xref>). The pseudocode implementation is displayed in <xref ref-type="other" rid="T10">
<bold>Algorithm 4</bold>
</xref>, and an example of the algorithm implementation is displayed in <xref ref-type="fig" rid="f4">
<bold>Figure&#xa0;4B</bold>
</xref>.</p>
<fig id="f4" position="float">
<label>Figure&#xa0;4</label>
<caption>
<p>CreateConnectNode algorithm implementation procedure. <bold>(A)</bold> Originally planned path; <bold>(B)</bold> optimized planned path.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-15-1337638-g004.tif"/>
</fig>
<table-wrap id="T10" position="float">
<label>Algorithm 4</label>
<caption><p>CreateConnectNode(<italic>T<sub>a</sub>
</italic>, <italic>T<sub>b</sub>
</italic>, <italic>X<sub>new</sub>
</italic>).</p></caption>
<table>
<tbody>
<tr>
<td>
<preformat>
<italic>1 &#x2003;X<sub>up</sub>
</italic> &#x2190; <italic>X<sub>conn</sub>
</italic>
2 &#x2003;<italic>X<sub>bottom</sub>
</italic> &#x2190; <italic>X<sub>parent_Ta</sub>
</italic>
3 &#x2003;<bold>while</bold> distance(<italic>X<sub>up</sub>
</italic>, <italic>X<sub>bottom</sub>
</italic>) &gt; <italic>dichotomy</italic> do
4 &#x2003;<italic>X<sub>transition</sub>
</italic>  &#x2190; (<italic>X<sub>up</sub>
</italic> + <italic>X<sub>bottom</sub>
</italic>)/2;
5 &#x2003;&#x2003;<bold>if</bold> <italic>CollisionFree</italic>(<italic>X<sub>transition</sub>
</italic>, <italic>X<sub>parent_x_new</sub>
</italic>)
6 &#x2003;&#x2003;&#x2003;<italic>X<sub>up</sub>
</italic> &#x2190; <italic>X<sub>transition;</sub>
</italic>
7 &#x2003;&#x2003;<bold>else</bold>
8 &#x2003;&#x2003;&#x2003;<italic>X<sub>bottom</sub>
</italic> &#x2190; <italic>X<sub>transition</sub>
</italic>;
9 &#x2003;&#x2003;<bold>end if</bold>
10 &#x2003;<bold>end while</bold>
11 &#x2003;<italic>X<sub>bottom</sub>
</italic> &#x2190; <italic>X<sub>parent_Tb</sub>
</italic>;
12 &#x2003;<bold>while</bold> distance(<italic>X<sub>up</sub>
</italic>, <italic>X<sub>bottom</sub>
</italic>) &gt; <italic>dichotomy</italic> do
13 &#x2003;&#x2003;<italic>X<sub>creat_conn</sub>
</italic> &#x2190; (<italic>X<sub>up</sub>
</italic>+ <italic>X<sub>bottom</sub>
</italic>)/2;
14 &#x2003;&#x2003;if <italic>CollisionFree</italic>(<italic>X<sub>creat_conn</sub>
</italic>, <italic>X<sub>parent_x_new</sub>
</italic>)
15 &#x2003;&#x2003;&#x2003;<italic>X<sub>up</sub>
</italic> &#x2190; <italic>X<sub>creat_conn</sub>
</italic>;
16 &#x2003;&#x2003;<bold>else</bold>
17 &#x2003;&#x2003;&#x2003;<italic>X<sub>bottom</sub>
</italic> &#x2190; <italic>X<sub>creat_conn</sub>
</italic>;
18 &#x2003;&#x2003;<bold>end if</bold>
19 &#x2003;<bold>end while</bold>
20 &#x2003;<bold>return</bold> <italic>X<sub>creat_conn</sub> </italic>
</preformat>
</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The CreateConnectNode algorithm operates as follows:</p>
<list list-type="simple">
<list-item>
<p>(1) When the two expansion trees <italic>T<sub>a</sub>
</italic> and <italic>T<sub>b</sub>
</italic> are connected, the respective node sets <bold>
<italic>X</italic>
</bold>
<italic>
<sub>ancestry_Ta</sub>
</italic> and <bold>
<italic>X</italic>
</bold>
<italic>
<sub>ancestry_Tb</sub>
</italic> belonging to node <italic>X<sub>conn</sub>
</italic> are identified. The parent nodes <italic>X<sub>parent_Ta</sub>
</italic> and <italic>X<sub>parent_Tb</sub>
</italic> of <italic>X<sub>conn</sub>
</italic> are also located within this set.</p>
</list-item>
<list-item>
<p>(2) Initially, the transition point <italic>X<sub>transition</sub>
</italic> on the line linking <italic>X<sub>parent_Ta</sub>
</italic> and <italic>X<sub>conn</sub>
</italic> is ascertained. At the iteration onset, <italic>X<sub>parent_Ta</sub>
</italic> and <italic>X<sub>conn</sub>
</italic> are characterized as the lower and upper endpoints <italic>X<sub>bottom</sub>
</italic> and <italic>X<sub>top</sub>
</italic>, respectively. The midpoint between <italic>X<sub>bottom</sub>
</italic> and <italic>X<sub>top</sub>
</italic> is defined as <italic>X<sub>mid</sub>
</italic>. This is followed by connecting <italic>X<sub>parent_Tb</sub>
</italic> and <italic>X<sub>mid</sub>
</italic>. In the absence of a collision, <italic>X<sub>mid</sub>
</italic> is reassigned as <italic>X<sub>top</sub>
</italic>; otherwise, <italic>X<sub>mid</sub>
</italic> is redefined as <italic>X<sub>bottom</sub>
</italic>. The iteration continues, and according to the dichotomy principle, the distance between <italic>X<sub>top</sub>
</italic> and <italic>X<sub>bottom</sub>
</italic> is progressively reduced until it falls below a pre-established dichotomy parameter. Using this approximation, <italic>X<sub>transition</sub>
</italic> on the line connecting <italic>X<sub>parent_Ta</sub>
</italic> and <italic>X<sub>conn</sub>
</italic> is obtained. Applying the same principle, <italic>X<sub>transition</sub>
</italic> and <italic>X<sub>parent_Tb</sub>
</italic> are designated as <italic>X<sub>up</sub>
</italic> and <italic>X<sub>bottom</sub>
</italic>, respectively, with the optimal connection point <italic>X<sub>create_conn</sub>
</italic> discovered on the line connecting <italic>X<sub>transition</sub>
</italic> and <italic>X<sub>parent_Tb</sub>
</italic>.</p>
</list-item>
<list-item>
<p>(3) Eventually, <italic>X<sub>create_conn</sub>
</italic> serves as the link connecting the two expansion trees Ta and Tb, with <italic>X<sub>parent_Ta</sub>
</italic> and <italic>X<sub>parent_Tb</sub>
</italic> assigned as parent nodes, respectively, thereby combining the two trees and revealing the final path, as depicted in <xref ref-type="fig" rid="f5">
<bold>Figure&#xa0;5B</bold>
</xref>. The CreateConnectNode optimization algorithm produces an improved connection point, <italic>X<sub>create_conn</sub>
</italic>, over the original. This resolves the smoothing issue encountered when connecting two expansion trees, thereby reducing both the trajectory&#x2019;s extensive angular change and its length.</p>
</list-item>
</list>
<fig id="f5" position="float">
<label>Figure&#xa0;5</label>
<caption>
<p>Scenarios of simulation experiment. <bold>(A)</bold> Scenario 1; <bold>(B)</bold> scenario 2; <bold>(C)</bold> scenario 3.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-15-1337638-g005.tif"/>
</fig>
</sec>
</sec>
<sec id="s3">
<label>3</label>
<title>Simulations and experimentations</title>
<sec id="s3_1">
<label>3.1</label>
<title>Path planning simulations</title>
<sec id="s3_1_1">
<label>3.1.1</label>
<title>Simulation setting</title>
<p>To evaluate the performance of the proposed algorithm, three representative orchard scenarios (<xref ref-type="fig" rid="f6">
<bold>Figure&#xa0;6</bold>
</xref>) were used to construct the corresponding simulation maps (<xref ref-type="fig" rid="f5">
<bold>Figure&#xa0;5</bold>
</xref>). The white and black areas indicate the feasible and obstacle areas, respectively; the green and red points indicate the starting and target points of the scenario path plan, respectively. The maps have dimensions of 1,152&#xd7;648 pixels and a resolution of 0.025 m/pixel. The starting and target configurations for all three scenarios are presented in <xref ref-type="table" rid="T1">
<bold>Table&#xa0;1</bold>
</xref>. The simulation experiments were conducted on a computer powered by an Intel Core i5 processor with 16 GB of RAM utilizing the ROS-Melodic platform. For a comparative analysis, the proposed algorithm was pitted against the Bi-RRT* and Quick-RRT* algorithms, run with the depth parameter set to three during the simulation.</p>
<fig id="f6" position="float">
<label>Figure&#xa0;6</label>
<caption>
<p>Simulated orchard scene. <bold>(A)</bold> Standardized orchard planting; <bold>(B)</bold> orchard with irregular roads; <bold>(C)</bold> orchard with irregular planting.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-15-1337638-g006.tif"/>
</fig>
<table-wrap id="T1" position="float">
<label>Table&#xa0;1</label>
<caption>
<p>Parameters of the starting and target points of the simulation environment.</p>
</caption>
<table frame="hsides">
<thead>
<tr>
<th valign="top" align="left">Scenarios</th>
<th valign="top" align="left">Starting configuration</th>
<th valign="top" align="left">Target configuration</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">1</td>
<td valign="top" align="left">[0&#xa0;m, 0&#xa0;m, 0&#xb0;]</td>
<td valign="top" align="left">[0&#xa0;m,-14 m, 180&#xb0;]</td>
</tr>
<tr>
<td valign="top" align="left">2</td>
<td valign="top" align="left">[0&#xa0;m, 0&#xa0;m, 0&#xb0;]</td>
<td valign="top" align="left">[3&#xa0;m,27 m, 90&#xb0;]</td>
</tr>
<tr>
<td valign="top" align="left">3</td>
<td valign="top" align="left">[0&#xa0;m, 0&#xa0;m, 0&#xb0;]</td>
<td valign="top" align="left">[26.5&#xa0;m,-1.6 m, 0&#xb0;]</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>In the practical application of the orchard mobile robot navigation path planning, we focused on the executability, execution efficiency of the planned paths, and computational efficiency of the algorithm. Therefore, we systematically recorded the key parameters: the length and maximum steering angle of the algorithmically planned path, and the time taken by the algorithm for path formulation in the simulation. Path length serves as a central metric for evaluating the execution efficiency of an algorithmically planned path. A shorter path length directly corresponds to reduced time to execute the path, particularly for a given linear velocity of the mobile robot. Simultaneously, the maximum steering angle acts as an indicator of path smoothness. The conclusions drawn from the previous kinematic analysis indicate that a smaller maximum steering angle in the path correlates with a smaller lateral error generated by the mobile robot during path execution. The execution time of an algorithm is a direct indicator of its computational efficiency, which is related to its real-time responsiveness to dynamic scenarios.</p>
<p>In this section, each algorithm was executed 100 times in the three scenarios. The evaluation aimed to assess the efficiency of path planning, the feasibility of mobile robots in orchards, and overall algorithmic efficiency.</p>
</sec>
<sec id="s3_1_2">
<label>3.1.2</label>
<title>Analysis of simulation results</title>
<p>Examples of the simulation results are shown in <xref ref-type="fig" rid="f7">
<bold>Figures&#xa0;7</bold>
</xref>&#x2013;<xref ref-type="fig" rid="f9">
<bold>9</bold>
</xref>. The thin red lines indicate the randomly constructed trees, whereas the thick green lines indicate the final planned paths.</p>
<fig id="f7" position="float">
<label>Figure&#xa0;7</label>
<caption>
<p>Example of simulation results for scenario 1. <bold>(A)</bold> Bi-RRT*; <bold>(B)</bold> Quick-RRT*; <bold>(C)</bold> CBQ-RRT*.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-15-1337638-g007.tif"/>
</fig>
<fig id="f8" position="float">
<label>Figure&#xa0;8</label>
<caption>
<p>Example of simulation results for scenario 2. <bold>(A)</bold> Bi-RRT*; <bold>(B)</bold> Quick-RRT*; <bold>(C)</bold> CBQ-RRT*.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-15-1337638-g008.tif"/>
</fig>
<fig id="f9" position="float">
<label>Figure&#xa0;9</label>
<caption>
<p>Example of simulation results for scenario 3. <bold>(A)</bold> Bi-RRT*; <bold>(B)</bold> Quick-RRT*; <bold>(C)</bold> CBQ-RRT*.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-15-1337638-g009.tif"/>
</fig>
<p>The path planning results highlight a notable reduction in the number of red lines for the Bi-RRT and CBQ-RRT* algorithms compared to the Quick-RRT* algorithm. This reduction implies that the Bi-RRT* and CBQ-RRT* algorithms can formulate planned paths with an expansion of a relatively modest number of nodes, indicating superior efficiency in path planning. Additionally, an examination of the final planned path, represented by the thick green line, reveals distinctive characteristics. The path of the Bi-RRT* algorithm at the dual-tree node, as indicated by the rectangular box, displays a noticeable curvature. In contrast, the path planned by the CBQ-RRT* algorithm demonstrates remarkable smoothness, with a shorter length than that planned by the Bi-RRT* algorithm. This observation underscores the superior quality of the paths generated by the CBQ-RRT* algorithm compared to the Bi-RRT* algorithm. The simulation examples provided initially demonstrate that the CBQ-RRT* algorithm can achieve higher-quality path planning while maintaining superior algorithmic efficiency. More detailed simulation results and statistics are presented in <xref ref-type="fig" rid="f10">
<bold>Figure&#xa0;10</bold>
</xref> and <xref ref-type="table" rid="T2">
<bold>Tables&#xa0;2</bold>
</xref>&#x2013;<xref ref-type="table" rid="T4">
<bold>4</bold>
</xref>.</p>
<fig id="f10" position="float">
<label>Figure&#xa0;10</label>
<caption>
<p>Statistics of simulation results. <bold>(A)</bold> The path length statistics results; <bold>(B)</bold> the maximum path angle statistics results; <bold>(C)</bold> the planning time statistics results.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-15-1337638-g010.tif"/>
</fig>
<table-wrap id="T2" position="float">
<label>Table&#xa0;2</label>
<caption>
<p>Path length statistics of simulation results.</p>
</caption>
<table frame="hsides">
<thead>
<tr>
<th valign="top" align="left">&#x2003;&#x2003;&#x2003;&#x2003;&#x2003;Scenarios<break/>Algorithm</th>
<th valign="top" align="left">Scenario 1</th>
<th valign="top" align="left">Scenario 2</th>
<th valign="top" align="left">Scenario 3</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">CBQ-RRT*</td>
<td valign="bottom" align="left">80.84 m</td>
<td valign="bottom" align="left">39.93 m</td>
<td valign="bottom" align="left">43.65 m</td>
</tr>
<tr>
<td valign="top" align="left">Quick-RRT*</td>
<td valign="bottom" align="left">81.06 m<break/>(+0.2%)</td>
<td valign="bottom" align="left">40.33 m<break/>(+1.0%)</td>
<td valign="bottom" align="left">43.92 m<break/>(+0.6%)</td>
</tr>
<tr>
<td valign="top" align="left">Bi-RRT*</td>
<td valign="bottom" align="left">85.33 m<break/>(+5.3%)</td>
<td valign="bottom" align="left">44.71 m<break/>(+10.9%)</td>
<td valign="bottom" align="left">46.55 m<break/>(+6.0%)</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="T3" position="float">
<label>Table&#xa0;3</label>
<caption>
<p>Maximum path angle of simulation results.</p>
</caption>
<table frame="hsides">
<thead>
<tr>
<th valign="top" align="left">&#x2003;&#x2003;&#x2003;&#x2003;&#x2003;Scenarios<break/>Algorithm</th>
<th valign="top" align="left">Scenario 1</th>
<th valign="top" align="left">Scenario 2</th>
<th valign="top" align="left">Scenario 3</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">CBQ-RRT*</td>
<td valign="top" align="left">60.89&#xb0;</td>
<td valign="top" align="left">53.93&#xb0;</td>
<td valign="top" align="left">52.89&#xb0;</td>
</tr>
<tr>
<td valign="top" align="left">Quick-RRT*</td>
<td valign="top" align="left">61.74&#xb0;<break/>(+1.4%)</td>
<td valign="top" align="left">54.78&#xb0;<break/>(+1.6%)</td>
<td valign="top" align="left">58.26&#xb0;<break/>(+1.0%)</td>
</tr>
<tr>
<td valign="top" align="left">Bi-RRT*</td>
<td valign="top" align="left">74.33&#xb0;<break/>(+41.44%)</td>
<td valign="top" align="left">60.46&#xb0;<break/>(+20.4%)</td>
<td valign="top" align="left">71.61&#xb0;<break/>(+22.9%)</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="T4" position="float">
<label>Table&#xa0;4</label>
<caption>
<p>Planning time statistics of simulation results.</p>
</caption>
<table frame="hsides">
<thead>
<tr>
<th valign="top" align="left">&#x2003;&#x2003;&#x2003;&#x2003;&#x2003;Scenarios<break/>Algorithm</th>
<th valign="top" align="left">Scenario 1</th>
<th valign="top" align="left">Scenario 2</th>
<th valign="top" align="left">Scenario 3</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">CBQ-RRT*</td>
<td valign="top" align="left">2.96 s</td>
<td valign="top" align="left">2.14 s</td>
<td valign="top" align="left">1.33 s</td>
</tr>
<tr>
<td valign="top" align="left">Quick-RRT*</td>
<td valign="top" align="left">41.97 s</td>
<td valign="top" align="left">8.86 s</td>
<td valign="top" align="left">2.24 s</td>
</tr>
<tr>
<td valign="top" align="left">Bi-RRT*</td>
<td valign="top" align="left">2.15 s</td>
<td valign="top" align="left">1.47 s</td>
<td valign="top" align="left">1.49 s</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>First, <xref ref-type="fig" rid="f10">
<bold>Figure&#xa0;10A</bold>
</xref> and <xref ref-type="table" rid="T2">
<bold>Table&#xa0;2</bold>
</xref> demonstrate that the CBQ-RRT* algorithm consistently outperforms the Bi-RRT* and Quick-RRT* algorithms in generating more efficient paths across the three distinct environmental scenarios. During iteration, the CBQ-RRT* and Quick-RRT* algorithms enhance the potential parent node set in the ChooseParent and Rewire phases, finding shorter paths. Additionally, the CBQ-RRT* algorithm employs CreateConnectNode optimization, significantly improving path quality and yielding shorter paths than the Quick-RRT* algorithm, as shown in <xref ref-type="table" rid="T2">
<bold>Table&#xa0;2</bold>
</xref>.</p>
<p>Second, unlike Bi-RRT* and Quick-RRT* algorithms, the CBQ-RRT* algorithm integrates a cost function that accounts for cornering constraints, significantly reducing sudden changes in path curvature. The CBQ-RRT* algorithm uses a smoothing connection technique in the bidirectional tree connection process to produce smoother paths and is further supported by the maximum path-turning angle data in <xref ref-type="fig" rid="f10">
<bold>Figure&#xa0;10B</bold>
</xref> and <xref ref-type="table" rid="T3">
<bold>Table&#xa0;3</bold>
</xref>. Based on the constraints imposed by the robot kinematics, the smaller the maximum turning angle, the smaller the lateral deviation error of the mobile robot when executing the path.</p>
<p>Finally, regarding algorithmic efficiency, <xref ref-type="fig" rid="f10">
<bold>Figure&#xa0;10C</bold>
</xref> and <xref ref-type="table" rid="T4">
<bold>Table&#xa0;4</bold>
</xref> show that Bi-RRT* and CBQ-RRT* algorithms have shorter path initialization times than the Quick-RRT* algorithm, particularly in Scenario 1, as characterized by the smaller feasible region and a more complex environment. This emphasizes the effectiveness of bidirectional RRT algorithms, including CBQ-RRT*, in meeting the efficiency needs of path planning for mobile robots in orchard settings.</p>
<p>The results confirm that the CBQ-RRT* algorithm is superior to Bi-RRT* and Quick-RRT* algorithms in terms of overall performance and demonstrates its ability to efficiently plan shorter collision-free paths that align better with the kinematic constraints of mobile robots in a shorter time.</p>
</sec>
</sec>
<sec id="s3_2">
<label>3.2</label>
<title>Planned path tracking experiment</title>
<sec id="s3_2_1">
<label>3.2.1</label>
<title>Experiment setting</title>
<p>The algorithmic performance of CBQ-RRT* was further evaluated in an orchard context using real-world experiments. The physical orchard mobile robot used is shown in <xref ref-type="fig" rid="f11">
<bold>Figure&#xa0;11</bold>
</xref>, and its motion parameters are listed in <xref ref-type="table" rid="T5">
<bold>Table&#xa0;5</bold>
</xref>. The experimental environment consisted of an orchard with complex obstacles, as shown in <xref ref-type="fig" rid="f12">
<bold>Figure&#xa0;12A</bold>
</xref>. The mobile robot, equipped for picking, incorporated a three-dimensional LiDAR &#x201c;Robosensen_16&#x201d; for environmental sensing and a nine-axis IMU module to monitor its movement. From the resulting sensor data, an offline map is constructed using the cartographer algorithm proposed by <xref ref-type="bibr" rid="B10">Hess et&#xa0;al. (2016)</xref> to facilitate path planning. This map, shown in <xref ref-type="fig" rid="f12">
<bold>Figure&#xa0;12B</bold>
</xref>, consists of 712&#xd7;659 pixels at a resolution of 0.05 m/pixel.</p>
<fig id="f11" position="float">
<label>Figure&#xa0;11</label>
<caption>
<p>Self-developed mobile robot.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-15-1337638-g011.tif"/>
</fig>
<table-wrap id="T5" position="float">
<label>Table&#xa0;5</label>
<caption>
<p>The motion parameters of the mobile robot.</p>
</caption>
<table frame="hsides">
<thead>
<tr>
<th valign="top" align="left">Parameter</th>
<th valign="top" align="left">Value</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">Minimum turning radius <italic>R<sub>min</sub>
</italic>
</td>
<td valign="top" align="left">0.6 m</td>
</tr>
<tr>
<td valign="top" align="left">Maximum curvature <italic>k<sub>max</sub>
</italic>
</td>
<td valign="top" align="left">1.6 m<sup>-1</sup>
</td>
</tr>
<tr>
<td valign="top" align="left">Maximum angular velocity <italic>&#x3c9;<sub>max</sub>
</italic>
</td>
<td valign="top" align="left">20&#xb0;/s</td>
</tr>
<tr>
<td valign="top" align="left">Maximum speed <italic>v<sub>c_max</sub>
</italic>
</td>
<td valign="top" align="left">2 m/s</td>
</tr>
</tbody>
</table>
</table-wrap>
<fig id="f12" position="float">
<label>Figure&#xa0;12</label>
<caption>
<p>Experimental environment. <bold>(A)</bold> Experimental field scenario; <bold>(B)</bold> grid map of the experimental scenario.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-15-1337638-g012.tif"/>
</fig>
<p>This map was utilized to plan paths using the Bi-RRT*, Quick-RRT*, and CBQ-RRT* algorithms, each originating at [6&#xa0;m, 2&#xa0;m, 0&#xb0;] and terminating at [22.73&#xa0;m, 1&#xa0;m, 90&#xb0;], over five trials per algorithm. The experiments assessed the executability of each path planning algorithm by comparing the lateral deviation error between the planned and actual robot trajectory. The results of these on-field experiments are represented in <xref ref-type="fig" rid="f13">
<bold>Figures&#xa0;13</bold>
</xref>, <xref ref-type="fig" rid="f14">
<bold>14</bold>
</xref>; <xref ref-type="supplementary-material" rid="SM1">
<bold>Supplementary Figure 1</bold>
</xref> statistics regarding the maximum path deviation are summarized in <xref ref-type="table" rid="T6">
<bold>Table&#xa0;6</bold>
</xref>.</p>
<fig id="f13" position="float">
<label>Figure&#xa0;13</label>
<caption>
<p>Planned paths result. <bold>(A)</bold> Bi-RRT*; <bold>(B)</bold> Quick-RRT*; <bold>(C)</bold> CBQ-RRT*.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-15-1337638-g013.tif"/>
</fig>
<fig id="f14" position="float">
<label>Figure&#xa0;14</label>
<caption>
<p>The lateral error records. <bold>(A)</bold> Bi-RRT*; <bold>(B)</bold> Quick-RRT*; <bold>(C)</bold> CBQ-RRT*.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-15-1337638-g014.tif"/>
</fig>
<table-wrap id="T6" position="float">
<label>Table&#xa0;6</label>
<caption>
<p>Maximum lateral error statistics of the path.</p>
</caption>
<table frame="hsides">
<thead>
<tr>
<th valign="top" align="center">Sequence</th>
<th valign="top" align="center">Bi-RRT*</th>
<th valign="top" align="center">Quik-RRT*</th>
<th valign="top" align="center">CBQ-RRT*</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="center">1</td>
<td valign="top" align="center">0.77 m</td>
<td valign="top" align="center">0.60 m</td>
<td valign="top" align="center">0.32 m</td>
</tr>
<tr>
<td valign="top" align="center">2</td>
<td valign="top" align="center">0.52 m</td>
<td valign="top" align="center">0.40 m</td>
<td valign="top" align="center">0.36 m</td>
</tr>
<tr>
<td valign="top" align="center">3</td>
<td valign="top" align="center">0.92 m</td>
<td valign="top" align="center">0.37 m</td>
<td valign="top" align="center">0.42 m</td>
</tr>
<tr>
<td valign="top" align="center">4</td>
<td valign="top" align="center">1.05 m</td>
<td valign="top" align="center">0.46 m</td>
<td valign="top" align="center">0.31 m</td>
</tr>
<tr>
<td valign="top" align="center">5</td>
<td valign="top" align="center">0.72 m</td>
<td valign="top" align="center">0.45 m</td>
<td valign="top" align="center">0.26 m</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s3_2_2">
<label>3.2.2</label>
<title>Analysis of experiment results</title>
<p>
<xref ref-type="fig" rid="f13">
<bold>Figure&#xa0;13</bold>
</xref> shows the results of the paths planned by the Bi-RRT*, Quick-RRT*, and CBQ-RRT* algorithms in a real environment map. These results are consistent with those obtained in the simulation experiments, with the CBQ-RRT* algorithm demonstrating the ability to generate planned paths of relatively high quality using fewer extended nodes.</p>
<p>The real-time trajectory of the robot was monitored during path execution using the localization module of the Cartographer algorithm. <xref ref-type="supplementary-material" rid="SM1">
<bold>Supplementary Figure 1</bold>
</xref> shows the paths planned by the three algorithms, represented by red line segments, along with the actual trajectories of the mobile robot during navigation, represented by blue curves. The planned and actual trajectories are length normalized to quantify the executability of the path during the navigation process. We select <italic>n</italic> observation points from them in equal proportions and calculate the lateral error of the mobile robot during the path-following process as <xref ref-type="disp-formula" rid="eq5">Equation (5)</xref>.</p>
<disp-formula id="eq5">
<label>(5)</label>
<mml:math display="block" id="M5">
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>e</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>r</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mi>x</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mi>p</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>x</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mi>r</mml:mi>
</mml:msub>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mi>y</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mi>p</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>y</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mi>r</mml:mi>
</mml:msub>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:math>
</disp-formula>
<p>where <inline-formula>
<mml:math display="inline" id="im2">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>p</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula>
<mml:math display="inline" id="im3">
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>p</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula>
<mml:math display="inline" id="im4">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>r</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula>
<mml:math display="inline" id="im5">
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>r</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the coordinates of the <italic>i</italic>th observation point in the planned path and actual trajectory, respectively. <xref ref-type="fig" rid="f14">
<bold>Figure&#xa0;14</bold>
</xref> shows the lateral error between the actual and planned trajectories when the mobile robot executes the paths planned by these algorithms. <xref ref-type="supplementary-material" rid="SM1">
<bold>Supplementary Figure 2</bold>
</xref> illustrates the movement of a mobile robot when executing a planned path. The mobile robot exhibits comparatively smaller lateral errors in <xref ref-type="fig" rid="f14">
<bold>Figure&#xa0;14</bold>
</xref>; <xref ref-type="supplementary-material" rid="SM1">
<bold>Supplementary Figures 1, 2</bold>
</xref> when executing the paths planned by the CBQ-RRT* algorithm, suggesting superior executability of the paths planned by the CBQ-RRT* algorithm.</p>
<p>
<xref ref-type="table" rid="T6">
<bold>Table&#xa0;6</bold>
</xref> presents the maximum path lateral error statistics obtained from these experiments. CBQ-RRT* recorded an average maximum path lateral error of 0.334&#xa0;m across five trials. In contrast, Quick-RRT* and Bi-RRT* recorded lateral errors of 0.455 and 0.796&#xa0;m, respectively. The field experiments validated the superior performance of the CBQ-RRT* algorithm in challenging orchards.</p>
</sec>
</sec>
</sec>
<sec id="s4" sec-type="conclusions">
<label>4</label>
<title>Conclusions</title>
<p>When operating autonomously, orchard mobile robots, such as those used for weeding, spraying, and picking, must easily traverse through the orchard. Existing research on the navigation scheme of orchard mobile robots focuses on path extraction and fixed path following in a structured orchard. However, this type of research cannot be applied to unstructured orchard scenes where the road characteristics are fuzzy, and the robot needs to autonomously plan the navigation path according to environmental perception. Therefore, an efficient path planning algorithm is key to achieving improved automation for mobile orchard robots in unstructured orchard environments.</p>
<p>In this study, based on the Quick-RRT* algorithm, a bidirectional expansion method was introduced, and a computationally lightweight path cost function was proposed to maintain the smoothness of the paths between nodes and the efficiency of node expansion during random tree expansion. Moreover, the algorithm performs smoothness optimization during dual-tree link processing, which locally improves the kinematics of the paths at the dual-tree link. We prove the effectiveness of the CBQ-RRT* algorithm for the path planning problem of working mobile robots in an orchard scene by setting three types of orchard simulation maps: a standardized planting scene, an irregular road scene, and an irregular planting scene. The statistical simulation results of the experiment show that, compared with the Bi-RRT* algorithm, the CBQ-RRT* algorithm improves the length and smoothness of the planned paths under the premise of using a similar path planning time, and the planning efficiency is significantly improved compared with the Quick-RRT* algorithm. Path-following experiments were conducted in a real field environment to prove further the effectiveness of the CBQ-RRT* algorithm in practical work-robot applications. The experimental results show that the mobile robot can follow the path planned by the CBQ-RRT* algorithm more accurately. The experimental results show that the CBQ-RRT* algorithm can effectively plan a safe and feasible point-to-point navigation path for a mobile robot in a complex orchard environment and the mobile robot can follow the path planned by the CBQ-RRT* algorithm more accurately. Autonomous point-to-point navigation is integral in orchard robotics, particularly spraying, weeding, and inspection robots. These robots also share structural similarities with the tracked chassis used in our experiment, leading us to believe that CBQ-RRT* can be directly applied to enhance operational efficiency.</p>
</sec>
<sec id="s5" sec-type="data-availability">
<title>Data availability statement</title>
<p>The original contributions presented in the study are included in the article/<xref ref-type="supplementary-material" rid="SM1">
<bold>Supplementary Material</bold>
</xref>. Further inquiries can be directed to the corresponding author.</p>
</sec>
<sec id="s6" sec-type="author-contributions">
<title>Author contributions</title>
<p>LY: Conceptualization, Methodology, Software, Writing &#x2013; original draft. JL: Resources, Writing &#x2013; review &amp; editing. PL: Data curation, Writing &#x2013; review &amp; editing.</p>
</sec>
</body>
<back>
<sec id="s7" sec-type="funding-information">
<title>Funding</title>
<p>The author(s) declare financial support was received for the research, authorship, and/or publication of this article. This research was supported by the the National Natural Science Foundation of China (52105268), Shaoguan Science and Technology Project  (210725144530830 and 230403118030785), and the Key Research Project of Shaoguan University (SZ2023KJ14 and SZ2022KJ13).</p>
</sec>
<sec id="s8" sec-type="COI-statement">
<title>Conflict of interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec id="s9" sec-type="disclaimer">
<title>Publisher&#x2019;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<sec id="s10" sec-type="supplementary-material">
<title>Supplementary material</title>
<p>The Supplementary Material for this article can be found online at: <ext-link ext-link-type="uri" xlink:href="https://www.frontiersin.org/articles/10.3389/fpls.2024.1337638/full#supplementary-material">https://www.frontiersin.org/articles/10.3389/fpls.2024.1337638/full#supplementary-material</ext-link>
</p>
<supplementary-material xlink:href="DataSheet_1.docx" id="SM1" mimetype="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Blok</surname> <given-names>P. M.</given-names>
</name>
<name>
<surname>van Boheemen</surname> <given-names>K.</given-names>
</name>
<name>
<surname>van Evert</surname> <given-names>F. K.</given-names>
</name>
<name>
<surname>Ijsselmuiden</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Kim</surname> <given-names>G.-H.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Robot navigation in orchards with localization based on Particle filter and Kalman filter</article-title>. <source>Comput. Electron. Agric.</source> <volume>157</volume>, <fpage>261</fpage>&#x2013;<lpage>269</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.compag.2018.12.046</pub-id>
</citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Buchanan</surname> <given-names>R.</given-names>
</name>
<name>
<surname>Wellhausen</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Bjelonic</surname> <given-names>M.</given-names>
</name>
<name>
<surname>Bandyopadhyay</surname> <given-names>T.</given-names>
</name>
<name>
<surname>Kottege</surname> <given-names>N.</given-names>
</name>
<name>
<surname>Hutter</surname> <given-names>M.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Perceptive whole-body planning for multilegged robots in confined spaces</article-title>. <source>J. Field Robot.</source> <volume>38</volume>, <fpage>68</fpage>&#x2013;<lpage>84</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1002/rob.21974</pub-id>
</citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Castro</surname> <given-names>G. G. D.</given-names>
</name>
<name>
<surname>Berger</surname> <given-names>G. S.</given-names>
</name>
<name>
<surname>Cantieri</surname> <given-names>A.</given-names>
</name>
<name>
<surname>Teixeira</surname> <given-names>M.</given-names>
</name>
<name>
<surname>Lima</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Pereira</surname> <given-names>A. I.</given-names>
</name>
<etal/>
</person-group>. (<year>2023</year>). <article-title>Adaptive path planning for fusing rapidly exploring random trees and deep reinforcement learning in an agriculture dynamic environment UAVs</article-title>. <source>Agriculture</source> <volume>13</volume>, <elocation-id>354</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.3390/agriculture13020354</pub-id>
</citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chen</surname> <given-names>M.</given-names>
</name>
<name>
<surname>Chen</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Luo</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Tang</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Cheng</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Wei</surname> <given-names>H.</given-names>
</name>
<etal/>
</person-group>. (<year>2024</year>). <article-title>Dynamic visual servo control methods for continuous operation of a fruit harvesting robot working throughout an orchard</article-title>. <source>Comput. Electron. Agric.</source> <volume>219</volume>, <elocation-id>108774</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.compag.2024.108774</pub-id>
</citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chen</surname> <given-names>M.</given-names>
</name>
<name>
<surname>Tang</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Zou</surname> <given-names>X.</given-names>
</name>
<name>
<surname>Huang</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Zhou</surname> <given-names>H.</given-names>
</name>
<name>
<surname>Chen</surname> <given-names>S.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>3D global mapping of large-scale unstructured orchard integrating eye-in-hand stereo vision and SLAM</article-title>. <source>Comput. Electron. Agric.</source> <volume>187</volume>, <elocation-id>106237</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.compag.2021.106237</pub-id>
</citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Elbanhawi</surname> <given-names>M.</given-names>
</name>
<name>
<surname>Simic</surname> <given-names>M.</given-names>
</name>
<name>
<surname>Jazar</surname> <given-names>R. N.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>Continuous path smoothing for car-like robots using B-spline curves</article-title>. <source>J. Intell. Robot. Syst.</source> <volume>80</volume>, <fpage>23</fpage>&#x2013;<lpage>56</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1007/s10846-014-0172-0</pub-id>
</citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ferguson</surname> <given-names>D.</given-names>
</name>
<name>
<surname>Stentz</surname> <given-names>A.</given-names>
</name>
</person-group> (<year>2006</year>). <article-title>Using interpolation to improve path planning: The Field D* algorithm</article-title>. <source>J. Field Robot.</source> <volume>23</volume>, <fpage>79</fpage>&#x2013;<lpage>101</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1002/rob.20109</pub-id>
</citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gammell</surname> <given-names>J. D.</given-names>
</name>
<name>
<surname>Srinivasa</surname> <given-names>S. S.</given-names>
</name>
<name>
<surname>Barfoot</surname> <given-names>T. D.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>Informed RRT: Optimal sampling-based path planning focused via direct sampling of an admissible ellipsoidal heuristic</article-title>. <source>2014 IEEE/RSJ Int. Conf. Intell. Robots Syst</source>. <fpage>2997</fpage>&#x2013;<lpage>3004</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1109/IROS.2014.6942976</pub-id>
</citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gan</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Zhang</surname> <given-names>B.</given-names>
</name>
<name>
<surname>Ke</surname> <given-names>C.</given-names>
</name>
<name>
<surname>Zhu</surname> <given-names>X.</given-names>
</name>
<name>
<surname>He</surname> <given-names>W.</given-names>
</name>
<name>
<surname>Ihara</surname> <given-names>T.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Research on robot motion planning based on RRT algorithm with nonholonomic constraints</article-title>. <source>Neural Process. Lett.</source> <volume>53</volume>, <fpage>3011</fpage>&#x2013;<lpage>3029</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1007/s11063-021-10536-4</pub-id>
</citation>
</ref>
<ref id="B10">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Hess</surname> <given-names>W.</given-names>
</name>
<name>
<surname>Kohler</surname> <given-names>D.</given-names>
</name>
<name>
<surname>Rapp</surname> <given-names>H.</given-names>
</name>
<name>
<surname>Andor</surname> <given-names>D.</given-names>
</name>
</person-group> (<year>2016</year>). &#x201c;<article-title>Real-time loop closure in 2D LIDAR SLAM</article-title>,&#x201d; in <conf-name>2016 IEEE International Conference on Robotics and Automation (ICRA)</conf-name>, <conf-loc>Stockholm, Sweden</conf-loc>, pp. <fpage>1271</fpage>&#x2013;<lpage>1278</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1109/ICRA.2016.7487258</pub-id>
</citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Huan</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Wang</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Zhu</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Zhong</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Ma</surname> <given-names>W.</given-names>
</name>
<name>
<surname>Chen</surname> <given-names>Z.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Navigation and closed-loop control of magnetic microrobot in plant vein mimic environment</article-title>. <source>Front. Plant Sci.</source> <volume>14</volume>. doi:&#xa0;<pub-id pub-id-type="doi">10.3389/fpls.2023.1133944</pub-id>
</citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Jeong</surname> <given-names>I.-B.</given-names>
</name>
<name>
<surname>Lee</surname> <given-names>S.-J.</given-names>
</name>
<name>
<surname>Kim</surname> <given-names>J.-H.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Quick-RRT*: Triangular inequality-based implementation of RRT* with improved initial solution and convergence rate</article-title>. <source>Expert Syst. Appl.</source> <volume>123</volume>, <fpage>82</fpage>&#x2013;<lpage>90</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.eswa.2019.01.032</pub-id>
</citation>
</ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Jiang</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Wang</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Yi</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Zhang</surname> <given-names>M.</given-names>
</name>
<name>
<surname>Lv</surname> <given-names>X.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Autonomous navigation system of greenhouse mobile robot based on 3D Lidar and 2D Lidar SLAM</article-title>. <source>Front. Plant Sci.</source> <volume>13</volume>. doi:&#xa0;<pub-id pub-id-type="doi">10.3389/fpls.2022.815218</pub-id>
</citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Karaman</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Frazzoli</surname> <given-names>E.</given-names>
</name>
</person-group> (<year>2011</year>). <article-title>Sampling-based algorithms for optimal motion planning</article-title>. <source>Int. J. Robot. Res.</source> <volume>30</volume>, <fpage>846</fpage>&#x2013;<lpage>894</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1177/0278364911406761</pub-id>
</citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Khajepour</surname> <given-names>A.</given-names>
</name>
<name>
<surname>Sheikhmohammady</surname> <given-names>M.</given-names>
</name>
<name>
<surname>Nikbakhsh</surname> <given-names>E.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Field path planning using capacitated arc routing problem</article-title>. <source>Comput. Electron. Agric.</source> <volume>173</volume>, <elocation-id>105401</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.compag.2020.105401</pub-id>
</citation>
</ref>
<ref id="B16">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Kuffner</surname> <given-names>J. J.</given-names>
</name>
<name>
<surname>LaValle</surname> <given-names>S. M.</given-names>
</name>
</person-group> (<year>2000</year>). &#x201c;<article-title>RRT-connect: An efficient approach to single-query path planning</article-title>,&#x201d; in <conf-name>Proceedings 2000 ICRA. Millennium Conference. IEEE International Conference on Robotics and Automation. Symposia Proceedings (Cat. No.00CH37065)</conf-name>, <conf-loc>San Francisco, CA, USA</conf-loc>. <volume>2</volume>, <fpage>995</fpage>&#x2013;<lpage>1001</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1109/ROBOT.2000.844730</pub-id>
</citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>LaValle</surname> <given-names>S. M.</given-names>
</name>
<name>
<surname>Kuffner</surname> <given-names>J. J.</given-names>
</name>
<name>
<surname>Donald</surname> <given-names>B. R.</given-names>
</name>
</person-group> (<year>2001</year>). <article-title>Rapidly-exploring random trees: Progress and prospects</article-title>. <source>Algorithmic Comput. robotics: New Dir.</source> <volume>5</volume>, <fpage>293</fpage>&#x2013;<lpage>308</lpage>.</citation>
</ref>
<ref id="B18">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Li</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Yang</surname> <given-names>C.</given-names>
</name>
</person-group> (<year>2020</year>). &#x201c;<article-title>AUV path planning based on improved RRT and Bezier curve optimization</article-title>,&#x201d; in <conf-name>2020 IEEE International Conference on Mechatronics and Automation (ICMA)</conf-name>, <conf-loc>Beijing, China</conf-loc>, pp. <fpage>1359</fpage>&#x2013;<lpage>1364</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1109/ICMA49215.2020.9233842</pub-id>
</citation>
</ref>
<ref id="B19">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Wei</surname> <given-names>W.</given-names>
</name>
<name>
<surname>Gao</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Wang</surname> <given-names>D.</given-names>
</name>
<name>
<surname>Fan</surname> <given-names>Z.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>PQ-RRT*: An improved path planning algorithm for mobile robots</article-title>. <source>Expert Syst. Appl.</source> <volume>152</volume>, <elocation-id>113425</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.eswa.2020.113425</pub-id>
</citation>
</ref>
<ref id="B20">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname> <given-names>H.</given-names>
</name>
<name>
<surname>Zhang</surname> <given-names>X.</given-names>
</name>
<name>
<surname>Wen</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Wang</surname> <given-names>R.</given-names>
</name>
<name>
<surname>Chen</surname> <given-names>X.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Goal-biased bidirectional RRT based on curve-smoothing</article-title>. <source>IFAC-PapersOnLine</source> <volume>52</volume>, <fpage>255</fpage>&#x2013;<lpage>260</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.ifacol.2019.12.417</pub-id>
</citation>
</ref>
<ref id="B21">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname> <given-names>T.</given-names>
</name>
<name>
<surname>Kang</surname> <given-names>H.</given-names>
</name>
<name>
<surname>Chen</surname> <given-names>C.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>ORB-Livox: A real-time dynamic system for fruit detection and localization</article-title>. <source>Comput. Electron. Agric.</source> <volume>209</volume>, <elocation-id>107834</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.compag.2023.107834</pub-id>
</citation>
</ref>
<ref id="B22">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ljungqvist</surname> <given-names>O.</given-names>
</name>
<name>
<surname>Evestedt</surname> <given-names>N.</given-names>
</name>
<name>
<surname>Axehill</surname> <given-names>D.</given-names>
</name>
<name>
<surname>Cirillo</surname> <given-names>M.</given-names>
</name>
<name>
<surname>Pettersson.</surname> <given-names>H.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>A path planning and path-following control framework for a general 2-trailer with a car-like tractor</article-title>. <source>J. Field Robot.</source> <volume>36</volume>, <fpage>1345</fpage>&#x2013;<lpage>1377</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1002/rob.21908</pub-id>
</citation>
</ref>
<ref id="B23">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Moon</surname> <given-names>C.-B.</given-names>
</name>
<name>
<surname>Chung</surname> <given-names>W.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>Kinodynamic planner dual-tree RRT (DT-RRT) for two-wheeled mobile robots using the rapidly exploring random tree</article-title>. <source>IEEE Trans. Ind. Electron.</source> <volume>62</volume>, <fpage>1080</fpage>&#x2013;<lpage>1090</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1109/TIE.2014.2345351</pub-id>
</citation>
</ref>
<ref id="B24">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Nasir</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Islam</surname> <given-names>F.</given-names>
</name>
<name>
<surname>Ayaz</surname> <given-names>Y.</given-names>
</name>
</person-group> (<year>2013</year>). <article-title>Adaptive rapidly-exploring-random-tree-star (RRT*)-smart: algorithm characteristics and behavior analysis in complex environments</article-title>. <source>Asia Pac. J. Inf. Tech. Multimed.</source> <volume>2</volume>, <fpage>39</fpage>&#x2013;<lpage>51</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.17576/apjitm</pub-id>
</citation>
</ref>
<ref id="B25">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Qiu</surname> <given-names>Q.</given-names>
</name>
<name>
<surname>Li</surname> <given-names>X.</given-names>
</name>
</person-group> (<year>2022</year>). &#x201c;<article-title>LiDAR point-cloud odometer based mobile robot routine tracking in orchards</article-title>,&#x201d; in <conf-name>2022 12th International Conference on CYBER Technology in Automation, Control, and Intelligent Systems (CYBER)</conf-name>, <conf-loc>Baishan, China</conf-loc>, pp. <fpage>735</fpage>&#x2013;<lpage>739</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1109/CYBER55403.2022.9907082</pub-id>
</citation>
</ref>
<ref id="B26">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Reid</surname> <given-names>W.</given-names>
</name>
<name>
<surname>Fitch</surname> <given-names>R.</given-names>
</name>
<name>
<surname>G&#xf6;kto&#x11f;an</surname> <given-names>A. H.</given-names>
</name>
<name>
<surname>Sukkarieh</surname> <given-names>S.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Sampling-based hierarchical motion planning for a reconfigurable wheel-on-leg planetary analogue exploration rover</article-title>. <source>J. Field Robot</source> <volume>37</volume>, <fpage>786</fpage>&#x2013;<lpage>811</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1002/rob.21894</pub-id>
</citation>
</ref>
<ref id="B27">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ren</surname> <given-names>G.</given-names>
</name>
<name>
<surname>Lin</surname> <given-names>T.</given-names>
</name>
<name>
<surname>Ying</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Chowdhary</surname> <given-names>G.</given-names>
</name>
<name>
<surname>Ting</surname> <given-names>K. C.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Agricultural robotics research applicable to poultry production: A review</article-title>. <source>Comput. Electron. Agric.</source> <volume>169</volume>, <elocation-id>105216</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.compag.2020.105216</pub-id>
</citation>
</ref>
<ref id="B28">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Siciliano</surname> <given-names>B.</given-names>
</name>
<name>
<surname>Khatib</surname> <given-names>O.</given-names>
</name>
<name>
<surname>Kr&#xf6;ger</surname> <given-names>T.</given-names>
</name>
</person-group> (<year>2008</year>). <source>Springer handbook of robotics</source> Vol. <volume>200</volume> (<publisher-loc>Berlin</publisher-loc>: <publisher-name>Springer</publisher-name>).</citation>
</ref>
<ref id="B29">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Strader</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Otsu</surname> <given-names>K.</given-names>
</name>
<name>
<surname>Agha-mohammadi</surname> <given-names>A. A.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Perception-aware autonomous mast motion planning for planetary exploration rovers</article-title>. <source>J. Field Robot</source> <volume>37</volume>, <fpage>812</fpage>&#x2013;<lpage>829</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1002/rob.21925</pub-id>
</citation>
</ref>
<ref id="B30">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tahir</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Qureshi</surname> <given-names>A. H.</given-names>
</name>
<name>
<surname>Ayaz</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Nawaz</surname> <given-names>R.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Potentially guided bidirectionalized RRT* for fast optimal path planning in cluttered environments</article-title>. <source>Robot. Auton. Syst.</source> <volume>108</volume>, <fpage>13</fpage>&#x2013;<lpage>27</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.robot.2018.06.013</pub-id>
</citation>
</ref>
<ref id="B31">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tian</surname> <given-names>H.</given-names>
</name>
<name>
<surname>Mo</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Ma</surname> <given-names>C.</given-names>
</name>
<name>
<surname>Xiao</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Jia</surname> <given-names>R.</given-names>
</name>
<name>
<surname>Lan</surname> <given-names>Y.</given-names>
</name>
<etal/>
</person-group>. (<year>2023</year>). <article-title>Design and validation of a multi-objective waypoint planning algorithm for UAV spraying in orchards based on improved ant colony algorithm</article-title>. <source>Front. Plant Sci.</source> <volume>14</volume>. doi:&#xa0;<pub-id pub-id-type="doi">10.3389/fpls.2023.1101828</pub-id>
</citation>
</ref>
<ref id="B32">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Li</surname> <given-names>B.</given-names>
</name>
<name>
<surname>Meng</surname> <given-names>M. Q.-H.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Kinematic Constrained Bi-directional RRT with Efficient Branch Pruning for robot path planning</article-title>. <source>Expert Syst. Appl.</source> <volume>170</volume>, <elocation-id>114541</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.eswa.2020.114541</pub-id>
</citation>
</ref>
<ref id="B33">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Webb</surname> <given-names>D. J.</given-names>
</name>
<name>
<surname>Van Den Berg</surname> <given-names>J.</given-names>
</name>
</person-group> (<year>2013</year>). &#x201c;<article-title>Kinodynamic RRT*: Asymptotically optimal motion planning for robots with linear dynamics</article-title>,&#x201d; in <conf-name>2013 IEEE International Conference on Robotics and Automation</conf-name>, <conf-loc>Karlsruhe, Germany</conf-loc>, pp. <fpage>5054</fpage>&#x2013;<lpage>5061</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1109/ICRA.2013.6631299</pub-id>
</citation>
</ref>
<ref id="B34">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wencheng</surname> <given-names>W.</given-names>
</name>
<name>
<surname>Gege</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Xinlin</surname> <given-names>C.</given-names>
</name>
<name>
<surname>Weixian</surname> <given-names>W.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Research on path planning of orchard spraying robot based on improved RRT algorithm</article-title>. <source>Proc. 2020 2nd Int. Confe. Big Data Artif. Intell</source>. <fpage>311</fpage>&#x2013;<lpage>316</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1145/3436286.3436412</pub-id>
</citation>
</ref>
<ref id="B35">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xiong</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Ge</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Liang</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Blackmore</surname> <given-names>S.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Development of a prototype robot and fast path-planning algorithm for static laser weeding</article-title>. <source>Comput. Electron. Agric.</source> <volume>142</volume>, <fpage>494</fpage>&#x2013;<lpage>503</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.compag.2017.11.023</pub-id>
</citation>
</ref>
<ref id="B36">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xiong</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Liang</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Zhuang</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Hong</surname> <given-names>D.</given-names>
</name>
<name>
<surname>Zheng</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Liao</surname> <given-names>S.</given-names>
</name>
<etal/>
</person-group>. (<year>2023</year>). <article-title>Real-time localization and 3D semantic map reconstruction for unstructured citrus orchards</article-title>. <source>Comput. Electron. Agric.</source> <volume>213</volume>, <elocation-id>108217</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.compag.2023.108217</pub-id>
</citation>
</ref>
<ref id="B37">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yang</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Ouyang</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Zhang</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Duan</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Yu</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Wang</surname> <given-names>H.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Visual navigation path extraction of orchard hard pavement based on scanning method and neural network</article-title>. <source>Comput. Electron. Agric.</source> <volume>197</volume>, <elocation-id>106964</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.compag.2022.106964</pub-id>
</citation>
</ref>
<ref id="B38">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ye</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Duan</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Yang</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Zou</surname> <given-names>X.</given-names>
</name>
<name>
<surname>Chen</surname> <given-names>M.</given-names>
</name>
<name>
<surname>Zhang</surname> <given-names>S.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Collision-free motion planning for the litchi-picking robot</article-title>. <source>Comput. Electron. Agric.</source> <volume>185</volume>, <elocation-id>106151</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.compag.2021.106151</pub-id>
</citation>
</ref>
<ref id="B39">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ye</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Wu</surname> <given-names>F.</given-names>
</name>
<name>
<surname>Zou</surname> <given-names>X.</given-names>
</name>
<name>
<surname>Li</surname> <given-names>J.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Path planning for mobile robots in unstructured orchard environments: An improved kinematically constrained bi-directional RRT approach</article-title>. <source>Comput. Electron. Agric.</source> <volume>215</volume>, <elocation-id>108453</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.compag.2023.108453</pub-id>
</citation>
</ref>
<ref id="B40">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname> <given-names>W.</given-names>
</name>
<name>
<surname>Zeng</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Wang</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Wang</surname> <given-names>T.</given-names>
</name>
<name>
<surname>Li</surname> <given-names>H.</given-names>
</name>
<name>
<surname>Fei</surname> <given-names>K.</given-names>
</name>
<etal/>
</person-group>. (<year>2023</year>). <article-title>Research on the local path planning of an orchard mowing robot based on an elliptic repulsion scope boundary constraint potential field method</article-title>. <source>Front. Plant Sci.</source> <volume>14</volume>. doi:&#xa0;<pub-id pub-id-type="doi">10.3389/fpls.2023.1184352</pub-id>
</citation>
</ref>
<ref id="B41">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname> <given-names>X.</given-names>
</name>
<name>
<surname>Guo</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Yang</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Li</surname> <given-names>D.</given-names>
</name>
<name>
<surname>Wang</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Zhao</surname> <given-names>R.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Many-objective evolutionary algorithm based agricultural mobile robot route planning</article-title>. <source>Comput. Electron. Agric.</source> <volume>200</volume>, <elocation-id>107274</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.compag.2022.107274</pub-id>
</citation>
</ref>
<ref id="B42">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhao</surname> <given-names>Y. M.</given-names>
</name>
<name>
<surname>Lin</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Xi</surname> <given-names>F.</given-names>
</name>
<name>
<surname>Guo.</surname> <given-names>S.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>Calibration-based iterative learning control for path tracking of industrial robots</article-title>. <source>IEEE Trans. Ind. Electron.</source> <volume>62</volume>, <fpage>2921</fpage>&#x2013;<lpage>2929</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1109/TIE.2014.2364800</pub-id>
</citation>
</ref>
</ref-list>
</back>
</article>