<?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.2013.00005</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>Humanoids Learning to Walk: A Natural CPG-Actor-Critic Architecture</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name><surname>Li</surname> <given-names>Cai</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<xref ref-type="author-notes" rid="fn001">&#x0002A;</xref>
</contrib>
<contrib contrib-type="author">
<name><surname>Lowe</surname> <given-names>Robert</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
</contrib>
<contrib contrib-type="author">
<name><surname>Ziemke</surname> <given-names>Tom</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
</contrib>
</contrib-group>
<aff id="aff1"><sup>1</sup><institution>Interaction Lab, University of Sk&#x000F6;vde</institution> <country>Sk&#x000F6;vde, Sweden</country></aff>
<author-notes>
<fn fn-type="edited-by"><p>Edited by: Jeffrey L. Krichmar, University of California Irvine, USA</p></fn>
<fn fn-type="edited-by"><p>Reviewed by: Mehdi Khamassi, CNRS, France; Poramate Manoonpong, Georg-August-Universit&#x000E4;t G&#x000F6;ttingen, Germany; Calogero M. Oddo, Scuola Superiore Sant&#x02019;Anna, Italy</p></fn>
<fn fn-type="corresp" id="fn001"><p>&#x0002A;Correspondence: Cai Li, Interaction Lab, University of Sk&#x000F6;vde, 54128 Sk&#x000F6;vde, Sweden. e-mail: <email>gauss.lee&#x00040;his.se</email></p></fn>
</author-notes>
<pub-date pub-type="epub">
<day>08</day>
<month>04</month>
<year>2013</year>
</pub-date>
<pub-date pub-type="collection">
<year>2013</year>
</pub-date>
<volume>7</volume>
<elocation-id>5</elocation-id>
<history>
<date date-type="received">
<day>30</day>
<month>11</month>
<year>2012</year>
</date>
<date date-type="accepted">
<day>06</day>
<month>03</month>
<year>2013</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#x000A9; 2013 Li, Lowe and Ziemke.</copyright-statement>
<copyright-year>2013</copyright-year>
<license license-type="open-access" xlink:href="http://creativecommons.org/licenses/by/3.0/"><p>This is an open-access article distributed under the terms of the Creative Commons Attribution License, which permits use, distribution and reproduction in other forums, provided the original authors and source are credited and subject to any copyright notices concerning any third-party graphics etc.</p></license>
</permissions>
<abstract>
<p>The identification of learning mechanisms for locomotion has been the subject of much research for some time but many challenges remain. Dynamic systems theory (DST) offers a novel approach to humanoid learning through environmental interaction. Reinforcement learning (RL) has offered a promising method to adaptively link the dynamic system to the environment it interacts with via a reward-based value system. In this paper, we propose a model that integrates the above perspectives and applies it to the case of a humanoid (NAO) robot learning to walk the ability of which emerges from its value-based interaction with the environment. In the model, a simplified central pattern generator (CPG) architecture inspired by neuroscientific research and DST is integrated with an actor-critic approach to RL (cpg-actor-critic). In the cpg-actor-critic architecture, least-square-temporal-difference based learning converges to the optimal solution quickly by using natural gradient learning and balancing exploration and exploitation. Futhermore, rather than using a traditional (designer-specified) reward it uses a dynamic value function as a stability indicator that adapts to the environment. The results obtained are analyzed using a novel DST-based embodied cognition approach. Learning to walk, from this perspective, is a process of integrating levels of sensorimotor activity and value.</p>
</abstract>
<kwd-group>
<kwd>reinforcement learning</kwd>
<kwd>humanoid walking</kwd>
<kwd>central pattern generators</kwd>
<kwd>actor-critic</kwd>
<kwd>dynamical systems theory</kwd>
<kwd>embodied cognition</kwd>
<kwd>value system</kwd>
</kwd-group>
<counts>
<fig-count count="7"/>
<table-count count="1"/>
<equation-count count="37"/>
<ref-count count="73"/>
<page-count count="19"/>
<word-count count="14583"/>
</counts>
</article-meta>
</front>
<body>
<sec sec-type="introduction">
<label>1</label> <title>Introduction</title>
<p>In recent years, with increasingly reforming ideas about how locomotion should be understood in a way that it is a result of the interaction of dynamical systems, bio-inspired approaches are attracting a lot of attention. Scientists claim that locomotion including its development or adaptivity emerges when the neural structure or the body with proper morphology interacts with the environment under the laws of physics (Pfeifer and Bongard, <xref ref-type="bibr" rid="B58">2006</xref>; Ijspeert, <xref ref-type="bibr" rid="B32">2008</xref>). Hence, the focus of investigating locomotive capabilities of artificial or biological agents should be shifted from how each body part moves in a kinematic chain to a generic view pertaining to how controllers (or neural systems), body, and environment interact as a <italic>complete dynamic</italic> <italic>system</italic>.</p>
<p>Recently, cutting-edge work in robotics shows the importance of the abovementioned ideas. According to Ijspeert, Central Pattern Generators (CPGs), the bio-inspired neural structures discovered in the middle of the last century (Hooper, <xref ref-type="bibr" rid="B31">2001</xref>), work as a link connecting the sensori-motor level to the Mesencephalic Locomotor Region (MLR) in the brainstem which controls vertebrate locomotion. Thus, many robots under control of CPGs show their own adaptive behaviors when interacting with the environment (Fumiya et al., <xref ref-type="bibr" rid="B23">2002</xref>; Pfeifer and Bongard, <xref ref-type="bibr" rid="B58">2006</xref>; Degallier et al., <xref ref-type="bibr" rid="B15">2011</xref>). A CPG network is a neural controller which can show adaptive network behaviors given sensory feedback. On the other hand, body flexibility, namely the so-called soft robotics, has been highlighted recently as a critical element for adaptive motor capabilities (Pfeifer and Bongard, <xref ref-type="bibr" rid="B58">2006</xref>). However, there is no systematic way of evaluating flexibilities of different morphologies for locomotion.</p>
<p>On this basis, learning locomotion becomes more open and challenging in terms of integrating interactive information amongst the three parts: controllers, body, and context. Based on the <italic>dynamic systems approach</italic> proposed by Thelen in the 1990s from the perspective of development of cognition and action, locomotion is a consequence of self-organization and there is no &#x0201C;essence&#x0201D; for locomotive systems. Learning to walk is a formation process of a gait attractor dependent on the exploration of the state space in a dynamical system that consists of sensori-motor coupling of agent and environment. The attractor is a behavioral mode and <italic>state space</italic> is an abstract construct of space whose coordinates define the degrees of freedom of the system&#x02019;s behavior (Thelen and Smith, <xref ref-type="bibr" rid="B69">1996</xref>). However, the learning mechanism which causes the formation of an attractor out of the state space in artificial systems still remains unclear in spite of Thelen&#x02019;s embodied theoretical stance. Adolph et al. (<xref ref-type="bibr" rid="B1">2012</xref>) posits that infants learn to walk through thousands of time-distributed, variable attempts including missteps and falls. She emphasizes the importance of the temporal-difference in the learning process. From the cognitive perspective, Schore (<xref ref-type="bibr" rid="B63">2012</xref>) indicates affective modulation is important for infants learning to walk. Particularly, the main caregiver plays a role as an &#x0201C;emotion system&#x0201D; outside assisting infants to evaluate their behaviors and scaffolding their affective systems. Pfeifer and Bongard (<xref ref-type="bibr" rid="B58">2006</xref>) explains locomotion learning from a robotics angle suggesting there is a &#x0201C;value&#x0201D; system in our body to evaluate the comfort of locomotion behaviors. Therefore, we assume there is an agent-centered mechanism related to learning how to walk and it has to comprise these properties: (1). It is an interactive-affective system. (2) It is capable of finding an optimized solution by exploring the state space through interaction with the environment in a time-sensitive manner. (3) The learning process is under control of the supervisor&#x02019;s &#x0201C;scaffolding.&#x0201D; <italic>We suggest, closely pertinent to</italic> <italic>the above three points, that reinforcement learning is an</italic> <italic>appropriate choice for the implementation of learning to</italic> <italic>walk</italic>.</p>
<p>Reinforcement learning (RL) has, in recent years, evolved considerably especially in dealing with problems of continuous and high-dimensional state space (Doya, <xref ref-type="bibr" rid="B18">2000b</xref>; Wiering and van Otterlo, <xref ref-type="bibr" rid="B73">2012</xref>). Biologically, it sketches an interactive process of dopamine systems and the basal ganglia which is emotion-related (Schultz, <xref ref-type="bibr" rid="B64">1998</xref>; Doya, <xref ref-type="bibr" rid="B17">2000a</xref>; Graybiel Ann, <xref ref-type="bibr" rid="B27">2005</xref>; Khamassi et al., <xref ref-type="bibr" rid="B37">2005</xref>; Frank and Claus, <xref ref-type="bibr" rid="B22">2006</xref>; Joel et al., <xref ref-type="bibr" rid="B34">2012</xref>). Grillner et al. (<xref ref-type="bibr" rid="B28">2005</xref>) elucidate the functions of dopamine systems (striatum) and the basal ganglia (pallidum) with biological grounds on motor adaptation and selection. Moreover, RL proffers a computational formulation of learning, via the interaction of body, neural systems, and environment, to execute behaviors that deliver satisfying consequences. Grillner et al. (<xref ref-type="bibr" rid="B29">2007</xref>) also propose a layered architecture including basal ganglia, CPG network, and sensory feedback which may imply the interactive bond between CPGs and RL. In this article, by using RL, a meaning of &#x0201C;scaffolding&#x0201D; is given by manipulating the value function and update rules. Meanwhile, for the purpose of endowing a humanoid with a capability of learning to walk efficiently, the RL algorithm has to guarantee fast convergence.</p>
<p>Based on the above ideas and theories we propose a new architecture combining Natural Actor-Critic (NAC) and a CPG network to achieve a &#x0201C;learning to walk&#x0201D; task on a humanoid. This is the so-called Natural CPG-Actor-Critic. The natural actor-critic has been proposed by Kakade (<xref ref-type="bibr" rid="B36">2002</xref>) and further improved and used by Peters in the field of supervised motor learning (Peters and Schaal, <xref ref-type="bibr" rid="B56">2006</xref>, <xref ref-type="bibr" rid="B57">2008</xref>). This particular RL algorithm uses natural policy gradient methods which may achieve very efficient exploration and fast convergence of learning. Based on their ideas, Nakamura et al. (<xref ref-type="bibr" rid="B51">2007</xref>) proposed a natural CPG-Actor-Critic approach and implemented it with a 2<italic>D</italic><xref ref-type="fn" rid="fn1"><sup>1</sup></xref>-simulated stick walker in MATLAB. At the present time, the natural CPG-Actor-Critic has not been implemented on a humanoid platform. The reasons are clear: firstly, there exists no functional 3D CPG walking model that does not depend on inverse kinematics even though the motion of roll direction is of importance to walking (Collins et al., <xref ref-type="bibr" rid="B14">2001</xref>). Nakamura&#x02019;s work fully adopted Taga&#x02019;s model (Taga, <xref ref-type="bibr" rid="B67">1998</xref>) which similarly works on a 2D-simulated stick walker. Secondly, Taga&#x02019;s model is very complicated involving a very high-dimensional and difficult-to-reduce state space. This is why state value estimates take a long time to converge. Finally, the stick walker contacts the ground in an entirely different way to humanoids with foot interaction so that the body dynamics also differ. This is a morphology-related reason. Thus, in this article, we try to use another sensor-driven CPG architecture to avoid the problems faced by Nakamura and colleagues (For the comparison to Nakamura&#x02019;s model, please refer to Discussion A.1).</p>
<p>The main contribution of this article is to present a complete natural CPG-Actor-Critic architecture and implement it on a 3D-simulated humanoid by utilizing a state-of-the-art natural policy gradient in a relatively high-dimensional state space. In this work, it is shown not only how episodic NAC (eNAC) converges to optimal solutions by exploration-exploitation batch learning but also how eNAC helps a humanoid under control of CPGs learn to walk by searching appropriate posture and integrating sensory feedback. Meanwhile, by adopting a dynamic system perspective with respect to cognitive development, RL can be understood in a new light of state value estimates. Experiments introduced in this article consist of two parts. The first part will focus on the emergence of proper walking posture and integration of sensory feedback. The second part shows how the robot learns to walk on a slope and the relation between slope and posture change. The aim of this work is to glean how CPGs in a natural actor-critic architecture adapt to the environmental change in walking by balancing realization of body morphology and acquisition of sensory feedback.</p>
</sec>
<sec sec-type="materials|methods">
<label>2</label> <title>Materials and Methods</title>
<p>In order to fully comprehend how CPG networks work with the NAC architecture, a description of relevant theories applicable to the proposed architecture is offered in this section. With the cpg-actor-critic model, it is able to clearly show how the humanoid&#x02019;s body, the physical world, and neural controllers interactively cause the emergence of an appropriate walking gait. In order to learn walking, a proper upright standing posture is necessary. Scientific research shows that human infants learn to walk after they have learned to be able to maintain an upright posture (Kail and Cavanaugh, <xref ref-type="bibr" rid="B35">1996</xref>; Adolph et al., <xref ref-type="bibr" rid="B1">2012</xref>). After learning a standing posture, they can start to explore the world in an allocentric way. Through exploration, infants improve their walking behaviors (Clearfield, <xref ref-type="bibr" rid="B12">2011</xref>). However, the exploration in a physical world consists of infinite possibilities increasing the difficulties in modeling this process. Thus, a limited but continuous state space has to be constructed for the purpose of learning to walk by exploring only in the state space of neural structure which is related to posture control and sensory feedback. Then walking can be considered as a Partially Observable Markov Decision Process (POMDP). In this article, we use a NAC architecture which appears as one good solution to bridge continuous state space and action space in a fast-learning way. We show that it can not only show the emergence of proper walking posture but also adaptation to environmental changes.</p>
<sec>
<label>2.1</label> <title>Central pattern generators</title>
<p>Modeling walking on a humanoid robot is a complicated task related to designing an autonomous control mechanism for a high degree-of-freedom (DOF) body. So the main challenge for developing modern control strategies concerns avoiding the problem of the &#x0201C;curse of dimensionality&#x0201D; which closely pertains to a large number of DOFs. Using CPGs, it is possible to transfer and restrict extremely high-DOF walking in Cartesian space to a low-dimensional sensory space of neural structure with neurophysiological theories and assumptions (Geng et al., <xref ref-type="bibr" rid="B24">2006</xref>; Takamitsu et al., <xref ref-type="bibr" rid="B68">2007</xref>; Endo et al., <xref ref-type="bibr" rid="B20">2008</xref>).</p>
<p>CPGs, as a group of presumed neurons existing in vertebrates&#x02019; spinal cord (Latash, <xref ref-type="bibr" rid="B41">2008</xref>), are the neural circuits generating rhythmic movement. With sensory feedback, the body or the robot under control of CPGs interacts with the environment in an adaptive way in which case the body dynamics are interactively entrained into a limit cycle. This limit cycle implies the following: firstly, structural-stability is imperative to a CPG architecture. This means CPG architectures should be able to shift to another limit cycle by adapting to contextual change and then recovering the original limit cycle without external disturbance (Righetti, <xref ref-type="bibr" rid="B59">2008</xref>; Li et al., <xref ref-type="bibr" rid="B43">2011</xref>). Secondly, the adaptive change of the limit cycle that CPGs converge to is generally done by updating the output or connection weights of CPGs. A lot of work has been done to emphasize the importance of these two points (Inada and Ishii, <xref ref-type="bibr" rid="B33">2004</xref>; Ijspeert, <xref ref-type="bibr" rid="B32">2008</xref>; Li et al., <xref ref-type="bibr" rid="B43">2011</xref>, <xref ref-type="bibr" rid="B44">2012</xref>).</p>
<p>Compared to a lot of work done with engineering models based on Zero Momentum Point (ZMP) (Lim et al., <xref ref-type="bibr" rid="B45">2002</xref>; Strom et al., <xref ref-type="bibr" rid="B65">2009</xref>) to model walking, CPGs also have many advantages (Nakamura et al., <xref ref-type="bibr" rid="B51">2007</xref>). In terms of adaptive capabilities, as engineering models (including an accurate model of the controlled system and the environment) need to calculate the trajectories of motion with respect to very specific models, these models need to be recalculated or even remodeled when the context or the body changes. But, as for CPGs, it is just a matter of updating parameters to new adaptation capabilities. On the other hand, CPGs are proven to be more energy-efficient (Li et al., <xref ref-type="bibr" rid="B43">2011</xref>) than those methods which need huge computer power to calculate complicated accurate models in each computation period.</p>
<p>From the perspective of the dynamic systems approach, just because of the excellent adaptivity of a CPG or its network, CPGs can be considered as an interface between the environment and high-level cognitive functionalities. As abovementioned, the shift and change of limit cycles could be viewed as results of CPGs interfacing to the high-level control system, like the RL system in this work.</p>
<sec>
<label>2.1.1</label> <title>Layered CPG structure</title>
<p>CPG structures have been explored by researchers for some time (Orlovskii et al., <xref ref-type="bibr" rid="B54">1999</xref>; Amrollah and Henaff, <xref ref-type="bibr" rid="B3">2010</xref>) but the integration of sensory feedback remains an unresolved open question to the research of CPGs without a conclusive structure. Recently, a proper layered CPG architecture has been proposed in Rybak et al. (<xref ref-type="bibr" rid="B61">2006</xref>) based on biological evidence (Amrollah and Henaff, <xref ref-type="bibr" rid="B3">2010</xref>; Figure <xref ref-type="fig" rid="F1">1</xref>).</p>
<fig id="F1" position="float">
<label>Figure 1</label>
<caption><p><bold>Schematic illustration of the three-level central pattern generator (CPG) concept: The locomotor CPG consists of a half-center rhythm generator (RG), a pattern formation (PF) network and a motorneuron layer</bold>. Rhythmic generator layer (yellow area): this layer contains oscillators which generate rhythmic signals as the input to the PF layer. PF layer (red area: only three neurons are drawn with others neglected): The PF network contains interneuron populations, each of which provides excitation to multiple synergistic motorneuron pools (diamonds) and is connected with other PF populations via a network of inhibitory connections. It mediates rhythmic input from the RG to motorneurons and distributes it among the motorneuron pools. The network also synchronizes the oscillatory output of each interneuron. The motorneuron layer: It integrates the muscle sensory feedback and activation of PF network outputs. The extensor and flexor motorneurons together determine the output to the muscles (Rybak et al., <xref ref-type="bibr" rid="B61">2006</xref>).</p></caption>
<graphic xlink:href="fnbot-07-00005-g001.tif"/>
</fig>
<p>The layered CPG concept illustrates clearly not only the functions for each layer but also principles for the influence of afferent feedback in each layer. For instance, the rhythm generator (RG) layer is in charge of rhythm or frequency resetting depending on feedback. The PF layer functions like a network to keep synchronization of motorneuron activities as well as phase transition without altering the RG layer according to afferent feedback. The motorneuron level is an integrator where downward outputs and sensory feedback are fused together (details in Figure <xref ref-type="fig" rid="F1">1</xref>).</p>
<p>Based on this CPG structure, we propose a layered CPG architecture in our work which fulfills functions of each layer (Figure <xref ref-type="fig" rid="F2">2</xref>). In the structure, the four-cell recurrent network based on symmetric group theory (Golubitsky and Stewart, <xref ref-type="bibr" rid="B26">2004</xref>) has the capability to be structurally stable (Righetti, <xref ref-type="bibr" rid="B59">2008</xref>). It is of importance that this network can model the dynamics of different locomotion gaits (including walking, trotting, running, and crawling) by altering its connection weights and properties of each cell (Righetti, <xref ref-type="bibr" rid="B59">2008</xref>). Crawling and walking on different humanoids have been implemented (Righetti and Ijspeert, <xref ref-type="bibr" rid="B60">2006</xref>; Lee et al., <xref ref-type="bibr" rid="B42">2011</xref>; Li et al., <xref ref-type="bibr" rid="B43">2011</xref>). With this network, it keeps the synchronization of each oscillator cell within a specific phase difference by using typical negative neural connection (ipsilateral) and positive connection (contralateral) to keep ipsilateral oscillation out of phase and contralateral oscillation in phase. Each cell of the four-cell network is modeled with a Hopf oscillator (Equation 1&#x02013;3) which is different from the one used in Nakamura&#x02019;s model (details in Discussion A.1).</p>
<p><disp-formula id="E1"><label>(1)</label><mml:math id="M1"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd class="eqnarray-1"><mml:msub><mml:mrow><mml:mi>&#380;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd class="eqnarray-2"><mml:mo class="MathClass-rel">=</mml:mo><mml:mi>a</mml:mi><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mi>m</mml:mi><mml:mo class="MathClass-bin">-</mml:mo><mml:msubsup><mml:mrow><mml:mi>z</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msubsup><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:mfenced><mml:msub><mml:mrow><mml:mi>z</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-bin">-</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003C9;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd class="eqnarray-3"></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E2"><label>(2)</label><mml:math id="M2"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd class="eqnarray-1"><mml:msub><mml:mrow><mml:mi>&#x01E61;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd class="eqnarray-2"><mml:mo class="MathClass-rel">=</mml:mo><mml:mi>a</mml:mi><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mi>m</mml:mi><mml:mo class="MathClass-bin">-</mml:mo><mml:msubsup><mml:mrow><mml:mi>z</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msubsup><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:mfenced><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003C9;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>z</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:munder class="msub"><mml:mrow><mml:mo mathsize="big">&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:munder><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd class="eqnarray-3"></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E3"><label>(3)</label><mml:math id="M3"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd class="eqnarray-1"><mml:msub><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd class="eqnarray-2"><mml:mo class="MathClass-rel">=</mml:mo><mml:mn>2</mml:mn><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mi>&#x003C0;</mml:mi><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003C9;</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext>up</mml:mtext></mml:mstyle></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msup><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">-</mml:mo><mml:mn>100</mml:mn><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msup></mml:mrow></mml:mfrac><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003C9;</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext>down</mml:mtext></mml:mstyle></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msup><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mn>100</mml:mn><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mrow></mml:mfenced></mml:mtd><mml:mtd class="eqnarray-3"></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
where the <italic>z<sub>i</sub></italic> is the output of the Hopf Oscillator and <italic>s<sub>i</sub></italic> is the internal state. <italic>m</italic> is the amplitude and <italic>a</italic> is the convergence rate. &#x003C9;<italic><sub>i</sub></italic> is the internal weight in this coupled oscillator. It is usually set to 1. <italic>s<sub>j</sub></italic> is the output of the other cells except cell i and &#x003B1;<italic><sub>ij</sub></italic> is the external weight (from cell j) of the four-cell network. Meanwhile, &#x003C9;<italic><sub>i</sub></italic> also represents the frequency of this oscillator. Interestingly, by changing values of &#x003C9;<italic><sub>up</sub></italic> and &#x003C9;<italic><sub>down</sub></italic>, you can change the duration of increase and decrease rate of the oscillator. For example, in our work &#x003C9;<italic><sub>up</sub></italic>&#x02009;&#x0003D;&#x02009;5&#x003C9;<italic><sub>down</sub></italic>, the oscillation increases 5 times faster than decreases. This relation is derived from the experimental data by Hallemans et al. (<xref ref-type="bibr" rid="B30">2006</xref>) about joint kinematic trajectories of walking children. m and a are set to be 1 and 5 in our experiment.</p>
<fig id="F2" position="float">
<label>Figure 2</label>
<caption><p><bold>CPG controller (Top: the four-cell network) and its layered structure</bold>. Yellow circles represent a coupled RG group corresponding to yellow area in Figure <xref ref-type="fig" rid="F1">1</xref>. The round-headed and sharp-headed arrows represent negative (&#x02212;1) and positive (&#x0002B;1) connection weights (for details, please refer to text.) The four-cell network (purple-framed area) fulfills the function of the PF layer. The two diamonds represent the motorneuron layer which integrates sensory feedback and upper-layer outputs. <italic>V</italic>, <italic>W</italic>, <italic>W<sub>p</sub></italic> are weight vectors which integrate PF-layer outputs, sensory feedback and posture control terms respectively. <italic>T<sub>Ei</sub></italic> and <italic>T<sub>Fi</sub></italic> are the strength weights of extensor and flexor.</p></caption>
<graphic xlink:href="fnbot-07-00005-g002.tif"/>
</fig>
<p>If we assume the motorneurons work to integrate the internal oscillation and external sensory feedback, the whole physical system including the neural controller can be expressed like this:
<disp-formula id="E4"><label>(4)</label><mml:math id="M4"><mml:mi>&#x01E8B;</mml:mi><mml:mo class="MathClass-rel">=</mml:mo><mml:mi>F</mml:mi><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mi>x</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>&#x003C4;</mml:mi></mml:mrow></mml:mfenced></mml:math></disp-formula>
where <bold>x</bold> denotes the state of the physical system, whose components are, for example, sensory angles of joints, and the dot (<sup>&#x000B7;</sup>) denotes the time derivative. &#x003C4; denotes the control signal (torque or trajectory) from the controller, and <italic>F</italic>(<bold>x</bold>,&#x003C4;) represents the vector field of the system dynamics. Then the motorneuron can be modeled by the firing neural structure (Buono and Palacios, <xref ref-type="bibr" rid="B8">2004</xref>; Endo et al., <xref ref-type="bibr" rid="B20">2008</xref>; Li et al., <xref ref-type="bibr" rid="B44">2012</xref>), the dynamics of which can be given by:
<disp-formula id="E5"><label>(5)</label><mml:math id="M5"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd class="eqnarray-1"><mml:mi>&#x003C2;</mml:mi><mml:msub><mml:mrow><mml:mi>&#x01E8F;</mml:mi></mml:mrow><mml:mrow><mml:mi>E</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd class="eqnarray-2"><mml:mo class="MathClass-rel">=</mml:mo><mml:mo class="MathClass-bin">-</mml:mo><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>E</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mstyle class="text"><mml:mtext class="textbf" mathvariant="bold">I</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>E</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd class="eqnarray-3"></mml:mtd><mml:mtd class="eqnarray-4"><mml:mtext class="eqnarray"></mml:mtext></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="eqnarray-1"><mml:msub><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mrow><mml:mi>E</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd class="eqnarray-2"><mml:mo class="MathClass-rel">=</mml:mo><mml:msub><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mi>E</mml:mi></mml:mrow></mml:msub><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>E</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfenced></mml:mtd><mml:mtd class="eqnarray-3"></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E6"><label>(6)</label><mml:math id="M6"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd class="eqnarray-1"><mml:mi>&#x003C2;</mml:mi><mml:msub><mml:mrow><mml:mi>&#x01E8F;</mml:mi></mml:mrow><mml:mrow><mml:mi>F</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd class="eqnarray-2"><mml:mo class="MathClass-rel">=</mml:mo><mml:mo class="MathClass-bin">-</mml:mo><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>F</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mstyle class="text"><mml:mtext class="textbf" mathvariant="bold">I</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>F</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd class="eqnarray-3"></mml:mtd><mml:mtd class="eqnarray-4"><mml:mtext class="eqnarray"></mml:mtext></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="eqnarray-1"><mml:msub><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mrow><mml:mi>F</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd class="eqnarray-2"><mml:mo class="MathClass-rel">=</mml:mo><mml:msub><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mi>F</mml:mi></mml:mrow></mml:msub><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>F</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfenced></mml:mtd><mml:mtd class="eqnarray-3"></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
where <italic>y<sub>Ei</sub></italic> and <italic>y<sub>Fi</sub></italic>, <bold>I<sub>Ei</sub></bold> and <bold>I<sub>Fi</sub></bold>, &#x003B6;, &#x003C4;<italic><sub>Ei</sub></italic> and &#x003C4;<italic><sub>Fi</sub></italic> represent the state, input, damping constants (equal to 10 in our work), and the output of ith extensor and flexor motorneuron, respectively (if no exception, all the E and F in the lowerscripts represent extensor and flexor in this article). <italic>G<sub>E</sub></italic> and <italic>G<sub>F</sub></italic> are both activation functions, for example the sigmoid function. The input <bold>I</bold><italic><sub>Ei</sub></italic> and <bold>I</bold><italic><sub>Fi</sub></italic> are given by:
<disp-formula id="E7"><label>(7)</label><mml:math id="M7"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd class="eqnarray-1"><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>I</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>E</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd class="eqnarray-2"><mml:mo class="MathClass-rel">=</mml:mo><mml:munder class="msub"><mml:mrow><mml:mo mathsize="big">&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:munder><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>V</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>E</mml:mi><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>z</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:munder class="msub"><mml:mrow><mml:mo mathsize="big">&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:munder><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>W</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>E</mml:mi><mml:mi>i</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>X</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>E</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd class="eqnarray-3"></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E8"><label>(8)</label><mml:math id="M8"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd class="eqnarray-1"><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>I</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>F</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd class="eqnarray-2"><mml:mo class="MathClass-rel">=</mml:mo><mml:munder class="msub"><mml:mrow><mml:mo mathsize="big">&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:munder><mml:msub><mml:mrow><mml:mstyle class="text"><mml:mtext class="textbf" mathvariant="bold">V</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>F</mml:mi><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mstyle class="text"><mml:mtext class="textbf" mathvariant="bold">z</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:munder class="msub"><mml:mrow><mml:mo mathsize="big">&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:munder><mml:msub><mml:mrow><mml:mstyle class="text"><mml:mtext class="textbf" mathvariant="bold">W</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>F</mml:mi><mml:mi>i</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mstyle class="text"><mml:mtext class="textbf" mathvariant="bold">X</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>F</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd class="eqnarray-3"></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
where <bold>z</bold><italic><sub>j</sub></italic> is the jth output of PF layer (the four-cell network). <bold>V</bold><italic><sub>Eij</sub></italic> and <bold>V</bold><italic><sub>Fij</sub></italic> are the connection weights from PF layer to motorneuron layer. <bold>X</bold><italic><sub>Ek</sub></italic> and <bold>X</bold><italic><sub>Fk</sub></italic> are the kth sensory feedback from sensory neurons in vector <bold>X</bold><italic><sub>E</sub></italic> and <bold>X</bold><italic><sub>F</sub></italic> weighted by the connection weight <bold>W</bold><italic><sub>Eik</sub></italic> and <bold>W</bold><italic><sub>Fik</sub></italic>. Then the final output of the controller is given by:
<disp-formula id="E9"><label>(9)</label><mml:math id="M9"><mml:msub><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-rel">=</mml:mo><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mi>E</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mrow><mml:mi>E</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mi>F</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mrow><mml:mi>F</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mstyle class="text"><mml:mtext class="textbf" mathvariant="bold">W</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>p</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mstyle class="text"><mml:mtext class="textbf" mathvariant="bold">X</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>p</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></disp-formula>
where &#x003C4;<italic><sub>i</sub></italic> is the ith output of CPGs and <italic>T<sub>Ei</sub></italic>, <italic>T<sub>Fi</sub></italic> are the connection weight. <bold>X</bold><italic><sub>pi</sub></italic> is the ith term in posture control vector <bold>X</bold><italic><sub>p</sub></italic> weighted by connection weight <bold>W</bold><italic><sub>pi</sub></italic>.</p>
</sec>
<sec>
<label>2.1.2</label> <title>Sensor neurons</title>
<p>The sensor neuron mechanism representing local reflex of muscles is very important for motorneurons (Latash, <xref ref-type="bibr" rid="B41">2008</xref>). It has been proved to be biologically existent (Endo et al., <xref ref-type="bibr" rid="B20">2008</xref>) and useful for robotic walking applications (Endo et al., <xref ref-type="bibr" rid="B20">2008</xref>; Nassour et al., <xref ref-type="bibr" rid="B52">2011</xref>). The general sensor neuron model is given by a sigmoid function:
<disp-formula id="E10"><label>(10)</label><mml:math id="M10"><mml:msub><mml:mrow><mml:mi>&#x003C1;</mml:mi></mml:mrow><mml:mrow><mml:mi>s</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-rel">=</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-rel">=</mml:mo><mml:msup><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mi>a</mml:mi><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>s</mml:mi><mml:mi>h</mml:mi><mml:mi>o</mml:mi><mml:mi>l</mml:mi><mml:mi>d</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-bin">-</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>n</mml:mi><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:math></disp-formula>
where &#x003C1;<italic><sub>sn</sub></italic> is the output of a sensor neuron. a is the sensitivity of a sensor neuron. &#x003B8;<italic><sub>threshold</sub></italic> and &#x003B8;<italic><sub>input</sub></italic> are the threshold and the input of a sensor neuron. The input can be raw or postprocessed sensor data and the threshold can be zero or a certain value depending on types of sensor neurons. The idea of using sensor neurons is to normalize the input of all the sensors and use them with different purposes (details see Appendix <xref ref-type="app" rid="A1">A</xref>).</p>
<p>According to existing robotic applications of CPGs, each CPG is used to control one joint of a robot. Each sensory connection weight (like <bold>W</bold><italic><sub>Eik</sub></italic> and <bold>W</bold><italic><sub>Fik</sub></italic>) of each CPG is determined by the corresponding joint it controls and its specific sensory input. In the layered structure implemented on the physical robot NAO (Li et al., <xref ref-type="bibr" rid="B44">2012</xref>), the 4-cell network is applied to a layered CPG architecture with manually tuned weights and it represents cognitive-related prior knowledge about the fundamental properties of walking. For example, as one property this network owns, the anti-phase contralateral leg movement is useful for walking. There is evidence suggesting that this typical movement is formed over many months of early infancy before infants learn to walk (Kail and Cavanaugh, <xref ref-type="bibr" rid="B35">1996</xref>; Thelen and Smith, <xref ref-type="bibr" rid="B69">1996</xref>). The main focus for learning to walk is shifted from learning very basic walking prerequisites to learning how each joint is coordinated with the whole-body and adaptively reacts to environmental change. Then RL proffers a very nice blueprint.</p>
</sec>
</sec>
<sec>
<label>2.2</label> <title>NAC model</title>
<p>Actor-critic is a very typical but popular RL method broadly used in recent years (Kimura and Kobayashi, <xref ref-type="bibr" rid="B39">1998</xref>; Sato and Ishii, <xref ref-type="bibr" rid="B62">1998</xref>; Orlovskii et al., <xref ref-type="bibr" rid="B54">1999</xref>; Sutton et al., <xref ref-type="bibr" rid="B66">2000</xref>). In a typical implementation, an actor is a controller which emits actions or action-related control signals to a physical system. According to a certain policy, it observes the states of a physical system and determines the control signals on the basis of the states. A critic is a functional part which evaluates the states of a physical system and updates the controller and control policies. As a typical RL learning mechanism, it can be adapted by using some other updating rules. For example, the convergence of an actor-critic model based normal policy gradient approach is achieved in (Konda and Tsitsiklis, <xref ref-type="bibr" rid="B40">2003</xref>) and a mathematical convergence of actor-critic is proved in (Dotan et al., <xref ref-type="bibr" rid="B16">2008</xref>). The convergence of the actor-critic model with the natural policy gradient has been proved by Peters and Schaal (<xref ref-type="bibr" rid="B57">2008</xref>). Moreover, it has been proved to be faster than the normal &#x0201C;vanilla&#x0201D; policy gradient (Peters, <xref ref-type="bibr" rid="B55">2007</xref>).</p>
<sec>
<label>2.2.1</label> <title>Natural CPG-actor-critic model</title>
<p>Natural CPG-Actor-Critic is an autonomous RL learning framework used for CPG network based on Actor-Critic learning with the natural policy gradient. It was proposed by Nakamura in 2007 and successfully implemented on Taga&#x02019;s stick walker in Matlab simulation (Taga, <xref ref-type="bibr" rid="B67">1998</xref>; Nakamura et al., <xref ref-type="bibr" rid="B51">2007</xref>). We adopted his approach but with an entirely different CPG architecture, learning schema, and basic RL algorithm (for details, refer to discussion). Since the output of our CPG model is based on the input of PF layer and the states of sensory feedback and posture control terms, a CPG is an adaptive controller whose output is dependent on all these inputs. As a matter of fact, the layered architecture proposed in our work can be viewed as a feed-forward neural network (Figure <xref ref-type="fig" rid="F3">3</xref>) where the posture control works as a bias. As a normal gradient approach used for the feed-forward neural network, the backpropagation approach is not suitable for our work. Firstly, the backpropagation normal gradient is too slow and cannot avoid the &#x0201C;plateau&#x0201D; problem (Peters and Schaal, <xref ref-type="bibr" rid="B57">2008</xref>). Secondly, it needs a lot of computation and large storage for precedent states. Therefore, the natural gradient approach is adopted as it has been proved to be more efficient than the backpropagation for feed-forward neural networks by Amari (<xref ref-type="bibr" rid="B2">1998</xref>) who proposed natural gradient.</p>
<fig id="F3" position="float">
<label>Figure 3</label>
<caption><p><bold>The feed-forward two-layer neural network as the core of the CPG network</bold>. The yellow area is the basic CPG part with fixed connection weights and the green area functions for the output integration of sensor neurons and posture control.</p></caption>
<graphic xlink:href="fnbot-07-00005-g003.tif"/>
</fig>
<p>Compared to Nakamura&#x02019;s model, our model is naturally separated into two parts: the basic CPG and the actor part (details in Figure <xref ref-type="fig" rid="F3">3</xref> and Discussion A.1). This is similar to Nakamura&#x02019;s separation of his CPG model. The basic CPG part composed of an oscillatory network is to keep the phase relation and oscillation of the whole CPG as a core. The actor outputs the control signals based on its input. It covers two important functions of a CPG: sensory feedback fusion and posture control (Orlovskii et al., <xref ref-type="bibr" rid="B54">1999</xref>). The RL updating rule can be applied to this part to change the weights, leading to involvement of the adaptive change of the CPG controller based on interaction when a robot walks. RL state space is given as <bold>X</bold>, a vector including all the sensory feedback and posture control terms. The action space is given by <bold>U</bold> which comprises all the control signals. The input and output of the CPG can be adapted to:
<disp-formula id="E11"><label>(11)</label><mml:math id="M11"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd class="eqnarray-1"><mml:mstyle mathvariant="bold"><mml:mi>X</mml:mi></mml:mstyle></mml:mtd><mml:mtd class="eqnarray-2"><mml:mo class="MathClass-rel">&#x0007E;</mml:mo><mml:mfenced separators="" open="{" close="}"><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>X</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>E</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>X</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>F</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>X</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfenced><mml:mo class="MathClass-punc">,</mml:mo><mml:mstyle mathvariant="bold"><mml:mi>U</mml:mi></mml:mstyle><mml:mo class="MathClass-rel">&#x0007E;</mml:mo><mml:mfenced separators="" open="{" close="}"><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>U</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>E</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>U</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>F</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>U</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfenced></mml:mtd><mml:mtd class="eqnarray-3"></mml:mtd><mml:mtd class="eqnarray-4"><mml:mtext class="eqnarray"></mml:mtext></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="eqnarray-1"><mml:msub><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">I</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>E</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd class="eqnarray-2"><mml:mo class="MathClass-rel">=</mml:mo><mml:msubsup><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">I</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>E</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi><mml:mi>a</mml:mi><mml:mi>s</mml:mi><mml:mi>i</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msubsup><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msubsup><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">I</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>E</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>a</mml:mi><mml:mi>c</mml:mi><mml:mi>t</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi></mml:mrow></mml:msubsup></mml:mtd><mml:mtd class="eqnarray-3"></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E12"><label>(12)</label><mml:math id="M12"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd class="eqnarray-1"><mml:msub><mml:mrow><mml:mstyle class="text"><mml:mtext class="textbf" mathvariant="bold">I</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>F</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd class="eqnarray-2"><mml:mo class="MathClass-rel">=</mml:mo><mml:msubsup><mml:mrow><mml:mstyle class="text"><mml:mtext class="textbf" mathvariant="bold">I</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>F</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi><mml:mi>a</mml:mi><mml:mi>s</mml:mi><mml:mi>i</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msubsup><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msubsup><mml:mrow><mml:mstyle class="text"><mml:mtext class="textbf" mathvariant="bold">I</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>F</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>a</mml:mi><mml:mi>c</mml:mi><mml:mi>t</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi></mml:mrow></mml:msubsup></mml:mtd><mml:mtd class="eqnarray-3"></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E13"><label>(13)</label><mml:math id="M13"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd class="eqnarray-1"><mml:msub><mml:mrow><mml:mstyle class="text"><mml:mtext class="textbf" mathvariant="bold">U</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>E</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd class="eqnarray-2"><mml:mo class="MathClass-rel">=</mml:mo><mml:msubsup><mml:mrow><mml:mstyle class="text"><mml:mtext class="textbf" mathvariant="bold">I</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>E</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext>actor</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup><mml:mo class="MathClass-rel">=</mml:mo><mml:munder class="msub"><mml:mrow><mml:mo mathsize="big">&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:munder><mml:msub><mml:mrow><mml:mstyle class="text"><mml:mtext class="textbf" mathvariant="bold">W</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>E</mml:mi><mml:mi>i</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mstyle class="text"><mml:mtext class="textbf" mathvariant="bold">X</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>E</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd class="eqnarray-3"></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E14"><label>(14)</label><mml:math id="M14"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd class="eqnarray-1"><mml:msub><mml:mrow><mml:mstyle class="text"><mml:mtext class="textbf" mathvariant="bold">U</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>E</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd class="eqnarray-2"><mml:mo class="MathClass-rel">=</mml:mo><mml:msubsup><mml:mrow><mml:mstyle class="text"><mml:mtext class="textbf" mathvariant="bold">I</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>F</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>a</mml:mi><mml:mi>c</mml:mi><mml:mi>t</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi></mml:mrow></mml:msubsup><mml:mo class="MathClass-rel">=</mml:mo><mml:munder class="msub"><mml:mrow><mml:mo mathsize="big">&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:munder><mml:msub><mml:mrow><mml:mstyle class="text"><mml:mtext class="textbf" mathvariant="bold">W</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>F</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mstyle class="text"><mml:mtext class="textbf" mathvariant="bold">X</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>F</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd class="eqnarray-3"></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E15"><label>(15)</label><mml:math id="M15"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd class="eqnarray-1"><mml:msub><mml:mrow><mml:mi>U</mml:mi></mml:mrow><mml:mrow><mml:mi>p</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd class="eqnarray-2"><mml:mo class="MathClass-rel">=</mml:mo><mml:msub><mml:mrow><mml:mstyle class="text"><mml:mtext>W</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>p</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mstyle class="text"><mml:mtext>X</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>p</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd class="eqnarray-3"></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E16"><mml:math id="M16"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd class="eqnarray-1"><mml:mstyle class="text"><mml:mtext class="textbf" mathvariant="bold">W</mml:mtext></mml:mstyle></mml:mtd><mml:mtd class="eqnarray-2"><mml:mo class="MathClass-rel">&#x0007E;</mml:mo><mml:mfenced separators="" open="{" close="}"><mml:mrow><mml:msub><mml:mrow><mml:mstyle class="text"><mml:mtext class="textbf" mathvariant="bold">W</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>E</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mspace width="2.77695pt" class="tmspace"/><mml:msub><mml:mrow><mml:mstyle class="text"><mml:mtext class="textbf" mathvariant="bold">W</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>F</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mstyle class="text"><mml:mtext class="textbf" mathvariant="bold">W</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>P</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfenced></mml:mtd><mml:mtd class="eqnarray-3"></mml:mtd><mml:mtd class="eqnarray-4"><mml:mtext class="eqnarray"></mml:mtext></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
where <inline-formula><mml:math id="M17"><mml:mrow><mml:msubsup><mml:mrow><mml:mstyle class="text"><mml:mtext class="textbf" mathvariant="bold">I</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>E</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi><mml:mi>a</mml:mi><mml:mi>s</mml:mi><mml:mi>i</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M18"><mml:mrow><mml:msubsup><mml:mrow><mml:mstyle class="text"><mml:mtext class="textbf" mathvariant="bold">I</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>F</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi><mml:mi>a</mml:mi><mml:mi>s</mml:mi><mml:mi>i</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> are the ith pair of the output of fixed basic CPG. <bold>U</bold><italic><sub>E</sub></italic> and <bold>U</bold><italic><sub>F</sub></italic> are vectors containing control signals emitted by the actor to the controller. <bold>U</bold><italic><sub>pi</sub></italic> is the ith element of a vector <bold>U</bold><italic><sub>p</sub></italic> including posture control terms. <bold>U</bold><italic><sub>Ei</sub></italic> and <bold>U</bold><italic><sub>Fi</sub></italic> are the ith terms in <bold>U</bold><italic><sub>E</sub></italic> and <bold>U</bold><italic><sub>F</sub></italic>. <bold>W</bold> is a vector for all the connection weights. <bold>W</bold><italic><sub>E</sub></italic>, <bold>W</bold><italic><sub>F</sub></italic>, and <bold>W</bold><italic><sub>p</sub></italic> are vectors of connection weights for sensory feedback and posture control terms. Then the RL problem could be expressed as:
<disp-formula id="E17"><label>(16)</label><mml:math id="M19"><mml:mstyle class="text"><mml:mtext class="textbf" mathvariant="bold">U</mml:mtext></mml:mstyle><mml:mo class="MathClass-rel">&#x0007E;</mml:mo><mml:mi>&#x003C0;</mml:mi><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mstyle class="text"><mml:mtext class="textbf" mathvariant="bold">U</mml:mtext></mml:mstyle><mml:mo class="MathClass-punc">,</mml:mo><mml:mspace width="2.77695pt" class="tmspace"/><mml:mstyle class="text"><mml:mtext class="textbf" mathvariant="bold">X</mml:mtext></mml:mstyle></mml:mrow></mml:mfenced></mml:math></disp-formula>
where &#x003C0; is the stationary policy of the RL algorithm. Clearly, all the states <bold>X</bold> include two parts. <bold>X</bold><italic><sub>E</sub></italic> and <bold>X</bold><italic><sub>F</sub></italic> are called observable states. <bold>X</bold><italic><sub>p</sub></italic> is called unobservable states. They are assistive states which are provided to help the robot learn a proper posture. As our idea is to learn through interaction and to sense the body through peripheral systems, there is no full observability for the whole-body states. This condition is different from Nakamura et al. (<xref ref-type="bibr" rid="B51">2007</xref>) application. Hence, the whole control system is regarded as a POMDP. It is indicated that the actor determines the control signals sent to CPGs according to a static policy and CPGs act with the physical system. Then the critic evaluates the locomotion under control of CPGs changed by the actor and update the policy in the actor. This is the so-called CPG-Actor-Critic. Used with the natural policy gradient, it is called natural CPG-Actor-Critic. As a proper architecture for RL learning, we need to avoid a problem of RL &#x0201C;the curse of dimensionality.&#x0201D; In order to reduce the dimensionality of the CPG controller, internal weights of the 4-cell network and <bold>V</bold><italic><sub>Eij</sub></italic>, <bold>V</bold><italic><sub>Fij</sub></italic> (1,&#x02212;1) are all fixed as primitive inputs of CPGs. This is different from Nakamura et al. (<xref ref-type="bibr" rid="B51">2007</xref>) idea of using an internal connection from the basic CPG (). The reason for not having internal connection weights is our flexible 4-cell network has already been endowed with prior knowledge or capabilities to keep synchronization and to reshape the output of oscillators. However, this prior knowledge must be learned in Nakamura&#x02019;s work. Meanwhile, using a sensory-driven CPG means there cannot be so much sensory feedback as the number of sensors on a given humanoid is always limited. Nakamura has full observability in state space of the accurate Taga walker but he only uses a subset of the available sensors. Since the aim of our work is to implement this architecture on a real humanoid to understand mechanisms of posture control and sensory feedback integration, a trial-and-error learning mechanism based on batch RL is needed (details in Discussion A.1).</p>
</sec>
<sec>
<label>2.2.2</label> <title>Learning algorithm</title>
<p>The policy gradient (PG) approach is very useful for parameterized motor modeling. Peters summarizes and compares different PG approaches, including finite difference, likelihood ratio methods, and REINFORCE (Peters, <xref ref-type="bibr" rid="B55">2007</xref>). It is concluded that the aim of the gradient approach is to find the correct updating direction of policy parameters in order to maximize expected reward. Assuming the stationary policy is &#x003C0;<sup>&#x003B8;</sup>(<bold>x</bold>, <bold>u</bold>) which can determine action space <bold>u</bold> based on state space <bold>x</bold> with a static distribution <italic>d</italic><sup>&#x003C0;</sup>(<italic>x</italic>), the immediate reward is <italic>r</italic>(<italic>x</italic>, <italic>u</italic>), and then the expected reward <italic>J</italic>(&#x003B8;) can be written as:
<disp-formula id="E18"><label>(17)</label><mml:math id="M20"><mml:mi>J</mml:mi><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow></mml:mfenced><mml:mo class="MathClass-rel">=</mml:mo><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x0222B;</mml:mo></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mi>d</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003C0;</mml:mi></mml:mrow></mml:msup><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle></mml:mrow></mml:mfenced><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x0222B;</mml:mo></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">u</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mi>&#x003C0;</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow></mml:msup><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">u</mml:mtext></mml:mstyle><mml:mo class="MathClass-rel">|</mml:mo><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle></mml:mrow></mml:mfenced><mml:mi>r</mml:mi><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle><mml:mo class="MathClass-punc">,</mml:mo><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">u</mml:mtext></mml:mstyle></mml:mrow></mml:mfenced><mml:mi>d</mml:mi><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle><mml:mi>d</mml:mi><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">u</mml:mtext></mml:mstyle></mml:math></disp-formula>
where the policy &#x003C0;<sup>&#x003B8;</sup>(<bold>x</bold>, <bold>u</bold>) is derivable at the policy parameters &#x003B8;, namely &#x025BD;<sub>&#x003B8;</sub>&#x003C0;<sup>&#x003B8;</sup> exists. For maximizing expected reward <italic>J</italic>(&#x003B8;) with respect to &#x003B8;, policy gradient will find the steepest increase direction &#x025BD;<sub>&#x003B8;</sub><italic>J</italic>&#x02009;&#x0003D;&#x02009;<italic>J</italic>(&#x003B8;&#x02009;&#x0002B;&#x02009;&#x025BD;&#x003B8;)&#x02009;&#x02212;&#x02009;<italic>J</italic>(&#x003B8;) to update the search policy &#x003C0;<sup>&#x003B8;</sup>(<bold>x</bold>, <bold>u</bold>) until it converges. For this purpose, the update rule of the policy gradient can be expressed as:
<disp-formula id="E19"><label>(18)</label><mml:math id="M21"><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-rel">=</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:mi>&#x003B1;</mml:mi><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x02207;</mml:mo></mml:mrow><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow></mml:msub><mml:mi>J</mml:mi><mml:msub><mml:mrow><mml:mo class="MathClass-rel">|</mml:mo></mml:mrow><mml:mrow><mml:mi>&#x003B8;</mml:mi><mml:mo class="MathClass-rel">=</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></disp-formula>
where n represents the nth step of update and &#x003B1; is the learning rate (equal to 0.01). If we directly take the 1st derivative of <italic>J</italic>(&#x003B8;) with respect to &#x003B8;, the gradient is given by:
<disp-formula id="E20"><label>(19)</label><mml:math id="M22"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd class="eqnarray-1"><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x02207;</mml:mo></mml:mrow><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow></mml:msub><mml:mi>J</mml:mi><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow></mml:mfenced></mml:mtd><mml:mtd class="eqnarray-2"><mml:mo class="MathClass-rel">=</mml:mo><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x0222B;</mml:mo></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mi>d</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003C0;</mml:mi></mml:mrow></mml:msup><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle></mml:mrow></mml:mfenced><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x0222B;</mml:mo></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">u</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x02207;</mml:mo></mml:mrow><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mi>&#x003C0;</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow></mml:msup><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">u</mml:mtext></mml:mstyle><mml:mo class="MathClass-rel">|</mml:mo><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle></mml:mrow></mml:mfenced><mml:mi>r</mml:mi><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle><mml:mo class="MathClass-punc">,</mml:mo><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">u</mml:mtext></mml:mstyle></mml:mrow></mml:mfenced><mml:mi>d</mml:mi><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle><mml:mi>d</mml:mi><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">u</mml:mtext></mml:mstyle></mml:mtd><mml:mtd class="eqnarray-3"></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E21"><label>(20)</label><mml:math id="M23"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd class="eqnarray-1"></mml:mtd><mml:mtd class="eqnarray-2"><mml:mo class="MathClass-rel">=</mml:mo><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x0222B;</mml:mo></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mi>d</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003C0;</mml:mi></mml:mrow></mml:msup><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle></mml:mrow></mml:mfenced><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x0222B;</mml:mo></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">u</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mi>&#x003C0;</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow></mml:msup><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">u</mml:mtext></mml:mstyle><mml:mo class="MathClass-rel">|</mml:mo><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle></mml:mrow></mml:mfenced><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x02207;</mml:mo></mml:mrow><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow></mml:msub><mml:mo class="qopname">log</mml:mo><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msup><mml:mrow><mml:mi>&#x003C0;</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow></mml:msup><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">u</mml:mtext></mml:mstyle><mml:mo class="MathClass-rel">|</mml:mo><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced><mml:mi>r</mml:mi><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle><mml:mo class="MathClass-punc">,</mml:mo><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">u</mml:mtext></mml:mstyle></mml:mrow></mml:mfenced><mml:mi>d</mml:mi><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle><mml:mi>d</mml:mi><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">u</mml:mtext></mml:mstyle></mml:mtd><mml:mtd class="eqnarray-3"></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
where &#x025BD;<sub>&#x003B8;</sub> is the 1st derivative. This is the so-called normal gradient. If we use this gradient to update the policy, it is very slow to find the best policy for the maximization of expected reward. Therefore, the steepest gradient (natural policy gradient) is applied to our model. The adaptation of Equation 20 is at the core of the natural PG method. According to Peters&#x02019; (<xref ref-type="bibr" rid="B55">2007</xref>) proof, the natural gradient is given by:
<disp-formula id="E22"><label>(21)</label><mml:math id="M24"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd class="eqnarray-1"><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext>n</mml:mtext></mml:mstyle><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="eqnarray-2"><mml:mo class="MathClass-rel">=</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext>n</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:mi>&#x003B1;</mml:mi><mml:msubsup><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x02207;</mml:mo></mml:mrow><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow></mml:msub><mml:mi>J</mml:mi><mml:msub><mml:mrow><mml:mo class="MathClass-rel">|</mml:mo></mml:mrow><mml:mrow><mml:mi>&#x003B8;</mml:mi><mml:mo class="MathClass-rel">=</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext>n</mml:mtext></mml:mstyle></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mtd><mml:mtd class="eqnarray-3"></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E23"><label>(22)</label><mml:math id="M25"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd class="eqnarray-1"><mml:msub><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd class="eqnarray-2"><mml:mo class="MathClass-rel">=</mml:mo><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x0222B;</mml:mo></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mi>&#x003C0;</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow></mml:msup><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x02207;</mml:mo></mml:mrow><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow></mml:msub><mml:mo class="qopname">log</mml:mo><mml:msup><mml:mrow><mml:mi>&#x003C0;</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow></mml:msup><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x02207;</mml:mo></mml:mrow><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow></mml:msub><mml:mo class="qopname">log</mml:mo><mml:msup><mml:mrow><mml:mi>&#x003C0;</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow></mml:msup><mml:mi>d</mml:mi><mml:mi>&#x003B8;</mml:mi></mml:mtd><mml:mtd class="eqnarray-3"></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
where F is the Fisher Matrix (FM). Multiplied by FM, the normal policy gradient is changed to the steepest one (here, all the <bold>x</bold>,<bold>u</bold> are neglected for simplification reason). On the basis of policy gradient theorem (Peters, <xref ref-type="bibr" rid="B55">2007</xref>), the PG could also be modified to:
<disp-formula id="E24"><label>(23)</label><mml:math id="M26"><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x02207;</mml:mo></mml:mrow><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow></mml:msub><mml:mi>J</mml:mi><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow></mml:mfenced><mml:mo class="MathClass-rel">=</mml:mo><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x0222B;</mml:mo></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mi>d</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003C0;</mml:mi></mml:mrow></mml:msup><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle></mml:mrow></mml:mfenced><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x0222B;</mml:mo></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">u</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x02207;</mml:mo></mml:mrow><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mi>&#x003C0;</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow></mml:msup><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">u</mml:mtext></mml:mstyle><mml:mo class="MathClass-rel">|</mml:mo><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle></mml:mrow></mml:mfenced><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msup><mml:mrow><mml:mi>Q</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003C0;</mml:mi></mml:mrow></mml:msup><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle><mml:mo class="MathClass-punc">,</mml:mo><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">u</mml:mtext></mml:mstyle></mml:mrow></mml:mfenced><mml:mo class="MathClass-bin">-</mml:mo><mml:mi>b</mml:mi><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced><mml:mi>d</mml:mi><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle><mml:mi>d</mml:mi><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">u</mml:mtext></mml:mstyle></mml:math></disp-formula>
where <italic>Q</italic>(<italic>x</italic>,<italic>u</italic>) is the action-state function and <italic>b</italic>(<italic>x</italic>) is a baseline which is a regularized term used to avoid large variance of gradient. With the theory of compatible function approximation, it is possible to apply basis functions &#x025BD;<sub>&#x003B8;</sub><italic>log</italic><sup>T</sup>(&#x003C0;<sup>&#x003B8;</sup>(<bold>u</bold>|<bold>x</bold>)) to linearly approximate <italic>Q</italic><sup>&#x003C0;</sup>(<bold>x</bold>, <bold>u</bold>)&#x02009;&#x02212;&#x02009;<italic>b</italic>(<bold>x</bold>), then the above Equation 23 is adapted to:
<disp-formula id="E25"><label>(24)</label><mml:math id="M27"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd class="eqnarray-1"><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x02207;</mml:mo></mml:mrow><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow></mml:msub><mml:mi>J</mml:mi><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow></mml:mfenced></mml:mtd><mml:mtd class="eqnarray-2"><mml:mo class="MathClass-rel">=</mml:mo><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x0222B;</mml:mo></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mi>d</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003C0;</mml:mi></mml:mrow></mml:msup><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle></mml:mrow></mml:mfenced><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x0222B;</mml:mo></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mi>&#x003C0;</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow></mml:msup><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">u</mml:mtext></mml:mstyle><mml:mo class="MathClass-rel">|</mml:mo><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle></mml:mrow></mml:mfenced><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x02207;</mml:mo></mml:mrow><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow></mml:msub><mml:mo class="qopname">log</mml:mo><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msup><mml:mrow><mml:mi>&#x003C0;</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow></mml:msup><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">u</mml:mtext></mml:mstyle><mml:mo class="MathClass-rel">|</mml:mo><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced></mml:mtd><mml:mtd class="eqnarray-3"></mml:mtd><mml:mtd class="eqnarray-4"><mml:mtext class="eqnarray"></mml:mtext></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="eqnarray-1"></mml:mtd><mml:mtd class="eqnarray-2"><mml:mspace width="1em" class="quad"/><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x02207;</mml:mo></mml:mrow><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mo class="qopname">log</mml:mo></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msup><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msup><mml:mrow><mml:mi>&#x003C0;</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow></mml:msup><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">u</mml:mtext></mml:mstyle><mml:mo class="MathClass-rel">|</mml:mo><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced><mml:mi>w</mml:mi><mml:mi>d</mml:mi><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle><mml:mi>d</mml:mi><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">u</mml:mtext></mml:mstyle><mml:mo class="MathClass-rel">=</mml:mo><mml:msub><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow></mml:msub><mml:mi>w</mml:mi></mml:mtd><mml:mtd class="eqnarray-3"></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
where <bold>w</bold> is a weight vector of the linear approximation. Then clearly, by replacing &#x025BD;<sub>&#x003B8;J</sub>(&#x003B8;) in (21) with (24), the natural PG becomes:
<disp-formula id="E26"><label>(25)</label><mml:math id="M28"><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext>n&#x000A0;&#x0002B;&#x000A0;1</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:mo class="MathClass-rel">=</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext>n</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:mi>&#x003B1;</mml:mi><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">w</mml:mtext></mml:mstyle></mml:math></disp-formula></p>
<p>The RL problem is transitioned from searching the steepest policy gradient to a normal regression problem about finding the best approximation of <italic>Q</italic><sup>&#x003C0;</sup>(<bold>x</bold>, <bold>u</bold>)&#x02009;&#x02212;&#x02009;<italic>b</italic>(<bold>x</bold>) with basis functions. Because <inline-formula><mml:math id="M29"><mml:mrow><mml:msup><mml:mrow><mml:mi>Q</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003C0;</mml:mi></mml:mrow></mml:msup><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle><mml:mo class="MathClass-punc">,</mml:mo><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">u</mml:mtext></mml:mstyle></mml:mrow></mml:mfenced><mml:mo class="MathClass-rel">=</mml:mo><mml:mi>b</mml:mi><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle></mml:mrow></mml:mfenced><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:mo class="qopname">log</mml:mo><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msup><mml:mrow><mml:mi>&#x003C0;</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow></mml:msup><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">u</mml:mtext></mml:mstyle><mml:mo class="MathClass-rel">|</mml:mo><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">w</mml:mtext></mml:mstyle></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M30"><mml:mrow><mml:msup><mml:mrow><mml:mi>Q</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003C0;</mml:mi></mml:mrow></mml:msup><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle><mml:mo class="MathClass-punc">,</mml:mo><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">u</mml:mtext></mml:mstyle></mml:mrow></mml:mfenced><mml:mo class="MathClass-rel">=</mml:mo><mml:mi>r</mml:mi><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle><mml:mo class="MathClass-punc">,</mml:mo><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">u</mml:mtext></mml:mstyle></mml:mrow></mml:mfenced><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:mi>&#x003BB;</mml:mi><mml:msub><mml:mrow><mml:mo class="MathClass-op">&#x0222B;</mml:mo></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x&#8217;</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:mi>p</mml:mi><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x02032;</mml:mi></mml:mrow></mml:msup><mml:mo class="MathClass-rel">|</mml:mo><mml:mi>x</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>u</mml:mi></mml:mrow></mml:mfenced><mml:mi>V</mml:mi><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x02032;</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:mfenced><mml:mi>d</mml:mi><mml:msup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x02032;</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> (where &#x003BB; is the discounting factor, <bold>x&#x02032;</bold> is the next state, <italic>p</italic>(<bold>x&#x02032;</bold>|<bold>x</bold>,<bold>u</bold>) is the probability of state transition.), assume the value function is <italic>V</italic> (<bold>x</bold>)&#x02009;&#x0003D;&#x02009;<italic>b</italic>(<bold>x</bold>) and can be approximated by &#x003C8;<italic><sup>T</sup></italic>(<bold>x</bold>)<bold>v</bold> (where <bold>v</bold> is the weight vector and &#x003C8; is the vector of basis function related to the value function; Baird, <xref ref-type="bibr" rid="B6">1994</xref>). Therefore, the approximation can be re-written:</p>
<disp-formula id="E27"><label>(26)</label><mml:math id="M31"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd class="eqnarray-1"><mml:msup><mml:mrow><mml:mo class="qopname">log</mml:mo></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msup><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msup><mml:mrow><mml:mi>&#x003C0;</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow></mml:msup><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msub><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">u</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-rel">|</mml:mo><mml:msub><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">w</mml:mtext></mml:mstyle><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msup><mml:mrow><mml:mi>&#x003C8;</mml:mi></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msup><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msub><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfenced><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">v</mml:mtext></mml:mstyle></mml:mtd><mml:mtd class="eqnarray-2"><mml:mo class="MathClass-rel">=</mml:mo><mml:mstyle class="text"><mml:mtext>r</mml:mtext></mml:mstyle><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msub><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">u</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfenced><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:mi>&#x003BB;</mml:mi><mml:msup><mml:mrow><mml:mi>&#x003C8;</mml:mi></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msup><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msub><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mfenced><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">v</mml:mtext></mml:mstyle></mml:mtd><mml:mtd class="eqnarray-3"></mml:mtd><mml:mtd class="eqnarray-4"><mml:mtext class="eqnarray"></mml:mtext></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="eqnarray-1"></mml:mtd><mml:mtd class="eqnarray-2"><mml:mspace width="1em" class="quad"/><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msub><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">u</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfenced></mml:mtd><mml:mtd class="eqnarray-3"></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>This is the equation for <italic>LSTD</italic>-<italic>Q</italic>(&#x003BB;) at time t. Then for the episodic learning, by summing up equation (26) with <italic>t</italic>&#x02009;&#x0003D;&#x02009;1,2&#x02026;<italic>H</italic>, it is given by:
<disp-formula id="E28"><label>(27)</label><mml:math id="M32"><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>H</mml:mi></mml:mrow></mml:mfrac><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo mathsize="big">&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo class="MathClass-rel">=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>H</mml:mi></mml:mrow></mml:munderover><mml:msup><mml:mrow><mml:mo class="qopname">log</mml:mo></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msup><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msup><mml:mrow><mml:mi>&#x003C0;</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow></mml:msup><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msub><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">u</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-rel">|</mml:mo><mml:msub><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">w</mml:mtext></mml:mstyle><mml:mstyle class="text"><mml:mtext>&#x000A0;&#x0002B;&#x000A0;J</mml:mtext></mml:mstyle><mml:mo class="MathClass-rel">=</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>H</mml:mi></mml:mrow></mml:mfrac><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo mathsize="big">&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo class="MathClass-rel">=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>H</mml:mi></mml:mrow></mml:munderover><mml:mi>r</mml:mi><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msub><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">x</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">u</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfenced></mml:math></disp-formula>
where <italic>J</italic> is the value-function related term considered as a constant baseline. By means of the least square learning rule, the natural PG <bold>w</bold> can be obtained for each episode:
<disp-formula id="E29"><mml:math id="M33"><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mtext>w</mml:mtext></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>J</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>&#x003D5;</mml:mi><mml:msup><mml:mi>&#x003D5;</mml:mi><mml:mi>T</mml:mi></mml:msup></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mi>&#x003D5;</mml:mi><mml:mi>R</mml:mi><mml:mo>.</mml:mo></mml:math></disp-formula>
<disp-formula id="E30"><label>(28)</label><mml:math id="M34"><mml:msub><mml:mi>&#x003D5;</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo> <mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:mi>H</mml:mi></mml:mfrac><mml:mstyle displaystyle='true'><mml:munderover><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>H</mml:mi></mml:munderover><mml:mrow><mml:msup><mml:mrow><mml:mi>log</mml:mi><mml:mo>&#x02061;</mml:mo></mml:mrow><mml:mi>T</mml:mi></mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msup><mml:mtext>&#x003C0;</mml:mtext><mml:mo>&#x003B8;</mml:mo></mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mtext>u</mml:mtext><mml:mi>t</mml:mi></mml:msub><mml:mo>&#x0007C;</mml:mo><mml:msub><mml:mtext>x</mml:mtext><mml:mi>t</mml:mi></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mtext>w</mml:mtext><mml:mo>,</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:mstyle></mml:mrow> <mml:mo>]</mml:mo></mml:mrow></mml:math></disp-formula>
<disp-formula id="E31"><label>(29)</label><mml:math id="M35"><mml:mi>R</mml:mi><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mi>H</mml:mi></mml:mfrac><mml:mstyle displaystyle='true'><mml:munderover><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>H</mml:mi></mml:munderover><mml:mrow><mml:mi>r</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mtext>x</mml:mtext><mml:mtext>t</mml:mtext></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:msub><mml:mtext>u</mml:mtext><mml:mtext>t</mml:mtext></mml:msub><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mstyle></mml:math></disp-formula></p>
<p>In our work, we use a monte-carlo like approach called episodic NAC (eNAC) (Peters, <xref ref-type="bibr" rid="B55">2007</xref>) to make the robot repeat the walking episodes until it achieves final optimal performance. The eNAC is shown in Schema 1 with pseudocode.</p>
<boxed-text id="BX1">
<label>Schema 1</label>
<p><italic>Repeat</italic>: n&#x02009;&#x0003D;&#x02009;1,2 &#x02026; M trials</p>
<p><italic>input</italic>: policy parameterization <inline-formula><mml:math id="M36"><mml:mrow><mml:msup><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></p>
<p>&#x003C0;(<bold>U</bold>|<bold>X</bold>) determines <bold>U</bold><italic><sub>p</sub></italic> before starting each trial</p>
<p><italic>Start the trial</italic>: obtain <bold>X</bold><sub>0:<italic>H</italic></sub>, left <bold>U</bold><sub>0:<italic>H</italic></sub>,<italic>r</italic><sub>0:<italic>H</italic></sub> for each trial from &#x003C0; (<bold>U</bold>|<bold>X</bold>)</p>
<p>Obtain the sufficient statistics</p>
<p>policy derivatives: <inline-formula><mml:math id="M37"><mml:msub><mml:mi>&#x003D5;</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mo>&#x02207;</mml:mo><mml:mo>&#x003B8;</mml:mo></mml:msub><mml:mi>log</mml:mi><mml:mo>&#x02061;</mml:mo><mml:msub><mml:mtext>&#x003C0;</mml:mtext><mml:mo>&#x003B8;</mml:mo></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>&#x0007C;</mml:mo><mml:msub><mml:mi>X</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo stretchy='false'>)</mml:mo></mml:math></inline-formula></p>
<p>Fisher matrix <inline-formula><mml:math id="M38"><mml:msub><mml:mi>F</mml:mi><mml:mo>&#x003B8;</mml:mo></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>&#x02329;</mml:mo><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mstyle displaystyle='true'><mml:msubsup><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mi>H</mml:mi></mml:msubsup><mml:mrow><mml:msub><mml:mi>&#x003D5;</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:mstyle></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:msup><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mstyle displaystyle='true'><mml:msubsup><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:mi>l</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mi>H</mml:mi></mml:msubsup><mml:mrow><mml:msub><mml:mi>&#x003D5;</mml:mi><mml:mi>l</mml:mi></mml:msub></mml:mrow></mml:mstyle></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mi>T</mml:mi></mml:msup></mml:mrow> <mml:mo>&#x0232A;</mml:mo></mml:mrow></mml:math></inline-formula></p>
<p>Vanilla gradient <inline-formula><mml:math id="M39"><mml:mi>g</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>&#x02329;</mml:mo><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mstyle displaystyle='true'><mml:msubsup><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mi>H</mml:mi></mml:msubsup><mml:mrow><mml:msub><mml:mi>&#x003D5;</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:mstyle></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mstyle displaystyle='true'><mml:msubsup><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:mi>l</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mi>H</mml:mi></mml:msubsup><mml:mrow><mml:msub><mml:mi>&#x003B1;</mml:mi><mml:mi>l</mml:mi></mml:msub><mml:msub><mml:mi>r</mml:mi><mml:mi>l</mml:mi></mml:msub></mml:mrow></mml:mstyle></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow> <mml:mo>&#x0232A;</mml:mo></mml:mrow></mml:math></inline-formula></p>
<p>Eligibility <inline-formula><mml:math id="M40"><mml:mi>&#x003C8;</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>&#x02329;</mml:mo><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mstyle displaystyle='true'><mml:msubsup><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mi>H</mml:mi></mml:msubsup><mml:mrow><mml:msub><mml:mi>&#x003D5;</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:mstyle></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow> <mml:mo>&#x0232A;</mml:mo></mml:mrow></mml:math></inline-formula></p>
<p>General reward <inline-formula><mml:math id="M41"><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x00304;</mml:mo></mml:mover><mml:mo class="MathClass-rel">=</mml:mo><mml:mfenced separators="" open="&#x027E8;" close="&#x027E9;"><mml:mrow><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msubsup><mml:mrow><mml:mo class="MathClass-op">&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>l</mml:mi><mml:mo class="MathClass-rel">=</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi>H</mml:mi></mml:mrow></mml:msubsup><mml:msub><mml:mrow><mml:mi>&#x003B1;</mml:mi></mml:mrow><mml:mrow><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mrow><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced><mml:mo class="MathClass-punc">,</mml:mo></mml:mrow></mml:math></inline-formula> where &#x003B1;<sup>l</sup> is the discount factor</p>
<p>Obtain natural gradient by computing</p>
<p>baseline <inline-formula><mml:math id="M42"><mml:mrow><mml:mi>b</mml:mi><mml:mo class="MathClass-rel">=</mml:mo><mml:mi>Q</mml:mi><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x00304;</mml:mo></mml:mover><mml:mo class="MathClass-bin">-</mml:mo><mml:msup><mml:mrow><mml:mi>&#x003C8;</mml:mi></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msup><mml:msubsup><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mo class="MathClass-bin">-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mi>g</mml:mi></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula></p>
<p>with <inline-formula><mml:math id="M43"><mml:mi>Q</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mi>M</mml:mi><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:mo>+</mml:mo><mml:msup><mml:mtext>&#x003C8;</mml:mtext><mml:mi>T</mml:mi></mml:msup><mml:msup><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>M</mml:mi><mml:msub><mml:mi>F</mml:mi><mml:mo>&#x003B8;</mml:mo></mml:msub><mml:mo>&#x02212;</mml:mo><mml:msup><mml:mrow><mml:mtext>&#x003C8;&#x003C8;</mml:mtext></mml:mrow><mml:mi>T</mml:mi></mml:msup></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mi>&#x003C8;</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> <italic>When updating rule is satisfied:</italic></p>
<p><inline-formula><mml:math id="M44"><mml:msub><mml:mi>&#x003B8;</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>&#x003B8;</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mi>&#x003B1;</mml:mi><mml:mi>g</mml:mi></mml:math></inline-formula></p>
<p>until the convergence of algorithm</p>
<p>where &#x03008;&#x02009;&#x000B7;&#x02009;&#x03009; means sum-up of all the previous values and current values.</p>
</boxed-text>
</sec>
</sec>
<sec>
<label>2.3</label> <title>Experimental settings</title>
<p>There are 2 main experiments presented in this article. The first one is to indicate that the proposed learning architecture can assist the robot learning to walk from the initial standing posture. The aim of this experiment is to prove the robot can adjust its posture and integrate sensory feedback simultaneously in the process of learning. The second experiment is to change the plane on which the robot stands to different angles to see how the learning architecture adaptively seeks out proper postures and walking gaits. By changing angles from &#x02212;5&#x000B0; to &#x0002B;5&#x000B0;, this experiment also shows the relation between slope angles and posture change under the influence of gravity alternation.</p>
<sec>
<label>2.3.1</label> <title>Robotic platform and the neural controller</title>
<p>Figure <xref ref-type="fig" rid="F4">4</xref> shows the robot and the neural network used to implement learning. We use the popular commercialized robot NAO. The advantages of using the NAO robot are summarized as: (1) There are locomotion-relevant sensors mounted on the NAO robot, such as gyro sensors which can detect acceleration of the body center in 3D space, joint sensors which can measure angle values, and foot pressure sensors which can sense ground contact of feet. All these sensors are useful for learning a proper walking gait. (2) Nao has a good firmware called Naoqi which is convenient for users to program and organize modules working together.</p>
<fig id="F4" position="float">
<label>Figure 4</label>
<caption><p><bold>Left: The complete architecture of cpg-actor-critic network</bold>. The integration with specific joint names represents the functions of motorneurons for each joint. The architecture abstractly represents the neurophysiological structure of the brainstem where the basal ganglia is in charge of RL, and the spinal cord is where the CPGs are located and motorneurons. Each layer of the three-layered architecture corresponds to different parts. The actor-critic learning mechanism works with basal ganglia as a RL functionality. Sensor neurons are different types of neurons which get information from different sensors of the robot (middle). Middle: The NAO robot. Arrows indicate the connection between the controller and the robot. Right: the software architecture. Naoqi is working as a middleware to handle the communication of three modules. The communicative information between every two modules are listed above the arrow.</p></caption>
<graphic xlink:href="fnbot-07-00005-g004.tif"/>
</fig>
<p>The layered CPG network (Figure <xref ref-type="fig" rid="F4">4</xref> left) is used to control the NAO robot. Each output sends out position trajectories to each corresponding joint of NAO. Simultaneously, all the CPG neurons receive inputs from different kinds of sensor neurons based on the concept of sensor-driven CPG. There are three main sensor neurons with similar sigmoid form (refer to Appendix A): Proprioceptive (PP) sensor neurons for hips (joint sensors), anterior extremity (AE) sensor neurons for knees (joint sensors), and exteroceptive (ET) ankle sensor neurons (mixture of gyro sensors and pressure sensors). The motion of pitch direction is controlled by the CPG neural network while the roll motion (hips and ankles) is sensor-driven by the pitch motion (hips and ankles), respectively (Li et al., <xref ref-type="bibr" rid="B44">2012</xref>; Appendix A).</p>
</sec>
<sec>
<label>2.3.2</label> <title>Software</title>
<p>In this work, we use a simulated environment in the Webots simulator. Webots is an ODE (Open Dynamics Engine) based simulator in which users can not only simulate physics close to the real world but also move robots or objects and even change the environment. This is why there is a typical feature of Webots for simulating batch learning processes (Michel, <xref ref-type="bibr" rid="B49">2004</xref>).</p>
<p>There are three main modules working together in the Naoqi of Webots. The supervisor module is in charge of restarting the simulation every episode by putting the robot in the initial position, changing the angle of the ground, measuring the distance the robot walks for each episode. The learning module is the main process where the CPG architecture and the learning algorithm are implemented. The stability indicator is a module working only for obtaining necessary sensory information from the supervisor module and the robot as well as calculating the immediate reward. It is an implementation of a basal ganglia like function. It sends a reward to the main process when activated by the learning module (Figure <xref ref-type="fig" rid="F4">4</xref>).</p>
</sec>
</sec>
</sec>
<sec>
<label>3</label> <title>Results</title>
<sec>
<label>3.1</label> <title>Experiment 1: walking on the flat ground</title>
<sec>
<label>3.1.1</label> <title>Prerequisites</title>
<p>In this experiment, the robot starts to walk from the same initial default standing posture and repeats the episode which lasts about 30&#x02009;s until the algorithm converges. At the beginning of each episode, the policy gives two posture control signals for the knee and ankle parts as the posture change is very sensitive and should be explored as a basis for motion. Within each episode, the policy gives the other control signals related to sensory feedback every 1.5&#x02009;ms. The policy used for balancing exploration and exploitation is given:
<disp-formula id="E32"><mml:math id="M45"><mml:mtable class="eqnarray-star" columnalign="left"><mml:mtr><mml:mtd class="eqnarray-1"><mml:msub><mml:mrow><mml:mi>&#x003C0;</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow></mml:msub><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">U</mml:mtext></mml:mstyle><mml:mo class="MathClass-punc">,</mml:mo><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">X</mml:mtext></mml:mstyle></mml:mrow></mml:mfenced></mml:mtd><mml:mtd class="eqnarray-2"><mml:mo class="MathClass-rel">=</mml:mo><mml:mi>N</mml:mi><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">U</mml:mtext></mml:mstyle><mml:mo class="MathClass-punc">,</mml:mo><mml:mover accent="true"><mml:mrow><mml:mstyle class="text"><mml:mtext class="textbf" mathvariant="bold">U</mml:mtext></mml:mstyle><mml:mo class="MathClass-punc">,</mml:mo></mml:mrow><mml:mo class="MathClass-op">&#x00304;</mml:mo></mml:mover><mml:mi>&#x003C3;</mml:mi></mml:mrow></mml:mfenced></mml:mtd><mml:mtd class="eqnarray-3"></mml:mtd><mml:mtd class="eqnarray-4"><mml:mtext class="eqnarray"></mml:mtext></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="eqnarray-1"></mml:mtd><mml:mtd class="eqnarray-2"><mml:mo class="MathClass-rel">=</mml:mo><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:mi>&#x003C0;</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow></mml:mfrac><mml:mo class="qopname">exp</mml:mo><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mfrac><mml:mrow><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">U</mml:mtext></mml:mstyle><mml:mo class="MathClass-bin">-</mml:mo><mml:mi>&#x0016A;</mml:mi></mml:mrow></mml:mfenced><mml:msup><mml:mrow><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">U</mml:mtext></mml:mstyle><mml:mo class="MathClass-bin">-</mml:mo><mml:mi>&#x0016A;</mml:mi></mml:mrow></mml:mfenced></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mrow></mml:mfenced></mml:mtd><mml:mtd class="eqnarray-3"></mml:mtd><mml:mtd class="eqnarray-4"><mml:mtext class="eqnarray"></mml:mtext></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
where <bold>U</bold> is the output vector of the policy and <inline-formula><mml:math id="M46"><mml:mover accent='true'><mml:mtext>U</mml:mtext><mml:mo>&#x000AF;</mml:mo></mml:mover></mml:math></inline-formula> is the input vector based on state space <bold>X</bold>. &#x003C3; is the exploration rate which determines the variance of <bold>U</bold> from <inline-formula><mml:math id="M47"><mml:mover accent='true'><mml:mtext>U</mml:mtext><mml:mo>&#x000AF;</mml:mo></mml:mover></mml:math></inline-formula>. The value of &#x003C3; cannot be so big (&#x0003E;0.1) that the system involves a lot of noise and it cannot be too small (&#x0003C;0.01) as the system will become very insensitive and diverges. In this experiment, for the posture control part <bold>U</bold><italic><sub>p</sub></italic>, &#x003C3;&#x02009;&#x0003D;&#x02009;0.05. Otherwise &#x003C3;&#x02009;&#x0003D;&#x02009;0.02. As 0.02 is too small for the posture terms, a slightly bigger exploration rate is adopted. After having the continuous control signals sent to each joint, the robot needs to have the capability of evaluating different appearing walking gaits. The immediate fitness of a walking gait is acquired every 1.5&#x02009;ms via the reward function which indicates the gait robustness, also called stability indicator. The stability of a walking gait should be considered in two directions: vertically, the SI is able to detect falling; horizontally, SI also considers the distance the robot moves. In this way, SI reflects a trade-off between vertical and horizontal stability. Thus, the SI is given:
<disp-formula id="E33"><label>(30)</label><mml:math id="M48"><mml:mi>r</mml:mi><mml:mo class="MathClass-rel">=</mml:mo><mml:msub><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mrow><mml:mi>h</mml:mi><mml:mi>e</mml:mi><mml:mi>i</mml:mi><mml:mi>g</mml:mi><mml:mi>h</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mrow><mml:mi>a</mml:mi><mml:mi>c</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mi>i</mml:mi><mml:mi>s</mml:mi><mml:mi>t</mml:mi><mml:mi>a</mml:mi><mml:mi>n</mml:mi><mml:mi>c</mml:mi><mml:mi>e</mml:mi></mml:mrow></mml:msub></mml:math></disp-formula>
where <inline-formula><mml:math id="M49"><mml:mrow><mml:msub><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mrow><mml:mi>h</mml:mi><mml:mi>e</mml:mi><mml:mi>i</mml:mi><mml:mi>g</mml:mi><mml:mi>h</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-rel">=</mml:mo><mml:msup><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mn>25</mml:mn><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mi>H</mml:mi><mml:mo class="MathClass-bin">-</mml:mo><mml:msub><mml:mrow><mml:mi>H</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>n</mml:mi><mml:mi>i</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:msup><mml:mstyle class="text"><mml:mtext>,</mml:mtext></mml:mstyle></mml:mrow></mml:math></inline-formula> <italic>H</italic> is the height of gravity center and the NAO robot can detect the height based on the gyro sensor. <italic>H<sub>init</sub></italic> is the height of gravity center of the initial standing posture. Thus, this equation detects a dynamic change of height of the body when the robot is walking. When the robot falls, it is close to 0. <inline-formula><mml:math id="M50"><mml:mrow><mml:msub><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mrow><mml:mi>a</mml:mi><mml:mi>c</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-rel">=</mml:mo><mml:mn>2</mml:mn><mml:mo class="qopname">cos</mml:mo><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mfrac><mml:mrow><mml:mi>a</mml:mi><mml:mi>c</mml:mi><mml:mi>c</mml:mi><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mn>10</mml:mn></mml:mrow></mml:mfrac></mml:mrow></mml:mfenced><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:mn>2</mml:mn><mml:mo class="qopname">cos</mml:mo><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mfrac><mml:mrow><mml:mi>a</mml:mi><mml:mi>c</mml:mi><mml:mi>c</mml:mi><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mn>22</mml:mn></mml:mrow></mml:mfrac></mml:mrow></mml:mfenced><mml:mo class="MathClass-punc">,</mml:mo></mml:mrow></mml:math></inline-formula> if <inline-formula><mml:math id="M51"><mml:mrow><mml:mfenced separators="" open="|" close="|"><mml:mrow><mml:mi>a</mml:mi><mml:mi>c</mml:mi><mml:mi>c</mml:mi><mml:mi>X</mml:mi></mml:mrow></mml:mfenced><mml:mo class="MathClass-rel">&#x0003C;</mml:mo><mml:mn>25</mml:mn></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M52"><mml:mrow><mml:mfenced separators="" open="|" close="|"><mml:mrow><mml:mi>a</mml:mi><mml:mi>c</mml:mi><mml:mi>c</mml:mi><mml:mi>Y</mml:mi></mml:mrow></mml:mfenced><mml:mo class="MathClass-rel">&#x0003C;</mml:mo><mml:mn>50</mml:mn><mml:mo class="MathClass-punc">.</mml:mo></mml:mrow></mml:math></inline-formula> Otherwise, the robot is stopped and the episode is restarted. <italic>accX</italic> and <italic>accY</italic> are the acceleration of the robot&#x02019;s X axis (Pitch) and Y axis (Roll) of gravity center detected from the gyro sensor. For both directions, the gyro sensor is able to detect the acceleration from &#x02212;70 to 70 which corresponds to &#x02212;9.8 to &#x0002B;9.8&#x02009;m/s<sup>2</sup>. This part is implemented based on the inspiration of a vestibular system in the inner-ear mechanism for keeping body balance. It senses &#x0201C;falling&#x0201D; of the body by detecting the accelerations in 3D space (Thomas et al., <xref ref-type="bibr" rid="B70">2009</xref>). Here, as we aim to study walking on the ground, the perpendicular acceleration is ignored. Twenty-five and 50 are the boundary values for the robot to fall. The even <italic>cos</italic> function is used to indicate this oscillatory motion of the walking in negative and positive directions of each axis. <italic>r<sub>distance</sub></italic>&#x02009;&#x0003D;&#x02009;2S and <italic>S</italic> is the walking distance detected by the supervisor module in Webots.</p>
<p>After each episode, two kinds of average reward are acquired. One is the average reward (AR) for each episode equal to <inline-formula><mml:math id="M53"><mml:mrow><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo class="MathClass-op">&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>l</mml:mi><mml:mo class="MathClass-rel">=</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi>H</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mrow><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> and the other is the general average reward (GAR) equal to <inline-formula><mml:math id="M54"><mml:mrow><mml:mfrac><mml:mrow><mml:mfenced separators="" open="&#x027E8;" close="&#x027E9;"><mml:mrow><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo class="MathClass-op">&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>l</mml:mi><mml:mo class="MathClass-rel">=</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi>H</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mrow><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfenced></mml:mrow><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:mfrac><mml:mo class="MathClass-punc">.</mml:mo></mml:mrow></mml:math></inline-formula> If <italic>AR</italic>&#x02009;&#x0003E;&#x02009;<italic>GAR</italic>, the updating rule is satisfied. Otherwise, the episode is regarded as a failure. The algorithm converges when the learning process cannot find any episode which can satisfy the update rule.</p>
</sec>
<sec>
<label>3.1.2</label> <title>Experiment 1 results</title>
<p>For each experiment, the algorithm starts with initialized &#x003B8;&#x02009;&#x0003D;&#x02009;0 except that &#x003B8;<sub>5</sub>&#x02009;&#x0003D;&#x02009;&#x003B8;<sub>6</sub>&#x02009;&#x0003D;&#x02009;3 as 3 is the weight value making ankle sensor neurons sensitive to external disturbance. 10 independent runs (different random seeds) were evaluated and 5 &#x0201C;good&#x0201D; results with top-five average reward are chosen for visualization in Figure <xref ref-type="fig" rid="F5">5</xref> (left column). We chose the one with highest average reward (run 5) to show how cpg-actor-critic finds the optimal learning gradient. Actually, the key feature of cpg-actor-critic is that it can find the best update directions of parameters quickly via balancing the exploration and exploitation. It is clearly observed that in the very first 10 episodes, the update directions of all the parameters are not stable, even opposite of right directions. However, after 10 update episodes, cpg-actor-critic can quickly find good and smooth update paths. Interestingly, Figures <xref ref-type="fig" rid="F5">5</xref>B&#x02013;E shows the convergence of posture related parameters. In Figure <xref ref-type="fig" rid="F5">5</xref>B, &#x003B8;<italic><sub>p</sub>1</italic> and &#x003B8;<italic><sub>p</sub>2</italic> shows the posture change of the knee and the ankle. The knee posture is extending (&#x003B8;<italic><sub>p</sub>1</italic> turns negative) a lot to move the center of gravity toward the middle while the ankle position is only slightly changed to keep the balance with the knee posture. Meanwhile, &#x003B8;<sub>2</sub> is increasing to 1 in order to limit the extension of the hip part and strengthen the flexion of the hip motion. The posture change of a chained-up three joints (ankle, knee, and hip) drives the robot to walk more robustly and for a longer distance. The final convergence of proper posture for walking is a consequence of the interaction of the morphology of NAO, the neural controller and the sensory feedback. For example, it is logical that NAO&#x02019;s ankle cannot be changed a lot as it is disproportionately big. The cpg-actor-critic realizes this obviously by the slight adjustment of the ankle posture with interaction.</p>
<fig id="F5" position="float">
<label>Figure 5</label>
<caption><p><bold>Left column: The results of the runs with top-five reward on flat ground</bold>. <bold>(A)</bold> shows the maximization of average reward for the five runs. <bold>(B&#x02013;E)</bold> show the results of the run with highest average reward (Exp 5) regarding how connection weights are updated in each CPG by learning process with respect to the contributions of each term respectively. Right colunm: The results of a run on 3&#x000B0; critical slope. <bold>(F)</bold> shows the &#x0201C;struggling&#x0201D; maximization of expected reward. The green dash line shows a quadratic fitting of the increasing learning curve. <bold>(G&#x02013;J)</bold> show how connection weights of CPGs are adaptively updated on the critical slope. For details of explanation, please refer to main text. All the &#x0201C;Episodes&#x0201D; mean updating episodes which exclude the episodes unable to satisfy updating rule.</p></caption>
<graphic xlink:href="fnbot-07-00005-g005.tif"/>
</fig>
<p>As for the connection weights of AE and ankle sensor neurons, they only show the curves without flat convergence. The reason is that, in eNAC, the <italic>Q</italic> function is actually theoretically approximated by a linear combination of basis functions. However, practically it is only possible to averagely approximate without exact accurate convergence. This is also the reason we need to set up a specific convergence rule.</p>
<p>Finally, a specific walking gait is converged to by the interactive learning process and parameters are converged to &#x003B8;&#x02009;&#x0003D;&#x02009;[0.4290, 1.0131, &#x02212;11.7874, 21.6984, 3.2394, 3.8179, &#x02212;0.6147, 0.1758, &#x02212;12.8070].</p>
</sec>
</sec>
<sec>
<label>3.2</label> <title>Experiment 2: Walking on the slope</title>
<sec>
<label>3.2.1</label> <title>Prerequisites</title>
<p>The aim of experiment 2 is to test if the learning architecture can still function when there is different non-linear influence of the gravity for walking up and down the slope. Meanwhile, it is interesting to observe how the robot adaptively reacts to environmental change by achieving a trade-off between adaptation and learning. Finally, a conclusive relation between adaptive adjustment of CPG parameters and slope is explained.</p>
<p>In this experiment, we fully adopt the architecture in Figure <xref ref-type="fig" rid="F4">4</xref>. Since results in experiment 1 do not show any qualitative difference of walking gaits, each run in experiment 2 uses the parameter set developed in an arbitrarily selected good solution from experiment 1. The NAO, in each evaluation, is thus able to walk on a flat slope before attempting an upward or downward slope, depending on the condition. The good solution obtained for flat-ground walking consists of the following parameter set: &#x003B8;&#x02009;&#x0003D;&#x02009;[1.3391, 0.4717, 3.1593, &#x02212;0.6291, 3.4483, 3.1432, &#x02212;0.6640, 0.2293, 0.4365] used as the set of values at the start of each experiment 2 run. In each experiment 2 run, the architecture is tested to learn to walk on the slopes from &#x02212;0.08&#x02013;0.08&#x02009;rad (about &#x02212;5&#x02013;5&#x000B0;) by changing 0.01&#x02009;rad each test. For each slope, there are 5 runs carried out for each condition where the aforementioned angles (8 in total) are gradually varied (get steeper) over the course of each simulation. Therefore, there is a total of 8&#x02009;&#x0002A;&#x02009;5 upslope and 8&#x02009;&#x0002A;&#x02009;5 downslope angles from which data points are derived (see Figure <xref ref-type="fig" rid="F7">7</xref>).</p>
</sec>
<sec>
<label>3.2.2</label> <title>Experiment 2 results</title>
<p>Walking up and down the slope are two different cases with distinct gravitational effects. Figure <xref ref-type="fig" rid="F6">6</xref> shows how the walking posture and sensory feedback are autonomously changed by learning in those two situations (average data). From negative slope to positive slope, the change of gravity exerted on the robot is a non-linear alternation. So the posture change is required to cancel the influence of gravity in the moving direction (upslope and downslope: extra negative and positive force respectively). If we assume the slope is &#x003B2;, then the gravity exerted in the walking direction is given by <italic>f</italic>&#x02009;&#x0003D;&#x02009;<italic>mgsin</italic>&#x003B2;, where m is the mass of the robot and g is the gravity constant. Therefore, Figure <xref ref-type="fig" rid="F6">6</xref>A shows a non-linear change of knee posture. When the robot walks up the slope, the gravity is a resistance force. When &#x003B2; is very small, <italic>mgsin</italic>&#x003B2;&#x02009;&#x02248;&#x02009;<italic>mg</italic>&#x003B2; shows a linear-like relation in which there is only small error. When the errors are accumulated until the resistance force <italic>f</italic> starts to prevent the robot moving forward, then the non-linear change has to be canceled. This is why there is an abrupt change when the robot walks up on the 3&#x000B0; slope (0.05&#x02009;rad) which is called &#x0201C;critical&#x0201D; slope. Then when the slope is slightly steeper than 0.05&#x02009;rad, Figure <xref ref-type="fig" rid="F6">6</xref>A shows a new linear change of the knee posture. The same phenomenon happens to be the case that the robot walks down the slope (slope &#x02212;0.04 is a turning point). Figures <xref ref-type="fig" rid="F5">5</xref>E&#x02013;J show the updating of parameters for the &#x0201C;critical&#x0201D; slope. It is clearly visualized that a smooth parameter adjustment of the 3&#x000B0;-slope walking is achieved after the optimal update direction has been found by the learning process of previous slope walking. Interestingly, the posture alternation of the ankle part shows a nearly perfect linear change with respect to alternative slopes. The possible reason may be led by the sensory feedback (refer to the terms <bold>X</bold><italic><sub>E</sub>3</italic> and <bold>X</bold><italic><sub>F</sub>3</italic> in Appendix A) adaptively changing the ankle posture according to the inclination angle (detected by the gyro sensor) of the robot. This sensory feedback shows the natural adaptation of the CPG architecture which compensates accumulated errors (a non-linear weight change of ankle sensor neurons compensates the gravity in Figure <xref ref-type="fig" rid="F6">6</xref>D). As the key to maintaining stable walking is how to hold up the walking posture as upright as possible, the change of one joint in a kinematic chain of the leg leads to a posture alternation in other joints. Therefore, when the slope is turned from &#x02212;0.08 to 0.08&#x02009;rad, with nearly symmetric knee posture change and decreasing ankle change, the hip motion naturally flexes more on the upslope (pushing the body upward) and extends more (flexes less) on the downslope (using the gravity of the body). In Figure <xref ref-type="fig" rid="F6">6</xref>B, the alternation of &#x003B8;<sub>1</sub> of downslope walking is larger than that of upslope walking indicates that the robot needs more hip flexion for walking on the upslope than the downslope. Figures <xref ref-type="fig" rid="F6">6</xref>A,B insinuates a maintenance of upright walking posture on different slopes.</p>
<fig id="F6" position="float">
<label>Figure 6</label>
<caption><p><bold>(A)</bold> Posture change of ankle and knee joint with respect to slope (&#x02212;0.08&#x0223C;0.08). <bold>(B)</bold> shows how the hip joint is adjusted to adapt to slope changes. <bold>(C,D)</bold> show how the knee and ankle reflex change with respect to slope based on the strength of sensory feedback. <bold>(E)</bold> shows the different walking gaits on flat ground and slope (&#x02212;0.08 and &#x0002B;0.08&#x02009;rad). Please refer to video (Cai, <xref ref-type="bibr" rid="B9">2013</xref>).</p></caption>
<graphic xlink:href="fnbot-07-00005-g006a.tif"/>
<graphic xlink:href="fnbot-07-00005-g006b.tif"/>
</fig>
<p>As for the sensory feedback integration, the knee reflex has a symmetric tendency of upslope and downslope walking (Figure <xref ref-type="fig" rid="F6">6</xref>C). The ankle reflex changes non-linearly to compensate the effect of non-linear gravity change on the ankle joint (Figure <xref ref-type="fig" rid="F6">6</xref>D). Therefore, with an appropriate posture control and decent sensory information, the robot converges to different walking gaits on flat ground, upslope, and downslope (Figure <xref ref-type="fig" rid="F6">6</xref>E). The main difference between the gaits on flat ground and slope except posture is that the amplitude of roll motion is automatically reduced in slope walking in which case that slope walking needs more prudent gaits.</p>
</sec>
<sec>
<label>3.2.3</label> <title>Data analysis</title>
<p>The distribution of experimental data is shown in Table <xref ref-type="table" rid="T1">1</xref>. Based on the reward, the data is categorized into three groups in accordance with Figure <xref ref-type="fig" rid="F7">7</xref>A and the number of results are grouped into these three categories. It is shown both in Figure <xref ref-type="fig" rid="F7">7</xref>A and Table <xref ref-type="table" rid="T1">1</xref> that most of learning results converge to the reward above 4.3 and 81.3% converged walking gaits are obtained with the reward above 4.4 which are dubbed as good results. In Figure <xref ref-type="fig" rid="F7">7</xref>A, the data shows two linearly increasing relations between the stability and walking distance, proving that the RL learning tries to optimize both of two key factors important for a good walking gait (According to Equation 30, the reward function is equal to the sum of stability and walking distance). Figure <xref ref-type="fig" rid="F7">7</xref>B indicates an interesting boost for the stability at the &#x0201C;critical&#x0201D; slope (0.04&#x02009;rad) observed in the last section. Two stability clusters are observed in Figure <xref ref-type="fig" rid="F7">7</xref>B (upper). The learning algorithm maintains the stability on two levels separated by the &#x0201C;critical&#x0201D; slope and tries to imporve the walking distance as much as possible (Figure <xref ref-type="fig" rid="F7">7</xref>B (down)). Similarly, the same boost occurs for downslope walking with the separation of |<italic>slope</italic>|&#x02009;&#x0003D;&#x02009;0.04. However, the stability of downslope walking is more than upslope walking as an acceleration in the forwarding direction is demanded in order to walk upward (In our work, stability is negatively proportional to the acceleration of the robot&#x02019;s pitch and roll directions). Therefore, with less force exerted on the body (less acceleration) and the same walking distance, downslope walking is easier compared to upslope walking in our experiments.</p>
<table-wrap position="float" id="T1">
<label>Table 1</label>
<caption><p><bold>The Distribution of Experimental Data</bold>.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="left">Reward</th>
<th align="left">Upslope walking</th>
<th align="left">Downslope walking</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">&#x0003C;4.3</td>
<td align="left">&#x02003;&#x02003;&#x02003;1</td>
<td align="left">&#x02003;&#x02003;&#x02003;0</td>
</tr>
<tr>
<td align="left">4.3&#x02013;4.4</td>
<td align="left">&#x02003;&#x02003;&#x02003;9</td>
<td align="left">&#x02003;&#x02003;&#x02003;5</td>
</tr>
<tr>
<td align="left">&#x0003E;4.4</td>
<td align="left">&#x02003;&#x02003;&#x02009;&#x02009;&#x02009;&#x02009;30</td>
<td align="left">&#x02003;&#x02003;&#x02009;&#x02009;&#x02009;&#x02009;35</td>
</tr>
</tbody>
</table>
</table-wrap>
<fig id="F7" position="float">
<label>Figure 7</label>
<caption><p><bold>(A) shows distribution points of stability vs walking distance for both upslope and downslope walking (80 data points)</bold>. The dashed lines split the region into two regions: the left-upper cluster represents the results whose reward are above 4.4 and the right-down cluster represents the results whose reward are between 4.3 and 4.4 except one dot whose reward is below 4.3. Both of these two clusters are distributed around two hand-drawn lines. <bold>(B,C)</bold> show the distribution points of stability vs reward and walking distance vs reward for upslope and downslope walking respectively. The red-triangle dots represent the results for the cases in which |<italic>slope</italic>|&#x02009;&#x0003C;&#x02009;0.04&#x02009;<italic>rad</italic> and the blue-plus dots represent the results for |<italic>slope</italic>|&#x02009;&#x0003E;&#x02009;0.04&#x02009;<italic>rad</italic>. Note that the walking distance is measured always for the same period and it also reflects the speed of walking.</p></caption>
<graphic xlink:href="fnbot-07-00005-g007.tif"/>
</fig>
</sec>
</sec>
<sec>
<label>3.3</label> <title>Conclusion</title>
<p>With the two experiments, the natural cpg-actor-critic architecture successfully learns different gaits through interaction according to environmental change. It also learns the correlation of posture changes amongst ankles, knees, and hips based on the NAO robot&#x02019;s morphology and the adaptability of neural controller. Meanwhile, it also achieves the implementation of CPG adjusting posture and integrating sensory feedback at the same time.</p>
</sec>
</sec>
<sec sec-type="discussion">
<label>4</label> <title>Discussion</title>
<sec>
<label>4.1</label> <title>Comparison of our work with related work</title>
<sec>
<label>4.1.1</label> <title>Comparison to Nakamura&#x02019;s model</title>
<p>In order to explain the features of the proposed natural cpg-actor-critic in this article, the comparison of our model to Nakamura&#x02019;s is helpful to generally comprehend this complicated architecture.</p>
<sec>
<label>4.1.1.1</label> <title>Similarity</title>
<p>Based on the NAC, Nakamura&#x02019;s model and ours are both natural cpg-actor-critic architecture for learning walking gaits in different environments. The two architectures both layer into basic connections and training connections. The advantage of layering is to reduce the dimensionality of parameter space to avoid the typical problem for reinforcement learning (RL), curse of dimensionality.</p>
</sec>
<sec>
<label>4.1.1.2</label> <title>Differences</title>
<list list-type="order">
<list-item><p>The use of a robot platform is different. Apparently, Nakamura&#x02019;s model only works on Taga&#x02019;s stick walker in Matlab. The work shown in this article covers an implementation on a real robot in a simulated physical world. The interaction of morphology, environment, and sensory feedback is closer to the physical world. This is the first implementation of natural cpg-actor-critic on a real robotic platform according to the authors&#x02019; knowledge. The NAO robot is a robot which moves in 3D space and is more complicated than the 2D stick walker.</p></list-item>
<list-item><p>The type and use of CPG are both different. Nakamura&#x02019;s model is based on Matsuoka oscillators while Hopf oscillators are used in our work. The main difference of these two oscillators is that a Hopf oscillator can change its pattern simply by adjusting &#x003C9;<italic><sub>i</sub></italic> to preserve the basic characteristics (longer descending phase than ascending phase and anti-phase of the two legs) of walking behaviors but a Matsuoka oscillator cannot (Righetti, <xref ref-type="bibr" rid="B59">2008</xref>). In this article, our CPG architecture is inspired not only by the layered biological structure but also by a sensor-driven mechanism. Sensor neurons are very useful to endow CPGs with preliminary adaptation.</p></list-item>
<list-item><p>The learning mechanism is distinct. As abovementioned, our model reduces more computation load and dimensions by grounding basic properties of walking in the PF layer. On the other hand, by using baseline <italic>b</italic> in eNAC is helpful in stabilizing the RL algorithm. This is why our model learns much faster and is more stable (not easily get diverged) than Nakamura&#x02019;s.</p></list-item>
</list>
<p>Generally speaking, the two natural cpg-actor-critic models are distinctly implemented in different bodies in heterogeneous physical worlds with dissimilar use of CPGs.</p>
</sec>
</sec>
<sec>
<label>4.1.2</label> <title>Features of our work</title>
<p>Except for the characteristics compared to Nakamura&#x02019;s model, our work also generally presents several novel features/perspectives compared to related work (Matsubara et al., <xref ref-type="bibr" rid="B47">2006</xref>; Manoonpong et al., <xref ref-type="bibr" rid="B46">2007</xref>; Endo et al., <xref ref-type="bibr" rid="B20">2008</xref>; Nassour et al., <xref ref-type="bibr" rid="B53">2013</xref>):
<list list-type="order">
<list-item><p>Morphology logic: the traditional inverse kinematics (IK) model is not used in our model. IK provides a mapping from cartesian space to joint space as long as a trajectory of the end-effector is known. However, walking does not necessarily need IK (McGeer, <xref ref-type="bibr" rid="B48">1990</xref>; Manoonpong et al., <xref ref-type="bibr" rid="B46">2007</xref>; Nassour et al., <xref ref-type="bibr" rid="B53">2013</xref>). Even though IK is coined as a morphological logic for a rigid-body robot (Pfeifer and Bongard, <xref ref-type="bibr" rid="B58">2006</xref>), our work may imply that IK is not the only logic and the interactive memory (Eligibility &#x003C8; for natural gradient) can also form a logic to help robot adjust the body posture adapting to environmental change. In Endo et al&#x02019;s. (<xref ref-type="bibr" rid="B20">2008</xref>) work, a walking CPG model (only on flat ground) based on IK is presented and the trajectory the foot follows is presumed to be a predefined ellipsoidal path. In our work, the posture is adjusted according to the gradient update interactively focusing on body stability and walking distance instead of recalculating the foot trajectory on different terrains (slope or flat ground). In Nassour et al&#x02019;s. (<xref ref-type="bibr" rid="B53">2013</xref>) work, the posture control is only implemented on the ankle part and it is manually tuned. However, our CPG model not only learns the weights of posture control term for the ankle part but also form an adaptive morphological logic by adapting posture alternation to different slopes. As for the work in Manoonpong et al. (<xref ref-type="bibr" rid="B46">2007</xref>); Matsubara et al. (<xref ref-type="bibr" rid="B47">2006</xref>), a simplified leggy walker without ankle joints is utilized, which seems to make it easier for the robot to walk.</p>
<p>In a nutshell, in most of the work, an initial posture is manually chosen to be a basis/center which CPGs oscillate around but the evaluation of the posture remains unknown. In our work, we involve a posture control mechanism so that the posture is also adaptively changable to alternative terrains on the basis of past experience.</p></list-item>
<list-item><p>Learning mechanism: our work is the first implementation of natural cpg-actor-critic on a complete humanoid. &#x0201C;Natural&#x0201D; means the gradient approach applied in our model is the steepest and exploration-efficient in light of using natural gradient (Peters and Schaal, <xref ref-type="bibr" rid="B57">2008</xref>). The RL learning presented in the work (Endo et al., <xref ref-type="bibr" rid="B20">2008</xref>; Matsubara et al., <xref ref-type="bibr" rid="B47">2006</xref>) is based on non-natural gradient which may not effectively avoid the &#x0201C;plateau&#x0201D; problem that the small gradient update causes learning to be stuck in a local optima without final convergence. On the other hand, in terms of dimensions of parameter space, our model has the ability to learn by adapting 9 parameters together. In Nassour et al&#x02019;s. (<xref ref-type="bibr" rid="B53">2013</xref>) work, there are only two parameters tuned and all the other connection weights are manually defined, including the posture change parameters for ankle parts. In Endo et al&#x02019;s. (<xref ref-type="bibr" rid="B20">2008</xref>) work, it is based on a speed-up normal gradient with three parameters to optimize. Therefore, our model seems to be able to work in a relatively high-dimensional parameter space.</p></list-item>
</list></p>
<p>However, there are still unsolved problems remaining in our work and they are summarized as follows:
<list list-type="order">
<list-item><p>Lack of memory: In our work, we demonstrate a CPG architecture leading the humanoid to learn to walk on different slopes. However, we acquire different adapted values of parameters with the same configuration of the parameter set. In order to adapt to the environmental change, this architecture needs spatio-temporal memory to memorize the relation between learned parameters and environmental variables. For example, in our work, contextual variables (the angle of the body) can be detected by gyro sensor. With the spatio-temporal memory, the robot can perform adaptive walking without learning when encountering the contextual changes it has experienced and learned before. The contextual transition may be solved by context-related transition based on bifurcations (Asa et al., <xref ref-type="bibr" rid="B5">2009</xref>) or a context-switching mechanism with topological map (Caluwaerts et al., <xref ref-type="bibr" rid="B10">2012</xref>).</p></list-item>
<list-item><p>Transferability: Even though most of related work demonstrates the results in a simulated robot (Matsubara et al., <xref ref-type="bibr" rid="B47">2006</xref>; Manoonpong et al., <xref ref-type="bibr" rid="B46">2007</xref>; Endo et al., <xref ref-type="bibr" rid="B20">2008</xref>), whether our work is transferable to the physical robot still remains uncertain. In future work, we have to test different results on the physical robot.</p></list-item>
</list></p>
</sec>
<sec>
<label>4.1.3</label> <title>Insights into RL approach selection</title>
<p>For the POMDP we concern in this article, function approximation is a very useful solution for solving problems in continuous action space (Orlovskii et al., <xref ref-type="bibr" rid="B54">1999</xref>). Discretizing the state space with feature input of an agent is commonly used approach in actor-critic to representing the states of an agent under the condition that the state space is infinitely large (Orlovskii et al., <xref ref-type="bibr" rid="B54">1999</xref>). Therefore, the value function can be approximated in a lot of ways. For example, it could be approximated based on state predictors (Doya et al., <xref ref-type="bibr" rid="B19">2002</xref>; Gianluca, <xref ref-type="bibr" rid="B25">2002</xref>; Khamassi et al., <xref ref-type="bibr" rid="B38">2006</xref>), artificial neural network (ANN) (van Hasselt, <xref ref-type="bibr" rid="B72">2011</xref>; Farka&#x00161; et al., <xref ref-type="bibr" rid="B21">2012</xref>), and basis functions (Doya, <xref ref-type="bibr" rid="B18">2000b</xref>; Peters and Schaal, <xref ref-type="bibr" rid="B56">2006</xref>; Nakamura et al., <xref ref-type="bibr" rid="B51">2007</xref>; van Hasselt and Wiering, <xref ref-type="bibr" rid="B71">2007</xref>). Regarding to the approximation based on state predictors, they mainly work for multi-model model dependent applications so it is not easy to compare the performance among them. It seems Cacla proposed by Hasselt can be adapted with ANN very easily for both actor and critic for the value-function approximation and action selection (van Hasselt, <xref ref-type="bibr" rid="B72">2011</xref>). In our work, we mainly use episodic NAC to achieve steepest policy update. However, Hasselt et al compare NAC and Calca on cart-pole tasks, finding that Calca outperforms NAC (Orlovskii et al., <xref ref-type="bibr" rid="B54">1999</xref>). The main difference between NAC and Calca is that the former optimizes the policy which maps state space to action space and the latter can search optimal solutions in action space directly. This is why Calca can update the action and approximate the value function separately with two sets of parameters and the action parameters are only updated with positive temporal difference (TD) (van Hasselt and Wiering, <xref ref-type="bibr" rid="B71">2007</xref>). Normal NAC has to update also with negative-TD causing the action space to jump into an unknow space which may distablize and fail NAC. Inspired from Calca, in our work, we use the positive-TD update rule (<italic>AR</italic>&#x02009;&#x0003E;&#x02009;<italic>GAR</italic>) to avoid the suffering of negative-TD update for NAC. With initial trials for using Calca on cpg-actor-critic, it seems Calca cannot converge even after 300 episodes as it updates slowly.</p>
</sec>
</sec>
<sec>
<label>4.2</label> <title>Dynamic systems approach</title>
<p>Walking, in dynamic systems theory (DST), is regarded as a flexible limit-cycle behavior. Learning to walk entails finding out a proper limit cycle of the body motion in a certain environment through interaction. The cpg-actor-critic, as the architecture based on this theory, also covers a lot of aspects of the dynamic systems approach. According to Thelen, a dynamic system could be viewed as an equation <italic>q</italic>&#x02009;&#x0003D;&#x02009;<italic>N</italic>(<italic>q</italic>, <italic>parameters</italic>, <italic>noise</italic>) where q is a vector representing all the subcomponents or states of the system and parameters are key factors to which the collective converged behavior is sensitive and that shift the system through different states. N is a non-linear function which determines q which reflects an attractor (Thelen and Smith, <xref ref-type="bibr" rid="B69">1996</xref>). Similarly, the cpg-actor-critic could be written as <italic>cpg</italic>&#x02009;&#x0003D;&#x02009;<italic>N</italic>(<italic>cpgstates</italic>, &#x003B8;, <italic>noise</italic>) where <italic>cpg</italic> is the vector of all the output of CPGs, cpg states are <bold>X</bold> and &#x003B8; is a vector containing policy parameters. N represents the RL functionality which can find an attractor of CPGs. The noise is compressed with proper exploration rate of policies. The whole system is wrapped for a non-linear process of searching for attractors. In a dynamic system, <italic>q</italic> and <italic>parameters</italic> could be very high-dimensional. This is also the drawback of RL where a lot of work is done to reduce the dimensions of state space and parameters. Interestingly, the instability is observed at the beginning of learning (Figure <xref ref-type="fig" rid="F5">5</xref>) then stability emerges from instability. Clearfield argues that new motor capabilities of infants emerge from instabilities (Clearfield, <xref ref-type="bibr" rid="B11">2004</xref>, <xref ref-type="bibr" rid="B12">2011</xref>; Clearfield et al., <xref ref-type="bibr" rid="B13">2008</xref>). In Thelen&#x02019;s theory, instability, including non-linearities, or phase shift or phase transition, is considered as the very source of new forms. In our implementation, the instabilities caused by exploration of an RL algorithm exactly leads to the final generation of a stable gradient. From the perspective of RL, instabilities in DST or infant learning may be the effects of preliminary exploration in order to seek the right direction of developmental tendency. Since the human body is an extremely sophisticated dynamic system which includes different levels (from microscopic to macroscopic) of high-dimensional parameter and state space, it takes more time and gets through more instabilities to finally converge to new behaviors. From the point of view of robotics, it also should be necessary to think about how a robot is able to learn in high-dimensional space with more intelligence. In this sense, cpg-actor-critic proffers a way to explore this open question of RL in a continuous space.</p>
<p>Interaction is of importance in locomotion learning. Inspired by infants learning to walk, the authors tested the use of assistive states (<bold>X</bold><italic><sub>p</sub></italic>) in cpg-actor-critic architecture. Since &#x0201C;Parental scaffolding&#x0201D; is a necessary factor helping infant to stand up and learn to walk through a repeated process (Adolph et al., <xref ref-type="bibr" rid="B1">2012</xref>), the proposed architecture also shows possibilities of external assistance in learning to walk. Firstly, the assistive states which are directly related to the posture of ankles and knees could be interpreted as external force or bias. Hence, these states could be representations of outer assistance, e.g., from parents&#x02019; help. Secondly, infants start to learn to walk without mature value or emotion systems to evaluate their behaviors, parents play roles as infants&#x02019; emotion systems telling them which is good or not thereby causing the maturation of their affective systems (Schore, <xref ref-type="bibr" rid="B63">2012</xref>). In RL, different rules of learning (like update rules and avoidance of falling) are adopted to place a &#x0201C;scaffolding&#x0201D; function primarily in a learning process. However, it lacks a general and evolvable value system for different types of locomotion learning. In this article, the value function is fixed and task-oriented working as a stability indicator for walking. In modern RL approaches, except dealing with more complex high-dimensional learning tasks, a generic reward system which can be adaptive to dissimilar situations is also a challenge. This is why a mature emotion system is demanded in a lot of robotic learning applications (Breazeal and Scassellati, <xref ref-type="bibr" rid="B7">1999</xref>).</p>
</sec>
<sec>
<label>4.3</label> <title>Conclusion and future work</title>
<p>In a nutshell, the work presented in this article simply shows the typical features of dynamic systems pertaining to instabilities, non-linearities, and adaptability to the environment. However, there is still a big difference in performance between an artificial, and a biological (human) adaptive dynamic system which solves more general problems in development and learning. Dynamic systems theory focuses on the development of systems in which new behaviors or attractors can emerge, disappear, and be memorized. In terms of this, RL, as a solver of general learning and developmental problems, needs further research.</p>
<p>In future work, we would like to test the results or the learning process on the physical NAO robot. Moreover, in order to testify the generality of our work and extend the adaptation of our model, experiments on different morphologies, and walking path planning (emphasized by Laumond; Arechavaleta, <xref ref-type="bibr" rid="B4">2008</xref>; Mombaur et al., <xref ref-type="bibr" rid="B50">2010</xref>) are also necessary.</p>
</sec>
</sec>
<sec>
<title>Conflict of Interest Statement</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="supplementary-material">
<title>Supplementary Material</title>
<p>The Supplementary Material for this article can be found online at <uri xlink:href="http://www.frontiersin.org/Neurorobotics/10.3389/fnbot.2013.00005/abstract">http://www.frontiersin.org/Neurorobotics/10.3389/fnbot.2013.00005/abstract</uri></p>
<supplementary-material xlink:href="Movie_1.MP4" id="SM1" mimetype="applicationn/MP4" xmlns:xlink="http://www.w3.org/1999/xlink"/>
</sec>
</body>
<back>
<app-group>
<app id="A1">
<title>Appendix</title>
<sec>
<label>A</label> <title>The Details of CPG-Actor-Critic in the Implementation</title>
<sec>
<label>A.1</label> <title>Directions of flexor and extensor for each joint</title>
<p>In the pitch motion, there are two kinds of moving directions for each joint of NAO: forward (F) and backward (B). The directions of extensor and flexor are given: (1) Hip: Flexor (B&#x0002B;) and Extensor (F&#x02212;). (2) Knee: Flexor (F&#x0002B;) and Extensor (B&#x02212;). (3) Ankle: Flexor (B&#x0002B;) and Extensor (F&#x02212;). The &#x0201C;&#x02212;&#x0201D; and &#x0201C;&#x0002B;&#x0201D; represent the decrease and increase of joint values.</p>
</sec>
<sec>
<label>A.2</label> <title>Details in RL and CPGs</title>
<p>In the RL, the policy parameters <inline-formula><mml:math id="M55"><mml:mo>&#x003B8;</mml:mo><mml:mo>&#x0223C;</mml:mo><mml:mrow><mml:mo>[</mml:mo> <mml:mrow><mml:msub><mml:mo>&#x003B8;</mml:mo><mml:mrow><mml:mtext>1:6</mml:mtext></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:msub><mml:mo>&#x003B8;</mml:mo><mml:mrow><mml:mi>p</mml:mi><mml:mn>12</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:msub><mml:mo>&#x003B8;</mml:mo><mml:mtext>9</mml:mtext></mml:msub></mml:mrow> <mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula> are the weights <bold>W</bold> in CPGs (&#x003B8;<sub>9</sub> is not shown in the main text as it is not related to CPGs). The state space is <inline-formula><mml:math id="M56"><mml:mi>X</mml:mi><mml:mo>&#x0223C;</mml:mo><mml:mrow><mml:mo>{</mml:mo> <mml:mrow><mml:msub><mml:mi>X</mml:mi><mml:mi>E</mml:mi></mml:msub><mml:msub><mml:mi>X</mml:mi><mml:mi>F</mml:mi></mml:msub><mml:msub><mml:mi>X</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:mrow> <mml:mo>}</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:math></inline-formula> where <inline-formula><mml:math id="M57"><mml:msub><mml:mi>X</mml:mi><mml:mi>E</mml:mi></mml:msub><mml:mo>&#x0223C;</mml:mo><mml:mrow><mml:mo>{</mml:mo> <mml:mrow><mml:msub><mml:mi>X</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mi>X</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mi>X</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mrow> <mml:mo>}</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:msub><mml:mi>X</mml:mi><mml:mi>F</mml:mi></mml:msub><mml:mo>&#x0223C;</mml:mo><mml:mrow><mml:mo>{</mml:mo> <mml:mrow><mml:msub><mml:mi>X</mml:mi><mml:mrow><mml:mi>F</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mi>X</mml:mi><mml:mrow><mml:mi>F</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mi>X</mml:mi><mml:mrow><mml:mi>F</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mrow> <mml:mo>}</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:msub><mml:mi>X</mml:mi><mml:mi>p</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo> <mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:mn>1</mml:mn></mml:mrow> <mml:mo>}</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:math></inline-formula> All the <bold>X</bold><italic><sub>E</sub></italic> and <bold>X</bold><italic><sub>F</sub></italic> are sensory feedback on sensor neurons with the functions given by: <inline-formula><mml:math id="M58"><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003C1;</mml:mi></mml:mrow><mml:mrow><mml:mi>s</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-rel">=</mml:mo><mml:mi>s</mml:mi><mml:mi>i</mml:mi><mml:mi>g</mml:mi><mml:mi>m</mml:mi><mml:mi>o</mml:mi><mml:mi>i</mml:mi><mml:mi>d</mml:mi><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>s</mml:mi><mml:mi>h</mml:mi><mml:mi>o</mml:mi><mml:mi>l</mml:mi><mml:mi>d</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>n</mml:mi><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>a</mml:mi></mml:mrow></mml:mfenced><mml:mo class="MathClass-rel">=</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msup><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mi>a</mml:mi><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>s</mml:mi><mml:mi>h</mml:mi><mml:mi>o</mml:mi><mml:mi>l</mml:mi><mml:mi>d</mml:mi></mml:mrow></mml:msub><mml:mo class="MathClass-bin">-</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>n</mml:mi><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:msup></mml:mrow></mml:mfrac><mml:mo class="MathClass-punc">.</mml:mo></mml:mrow></mml:math></inline-formula> Then the <inline-formula><mml:math id="M59"><mml:mrow><mml:mi>&#x0016A;</mml:mi></mml:mrow></mml:math></inline-formula> of RL policy could be written in details:
<disp-formula id="E34"><label>(A1)</label><mml:math id="M60"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd class="eqnarray-1"><mml:msub><mml:mrow><mml:mi>&#x0016A;</mml:mi></mml:mrow><mml:mrow><mml:mi>E</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="eqnarray-2"><mml:mo class="MathClass-rel">=</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mi>E</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mspace width="2.77695pt" class="tmspace"/><mml:msub><mml:mrow><mml:mi>&#x0016A;</mml:mi></mml:mrow><mml:mrow><mml:mi>F</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-rel">=</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mi>F</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="eqnarray-3"></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E35"><label>(A2)</label><mml:math id="M61"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd class="eqnarray-1"><mml:msub><mml:mrow><mml:mi>&#x0016A;</mml:mi></mml:mrow><mml:mrow><mml:mi>E</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="eqnarray-2"><mml:mo class="MathClass-rel">=</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mi>E</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mspace width="2.77695pt" class="tmspace"/><mml:msub><mml:mrow><mml:mi>&#x0016A;</mml:mi></mml:mrow><mml:mrow><mml:mi>F</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-rel">=</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mi>F</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="eqnarray-3"></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E36"><label>(A3)</label><mml:math id="M62"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd class="eqnarray-1"><mml:msub><mml:mrow><mml:mi>&#x0016A;</mml:mi></mml:mrow><mml:mrow><mml:mi>E</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="eqnarray-2"><mml:mo class="MathClass-rel">=</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mi>E</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mspace width="2.77695pt" class="tmspace"/><mml:msub><mml:mrow><mml:mi>&#x0016A;</mml:mi></mml:mrow><mml:mrow><mml:mi>F</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-rel">=</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mi>F</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="eqnarray-3"></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E37"><label>(A4)</label><mml:math id="M63"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd class="eqnarray-1"><mml:msub><mml:mrow><mml:mi>&#x0016A;</mml:mi></mml:mrow><mml:mrow><mml:mi>p</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="eqnarray-2"><mml:mo class="MathClass-rel">=</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>p</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mi>p</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo><mml:mspace width="2.77695pt" class="tmspace"/><mml:msub><mml:mrow><mml:mi>&#x0016A;</mml:mi></mml:mrow><mml:mrow><mml:mi>p</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-rel">=</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>p</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mi>p</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="eqnarray-3"></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
where for hip pitch motion <bold>X</bold><italic><sub>F1</sub></italic>&#x02009;&#x0003D;&#x02009;<italic>sigmoid</italic> (P<italic><sub>sh</sub></italic>, P<italic>h</italic>, 0.5) and <bold>X</bold><italic><sub>E1</sub></italic>&#x02009;&#x0003D;&#x02009;<italic>sigmoid</italic> (P<italic>sh</italic>, P, &#x02212;0.5) are the proprioceptive (PP) sensor neurons, the Psh and Ph are the initial value of hip joint of standing posture and the value of the joint sensor. These two not only adjust the posture of hip but also can increase or limit the motion of the flexor or extensor. For the knee part, <bold>X</bold><italic><sub>F2</sub></italic>&#x02009;&#x0003D;&#x02009;<italic>sigmoid</italic> (P<italic><sub>sk</sub></italic>, P<italic><sub>k</sub></italic>, 16) and <bold>X</bold><italic><sub>E2</sub></italic>&#x02009;&#x0003D;&#x02009;<italic>sigmoid</italic> (P<italic><sub>sk</sub></italic>, P<italic><sub>k</sub></italic>, 16) are the same anterior extremity sensors. The P<italic><sub>sk</sub></italic> and P<italic><sub>k</sub></italic> are the basic posture of knee and the joint value of knee, respectively. 16 indicate a quick reflex when the knee joint reaches the extremity. As for the ankle part, <bold>X</bold><italic><sub>F3</sub></italic>&#x02009;&#x0003D;&#x02009;&#x0039E;<italic>sigmoid</italic> (0, P<italic><sub>g</sub></italic>, 8) and XE3&#x02009;&#x0003D;&#x02009;&#x0039E;<italic>sigmoid</italic> (0, P<italic><sub>g</sub></italic>, &#x02212;8) are ankle sensor neurons. &#x0039E; is a function which is equal to 1 when the foot contacts the ground and 0 when there is no contact. P<italic><sub>g</sub></italic> is the angle of upright body based on the gyro sensor. These neurons are used to adjust the motion of ankle joint adaptively to the inclination angle of the body and work like a simple vestibular system. Therefore, the final output of CPGs is: (1) Hip: &#x003C4;<sub>1</sub>&#x02009;&#x0003D;&#x02009;&#x003C4;<sub>E1</sub>&#x02009;&#x02212;&#x02009;&#x003C4;<sub>F1</sub>. (2) Knee: &#x003C4;<sub>2</sub>&#x02009;&#x0003D;&#x02009;&#x003C4;<italic><sub>E2</sub></italic>&#x02009;&#x0002B;&#x02009;&#x003C4;<italic><sub>F2</sub></italic>&#x02009;&#x0002B;&#x02009;W<italic><sub>p1</sub>X</italic><italic><sub>p1</sub></italic>, where W<sub>p1</sub> is equal to converged &#x003B8;<sub>p1</sub>. (3)Ankle: &#x003C4;<sub>1</sub>&#x02009;&#x0003D;&#x02009;&#x003C4;<sub>E3</sub>&#x02009;&#x02212;&#x02009;&#x003C4;<sub>F3</sub>&#x02009;&#x0002B;&#x02009;W<italic><sub>p</sub>2X</italic><italic><sub>p</sub>2</italic>, where W<italic><sub>p2</sub></italic> is equal to converged &#x003B8;<italic><sub>p2</sub></italic>. The control signals <inline-formula><mml:math id="M64"><mml:mrow><mml:mi>U</mml:mi><mml:mo class="MathClass-rel">=</mml:mo><mml:mi>&#x0016A;</mml:mi><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:mi>&#x003B4;</mml:mi><mml:mo class="MathClass-punc">,</mml:mo></mml:mrow></mml:math></inline-formula> where &#x003B4; is a vector containing exploration values generated by RL policy. All the abovementioned equations are implemented on one leg and the same is used on the other leg because of the symmetry.</p>
<p>The roll motion adopts sensor-driven CPGs. For the hip roll: &#x003C4;<italic><sub>hl</sub></italic>&#x02009;&#x0003D;&#x02009;<italic>sigmoid</italic>(<italic>P<sub>shl</sub></italic>, <italic>P<sub>hl</sub></italic>, 28)&#x02009;&#x02212;&#x02009;<italic>sigmoid</italic>(<italic>P<sub>shr</sub></italic>, <italic>P<sub>hr</sub></italic>, 28) and &#x003C4;<italic><sub>hr</sub></italic>&#x02009;&#x0003D;&#x02009;<italic>sigmoid</italic>(<italic>P<sub>shr</sub></italic>, <italic>P<sub>hr</sub></italic>, 28)-<italic>sigmoid</italic>(<italic>P<sub>shl</sub></italic>, <italic>P<sub>hl</sub></italic>, 28) are the output of roll CPGs to left and right hip roll joints, where <italic>P<sub>shl</sub></italic>, <italic>P<sub>shr</sub></italic> are the standing posture of left and right hip pitch joints and <italic>P<sub>hl</sub></italic>, <italic>Phr</italic> are the values of joint sensors for left and right hip pitch joints. The same mechanism is for ankle roll: &#x003C4;<italic><sub>al</sub></italic>&#x02009;&#x0003D;&#x02009;<italic>sigmoid</italic>(<italic>P<sub>sal</sub></italic>, <italic>P<sub>al</sub></italic>, 28)&#x02009;&#x02212;&#x02009;<italic>sigmoid</italic>(<italic>P<sub>sar</sub></italic>, <italic>P<sub>ar</sub></italic>, 28) and &#x003C4;<italic><sub>ar</sub></italic>&#x02009;&#x0003D;&#x02009;<italic>sigmoid</italic>(<italic>P<sub>sar</sub></italic>, <italic>P<sub>ar</sub></italic>, 28)&#x02009;&#x02212;&#x02009;<italic>sigmoid</italic>(<italic>P<sub>sal</sub></italic>, <italic>P<sub>al</sub></italic>, 28) are the output of roll CPGs to left and right ankle roll joints, where <italic>P<sub>sal</sub></italic>, <italic>P<sub>sar</sub></italic> are the standing posture of left and right ankle pitch joints and <italic>P<sub>al</sub></italic>, <italic>P<sub>ar</sub></italic> are the values of joint sensors for left and right ankle pitch joints.</p>
<p>In order to better and stably approximate Q function in RL, we use another value-function related basis function &#x003C8;&#x02009;&#x0003D;&#x02009;0.1<italic>F</italic> to increase the stability of RL, where F is the joint value of hip. Since the Equation 27 <italic>J</italic>&#x02009;&#x0003D;&#x02009;<italic>V</italic><sup>&#x003C0;</sup>(<bold>x</bold><italic><sub>H</sub>&#x0002B;1</italic>)&#x02009;&#x02212;&#x02009;<italic>V</italic><sup>&#x003C0;</sup>(<bold>x</bold><sub>0</sub>), where <italic>V</italic><sup>&#x003C0;</sup>(<bold>x</bold><italic><sub>H</sub>&#x0002B;1</italic>) is the prediction of future value function dependent on state <italic>x<sub>H</sub></italic>. So by using &#x003B8;<sub>9</sub>&#x003C8; to approximate <italic>V</italic><sup>&#x003C0;</sup>(<bold>x</bold><italic><sub>H</sub>&#x0002B;1</italic>) can increase the stability of RL. <italic>V</italic><sup>&#x003C0;</sup>(<bold>x</bold><sub>0</sub>) is the value function of the initial state which is a constant approximated by baseline.</p>
</sec>
</sec>
</app>
</app-group>
<ref-list>
<title>References</title>
<ref id="B1"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Adolph</surname> <given-names>K. E.</given-names></name> <name><surname>Cole</surname> <given-names>W. G.</given-names></name> <name><surname>Komati</surname> <given-names>M.</given-names></name> <name><surname>Garciaguirre</surname> <given-names>J. S.</given-names></name> <name><surname>Badaly</surname> <given-names>D.</given-names></name> <name><surname>Lingeman</surname> <given-names>J. M.</given-names></name> <etal/></person-group> (<year>2012</year>). <article-title>How do you learn to walk? Thousands of steps and dozens of falls per day</article-title>. <source>Psychol. Sci.</source> <volume>23</volume>, <fpage>1387</fpage>&#x02013;<lpage>1394</lpage>.<pub-id pub-id-type="doi">10.1177/0956797612446346</pub-id><pub-id pub-id-type="pmid">23085640</pub-id></citation></ref>
<ref id="B2"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Amari</surname> <given-names>S.</given-names></name></person-group> (<year>1998</year>). <article-title>Natural gradient works efficiently in learning</article-title>. <source>Neural. Comput.</source> <volume>10</volume>, <fpage>251</fpage>&#x02013;<lpage>276</lpage>.<pub-id pub-id-type="doi">10.1162/089976698300017746</pub-id></citation></ref>
<ref id="B3"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Amrollah</surname> <given-names>E.</given-names></name> <name><surname>Henaff</surname> <given-names>P.</given-names></name></person-group> (<year>2010</year>). <article-title>On the role of sensory feedbacks in rowat &#x02013; selverston cpg to improve robot legged locomotion</article-title>. <source>Front. Neurosci.</source> <volume>4</volume>:<fpage>113</fpage>.<pub-id pub-id-type="doi">10.3389/fnbot.2010.00113</pub-id></citation></ref>
<ref id="B4"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Arechavaleta</surname> <given-names>G.</given-names></name></person-group> (<year>2008</year>). <article-title>An optimality principle governing human locomotion</article-title>. <source>IEEE Trans. Robot.</source> <volume>24</volume>, <fpage>5</fpage>&#x02013;<lpage>14</lpage>.<pub-id pub-id-type="doi">10.1109/TRO.2008.915449</pub-id></citation></ref>
<ref id="B5"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Asa</surname> <given-names>K.</given-names></name> <name><surname>Ishimura</surname> <given-names>K.</given-names></name> <name><surname>Wada</surname> <given-names>M.</given-names></name></person-group> (<year>2009</year>). <article-title>Behavior transition between biped and quadruped walking by using bifurcation</article-title>. <source>Rob. Auton. Syst.</source> <volume>57</volume>, <fpage>155</fpage>&#x02013;<lpage>160</lpage>.<pub-id pub-id-type="doi">10.1016/j.robot.2008.04.005</pub-id></citation></ref>
<ref id="B6"><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Baird</surname> <given-names>L. C.</given-names> <suffix>III.</suffix></name></person-group> (<year>1994</year>). <article-title>&#x0201C;Reinforcement learning in continuous time: advantage updating,&#x0201D;</article-title> in <conf-name>Proceedings of the Neural Networks, IEEE World Congress on Computational Intelligence</conf-name> <volume>4</volume>, <fpage>2448</fpage>&#x02013;<lpage>2453</lpage>.</citation></ref>
<ref id="B7"><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Breazeal</surname> <given-names>C.</given-names></name> <name><surname>Scassellati</surname> <given-names>B. A.</given-names></name></person-group> (<year>1999</year>). <article-title>&#x0201C;Context-dependent attention system for a social robot,&#x0201D;</article-title> in <source>Proceedings of the Sixteenth International Joint Conference on Artificial Intelligence IJCAI &#x02019;99</source> (<conf-loc>San Francisco, CA</conf-loc>: <conf-sponsor>Morgan Kaufmann Publishers Inc</conf-sponsor>) <fpage>1146</fpage>&#x02013;<lpage>1153</lpage>.</citation></ref>
<ref id="B8"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Buono</surname> <given-names>P. L.</given-names></name> <name><surname>Palacios</surname> <given-names>A.</given-names></name></person-group> (<year>2004</year>). <article-title>A mathematical model of motorneuron dynamics in the heartbeat of the leech</article-title>. <source>Physica D</source> <volume>188</volume>, <fpage>292</fpage>&#x02013;<lpage>313</lpage>.<pub-id pub-id-type="doi">10.1016/j.physd.2003.08.003</pub-id></citation></ref>
<ref id="B9"><citation citation-type="web"><person-group person-group-type="author"><name><surname>Cai</surname> <given-names>L.</given-names></name></person-group> (<year>2013</year>). <source>Video: Walking on Different Terrains</source>. Available at; <uri xlink:href="http://www.youtube.com/watch?v=nlloyalhcqa">http://www.youtube.com/watch?v=nlloyalhcqa</uri> [accessed January, 2013].</citation></ref>
<ref id="B10"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Caluwaerts</surname> <given-names>K.</given-names></name> <name><surname>Staffa</surname> <given-names>M.</given-names></name> <name><surname>N&#x02019;Guyen</surname> <given-names>S.</given-names></name> <name><surname>Grand</surname> <given-names>C.</given-names></name> <name><surname>Doll&#x000E9;</surname> <given-names>L.</given-names></name> <name><surname>Favre-F&#x000E9;lix</surname> <given-names>A.</given-names></name> <etal/></person-group> (<year>2012</year>). <article-title>A biologically inspired meta-control navigation system for the psikharpax rat robot</article-title>. <source>Bioinspir. Biomim.</source> <volume>7</volume>:<fpage>025009</fpage>.<pub-id pub-id-type="doi">10.1088/1748-3182/7/2/025009</pub-id></citation></ref>
<ref id="B11"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Clearfield</surname> <given-names>M. W.</given-names></name></person-group> (<year>2004</year>). <article-title>The role of crawling and walking experience in infant spatial memory</article-title>. <source>J. Exp. Child. Psychol.</source> <volume>89</volume>, <fpage>214</fpage>&#x02013;<lpage>241</lpage>.<pub-id pub-id-type="doi">10.1016/j.jecp.2004.07.003</pub-id><pub-id pub-id-type="pmid">15501452</pub-id></citation></ref>
<ref id="B12"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Clearfield</surname> <given-names>M. W.</given-names></name></person-group> (<year>2011</year>). <article-title>Learning to walk changes infants&#x02019; social interactions</article-title>. <source>Infant Behav. Dev.</source> <volume>34</volume>, <fpage>15</fpage>&#x02013;<lpage>25</lpage>.<pub-id pub-id-type="doi">10.1016/j.infbeh.2010.04.008</pub-id><pub-id pub-id-type="pmid">20478619</pub-id></citation></ref>
<ref id="B13"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Clearfield</surname> <given-names>M. W.</given-names></name> <name><surname>Osborne</surname> <given-names>C. N.</given-names></name> <name><surname>Mullen</surname> <given-names>M.</given-names></name></person-group> (<year>2008</year>). <article-title>Learning by looking: infants social looking behavior across the transition from crawling to walking</article-title>. <source>J. Exp. Child. Psychol.</source> <volume>100</volume>, <fpage>297</fpage>&#x02013;<lpage>307</lpage>.<pub-id pub-id-type="doi">10.1016/j.jecp.2008.03.005</pub-id><pub-id pub-id-type="pmid">18452944</pub-id></citation></ref>
<ref id="B14"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Collins</surname> <given-names>S. H.</given-names></name> <name><surname>Wisse</surname> <given-names>M.</given-names></name> <name><surname>Ruina</surname> <given-names>A.</given-names></name></person-group> (<year>2001</year>). <article-title>A three-dimensional passive-dynamic walking robot with two legs and knees</article-title>. <source>Int. J. Rob. Res.</source> <volume>20</volume>, <fpage>607</fpage>&#x02013;<lpage>615</lpage>.<pub-id pub-id-type="doi">10.1177/02783640122067561</pub-id></citation></ref>
<ref id="B15"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Degallier</surname> <given-names>R.</given-names></name> <name><surname>Righetti</surname> <given-names>L.</given-names></name> <name><surname>Gay</surname> <given-names>S.</given-names></name> <name><surname>Ijspeert</surname> <given-names>A. J.</given-names></name></person-group> (<year>2011</year>). <article-title>Toward simple control for complex, autonomous robotic applications: combining discrete and rhythmic motor primitives</article-title>. <source>Auton. Robots</source> <volume>31</volume>, <fpage>155</fpage>&#x02013;<lpage>181</lpage>.<pub-id pub-id-type="doi">10.1007/s10514-011-9235-2</pub-id></citation></ref>
<ref id="B16"><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Dotan</surname> <given-names>J.</given-names></name> <name><surname>Volkinshtein</surname> <given-names>D. M.</given-names></name> <name><surname>Meir</surname> <given-names>R.</given-names></name></person-group> (<year>2008</year>). <article-title>&#x0201C;Temporal difference based actor critic learning &#x02013; convergence and neural implementation,&#x0201D;</article-title> in <conf-name>Proceedings of the NIPS</conf-name>, eds <person-group person-group-type="editor"><name><surname>Koller</surname> <given-names>D.</given-names></name> <name><surname>Schuurmans</surname> <given-names>D.</given-names></name> <name><surname>Bengio</surname> <given-names>Y.</given-names></name> <name><surname>Bottou</surname> <given-names>L.</given-names></name></person-group> (<conf-loc>Vancouver</conf-loc>: <conf-sponsor>Curran Associates Inc</conf-sponsor>), <fpage>385</fpage>&#x02013;<lpage>392</lpage>.</citation></ref>
<ref id="B17"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Doya</surname> <given-names>K.</given-names></name></person-group> (<year>2000a</year>). <article-title>Complementary roles of basal ganglia and cerebellum in learning and motor control</article-title>. <source>Curr. Opin. Neurobiol.</source> <volume>10</volume>, <fpage>732</fpage>&#x02013;<lpage>739</lpage>.<pub-id pub-id-type="doi">10.1016/S0959-4388(00)00153-7</pub-id></citation></ref>
<ref id="B18"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Doya</surname> <given-names>K.</given-names></name></person-group> (<year>2000b</year>). <article-title>Reinforcement learning in continuous time and space</article-title>. <source>Neural. Comput.</source> <volume>12</volume>, <fpage>219</fpage>&#x02013;<lpage>245</lpage>.<pub-id pub-id-type="doi">10.1162/089976600300015961</pub-id></citation></ref>
<ref id="B19"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Doya</surname> <given-names>K.</given-names></name> <name><surname>Samejima</surname> <given-names>K.</given-names></name> <name><surname>Katagiri</surname> <given-names>K.</given-names></name> <name><surname>Kawato</surname> <given-names>M.</given-names></name></person-group> (<year>2002</year>). <article-title>Multiple model-based reinforcement learning</article-title>. <source>Neural. Comput.</source> <volume>14</volume>, <fpage>1347</fpage>&#x02013;<lpage>1369</lpage>.<pub-id pub-id-type="doi">10.1162/089976602753712972</pub-id><pub-id pub-id-type="pmid">12020450</pub-id></citation></ref>
<ref id="B20"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Endo</surname> <given-names>G.</given-names></name> <name><surname>Morimoto</surname> <given-names>J.</given-names></name> <name><surname>Matsubara</surname> <given-names>T.</given-names></name> <name><surname>Nakanish</surname> <given-names>J.</given-names></name> <name><surname>Cheng</surname> <given-names>G.</given-names></name></person-group> (<year>2008</year>). <article-title>Learning cpg-based biped locomotion with a policy gradient method: application to a humanoid robot</article-title>. <source>Int. J. Rob. Res.</source> <volume>27</volume>, <fpage>213</fpage>&#x02013;<lpage>228</lpage>.<pub-id pub-id-type="doi">10.1177/0278364907084980</pub-id></citation></ref>
<ref id="B21"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Farka&#x00161;</surname> <given-names>I.</given-names></name> <name><surname>Mal&#x000ED;k</surname> <given-names>T.</given-names></name> <name><surname>Rebrov&#x000E1;</surname> <given-names>K.</given-names></name></person-group> (<year>2012</year>). <article-title>Grounding the meanings in sensorimotor behavior using reinforcement learning</article-title>. <source>Front. Neurorobot.</source> <volume>6</volume>:<fpage>1</fpage>.<pub-id pub-id-type="doi">10.3389/fnbot.2012.00001</pub-id></citation></ref>
<ref id="B22"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Frank</surname> <given-names>M. J.</given-names></name> <name><surname>Claus</surname> <given-names>E. D.</given-names></name></person-group> (<year>2006</year>). <article-title>Anatomy of a decision: Striato-orbitofrontal interactions in reinforcement learning, decision making, and reversal</article-title>. <source>Psychol. Rev.</source> <volume>113</volume>, <fpage>300</fpage>&#x02013;<lpage>326</lpage>.<pub-id pub-id-type="doi">10.1037/0033-295X.113.2.300</pub-id><pub-id pub-id-type="pmid">16637763</pub-id></citation></ref>
<ref id="B23"><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Fumiya</surname> <given-names>L.</given-names></name> <name><surname>Dravid</surname> <given-names>R.</given-names></name> <name><surname>Paul</surname> <given-names>C.</given-names></name></person-group> (<year>2002</year>). <article-title>&#x0201C;Design and control of a pendulum driven hopping robot,&#x0201D;</article-title> in <conf-name>Proceeding of the IEEE/RSJ International Conference on Intelligent Robots and Systems</conf-name> (<conf-loc>Lausanne</conf-loc>: <conf-sponsor>IROS</conf-sponsor>), <volume>3</volume>, <fpage>2141</fpage>&#x02013;<lpage>2146</lpage>.</citation></ref>
<ref id="B24"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Geng</surname> <given-names>T.</given-names></name> <name><surname>Porr</surname> <given-names>B.</given-names></name> <name><surname>W&#x000F6;rg&#x000F6;tter</surname> <given-names>F.</given-names></name></person-group> (<year>2006</year>). <article-title>Fast biped walking with a sensor-driven neuronal controller and real-time online learning</article-title>. <source>Int. J. Rob. Res.</source> <volume>25</volume>, <fpage>243</fpage>&#x02013;<lpage>259</lpage>.<pub-id pub-id-type="doi">10.1177/0278364906063822</pub-id></citation></ref>
<ref id="B25"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Gianluca</surname> <given-names>B.</given-names></name></person-group> (<year>2002</year>). <article-title>A modular neural-network model of the basal ganglias role in learning and selecting motor behaviours</article-title>. <source>Cogn. Syst. Res.</source> <volume>3</volume>, <fpage>5</fpage>&#x02013;<lpage>13</lpage>.<pub-id pub-id-type="doi">10.1016/S1389-0417(01)00039-0</pub-id></citation></ref>
<ref id="B26"><citation citation-type="book"><person-group person-group-type="author"><name><surname>Golubitsky</surname> <given-names>M.</given-names></name> <name><surname>Stewart</surname> <given-names>I.</given-names></name></person-group> (<year>2004</year>). <source>The Symmetry Perspective: From Equilibrium to Chaos in Phase Space and Physical Space (Progress in Mathematics)</source>. <publisher-loc>Basel</publisher-loc>: <publisher-name>Birkh&#x000E4;user Basel</publisher-name>.</citation></ref>
<ref id="B27"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Graybiel Ann</surname> <given-names>M.</given-names></name></person-group> (<year>2005</year>). <article-title>The basal ganglia: learning new tricks and loving it</article-title>. <source>Curr. Opin. Neurobiol.</source> <volume>15</volume>, <fpage>638</fpage>&#x02013;<lpage>644</lpage>.<pub-id pub-id-type="doi">10.1016/j.conb.2005.10.006</pub-id><pub-id pub-id-type="pmid">16271465</pub-id></citation></ref>
<ref id="B28"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Grillner</surname> <given-names>S.</given-names></name> <name><surname>Hellgren</surname> <given-names>J.</given-names></name> <name><surname>M&#x000E9;nard</surname> <given-names>A.</given-names></name> <name><surname>Saitoh</surname> <given-names>K.</given-names></name> <name><surname>Wikstr&#x000F6;m</surname> <given-names>M. A.</given-names></name></person-group> (<year>2005</year>). <article-title>Mechanisms for selection of basic motor programs roles for the striatum and pallidum</article-title>. <source>Trends Neurosci.</source> <volume>28</volume>, <fpage>364</fpage>&#x02013;<lpage>370</lpage>.<pub-id pub-id-type="doi">10.1016/j.tins.2005.08.003</pub-id><pub-id pub-id-type="pmid">15935487</pub-id></citation></ref>
<ref id="B29"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Grillner</surname> <given-names>S.</given-names></name> <name><surname>Wall&#x000E9;n</surname> <given-names>P.</given-names></name> <name><surname>Saitoh</surname> <given-names>K.</given-names></name> <name><surname>Kozlov</surname> <given-names>A.</given-names></name> <name><surname>Robertson</surname> <given-names>B.</given-names></name></person-group> (<year>2007</year>). <article-title>Review: neural bases of goal-directed locomotion in vertebrates-an overview</article-title>. <source>Brain Res. Rev.</source> <volume>57</volume>, <fpage>2</fpage>&#x02013;<lpage>12</lpage>.<pub-id pub-id-type="doi">10.1016/j.brainresrev.2007.06.027</pub-id><pub-id pub-id-type="pmid">17916382</pub-id></citation></ref>
<ref id="B30"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Hallemans</surname> <given-names>A.</given-names></name> <name><surname>De</surname> <given-names>C. lercqD.</given-names></name> <name><surname>Aerts</surname> <given-names>P.</given-names></name></person-group> (<year>2006</year>). <article-title>Changes in 3D joint dynamics during the first 5 months after the onset of independent walking: a longitudinal follow-up study</article-title>. <source>Gait Posture</source> <volume>24</volume>, <fpage>270</fpage>&#x02013;<lpage>279</lpage>.<pub-id pub-id-type="doi">10.1016/j.gaitpost.2006.11.185</pub-id><pub-id pub-id-type="pmid">16314099</pub-id></citation></ref>
<ref id="B31"><citation citation-type="book"><person-group person-group-type="author"><name><surname>Hooper</surname> <given-names>L.</given-names></name></person-group> (<year>2001</year>). <source>Central Pattern Generators</source>. <publisher-loc>Athens</publisher-loc>: <publisher-name>John Wiley and Sons Ltd</publisher-name>.</citation></ref>
<ref id="B32"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ijspeert</surname> <given-names>A. J.</given-names></name></person-group> (<year>2008</year>). <article-title>Central pattern generators for locomotion control in animals and robots: a review</article-title>. <source>Neural. Netw.</source> <volume>21</volume>, <fpage>642</fpage>&#x02013;<lpage>653</lpage>.<pub-id pub-id-type="doi">10.1016/j.neunet.2008.03.014</pub-id><pub-id pub-id-type="pmid">18555958</pub-id></citation></ref>
<ref id="B33"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Inada</surname> <given-names>H.</given-names></name> <name><surname>Ishii</surname> <given-names>K.</given-names></name></person-group> (<year>2004</year>). <article-title>Bipedal walk using a central pattern generator</article-title>. <source>Int. Congr. Ser.</source> <volume>1269</volume>, <fpage>185</fpage>&#x02013;<lpage>188</lpage>.<pub-id pub-id-type="doi">10.1016/j.ics.2004.05.129</pub-id></citation></ref>
<ref id="B34"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Joel</surname> <given-names>D.</given-names></name> <name><surname>Niv</surname> <given-names>Y.</given-names></name> <name><surname>Ruppin</surname> <given-names>E.</given-names></name></person-group> (<year>2012</year>). <article-title>Actor-critic models of the basal ganglia: new anatomical and computational perspectives</article-title>. <source>Neural. Netw.</source> <volume>15</volume>, <fpage>535</fpage>&#x02013;<lpage>547</lpage>.<pub-id pub-id-type="doi">10.1016/S0893-6080(02)00047-3</pub-id></citation></ref>
<ref id="B35"><citation citation-type="book"><person-group person-group-type="author"><name><surname>Kail</surname> <given-names>R. V.</given-names></name> <name><surname>Cavanaugh</surname> <given-names>J. C.</given-names></name></person-group> (<year>1996</year>). <source>Human Development</source>. <publisher-loc>Belmont</publisher-loc>: <publisher-name>Brooks/Cole Publishing</publisher-name>.</citation></ref>
<ref id="B36"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Kakade</surname> <given-names>S.</given-names></name></person-group> (<year>2002</year>). <article-title>A natural policy gradient</article-title>. <source>Adv. Neural Inf. Process Syst.</source> <volume>14</volume>, <fpage>1531</fpage>&#x02013;<lpage>1538</lpage>.</citation></ref>
<ref id="B37"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Khamassi</surname> <given-names>M.</given-names></name> <name><surname>Lach&#x000E8;ze</surname> <given-names>L.</given-names></name> <name><surname>Girard</surname> <given-names>B.</given-names></name> <name><surname>Berthoz</surname> <given-names>A.</given-names></name> <name><surname>Guillot</surname> <given-names>A.</given-names></name></person-group> (<year>2005</year>). <article-title>Actor-critic models of reinforcement learning in the basal ganglia: from natural to artificial rats</article-title>. <source>Adapt. Behav.</source> <volume>13</volume>, <fpage>131</fpage>&#x02013;<lpage>148</lpage>.<pub-id pub-id-type="doi">10.1177/105971230501300205</pub-id></citation></ref>
<ref id="B38"><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Khamassi</surname> <given-names>M.</given-names></name> <name><surname>Martinet</surname> <given-names>L.-E.</given-names></name> <name><surname>Guillot</surname> <given-names>A.</given-names></name></person-group> (<year>2006</year>). <article-title>&#x0201C;Combining self-organizing maps with mixtures of experts: Application to an actor-critic model of reinforcement learning in the basal ganglia,&#x0201D;</article-title> in <conf-name>From Animals to Animats 9, Proceedings</conf-name>, Vol. <volume>4095</volume>, eds <person-group person-group-type="editor"><name><surname>Nolfi</surname> <given-names>S.</given-names></name> <name><surname>Baldassarre</surname> <given-names>G.</given-names></name> <name><surname>Calabretta</surname> <given-names>R.</given-names></name> <name><surname>Hallam</surname> <given-names>J. C. T.</given-names></name> <name><surname>Marocco</surname> <given-names>D.</given-names></name> <name><surname>Meyer</surname> <given-names>J.-A.</given-names></name> <name><surname>Miglino</surname> <given-names>O.</given-names></name> <name><surname>Parisi</surname> <given-names>D.</given-names></name></person-group> (<conf-loc>Rome</conf-loc>: <conf-sponsor>Springer Berlin Heidelberg</conf-sponsor>), <fpage>394</fpage>&#x02013;<lpage>405</lpage>.<pub-id pub-id-type="doi">10.1007/11840541_33</pub-id></citation></ref>
<ref id="B39"><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Kimura</surname> <given-names>H.</given-names></name> <name><surname>Kobayashi</surname> <given-names>S.</given-names></name></person-group> (<year>1998</year>). <article-title>&#x0201C;An analysis of actor/critic algorithms using eligibility traces: reinforcement learning with imperfect value function,&#x0201D;</article-title> in <conf-name>Proceedings of the Fifteenth International Conference on Machine Learning (ICML 1998)</conf-name>, ed. <person-group person-group-type="editor"><name><surname>Shavlik</surname> <given-names>J. W.</given-names></name></person-group> (<conf-loc>Madison, WI</conf-loc>: <conf-sponsor>Morgan Kaufmann</conf-sponsor>), <volume>24</volume>, <fpage>278</fpage>&#x02013;<lpage>286</lpage>.</citation></ref>
<ref id="B40"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Konda</surname> <given-names>V. R.</given-names></name> <name><surname>Tsitsiklis</surname> <given-names>J. N.</given-names></name></person-group> (<year>2003</year>). <article-title>On actor-critic algorithms</article-title>. <source>SIAM J. Control Optim.</source> <volume>42</volume>, <fpage>1143</fpage>&#x02013;<lpage>1166</lpage>.<pub-id pub-id-type="doi">10.1137/S0363012901385691</pub-id></citation></ref>
<ref id="B41"><citation citation-type="book"><person-group person-group-type="author"><name><surname>Latash</surname> <given-names>M. L.</given-names></name></person-group> (<year>2008</year>). <source>Neurophysiological Basis of Movement</source>, <edition>2nd Edn</edition>. <publisher-loc>Champaign</publisher-loc>: <publisher-name>Human Kinetics</publisher-name>.</citation></ref>
<ref id="B42"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Lee</surname> <given-names>G.</given-names></name> <name><surname>Lowe</surname> <given-names>R.</given-names></name> <name><surname>Ziemke</surname> <given-names>T.</given-names></name></person-group> (<year>2011</year>). <article-title>Modelling early infant walking: testing a generic cpg architecture on the nao humanoid</article-title>. <source>IEEE Int. Conf. Dev. Learn.</source> <volume>2</volume>, <fpage>1</fpage>&#x02013;<lpage>6</lpage>.</citation></ref>
<ref id="B43"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Li</surname> <given-names>C.</given-names></name> <name><surname>Lowe</surname> <given-names>R.</given-names></name> <name><surname>Duran</surname> <given-names>B.</given-names></name> <name><surname>Ziemke</surname> <given-names>T.</given-names></name></person-group> (<year>2011</year>). <article-title>Humanoids that crawl: comparing gait performance of iCub and NAO using a CPG architecture</article-title>. <source>IEEE Int. Conf. Comput. Sci. Automat. Eng.</source> <volume>4</volume>, <fpage>577</fpage>&#x02013;<lpage>582</lpage>.<pub-id pub-id-type="doi">10.1142/S1465876303001794</pub-id></citation></ref>
<ref id="B44"><citation citation-type="book"><person-group person-group-type="author"><name><surname>Li</surname> <given-names>C.</given-names></name> <name><surname>Lowe</surname> <given-names>R.</given-names></name> <name><surname>Ziemke</surname> <given-names>T.</given-names></name></person-group> (<year>2012</year>). <article-title>&#x0201C;Modelling walking behaviors based on cpgs: a simplified bio-inspired architecture,&#x0201D;</article-title> in <source>From Animals to Animats 12, Volume 7426 of Lecture Notes in Computer Science</source>, eds <person-group person-group-type="editor"><name><surname>Ziemke</surname> <given-names>T.</given-names></name> <name><surname>Balkenius</surname> <given-names>C.</given-names></name> <name><surname>Hallam</surname> <given-names>J.</given-names></name></person-group> (<publisher-loc>Berlin</publisher-loc>: <publisher-name>Springer</publisher-name>), <fpage>156</fpage>&#x02013;<lpage>166</lpage>.</citation></ref>
<ref id="B45"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Lim</surname> <given-names>H.-O.</given-names></name> <name><surname>Yamamoto</surname> <given-names>Y.</given-names></name> <name><surname>Takanishi</surname> <given-names>A.</given-names></name></person-group> (<year>2002</year>). <article-title>Stabilization control for biped follow walking</article-title>. <source>Adv. Robot.</source> <volume>16</volume>, <fpage>361</fpage>&#x02013;<lpage>380</lpage>.<pub-id pub-id-type="doi">10.1163/15685530260174539</pub-id></citation></ref>
<ref id="B46"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Manoonpong</surname> <given-names>P.</given-names></name> <name><surname>Geng</surname> <given-names>T.</given-names></name> <name><surname>Kulvicius</surname> <given-names>T.</given-names></name> <name><surname>Porr</surname> <given-names>B.</given-names></name> <name><surname>W&#x000F6;rg&#x000F6;tter</surname> <given-names>F.</given-names></name></person-group> (<year>2007</year>). <article-title>Adaptive, fast walking in a biped robot under neuronal control and learning</article-title>. <source>PLoS Comput. Biol.</source> <volume>3</volume>:<fpage>e134</fpage>.<pub-id pub-id-type="doi">10.1371/journal.pcbi.0030134</pub-id></citation></ref>
<ref id="B47"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Matsubara</surname> <given-names>T.</given-names></name> <name><surname>Morimoto</surname> <given-names>J.</given-names></name> <name><surname>Nakanish</surname> <given-names>J.</given-names></name> <name><surname>Sato</surname> <given-names>M.-A.</given-names></name> <name><surname>Doya</surname> <given-names>K.</given-names></name></person-group> (<year>2006</year>). <article-title>Learning feedback pathway of cpg-based controller using policy gradient</article-title>. <source>Rob. Auton. Syst.</source> <volume>54</volume>, <fpage>911</fpage>&#x02013;<lpage>920</lpage>.<pub-id pub-id-type="doi">10.1016/j.robot.2006.05.012</pub-id></citation></ref>
<ref id="B48"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>McGeer</surname> <given-names>T.</given-names></name></person-group> (<year>1990</year>). <article-title>Passive dynamic walking</article-title>. <source>Int. J. Rob. Res.</source> <volume>9</volume>, <fpage>62</fpage>&#x02013;<lpage>82</lpage>.<pub-id pub-id-type="doi">10.1177/027836499000900206</pub-id></citation></ref>
<ref id="B49"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Michel</surname> <given-names>O.</given-names></name></person-group> (<year>2004</year>). <article-title>Webots: professional mobile robot simulation</article-title>. <source>J. Adv. Rob. Syst.</source> <volume>1</volume>, <fpage>39</fpage>&#x02013;<lpage>42</lpage>.</citation></ref>
<ref id="B50"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Mombaur</surname> <given-names>K.</given-names></name> <name><surname>Laumond</surname> <given-names>J. P.</given-names></name> <name><surname>Yoshida</surname> <given-names>E.</given-names></name></person-group> (<year>2010</year>). <article-title>An optimal control based formulation to determine natural locomotor paths for humanoid robots</article-title>. <source>Adv. Robot.</source> <volume>24</volume>, <fpage>515</fpage>&#x02013;<lpage>535</lpage>.<pub-id pub-id-type="doi">10.1163/016918610X487090</pub-id></citation></ref>
<ref id="B51"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Nakamura</surname> <given-names>Y.</given-names></name> <name><surname>Mori</surname> <given-names>T.</given-names></name> <name><surname>Sato</surname> <given-names>M. A.</given-names></name> <name><surname>Ishii</surname> <given-names>S.</given-names></name></person-group> (<year>2007</year>). <article-title>Reinforcement learning for a biped robot based on a CPG-actor-critic method</article-title>. <source>Neural. Netw.</source> <volume>20</volume>, <fpage>723</fpage>&#x02013;<lpage>735</lpage>.<pub-id pub-id-type="doi">10.1016/j.neunet.2007.01.002</pub-id><pub-id pub-id-type="pmid">17412559</pub-id></citation></ref>
<ref id="B52"><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Nassour</surname> <given-names>J.</given-names></name> <name><surname>Henaff</surname> <given-names>P.</given-names></name> <name><surname>Ouezdou</surname> <given-names>F. B.</given-names></name> <name><surname>Cheng</surname> <given-names>G.</given-names></name></person-group> (<year>2011</year>). <article-title>&#x0201C;Bipedal Locomotion Control with Rhythmic Neural Circuits,&#x0201D;</article-title> in <conf-name>Proceedings of International Workshop on Bio-Inspired Robots</conf-name>, <conf-loc>Nantes, France</conf-loc>.</citation></ref>
<ref id="B53"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Nassour</surname> <given-names>J.</given-names></name> <name><surname>Hugel</surname> <given-names>V.</given-names></name> <name><surname>Benouezdou</surname> <given-names>F.</given-names></name> <name><surname>Cheng</surname> <given-names>G.</given-names></name></person-group> (<year>2013</year>). <article-title>Qualitative adaptive reward learning with success failure maps: applied to humanoid robot walking</article-title>. <source>IEEE Trans. Neural Netw. Learn. Syst.</source> <volume>24</volume>, <fpage>81</fpage>&#x02013;<lpage>93</lpage>.<pub-id pub-id-type="doi">10.1109/TNNLS.2012.2224370</pub-id></citation></ref>
<ref id="B54"><citation citation-type="book"><person-group person-group-type="author"><name><surname>Orlovskii</surname> <given-names>G. N.</given-names></name> <name><surname>Deliagina</surname> <given-names>T. G.</given-names></name> <name><surname>Grillner</surname> <given-names>S.</given-names></name></person-group> (<year>1999</year>). <source>Neuronal Control of Locomotion: From Mollusc to Man</source>. <publisher-loc>Oxford</publisher-loc>: <publisher-name>Oxford University Press</publisher-name>.</citation></ref>
<ref id="B55"><citation citation-type="thesis"><person-group person-group-type="author"><name><surname>Peters</surname> <given-names>J.</given-names></name></person-group> (<year>2007</year>). <source>Machine learning of motor skills for robotics</source>. Ph.D. thesis, <publisher-name>Department of Computer Science, University of Southern California</publisher-name>.</citation></ref>
<ref id="B56"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Peters</surname> <given-names>J.</given-names></name> <name><surname>Schaal</surname> <given-names>S.</given-names></name></person-group> (<year>2006</year>). <article-title>Policy gradient methods for robotics</article-title>. <source>Rep. U S</source> <volume>2006</volume>, <fpage>2219</fpage>&#x02013;<lpage>2225</lpage>.</citation></ref>
<ref id="B57"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Peters</surname> <given-names>J.</given-names></name> <name><surname>Schaal</surname> <given-names>S.</given-names></name></person-group> (<year>2008</year>). <article-title>Natural actor-critic</article-title>. <source>Neurocomputing</source> <volume>71</volume>, <fpage>1180</fpage>&#x02013;<lpage>1190</lpage>.<pub-id pub-id-type="doi">10.1016/j.neucom.2007.11.026</pub-id></citation></ref>
<ref id="B58"><citation citation-type="book"><person-group person-group-type="author"><name><surname>Pfeifer</surname> <given-names>R.</given-names></name> <name><surname>Bongard</surname> <given-names>J. C.</given-names></name></person-group> (<year>2006</year>). <source>How the Body Shapes the Way We Think: A New View of Intelligence</source>. <publisher-loc>Cambridge, MA</publisher-loc>: <publisher-name>The MIT Press</publisher-name>.</citation></ref>
<ref id="B59"><citation citation-type="thesis"><person-group person-group-type="author"><name><surname>Righetti</surname> <given-names>L.</given-names></name></person-group> (<year>2008</year>). <source>Control of legged locomotion using dynamical systems</source>. Ph.D. thesis, <publisher-name>EPFL</publisher-name>, <publisher-loc>Lausanne</publisher-loc>.</citation></ref>
<ref id="B60"><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Righetti</surname> <given-names>L.</given-names></name> <name><surname>Ijspeert</surname> <given-names>A.</given-names></name></person-group> (<year>2006</year>). <article-title>&#x0201C;Design methodologies for central pattern generators: an application to crawling humanoids,&#x0201D;</article-title> in <conf-name>Proceedings of Robotics: Science and Systems</conf-name>, <conf-loc>Philadelphia</conf-loc>.</citation></ref>
<ref id="B61"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Rybak</surname> <given-names>I. A.</given-names></name> <name><surname>Shevtsova</surname> <given-names>N. A.</given-names></name> <name><surname>Lafreniere-Roula</surname> <given-names>M.</given-names></name> <name><surname>McCrea</surname> <given-names>D. A.</given-names></name></person-group> (<year>2006</year>). <article-title>Modelling spinal circuitry involved in locomotor pattern generation: insights from deletions during fictive locomotion</article-title>. <source>J. Physiol.</source> <volume>577</volume>, <fpage>617</fpage>&#x02013;<lpage>639</lpage>.<pub-id pub-id-type="doi">10.1113/jphysiol.2006.118711</pub-id><pub-id pub-id-type="pmid">17008376</pub-id></citation></ref>
<ref id="B62"><citation citation-type="book"><person-group person-group-type="author"><name><surname>Sato</surname> <given-names>M.</given-names></name> <name><surname>Ishii</surname> <given-names>S.</given-names></name></person-group> (<year>1998</year>). <article-title>&#x0201C;Reinforcement learning based on on-line em algorithm,&#x0201D;</article-title> in <source>Neural Information Processing Systems</source>, Vol. <volume>11</volume>, eds <person-group person-group-type="editor"><name><surname>Kearns</surname> <given-names>M. J.</given-names></name> <name><surname>Solla</surname> <given-names>S. A.</given-names></name> <name><surname>Cohn</surname> <given-names>D. A.</given-names></name></person-group> (<publisher-loc>Denver</publisher-loc>: <publisher-name>MIT Press</publisher-name>), <fpage>1052</fpage>&#x02013;<lpage>1058</lpage>.</citation></ref>
<ref id="B63"><citation citation-type="book"><person-group person-group-type="author"><name><surname>Schore</surname> <given-names>A. N.</given-names></name></person-group> (<year>2012</year>). <source>Affect Regulation and the Origin of the Self: The Neurobiology of Emotional Development</source>. <publisher-loc>Hillsdale</publisher-loc>: <publisher-name>Taylor and Francis</publisher-name>.</citation></ref>
<ref id="B64"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Schultz</surname> <given-names>W.</given-names></name></person-group> (<year>1998</year>). <article-title>Predictive reward signal of dopamine neurons</article-title>. <source>J. Neurophysiol.</source> <volume>80</volume>, <fpage>1</fpage>&#x02013;<lpage>27</lpage>.<pub-id pub-id-type="pmid">9658025</pub-id></citation></ref>
<ref id="B65"><citation citation-type="book"><person-group person-group-type="author"><name><surname>Strom</surname> <given-names>J.</given-names></name> <name><surname>Slavov</surname> <given-names>G.</given-names></name> <name><surname>Chown</surname> <given-names>E.</given-names></name></person-group> (<year>2009</year>). <article-title>&#x0201C;Omnidirectional walking using zmp and preview control for the nao humanoid robot,&#x0201D;</article-title> in <source>RoboCup, Volume 5949 of Lecture Notes in Computer Science</source>, eds <person-group person-group-type="editor"><name><surname>Baltes</surname> <given-names>J.</given-names></name> <name><surname>Lagoudakis</surname> <given-names>M. G.</given-names></name> <name><surname>Naruse</surname> <given-names>T.</given-names></name> <name><surname>Ghidary</surname> <given-names>S. S.</given-names></name></person-group> (<publisher-loc>Berlin</publisher-loc>: <publisher-name>Springer</publisher-name>), <fpage>378</fpage>&#x02013;<lpage>389</lpage>.</citation></ref>
<ref id="B66"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Sutton</surname> <given-names>R. S.</given-names></name> <name><surname>McAllester</surname> <given-names>D.</given-names></name> <name><surname>Singh</surname> <given-names>S.</given-names></name> <name><surname>Mansour</surname> <given-names>Y.</given-names></name></person-group> (<year>2000</year>). <article-title>Policy gradient methods for reinforcement learning with function approximation</article-title>. <source>Adv. Neural Inf. Process. Syst</source>. <volume>12</volume>. <fpage>1057</fpage>&#x02013;<lpage>1063</lpage>.</citation></ref>
<ref id="B67"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Taga</surname> <given-names>G.</given-names></name></person-group> (<year>1998</year>). <article-title>A model of the neuro-musculo-skeletal system for anticipatory adjustment of human locomotion during obstacle avoidance</article-title>. <source>Biol. Cybern.</source> <volume>78</volume>, <fpage>9</fpage>&#x02013;<lpage>17</lpage>.<pub-id pub-id-type="doi">10.1007/s004220050408</pub-id><pub-id pub-id-type="pmid">9485584</pub-id></citation></ref>
<ref id="B68"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Takamitsu</surname> <given-names>M.</given-names></name> <name><surname>Morimoto</surname> <given-names>J.</given-names></name> <name><surname>Nakanishi</surname> <given-names>J.</given-names></name> <name><surname>Sato</surname> <given-names>M.-A.</given-names></name> <name><surname>Doya</surname> <given-names>K.</given-names></name></person-group> (<year>2007</year>). <article-title>Learning a dynamic policy by using policy gradient: application to biped walking</article-title>. <source>Syst. Comput. Jpn.</source> <volume>38</volume>, <fpage>25</fpage>&#x02013;<lpage>38</lpage>.<pub-id pub-id-type="doi">10.1002/scj.20781</pub-id></citation></ref>
<ref id="B69"><citation citation-type="book"><person-group person-group-type="author"><name><surname>Thelen</surname> <given-names>E.</given-names></name> <name><surname>Smith</surname> <given-names>L. B.</given-names></name></person-group> (<year>1996</year>). <source>A Dynamic Systems Approach to the Development of Cognition and Action</source>. <publisher-loc>Cambridge</publisher-loc>: <publisher-name>The MIT Press</publisher-name>.</citation></ref>
<ref id="B70"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Thomas</surname> <given-names>M.</given-names></name> <name><surname>Schweigart</surname> <given-names>G.</given-names></name> <name><surname>Fennell</surname> <given-names>L.</given-names></name></person-group> (<year>2009</year>). <article-title>Vestibular humanoid postural control</article-title>. <source>J. Physiol. Paris</source> <volume>103</volume>, <fpage>178</fpage>&#x02013;<lpage>194</lpage>.<pub-id pub-id-type="doi">10.1016/j.jphysparis.2009.08.002</pub-id><pub-id pub-id-type="pmid">19665555</pub-id></citation></ref>
<ref id="B71"><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>van Hasselt</surname> <given-names>H.</given-names></name> <name><surname>Wiering</surname> <given-names>M. A.</given-names></name></person-group> (<year>2007</year>). <article-title>&#x0201C;Reinforcement Learning in Continuous Action Spaces,&#x0201D;</article-title> in <conf-name>Proceedings of the IEEE International Symposium on Approximate Dynamic Programming and Reinforcement Learning 2007 ADPRL 2007</conf-name>, <fpage>272</fpage>&#x02013;<lpage>279</lpage>.</citation></ref>
<ref id="B72"><citation citation-type="thesis"><person-group person-group-type="author"><name><surname>van Hasselt</surname> <given-names>H. P.</given-names></name></person-group> (<year>2011</year>). <source>Insights in Reinforcement Learning: Formal Analysis and Empirical Evaluation of Temporal-Difference Learning Algorithms</source>. Ph.D. thesis, SIKS Dissertation series, 2011.</citation></ref>
<ref id="B73"><citation citation-type="book"><person-group person-group-type="author"><name><surname>Wiering</surname> <given-names>M.</given-names></name> <name><surname>van Otterlo</surname> <given-names>M.</given-names></name></person-group> (<year>2012</year>). <source>Reinforcement Learning: State-of-the-Art (Adaptation, Learning, and Optimization)</source>. <publisher-loc>Berlin</publisher-loc>: <publisher-name>Springer</publisher-name>.</citation></ref>
</ref-list>
<fn-group>
<fn id="fn1"><p><sup>1</sup>The 2D or 3D means a coordination system fixed on the torso of a robot. It has three axes: X (Pitch: pointing to front), Y(Roll: pointing to right), Z(Vertical: pointing upwards).</p></fn>
</fn-group>
</back>
</article>