Comparison of End-to-End Continuous and Discrete Motion Planners
for Autonomous Mobile Robots
Satoshi HOSHINO1† and Joichiro SUMIYOSHI1
1

Department of Mechanical and Intelligent Engineering Graduate School of Engineering Utsunomiya University, Japan(Tel: +81-28-689-6053; E-mail: hosino@cc.utsunomiya-u.ac.jp)

Abstract: For autonomous navigation of mobile robots, obstacle avoidance capability and straight-line stability are essential performance. Robots are required to move with suitable control values regarding velocity and angular velocity.
Therefore, we have focused on motion planning techniques and proposed end-to-end discrete motion planners. In one of
the motion planners, a deep neural network, DNN, was used to classify inputs into motion commands, such as straight,
right, and left. In environments with obstacles, the robot based on the motion planner successfully moved with discretized
control values depending on the motion commands. In this paper, we further present an end-to-end continuous motion
planner that allows the robot to move with continuous control values. In the navigation experiments, these two motion
planners are applied to the robot, and the navigation performance is discussed.
Keywords: Mobile Robots, Motion Planning, End-to-End, Autonomous Navigation, Obstacle Avoidance.

1. INTRODUCTION
For autonomous navigation of mobile robots, obstacle
avoidance capability and straight-line stability are essential performance. Robots are required to move with suitable control values regarding velocity and angular velocity. In this paper, therefore, we focus on motion planningtechniques. Previously, artificial potential method [1],dynamic window approach [2], and other motion planning techniques have been proposed. Since mathematicalmodels were used to decide the continuous control values
for sensor inputs, these were so-called model-based motion planners. Mobile robots based on the model-based
motion planners are, however, sometimes exhibit different behavior depending directly on sensor inputs. Furthermore, it is required to determine the model parameters suitable to navigation environments.
For the drawbacks of the model-based planners, motion planners based on deep learning [3] have attracted
attention. The motion planners aim to approximate a relationship between sensor inputs and motor outputs withthe use of deep neural networks, DNNs, instead of themathematical models. These are known as end-to-end
motion planners. Compared to model-based motion planners, end-to-end motion planners are less affected by sensor noises, and model parameters are not used. In general,
DNNs and convolutional neural networks, CNNs, havebeen used for regression and classification problems.
In the regression problem, an end-to-end motion planner based on CNN has successfully decided the continuous control value of angular velocity for the image input[4]. Furthermore, a target direction toward a destination
has been used as the input in addition to the camera images [5][6]. This motion planner enabled the robot tomove along a planned path toward the destination. Instead of camera sensors, 2D LiDARs have been used toobtain range data. The input range data and target direction enabled a robot to move toward the destination while† Satoshi HOSHINO is the presenter of this paper.

avoiding obstacles [7].
However, the DNNs and CNNs used in the regression
problem require a large amount of data for network training. As a result, such data sets increase in the training
cost. On the other hand, we have proposed an end-toend discrete motion planner based on a DNN [8] for theclassification problem. Fig. 1 shows our mobile robot
equipped with a 2D LiDAR.

2D LiDAR
AR

Fig. 1 Mobile robot equipped with 2D LiDAR
In the motion planner, the DNN was used to classify
the input range data and target direction into the motioncommands, such as straight, right, and left. After that,
discrete control values of the velocity and angular velocity depending on the classified motion commands were
decided and sent to the robot. Fig. 2 shows test environments given for autonomous navigation.

(a)Random obstacles(b)Dense obstacles(c)Dead end

Fig. 2 Corridor environments with obstacles

According to the discretized control values, the robot
based on the end-to-end motion planner successfully
moved toward the destination while avoiding the obstacles as shown in Fig. 2(a) and Fig. 2(b). In order to take
into account a series of motions for a dead end as shownin Fig. 2(c), moreover, we have proposed another endto-end discrete motion planner based on a deep recurrent
neural network, DRNN [9]. The motion planner enabled
the robot to stop at the dead end, rotate at the same position, return to the doorway, and move on the right side of
the corridor.
Compared to continuous motion planners for the regression problem, the discrete motion planners require
lower training costs. In contrast to the advantage, thenavigation performance of the discrete motion planners
is a challenging issue. In this paper, therefore, we present
continuous and discrete motion planners based on DNNs.
For the input, these motion planners decide continuousand discrete control values of the velocity and angularvelocity. In the navigation experiments, these two motion planners are applied to the robot. As the navigation
performance, obstacle avoidance capability and straightline stability of the robot are discussed.

2. LEARNING FROM
DEMONSTRATION

of environment is built beforehand, and the robot is allowed to localize the position and orientation in this map.
The information is then shared with the operator. In Fig.
3(a), the scanned range data and the localized position of
the robot in the occupancy grid map are displayed on themonitor. In Fig. 3(b), the robot based on the human operation is moving forward. In the corridor, obstacles are
newly arranged. When the obstacles are detected by the
robot, the range data is also denoted in the map and displayed on the monitor. In the teaching phase, the operator
in front of the monitor controls the velocity v and angular velocity ω with the left and right joysticks so that the
robot moves while avoiding the obstacles.
2.2. Input Data
The moving robot based on the human operation simultaneously records the range data as the input in the
training data sets. Fig. 4 illustrates the scanned range
data. In this paper, we assume that the 2D LiDAR has
limited scan angle, 180 [deg], and sensing area.
Sensing area
Scanned point
Scanned range data

Obstacle#2#N

2.1. Teaching System
For end-to-end motion planners based on DNNs, we
adopt a learning-from-demonstration approach. In thisapproach, a mobile robot is first controlled by an operator.
In so doing, the sensor data and the corresponding control
values given by the operator are recorded as the input andoutput of the DNNs. Eventually, the inputs and outputs
are acquired as data sets. After the teaching phase, in thelearning phase, the data sets are used for network training.
In the teaching phase, if the operator was just behind
the robot, the robot is controlled with unobtainable databy the sensor. In the learning phase, such data sets might
be inadequate for network training. For the gap of environmental information between the operator and robot,
we have developed a teaching system as shown in Fig. 3.
In this system, both the operator and robot were allowed
to have the same environmental information.

#1

2D LiDAR

Robot

Fig. 4 Top view of scanned range data by 2D LiDAR
Each time the robot scans the environment, N (1, 2,· · · , N ) range data are obtained. If there was an obstacle
within the sensing area, a distance between the 2D LiDAR and scanned point of the obstacle is returned as therange data. The range data enables the robot to avoid the
obstacle. However, the robot based on this motion might
move in a different direction from the destination. Therefore, we use a direction angle as an additional input in the
training data sets.
As described in 2.1, the robot localizes the positionand orientation in a global map of environment. In thismap, a destination is designated by an operator. Thus a
direction angle, φ, is derived from the robot and destination. Fig. 5 illustrates the direction angle.
Goal

Planned path

Sub-goal
Sensing area

Goal

φ

Joystick

Obstacle

Robot
Robot

(a)Operator with joystick(b)Controlled robot by operator

Fig. 3 Developed teaching system for learning fromdemonstration
Since the robot is equipped with the 2D LiDAR, a map(a)Scanned range dataa(b)Sub-goal

Fig. 5 Definition of direction angle between robot andsub-goal
In Fig. 5(a), the robot is allowed to turn right and left
according to the symmetrical input range data. In this

・・・

・・・

・・・

・・・

➡ Angular velocity

Direction φ ➡

(a)Continuous motion planner
Input
Range #1 ➡
Range #2 ➡

Outputo1 ➡ p1 : Straighto2 ➡ p2 : Right

・・・

・・・

・・・

・・・

Range #N ➡

Hiddenw
・・・

3.1. Deep Neural Networks
From DNNs, continuous values and discrete values arederived as the control values of the velocity and angularvelocity. These control values are sent to the robot forautonomous navigation. In order to decide the suitable
control values for the regression and classification problems, we present two motion planners based on DNNs as
illustrated in Fig. 6.
The N range data obtained from the 2D LiDAR anddirection angle φ are the input to both the DNNs. Since
the 2D LiDAR shown in Fig. 1 has N range data, theinput layer is composed of N + 1 units. In addition, bothof the DNNs are composed of four hidden layers. In Fig.
6(a), since the control targets are the velocity and angularvelocity, the output layer is composed of two units. In
Fig. 6(b), the output layer is composed of three units
corresponding to the number of motion commands. All
the units in each layer are fully connected to the ones in
the following layer through the connection weight w. In
each unit, the rectifier is used as an activation function.

Range #N ➡

Output➡ Velocity

・・・

3. END-TO-END MOTION PLANNERS

Range #2 ➡

Hiddenw

Range #1 ➡

・・・

2.3. Output Data
The operator controls the velocity v and angular velocity ω of the robot through the joysticks. These control
values, v and ω, are sent to the robot for the human operation. Therefore, the moving robot based on the humanoperation simultaneously records the velocity and angular velocity as the output in the training data sets.
For the continuous motion planner, these continuous
values are the output data. For the discrete motion planner, the continuous values of v and ω are discretized into
the three motion commands depending on the combinations as follows:• if v > 0 and ω = 0, then “straight,”• else if v > 0 and ω < 0, then “right,” and• else if v > 0 and ω > 0, then “left.”
Instead of v and ω, the motion commands are the output
data.
Finally, the training data sets are composed of the input and output data at the same sampling time. In thelearning phase, the output data, which are the continuous
values of v and ω and the motion commands, are used as
the supervisory signals for network training.

Input

・・・

case, if a direction angle between the robot and goal destination was used as the additional input, the robot turns
right. This is because that the robot moves so as to reduce the direction angle. Therefore, we use a sub-goal toderive the direction angle. In Fig. 5(b), the robot is planning a path toward the goal destination. Furthermore, adashed circle centered at the robot with a radius of a isdrawn. Then, a sub-goal is arranged at the intersection
between the planned path and dashed circle. Finally, a
direction angle between the robot and sub-goal, φ, is derived. By using the direction angle, φ, as the additional
input, the robot is allowed to turn left toward the sub-goaland move toward the goal destination.

o3 ➡ p3 : Left

Direction φ ➡

(b)Discrete motion plannerFig. 6 DNNs used in the motion planners

In Fig. 6(a), the continuous values of the velocity v
and angular velocity ω are decided. Thus, v and ω aredirectly sent to the robot. In Fig. 6(b), on the other hand,each unit in the output layer computes oi , and oi is converted into a probability, pi , by the softmax function. As
a result, the input data is classified into a motion command with the highest probability. Finally, the velocity v
and angular velocity ω discretized depending on the motion command, i.e. straight, right, or left, are decided andsent to the robot.
3.2. Training Data Sets
In the teaching phase, training data sets are acquiredas described in 2. The mobile robot as shown in Fig. 1
is used. The robot is equipped with the 2D LiDAR at aheight of 0.2 [m]. The sensing range of the 2D LiDAR
is 4.0 [m]. The robot motion is controlled by an operator
in three environments as shown in Fig. 7. The mark “S”
indicates the initial position of the robot and “G” is thedestination.

G

G

G

S
(a)1st environmentS(b)2nd environmentS(c)3rd environment

Fig. 7 Teaching environments with tables and chairs as
obstacles
The number of obstacles and these positions are different in each environment. In Fig. 7(a) and Fig. 7(b), therobot based on the human operation moves toward thedestinations while avoiding the obstacles. In Fig. 7(c),since the obstacles are located against the wall, the robot
just moves straight toward the destination.
In order for the robot to localize the position and orien-3.3. Network Training
For each input in the data sets, the network training of
the continuous motion planner shown in Fig. 6(a) is doneby comparing the derived velocity and angular velocity
with the supervisory signals. The network training of thediscrete motion planner shown in Fig. 6(b) is also doneby comparing the classified motion commands with thesupervisory signals. The mean square error is used forthe continuous motion planner and the cross-entropy isused for the discrete motion planner. In backpropagation,
the Adam optimizer [12] is used to update each connection weight w. Furthermore, the units in the last hidden
layer are dropped out with a probability of 0.5 to reduce
overfitting.
In consideration of the LiDAR resolution, the range
data in Fig. 4 is given N = 512. Thus the input layer
in Fig. 6 is composed of 513 units in total. These input
data are then compressed down into 500, 200, 100, and
50 units in the hidden layers. Fig. 8 shows the result of
the network training in the learning phase.
0.06

0.60

0.05

0.50

0.04

0.20

0.01

0.10

0

0

10

20

30

Epoch

(a)Continuous motion planner

Obstacles
S
G

Camera

0.23

0.30

0.02

0

28[m]

(a)Occupancy grid map with newly-added obstacles

0.40
0.022

0.03

is arranged by the dashed circle with a radius of a = 1.0[m]. Since the CMP decides the continuous control values of the velocity v and angular velocity ω, v [m/s] andω [rad/s] are directly sent to the robot. The DMP classifies the input data into any one of the straight, right, orleft command. After that, the discretized velocity v andangular velocity ω depending on the motion commands
are decided as follows:• if “straight,” then v = 0.4 and ω = 0,
• else if “right,” then v = 0.4 and ω = −0.8, and• else if “left,” then v = 0.4 and ω = 0.8.
These control values of v [m/s] and ω [rad/s] are then sent
to the robot.
Fig. 9 shows the target environment. While the layout is similar to the ones in Fig. 7(a) and Fig. 7(b), moreobstacles are located at different positions in this environment.

7[m]tation, Monte Carlo Localization, MCL [10], is applied.
As for the direction angle, Dijkstra’s algorithm [11] isused as a path planner in Fig. 5(b). During the robot ismoving, the path planning is constantly executed. Finally,
3000 data sets were acquired.

G
0

10

20

30

Epoch

(b)Discrete motion plannerFig. 8 Loss transition of DNN for 3000 data sets
As the network training proceeded, the loss value ofeach DNN was decreased. This result indicates that the
DNNs increased the regression and classification accuracies through the learning-from-demonstration approach.
Since the loss values at the 30th epoch were minimized,
0.022 and 0.23, the DNNs based on these results are usedas the end-to-end continuous and discrete motion planners for autonomous navigation of the robot.

4. NAVIGATION EXPERIMENTS
4.1. Settings
As well as the learning phase in 3, the same mobile
robot equipped with the 2D LiDAR as shown in Fig. 1
is used in this experiment. For obstacle avoidance, thefollowing two end-to-end motion planners based on the
DNNs at the 30th epoch in Fig. 8 are applied to the robot:
1. continuous motion planner, CMP, — Fig. 6(a) and
2. discrete motion planner, DMP, — Fig. 6(b).
Both the motion planners use the 512 range data anddirection angle φ as the input. The sub-goal in Fig. 5(b)S(b)Scene of actual environment taken from “camera” position in Fig. 9(a)Fig. 9 Navigation environment 1
Fig. 9(a) shows an occupancy grid map of the environment. The obstacles drawn by five dashed circles were
not arranged when the robot built the map beforehand. In
this map, the robot moves from S toward G. Fig. 9(b)shows the actual environment with the obstacles. In thisenvironment, the robot is required to avoid the obstacles
to reach the destination.
Fig. 10 shows another target environment. As wellas the environment shown in Fig. 7(c), the obstacles arelocated against the wall. Compared to environment 1
shown in Fig. 9, the robot is allowed to reach the destination without avoiding the obstacles in this environment.
Fig. 10(a) shows an occupancy grid map of the environment. The obstacles drawn by two dashed circles were
not arranged when the robot built the map beforehand. In
this map, the robot moves from S toward G. Fig. 10(b)shows the actual environment with the obstacles.

[rad/s]
28[m][rad/s]

0.8

0.8

0.0

㻢㻜㻝

-0.8

7[m]

Obstacles

S

G

Camera(a)Occupancy grid map with newly-added obstacles

G

0.0
-0.8

Time [s]Time [s](a)CMP(b)DMP

Fig. 12 Angular velocity ω in environment 1

even the robot based on the DMP avoided the obstacles
and reached the destination with the discretized angularvelocity. Therefore, the sufficient obstacle avoidance capability of the two end-to-end motion planners regardlessof the regression and classification problems was shown
from the results.
In Fig. 13, the trajectories of the robot in environment
2 depending on the motion planners are compared. The
dashed and solid lines denote the results of the CMP and
DMP.

S
: CMP
: DMP

Fig. 10 Experimental environment 2[m]3(b)Scene of actual environment taken from “camera” position in Fig.
10(a)

S

0

G

-3
0

4.2. Navigation Results
As the navigation results of the robot based on the
CMP and DMP, we focus on a series of the localized positions, which is the trajectory. In Fig. 11, the trajectories
in environment 1 depending on the motion planners arecompared. The dashed and solid lines denote the resultsof the CMP and DMP.
: CMP
: DMP

[m]

3
0

5

10

15

[m]

Fig. 13 Comparison of navigation trajectories in environment 2
The robot based on both the CMP and DMP succeededin moving toward the destination, G. In this regard, however, the robot based on the CMP slightly weaved. On
the other hand, the robot based on the DMP moved ina straight line. The robot behavior is due to the angular velocity. Therefore, we compare the control values asshown in Fig. 14.

SG[rad/s][rad/s]

0.8

-3

0.0

0

5

10

15

20 [m]

Fig. 11 Comparison of navigation trajectories in environment 1
The robot based on both the CMP and DMP succeededin moving toward the destination, G, while avoiding the
obstacles. In this regard, the robot moved with about thesame velocity v = 0.4 and spent almost the same amountof time for navigation. For obstacle avoidance, the angular velocity plays an important role more than the velocity. Therefore, we compare the control values based on
the CMP and DMP as shown in Fig. 12.
While the continuous value of angular velocity was decided in the CMP (see Fig. 12(a)), the discrete value of−0.8, 0, or 0.8, was decided in the DMP (see Fig. 12(b)).
These angular velocities were sent to the robot as the control values. This result indicates that, compared to the
DMP, the robot based on the CMP achieved more fluid
obstacle avoidance. On the other hand, it is notable that

0.8
0.0

㻝

-0.8

-0.8

Time [s]Time [s](a)CMP(b)DMP

Fig. 14 Angular velocity ω in environment 2
As can be seen in Fig. 14(a), although the obstacle
avoidance was not required for the robot in this environment, the angular velocity other than ω = 0 [rad/s] wasdecided in the CMP. This result indicates that the robot
was affected by the obstacles within the sensing area eventhough these were located against the wall. In contrast to
the result, the angular velocity of ω = 0 [rad/s] was constantly decided in the DMP as shown in Fig. 14(b). In
other words, as the result of the discretized angular velocity, the robot based on the DMP moved with no influenceof the obstacles. Therefore, while the CMP resulted in thefluid motion for obstacle avoidance, the higher straightline stability of the DMP was shown.

4.3. Straight-Line Stability
In order to improve the straight-line stability of the
CMP, the network training was further conducted. Afterward, the CMP based on the enhanced DNN was applied
to the robot. The robot based on the CMP moved in environment 2 as shown in Fig. 10, and successfully reached
the destination, G. Fig. 15 shows the angular velocities
based on three DNNs.
[rad/s][rad/s]

0.8

0.8
0.0

0.0

㻝

㻝

-0.8

-0.8

Time [s]Time [s](a)DNN at 50th epoch(b)DNN at 100th epoch[rad/s]
0.8
0.0

㻝

-0.8

Time [s](c)DNN at 200th epochFig. 15 Angular velocity ω of CMP in environment 2
In Fig. 15(a), even though the DNN at the 50th epoch
was used in the CMP, the angular velocity other than
ω = 0 [rad/s] was decided and sent to the robot. The
average absolute value was 0.031 [rad/s]. In Fig. 15(b),the average absolute value based on the DNN at the 100th
epoch was reduced to 0.027 [rad/s]. However, the angular velocity other than ω = 0 [rad/s] was still decided andsent to the robot. As a result, the robot based on these
CMPs slightly weaved in some cases. In Fig. 15(c), finally, the average absolute value based on the DNN at the200th epoch was reduced to 0.008 [rad/s]. Thus the robot
based on the CMP was enabled to move in a straight line
toward the destination.
From the results described above, it was shown that,as the network training further proceeded, the straightline stability of the CMP approached the one of DMP. In
this regard, however, while the DMP was based on the
DNN at the 30th epoch, the CMP was based on the DNN
at the 200th epoch. This result indicates the effectivenessof the discrete motion planner for autonomous navigationof mobile robots at the lowest possible training cost.

5. CONCLUSIONSIn this paper, two end-to-end continuous and discrete
motion planners based on DNNs were presented for autonomous navigation of mobile robots. In these motion
planners, continuous and discrete velocity and angularvelocity were decided and sent to the robot as the control values. Thus, the robot was allowed to successfully
move toward the destination while avoiding obstacles. In
the navigation experiments, the sufficient obstacle avoidance capability of the two end-to-end motion planners
was shown regardless of the regression and classification problems. Moreover, while the continuous motion

planner resulted in the fluid motion for obstacle avoidance, the robot slightly weaved due to obstacles eventhough these were located against the wall. On the other
hand, the robot based on the discrete motion planner completely moved in a straight line. Therefore, the higher
straight-line stability of the discrete motion planner was
shown. Although the straight-line stability of the continuous motion planner was improved with the further
enhanced DNNs through the network training, the effectiveness of the discrete motion planner for autonomous
navigation of mobile robots at the lowest possible training cost was shown.

REFERENCES[1] O. Khatib, “Real-Time Obstacle Avoidance for Manipulators and Mobile Robots,” International Journal of Robotics Research, Vol. 5, No.1, pp. 90–98,
1986.
[2] W. Burgard et al., “The Dynamic Window Approach to Collision Avoidance,” IEEE Robotics andAutomation Magazine, Vol. 4, No. 1, pp. 23–33,
1997.
[3] G. E. Hinton et al., “A Fast Learning Algorithm for
Deep Belief Nets,” Neural Computation, Vol. 18,
No. 7, pp. 1527–1554, 2006.
[4] Y. LeCun et al., “Off-Road Obstacle Avoidance
through End-to-End Learning,” Advances in Neural Information Processing Systems, pp. 739–746,
2005.
[5] A. Carballo et al., “End-to-End Autonomous Mobile Robot Navigation with Model-Based System
Support,” Journal of Robotics and Mechatronics,
Vol. 30, No. 4, pp. 563–583, 2018.
[6] S. Seiya et al., “End-to-End Navigation with Branch
Turning Support Using Convolutional Neural Network,” IEEE International Conference on Robotics
and Biomimetics, pp. 499–506, 2018.
[7] M. Pfeiffer et al., “From Perception to Decision: A
Data-Driven Approach to End-to-End Motion Planning for Autonomous Ground Robots,” IEEE International Conference on Robotics and Automation,
pp. 1527–1533, 2017.
[8] S. Hoshino and J. Sumiyoshi, “End-to-End Discrete
Motion Planner based on Deep Neural Network forAutonomous Mobile Robots,” IEEE/SICE International Symposium on System Integration, pp. 12–17,
2019.
[9] S. Hoshino and J. Sumiyoshi, “End-to-End Discrete
Motion Planner based on Deep Recurrent Neural
Network for Mobile Robots,” International Conference on Intelligent Autonomous Systems, 2020 (under review).
[10] D. Fox et al., “Robust Monte Carlo Localization
for Mobile Robots,” Artificial Intelligence, Vol. 128,
No. 1-2, pp. 99–141, 2001.
[11] E.W. Dijkstra, “A Note on Two Problems in Connexion with Graphs,” Numerische Mathematik, pp.
269–271, 1959.
[12] D. Kingma and J. Ba, “Adam: A Method for
Stochastic Optimization,” International Conference
for Learning Representations, 2015.