Relational Reinforcement Learning with Continuous Actions by Combining Behavioural Cloning and Locally Weighted Regression

Reinforcement Learning is a commonly used technique for learning tasks in robotics, however, traditional algorithms are unable to handle large amounts of data coming from the robot's sensors, require long training times, and use discrete actions. This work introduces TS-RRLCA, a two stage method to tackle these problems. In the first stage, low-level data coming from the robot's sensors is transformed into a more natural, relational representation based on rooms, walls, corners, doors and obstacles, significantly reducing the state space. We use this representation along with Be-havioural Cloning, i.e., traces provided by the user; to learn, in few iterations, a relational control policy with discrete actions which can be re-used in different environments. In the second stage, we use Locally Weighted Regression to transform the initial policy into a continuous actions policy. We tested our approach in simulation and with a real service robot on different environments for different navigation and following tasks. Results show how the policies can be used on different domains and perform smoother, faster and shorter paths than the original discrete actions policies.


Introduction
Nowadays it is possible to find service robots for many different tasks like entertainment, assistance, maintenance, cleanse, transport, guidance, etc. Due to the wide range of services that they provide, the incorporation of service robots in places like houses and offices has increased in recent years.Their complete incorporation and acceptance, however, will depend on their capability to learn new tasks.Unfortunately, programming service robots for learning new tasks is a complex, specialized and time consuming process.
An alternative and more attractive approach is to show the robot how to perform a task, rather than trying to program it, and let the robot to learn the fine details of how to perform the task.This is the approach that we follow on this paper.
Reinforcement Learning (RL) [1] has been widely used and suggested as a good candidate for learning tasks in robotics, e.g., [2][3][4][5][6][7][8][9].This is mainly because it allows an agent, i.e., the robot, to "autonomously" develop a control policy for performing a new task while interacting with its environment.The robot only needs to know the goal of the task, i.e., the final state, and a set of possible actions associated with each state.
The use and application of traditional RL techniques however, has been hampered by four main aspects: 1) vast amount of data produced by the robot's sensors, 2) large search spaces, 3) the use of discrete actions, and 4) the inability to re-use previously learned policies in new, although related, tasks.
Robots are normally equipped with laser range sensors, rings of sonars, cameras, etc., all of which produce a large number of readings at high sample rates creating problems to many machine learning algorithms.
Large search spaces, on the other hand, produce very long training times which is a problem for service robots where the state space is continuous and a description of a state may involve several variables.Researchers have proposed different strategies to deal with continuous state and action spaces, normally based on a discretization of the state space with discrete actions or with function approximation techniques.However, discrete actions produce unnatural movements and slow paths for a robot and function approximation techniques tend to be com-putationally expensive.Also, in many approaches, once a policy has been learned to solve a particular task, it cannot be re-used on similar tasks.
In this paper, TS-RRLCA (Two-Stage Relational Reinforcement Learning with Continuous Actions), a twostage method that tackles these problems, is presented.In the first stage, low-level information from the robot's sensors is transformed into a relational representation to characterize a set of states describing the robot's environment.With these relational states we applied a variant of the Q-learning algorithm to develop a relational policy with discrete actions.It is shown how the policies learned with this representation framework are transferable to other similar domains without further learning.We also use Behavioural Cloning [10], i.e., human traces of the task, to consider only a subset of the possible actions per state, accelerating the policy learning process and obtaining a relational control policy with discrete actions in a few iterations.In the second stage, the learned policy is transformed into a relational policy with continuous actions through a fast Locally Weighted Regression (LWR) process.
The learned policies were successfully applied to a simulated and a real service robot for navigation and following tasks with different scenarios and goals.Results show that the continuous actions policies are able to produce smoother, shorter, faster and more similar paths to those produced by humans than the original relational discrete actions policies.
This paper is organized as follows.Section 2 describes related work.Section 3 introduces a process to reduce the data coming from the robot's sensors.Section 4 describes our relational representation to characterize states and actions.Sections 5 and 6 describe, respectively, the first and second stages of the proposed method.Section 7 shows experiments and results, Section 8 presents some discussion about our method and the experimental results, and Section 9 concludes and suggests future research directions.

Related Work
There is a vast amount of literature describing RL techniques in robotics.In this section we only review the most closely related work to our proposal.
In [8] a method to build relational macros for transfer learning in robot's navigation tasks is introduced.A macro consists of a finite state machine, i.e., a set of nodes along with rulesets for transitions and action choices.In [11], a proposal to learn relational decision trees as abstract navigation strategies from example paths in presented.These two approaches use relational representations to transfer learned knowledge and use training examples to speed up learning, however, they only consider discrete actions.
In [9], the authors introduced a method that temporarily drives a robot which follows certain initial policy while some user commands play the role of training input to the learning component, which optimizes the autonomous control policy for the current task.In [2], a robot is tele-operated to learn sequences of state-action pairs that show how to perform a task.These methods reduce the computational costs and times for developing its control scheme, but they use discrete actions and are unable to transfer learned knowledge.
An alternative to represent continuous actions is to approximate a continuous function over the state space.The work developed in [12] is a Neural Network coupled with an interpolation technique that approximates Qvalues to find a continuous function over all the search space.In [13], the authors use Gaussian Processes for learning a probabilistic distribution for a robot navigation problem.The main drawback of these methods is the computational costs and the long training times as they try to generate a continuous function over all of the search space.
Our method learns, through a relational representation, relational discrete actions policies able to transfer knowledge between similar domains.We also speed up and simplify the learning process by using traces provided by the user.Finally we use a fast LWR to transform the original discrete actions policy into a continuous actions policy.In the following sections we describe in detail the proposed method.

Natural Landmarks Representation
A robot senses and returns large amounts of data readings coming from its sensors while performing a task.In order to produce a smaller set of meaningful information TS-RRLCA uses a process based on [14,15] In [14] the authors described a process able to identify three kinds of natural landmarks through laser sensor readings: 1) discontinuities, defined as an abrupt variation in the measured distance of two consecutive laser readings (Figure 1(a)), 2) walls, identified using the Hough transform (Figure 1(c)), and 3) corners, defined as the location where two walls intersect and form an angle (Figure 1(d)).We also add obstacles identified through sonars and defined as any detected object within certain range (Figure 1

(e)).
A natural landmark is represented by a tuple of four attributes: (DL, θL, A, T).DL and θL are, respectively, the relative distance and orientation from the landmark to the robot.T is the type of landmark: l for left discontinuity, r for right discontinuity (see Figure 1(b)), c for corner, w for wall and o for obstacle.A is a distinctive attribute and its value depends on the type of landmark; for discontinuities A is depth (dep) and for walls A is its Behavioural Cloning and Locally Weighted Regression In [15] the data from laser readings is used to feed a clustering-based process which is able to identify the robot's actual location such as room, corridor and/or intersection (the location where rooms and corridors meet).Figure 2 shows examples of the resulting location classification process.Table 1 shows an example of the data after applying these processes to the laser and sonar readings from Figure 3.The robot's actual location in this case is in-room.
The natural landmarks along with the robot's actual location are used to characterize the relational states that describe the environment.

Relational Representations for States and Actions
A relational representation for states and actions has the advantage that it can produce relational policies that can be re-used in other, although similar, domains without any further learning.The idea it to represent states as sets of properties that can be used to characterize a particular situation which may be common to other states.For example, suppose the robot has some predicates that are able to recognize a room from its sensors' readings.If the robot has learned a policy to exit a room, then it can apply it to exit any recognizable room regardless of the current environment.
A relational state (r-state) is a conjunction of first order predicates.Our states are characterized by the following predicates which receive as parameters a set of values such as those shown in Table 1.
1) place: This predicate returns the robot's location, which can be in-room, in-door, in-corridor and inintersection.For example, if the following discontinuities are obtained from the robot's sensors (shown in This predicate corresponds to the orientation and distance descriptions of a detected door (shown in Figure 3), and for every pair of right and left discontinuities a list with these orientation and distance descriptions is generated.
3) walls-detected: This predicate returns the length, orientation and distance to walls (type w landmarks).Possible values for wall's length are: small (length between 0.15 m and 1.5 m), medium (1.5 m to 4.0 m) and large (wall's size or length > 4.0 m).The discrete values used for orientation and distance are the same as with doors and the same goes for predicates corners-detected and obstacles-detected described below.
4) corners-detected: This predicate returns the orientation and distance to corners (type c landmarks).
5) obstacles-detected: This predicate returns the orientation and distance to obstacles (type o landmarks).
6) goal-position: This predicate returns the relative orientation and distance between the robot and the current goal.Receives as parameter the robot's current position and the goal's current position, though a trigonometry process, the orientation and distance values are calculated and then discretized as same as with doors.
7) goal-reached: This predicate indicates if the robot is in its goal position.Possible values are true or false.
The previous predicates tell the robot if it is in a room, a corridor or an intersection, detect walls, corners, doors, obstacles and corridors and give a rough estimate of the direction and distance to the goal.Analogous to r-states, r-actions are conjunctions of the following first order logic predicates that receive as parameters the odometer's speed and angle readings.Table 2 shows an r-state-r-action pair generated with the previous predicates which corresponds to the values from Table 1.As can be seen, some of the r-state predicates (doors, walls, corners and obstacles detection) besides returning the nominal descriptions; they also return the numerical values of every detected element.The r-action predicates also return the odometer's speed and the robot's turning angle.These numerical values are used in the second stage of the method as described in Section 6.The discretized or nominal values, i.e., the r-states and r-actions descriptions, are used to learn a relational policy through rQ-learning as described below.

TS-RRLCA First Stage
TS-RRLCA starts with a set of human traces of the task that we want the robot to learn.A trace Τ k = {f k1 , f k2 , …, f kn } is a log of all the odometer, laser and sonar sensor's readings of the robot while it is performing a particular task.A trace-log is divided in frames; every frame is a register with all the low-level values of the robot's sensors (f kj = {laser1 = 2.25, laser2 = 2.27, laser3 = 2.29, …, sonar1 = 3.02, sonar2 = 3.12, sonar3 = 3.46, …, speed = 0.48, angle = 87.5}) at a particular time.
Once a set of traces (Τ 1 , Τ 2 , ..., Τ m ) has been given to TS-RRLCA, every frame in the traces, is transformed into natural landmarks along with the robot's location.This transformed frames are given to the first order predicates to evaluate the set of relations, i.e., generate the corresponding r-state and r-action (as the one shown in Table 2).By doing this, every frame from the traces corresponds to an r-state-r-action pair and every one of these pairs is stored in a database (DB).Algorithm 1 gives the pseudo-code for this Behavioural Cloning (BC) approach.At the end of this BC approach, the DB contains r-state-r-action pairs corresponding to all the frames in the set of traces.
As the traces correspond to different examples of the same task and as they might have been generated by different users, there can be several r-actions associated to the same r-state.RL is used to develop a control policy that selects the best r-action in each r-state.

Relational Reinforcement Learning
The RL algorithm selects the r-action that produces the greatest expected accumulated reward among the possible r-actions in each r-state.Since we only used information from traces only a subset of all the possible r-actions, for every r-state, are considered which significantly reduces the search space.In a classical reinforcement learning framework a set of actions (A) is predefined for all of the possible states (S).Every time the agent reaches a new state, it must select one action from all of the possible actions in S to reach a new state.In our RL approach when the robot reaches a new r-state, it chooses one action from a subset of r-actions performed in that r-state in the traces.
In order to execute actions, each time the robot reaches an r-state, it retrieves from the DB the associated r-actions.It chooses one according to its policy and the associated nominal value of the selected r-action is transformed into one of the following values: 1) For the predicate go, if the description of the r-action is front the corresponding value is 0.5 m/s, for back the corresponding value is -0.5 m/s, and for nil the value is 0.0 m/s.
Once the r-action has been chosen and executed the robot gets into a new r-state and the previous process is repeated until reaching a final r-state.
Algorithm 2 gives the pseudo-code for this rQ-learning approach.This is very similar to the Q-learning algorithm, except that the states and actions are characterized by relations.
By using only the r-state-r-action pairs from the traces (stored in the DB) our policy generation process is very fast and thanks to our relational representation, policies can be transferred to different, although similar office or Transform s t into its corresponding natural landmarks and into the corresponding robot's location.S t ← r-state (s t )% Use those natural landmarks and the robot's location to get the corresponding r-state (through the first order predicates).
for each step of the episode do Search the r-state (S t ) description in DB.
for each register in DB which contains the r-state (S t ) description do Get its corresponding r-actions

End for
Select an r-action A t to be executed in S t trough an action selection policy (e.g., ε-greedy).

Execute action A t , observe r t+1 and s t+1
Transform s t+1 into its corresponding natural landmarks and into the corresponding robot's location.S t+1 ← r-state (s t+1 )% Use those natural landmarks and the robot's location to get the corresponding r-state (through the first order predicates).house-like environments.In the second stage, this discrete actions policy is transformed into a continuous actions policy.

TS-RRLCA Second Stage
This second stage refines the coarse actions from the previously generated discrete actions policy.This is achieved using Locally Weighted Regression (LWR).
The idea is to combine discrete actions' values given by the policy obtained in the first stage with the action's values previously observed in the traces.This way the robot follows the policy, developed in the first stage, but the actions are tuned through a LWR process.What we do is to detect the robot's actual r-state, then, for this r-state the previously generated discrete actions policy determines the action to be executed (Figure 4(a)).Before performing the action, the robot searches in the DB for all the registers that share this same r-state description (Figure 4(b)).Once found, the robot gets all of the numeric orientation and distance values from these registers.This orientation and distance values are used to perform a triangulation process.This process allows us to estimate the relative position of the robot from previous traces with respect to the robot's actual position.Once this position has been estimated, a weight is assigned to the previous traces action's values.This weight depends on the distance of the robot from the traces with respect to the actual robot's position (Figure 4(c)).These weights are used to perform the LWR that produces continuous r-actions (Figure 4(d)).
The triangulation process is performed as follows.The robot R in the actual r-state (Figure 5(a)), senses and detects elements E and E' (which can be a door, a corner, a wall, etc.).Each element has a relative distance (a and These four equations give the relative distance (d) between R and R'.Once this value is calculated, a kernel is used to assign a weight (w).This weight is multiplied by the speed and angle values of the R' robot's r-action.The resulting weighted speed and angle values are then added to the R robot's speed and angle values.This process is applied to every register read from the DB whose r-state description is the same as R and is repeated every time the robot reaches a new r-state.
To summarize this process, each time the robot reaches an r-state and chooses an r-action according to the learned policy; it retrieves from the DB all the registers that share the same r-state.It uses the numerical values of the retrieved r-states to evaluate the relative distance of the position of the robot in a trace to the position of the robot in the actual r-state.Once all the distance values (di) are calculated we apply a Gaussian kernel (Equation ( 5)) to obtain a weight w i .We tried different kernels, e.g., Tricubic kernel, and results were better with Behavioural Cloning and Locally Weighted Regression Gaussian kernel but further tests are needed.

( ) exp(
) Then, every weight w i is multiplied by the corresponding speed and angle values (w i × speed DBi and w i × angle DBi ) of the r-state-r-action pairs retrieved from the DB.The resulting values are added to the discrete r-action (rA t = {disc_speed, disc_angle}) values of the policy obtained in the first stage in order to transform this discrete r-action into a continuous action (Equations ( 6) and ( 7)) that is finally executed by the robot.This process is performed in real-time every time the robot reaches a new r-state.
The weights are directly related to the distances between the robots in the actual r-state to the r-states to the robot in the human traces stored in the DB.The closer the human traces registers are to the robot's actual position, the higher the influence they have in transforming the discrete action into a continuous action.
The main advantage of our approach is the simple and fast strategy to produce continuous actions policies that, as will be seen in the following section, are able to produce smoother and shorter paths in different environments.

Experiments
For testing purposes, two types of experiments were performed: 1) Learning Curves: In these experiments we compared the number of iterations it takes our method TS-RRLCA to learn a policy against classical Reinforcement Learning (RL) and against the rQ-learning algorithm (shown in Algorithm 2) without using Behavioural Cloning approach, which we will refer to as Relational Reinforcement Learning (RRL).
2) Performance: In these experiments we compared the performance of the policies learned through TS-RRLCA with discrete actions against the policies learned through TS-RRLCA with continuous actions.Particularly we tested: How close the tasks are to the tasks performed by the user and how close the tasks are from obstacles in the environment.
3)Execution times.These experiments were carried out in simulation (Player/Stage [16]) and with a real robot which is an ActivMedia GuiaBot (www.activrobots.com).
Both robots (simulated and real) are equipped with a 180° front laser sensor and an array of four back sonars (located at -170°, -150°, 150° and 170°).
The laser range is 8.0 m and for the sonars is 6.0 m.The tasks in these experiments are "navigating through the environment" and "following an object".
The policy generation process was carried out in the map shown in Figure 6 (Map 1 with size 15.0 m × 9.0 m).For each of the two tasks a set of 20 traces was generated by the user.For the navigation tasks, the robot and the goal's global position (for the goal-position predicate) were calculated using the work developed in [14].For the following tasks we used a second robot which orientation and angle were calculated through the laser sensor.Figure 6 shows an example of navigation and a following trace.
To every set of traces, we applied our approach to abstract the r-states and induce the subsets of relevant ractions.Then, rQ-learning was applied to learn the policies.For generating the policies, Q-values were initialized to -1, ε = 0.1, γ = 0.9 and α = 0.1.Positive reinforcement, r (+100) was given when reaching a goal (within 0.5 m), negative reinforcement (-20) was given when the robot hits an element and no reward value was given otherwise (0).

Learning Curves
Our method (TS-RRLCA) was compared in the number of iterations it takes to develop a control policy, against classical reinforcement learning (RL) and against the rQ-learning algorithm described in Algorithm 2, considering all the possible r-actions (the 8 r-actions, shown in Section 4) per r-state (RRL).
For developing the "navigating through the environment" policy with RL we discretized the state and action space as follows: the training Map 1, depicted in Figure 6, was divided in states of 25 cm 2 .Since this map's size is 15 m × 9 m, the number of states is 2,160.In every state, one of the next 8 actions can be chosen to get into a new state which gives a total of 17,280 state-action pairs (This set of 8 actions correspond to the set of 8 r-actions we used in our rQ-learning algorithm).
For developing the navigation policy with RRL we have 655 r-states with 8 possible r-actions for each r-state, this gives a total of 5,240 possible r-state-r-action pairs.The number of r-states corresponds to the total number of r-states in which the training map can be divided.
For developing the navigation policy with TS-RRLCA we used 20 navigation traces from which 934 r-stater-action pairs were obtained.As can be seen, by using our Behavioural Cloning approach we significantly reduced the number of state-action pairs to consider in the learning process.
In each trace, every time our program performed a robot's sensors reading, which includes laser, sonars and odometer, we first transformed the laser and sonar readings into natural landmarks (as described in Section 3).These natural landmarks are sent to the predicates to generate the corresponding r-state, the corresponding r-action is generated by using the odometer's readings (as described in Section 4).This gives an r-state-r-action pair such as the one shown in Table 2.
Figure 7(a) shows the learning curves of RL, RRL and TS-RRLCA for a navigation policy.They show the accumulated Q-values every 1,000 iterations.As can be seen from this figure, the number of iterations for developing an acceptable navigation policy with TS-RRLCA is very low when compared to RRL and is significantly lower when compared to RL.It should be noted that the navigation policy learned with RL only works for going to a single destination state while the policies learned with our relational representation can be used to reach  For developing the "following an object" policy, the number of r-state-r-action pairs using our relational representation (RRL) is 3,149, while the number of r-stater-action pairs using the same representation but with behavioural cloning (TS-RRLCA) is 1,406, obtained from 20 traces.For the following policy we only compared our approach against RRL.
Figure 7(b) shows the learning curves of these two methods.As can be seen the number of iterations that our method needs to generate an acceptable following policy is much lower than RRL.
To generate the continuous actions policies, LWR was applied using the Gaussian kernel for estimating weights.In the next section we compare the traces performed with the discrete actions policy with those using continuous actions.Figure 8 shows navigation (on the top) and a following task (on the bottom) performed with discrete and con-tinuous actions policies respectively.

Performance Tests
Figure 9 shows navigation and a following task performed with the real robot, with the discrete and with the continuous actions policy.
As we only use the r-state-r-action pairs from the traces developed by the user in Map 1 (as the ones shown in Figure 6), when moving the robot to the new environments (Map 2 and Map 3), sometimes, it was not able to match the new map's r-state with one of the previously visited states by the user in the traces examples.So when the robot reached an unseen r-state, it asked the user for guidance.Through a joystick, the user indicates the robot which r-action to execute in the unseen r-state and the robot saves this new r-state-r-action pair in the DB.Once the robot reaches a known r-state, it continues its task.As the number of experiments increased in these new maps, the number of unseen r-states was reduced.Table 3 shows the number of times the robot asked for guidance in each map and with each policy.All of the tasks performed in the experiments with the real robot, were also performed by a human using a joystick (Figures 9(c) and 9(f)), and logs of the paths were saved.The graphic shows the normalized quadratic error between these logs and the trajectories followed by the robot with the learned policy.
Figure 10(b) shows results in terms of how closer the robot gets to obstacles.This comparison is made using the work developed in [17].In that work, values were given to the robot accordingly to its proximity to objects or walls.The closer the robot is to an object or wall the higher cost it is given.Values were given as follows: if the robot is very close to an object (between 0 m and 0.3 m) a value of -100 is given, if the robot is close to an object (between 0.3 m and 1.0 m) a value of -3 is given, if the robot is near an object (between 1.0 m and 2.0 m) a value of -1 is given, otherwise a value of 0 is given.As can be seen in the figure, quadratic error and penalty values for continuous actions policies are lower than those with discrete actions.
Policies developed with this method allow a close-tohuman execution of the tasks and tend to use the available free space in the environment.

Execution Times
Execution times with the real robot were also registered.We compared the time that takes to the robot to perform a tasks with discrete actions against tasks performed with  As can be seen in Figure 11, continuous actions policies execute faster paths than the discrete actions policy despite our triangulation and LWR processes.

Discussion
In this work, we introduced a method for teaching a robot how to perform a new task from human examples.Experimentally we showed that tasks learned with this method and performed by the robot are very similar to those tasks when performed by humans.Our two-stage method learns, in the first stage, a rough control policy which, in the second stage, is refined, by means of Locally Weighted Regression (LWR), to perform continuous actions.Given the nature of our method we can not guaranteed to generate optimal policies.There are two reasons why this can happen: 1) the actions performed by the user in the traces may not part of the optimal policy.In this case, the algorithm will follow the best policy given the known actions but will not be able to generate an optimal policy.2) The LWR approach can take the robot to states that are not part of the optimal policy, even if they are smoother and closer to the user's paths.This has not represented a problem in the experiments that we performed.
With the Behavioural Cloning approach we observed around a 75% reduction in the state-action space.This reduction depends on the traces given by the user and on the training environment.In a hypothetical optimal case, where a user always performs the same action in the same state, the system only requires to store one action per state.This, however, is very unlikely to happen due to the continuous state and action space and the uncertainty in the outcomes of the actions perform with a robot.

Conclusions and Future Work
In this paper we described an approach that automatically transformed in real-time low-level sensor information into a relational representation.We used traces provided by a user to constraint the number of possible actions per state and use a reinforcement learning algorithm over this relational representation and restricted state-action space to learn in a few iterations a policy.Once a policy is learned we used LWR to produce a continuous actions policy in real time.It is shown that the learned policies with continuous actions are more similar to those performed by users (smoother), and are safer and faster than the policies obtained with discrete actions.Our relational policies are expressed in terms of more natural descriptions, such as rooms, corridors, doors, walls, etc., and can be re-used for different tasks and on different house or office-like environments.The policies were learned on a simulated environment and later tested on a different simulated environment and on an environment with a real robot with very promising results.
There are several future research directions that we are considering.In particular, we would like to include an exploration strategy to identify non-visited states to complete the traces provided by the user.We are also exploring the use of voice commands to indicate the robot which action to take when it reaches an unseen state.

Figure 1 .
Figure 1.Natural landmarks types and associated attributes, (a) discontinuity detection; (b) discontinuity Types; (c) wall detection; (d) corner detection; (e) wall detection length (len), for all of the other landmarks the A attribute is not used.In[15] the data from laser readings is used to feed a clustering-based process which is able to identify the robot's actual location such as room, corridor and/or intersection (the location where rooms and corridors meet).Figure2shows examples of the resulting location classification process.Table1shows an example of the data after applying these processes to the laser and sonar readings from Figure 3.The robot's actual location in this case is in-room.The natural landmarks along with the robot's actual location are used to characterize the relational states that describe the environment.

Figure 3 .
Figure 3. Robot sensing its environment through laser and sonar sensors and corresponding natural landmarks

Algorithm 1 .
Behavioural cloning algorithm Require: T 1 , T 2 , …T n : Set of n traces with examples of the task the robot has to learn.Ensure: DB: r-state-r-action pairs database.fori = 1 to n do k ← number of frames in the trace i for j = 1 to k do Transform frame ij (frame j from trace i) into their corresponding natural landmarks and into the corresponding robot's location.Use the natural landmarks and the robot's location to get the corresponding r-state (through the first order predicates).Use the robot's speed and angle to get the corresponding r-action.DB ← DB∪{r-state, r-action}.% Each register in DB contains an r-state with its corresponding r-action End for End for Algorithm 2. rQ-learning algorithm Require: DB, r-state-r-action pairs database.Ensure: function Q: discrete actions relational control policy.Initialize Q (S t , A t ) arbitrarily Repeat s t ← robot's sensors readings values.

Figure 7 .
Figure 7. Learning curves comparison, (a) learning curves for the navigation policies; (b) learning curves for the following policies several destination places in different environments.For developing the "following an object" policy, the number of r-state-r-action pairs using our relational representation (RRL) is 3,149, while the number of r-stater-action pairs using the same representation but with behavioural cloning (TS-RRLCA) is 1,406, obtained from 20 traces.For the following policy we only compared our approach against RRL.Figure7(b) shows the learning curves of these two methods.As can be seen the number of iterations that our method needs to generate an acceptable following policy is much lower than RRL.To generate the continuous actions policies, LWR was applied using the Gaussian kernel for estimating weights.In the next section we compare the traces performed with the discrete actions policy with those using continuous actions.
Once the policies were learned, experiments were executed in the training map with different goal positions and in two new and unknown environments for the robot (Map 2 shown in Figure 8 with size 20.0 m × 15.0 m and Map 3, shown Figure 9, which corresponds to the real robot's environment whose size is 8.0 m × 8.0 m).A total of 120 Behavioural Cloning and Locally Weighted Regression

Figure 8 .Figure 9 .
Figure 8. Navigation and following tasks performed with the policies learned with TS-RRLCA, (a) navigation task with discrete actions, Map 1; (b) navigation task with continuous actions, Map 1; (c) following task with discrete actions, Map 2; (d) following task with continuous actions, Map 2

Figure 10 (
a) shows results in terms of the quality of the performed tasks with the real robot.This comparison is made against tasks performed by humans (For Figures 10(a), 10(b) and 11, the following acronyms are used, NPDA: Navigation Policy with Discrete Actions, NPCA: Navigation Policy with Continuous Actions, FPDA: Following Policy with Discrete Actions and FPCA: Following Policy with Continuous Actions).

Figure 10 .
Figure 10.Navigation and following results of the tasks performed by the real robot, (a) quadratic error values; (b) penalty values continuous actions.Every navigating or following experiment, that we carried out, was performed first with discrete actions and then with continuous actions.As can be seen in Figure11, continuous actions policies execute faster paths than the discrete actions policy despite our triangulation and LWR processes.

End for until S t is terminal
Copyright © 2010 SciRes.JILSA Relational Reinforcement Learning with Continuous Actions by Combining 74 Behavioural Cloning and Locally Weighted Regression

Table 3 . Number of times the robot asked for guidance in the experiments Policy type Map 1 Map 2 Map 3 Total
Relational Reinforcement Learning with Continuous Actions by Combining 78 Behavioural Cloning and Locally Weighted Regression