<?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" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Neurorobot.</journal-id>
<journal-title>Frontiers in Neurorobotics</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Neurorobot.</abbrev-journal-title>
<issn pub-type="epub">1662-5218</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3389/fnbot.2020.00063</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Neuroscience</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>The Path Planning of Mobile Robot by Neural Networks and Hierarchical Reinforcement Learning</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name><surname>Yu</surname> <given-names>Jinglun</given-names></name>
<xref ref-type="corresp" rid="c001"><sup>&#x0002A;</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/1016472/overview"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Su</surname> <given-names>Yuancheng</given-names></name>
</contrib>
<contrib contrib-type="author">
<name><surname>Liao</surname> <given-names>Yifan</given-names></name>
</contrib>
</contrib-group>
<aff><institution>Chongqing University-University of Cincinnati Joint Co-op Institute, Chongqing University</institution>, <addr-line>Chongqing</addr-line>, <country>China</country></aff>
<author-notes>
<fn fn-type="edited-by"><p>Edited by: Mu-Yen Chen, National Taichung University of Science and Technology, Taiwan</p></fn>
<fn fn-type="edited-by"><p>Reviewed by: Yinyan Zhang, Jinan University, China; Kuan-Yu Lin, Ling Tung University, Taiwan</p></fn>
<corresp id="c001">&#x0002A;Correspondence: Jinglun Yu <email>yujinglun2016&#x00040;163.com</email></corresp>
</author-notes>
<pub-date pub-type="epub">
<day>02</day>
<month>10</month>
<year>2020</year>
</pub-date>
<pub-date pub-type="collection">
<year>2020</year>
</pub-date>
<volume>14</volume>
<elocation-id>63</elocation-id>
<history>
<date date-type="received">
<day>28</day>
<month>06</month>
<year>2020</year>
</date>
<date date-type="accepted">
<day>05</day>
<month>08</month>
<year>2020</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#x000A9; 2020 Yu, Su and Liao.</copyright-statement>
<copyright-year>2020</copyright-year>
<copyright-holder>Yu, Su and Liao</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>Existing mobile robots cannot complete some functions. To solve these problems, which include autonomous learning in path planning, the slow convergence of path planning, and planned paths that are not smooth, it is possible to utilize neural networks to enable to the robot to perceive the environment and perform feature extraction, which enables them to have a fitness of environment to state action function. By mapping the current state of these actions through Hierarchical Reinforcement Learning (HRL), the needs of mobile robots are met. It is possible to construct a path planning model for mobile robots based on neural networks and HRL. In this article, the proposed algorithm is compared with different algorithms in path planning. It underwent a performance evaluation to obtain an optimal learning algorithm system. The optimal algorithm system was tested in different environments and scenarios to obtain optimal learning conditions, thereby verifying the effectiveness of the proposed algorithm. Deep Deterministic Policy Gradient (DDPG), a path planning algorithm for mobile robots based on neural networks and hierarchical reinforcement learning, performed better in all aspects than other algorithms. Specifically, when compared with Double Deep Q-Learning (DDQN), DDPG has a shorter path planning time and a reduced number of path steps. When introducing an influence value, this algorithm shortens the convergence time by 91% compared with the Q-learning algorithm and improves the smoothness of the planned path by 79%. The algorithm has a good generalization effect in different scenarios. These results have significance for research on guiding, the precise positioning, and path planning of mobile robots.</p></abstract>
<kwd-group>
<kwd>neural network</kwd>
<kwd>hierarchical reinforcement learning</kwd>
<kwd>mobile robot</kwd>
<kwd>path planning</kwd>
<kwd>fusion algorithm</kwd>
</kwd-group>
<counts>
<fig-count count="10"/>
<table-count count="2"/>
<equation-count count="27"/>
<ref-count count="34"/>
<page-count count="12"/>
<word-count count="6892"/>
</counts>
</article-meta>
</front>
<body>
<sec sec-type="intro" id="s1">
<title>Introduction</title>
<p>Mobile robot autonomous navigation can be divided into three subsystems: information perception, behavior decision-making, and manipulation control. Path planning is the basis of mobile robot navigation and control (Ghosh et al., <xref ref-type="bibr" rid="B5">2017</xref>; Orozco-Rosas et al., <xref ref-type="bibr" rid="B17">2019</xref>). The goal of mobile robot path planning is to find a path from the current position to the target position. The path should be as short as possible, the smoothness of the path should meet the dynamics of the mobile robot, and the safety of the path should be collision-free (Han and Seo, <xref ref-type="bibr" rid="B8">2017</xref>).</p>
<p>Depending on how much information is known about the environment in the path planning process, path planning can be divided into global path planning and local path planning (Li and Chou, <xref ref-type="bibr" rid="B11">2018</xref>). There are many methods of path planning. According to specific algorithms and strategies, path planning algorithms can be roughly divided into four types: template matching, artificial potential field, map construction, and artificial intelligence (Zhao et al., <xref ref-type="bibr" rid="B32">2018</xref>). Each type of path planning algorithm has an optimal application scenario and limitations. The current path planning of mobile robots relies heavily on the surrounding environment. In addition to the limitations of traditional path planning, robots cannot complete their learning and judgment in complex environments, a bottleneck in the development of research in this field (Bakdi et al., <xref ref-type="bibr" rid="B2">2017</xref>). It is therefore particularly important to develop a path planning method with low reliance on the environment, which can quickly adapt to the surrounding environment.</p>
<p>The Deep Q-Learning Network (DQN) is a way of modeling the environment and calculating the collision energy function, which is the main cause of a loss in functionality (Ohnishi et al., <xref ref-type="bibr" rid="B16">2019</xref>). To realize the path planning process, the neural network is trained to minimize the loss function through the gradient descent method. To enable better generalization ability in the neural network, various sample data are needed for learning and training, however, an over large data sample will increase the training time (Shen et al., <xref ref-type="bibr" rid="B21">2019a</xref>; Sung et al., <xref ref-type="bibr" rid="B24">2020</xref>).</p>
<p>Deep Reinforcement Learning (DRL), as an important machine learning method, has received more attention and there are increasing applications of it in robot path planning DRL (Arulkumaran et al., <xref ref-type="bibr" rid="B1">2017</xref>). The agent obtains knowledge through the exploration of an environment and learns using a process of trial and error. The DRL method has obvious advantages in path planning and requires less prior information about the environment (Wulfmeier et al., <xref ref-type="bibr" rid="B29">2017</xref>; Zheng and Liu, <xref ref-type="bibr" rid="B33">2020</xref>).</p>
<p>Unlike the supervised learning method, reinforcement learning does not require much sample data for training, like neural network methods, and acquires sample data during the training process. In recent years, scholars have focused on using new algorithms or fusion algorithms to improve the performance of mobile robots (Yan and Xu, <xref ref-type="bibr" rid="B30">2018</xref>). Lei et al. found that adding the Q-Learning algorithm to the reinforcement learning path enhances the ability of robots to dynamically avoid obstacles and local planning in the environment (Lei et al., <xref ref-type="bibr" rid="B10">2018</xref>; Liu et al., <xref ref-type="bibr" rid="B13">2019</xref>). Wang et al. found that compared with Distributed DQN (DDQN) algorithm, the Tree Double Deep Network (TDDQN) has the advantages of fast convergence speed and low loss (Wang P. et al., <xref ref-type="bibr" rid="B26">2020</xref>). By using a neural network to strengthen the learning path planning system, Wen et al. suggested that the mobile robot can be navigated to a target position without colliding with any obstacles and other mobile robots, and this method was successfully applied to the physical robot platform (Wen et al., <xref ref-type="bibr" rid="B28">2020</xref>). Botteghi et al. introduced a reward function training strategy in the fusion algorithm, which not only outperformed the standard reward function in terms of convergence speed but also reduced the number of collisions by 36.9% of iteration steps (Shen et al., <xref ref-type="bibr" rid="B22">2019b</xref>; Botteghi et al., <xref ref-type="bibr" rid="B3">2020</xref>). Therefore, the fusion algorithm has obvious advantages in path planning and algorithm performance. However, the path planning performance of current fusion algorithms is not outstanding.</p>
<p>Taking into account the shortcomings of these research results, we designed a mobile robot path planning system based on neural networks and hierarchical reinforcement learning. Through neural networks, this system perceives the environment and performs feature extraction to realize the fitting from the environment to the state action function (Chen, <xref ref-type="bibr" rid="B4">2018</xref>). The mapping of the current state to the action of the hierarchical reinforcement learning is satisfied through the enhancement function, thereby realizing the demand for mobile robots. Theoretically, the organic combination of the two can improve the performance of mobile robots in path planning. Therefore, in this study, the algorithm was embedded into a mobile robot, and the designed algorithm was verified by comparing it with other path planning algorithms in different environments and scenarios. The initial <italic>Q</italic>-value of the proposed algorithm sped up the convergence speed, redefined the number of states, as well as the direction of motion, and step length. The real-time performance of the mobile robot&#x00027;s path planning and smoothness was significantly improved, and could be used to guide robot movement, and improve algorithm mobility (Liu and Wang, <xref ref-type="bibr" rid="B14">2019</xref>).</p>
</sec>
<sec sec-type="methods" id="s2">
<title>Methods</title>
<sec>
<title>Mobile Robot Path Planning Model</title>
<p>The path planning task explored in this study is based on a two-wheel differential mobile robot. The robot can control the speed of its two driving wheels to achieve arbitrary trajectory movements such as linear movement, turning, and turning around in circles. <xref ref-type="fig" rid="F1">Figure 1</xref> shows the pose of the robot at adjacent time intervals, based on which kinematic model is established.</p>
<fig id="F1" position="float">
<label>Figure 1</label>
<caption><p>The path planning motion model of mobile robots.</p></caption>
<graphic xlink:href="fnbot-14-00063-g0001.tif"/>
</fig>
<p>The world coordinate system pose of the mobile robot at time t is set to <inline-formula><mml:math id="M1"><mml:mi>W</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>; if the world coordinate pose of the mobile robot at time <italic>t</italic> &#x0002B; &#x00394;<italic>t</italic> is <inline-formula><mml:math id="M2"><mml:msub><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mo>&#x00394;</mml:mo><mml:mtext>t</mml:mtext></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mo>&#x00394;</mml:mo><mml:mtext>t</mml:mtext></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mo>&#x00394;</mml:mo><mml:mtext>t</mml:mtext></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mo>&#x00394;</mml:mo><mml:mtext>t</mml:mtext></mml:mrow></mml:msub></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>, the distance between the left and right driving wheels is L, the speeds of the left and right driving wheels are <italic>v</italic><sub><italic>l</italic></sub> and [[Mathtype-mtef1-eqn-5.mtf]], and the robot linear speed and angular speed are respectively <italic>v</italic> and &#x003C9;, the speed <italic>v</italic> of the mobile robot in the ideal motion state is:
<disp-formula id="E1"><label>(1)</label><mml:math id="M3"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:mi>v</mml:mi><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mfrac></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
The angular velocity of the robot is:
<disp-formula id="E2"><label>(2)</label><mml:math id="M4"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:mi>&#x003C9;</mml:mi><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>L</mml:mi></mml:mrow></mml:mfrac></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
The instantaneous curvature radius R is:
<disp-formula id="E3"><label>(3)</label><mml:math id="M5"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:mi>R</mml:mi><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003C9;</mml:mi></mml:mrow></mml:mfrac></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
As shown in <xref ref-type="fig" rid="F1">Figure 1</xref>, &#x003B8;<sub>1</sub> &#x0003D; &#x003B8;<sub>2</sub> &#x0003D; &#x003B8;, after &#x00394;<italic>t</italic>, the heading angle of the robot changes as follows:
<disp-formula id="E4"><label>(4)</label><mml:math id="M6"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mtext>t</mml:mtext><mml:mo>&#x0002B;</mml:mo><mml:mo>&#x00394;</mml:mo><mml:mtext>t</mml:mtext></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:mi>&#x003B8;</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
The motion from position <inline-formula><mml:math id="M7"><mml:mi>W</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> to <inline-formula><mml:math id="M8"><mml:msub><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mo>&#x00394;</mml:mo><mml:mtext>t</mml:mtext></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mo>&#x00394;</mml:mo><mml:mtext>t</mml:mtext></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mo>&#x00394;</mml:mo><mml:mtext>t</mml:mtext></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mo>&#x00394;</mml:mo><mml:mtext>t</mml:mtext></mml:mrow></mml:msub></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> can be regarded as a circular arc with radius R. If the arc is used to approximate the actual trajectory of the robot, the geometric relationship should be:
<disp-formula id="E5"><label>(5)</label><mml:math id="M9"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mo>&#x00394;</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mo>&#x00394;</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mo>&#x00394;</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:mi>R</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext>sin</mml:mtext><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>-</mml:mo><mml:mtext>sin</mml:mtext><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:mi>R</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext>cos</mml:mtext><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>-</mml:mo><mml:mtext>cos</mml:mtext><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:mi>&#x003B8;</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mi>&#x003B8;</mml:mi><mml:mo>&#x02260;</mml:mo><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
Combining the above equations, the motion equation of the differential mobile robot can be obtained as:
<disp-formula id="E6"><label>(6)</label><mml:math id="M10"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mo>&#x00394;</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mo>&#x00394;</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mo>&#x00394;</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:mfrac><mml:mrow><mml:mi>L</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:mi>r</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:mi>r</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mfrac><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>R</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext>sin</mml:mtext><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>-</mml:mo><mml:mtext>sin</mml:mtext><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:mfrac><mml:mrow><mml:mi>L</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:mi>r</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:mi>r</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mfrac><mml:mi>R</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext>cos</mml:mtext><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>-</mml:mo><mml:mtext>cos</mml:mtext><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:mi>&#x003B8;</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mi>&#x003B8;</mml:mi><mml:mo>&#x02260;</mml:mo><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
</sec>
<sec>
<title>ANN</title>
<p>ANN is a mathematical or computational model that simulates the structure and function of biological neural networks, which is used to estimate or approximate functions. With the continuous deepening of research works on ANNs, it has made great breakthroughs in the fields of speech recognition, pattern recognition, automatic control, and predictive estimation. ANN has successfully solved many problems that are difficult for computers to solve, showing good performance.</p>
<p>In the practical application of ANN, most neural network models use a backpropagation neural network (BPNN) and its transformations, which have good nonlinear mapping ability, self-learning ability, and fault tolerance. It mainly uses many aspects such as pattern recognition, function approximation, data compression, prediction estimation, and classification. Therefore, the most representative BPNN is chosen as the basis of modeling to analyze the robot path. An ANN is usually composed of multiple BPNN layers and multiple neurons, which are mainly divided into an input layer, a hidden layer, and an output layer, where the input vector should be:
<disp-formula id="E7"><label>(7)</label><mml:math id="M11"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mi>m</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
The output vector should be:
<disp-formula id="E8"><label>(8)</label><mml:math id="M12"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:mi>y</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mtext>k</mml:mtext></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mtext>k</mml:mtext><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mi>n</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
The neuron input of the hidden layer should be:
<disp-formula id="E9"><label>(9)</label><mml:math id="M13"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:msup><mml:mrow><mml:mtext>h</mml:mtext></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mtext>l</mml:mtext><mml:mo>)</mml:mo></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:msup><mml:mrow><mml:mtext>h</mml:mtext></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mtext>l</mml:mtext><mml:mo>)</mml:mo></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:msup><mml:mrow><mml:mtext>h</mml:mtext></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mtext>l</mml:mtext><mml:mo>)</mml:mo></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:msup><mml:mrow><mml:mtext>h</mml:mtext></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mtext>l</mml:mtext><mml:mo>)</mml:mo></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:msub><mml:mrow><mml:msup><mml:mrow><mml:mtext>h</mml:mtext></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mtext>l</mml:mtext><mml:mo>)</mml:mo></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:msub><mml:mrow><mml:msup><mml:mrow><mml:mtext>h</mml:mtext></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mtext>l</mml:mtext><mml:mo>)</mml:mo></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mi>s</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mi>s</mml:mi><mml:mi>l</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
Where: sl is the number of neurons in layer 1; assuming that <inline-formula><mml:math id="M14"><mml:msub><mml:mrow><mml:msup><mml:mrow><mml:mstyle class="text"><mml:mtext>w</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mo>(</mml:mo><mml:mtext>l</mml:mtext><mml:mo>)</mml:mo></mml:mstyle></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext>ij</mml:mtext></mml:mstyle></mml:mrow></mml:msub></mml:math></inline-formula> is the connection weight between the j-th neuron in layer 1-1, <inline-formula><mml:math id="M15"><mml:msub><mml:mrow><mml:msup><mml:mrow><mml:mstyle class="text"><mml:mtext>b</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mo>(</mml:mo><mml:mtext>l</mml:mtext><mml:mo>)</mml:mo></mml:mstyle></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext>i</mml:mtext></mml:mstyle></mml:mrow></mml:msub></mml:math></inline-formula> is the threshold of the i-th neuron in layer 1, and <inline-formula><mml:math id="M16"><mml:mi>n</mml:mi><mml:mi>e</mml:mi><mml:msub><mml:mrow><mml:msup><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>l</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is the input of the i-th neuron in layer 1, then the following equation is obtained:
<disp-formula id="E10"><label>(10)</label><mml:math id="M17"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:msup><mml:mrow><mml:mtext>h</mml:mtext></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mtext>l</mml:mtext><mml:mo>)</mml:mo></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mtext>i</mml:mtext></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>f</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>n</mml:mi><mml:mi>e</mml:mi><mml:msub><mml:mrow><mml:msup><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>l</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E11"><label>(11)</label><mml:math id="M18"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:mi>n</mml:mi><mml:mi>e</mml:mi><mml:msub><mml:mrow><mml:msup><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>l</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>s</mml:mi><mml:mi>l</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:munderover></mml:mstyle><mml:msub><mml:mrow><mml:msup><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>l</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:msup><mml:mrow><mml:mtext>h</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>l</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mtext>j</mml:mtext></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:msup><mml:mrow><mml:mtext>b</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>l</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
Here, the functions of the input layer to the output layer use the S-type corresponding TANSIG function, the output layer uses the PURELIN linear function, the learning rules use the TRINGDX function, and the performance evaluation uses the MES function, where the model number is set to 1,000 times and the accuracy is set to 0.0001. The rest are the default parameters of the system, and the specific structure is shown in <xref ref-type="fig" rid="F2">Figure 2</xref>.</p>
<fig id="F2" position="float">
<label>Figure 2</label>
<caption><p>Structure of ANN.</p></caption>
<graphic xlink:href="fnbot-14-00063-g0002.tif"/>
</fig>
</sec>
<sec>
<title>Reinforcement Learning</title>
<p>Reinforcement learning is a machine learning method that learns by interacting with the environment. An Agent uses reinforcement learning methods to learn, which is to acquire knowledge from a sequence of actions obtained by exploration. Its sample data is not existing, meaning it is different from the supervised learning process. After an Agent executes an action, it will get feedback from the environment. This feedback is the evaluation of the action made by the environment and is a process of &#x0201C;trial and error.&#x0201D; The evaluation of the action made by the environment is the immediate reward value received by the Agent. The immediate reward is an enhanced signal, which indicates the impact of the execution of this action on the result. The larger the value is, the better the effect is, otherwise it will have a poor impact. The reinforcement learning model is shown in <xref ref-type="fig" rid="F3">Figure 3</xref>. The learning process of the reinforcement learning method is a heuristic process. It continuously tries through random units, searches for the optimal action to obtain the enhanced signal of the environment, and increases the probability that the optimal action is selected by the iterative update, thereby finding a set of optimal solutions (a set of action sequences with the highest reward value).</p>
<fig id="F3" position="float">
<label>Figure 3</label>
<caption><p>The schematic diagram of the reinforcement learning model.</p></caption>
<graphic xlink:href="fnbot-14-00063-g0003.tif"/>
</fig>
<p>The reinforcement signal in reinforcement learning comes from the immediate reward of environmental feedback. This reward value indicates the quality of the action performed instead of telling the machine what the correct action is. The process of the machine interacting with the environment can be regarded as a Markov Decision Processing (MDP). As long as the random variable set {<italic>X</italic><sub>1</sub>, <italic>X</italic><sub>2</sub>, <italic>X</italic><sub>3</sub>....<italic>X</italic><sub>t</sub>} satisfies the following equation, the set will have Markov attributes:
<disp-formula id="E13"><label>(12)</label><mml:math id="M20"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mo class="qopname">P</mml:mo></mml:mrow><mml:mrow><mml:mi>r</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mrow><mml:mi>x</mml:mi><mml:mo>|</mml:mo><mml:msub><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:msub><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mtext>&#x02003;&#x02003;&#x02003;&#x02003;</mml:mtext><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mo class="qopname">P</mml:mo></mml:mrow><mml:mrow><mml:mi>r</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>x</mml:mi><mml:mo>|</mml:mo><mml:msub><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
Once the state x is determined, the actions before the state are not correlated to the actions after the state and are independent of each other. Among them, the state set S, the action set A, the reward function R, the state transition function T, and the objective function constitute the MDP. The state process of the transition is as follows:
<disp-formula id="E14"><label>(13)</label><mml:math id="M21"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:mi>T</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>s</mml:mi><mml:mo>,</mml:mo><mml:mi>&#x003B1;</mml:mi><mml:mo>,</mml:mo><mml:msup><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x02032;</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mi>r</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x02032;</mml:mi></mml:mrow></mml:msup><mml:mo>|</mml:mo><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>s</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B1;</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>a</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
The process of Markov&#x00027;s decision is mainly to realize a set of action sequences &#x003B1; &#x0003D; &#x003C0;(s) so that the cumulative discount reward <inline-formula><mml:math id="M22"><mml:mstyle displaystyle="true"><mml:munderover><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi>&#x0221E;</mml:mi></mml:mrow></mml:munderover></mml:mstyle><mml:msup><mml:mrow><mml:mi>&#x003B3;</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x02032;</mml:mi></mml:mrow></mml:msup><mml:mi>R</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> reaches the maximum value. Through the iteration of values, the optimization problem of MDP can be realized. The function of the optimal value is defined as:
<disp-formula id="E15"><label>(14)</label><mml:math id="M23"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:mi>V</mml:mi><mml:mo>*</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mtext>max</mml:mtext><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext>R</mml:mtext><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext>s</mml:mtext><mml:mo>,</mml:mo><mml:mi>&#x003B1;</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x0002B;</mml:mo><mml:mi>&#x003B3;</mml:mi><mml:mstyle displaystyle="true"><mml:munder class="msub"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mtext>s</mml:mtext></mml:mrow><mml:mrow><mml:mi>&#x02032;</mml:mi></mml:mrow></mml:msup><mml:mo>&#x02208;</mml:mo><mml:mtext>S</mml:mtext></mml:mrow></mml:munder></mml:mstyle><mml:mtext>T</mml:mtext><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext>s</mml:mtext><mml:mo>,</mml:mo><mml:mtext>a</mml:mtext><mml:mo>,</mml:mo><mml:msup><mml:mrow><mml:mtext>s</mml:mtext></mml:mrow><mml:mrow><mml:mi>&#x02032;</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mtext>V</mml:mtext><mml:mo>*</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mtext>s</mml:mtext></mml:mrow><mml:mrow><mml:mi>&#x02032;</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mo>&#x02200;</mml:mo><mml:mtext>s</mml:mtext><mml:mo>&#x02208;</mml:mo><mml:mtext>S</mml:mtext></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
Then, the optimal strategy is calculated as follows:
<disp-formula id="E16"><label>(15)</label><mml:math id="M24"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:mi>&#x003C0;</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext>s</mml:mtext></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mtext>arg</mml:mtext><mml:mo>|</mml:mo><mml:mo class="qopname">max</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext>R</mml:mtext><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext>s</mml:mtext><mml:mo>,</mml:mo><mml:mi>&#x003B1;</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x0002B;</mml:mo><mml:mi>&#x003B3;</mml:mi><mml:mstyle displaystyle="true"><mml:munder class="msub"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mtext>s</mml:mtext></mml:mrow><mml:mrow><mml:mi>&#x02032;</mml:mi></mml:mrow></mml:msup><mml:mo>&#x02208;</mml:mo><mml:mtext>S</mml:mtext></mml:mrow></mml:munder></mml:mstyle><mml:mtext>T</mml:mtext><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext>s</mml:mtext><mml:mo>,</mml:mo><mml:mtext>a</mml:mtext><mml:mo>,</mml:mo><mml:msup><mml:mrow><mml:mtext>s</mml:mtext></mml:mrow><mml:mrow><mml:mi>&#x02032;</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mtext>V</mml:mtext><mml:mo>*</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mtext>s</mml:mtext></mml:mrow><mml:mrow><mml:mi>&#x02032;</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
The reinforcement learning system is mainly composed of three parts: reward function, value function, and action selection strategy. Among them, reinforcement function is divided into continuous reward function. By establishing a mathematical model between the state and environmental feedback perceived by the Agent at each moment, the Agent can obtain the evaluation of the environment in each state, giving more guidance information during the Agent training process, and the Agent can find the optimal strategy faster. The calculation is as follows:
<disp-formula id="E17"><label>(16)</label><mml:math id="M25"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>f</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
The discrete reward functions require less a-priori information and are simple to construct, which have better applications in exploration and learning in unknown environments. The calculation is as follows:
<disp-formula id="E18"><label>(17)</label><mml:math id="M26"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:mn>1</mml:mn><mml:mtext>&#x000A0;Perform&#x000A0;optimal&#x000A0;actions</mml:mtext></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>-</mml:mo><mml:mn>1</mml:mn><mml:mtext>&#x000A0;Perform&#x000A0;the&#x000A0;worst&#x000A0;action</mml:mtext></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn><mml:mtext>&#x000A0;Other&#x000A0;situations</mml:mtext></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
The reward function only gives the reward of the currently executed action, but this does not guarantee that each action can get a reward. As the training progresses, the value function continuously optimizes and converges, and the action is selected by strategy in a state, which ensures that each action will get not only the largest reward but also the largest cumulative discount reward, of which the limited non-discount cumulative reward function is:
<disp-formula id="E19"><label>(18)</label><mml:math id="M27"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:msup><mml:mrow><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003C0;</mml:mi></mml:mrow></mml:msup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi>h</mml:mi></mml:mrow></mml:munderover></mml:mstyle><mml:msub><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
Where: <italic>r</italic><sub><italic>t</italic></sub> is the reward immediately obtained by the machine at time t, and the cumulative reward is the accumulation of the immediate rewards obtained from the starting state to the target state. The unlimited discount reward function is:
<disp-formula id="E20"><label>(19)</label><mml:math id="M28"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:msup><mml:mrow><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003C0;</mml:mi></mml:mrow></mml:msup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi>h</mml:mi></mml:mrow></mml:munderover></mml:mstyle><mml:msup><mml:mrow><mml:mi>&#x003B3;</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x02032;</mml:mi></mml:mrow></mml:msup><mml:msub><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mn>0</mml:mn><mml:mo>&#x02264;</mml:mo><mml:mi>&#x003B3;</mml:mi><mml:mo>&#x02264;</mml:mo><mml:mn>1</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
Where: &#x003B3;&#x02032; is the discount factor, and the value range is 0 &#x02264; &#x003B3; &#x02264; 1, which represents the limit of reinforcement learning. The value function pays more attention to future rewards. The average reward function is:
<disp-formula id="E21"><label>(20)</label><mml:math id="M29"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:msup><mml:mrow><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003C0;</mml:mi></mml:mrow></mml:msup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:munder><mml:mrow><mml:mo class="qopname">lim</mml:mo></mml:mrow><mml:mrow><mml:mi>h</mml:mi><mml:mo>&#x02192;</mml:mo><mml:mi>&#x0221E;</mml:mi></mml:mrow></mml:munder></mml:mstyle><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>h</mml:mi></mml:mrow></mml:mfrac><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi>h</mml:mi></mml:mrow></mml:munderover></mml:mstyle><mml:msub><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
After learning, the optimal strategy can use the value function obtained by training to select the action strategy. The equation is as follows:
<disp-formula id="E22"><label>(21)</label><mml:math id="M30"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:mi>&#x003C0;</mml:mi><mml:mo>*</mml:mo><mml:mo>=</mml:mo><mml:mtext>arg&#x02009;max&#x000A0;</mml:mtext><mml:msup><mml:mrow><mml:mtext>V</mml:mtext></mml:mrow><mml:mrow><mml:mi>&#x003C0;</mml:mi></mml:mrow></mml:msup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext>s</mml:mtext></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mo>&#x02200;</mml:mo><mml:mtext>s</mml:mtext><mml:mo>&#x02208;</mml:mo><mml:mtext>S</mml:mtext></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
The action selection strategy of Softmax is used to analyze the probability of the action, which is generally described by the Boltzmann distribution function. The mathematical model is as follows, where T is the temperature control coefficient.
<disp-formula id="E23"><label>(22)</label><mml:math id="M31"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:mrow><mml:mrow><mml:mi>p</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>a</mml:mi><mml:mi>t</mml:mi><mml:mo>/</mml:mo><mml:mi>s</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:msup><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>V</mml:mi><mml:mi>i</mml:mi><mml:mo>/</mml:mo><mml:mi>T</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mstyle displaystyle="true"><mml:munder class="msub"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>&#x003B1;</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mi>A</mml:mi></mml:mrow></mml:munder></mml:mstyle><mml:msup><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>V</mml:mi><mml:mi>i</mml:mi><mml:mo>/</mml:mo><mml:mi>T</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
</sec>
<sec>
<title>Different Path Planning Recognition Algorithms</title>
<p>Here, different algorithms are compared to determine the advantages of the proposed algorithm. There are many recognition algorithms for the path planning of mobile robots. These path planning algorithms are all based on the principle of feature point positioning, which changes in any direction of the images mainly through a Gaussian window. Through this movement, the correlation matrix of different windows is calculated and the image data of the environment are obtained.</p>
<list list-type="order">
<list-item><p>The Q-Learning algorithm is a table-valued learning algorithm because the state-action Q value table is established during the interaction between the machine and the environment. The reward in the environment will affect the <italic>Q</italic>-value corresponding to the state-action. The <italic>Q</italic>-value of the correct behavior is gradually increased under the positive reward, and the <italic>Q</italic>-value corresponding to the wrong behavior will also be reduced under the negative reward. The optimal action is selected in the action selection strategy to make the Agent obtain the optimal behavior strategy (Wei et al., <xref ref-type="bibr" rid="B27">2016</xref>; Zhu et al., <xref ref-type="bibr" rid="B34">2017</xref>). The method of updating the <italic>Q</italic>-value is as follows in <xref ref-type="fig" rid="F4">Figure 4</xref>:</p></list-item>
<list-item><p>The DQN algorithm is a process of using the neural network to approximate the value function. As shown in <xref ref-type="fig" rid="F5">Figure 5</xref>, the optimal value function <italic>Q</italic>(<italic>s</italic>, &#x003B1;, &#x003B8;) is approximated by adjusting the weight of the neural network. The update value function changes the parameters. After the neural network training is completed, the parameters are determined, and the corresponding function value will not change anymore. The training process then converges (Liu and Hodgins, <xref ref-type="bibr" rid="B12">2017</xref>; Zhu et al., <xref ref-type="bibr" rid="B34">2017</xref>). The location update equation is: 
<disp-formula id="E24"><label>(23)</label><mml:math id="M32"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:mi>&#x003B1;</mml:mi><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mi>r</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mi>&#x003B3;</mml:mi><mml:mtext>&#x000A0;max&#x000A0;</mml:mtext><mml:mi>Q</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>s</mml:mi><mml:mo>,</mml:mo><mml:mi>&#x003B1;</mml:mi><mml:mo>,</mml:mo><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>&#x00394;</mml:mo><mml:mi>Q</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>s</mml:mi><mml:mo>,</mml:mo><mml:mi>&#x003B1;</mml:mi><mml:mo>,</mml:mo><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p></list-item>
<list-item><p>The Potential DQN (PDQN) algorithm is an improvement to the DQN algorithm. Its major purpose is to accelerate the running speed of the algorithm. On this basis, the artificial potential field method is added (Gupta et al., <xref ref-type="bibr" rid="B6">2019</xref>). The gravitational field is calculated as follows:
<disp-formula id="E25"><label>(24)</label><mml:math id="M33"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:mi>U</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mfrac><mml:mi>k</mml:mi><mml:msup><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>X</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mi>g</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
Where: k is the gain coefficient, X is the current position of the mobile robot, Xg is the target position, j is the planning adjustment reward, and the relationship between reward and gravity is as follows:
<disp-formula id="E26"><label>(25)</label><mml:math id="M34"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:mi>r</mml:mi><mml:mo>=</mml:mo><mml:mi>j</mml:mi><mml:mi>U</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p></list-item>
<list-item><p>Actor-Critic (A3C) algorithm is a way of reinforcement learning. It introduces an evaluation mechanism to solve the high variance problem. It utilizes a neural network to predict the selected action and directly passes the prediction result back to increase the probability that the action is selected next time. If the reward function shows that the selected action is not optimal, the probability that the action is selected next time will be reduced (Haarnoja et al., <xref ref-type="bibr" rid="B7">2018</xref>). The strategy gradient equation is as follows:
<disp-formula id="E28"><label>(26)</label><mml:math id="M36"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mo>&#x00394;</mml:mo></mml:mrow><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow></mml:msub><mml:mi>J</mml:mi><mml:mi>&#x003B8;</mml:mi><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:mfrac><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:munderover></mml:mstyle><mml:msub><mml:mrow><mml:mo>&#x00394;</mml:mo></mml:mrow><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow></mml:msub><mml:mo class="qopname">log</mml:mo><mml:mi>&#x003C0;</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003B1;</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>|</mml:mo><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>;</mml:mo><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:munderover></mml:mstyle><mml:msup><mml:mrow><mml:mi>&#x003B3;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mi>r</mml:mi><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x0002B;</mml:mo><mml:mi>v</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mtext>&#x02003;&#x02003;&#x02003;</mml:mtext><mml:mo>-</mml:mo><mml:mrow><mml:mrow><mml:mi>v</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x0002B;</mml:mo><mml:mi>&#x003B2;</mml:mi><mml:msub><mml:mrow><mml:mo>&#x00394;</mml:mo></mml:mrow><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow></mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>&#x003C0;</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>;</mml:mo><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p></list-item>
<list-item><p>The Deep Deterministic Policy Gradient (DDPG) algorithm is an algorithm with a lot of improvements to DQN, in which the A3C algorithm is added. It is a fusion algorithm of neural network and reinforcement learning. The specific improvement details are shown in <xref ref-type="fig" rid="F6">Figure 6</xref>.</p></list-item>
<list-item><p>THE double DQN (DDQN) algorithm estimates the maximum action in the target network through the network and uses this estimated action to select <italic>Q</italic>(<italic>s</italic>) in the target network (Zhang et al., <xref ref-type="bibr" rid="B31">2018</xref>; Han et al., <xref ref-type="bibr" rid="B9">2019</xref>). Then, the goals of TD should be:
<disp-formula id="E29"><label>(27)</label><mml:math id="M37"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:msup><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mtext>t</mml:mtext></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>D</mml:mi><mml:mtext>ouble</mml:mtext><mml:mi>D</mml:mi><mml:mi>Q</mml:mi><mml:mi>N</mml:mi></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:mi>&#x003B3;</mml:mi><mml:mi>Q</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo class="qopname">arg</mml:mo><mml:mo class="qopname">max</mml:mo><mml:mi>Q</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msup><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>&#x02032;</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p></list-item>
</list>
<fig id="F4" position="float">
<label>Figure 4</label>
<caption><p>Schematic diagram of Q-Learning path planning method.</p></caption>
<graphic xlink:href="fnbot-14-00063-g0004.tif"/>
</fig>
<fig id="F5" position="float">
<label>Figure 5</label>
<caption><p>Schematic diagram of the neural network approximation function structure.</p></caption>
<graphic xlink:href="fnbot-14-00063-g0005.tif"/>
</fig>
<fig id="F6" position="float">
<label>Figure 6</label>
<caption><p>Structure of DDPG network algorithm.</p></caption>
<graphic xlink:href="fnbot-14-00063-g0006.tif"/>
</fig>
</sec>
<sec>
<title>Construction and Monitoring of Simulation Environment</title>
<p>The simulation environment mainly uses the multimedia framework pyglet under Python to design the interactive applications as the simulation platform. A 200<sup>&#x0002A;</sup>200-pixel static environment is built in the experiment. In the environment, the mobile robot is no longer a particle but is represented by a blue circle of 10<sup>&#x0002A;</sup>10 size. The green circle S represents the starting coordinate. The pixel coordinate of the starting position is (5, 5). The purple circle represents the target position and the five black areas of different sizes in the figure are the positions of obstacles. The white area indicates that there are no obstacles in the map, in which the robot can move freely. Since the robot has size in the real world when the boundary of the mobile robot is in contact with the boundary of the obstacle area, it is considered to have collided, and after the collision, it is considered to have failed and is returned to the starting position. The state of the experiment is represented by the rasterized state.</p>
<p>The detection mainly uses the summary.value.add () function in TensorFlow to add variables to the monitoring log. The changes in training process data can be viewed through TensorFlow. After learning, the neural network parameters are saved by using the tf.train.Saver () function and the neural network is reloaded and run again to indicate the effect after the learning is completed. The experimental results show that the mobile robot can avoid dynamic obstacles in time and find an optimal path to reach the target position after avoiding the dynamic obstacles. In the experiment, the copy network value function, the average number of steps used to reach the target position, and the average cumulative reward of the copy network are saved. At the end of the learning and training process, the changing process of the three data can be viewed through TensorBoard.</p>
</sec>
</sec>
<sec id="s3">
<title>Results and Discussions</title>
<sec>
<title>Experimental Results of Different Path Planning Algorithms of Mobile Robot</title>
<p><xref ref-type="fig" rid="F7">Figure 7</xref> shows the experimental results of the path planning of mobile robot under different algorithms. As shown in <xref ref-type="fig" rid="F7">Figure 7</xref>, under the same starting and ending conditions, all algorithms can effectively avoid obstacles. Comparing <xref ref-type="fig" rid="F7">Figures 7A,B</xref>, it was found that in the traditional Q-Learning and A3C algorithms, the reinforcement learning algorithm effectively reduces the number of path steps. Comparing <xref ref-type="fig" rid="F7">Figures 7A,C</xref>, it was found that the introduction of a neural network algorithm based on the traditional Q-Learning algorithm can greatly reduce the number of paths and achieve the same effect as the reinforcement learning algorithm. Comparing <xref ref-type="fig" rid="F7">Figures 7C,D</xref>, it was found that the introduction of the force field based on the neural network has greatly accelerated the running speed of the algorithm, causing a significant reduction in the number of steps. Although the algorithm can effectively avoid obstacles, it has taken many useless paths. Therefore, the DDQN algorithm of Q value accumulation was added. As shown in <xref ref-type="fig" rid="F7">Figure 7E</xref>, the algorithm can effectively utilize the neural network to learn and achieve the minimum number of steps. Compared to the DQN algorithm, the running speed of DDQN was improved and compared to the PDQN algorithm, the DDQN can find the optimal path. As shown in <xref ref-type="fig" rid="F7">Figure 7F</xref>, a reinforcement learning algorithm was added based on the neural network. It was found that compared to the DDQN algorithm, it runs faster and has an optimal path. According to the above results, the fusion algorithm using a neural network and reinforcement learning has better performance in the path experiment.</p>
<fig id="F7" position="float">
<label>Figure 7</label>
<caption><p>Experimental results of different path planning algorithms of mobile robot.</p></caption>
<graphic xlink:href="fnbot-14-00063-g0007.tif"/>
</fig>
</sec>
<sec>
<title>Performance Evaluation of Different Path Planning Algorithms of Mobile Robot</title>
<p><xref ref-type="fig" rid="F8">Figure 8A</xref> illustrates the path planning time of different algorithms under different path lengths. The results show that as the path length increases, the path planning time is also increasing, where the time required is proportional to the path length. As far as different algorithms are concerned, the traditional Q-Learning algorithm takes the longest time, with an average of 78.35 s. The PDQN takes the shortest time because the algorithm introduces a force field, causing the algorithm to be improved continuously. The DDPG algorithm based on neural networks and HRL marks the second position, which takes an average of 40.7 s and is 48.05% higher than the traditional algorithm, 31.01% higher than the DQN algorithm of the neural network, and 40.1% higher than the reinforcement algorithm.</p>
<fig id="F8" position="float">
<label>Figure 8</label>
<caption><p>Performance evaluation of time and steps of different mobile robot path planning algorithms (QL algorithm represents the Q-Learning algorithm).</p></caption>
<graphic xlink:href="fnbot-14-00063-g0008.tif"/>
</fig>
<p><xref ref-type="fig" rid="F8">Figure 8B</xref> illustrates the number of path steps of different algorithms at different iteration times. As the number of iterations increases, it does not affect the Q-Learning and A3C algorithms because these two algorithms do not have deep learning capabilities. With the increase in the number of iterations, in terms of other algorithms, the number of path steps continues to decrease under the same path. Of the different algorithms, the reinforcement learning algorithm is significantly better than the traditional Q-Learning algorithm, with a 20.56% improvement. Of the different neural network algorithms, the DDPG algorithm has the best performance, which has an average path step of 63 steps; compared to the DQN algorithm, it has an increase of 20.25%. When compared to the DDQN algorithm, the number of path steps is increased by 8.69%. According to the above results, the PDQN algorithm is more efficient under the same path conditions, as the learning continues, the fusion algorithm performs better in terms of path steps.</p>
<p><xref ref-type="fig" rid="F9">Figure 9A</xref> illustrates the convergence time of different algorithms under different path steps. The results show that as the path steps continue to increase, the convergence time of each algorithm is continuously increasing. Compared to the Q-Learning and A3C algorithms, after adding reinforcement learning, the convergence time of robot path planning is increased by 13.54%; compared to the Q-Learning and DQN algorithms, after adding the neural network algorithm, the convergence time of robot path planning is increased by 33.85%, which is the most obvious improvement. Comparing different neural networks, it was found that the convergence time of the DDQN algorithm with increased <italic>Q</italic>-value is greatly improved, and the convergence time of path planning is improved by 94.44% compared with the previous Q-Learning algorithm. For the DDPG algorithm based on neural network and HRL, the convergence time of the algorithm under the unsynchronized number is 1.34 s on average, which is 55.52% faster than the optimal DDQN algorithm.</p>
<fig id="F9" position="float">
<label>Figure 9</label>
<caption><p>Evaluation of convergence time and cumulative reward performance of different path planning algorithms of the mobile robot (QL algorithm represents the Q-Learning algorithm).</p></caption>
<graphic xlink:href="fnbot-14-00063-g0009.tif"/>
</fig>
<p><xref ref-type="fig" rid="F9">Figure 9B</xref> illustrates the cumulative rewards of different algorithms under different path steps. Since the designed reward rules are more stringent, the reward results are all negative, but this does not affect the obtained results. As shown in <xref ref-type="fig" rid="F9">Figure 9B</xref>, as the number of path steps continues to increase, the cumulative rewards continue to increase. For different algorithms, comparing the Q-Learning and A3C algorithms, the cumulative reward is significantly improved by 29.64%. Compared to the Q-Learning algorithm, the neural network DQN has increased significantly. Under the same neural network, it was found that the PDQN algorithm that introduces the force field has less cumulative rewards. The reason may be that the purpose of the algorithm is to enhance the running speed of the algorithm. The mechanism for rewards is not very complete; thus, the rewards are less. Among the neural network algorithms, the DDQN algorithm has the best cumulative reward. However, compared to the fusion algorithm DDPG, the performance of the DDQN algorithm is not very good. The cumulative reward of DDPG is increased by 41.5% compared to DDQN. According to the above results, it is concluded that under different path steps, the convergence time of the algorithm is the fusion algorithm; at the same time, the algorithm can also obtain the most rewards.</p>
</sec>
<sec>
<title>Analysis of Performance Changes in Neural Network and HRL Algorithms Under Different Environmental Conditions</title>
<p>To explore the impact of different environmental conditions on the performance of the algorithm, the performance of the DDPG algorithm was tested under different action sets, grid numbers, state sets, and force values. Under the premise of the same starting point and ending point, the average value of the algorithm was obtained after running 30 times. The results are shown in <xref ref-type="table" rid="T1">Table 1</xref>. As shown in the table, the comparison between M1 and M2 indicates that when the action set is doubled, the convergence time of the algorithm will increase by 41%, and the smoothness of the planned path is also increased by 53%. Comparing M2 and M3, it is found that when the number of grids is increased three times, the convergence of the algorithm will be reduced by 69%, and the smoothness will be increased by 45%. Comparing M3 and M4, it was found that increasing the number of state sets will slow down the convergence speed of the algorithm, but by adjusting the direction of the action set, the right angles and corners in the path can be avoided, and the smoothness with which it navigates the planned path is increased by 18%. Comparing M4 and M5, it is found that the introduction of the force field will reduce the convergence time of the algorithm by 49%, which can increase the action step size, thereby adjusting the number of state sets and the direction of the action set. Therefore, when the action set is 4, the number of grids is 3, and the state set is 40<sup>&#x0002A;</sup>40<sup>&#x0002A;</sup>8, with the introduction of the force value, the algorithm can reduce the convergence time by 91% compared with the traditional Q-learning algorithm, and the smoothness of the path increased by 79%.</p>
<table-wrap position="float" id="T1">
<label>Table 1</label>
<caption><p>Effect of different environmental conditions on algorithm performance.</p></caption>
<table frame="hsides" rules="groups">
<thead><tr>
<th valign="top" align="left"><bold>Numbering</bold></th>
<th valign="top" align="center"><bold>Number of states</bold></th>
<th valign="top" align="center"><bold>Number of actions</bold></th>
<th valign="top" align="center"><bold>Action step</bold></th>
<th valign="top" align="center"><bold>Potential field/s</bold></th>
<th valign="top" align="center"><bold>Convergence time</bold></th>
<th valign="top" align="center"><bold>Convergence round</bold></th>
<th valign="top" align="center"><bold>Path length</bold></th>
<th valign="top" align="center"><bold>Total corner/rad</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">M1</td>
<td valign="top" align="center">40&#x0002A;40</td>
<td valign="top" align="center">4</td>
<td valign="top" align="center">1</td>
<td valign="top" align="center">N0</td>
<td valign="top" align="center">1.9254</td>
<td valign="top" align="center">682.6</td>
<td valign="top" align="center">38.1</td>
<td valign="top" align="center">21.677</td>
</tr>
<tr>
<td valign="top" align="left">M2</td>
<td valign="top" align="center">40&#x0002A;40</td>
<td valign="top" align="center">8</td>
<td valign="top" align="center">1</td>
<td valign="top" align="center">N0</td>
<td valign="top" align="center">2.7139</td>
<td valign="top" align="center">629.7</td>
<td valign="top" align="center">32.7</td>
<td valign="top" align="center">10.210</td>
</tr>
<tr>
<td valign="top" align="left">M3</td>
<td valign="top" align="center">40&#x0002A;40</td>
<td valign="top" align="center">8</td>
<td valign="top" align="center">3</td>
<td valign="top" align="center">N0</td>
<td valign="top" align="center">0.8515</td>
<td valign="top" align="center">274.6</td>
<td valign="top" align="center">34.3</td>
<td valign="top" align="center">5.655</td>
</tr>
<tr>
<td valign="top" align="left">M4</td>
<td valign="top" align="center">40&#x0002A;40&#x0002A;8</td>
<td valign="top" align="center">4</td>
<td valign="top" align="center">3</td>
<td valign="top" align="center">N0</td>
<td valign="top" align="center">1.4259</td>
<td valign="top" align="center">340.1</td>
<td valign="top" align="center">32.8</td>
<td valign="top" align="center">4.616</td>
</tr>
<tr>
<td valign="top" align="left">M5</td>
<td valign="top" align="center">40&#x0002A;40</td>
<td valign="top" align="center">4</td>
<td valign="top" align="center">1</td>
<td valign="top" align="center">Yes</td>
<td valign="top" align="center">0.9848</td>
<td valign="top" align="center">559.8</td>
<td valign="top" align="center">38.0</td>
<td valign="top" align="center">21.834</td>
</tr>
<tr>
<td valign="top" align="left">M6</td>
<td valign="top" align="center">40&#x0002A;40&#x0002A;8</td>
<td valign="top" align="center">4</td>
<td valign="top" align="center">3</td>
<td valign="top" align="center">Yes</td>
<td valign="top" align="center">0.1735</td>
<td valign="top" align="center">155.3</td>
<td valign="top" align="center">32.1</td>
<td valign="top" align="center">4.555</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec>
<title>Analysis of Changes in Paths Based on Neural Networks and HRL Under Different Scenario Conditions</title>
<p><xref ref-type="fig" rid="F10">Figure 10</xref> and <xref ref-type="table" rid="T2">Table 2</xref> indicate the path changes and quantitative data of the algorithm under different scene conditions. As shown in <xref ref-type="fig" rid="F10">Figure 10</xref>, by comparing <xref ref-type="fig" rid="F10">Figures 10A,B</xref>, it was found that at the same starting point and ending point, under the condition of different obstacles, the algorithm system can effectively avoid obstacles and design the optimal paths. In addition, the convergence time is maintained at about 0.15 s, the number of convergence rounds is maintained at 145, and the total rotation angle is 4.8 rad. By comparing <xref ref-type="fig" rid="F10">Figures 10A,C</xref>, it was found that under different environments and different starting points and ending points, the system can still avoid collisions with obstacles, maintain a high convergence time, and design an optimal path. Simulation results show that the proposed path planning algorithm for mobile robots based on neural networks and HRL has a good generalization effect in different scenarios.</p>
<fig id="F10" position="float">
<label>Figure 10</label>
<caption><p>Path changes of algorithms in different scenarios.</p></caption>
<graphic xlink:href="fnbot-14-00063-g0010.tif"/>
</fig>
<table-wrap position="float" id="T2">
<label>Table 2</label>
<caption><p>Statistical results of algorithm path changes under different scenario conditions.</p></caption>
<table frame="hsides" rules="groups">
<thead><tr>
<th valign="top" align="left"><bold>Scenes</bold></th>
<th valign="top" align="center"><bold>Position</bold></th>
<th valign="top" align="center"><bold>Convergence time/s</bold></th>
<th valign="top" align="center"><bold>Convergence round</bold></th>
<th valign="top" align="center"><bold>Path length</bold></th>
<th valign="top" align="center"><bold>Total corner/rad</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">P1</td>
<td valign="top" align="center">(1, 39)</td>
<td valign="top" align="center">0.1615</td>
<td valign="top" align="center">144.5</td>
<td valign="top" align="center">32.1</td>
<td valign="top" align="center">4.869</td>
</tr>
<tr>
<td valign="top" align="left">P2</td>
<td valign="top" align="center">(1, 39)</td>
<td valign="top" align="center">0.1468</td>
<td valign="top" align="center">147.0</td>
<td valign="top" align="center">31.6</td>
<td valign="top" align="center">4.712</td>
</tr>
<tr>
<td valign="top" align="left">P3</td>
<td valign="top" align="center">(39, 39)</td>
<td valign="top" align="center">0.1724</td>
<td valign="top" align="center">147.4</td>
<td valign="top" align="center">31.8</td>
<td valign="top" align="center">4.641</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
</sec>
<sec sec-type="discussion" id="s4">
<title>Discussion</title>
<p>The neural network DQN can perceive the environment and perform feature extraction to realize the fitting from the environment to the state action function. This has been mentioned in the literature. Qiao et al. (<xref ref-type="bibr" rid="B18">2018</xref>) proposed an adaptive DQN strategy and applied it to text recognition. These results showed that the DQN algorithm is significantly better than other algorithms, which also indicated the advantages of the DQN algorithm in image recognition (Qiao et al., <xref ref-type="bibr" rid="B18">2018</xref>). Compared with the deep learning algorithm DQN, the DDQN algorithm is better than DQN in terms of value accuracy and strategy, which is also consistent with previous reports (Qu et al., <xref ref-type="bibr" rid="B19">2020</xref>). The hierarchical reinforcement learning technology is utilized to achieve the mapping from state to action and meet the mobile needs of mobile robots. The data have also proven that the robot path planning method based on deep reinforcement learning is an effective end-to-end mobile robot path planning method, which has also been confirmed in a study by Wang B. et al. (<xref ref-type="bibr" rid="B25">2020</xref>). The above results illustrate the feasibility of the proposed method in the path planning of mobile robots.</p>
<p>The DDPG algorithm was developed based on the DQN algorithm. The biggest improvement is that the action strategy of the DQN algorithm can only select actions in discrete action space, while the DDPG algorithm can select actions in continuous action space. The results show that the algorithm is significantly better than other algorithms in terms of operating efficiency. This is consistent with the results of Shen X. et al. (<xref ref-type="bibr" rid="B23">2019</xref>), in which it was found that when compared with the exponential moving average the effective variance of DDPG and average DDQN were reduced, which explained the efficient runtime of the algorithm further (Shen X. et al., <xref ref-type="bibr" rid="B23">2019</xref>). The results also found that after reinforcement learning is added, the convergence time of robot path planning is increased by 13.54%. Low et al. used the flower pollination algorithm to properly initialize the <italic>Q</italic>-value, which could speed up the convergence of mobile robots (Low et al., <xref ref-type="bibr" rid="B15">2019</xref>). The principle is similar to reinforcement learning, therefore, the research results here are also supported. The comparison between the Q-Learning and DQN algorithms found that the convergence time of robot path planning is increased by 33.85% after adding the neural network algorithm. Some scholars have improved the convergence performance of the model significantly by using two natural heuristic algorithms in unknown or partially known environments (Saraswathi et al., <xref ref-type="bibr" rid="B20">2018</xref>). This natural heuristic algorithm is similar to the neural network structure, further proving the effectiveness of the proposed algorithm.</p>
<p>In summary, the proposed DDQN algorithm has been proven to be applicable to image feature extraction, and the neural network algorithm has also been proven to effectively improve the performance and convergence of the algorithm. The data obtained are consistent with previous research. However, in terms of algorithm performance, the performance of mobile robot path planning based on neural networks and hierarchical reinforcement learning has been significantly improved. This algorithm can significantly reduce path planning time and improve smoothness, enabling mobile robots to move more conveniently and flexibility.</p>
</sec>
<sec sec-type="conclusions" id="s5">
<title>Conclusions</title>
<p>Through neural networks, the fitting from the environment to the state action function was realized by perceiving the environment and performing feature extraction. Through the enhancement function, the mapping of the current state to the action of the hierarchical reinforcement learning was satisfied, thereby enabling the robot to become more mobile. The two were organically combined to improve the performance of mobile robots during path planning. The mobile robot path planning algorithm based on neural networks and hierarchical reinforcement learning has better performance than other algorithms in all aspects. In addition, the proposed algorithm reduces the planning time, decreases the number of path steps, shortens the convergence time, and increases the smooth and efficient recognition and movement functions of the mobile robots. Although the performance of each algorithm has been analyzed as comprehensively as possible, the following aspects need to be improved in the future. First, it is impossible for the neural network learning method of the mobile robot&#x00027;s motion path planning to perform multiple &#x0201C;trial and error&#x0201D; processes in actual operations, which makes it difficult to apply the proposed algorithm. It is therefore necessary to implement the application on the physical platform before applying the algorithm to the actual robots. Second, the path planning only involves static scenarios. Whether the algorithm can show the same performance when encountering dynamic environmental changes is yet to be explored. The path planning capabilities of mobile robots were improved, laying a theoretical foundation for practical applications.</p>
</sec>
<sec sec-type="data-availability-statement" id="s6">
<title>Data Availability Statement</title>
<p>The raw data supporting the conclusions of this article will be made available by the authors, without undue reservation.</p>
</sec>
<sec id="s7">
<title>Ethics Statement</title>
<p>The studies involving human participants were reviewed and approved by Chongqing University Ethics Committee. The patients/participants provided their written informed consent to participate in this study.</p>
</sec>
<sec id="s8">
<title>Author Contributions</title>
<p>All authors listed have made a substantial, direct and intellectual contribution to the work, and approved it for publication.</p>
</sec>
<sec id="s9">
<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>
</body>
<back>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Arulkumaran</surname> <given-names>K.</given-names></name> <name><surname>Deisenroth</surname> <given-names>M. P.</given-names></name> <name><surname>Brundage</surname> <given-names>M.</given-names></name> <name><surname>Bharath</surname> <given-names>A. A.</given-names></name></person-group> (<year>2017</year>). <article-title>Deep reinforcement learning: a brief survey</article-title>. <source>IEEE Signal Process. Magazine</source> <volume>34</volume>, <fpage>26</fpage>&#x02013;<lpage>38</lpage>. <pub-id pub-id-type="doi">10.1109/MSP.2017.2743240</pub-id></citation></ref>
<ref id="B2">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bakdi</surname> <given-names>A.</given-names></name> <name><surname>Hentout</surname> <given-names>A.</given-names></name> <name><surname>Boutami</surname> <given-names>H.</given-names></name> <name><surname>Maoudj</surname> <given-names>A.</given-names></name> <name><surname>Hachour</surname> <given-names>O.</given-names></name> <name><surname>Bouzouia</surname> <given-names>B.</given-names></name></person-group> (<year>2017</year>). <article-title>Optimal path planning and execution for mobile robots using genetic algorithm and adaptive fuzzy-logic control</article-title>. <source>Robot. Autonomous Syst</source>. <volume>89</volume>, <fpage>95</fpage>&#x02013;<lpage>109</lpage>. <pub-id pub-id-type="doi">10.1016/j.robot.2016.12.008</pub-id></citation></ref>
<ref id="B3">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Botteghi</surname> <given-names>N.</given-names></name> <name><surname>Sirmacek</surname> <given-names>B.</given-names></name> <name><surname>Mustafa</surname> <given-names>K. A.</given-names></name> <name><surname>Poel</surname> <given-names>M.</given-names></name> <name><surname>Stramigioli</surname> <given-names>S.</given-names></name></person-group> (<year>2020</year>). <article-title>On reward shaping for mobile robot navigation: a reinforcement learning and SLAM based approach</article-title>. <source>arXiv:200204109</source>. <volume>2020</volume>, <fpage>1025</fpage>&#x02013;<lpage>1037</lpage>.</citation></ref>
<ref id="B4">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Chen</surname> <given-names>M.</given-names></name></person-group> (<year>2018</year>). <article-title>&#x0201C;The research of human individual&#x00027;s conformity behavior in emergency situations,&#x0201D;</article-title> (Library Hi Tech). <pub-id pub-id-type="doi">10.1108/LHT-08-2018-0113</pub-id></citation></ref>
<ref id="B5">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ghosh</surname> <given-names>S.</given-names></name> <name><surname>Panigrahi</surname> <given-names>P. K.</given-names></name> <name><surname>Parhi</surname> <given-names>D. R.</given-names></name></person-group> (<year>2017</year>). <article-title>Analysis of FPA and BA meta-heuristic controllers for optimal path planning of mobile robot in cluttered environment</article-title>. <source>IET Sci. Measure. Technol</source>. <volume>11</volume>, <fpage>817</fpage>&#x02013;<lpage>828</lpage>. <pub-id pub-id-type="doi">10.1049/iet-smt.2016.0273</pub-id></citation></ref>
<ref id="B6">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Gupta</surname> <given-names>U.</given-names></name> <name><surname>Mandal</surname> <given-names>S. K.</given-names></name> <name><surname>Mao</surname> <given-names>M.</given-names></name> <name><surname>Chakrabarti</surname> <given-names>C.</given-names></name> <name><surname>Ogras</surname> <given-names>U. Y.</given-names></name></person-group> (<year>2019</year>). <article-title>A deep Q-learning approach for dynamic management of heterogeneous processors</article-title>. <source>IEEE Comp. Architect. Lett</source>. <volume>18</volume>, <fpage>14</fpage>&#x02013;<lpage>17</lpage>. <pub-id pub-id-type="doi">10.1109/LCA.2019.2892151</pub-id></citation></ref>
<ref id="B7">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Haarnoja</surname> <given-names>T.</given-names></name> <name><surname>Zhou</surname> <given-names>A.</given-names></name> <name><surname>Hartikainen</surname> <given-names>K.</given-names></name> <name><surname>Tucker</surname> <given-names>G.</given-names></name> <name><surname>Ha</surname> <given-names>S.</given-names></name> <name><surname>Tan</surname> <given-names>J.</given-names></name> <etal/></person-group>. (<year>2018</year>). <article-title>Soft actor-critic algorithms and applications</article-title>. <source>arXiv:181205905</source>. <volume>2018</volume>, <fpage>26</fpage>&#x02013;<lpage>32</lpage>.</citation></ref>
<ref id="B8">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Han</surname> <given-names>J.</given-names></name> <name><surname>Seo</surname> <given-names>Y.</given-names></name></person-group> (<year>2017</year>). <article-title>Mobile robot path planning with surrounding point set and path improvement</article-title>. <source>Appl. Soft Comp</source>. <volume>57</volume>, <fpage>35</fpage>&#x02013;<lpage>47</lpage>. <pub-id pub-id-type="doi">10.1016/j.asoc.2017.03.035</pub-id></citation></ref>
<ref id="B9">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Han</surname> <given-names>X.</given-names></name> <name><surname>He</surname> <given-names>H.</given-names></name> <name><surname>Wu</surname> <given-names>J.</given-names></name> <name><surname>Peng</surname> <given-names>J.</given-names></name> <name><surname>Li</surname> <given-names>Y.</given-names></name></person-group> (<year>2019</year>). <article-title>Energy management based on reinforcement learning with double deep Q-learning for a hybrid electric tracked vehicle</article-title>. <source>Appl. Energy</source> <volume>254</volume>, <fpage>113708</fpage>&#x02013;<lpage>113725</lpage>. <pub-id pub-id-type="doi">10.1016/j.apenergy.2019.113708</pub-id></citation></ref>
<ref id="B10">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Lei</surname> <given-names>X.</given-names></name> <name><surname>Zhang</surname> <given-names>Z.</given-names></name> <name><surname>Dong</surname> <given-names>P.</given-names></name></person-group> (<year>2018</year>). <article-title>Dynamic path planning of unknown environment based on deep reinforcement learning</article-title>. <source>J. Robot</source>. <volume>2018</volume>, <fpage>25</fpage>&#x02013;<lpage>32</lpage>. <pub-id pub-id-type="doi">10.1155/2018/5781591</pub-id></citation></ref>
<ref id="B11">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Li</surname> <given-names>G.</given-names></name> <name><surname>Chou</surname> <given-names>W.</given-names></name></person-group> (<year>2018</year>). <article-title>Path planning for mobile robot using self-adaptive learning particle swarm optimization</article-title>. <source>Sci. China Inform. Sci</source>. <volume>61</volume>, <fpage>052204</fpage>&#x02013;<lpage>052213</lpage>. <pub-id pub-id-type="doi">10.1007/s11432-016-9115-2</pub-id></citation></ref>
<ref id="B12">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Liu</surname> <given-names>L.</given-names></name> <name><surname>Hodgins</surname> <given-names>J.</given-names></name></person-group> (<year>2017</year>). <article-title>Learning to schedule control fragments for physics-based characters using deep q-learning</article-title>. <source>ACM Trans. Graph</source>. <volume>36</volume>, <fpage>1</fpage>&#x02013;<lpage>14</lpage>. <pub-id pub-id-type="doi">10.1145/3083723</pub-id></citation></ref>
<ref id="B13">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Liu</surname> <given-names>Q.</given-names></name> <name><surname>Cheng</surname> <given-names>Z.</given-names></name> <name><surname>Chen</surname> <given-names>M.</given-names></name></person-group> (<year>2019</year>). <article-title>Effects of environmental education on environmental ethics and literacy based on virtual reality technology</article-title>. <source>Electron. Lib.</source> <volume>37</volume>, <fpage>860</fpage>&#x02013;<lpage>877</lpage>. <pub-id pub-id-type="doi">10.1108/EL-12-2018-0250</pub-id></citation></ref>
<ref id="B14">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Liu</surname> <given-names>Z.</given-names></name> <name><surname>Wang</surname> <given-names>C.</given-names></name></person-group> (<year>2019</year>). <article-title>Design of traffic emergency response system based on internet of things and data mining in emergencies</article-title>. <source>IEEE Access</source> <volume>7</volume>, <fpage>113950</fpage>&#x02013;<lpage>113962</lpage>. <pub-id pub-id-type="doi">10.1109/ACCESS.2019.2934979</pub-id></citation></ref>
<ref id="B15">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Low</surname> <given-names>E. S.</given-names></name> <name><surname>Ong</surname> <given-names>P.</given-names></name> <name><surname>Cheah</surname> <given-names>K. C.</given-names></name></person-group> (<year>2019</year>). <article-title>Solving the optimal path planning of a mobile robot using improved Q-learning</article-title>. <source>Robot. Autonomous Syst</source>. <volume>115</volume>, <fpage>143</fpage>&#x02013;<lpage>161</lpage>. <pub-id pub-id-type="doi">10.1016/j.robot.2019.02.013</pub-id></citation></ref>
<ref id="B16">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ohnishi</surname> <given-names>S.</given-names></name> <name><surname>Uchibe</surname> <given-names>E.</given-names></name> <name><surname>Nakanishi</surname> <given-names>K.</given-names></name> <name><surname>Ishii</surname> <given-names>S.</given-names></name></person-group> (<year>2019</year>). <article-title>Constrained Deep Q-learning gradually approaching ordinary Q-learning</article-title>. <source>Front. Neurorobot</source>. <volume>13</volume>, <fpage>103</fpage>&#x02013;<lpage>112</lpage>. <pub-id pub-id-type="doi">10.3389/fnbot.2019.00103</pub-id><pub-id pub-id-type="pmid">31920613</pub-id></citation></ref>
<ref id="B17">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Orozco-Rosas</surname> <given-names>U.</given-names></name> <name><surname>Montiel</surname> <given-names>O.</given-names></name> <name><surname>Sep&#x000FA;lveda</surname> <given-names>R.</given-names></name></person-group> (<year>2019</year>). <article-title>Mobile robot path planning using membrane evolutionary artificial potential field</article-title>. <source>Appl. Soft Comp</source>. <volume>77</volume>, <fpage>236</fpage>&#x02013;<lpage>251</lpage>. <pub-id pub-id-type="doi">10.1016/j.asoc.2019.01.036</pub-id></citation></ref>
<ref id="B18">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Qiao</surname> <given-names>J.</given-names></name> <name><surname>Wang</surname> <given-names>G.</given-names></name> <name><surname>Li</surname> <given-names>W.</given-names></name> <name><surname>Chen</surname> <given-names>M.</given-names></name></person-group> (<year>2018</year>). <article-title>An adaptive deep Q-learning strategy for handwritten digit recognition</article-title>. <source>Neural Netw</source>. <volume>107</volume>, <fpage>61</fpage>&#x02013;<lpage>71</lpage>. <pub-id pub-id-type="doi">10.1016/j.neunet.2018.02.010</pub-id><pub-id pub-id-type="pmid">29735249</pub-id></citation></ref>
<ref id="B19">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Qu</surname> <given-names>Z.</given-names></name> <name><surname>Hou</surname> <given-names>C.</given-names></name> <name><surname>Hou</surname> <given-names>C.</given-names></name> <name><surname>Wang</surname> <given-names>W.</given-names></name></person-group> (<year>2020</year>). <article-title>Radar signal intra-pulse modulation recognition based on convolutional neural network and deep Q-learning network</article-title>. <source>IEEE Access</source> <volume>8</volume>, <fpage>49125</fpage>&#x02013;<lpage>49136</lpage>. <pub-id pub-id-type="doi">10.1109/ACCESS.2020.2980363</pub-id></citation></ref>
<ref id="B20">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Saraswathi</surname> <given-names>M.</given-names></name> <name><surname>Murali</surname> <given-names>G. B.</given-names></name> <name><surname>Deepak</surname> <given-names>B.</given-names></name></person-group> (<year>2018</year>). <article-title>Optimal path planning of mobile robot using hybrid cuckoo search-bat algorithm</article-title>. <source>Proc. Comp. Sci</source>. <volume>133</volume>, <fpage>510</fpage>&#x02013;<lpage>517</lpage>. <pub-id pub-id-type="doi">10.1016/j.procs.2018.07.064</pub-id></citation></ref>
<ref id="B21">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Shen</surname> <given-names>C.-,w.</given-names></name> <name><surname>Ho</surname> <given-names>J.-,t.</given-names></name> <name><surname>Ly</surname> <given-names>P. T. M.</given-names></name> <name><surname>Kuo</surname> <given-names>T.-,c.</given-names></name></person-group> (<year>2019a</year>). <article-title>Behavioural intentions of using virtual reality in learning: perspectives of acceptance of information technology and learning style</article-title>. <source>Virtual Reality</source> <volume>23</volume>, <fpage>313</fpage>&#x02013;<lpage>324</lpage>. <pub-id pub-id-type="doi">10.1007/s10055</pub-id>&#x02013;018-0348&#x02013;1</citation></ref>
<ref id="B22">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Shen</surname> <given-names>C.-w.</given-names></name> <name><surname>Min</surname> <given-names>C.</given-names></name> <name><surname>Wang</surname> <given-names>C.-,c.</given-names></name></person-group> (<year>2019b</year>). <article-title>Analyzing the trend of O2O commerce by bilingual text mining on social media</article-title>. <source>Comp. Human Behav.</source> <volume>101</volume>, <fpage>474</fpage>&#x02013;<lpage>483</lpage>. <pub-id pub-id-type="doi">10.1016/j.chb.2018.09.031</pub-id></citation></ref>
<ref id="B23">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Shen</surname> <given-names>X.</given-names></name> <name><surname>Yin</surname> <given-names>C.</given-names></name> <name><surname>Chai</surname> <given-names>Y.</given-names></name> <name><surname>Hou</surname> <given-names>X.</given-names></name></person-group> (<year>2019</year>). <article-title>Exponential moving averaged Q-network for DDPG</article-title>, in <source>Chinese Conference on Pattern Recognition and Computer Vision (PRCV)</source>. (<publisher-loc>Beijing</publisher-loc>: <publisher-name>Springer</publisher-name>), <fpage>562</fpage>&#x02013;<lpage>572</lpage>. <pub-id pub-id-type="doi">10.1007/978-3-030-31654-9_48</pub-id></citation></ref>
<ref id="B24">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Sung</surname> <given-names>I.</given-names></name> <name><surname>Choi</surname> <given-names>B.</given-names></name> <name><surname>Nielsen</surname> <given-names>P.</given-names></name></person-group> (<year>2020</year>). <article-title>On the training of a neural network for online path planning with offline path planning algorithms</article-title>. <source>Int. J. Inform. Manage</source>. <fpage>102142</fpage>&#x02013;<lpage>102150</lpage>. <pub-id pub-id-type="doi">10.1016/j.ijinfomgt.2020.102142</pub-id></citation></ref>
<ref id="B25">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wang</surname> <given-names>B.</given-names></name> <name><surname>Liu</surname> <given-names>Z.</given-names></name> <name><surname>Li</surname> <given-names>Q.</given-names></name> <name><surname>Prorok</surname> <given-names>A.</given-names></name></person-group> (<year>2020</year>). <article-title>Mobile robot path planning in dynamic environments through globally guided reinforcement learning</article-title>. <source>arXiv:200505420</source>. <volume>2020</volume>, <fpage>22</fpage>&#x02013;<lpage>29</lpage>.</citation></ref>
<ref id="B26">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wang</surname> <given-names>P.</given-names></name> <name><surname>Li</surname> <given-names>X.</given-names></name> <name><surname>Song</surname> <given-names>C.</given-names></name> <name><surname>Zhai</surname> <given-names>S.</given-names></name></person-group> (<year>2020</year>). <article-title>Research on dynamic path planning of wheeled robot based on deep reinforcement learning on the slope ground</article-title>. <source>J. Robot</source>. <volume>9</volume>, <fpage>36</fpage>&#x02013;<lpage>39</lpage>. <pub-id pub-id-type="doi">10.1155/2020/7167243</pub-id></citation></ref>
<ref id="B27">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wei</surname> <given-names>Q.</given-names></name> <name><surname>Lewis</surname> <given-names>F. L.</given-names></name> <name><surname>Sun</surname> <given-names>Q.</given-names></name> <name><surname>Yan</surname> <given-names>P.</given-names></name> <name><surname>Song</surname> <given-names>R.</given-names></name></person-group> (<year>2016</year>). <article-title>Discrete-time deterministic $ Q $-learning: a novel convergence analysis</article-title>. <source>IEEE Trans. Cybernet</source>. <volume>47</volume>, <fpage>1224</fpage>&#x02013;<lpage>1237</lpage>. <pub-id pub-id-type="doi">10.1109/TCYB.2016.2542923</pub-id><pub-id pub-id-type="pmid">27093714</pub-id></citation></ref>
<ref id="B28">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wen</surname> <given-names>S.</given-names></name> <name><surname>Zhao</surname> <given-names>Y.</given-names></name> <name><surname>Yuan</surname> <given-names>X.</given-names></name> <name><surname>Wang</surname> <given-names>Z.</given-names></name> <name><surname>Zhang</surname> <given-names>D.</given-names></name> <name><surname>Manfredi</surname> <given-names>L.</given-names></name></person-group> (<year>2020</year>). <article-title>Path planning for active SLAM based on deep reinforcement learning under unknown environments</article-title>. <source>Intelligent Service Robot</source>. <fpage>1</fpage>&#x02013;<lpage>10</lpage>. <pub-id pub-id-type="doi">10.1007/s11370-019-00310-w</pub-id></citation></ref>
<ref id="B29">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wulfmeier</surname> <given-names>M.</given-names></name> <name><surname>Rao</surname> <given-names>D.</given-names></name> <name><surname>Wang</surname> <given-names>D. Z.</given-names></name> <name><surname>Ondruska</surname> <given-names>P.</given-names></name> <name><surname>Posner</surname> <given-names>I.</given-names></name></person-group> (<year>2017</year>). <article-title>Large-scale cost function learning for path planning using deep inverse reinforcement learning</article-title>. <source>Int. J. Robot. Res</source>. <volume>36</volume>, <fpage>1073</fpage>&#x02013;<lpage>1087</lpage>. <pub-id pub-id-type="doi">10.1177/0278364917722396</pub-id></citation></ref>
<ref id="B30">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Yan</surname> <given-names>Z.</given-names></name> <name><surname>Xu</surname> <given-names>Y.</given-names></name></person-group> (<year>2018</year>). <article-title>Data-driven load frequency control for stochastic power systems: a deep reinforcement learning method with continuous action search</article-title>. <source>IEEE Trans. Power Syst</source>. <volume>34</volume>, <fpage>1653</fpage>&#x02013;<lpage>1656</lpage>. <pub-id pub-id-type="doi">10.1109/TPWRS.2018.2881359</pub-id></citation></ref>
<ref id="B31">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhang</surname> <given-names>Q.</given-names></name> <name><surname>Lin</surname> <given-names>M.</given-names></name> <name><surname>Yang</surname> <given-names>L. T.</given-names></name> <name><surname>Chen</surname> <given-names>Z.</given-names></name> <name><surname>Khan</surname> <given-names>S. U.</given-names></name> <name><surname>Li</surname> <given-names>P.</given-names></name></person-group> (<year>2018</year>). <article-title>A double deep Q-learning model for energy-efficient edge scheduling</article-title>. <source>IEEE Trans. Services Comp</source>. <volume>12</volume>, <fpage>739</fpage>&#x02013;<lpage>749</lpage>. <pub-id pub-id-type="doi">10.1109/TSC.2018.2867482</pub-id></citation></ref>
<ref id="B32">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhao</surname> <given-names>Y.</given-names></name> <name><surname>Zheng</surname> <given-names>Z.</given-names></name> <name><surname>Liu</surname> <given-names>Y.</given-names></name></person-group> (<year>2018</year>). <article-title>Survey on computational-intelligence-based UAV path planning</article-title>. <source>Knowledge Based Syst</source>. <volume>158</volume>, <fpage>54</fpage>&#x02013;<lpage>64</lpage>. <pub-id pub-id-type="doi">10.1016/j.knosys.2018.05.033</pub-id></citation></ref>
<ref id="B33">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Zheng</surname> <given-names>Y.</given-names></name> <name><surname>Liu</surname> <given-names>S.</given-names></name></person-group> (<year>2020</year>). <article-title>Bibliometric analysis for talent identification by the subject&#x02013;author&#x02013;citation three-dimensional evaluation model in the discipline of physical education</article-title>, (Library Hi Tech). <pub-id pub-id-type="doi">10.1108/LHT-12-2019-0248</pub-id></citation></ref>
<ref id="B34">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhu</surname> <given-names>J.</given-names></name> <name><surname>Song</surname> <given-names>Y.</given-names></name> <name><surname>Jiang</surname> <given-names>D.</given-names></name> <name><surname>Song</surname> <given-names>H.</given-names></name></person-group> (<year>2017</year>). <article-title>A new deep-Q-learning-based transmission scheduling mechanism for the cognitive Internet of Things</article-title>. <source>IEEE Internet Things J</source>. <volume>5</volume>, <fpage>2375</fpage>&#x02013;<lpage>2385</lpage>. <pub-id pub-id-type="doi">10.1109/JIOT.2017.2759728</pub-id></citation></ref>
</ref-list> 
</back>
</article>
