<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">JCC</journal-id><journal-title-group><journal-title>Journal of Computer and Communications</journal-title></journal-title-group><issn pub-type="epub">2327-5219</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/jcc.2021.96008</article-id><article-id pub-id-type="publisher-id">JCC-110027</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Computer Science&amp;Communications</subject></subj-group></article-categories><title-group><article-title>
 
 
  Double BP Q-Learning Algorithm for Local Path Planning of Mobile Robot
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Guoming</surname><given-names>Liu</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Caihong</surname><given-names>Li</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Tengteng</surname><given-names>Gao</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Yongdi</surname><given-names>Li</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Xiaopei</surname><given-names>He</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib></contrib-group><aff id="aff1"><addr-line>School of Computer Science and Technology, Shandong University of Technology, Zibo, China</addr-line></aff><pub-date pub-type="epub"><day>07</day><month>06</month><year>2021</year></pub-date><volume>09</volume><issue>06</issue><fpage>138</fpage><lpage>157</lpage><history><date date-type="received"><day>19,</day>	<month>May</month>	<year>2021</year></date><date date-type="rev-recd"><day>20,</day>	<month>June</month>	<year>2021</year>	</date><date date-type="accepted"><day>23,</day>	<month>June</month>	<year>2021</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  Aiming at the dimension disaster problem, poor model generalization ability and deadlock problem in special obstacles environment caused by the increase of state information in the local path planning process of mobile robot, this paper proposed a Double BP Q-learning algorithm based on the fusion of Double Q-learning algorithm and BP neural network. In order to solve the dimensional disaster problem, two BP neural network fitting value functions with the same network structure were used to replace the two 
  Q value tables in Double Q-Learning algorithm to solve the problem that the 
  Q value table cannot store excessive state information. By adding the mechanism of priority experience replay and using the parameter transfer to initialize the model parameters in different environments, it could accelerate the convergence rate of the algorithm, improve the learning efficiency and the generalization ability of the model. By designing specific action selection strategy in special environment, the deadlock state could be avoided and the mobile robot could reach the target point. Finally, the designed Double BP Q-learning algorithm was simulated and verified, and the probability of mobile robot reaching the target point in the parameter update process was compared with the Double Q-learning algorithm under the same condition of the planned path length. The results showed that the model trained by the improved Double BP Q-learning algorithm had a higher success rate in finding the optimal or sub-optimal path in the dense discrete environment, besides, it had stronger model generalization ability, fewer redundant sections, and could reach the target point without entering the deadlock zone in the special obstacles environment.
 
</p></abstract><kwd-group><kwd>Mobile Robot</kwd><kwd> Local Path Planning</kwd><kwd> Double BP Q-Learning</kwd><kwd> BP Neural  Network</kwd><kwd> Transfer Learning</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>Path planning is the core part of mobile robot control system and the key of autonomous navigation technology. Where local path planning is one of the important direction of path planning research. In an unknown environment, mobile robot detects and collects map information through the real-time state information acquired by sensors, updates the environment model in real time and plans a collision free path from the start point to the target point [<xref ref-type="bibr" rid="scirp.110027-ref1">1</xref>].</p><p>The quality of the path planning result determines whether the mobile robot can efficiently and accurately complete the task [<xref ref-type="bibr" rid="scirp.110027-ref2">2</xref>]. When the pose information of the mobile robot itself is known, it can take the short running path and high smoothness as the optimization objectives [<xref ref-type="bibr" rid="scirp.110027-ref3">3</xref>]. At present, the commonly used local path planning algorithms include artificial potential field method [<xref ref-type="bibr" rid="scirp.110027-ref4">4</xref>], fuzzy control [<xref ref-type="bibr" rid="scirp.110027-ref5">5</xref>], neural network [<xref ref-type="bibr" rid="scirp.110027-ref6">6</xref>] and reinforcement learning [<xref ref-type="bibr" rid="scirp.110027-ref7">7</xref>]. The artificial potential field method has good real-time performance in path planning, but the mobile robot can be affected by the gravitational potential field function and the repulsive potential field function. It is easy to cause local minimum points, shock or stagnation [<xref ref-type="bibr" rid="scirp.110027-ref8">8</xref>]. Multiple restrictions can be added to the function model to eliminate local minimum points [<xref ref-type="bibr" rid="scirp.110027-ref9">9</xref>]. Fuzzy control method can summarize complete control rules and achieve local path planning through fuzzy reasoning and fuzzy judgment. However, simple fuzzification of information will reduce the precision of control [<xref ref-type="bibr" rid="scirp.110027-ref10">10</xref>], but it can be combined with neural network to form a fuzzy neural network to output a higher precision model [<xref ref-type="bibr" rid="scirp.110027-ref11">11</xref>]. Reinforcement learning algorithm utilizes mobile robot to interact with the environment and accumulate rewards to optimize strategies [<xref ref-type="bibr" rid="scirp.110027-ref12">12</xref>]. Literature [<xref ref-type="bibr" rid="scirp.110027-ref13">13</xref>] proposed to use deep reinforcement learning for path planning in an unknown environment, but the input state didn’t contain enough feature information and the model generalization was poor. Literature [<xref ref-type="bibr" rid="scirp.110027-ref14">14</xref>] abandoned the Q value table and proposed the method of using neural network to fit the value function. Although it contains enough characteristic information, there is no clear division for the surrounding obstacles, which is easy to fall into the local minimum state and the path planning efficiency is low. Literature [<xref ref-type="bibr" rid="scirp.110027-ref15">15</xref>] used sensors to explore the obstacle information and the returned obstacle information and actions are input into the neural network. Although the local minimum value would not be generated, but the information of the target point would not be considered, so the problem of path redundancy would easily occur. The application of reinforcement learning in local path planning requires multi-step decision and most tasks are correlated. Therefore, the learning of strategies under different scenarios can be accelerated through parameter transfer learning [<xref ref-type="bibr" rid="scirp.110027-ref16">16</xref>]. Transfer learning is a machine learning method that serves as the start point of the second task model for the task developed model [<xref ref-type="bibr" rid="scirp.110027-ref17">17</xref>]. In reinforcement learning, it mainly uses the fixed domain transferring from a single source task to a target task [<xref ref-type="bibr" rid="scirp.110027-ref18">18</xref>]. Literature [<xref ref-type="bibr" rid="scirp.110027-ref19">19</xref>] proposed case-based reasoning (CBR) as a heuristic method to accelerate the process of Q learning algorithm through transfer learning. Literature [<xref ref-type="bibr" rid="scirp.110027-ref20">20</xref>] applied the experience learned in two-dimensional environment to accelerate the learning of strategy in three-dimensional environment. Both References [<xref ref-type="bibr" rid="scirp.110027-ref19">19</xref>] [<xref ref-type="bibr" rid="scirp.110027-ref20">20</xref>] used transfer learning to improve the learning efficiency of reinforcement learning algorithm, but didn’t consider strategy learning in two-dimensional complex scenes, and the model generalization ability was poor. Literature [<xref ref-type="bibr" rid="scirp.110027-ref21">21</xref>] used transfer learning to map the corresponding actions output by neural network to another domain, which accelerated the learning process of related but different tasks, but the speed of learning different strategies was slow.</p><p>In view of the dimension disaster that the Double Q-learning algorithm cannot deal with and the poor generalization ability problem of the trained model, this paper proposes a Double BP Q-learning algorithm. The fitting value function of two BP neural networks with the same structure is used to replace the Q value table, the mechanism of the prioritized experience replay and parameter transfer are added to accelerate the learning efficiency of the model and improve its generalization ability. The trained model is used to deal with the obstacle avoidance in different obstacles environments.</p></sec><sec id="s2"><title>2. Design of State Space and Action Space</title><p>The appropriate state space and action space are designed as the input and output of the neural network. The information of the surrounding environment are returned by the sensors.</p><p>Taking the mobile robot as the origin of coordinates and the current running direction of it as the Y-axis direction, the global coordinate system of the mobile robot is established, as shown in <xref ref-type="fig" rid="fig1">Figure 1</xref>. Omnidirectional radar sensors are</p><p>used to detect environmental information [<xref ref-type="bibr" rid="scirp.110027-ref22">22</xref>]. The sector areas in the figure represent the range of detection angles of the sensors. The pose information of the robot includes the distance information d<sub>i</sub> of the nearest obstacle returned by the three directional sensors, as well as the distance D<sub>g</sub> and angle θ<sub>g</sub> between the mobile robot and the target point, so the state space s<sub>j</sub> of the mobile robot is defined as:</p><p>s j = ( d 1 , d 2 , d 3 , D g , θ g ) (1)</p><p>The angle detection range between 20˚ - 160˚ returned by the radar sensors is discretized into three directions λ<sub>1</sub>, λ<sub>2</sub> and λ<sub>3</sub>, and the angle range is 50˚, 40˚ and 50˚.</p><p>d<sub>1</sub>, d<sub>2</sub> and d<sub>3</sub> are the distance information of the nearest obstacle returned from the direction of λ<sub>1</sub>, λ<sub>2</sub> and λ<sub>3</sub>, respectively. The detection distance is discretized into a maximum of 3 steps. The obstacle information d<sub>i</sub> returned by the sensor is defined as follows:</p><p>d i = { 0                                     ( d i = 0 ) 1                                         ( 0 &lt; d i ≤ 1 ) 2                                     ( 1 &lt; d i ≤ 2 ) 3                                       ( 2 &lt; d i ≤ 3 ) (2)</p><p>D<sub>g</sub> is the distance between the mobile robot and the target point, θ<sub>g</sub> is the angle between the direction of the mobile robot and the target point. They are calculated as follows:</p><p>D g = ( x r − x g ) 2 + ( y r − y g ) 2 θ g = { arctan y r − y g x r − x g , ( x r ≠ x g ) π / 2 ( y r &gt; y g , x r = x g ) − π / 2 ( y r &lt; y g , x r = x g ) (3)</p><p>where (x<sub>r</sub>, y<sub>r</sub>) represents the position of the mobile robot at the current moment, and (x<sub>g</sub>, y<sub>g</sub>) represents the position of the target point.</p><p>The action space of the robot is represented by a, a = {a<sub>1</sub>, a<sub>2</sub>, a<sub>3</sub>}. The current running direction of the mobile robot is taken as the reference direction, and the three actions are defined as:</p><p>a<sub>1</sub>: move one step 45˚ to the left front;</p><p>a<sub>2</sub>: move one step forward;</p><p>a<sub>3</sub>: move one step 45˚ to the front right.</p></sec><sec id="s3"><title>3. Design of Double BP Q-Learning Neural Network Structure</title><p>Double BP Q-Learning algorithm is used to learn the obstacle avoidance strategy to plan the path. The state of the mobile robot is taken as the input of the network and outputs the action to be performed. Double BP Q-learning algorithm replaces the Q value table by fitting the value function of the neural network and includes two BP neural networks with the same structure, which are the estimation networks of BP_eval and the target network BP_target [<xref ref-type="bibr" rid="scirp.110027-ref23">23</xref>], respectively.</p><p>The input of each network is the state space s<sub>j</sub> of the robot. Excessive range of input data in neural network will affect the accuracy of gradient descent [<xref ref-type="bibr" rid="scirp.110027-ref24">24</xref>]. Therefore, the variable in the state s<sub>j</sub> of the mobile robot are normalized as follows:</p><p>s t = S j − S min S max − S min (4)</p><p>After normalization, the state space s j = ( d 1 , d 2 , d 3 , D g , θ g ) of the mobile robot is converted into s t = ( D _ U L , D _ U , D _ U R , D _ E n d , A n g l e ) , where s<sub>t</sub> is the five input of the neural network. The output of the neural network is the Q value corresponding to the three actions taken by the mobile robot. Nodes of the hidden layer are dynamically set according to the number of nodes of input and output layer. Here, the number is set to 13. The designed structure of a single BP Q-learning neural network design is shown in <xref ref-type="fig" rid="fig2">Figure 2</xref>.</p><p>Where ω<sub>ij</sub> and b<sub>ij</sub> represent the weight and bias of the ith input layer node to the jth hidden layer node, and the input of the jth hidden layer is defined as:</p><p>h j = ∑ ( ω i j s t + b i j )     ( i , t = 1 ~ 5 ; j = 1 ~ 13 ) (5)</p><p>where φ<sub>ij</sub> and c<sub>ij</sub> represent the weight and bias of the ith hidden layer node to the jth output layer node, and the input of the output layer of the jth layer is defined as:</p><p>o j = ∑ ( φ i j h i + c i j )     ( i = 1 ~ 13 ; j = 1 ~ 3 ) (6)</p><p>The parameter ω of the estimation network BP_eval and the parameter ω- of the target network BP_target include the weights and bias of each layer. BP_eval updates the ω parameter by training, BP_target is used to fix the network parameters,</p><p>and the algorithm copies the ω to the ω-regularly. The Memory part is the memory bank that stores the collected samples during learning. r<sub>t</sub> represents the reward and punishment value of the mobile robot when it reaches the next state; BP_eval outputs three estimated Q values: Q(e_a<sub>1</sub>), Q(e_a<sub>2</sub>) and Q(e_a<sub>3</sub>); BP_target outputs three target Q values: Q(t_a<sub>1</sub>), Q(t_a<sub>2</sub>) and Q(t_a<sub>3</sub>). BP_eval outputs Q(e_a<sub>t</sub>) corresponding to the action a<sub>t</sub>, and BP_target calculates Q(t_a<sub>s</sub>) corresponding to the action a<sub>s</sub> corresponding to the maximum Q value output by BP_eval. Where Loss function is calculated as follows:</p><p>L o s s = ( r t + γ Q ( t _ a s ) − Q ( e _ a t ) ) 2 (7)</p><p>Gradient descent algorithm is used to update the parameters of the network, and the network update block diagram is shown in <xref ref-type="fig" rid="fig3">Figure 3</xref>.</p></sec><sec id="s4"><title>4. Double BP Q-Learning Algorithm</title><p>Using neural network to fit the value function to solve the dimensional disaster problem, aiming at the problems of slow learning speed and poor model generalization ability in Double BP Q-learning algorithm, reward and punishment function and action selection strategy are redesigned, adding the mechanism of priority experience replay and transfer learning, so that the mobile robot can solve the problem of sparse rewards and accelerate the speed of experience learning.</p><sec id="s4_1"><title>4.1. Design of Reward and Punishment Functions</title><p>The design of reward and punishment functions determines the good or bad degree of actions taken by mobile robot in a certain state [<xref ref-type="bibr" rid="scirp.110027-ref25">25</xref>]. Sparse rewards have always been a problem that affects the convergence of reinforcement learning</p><p>algorithms [<xref ref-type="bibr" rid="scirp.110027-ref26">26</xref>]. A continuous reward and punishment function is designed to solve the problem of sparse rewards. It is defined as follows:</p><p>r t = { r _ t a r r _ o b s D _ b e f o r e − D _ n o w μ ⋅ D _ n o w + d _ n o w − d _ b e f o r e η (8)</p><p>where:</p><p>r_tar represents the reward for reaching the target point;</p><p>r_obsrepresents the punishment for colliding an obstacle;</p><p>D_before represents the distance between the mobile robot and the target point before the action is performed;</p><p>D_now represents the distance between the mobile robot and the obstacle after performing the action;</p><p>d_now represents the shortest distance between the mobile robot and the obstacle at the current state;</p><p>d_before represents the shortest distance between the mobile robot and the obstacle before the action is performed;</p><p>μ and η represent normalized discount factors.</p><p>After the mobile robot performs the action, whether it is closer to the target point or farther from the obstacle, it will be rewarded according to the calculation Formula (8); if the robot is farther from the target point or closer to the obstacle, it will be punished.</p></sec><sec id="s4_2"><title>4.2. Design of Dynamic ε-Greedy Strategy</title><p>Double BP Q-learning algorithm is proposed to improve the exploration-exploitation of ε-greedy strategy, and a dynamic ε-greedy strategy is designed. The ε-greedy strategy is used to balance the relationship between exploration and exploitation. Its essence is to explore and select actions with ε probability, and to learn the existed experience with 1-ε probability [<xref ref-type="bibr" rid="scirp.110027-ref27">27</xref>].</p><p>Given an initial value of exploitation ε<sub>0</sub> and peak value ε_end, with the increase of learning frequency, the exploration rate ε<sub>t</sub> decreases from peak value ε_end to zero and remains unchanged, while the exploitation rate ε<sub>r</sub> increases from the initial value ε<sub>0</sub> to peak value ε_endand remains unchanged. The exploration-exploitation rate is computed as follows:</p><p>ε r = { ε 0 + ε i ⋅ t _ s t e p , t _ s t e p &lt; s t e p _ m a x ε _ e n d , t _ s t e p ≥ s t e p _ m a x ε t = { ε _ e n d − ε 0 − ε i ⋅ t _ s t e p , t _ s t e p &lt; s t e p _ m a x 0 , t _ s t e p ≥ s t e p _ m a x (9)</p><p>where:</p><p>ε<sub>i</sub>represents the increase factor of exploration rate;</p><p>t_step represents the number of learning rounds;</p><p>step_max represents the maximum round of running.</p><p>The change of exploration-exploitation rate is shown in <xref ref-type="fig" rid="fig4">Figure 4</xref>.</p></sec><sec id="s4_3"><title>4.3. The Mechanism of Priority Experience Replay</title><p>Although random sampling breaks the correlation between samples, it ignores the importance of experience, and introduces the mechanism of priority experience replay to store the priority of samples through the binary tree structure Sumtree. High-priority samples are selected firstly to speed up learning [<xref ref-type="bibr" rid="scirp.110027-ref28">28</xref>].</p><p>Double BP Q-learning algorithm collects samples in the training process, which including state s<sub>t</sub>, action a<sub>t</sub>, reward r<sub>t</sub> and state s<sub>t</sub><sub>+1</sub> at the next moment. Samples (s<sub>t</sub>, a<sub>t</sub>, r<sub>t</sub>, s<sub>t</sub><sub>+1</sub>) are stored in the experience pool. TD-error is used to define the sample priority, which is to estimate the difference between the Q values output by the estimation network and the target network. The larger the TD-error, the higher the corresponding priority [<xref ref-type="bibr" rid="scirp.110027-ref29">29</xref>]. The probability defined by the extracted sample is as follows:</p><p>P ( i ) = p i α ∑ i = 1 k p i α (10)</p><p>where:</p><p>αrepresents how much priority to add to the sample. If α is 0, it is an uniform sampling:</p><p>p i = 1 r a n k ( i ) (11)</p><p>where the rank(i) is sorted by TD-error.</p><p>The higher the sample priority, the higher the probability of the sample being extracted, and the lower the sample priority is guaranteed to have a certain probability of being selected.</p></sec><sec id="s4_4"><title>4.4. Transfer Learning</title><p>Most tasks in local path planning by reinforcement learning are correlated, and parameters in related tasks are initialized by parameter migration in different map environments to speed up strategy learning of mobile robots in different scenarios [<xref ref-type="bibr" rid="scirp.110027-ref30">30</xref>].</p><p>Firstly, the pre-training model is loaded to obtain all the model parameters. The model parameters ω<sub>s</sub> and ω<sub>t</sub> to be trained are divided into two parts by using hierarchical Bayes. One part is the common task, such as the function ω<sub>i</sub>, which tends to the target point. The other part is unique to each model parameters, such as dense discrete obstacles avoidance strategy v<sub>s</sub> and special obstacles avoidance rule v<sub>t</sub>. The transfer learning framework of this paper is as follows:</p><p>ω s = ω i + v s ω t = ω i + v t (12)</p><p>The model parameter ω<sub>i</sub> approaching the target point is obtained through random initialization training, and it is initialized into the model parameter ω ′ i of the sparse discrete obstacles environment and the model parameter ω<sub>t</sub> of the special obstacles environment. Then, combining with the special state operation rules set in <xref ref-type="table" rid="table1">Table 1</xref> and the direction and distance information between the mobile robot and the target point, the obstacle avoidance strategy is learned. Finally, ω ′ i is initialized as the model parameter ω<sub>s</sub> in the dense discrete obstacle environment to perfect the obstacles avoidance rules.</p><table-wrap id="table1" ><label><xref ref-type="table" rid="table1">Table 1</xref></label><caption><title> Specific state operation rules</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >D_UL</th><th align="center" valign="middle" >D_U</th><th align="center" valign="middle" >D_UR</th><th align="center" valign="middle" >a<sub>1</sub></th><th align="center" valign="middle" >a<sub>2</sub></th><th align="center" valign="middle" >a<sub>3</sub></th></tr></thead><tr><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >√</td><td align="center" valign="middle" >√</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >0</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >1</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >√</td><td align="center" valign="middle" >√</td></tr><tr><td align="center" valign="middle" >0</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >√</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >1</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >√</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >1</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >√</td></tr><tr><td align="center" valign="middle" >0</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >√</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >√</td></tr><tr><td align="center" valign="middle" >1</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >√</td><td align="center" valign="middle" >√</td></tr><tr><td align="center" valign="middle" >1</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >√</td><td align="center" valign="middle" >√</td></tr><tr><td align="center" valign="middle" >0</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >3</td><td align="center" valign="middle" >√</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >√</td></tr><tr><td align="center" valign="middle" >1</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >3</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >√</td><td align="center" valign="middle" >√</td></tr><tr><td align="center" valign="middle" >1</td><td align="center" valign="middle" >3</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >√</td><td align="center" valign="middle" >√</td></tr><tr><td align="center" valign="middle" >0</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >√</td><td align="center" valign="middle" >√</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >2</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >√</td><td align="center" valign="middle" >√</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >2</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >√</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >√</td></tr><tr><td align="center" valign="middle" >0</td><td align="center" valign="middle" >3</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >√</td><td align="center" valign="middle" >√</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >3</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >√</td><td align="center" valign="middle" >√</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >3</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >√</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >√</td></tr><tr><td align="center" valign="middle" >1</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >√</td></tr><tr><td align="center" valign="middle" >1</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >√</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >2</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >√</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >1</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >√</td><td align="center" valign="middle" >√</td></tr><tr><td align="center" valign="middle" >2</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >√</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >√</td></tr><tr><td align="center" valign="middle" >2</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >√</td><td align="center" valign="middle" >√</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >1</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >3</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >√</td></tr><tr><td align="center" valign="middle" >1</td><td align="center" valign="middle" >3</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >√</td><td align="center" valign="middle" ></td></tr></tbody></table></table-wrap><p>The structure diagram of transfer learning to local path planning is shown in <xref ref-type="fig" rid="fig5">Figure 5</xref>.</p></sec><sec id="s4_5"><title>4.5. Learning Process of Double BP Q-Learning Algorithm</title><p>The mobile robot is trained by the designed Double BP Q-learning neural network and strategy designed above, and use the obtained model to plan local path.</p><p>The learning process of the algorithm is as follows.</p><p>Step 1. A standard blank map Q_Map is generated, and the number and position of starting points, target points and obstacles are randomly set. The initial direction is the connecting direction between the mobile robot and the target point.</p><p>Step 2. Initialize the parameters of Double BP Q-learning algorithm;</p><p>Step 3. The state s<sub>t</sub> is obtained after preprocessing the map environment information returned by the sensors;</p><p>Step 4. Neural network parameters are initialized randomly in the initial training; otherwise, parameters are initialized by parameter transfer;</p><p>Step 5. The dynamic ε-greedy strategy is used to select the action a<sub>t</sub>;</p><p>Step 6. The mobile robot performs the action a<sub>t</sub> to obtain the reward r<sub>t</sub> and the next state s<sub>t+1</sub>;</p><p>Step 7. Store {s<sub>t</sub>, a<sub>t</sub>, r<sub>t</sub>, s<sub>t+1</sub>} in Memory bank as a replay unit;</p><p>Step 8. Extract small batch of experience for learning;</p><p>Step 9. If the next state is the termination state, the Q value of the target network is r<sub>t</sub>; otherwise, the Q value is calculated through the target network as follows:</p><p>Q = r t + γ Q ( s t + 1 , arg max a Q ( s t + 1 , a s ; ω t ) ; ω t − ) (13)</p><p>Gradient descent algorithm is performed to calculate the Loss function as follows:</p><p>L o s s = ( r t + γ Q ( s t + 1 , arg max a Q ( s t + 1 , a s ; ω t ) ; ω t − ) − Q ( s t , a t ; ω t ) ) 2 (14)</p><p>Step 10. Update the estimation network parameter ω;</p><p>Step 11. Update the target network parameter ω- through copying ω to the ω- every C step.</p></sec></sec><sec id="s5"><title>5. Simulation Experiment Test</title><p>After adding a series of improvement strategies, on PyCharm platform, Double BP Q-learning algorithm and the Double Q-learning algorithm are compared in different map environments, and the optimization goal is to improve the generalization ability of the model under the premise of the same path length. Record the probability of the mobile robot reaching to the target point in the process of parameter update. The simulation environment is a 21 &#215; 21 grid environment, in which the red square grid represents the start point, the yellow circular grid represents the target point, the black square grid represents the obstacle and the black solid line represents the planned path.</p><sec id="s5_1"><title>5.1. Simulation Test of the Function toward the Target Point</title><p>The model parameters toward the target point are randomly initialized, and other parameters are initialized as shown in <xref ref-type="table" rid="table2">Table 2</xref>.</p><p>Using the set parameters, the mobile robot roamed in the environment without obstacles at the initial stage. After reaching the preset roaming times, small batches of experience are selected for learning. After the exploration rate rises to the preset peak value, the exploration rate remains unchanged. Continue training to the pre-training times and output the probability of successfully reaching the target point during parameters update process, the processes are shown in <xref ref-type="fig" rid="fig6">Figure 6</xref>.</p><p><xref ref-type="fig" rid="fig7">Figure 7</xref>(a) and <xref ref-type="fig" rid="fig7">Figure 7</xref>(b) are the comparison of planned path toward the target point by Double Q-learning and Double BP Q-learning algorithms, respectively, where both the length of the paths is 20. The probability of the Double Q-learning algorithm successfully reaching the target point fluctuates greatly after the number of updating rounds p_step reaches 40 rounds and the model is unstable, as shown in <xref ref-type="fig" rid="fig6">Figure 6</xref>. However, the probability of Double BP Q-learning algorithm reaching the target point tends to be stable and reaches</p><table-wrap id="table2" ><label><xref ref-type="table" rid="table2">Table 2</xref></label><caption><title> Parameters toward the target point</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Parameter</th><th align="center" valign="middle" >Initialization values</th></tr></thead><tr><td align="center" valign="middle" >lr</td><td align="center" valign="middle" >0.001</td></tr><tr><td align="center" valign="middle" >ε<sub>0</sub></td><td align="center" valign="middle" >0</td></tr><tr><td align="center" valign="middle" >ε_end</td><td align="center" valign="middle" >0.95</td></tr><tr><td align="center" valign="middle" >ε<sub>i</sub></td><td align="center" valign="middle" >0.001</td></tr><tr><td align="center" valign="middle" >m_size</td><td align="center" valign="middle" >20000</td></tr><tr><td align="center" valign="middle" >γ</td><td align="center" valign="middle" >0.95</td></tr><tr><td align="center" valign="middle" >batch_size</td><td align="center" valign="middle" >256</td></tr><tr><td align="center" valign="middle" >replace_size</td><td align="center" valign="middle" >20</td></tr><tr><td align="center" valign="middle" >start_step</td><td align="center" valign="middle" >3000</td></tr><tr><td align="center" valign="middle" >learn_step</td><td align="center" valign="middle" >50</td></tr><tr><td align="center" valign="middle" >episode</td><td align="center" valign="middle" >600</td></tr></tbody></table></table-wrap><p>more than 90% in the later period of parameter update, which shows the robot can reach that the target point, with a high probability in the obstacle-free map and the model generalization ability is higher.</p><p>The double BP Q-learning algorithm is used to train the model to complete the test of reaching the target point. <xref ref-type="fig" rid="fig8">Figure 8</xref> shows two scenarios that the starting point and target point are arbitrarily set, and the optimal or relatively optimal path toward the target point can be planned through the trained model.</p></sec><sec id="s5_2"><title>5.2. Simulation in the Sparse Discrete Obstacles Environment</title><p>In the sparse discrete obstacles environment, model parameters approaching the target point are used as initialization to carry out model transfer. Some parameters are the same as parameters that approaching the target point, and other parameters are initialized as shown in <xref ref-type="table" rid="table3">Table 3</xref>.</p><p>By increasing the initial exploration rate ε<sub>0</sub> to 0.2, the mobile robot can make use of the learned rules earlier at the early stage of training and have a greater probability to reach the target point and reduce the unnecessary learning. Increase the number of initial roaming times and the memory bank capacity to make better use of the collected experience; after reaching the preset training</p><table-wrap id="table3" ><label><xref ref-type="table" rid="table3">Table 3</xref></label><caption><title> Parameters of sparse discrete obstacles environment</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Parameter</th><th align="center" valign="middle" >Initialization values</th></tr></thead><tr><td align="center" valign="middle" >ε<sub>0</sub></td><td align="center" valign="middle" >0.2</td></tr><tr><td align="center" valign="middle" >m_size</td><td align="center" valign="middle" >30000</td></tr><tr><td align="center" valign="middle" >start_step</td><td align="center" valign="middle" >5000</td></tr><tr><td align="center" valign="middle" >episode</td><td align="center" valign="middle" >800</td></tr></tbody></table></table-wrap><p>times, the probability of successfully reaching the target point in each round of parameter update in the sparse discrete obstacles environment is output. The training results of the two algorithms are shown in <xref ref-type="fig" rid="fig9">Figure 9</xref>.</p><p><xref ref-type="fig" rid="fig1">Figure 1</xref>0(a) and <xref ref-type="fig" rid="fig1">Figure 1</xref>0(b) show the path comparison in the sparse discrete obstacles environment between the two algorithms, and the planned paths are all 21. As shown in <xref ref-type="fig" rid="fig9">Figure 9</xref>, when the number of parameter update p_step reaches 60 rounds, Compared with Double Q-learning algorithm, Double BP Q-learning algorithm has a greater probability of the robot reaching the target point, and the planned path is more smooth and has few redundant sections, which indicates that the Double BP Q-learning algorithm has learned part of the obstacles avoidance rules in the sparse discrete obstacles environment, and the output model has higher generalization ability.</p><p>After several tests, under different sparse discrete obstacles environments, the success rate of Double BP Q-Learning algorithm model for path planning can reach 76%, while the success rate of Double Q-Learning algorithm is only 65%. <xref ref-type="fig" rid="fig1">Figure 1</xref>1 shows partial simulation results of the trained Double BP Q-learning algorithm in the sparse discrete obstacles environments.</p></sec><sec id="s5_3"><title>5.3. Simulation in Dense Discrete Obstacles Environment</title><p>In sparse discrete obstacles environment, due to the insufficient complexity of obstacle map, the model generalization ability is not high, and the strategy learned by the algorithm can’t deal with most of the maps, so the sparse discrete obstacles environment model is initialized to model parameters of the dense discrete obstacles environment through parameter transfer, some parameters are the same as parameters of the sparse discrete obstacles environment, other parameters are initialized as shown in <xref ref-type="table" rid="table4">Table 4</xref>.</p><table-wrap id="table4" ><label><xref ref-type="table" rid="table4">Table 4</xref></label><caption><title> Environmental parameters of dense discrete obstacles environments</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Parameter</th><th align="center" valign="middle" >Initialization values</th></tr></thead><tr><td align="center" valign="middle" >ε<sub>0</sub></td><td align="center" valign="middle" >0.2</td></tr><tr><td align="center" valign="middle" >ε<sub>i</sub></td><td align="center" valign="middle" >0.0005</td></tr><tr><td align="center" valign="middle" >m_size</td><td align="center" valign="middle" >40000</td></tr><tr><td align="center" valign="middle" >start_step</td><td align="center" valign="middle" >10000</td></tr><tr><td align="center" valign="middle" >episode</td><td align="center" valign="middle" >2000</td></tr></tbody></table></table-wrap><p>Increase the number of roaming steps in the initial stage and reduce the increase extent of exploration rate. In the initial training process, the mobile robot can find more possible paths and learn more possible scenarios. At the same time, increase the memory bank capacity to store more different experiences. After reaching the preset peak value, the exploration rate remains unchanged and continues to train until reaching the preset training times and outputs the probability of successfully reaching the target point in each round of parameter update process. The simulation results of the two algorithms are shown in <xref ref-type="fig" rid="fig1">Figure 1</xref>2.</p><p>However, as is shown in <xref ref-type="fig" rid="fig1">Figure 1</xref>2, the probability of the Double Q-Learning algorithm reaching target point fluctuates greatly during the parameter update process, and the model is difficult to converge. However, the Double BP Q-learning algorithm can successfully reach the target point with a high probability after the number of parameter update rounds reaching 60 rounds, and the probability tends to be stable and the smoothness of the planned path is higher, which indicating that the model trained by the algorithm can be applied to most obstacles maps in dense discrete obstacles environments, and the generalization ability is stronger.</p><p><xref ref-type="fig" rid="fig1">Figure 1</xref>3(a) and <xref ref-type="fig" rid="fig1">Figure 1</xref>3(b) are the comparison of the planned paths obtained by using the two algorithms respectively in a dense discrete obstacles environment, where the paths length planned by the algorithms are both 21.</p><p>After several tests, in the different dense discrete obstacles environments, the success rate of using Double BP Q-learning algorithm model to plan different maps can reach 89%, while the success rate of Double Q-learning algorithm is 82%. <xref ref-type="fig" rid="fig1">Figure 1</xref>4 shows partial simulation results of the trained Double BP Q-learning model in the dense discrete obstacles environments.</p></sec><sec id="s5_4"><title>5.4. Simulation in the Special Obstacles Environment</title><p>In the special obstacles environment, there are some special scenarios that are easy to make the mobile robot enter the deadlock state. The model parameters approaching the target point are used as initialization to carry out parameter transfer. Some parameters are the same as those parameters approaching the target point, and other parameters are initialized as shown in <xref ref-type="table" rid="table5">Table 5</xref>.</p><p>Special obstacles environment mainly includes “U” type obstacles environment and “一” type obstacles environment. Mobile robot needs to avoid the special obstacles in advance or is able to escape after entering them. Through three sensors to detect obstacles information to set specific operation rules, as shown in <xref ref-type="table" rid="table1">Table 1</xref>, and combine the direction and distance information with the target point to make the mobile robot avoid entering deadlock area in advance. Reduce unnecessary study to speed up the convergence of the model. <xref ref-type="fig" rid="fig1">Figure 1</xref>5 is the probability of reaching the target point after each round of parameter update successfully using the two algorithms.</p><p><xref ref-type="fig" rid="fig1">Figure 1</xref>6(a) and <xref ref-type="fig" rid="fig1">Figure 1</xref>6(b) show the path comparison of special obstacles environment by the two algorithms, and the length is basically same. As is shown in <xref ref-type="fig" rid="fig1">Figure 1</xref>5, the Double Q-learning algorithm converges faster in the early stage of training and has a higher probability of reaching the target point.</p><table-wrap id="table5" ><label><xref ref-type="table" rid="table5">Table 5</xref></label><caption><title> Environmental parameters of special obstacles environment</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Parameter</th><th align="center" valign="middle" >Initialization values</th></tr></thead><tr><td align="center" valign="middle" >ε<sub>i</sub></td><td align="center" valign="middle" >0.002</td></tr><tr><td align="center" valign="middle" >m_size</td><td align="center" valign="middle" >30,000</td></tr><tr><td align="center" valign="middle" >start_step</td><td align="center" valign="middle" >6000</td></tr><tr><td align="center" valign="middle" >episode</td><td align="center" valign="middle" >800</td></tr></tbody></table></table-wrap><p>However, when the number of parameter update rounds reaches 50, the probability of reaching the target point is more than 90% for the model trained by the Double BP Q-learning algorithm. It tends to be stable and fluctuates less. It also has fewer redundant sections in the planned path, which indicates that the obstacles avoidance strategy learned can avoid certain deadlocks to reach the target point.</p><p>After several tests, the result is in line with the expected result of experiment. The simulation results of partial planned path under special obstacles environments using the trained Double BP Q-learning model are shown in <xref ref-type="fig" rid="fig1">Figure 1</xref>7.</p></sec></sec><sec id="s6"><title>6. Conclusions</title><p>Double BP Q-learning algorithm based on the fusion of Double Q-learning algorithm and BP neural network is proposed. Compared with the traditional Double Q-learning algorithm, the designed algorithm can be applied to the operation environment with more complex obstacles. The convergence speed of the algorithm is faster, and the trained model has strong generalization ability and fewer path redundant sections. The success rate of the planned path in the dense discrete obstacles environment is higher, which can reach 89%. In the special obstacles environment, the robot can reach the target point avoiding the deadlocked area. The proposed Double BP Q-learning algorithm has the following characteristics:</p><p>1) Using BP neural network fitting value function instead of the Q value table can plan the path in a wider range of environment with more complex obstacles;</p><p>2) The mechanism of priority experience replay is added to speed up strategy learning;</p><p>3) Special operating rules are designed to help mobile robots escape from the deadlocked area under special obstacles environment;</p><p>4) Parameter transfer is used to initialize the model parameters in different obstacles environments for reducing unnecessary training, accelerating the convergence speed of the algorithm and increasing the generalization ability of the model.</p><p>Future research work is to combine deep reinforcement learning with neural network with memory function to process continuous high-dimensional state information and continuous action information, and improve path smoothness and reduce path redundancy.</p></sec><sec id="s7"><title>Funding</title><p>This work is supported by the National Natural Science Foundation of China grant nos. 61473179, 61973184, 61573213.</p></sec><sec id="s8"><title>Conflicts of Interest</title><p>The authors declare no conflict of interest.</p></sec><sec id="s9"><title>Cite this paper</title><p>Liu, G.M., Li, C.H., Gao, T.T., Li, Y.D. and He, X.P. (2021) Double BP Q-Learning Algorithm for Local Path Planning of Mobile Robot. Journal of Computer and Communications, 9, 138-157. https://doi.org/10.4236/jcc.2021.96008</p></sec></body><back><ref-list><title>References</title><ref id="scirp.110027-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">Cheng, Y. and Wang, G.Y. (2018) Mobile Robot Navigation Based on Lidar. 2018 IEEE Chinese Control and Decision Conference (CCDC), Shenyang, 9-11 June 2018, 1243-1246. https://doi.org/10.1109/CCDC.2018.8407319</mixed-citation></ref><ref id="scirp.110027-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">Patle, B.K., Pandey, A., Parhi, D.R.K., et al. (2019) A Review: On Path Planning Strategies for Navigation of Mobile Robot. Defence Technology, 15, 582-606. https://doi.org/10.1016/j.dt.2019.04.011</mixed-citation></ref><ref id="scirp.110027-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Zafar, M.N. and Mohanta, J.C. (2018) Methodology for Path Planning and Optimization of Mobile Robots: A Review. Procedia Computer Science, 133, 141-152. https://doi.org/10.1016/j.procs.2018.07.018</mixed-citation></ref><ref id="scirp.110027-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">Chen, Y.B., Luo, G.C., Mei, Y.S., Yu, J.Q. and Su, X.L. (2016) UAV Path Planning Using Artificial Potential Field Method Updated by Optimal Control Theory. International Journal of Systems Science, 47, 1407-1420. https://doi.org/10.1080/00207721.2014.929191</mixed-citation></ref><ref id="scirp.110027-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">Chen, J.W., Zhu, H., Zhang, L., et al. (2018) Research on Fuzzy Control of Path Tracking for Underwater Vehicle Based on Genetic Algorithm Optimization. Ocean Engineering, 156, 217-223. https://doi.org/10.1016/j.oceaneng.2018.03.010</mixed-citation></ref><ref id="scirp.110027-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">Panov, A.I., Yakovlev, K.S. and Suvorov, R. (2018) Grid Path Planning with Deep Reinforcement Learning: Preliminary Results. Procedia Computer Science, 123, 347-353. https://doi.org/10.1016/j.procs.2018.01.054</mixed-citation></ref><ref id="scirp.110027-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">Macek, K., Petrovi, C.I. and Peric, N. (2002) A Reinforcement Learning Approach to Obstacle Avoidance of Mobile Robots. 7th IEEE International Workshop on Advanced Motion Control, Maribor, 3-5 July 2002, 462-466.</mixed-citation></ref><ref id="scirp.110027-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">Vadakkepat, P., Tan, K.C., et al. (2000) Evolutionary Artificial Potential Fields and Their Application in Real Time Robot Path Planning. Proceedings of the 2000 Congress on Evolutionary Computation, Vol. 1, 256-263.</mixed-citation></ref><ref id="scirp.110027-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">Bounini, F., Gingras, D., Pollart, H., et al. (2017) Modified Artificial Potential Field Method for Online Path Planning Applications. 2017 IEEE Intelligent Vehicles Symposium (IV), Paris, 9-12 June 2017, 180-185. https://doi.org/10.1109/IVS.2017.7995717</mixed-citation></ref><ref id="scirp.110027-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">Guo, J., Li, C. and Guo, S. (2019) A Novel Step Optimal Path Planning Algorithm for the Spherical Mobile Robot Based on Fuzzy Control. IEEE Access, 8, 1394-1405. https://doi.org/10.1109/ACCESS.2019.2962074</mixed-citation></ref><ref id="scirp.110027-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">Yen, C.T. and Cheng, M.F. (2018) A Study of Fuzzy Control with Ant Colony Algorithm Used in Mobile Robot for Shortest Path Planning and Obstacle Avoidance. Microsystem Technologies, 24, 125-135. https://doi.org/10.1007/s00542-016-3192-9</mixed-citation></ref><ref id="scirp.110027-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">Zhang, Q., Li, M., Wang, X., et al. (2012) Reinforcement Learning in Robot Path Optimization. JSW, 7, 657-662. https://doi.org/10.4304/jsw.7.3.657-662</mixed-citation></ref><ref id="scirp.110027-ref13"><label>13</label><mixed-citation publication-type="other" xlink:type="simple">Lei, X., Zhang, Z. and Dong, P. (2018) Dynamic Path Planning of Unknown Environment Based on Deep Reinforcement Learning. Journal of Robotics, 2018, Article ID: 5781591. https://doi.org/10.1155/2018/5781591</mixed-citation></ref><ref id="scirp.110027-ref14"><label>14</label><mixed-citation publication-type="other" xlink:type="simple">Duguleana, M. and Mogan, G. (2016) Neural Networks Based Reinforcement Learning for Mobile Robots Obstacle Avoidance. Expert Systems with Applications, 62, 104-115. https://doi.org/10.1016/j.eswa.2016.06.021</mixed-citation></ref><ref id="scirp.110027-ref15"><label>15</label><mixed-citation publication-type="other" xlink:type="simple">Huang, B.Q., Cao, G.Y. and Guo, M. (2005) Reinforcement Learning Neural Network to the Problem of Autonomous Mobile Robot Obstacle Avoidance. 2005 International Conference on Machine Learning and Cybernetics, Vol. 1, 85-89.</mixed-citation></ref><ref id="scirp.110027-ref16"><label>16</label><mixed-citation publication-type="other" xlink:type="simple">Saha, O., Dasgupta, P. and Woosley, B. (2019) Real-Time Robot Path Planning from Simple to Complex Obstacle Patterns via Transfer Learning of Options. Autonomous Robots, 43, 2071-2093. https://doi.org/10.1007/s10514-019-09852-5</mixed-citation></ref><ref id="scirp.110027-ref17"><label>17</label><mixed-citation publication-type="other" xlink:type="simple">Torrey, L. and Shavlik, J. (2010) Transfer Learning. In: Handbook of Research on Machine Learning Applications and Trends: Algorithms, Methods, and Techniques, IGI Global, Hershey, 242-264. https://doi.org/10.4018/978-1-60566-766-9.ch011</mixed-citation></ref><ref id="scirp.110027-ref18"><label>18</label><mixed-citation publication-type="other" xlink:type="simple">Flennerhag, S., Moreno, P.G., Lawrence, N.D., et al. (2018) Transferring Knowledge across Learning Processes.</mixed-citation></ref><ref id="scirp.110027-ref19"><label>19</label><mixed-citation publication-type="other" xlink:type="simple">Bianchi, R.A.C., Santos, P.E., Da Silva, I.J., et al. (2018) Heuristically Accelerated Reinforcement Learning by Means of Case-Based Reasoning and Transfer Learning. Journal of Intelligent &amp; Robotic Systems, 91, 301-312. https://doi.org/10.1007/s10846-017-0731-2</mixed-citation></ref><ref id="scirp.110027-ref20"><label>20</label><mixed-citation publication-type="other" xlink:type="simple">Celiberto Jr., L.A., Matsuura, J.P., De Màntaras, R.L., et al. (2010) Using Transfer Learning to Speed-Up Reinforcement Learning: A Cased-Based Approach. 2010 Latin American Robotics Symposium and Intelligent Robotics Meeting IEEE, Sao Bernardo do Campo, 23-28 October 2010, 55-60.</mixed-citation></ref><ref id="scirp.110027-ref21"><label>21</label><mixed-citation publication-type="other" xlink:type="simple">Celiberto, L., Matsuura, J.P., L&amp;oacute;pez de Mántaras, R., et al. (2011) Using Cases as Heuristics in Reinforcement Learning: A Transfer Learning Application. Proceedings of the 22nd International Joint Conference on Artificial Intelligence, Barcelona, 16-22 July 2011, 1211-1217.</mixed-citation></ref><ref id="scirp.110027-ref22"><label>22</label><mixed-citation publication-type="other" xlink:type="simple">Caltagirone, L., Bellone, M., Svensson, L., et al. (2017) LIDAR-Based Driving Path Generation Using Fully Convolutional Neural Networks. 2017 IEEE 20th International Conference on Intelligent Transportation Systems (ITSC), Yokohama, 16-19 October 2017, 1-6. https://doi.org/10.1109/ITSC.2017.8317618</mixed-citation></ref><ref id="scirp.110027-ref23"><label>23</label><mixed-citation publication-type="other" xlink:type="simple">Tai, L. and Liu, M. (2016) A Robot Exploration Strategy Based on q-Learning Network. 2016 IEEE International Conference on Real-Time Computing and Robotics, Angkor Wat, 6-9 June 2016, 57-62. https://doi.org/10.1109/RCAR.2016.7784001</mixed-citation></ref><ref id="scirp.110027-ref24"><label>24</label><mixed-citation publication-type="other" xlink:type="simple">Andor, D., Alberti, C., Weiss, D., et al. (2016) Globally Normalized Transition-Based Neural Networks. Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics, Berlin, 7-12 August 2016, 2442-2452. https://doi.org/10.18653/v1/P16-1231</mixed-citation></ref><ref id="scirp.110027-ref25"><label>25</label><mixed-citation publication-type="other" xlink:type="simple">Van Seijen, H., Fatemi, M., Romoff, J., et al. (2017) Hybrid Reward Architecture for Reinforcement Learning. Advances in Neural Information Processing Systems 30: Annual Conference on Neural Information Processing Systems 2017, Long Beach, 4-9 December 2017, 5393-5403.</mixed-citation></ref><ref id="scirp.110027-ref26"><label>26</label><mixed-citation publication-type="other" xlink:type="simple">Xu, N., Zhang, H., Liu, A.A., et al. (2019) Multi-Level Policy and Reward-Based Deep Reinforcement Learning Framework for Image Captioning. IEEE Transactions on Multimedia, 22, 1372-1383. https://doi.org/10.1109/TMM.2019.2941820</mixed-citation></ref><ref id="scirp.110027-ref27"><label>27</label><mixed-citation publication-type="other" xlink:type="simple">dos Santos Mignon, A. and da Rocha, R.L.A. (2017) An Adaptive Implementation of ε-Greedy in Reinforcement Learning. Procedia Computer Science, 109, 1146-1151. https://doi.org/10.1016/j.procs.2017.05.431</mixed-citation></ref><ref id="scirp.110027-ref28"><label>28</label><mixed-citation publication-type="other" xlink:type="simple">Xu, Z., Tang, J., Meng, J., et al. (2018) Experience-Driven Networking: A Deep Reinforcement Learning Based Approach. IEEE INFOCOM 2018—IEEE Conference on Computer Communications, Honolulu, 15-19 April 2018, 1871-1879. https://doi.org/10.1109/INFOCOM.2018.8485853</mixed-citation></ref><ref id="scirp.110027-ref29"><label>29</label><mixed-citation publication-type="other" xlink:type="simple">Schaul, T., Quan, J., Antonoglou, I., et al. (2015) Prioritized Experience Replay.</mixed-citation></ref><ref id="scirp.110027-ref30"><label>30</label><mixed-citation publication-type="other" xlink:type="simple">Han, D., Liu, Q. and Fan, W. (2018) A New Image Classification Method Using CNN Transfer Learning and Web Data Augmentation. Expert Systems with Applications, 95, 43-56. https://doi.org/10.1016/j.eswa.2017.11.028</mixed-citation></ref></ref-list></back></article>