Download as pdf or txt
Download as pdf or txt
You are on page 1of 13

future internet

Article
Local Path Planning of Driverless Car Navigation
Based on Jump Point Search Method Under
Urban Environment
Kaijun Zhou 1,2 , Lingli Yu 3, * ID
, Ziwei Long 3 and Siyao Mo 3
1 Mobile E-Business Collaborative Innovation Center of Hunan Province, Hunan University of Commerce,
Changsha 410205, China; alpha218@126.com
2 Key Laboratory of Hunan Province for Mobile Business Intelligence, Hunan University of Commerce,
Changsha 410205, China
3 School of Information Science and Engineering, Central South University, Changsha 410083, China;
longziwei@hotmail.com (Z.L.); mo073@163.com (S.M.)
* Correspondence: llyu@csu.edu.cn; Tel.: +86-138-7318-3564

Received: 8 August 2017; Accepted: 5 September 2017; Published: 12 September 2017

Abstract: The Jump Point Search (JPS) algorithm is adopted for local path planning of the driverless
car under urban environment, and it is a fast search method applied in path planning. Firstly, a vector
Geographic Information System (GIS) map, including Global Positioning System (GPS) position,
direction, and lane information, is built for global path planning. Secondly, the GIS map database is
utilized in global path planning for the driverless car. Then, the JPS algorithm is adopted to avoid
the front obstacle, and to find an optimal local path for the driverless car in the urban environment.
Finally, 125 different simulation experiments in the urban environment demonstrate that JPS can
search out the optimal and safety path successfully, and meanwhile, it has a lower time complexity
compared with the Vector Field Histogram (VFH), the Rapidly Exploring Random Tree (RRT), A*,
and the Probabilistic Roadmaps (PRM) algorithms. Furthermore, JPS is validated usefully in the
structured urban environment.

Keywords: driverless car; JPS algorithm; GIS map; structured urban environment

1. Introduction
The driverless car is aimed at relieving a burden for drivers in an urban environment; meanwhile,
it can regulate driving behavior, such as changing lanes frequently and arbitrarily. Now, the driverless
car is being applied in public transportation and is being used on campus and in the express industry.
Nowadays, most of the driverless systems just play the role of a driver assistance system.
Recent advances in mobile robotic research have contributed to the development of autonomous
driving systems for intelligent robotic vehicles [1]. As a hotspot of autonomous navigation robot
research during these years, most of the studies achieve autopilot by combining navigation systems,
artificial intelligence, in-vehicle sensors, roadside ITS and traffic monitoring, vehicle-to-vehicle (V2V),
and vehicle-to-infrastructure (V2I) communications [2].
A feasible trajectory is based on quadratic programming (QP); it is proposed in [3] for path
planning in three-dimensional space. Here an autonomous vehicle is requested to pursue a target for
avoiding static or dynamic obstacles. Though the car can avoid static or dynamic obstacles, it’d better
to drive in the center of lane a method [4] is proposed based on vision, long-distance lane perception
and front vehicle location detection, but it is applied to a special environment (two-lane highways).
Sensor technology trials are studied to minimize blind spots around their truck [5], while on the
other hand, keeping the driver’s vigilance at a sufficiently high level. The sensor is also an essential

Future Internet 2017, 9, 51; doi:10.3390/fi9030051 www.mdpi.com/journal/futureinternet


Future Internet 2017, 9, 51 2 of 13

part to apply in path planning an intelligent control system is proposed by the fuzzy-neural network
(FNN) for autonomous vehicles [6], and the autonomous vehicles recognize and judge the running
environment appropriately and automatically, and run along a given orbit by using FNN, which is a
good reference for decision with regard to driving behavior.
In this paper, the driverless car system is applied to public transportation, but in a more dynamic
urban environment. There is global and local path planning in the system. Global path planning
provides a valid path for local path planning, it includes driving orientation and goals. Local path
planning ensures the car is driven in center of the lane and avoids static or dynamic obstacles.
There have been a number of studies regarding local path planning. an intelligent system is
designed which can monitor urban traffic congestion in real time through wireless sensor networks [7],
and urban application-oriented route planning are researched based on the mobile communication
network [8]. A vision-based approach is addressed to identify the leader vehicle [9], and a path
planning algorithm is proposed for autonomous driving in a complex urban environment [10]. A path
planning method based on the hierarchical hybrid algorithm is proposed by [11], and [12] also
focuses on the architecture that makes up the navigation subsystem of the autonomous city explorer.
Meanwhile, many studies focus on algorithms for obstacle avoidance an enhancement to the earlier
developed vector field histogram method is presented for the mobile robot [13], and compound
PRM method is presented for path planning of the tractor-trailer mobile robot [14]. A modified RRT
algorithm is applied in [15], and an effective algorithm based on A* (D*) is proposed in [16], in an
uncooperative environment. A local path-planning algorithm is introduced for the self-driving car
in a complex environment [17]. Recently, Harabor and Botea proposed the Jump Point Search (JPS);
that domain typically features a high degree of path symmetry in [18]. Much research has been
completed concerning development based on JPS in [19–22]. Intelligent computing budget allocation
into a candidate-curve-based planning algorithm is introduced in [23]. Also, a path-following control
problem is formulated that has a reference value in the use of path planned [24]. This research does not
focus on real time local path planning in the structured urban environment; this paper will introduce a
novel path planning method based on JPS in that environment.
The remainder of this paper is organized as follows. Firstly, the framework of the path planning
of the driverless car system is introduced in Section 1. Next, map and database building based on
ArcGIS is stated for global path planning in Section 2. The way that of the optimal car path of global
path planning is described in Section 3. Local path planning based on JPS is explained in Section 4.
Some of the simulation results of global path planning and local path planning are shown in Section 5.
At last, some conclusions of this paper are followed in Section 6.

2. Framework
Path planning is a critical problem for driverless car driving. Also, global path planning aims to
get an optimal path to a destination; meanwhile, some reference points are given to local path planning.
Local path planning aims to generate a practicable path from a start point to a short-term destination,
and to avoid obstacles on the road. The final path is smooth, as much as possible, and at the center of
the lane.
In this paper, global path planning is based on the ArcGIS Engine. GPS data of the current
position and the network analysis tool are utilized to search for an optimal route by a certain frequency.
Furthermore, the path is extracted from the GIS database and the special route database. At last,
the coordinate is transformed from a global to a local planning system, and local path planning could
search for a feasible local optimal path.
Figure 1 illustrates the path planning framework of the driverless car. By collecting environment
information, the JPS (Jump Point Search)-based local path planning algorithm obtains a barrier position
for avoiding obstacles. Lane tracking drives on the center of the lane. The decision center selects a
reasonable driving behavior such as lane changing, overtaking, following, and so on.
Future Internet 2017, 9, 51 3 of 13
Future Internet 2017, 9, 51 3 of 13

Future Internet 2017, 9, 51 Local Path Plan 3 of 13

Global Path Plan


Local Path Plan
Front Cars Detection
Global Path Plan
GPS Device
Front Cars Detection

GPS Device Decision Center

GIS Database
Decision Center

GIS Database Path Planning

Dijkstra's Algorithm
Path Planning

Dijkstra's Algorithm Path Tracking

Path Tracking
Figure 1. Path planning framework of driverless car.
Figure 1. Path planning framework of driverless car.

3. Map Building Figure 1. Path planning framework of driverless car.


3. Map Building
When a car is running on the road, it is important to select an optimal and safe driving strategy
3. Map
When Building
a car iscontroller,
running on the road, it is from
important to select an optimal anddestination.
safe driving
for the tracking which navigates the current position to the next In strategy
other
for words,
the tracking the controller,
controller which
needs some navigates
accurate from
GPS the
data current
to position
route. So,
When a car is running on the road, it is important to select an optimal and safe driving strategy theto the
decisionnext destination.
center needs a In other
high
words,
accuracy
for the
the trackingcontroller
GIS map, needs
which which
controller, some
contains accurate
detailedfrom
navigates GPS
andthe data
accurate to
currentGPS route. So,
information
position the
to the next decision
about center
roads andInspecial
destination. other a
needs
high accuracy
points.
words, GIS map,
the controller which
needs some contains
accuratedetailed
GPS data andto accurate
route. So,GPS information
the decision centerabout
needsroads a highand
special
accuracy As shown
points.GIS map, in Figure
which2,contains
a road with threeand
detailed lanes only has
accurate GPS a lane’s GPS data
information aboutin an actual
roads and map, and
special
theAsGIS
points. system
shown only knows
in Figure the car’s
2, a road withlengthways
three lanes position,
only has and doesGPS
a lane’s not know
data inthe anlateral
actualposition
map, and (asthe
shown As in Figure
shown in 3). It
Figure increases
2, a road the
withdegree
three of difficulty
lanes only of
has local
a planning.
lane’s
GIS system only knows the car’s lengthways position, and does not know the lateral position (as shown GPS For
data ininstance,
an actual a driverless
map, and
car GIS
in the
Figure is driving
system
3). on a road
only
It increases knows of
thethree
the lanes,
car’s
degree but
lengthways
of it usesposition,
difficulty aofgeneral
local andmap. Or not
does
planning. the controller
know
For intends
the lateral
instance, to turn (as
position
a driverless left
car is
in
showna crossroad,
in Figure but 3).the
It car is
increasesalwaysthe keep
degree in the
of straight
difficulty lane.
of Thus
local
driving on a road of three lanes, but it uses a general map. Or the controller intends to turn left in a the traffic
planning. is
For congested,
instance, ait is difficult
driverless
to change
car
crossroad, buta the
is driving lane a currently.
on car road
is always Whereas
of three lanes,
keep inabuthigh
the accuracy
itstraight
uses a general
lane.mapmap.
Thusis important
Or traffic
the for global
the controller planning,
intends
is congested, ittoisturn it also
left to
difficult
could
in lighten the
a crossroad, butload
the car onislocal
alwaysplanning.
keep in the straight lane. Thus the traffic is congested, it is difficult
change a lane currently. Whereas a high accuracy map is important for global planning, it also could
to changeThe mapping rules mainly
a lane currently. Whereascontain two accuracy
a high parts: themap roadis(edge) and the
important forpoint
global (junction)
planning, in it
Figure
also
lighten the load on local planning.
4. All roads should be mapped
could lighten the load on local planning. by a straight line, and these roads are made up of a start point and an
The mapping rules mainly contain two parts: the road (edge) and the point (junction) in Figure 4.
end Thepoint, and contain no break points. So, the roads’ lengths are
mapping rules mainly contain two parts: the road (edge) and the point (junction) in Figurebetween [5 m, 50 m]).We need to
All build
roadstwo should be mapped by a straight line, and these roads are made up of a start point and an end
4. All roadsGPS databases,
should be mapped comprising a GIS line,
by a straight database and aroads
and these special areroute
made database.
up of a startThe point
GIS database
and an
point,
stores
end and the
point, contain
general noroad
and contain breaknoGPS points.
break So, the
datapoints.
(road So,roads’
network lengths
information),
the roads’ are between
lengths andbetween
are [5 m,
the special[5 50
m, m]).We
route need
database
50 m]).We need to build
stores
to
two GPS
the GPS
build databases,
twodata comprising
GPSofdatabases,
the route comprising a GIS database
in the intersection and
in Figureand
a GIS database a special route database. The GIS
5. a special route database. The GIS database database stores
thestores
general theroad
generalGPSroad dataGPS (road datanetwork information),
(road network and theand
information), special route database
the special route databasestoresstoresthe GPS
data of the route in the intersection in
the GPS data of the route in the intersection in Figure 5. Figure 5.

Figure 2. The general map has only one Global Positioning System (GPS) data line.

Figure2.2.The
Figure Thegeneral
generalmap
map has
has only
only one
one Global
GlobalPositioning
PositioningSystem
System(GPS) data
(GPS) line.
data line.
Future Internet 2017, 9, 51 4 of 13
Future Internet 2017, 9, 51 4 of 13
Future Internet 2017, 9, 51 4 of 13
Future Internet 2017, 9, 51 4 of 13
Future Internet 2017, 9, 51 4 of 13

Figure 3. Every lane has its own GPS data line in the high accuracy Geographic Information System
Figure 3. 3. Every
Figure lanehas
Every lane hasitsits own
own GPSGPS
datadata line
line in thein theaccuracy
high high accuracy Geographic
Geographic Information
Information System
(GIS).
Figure 3. Every lane has its own GPS data line in the high accuracy Geographic Information System
System
(GIS).(GIS).
(GIS).
Figure 3. Every lane has its own GPS data line in the high accuracy Geographic Information System
(GIS).

Figure 4. A road (edge) feature only has one start point and one end point, but no break point.
Figure
Figure 4. 4.
AAroad
road(edge)
(edge)feature
featureonly
only has
has one
one start
start point
pointand
andone
oneend
endpoint,
point,but nono
but break point.
break point.
Figure 4. A road (edge) feature only has one start point and one end point, but no break point.
Figure 4. A road (edge) feature only has one start point and one end point, but no break point.

Figure 5. The special points (junction) are placed nearby in the crossroad.
Figure 5. The special points (junction) are placed nearby in the crossroad.
Figure5.5.The
Figure Thespecial
specialpoints
points (junction)
(junction) are
areplaced
placednearby
nearbyininthe crossroad.
the crossroad.
4. Global Path Planning Based on Network Analysis Method
4. Global Path Planning Figure 5.Based on Network
The special Analysis
points (junction) areMethod
placed nearby in the crossroad.
4. Global
ThePath Path Planning
global path is based Based on on
theNetwork
ArcGIS EngineAnalysis 10.2Method
[25]. We build a map layer to place the start
4. Global Planning Based on Network Analysis Method
The global path is based on the ArcGIS Engine 10.2 [25]. We build a map layer to place the start
4. Global
point The Path
andglobal
the endPlanning
pathpoint.
is Based
based on on
Furthermore,
theNetwork
ArcGIS Analysis
we search
Engine 10.2Method
a route through
[25]. the road
We build a map network
layer toby the the
place Dijkstra
start
point
The and
global the path
end point.
is basedFurthermore,
on the ArcGISwe search
Engine a route
10.2 through
[25]. We the road
build a network
map layer by
to the Dijkstra
place the start
algorithm,
pointTheandglobaland
the build with the network analysis tool of the ArcGIS Engine-interface of INASolver.
algorithm, andend path
buildpoint.
is
with Furthermore,
basedthe on the ArcGIS
network we search
Engine
analysis toola 10.2
route
of the through
[25]. the road
We build
ArcGIS a map network
Engine-interfacelayer of toby the the
place Dijkstra
INASolver. start
point and theanalysis
After
algorithm, endbuild
and point.
through
withFurthermore,
tool, wewe
thenetwork
the get search
sometool a of
route
context throughEngine-interface
theregarding theresult.
the road Thus
network the by the
result Dijkstra
should
pointAfter
and analysis
the end point.
through the tool, weanalysis
Furthermore, we
get search a route
some context ArcGIS
through
regarding the
the road
result.network
Thus the ofbyINASolver.
the Dijkstra
result should
algorithm,
be theAfterand
optimal build
path.
analysis with
And
through the
this network
result
theresult is
tool, is analysis
based
webased on
get some tool
lengthof
context the
or ArcGIS
time, whichEngine-interface
includes all of
feature INASolver.
edges and
algorithm,
be the optimal and path.
build withthis
And the network analysison tool
length orregarding
of the ArcGIS
time, theincludes
result. Thus
Engine-interface
which the result
of INASolver.
all feature should
edges and
junctions.
beAfter
the After
analysis
optimal global
through
path. And path planning,
the
this tool,
tool,we
result is the
getfeature
based some edges
context
on length and junctions
regarding information
the result. Thusare processed.
thethe result should
After
junctions. analysis
After through
global path the
planning, we theget some
feature edgesor
context andtime,
regardingwhich
junctions the includes
result. all
Thus
information feature
are edges
result and
should
processed.
FigureAfter
be junctions.
the optimal 6path.
depicts And
global somethis
path insertion
result
planning, is points
based
the in
on
featurethe path.or
length
edges andThese
time, points
which
junctions are mapped
includes
information all
are in some edges
feature specialand
processed.
be the optimal
Figure path. And
6 depicts some this result ispoints
insertion based in onthe
length
path.or These
time, which
pointsincludes
are mapped all feature
in some edges and
special
locations,
junctions. such
After as the crossroad
global path or the the
construction site. Except forpoints
some information
reminding
mappedinformation, such
Figure
junctions.
locations, 6 depicts
After
such asglobal pathplanning,
some
the crossroad insertion
planning, the feature
points in the
feature
or the construction edges
path.
edges
site. and
andThese
Except junctions
junctions are
for someinformation
reminding are are processed.
inprocessed.
some
information, special
such
as theFigure
Figuretraffic
locations, 6such6signal
as thelight,
depicts
depicts some
some all
crossroad points
or the
insertion
insertion have
points a unique
construction
points in
in the ID
thesite. number,
path.
path.Except
These
These and
for the unique
some
points
points remindingID number
aremapped
mapped information,
in in helps
some the
such
special
as the traffic signal light, all points have a unique ID number, and the are
unique ID number some special
helps the
global
as plan
the traffic to seek the GPS path of this location in the special road database.
locations,
locations,
global such
plan tosignal
such asasthe
seek thelight,
the allpath
crossroad
crossroad
GPS points
or
or have
the
ofthe
this a unique
construction
construction
location ID
in site.number,
thesite.
Except
special andsome
Except
for
road the
for unique ID number
some reminding
reminding
database. helpssuch
the
information,
information,
global
such
as as plan
thethe tosignal
traffic
traffic seek the
signal GPS allpath
light,
light, of this
havelocation
all points
points have in ID
thenumber,
a unique
a unique special road
ID number, and database.
andunique
the the unique
ID number ID number helps
helps the
theglobal
globalplanplantotoseek seek thetheGPSGPS path of this
path of thislocation in the
location in special
the specialroadroad
database.
database.

Figure 6. Some insertion points are placed in the path.


Figure 6. Some insertion points are placed in the path.
Figure 6. Some insertion points are placed in the path.
Figure6.6.Some
Figure Someinsertion points are
insertion points areplaced
placedininthe
thepath.
path.
Future Internet 2017, 9, 51 5 of 13
Future Internet 2017, 9, 51 5 of 13
Future Internet 2017, 9, 51 5 of 13
4.1.4.1.
General Road
General Processing
Road Processing
4.1. General
When the Road
road Processingits edge feature, GPS data of the start point and the end point are gained.
When the roadshows
shows its edge feature, GPS data of the start point and the end point are gained.
But, more
But, more
Whenclosely, GPSGPS
closely,
the road points
shows areedge
points
its needed for an
are feature,
needed foraccurate
GPS an ofnavigation.
accurate
data navigation.
the start pointSo,and
some
So, insertion
thesome points
insertion
end point between
points
are gained.
between
theBut,
startmore the start
pointclosely, point
and theGPS and
endpoints the
point are end point
are added are
neededinfor added
thisanedge. in this
accurate edge.
Duenavigation. Due to
to the fact that the fact
So, some that all
all theinsertion the
edge features edge are
points
features
between
mapping toarethemapping
the start
straight toline,
point the straight
andall the
theend line, all the
point
insertion are insertion
pointsaddedareinonpoints
this are
thisedge.
edge.on this
Due toedge.
Then, the Then,
wefact weall
get that getthe
a series a series
of edge
detailed
GPSof detailed
features
points areGPS
for thepoints
mapping tofor
description the the description
straight
this this
line, all
path. thepath.insertion points are on this edge. Then, we get a series
of detailed GPS points for the description this path.
4.2.4.2. Special
Special Road
Road Processing
Processing
4.2. Special Road Processing
When
When the theroad
roadfeature
featureisis aa junction
junction in in Figure
Figure7(a), and it
7a, and it is
is turning
turningdown downthe right
the rightpath
path in the
in the
crossroad,
crossroad,When so
so two two
the road special
specialfeature junction
junction feature
is a junction points
in Figure
feature points are gained.
are 7(a),
gained. If the
andIfit the unique
is turning
uniquedownnumber
number of
the of the
right right
the path
rightin point
the is
point
is a in Figure
crossroad, so 7(b),
two and
special the unique
junction number
feature of
points the left
are point
gained. isIf b in
the Figure
unique
a in Figure 7b, and the unique number of the left point is b in Figure 7a, we can get a unique index c by 7(a),
number we can
of get
the a
rightunique
point
index
is a incFigure
by processing a and b in Figure 7(b);of then,
the we
left can search theFigure
special7(a),
routewedatabase
can get athrough
processing a and7(b),b inandFigurethe unique
7b; then, number
we can search point
the is b in
special route database through unique
the unique
the
indexunique index c, so a path
c by processing and bwith some 7(b);
in Figure detailedthen, GPS
wepoints is planned
can search in Figure
the special route7.database
Then, this curve
through
index c, so a path with some detailed GPS points is planned in Figure 7. Then, this curve path is tracked
path is tracked
the unique indexby c,
controller
so a pathaccording
with some to detailed
these detailed GPS points.
GPS points is plannedThe radius
in Figureand7.curvature
Then, this ofcurve
each
by controller according to these detailed GPS points. The radius and curvature of each of the corner
of theiscorner
path tracked points are different,
by controller so it to
according is these
brief detailed
and effective to utilize
GPS points. Thethe GPS and
radius points to replace
curvature the
of each
points arecurve.
fitting
different, so it is brief and effective to utilize the GPS points to replace the fitting curve.
of the corner points are different, so it is brief and effective to utilize the GPS points to replace the
fitting curve.

a
b c
a
b c

(a) Two special points in the crossroad (b) GPS points with the unique index in the crossroad
(a) Two special points in the crossroad (b) GPS points with the unique index in the crossroad
Figure 7. Two special points and GPS points with the unique index in the crossroad.
Figure Two
7. 7.
Figure special
Two specialpoints
pointsand
andGPS
GPS points with the
points with theunique
uniqueindex
indexininthe
thecrossroad.
crossroad.
4.3. The Procedure of Coordinate System Conversion
4.3.4.3.
TheThe
Procedure of of
Procedure Coordinate
CoordinateSystem
SystemConversion
Conversion
Due to the fact that the coordinate of local path planning is different from global path planning,
theDue
WGS-84
Due
to to coordinate
thethe fact
fact system
thatthe
that is transferred
thecoordinate
coordinate localtopath
of local
of the planning
local pathisis
planning plan coordinate,
different
differentfrom and
global
from the
path
global converting
planning,
path planning,
sequence
thethe WGS-84
WGS-84 is shown
coordinatein Figure
coordinatesystem 8.
systemisistransferred
transferred to to the
the local
local path
path plan
plancoordinate,
coordinate,and
and thethe
converting
converting
sequence
sequence is shown
is shown inin Figure8.8.
Figure
Local Fixed Local Path Plan
WGS-84
Tangent Plane
Local Fixed Coordinate
Local Path Plan
WGS-84
Tangent Plane Coordinate
Figure 8. The converting sequence of several coordinate systems.
Figure 8.8.The
Figure Theconverting
convertingsequence of several
sequence of severalcoordinate
coordinatesystems.
systems.
The GIS system is built based on the WGS-84 coordinate system [26], so the GPS coordinate data
includes
TheTheGISlatitude,
GIS system
system longitude,
is is
built and on
builtbased
based elevation.
onthe
theWGS-84
WGS-84The local, fixed-tangent
coordinate
coordinate system
system[26],plane isthe
sosothe
[26], aGPS
coordinate
GPS coordinate system
coordinate datadata
whose
includes
includes starting
latitude,
latitude, point is set as
longitude,
longitude, the
and and origin; itsThe
elevation.
elevation. x axis
The islocal,
local,the same as the orient,
fixed-tangent
fixed-tangent plane itsayis
plane
is axis is the same
a coordinate
coordinate system as whose
the
system
north,
starting and
whosepoint its
startingis zset
axis
asisthe
point isthe same
set as the
origin; as the vertical
origin;
its x axisitsisxthedirection.
axis is theas
same Wetheswitch
same as the theitsWGS-84
orient,
orient, its y is
y axis coordinate
axis
theissame
the samesystem
as the
as the to
north,
north,
andthe and its
z axisfixed
itslocal z axis
is thetangent is the
same asplane same as
the verticalthe vertical direction. We switch the WGS-84 coordinate
systemP toPthePto
( B system
, L , H )
throughdirection. We switch the
several conversions WGS-84
using Equationcoordinate
(1). Here, local
fixed
thetangent plane
local fixed through
tangent several
plane conversions
through using Equation
several conversions using Here, ( B(1).
(1).Equation P , LHere,
P, H
(BP, LP, HP )the
P ) ,represents
represents the GPS coordinate data from the GIS system, and it converts them to
(X P YP , ZP ) by
GPS coordinate data from the GIS system, and it converts them to ( XP , YP , ZP ) by Equations ( XP,YP, ZP(1)–(2).
) by
Equations
represents(1)–(2).
the GPS coordinate data from the GIS system, and it converts them to
Equations (1)–(2).
   
X P ( R + H ) cos B cos L
n P P P
 YP  =  ( Rn + HP ) cos BP sin L P  (1)
   
ZP [( Rn + HP ) − e2 Rn ] sin BP
Future Internet 2017, 9, 51 6 of 13

where Rn is radius of curvature in prime vertical of point P, and e is the first eccentricity of the ellipsoid.
a, b is a semi-major axis of the ellipsoid and a semi-minor axis of the ellipsoid.

1/2
Rn = a2 /( a2 cos2 B + b2 sin2 B) (2)

1/2
e = ( a2 − b2 ) /a (3)
    
xQP − sin LP cos LP 0 XQ − XP
 yQP  =  − sin BP cos LP − sin BP sin LP cos BP  YQ − YP  (4)
    
zQP cos BP cos LP cos BP sin LP sin BP ZQ − ZP

By the same way, the coordinate of Q point ( xQP , yQP , zQP ) is worked out by Equation (4), and P
point is the origin point of the coordinate.
(
x 0 = x ∗ cos yaw − y ∗ sin yaw
(5)
y0 = y ∗ cos yaw + x ∗ sin yaw

In the end, the point is converted to the local path coordinate by Equation (5), yaw is the car’s
heading angle, and they provide ( x 0 , y0 ) for local path planning.

5. Local Path Planning Based on JPS

5.1. Jump Point Search (JPS)


JPS can quickly scan nodes from the underlying grid map to identify jump points with two simple
neighbor-pruning rules. JPS is an online symmetry-breaking algorithm, which speeds up the searching
path on uniform-cost grid maps by “jumping over”. Jump Point Search (JPS) is an optimization to the
A* search algorithm for uniform-cost grids. It reduces symmetries in the search procedure by means of
graph pruning and by eliminating certain nodes in the grid based on assumptions that can be made
about the current node's neighbors, as long as certain conditions relating to the grid are satisfied. As a
result, the algorithm can consider long “jumps” along straight (horizontal, vertical, and diagonal) lines
in the grid, rather than the small steps from one grid position to the next that ordinary A* considers.
Jump Point Search preserves A*’s optimality, while potentially reducing its running time by an order
of magnitude.
Node x is currently being expanded in Figure 9. In both cases, we can immediately prune all
grey neighbors, which can reach optimally from the parent of x without ever going through node
x. The arrow indicates the direction of travel from its parent, either straight or diagonal. Node x
is expanded currently. The arrow indicates the direction of travel from its parent, either straight or
diagonal. Note that when x is adjacent to an obstacle, the highlighted neighbors cannot be pruned in
Figure 9; any alternative optimal path, from the parent of x to each of these nodes, is blocked. When
you check for a node on the right of the current node of black arrow in Figure 9a,b, you should only
add the node immediately to the right of the current node. For diagonal movement, we basically use
the same rules as for horizontal movement, only when we move diagonal, we also check the nodes
horizontally and vertically, so we are able to find a corner situation where a forced neighbor is added
to the open list, or if we find our destination node in the red circle in Figure 9c,d.
Node x is currently expanded. p(x) is its parent in Figure 10a. We recursively apply the straight
pruning rule, and identify y as a jump point successor of x. Meanwhile, it has a neighbor z that cannot
be reached optimally except by a path visiting x. The intermediate nodes are never explicitly generated.
We recursively apply the diagonal pruning rule, and identify y as a jump point successor of x. Before
each diagonal step, we cruise straight (dashed lines) first. Only if both straight recursions fail to
identify a jump point do we step diagonally again. Node w is a forced neighbor of x, and it is generated
as normal in Figure 10b.
1 2 3 1 2 3 1 3 1 2 3

4 x 5 4 x 5 4 x 5 x 5
Future Internet 2017, 9, 51 7 of 13
Future 6
Internet 7
2017, 9, 8
51 6 7 8 6 7 8 6 7 87 of 13
(a) pruned neighbors of (b) pruned neighbors of (c) forced neighbors of (d) forced neighbors of
1 node2 x 3 1 node2 x 3 1 node x 3 1 node 2x 3
Figure 9. Neighbor Pruning and Forced Neighbor.
4 x 5 4 x 5 4 x 5 x 5
Node x is currently expanded. p(x) is its parent in Figure 10(a). We recursively apply the straight
pruning6 rule,7 and identify
8 y as6a jump7point8successor of
6 x. Meanwhile,
7 8 it has a neighbor
6 7z that cannot
8
be reached optimally except by a path visiting x. The intermediate nodes are never explicitly
(a) pruned neighbors of
generated. We recursively (b) pruned neighbors of
apply (c) forced
the diagonal pruning neighbors
rule, and of y as (d)
identify forced
a jump neighbors
point of
successor
node x node x node first.
x node xrecursions
of x. Before each diagonal step, we cruise straight (dashed lines) Only if both straight
fail to identify a jump pointFigure
do we9.step diagonally
Neighbor again.
Pruning NodeNeighbor.
and Forced w is a forced neighbor of x, and it is
Figure
generated as normal in Figure 10(b). 9. Neighbor Pruning and Forced Neighbor.
Node x is currently expanded. p(x) is its parent in Figure 10(a). We recursively apply the straight
pruning rule, and identify y as a jump point successor of x. Meanwhile, yit hasz a neighbor z that cannot
be reached optimally except by a path visiting x. The intermediate nodes are never explicitly
generated. We recursively apply the diagonal pruning rule, and identify y as a jump point successor
of x. Before each diagonal step, we cruise straightz (dashed lines) first. Only if both straight recursions
fail to identify a jump
p(x) point
x do we step diagonally
y again. xNode w is a forced neighbor of x, and it is
generated as normal in Figure 10(b).
p(x) w

(a) Jumping Straight (b) Jumping Diagonally


y z

Figure 10Successful straight and diagonal jumps with the JPS algorithm by applying pruning and
Figure 10. Successful straight and diagonal jumps with the JPS algorithm by applying pruning and
forced neighbor rules.
forced neighbor rules. z

5.2. Collision Car Detection


p(x) x y x
5.2. Collision Car Detection
Generally, a land vehicle travels along the center p(x) of a w current lane in the structured urban
Generally, aand
environment, land vehicle
it prefers to travels
go along
straight
(a) Jumping Straight along the
the center
current of a
lane.
(b) Jumping current lane car
TheDiagonally
collision in the structured
detection algorithmurban
is divided into
environment, andtwo parts: one
it prefers to gois straight
detectionalong
from thethe current
vehicle position
lane. Thetocollision
the controlcarpoint in Figure
detection 11,
algorithm
Figureis 10Successful straight
the other
is divided intodetection
two parts: fromonetheis and diagonal
control
detection point jumps
from tothe with
the the JPSreturn
adjusted
vehicle algorithm
position by applying
point.
to the Here,
control thepruning
return
point inand
point
Figure is 11,
forced neighbor
determined by rules.
global planning. After detection, the corresponding avoiding obstacle points are
the other is detection from the control point to the adjusted return point. Here, the return point
planned for avoiding
is determined the collision car. Then, avoidance thepoints are alwaysavoiding
in the center line ofpoints
the leftare
5.2. Collision byCarglobal
Detection planning. After detection, corresponding obstacle
lane. Generally, the left lane is the overtaking lane in the structured urban environment.
planned for avoiding the collision car. Then, avoidance points are always in the center line of the left
A new trajectory
Generally,
lane. Generally, thea left isvehicle
landlane generated by Bezier
is thetravels curves;
along lane
overtaking the centerthe structured
in the current
of position
a current laneofenvironment.
urban inthe
thevehicle, the control
structured urban
points, the avoidance
environment, points,toand
and it prefers the return
go straight points
along are selected
the current lane.from the existing
The collision path. If the
car detection left lane
algorithm
A new trajectory is generated by Bezier curves; the current position of the vehicle, the control
turns to impassability,
is divided into two parts: it means
one isno avoidance
detection from point
the can be detected.
vehicle position Thus,
to theacontrol
new trajectory
point in is planned
Figure 11,
points, the avoidance points, and the return points are selected from the existing path. If the left lane
from the control
the other point from
is detection to a safe
the position in front
control point to of
thethe collision
adjusted car. point. Here, the return point is
return
turns to impassability, it means no avoidance point can be detected. Thus, a new trajectory is planned
determined by global planning. After detection, the corresponding avoiding obstacle points are
Future
from theInternet
control2017, 9, 51 to a safe position in front of the collision car.
point 8 of 13
planned for avoiding the collision car. Then, avoidance points are always in the center line of the left
lane. Generally, the left lane is the overtaking lane in the structured urban environment.
A new trajectory
Impenetrable LaneisLine
generated by Bezier curves; the current position of the vehicle, the control
points, the avoidance points, and the return points
Center Line of Lane
Avoidance Pointsfrom the existing path. If the left lane
are selected
turns to impassability, it means no avoidance point can be detected. Thus, a new trajectory is planned
Pathk+1
from the control point to a safe position Pathk in front of the collision car. Pathk+2
Penetrable Lane Line

Control Point Return Point


Impenetrable Lane Line Collision Car

Figure 11.Detection
Figure11. Detection of collisioncar
of collision carand
andavoidance
avoidancepoints.
points.

5.3.5.3. Path
Path GenerationUsing
Generation UsingJPS
JPSininStructured
Structured Urban Environment
Environment
In In general,
general, cars
cars areare preferred
preferred toto drive
drive along
along thethelane
laneininthe
thestructured
structuredurban
urbanenvironment.
environment.The
The JPS
JPS algorithm is designed to search an optimal path from the control points to the return
algorithm is designed to search an optimal path from the control points to the return point, to avoid point, to the
avoid the collision in the urban environment. The JPS algorithm builds a search boundary of a green
rectangle in Figure 12, and it searches Pathk from the control point to the front avoidance point
according to the direction of the driving. Note that the avoidance point is closest to the flatted
obstacles in the center line of the left lane; Pathk+1 is obtained by connecting the avoidance points, and
Pathk+2 is searched from rear avoidance points to return points.
Impenetrable Lane Line Collision Car

Figure 11. Detection of collision car and avoidance points.

5.3. Path Generation Using JPS in Structured Urban Environment


Future Internet 2017, 9, 51 8 of 13
In general, cars are preferred to drive along the lane in the structured urban environment. The
JPS algorithm is designed to search an optimal path from the control points to the return point, to
collision
avoid in
thethe urban in
collision environment. The JPS algorithm
the urban environment. The JPSbuilds a search
algorithm buildsboundary of a greenofrectangle
a search boundary a green in
Figure 12, and it searches Path from the control point to the front avoidance
rectangle in Figure 12, and itk searches Pathk from the control point to the front avoidance point point according to the
direction of the
according to driving.
the directionNoteofthatthethe avoidance
driving. Note point is closest
that the to the
avoidance pointflatted obstacles
is closest in the
to the center
flatted
lineobstacles
of the leftin the
lane; center
Pathline
k+1 of
is the left
obtained lane;
by Path is
connecting
k+1 obtained
the by connecting
avoidance points, the avoidance
and Path points,
k+2 is and
searched
fromPath
rear is searched points
k+2 avoidance from rear avoidance
to return points to return points.
points.
TheThepathpath is generatedfrom
is generated fromthe
thecurrent
currentposition
position toto the
the goal
goalpoint,
point,itsitsperformances
performances areare
shown
shownin in
Figure
Figure 12.12. A vehicle
A vehicle is is searchedby
searched byJPS
JPSforforaanew
new path
path to
to avoid
avoidcollision
collisionarea.
area.According
According to tocollision
collision
avoiding rule, it is indicated by a red “x” in Figure 12. The new path is determined
avoiding rule, it is indicated by a red “x” in Figure 12. The new path is determined by expanded points by expanded
points (open-list/close-list
(open-list/close-list points); itpoints);
attempts it to
attempts
overtake to or
overtake
changeor change
lane in thelane in the structured
structured urban
urban environment.
environment.

2 2 2
4 4 4

Current position Control point Return point


Goal point Obstacles/Edge Flatted Obstacles
Closelist points Openlist points Avoidance points
Impenetrable lane Penetrable lane Center line of lane

Figure 12.Jump
Figure12. JumpPoint
Point Search (JPS) search
Search (JPS) searchprocedure.
procedure.

5.4.5.4. Trajectory
Trajectory Generation
Generation byby BezierCurves
Bezier Curves
A suitable
A suitable splinefor
spline forreducing
reducingthe
thediscrete
discrete data
data to
to aa smooth
smooth path
pathisisaaBezier
BezierCurve.
Curve.If those
If those
expanded points are detected successfully, they are considered as Bezier curve
expanded points are detected successfully, they are considered as Bezier curve control control points. points.
The
Bezier curve is shown in Equation (6):
The Bezier curve is shown in Equation (6):
n
P (u ) n PB
i i ,n (u ) u  [0,1] (6)
P(u) = ∑ Pi Bi,n (u) u ∈ [0, 1]
i 0
(6)
i =0
where Pi represents control points of the Bezier curves, u represents the parameters, and Bi ,n (u ) are
known
where as Bernstein
Pi represents basis polynomials
control points of theand satisfy
Bezier Equation
curves, (7) and (8):the parameters, and B (u) are
u represents i,n
known as Bernstein basis polynomials and satisfy Equations (7) and (8):

n!
Bi,n (u) = Cn i ui (1 − u)n−i = ui (1 − u)n−i , (i = 0, 1, 2, . . . , n) (7)
(n − i )!i!

Pi = [ Xi,Control , Yi,Control , Bi,Bernstein , Li , Vi ] T (8)

The ith path is expressed by Equation (9); it is used for generating a new path. Xi,Control
and Yi,Control represent control points from the JPS algorithm, and Bi,Bernstein represents Bernstein
coefficients, while Li and Vi represent a length of path and a limit speed of the corresponding path.
Therefore, local path planning based on JPS is descripted as in Table 1.
The
The ith
ith path
path is
is expressed
expressed by
by Equation
Equation (9);
(9); it
it is
is used
used for
for generating
generating aa new new path.
path. XX ii,,Control and
and
Control
represent
Yi ,Control represent control points
control points from the JPS
from the JPS algorithm,
algorithm, and
and B represents Bernstein
Bi , Bernstein represents Bernstein
Yi ,Control i , Bernstein
coefficients,
coefficients, while
while L Lii and
and VVii represent
represent aa length
length of
of path
path and
and aa limit
limit speed
speed of
of the
the corresponding
corresponding path.
path.
Therefore,
Therefore,
Future
local path
local9, path
Internet 2017,
planning based on JPS is descripted as in Table
51 planning based on JPS is descripted as in Table 1.
1. 9 of 13

Table
Table 1.
1. Local
Local Path
Path Planning
Planning based
based on
on JPS
JPS in
in Structured
Structured Environment.
Environment.
Table 1. Local Path Planning based on JPS in Structured Environment.
Step1:
Step1: Drive
Drive behavior
behavior decisions,
decisions, meanwhile,
meanwhile, detection
detection of
of collision
collision
car
car includes two parts, one is detection from vehicle position to
includes two parts, one is detection from vehicle position to
Step1: Drive behavior decisions, meanwhile, detection of collision car includes two parts, one is detection from
control
control point,
point, the
the other
other is
is detection
detection from
from control
control point
point to
to adjusted
adjusted
vehicle position to control point, the other is detection from control point to adjusted return point;
return
return point;
point;
Step2: Structure of Step2:
searching boundary and avoidance points in the structured urban environment;
Step2: Structure
Structure of
of searching
searching boundary
boundary and
and avoidance
avoidance points
points in
in the
the
Step3: Path generation with
structuredJPS in
urbanSection 4.3;
environment;
structured urban environment;
Step3:
Step3: Path
Step4: Trajectory smoothing generation
with
Path with
Bezier curves
generation within JPS in
in Section
Section
JPS 5.4. 4.3;
Section 4.3;
Step4:
Step4: Trajectory smoothing with Bezier curves
Trajectory smoothing with Bezier curves in
in Section
Section 5.4.
5.4.
6. Simulation Experiments Analysis
6.
6. Simulation
Simulation Experiments
Experiments Analysis
Analysis
In Figure 13, an optimal route (green line) from the start point to the end point is obtained by the
In Figure
Figure 13,
Inanalysis13, an optimal
an Except route
optimalfor
route (green line) from the start point to
to the end
end point is
is obtained by
network tool. the(green line)
general from
road, the are
there startsome
pointspecial
the points
point obtained
in Figure 14. by
the
the network
network analysis
analysis tool.
tool. Except
Except for
for the
the general
general road,
road, there
there are
are some
some special
special points
points in
in Figure
Figure 14.
14.

Figure
Figure 13.
13. The
Figure13. The results
resultsof
results ofglobal
of globalpath
global pathplanning.
path planning.
planning.

Figure 14. Search


Figure14. and get
Search and getthe
thespecial
specialCurve
CurvePath.
Path.
Figure 14. Search and get the special Curve Path.

By reading SP1 and SP2 data, the unique index is worked out, and the special route database is
searched to get a special route named the Curve Path. When the car arrives at SP1, the Curve Path
(red line) take the place of the green line as its current path. Also, when it arrives at SP2, it continues to
use the green line as its path until it drives to the destination in Figure 14.
We implement the local path planning algorithm with regard to obstacles to avoid the driverless
car feasible path in the structured urban environment. Firstly, static/dynamic obstacles perception
and lane line detection are significant for drive behavior decisions for local path planning. In addition,
the driverless car completes overtaking, unexpected obstacles avoidance, and parking. The simulation
experiments results using local path planning based on JPS are as shown in Figure 15.
Figure 15a shows the experiment scene under the structured urban environment with static
obstacles along the road by laser rangefinder. The black solid lines in Figure 15 represent lane lines,
and the car is hard to cross, while black dash lines represents the passable lane line. The car could
Future Internet 2017, 9, 51 10 of 13

By reading SP1 and SP2 data, the unique index is worked out, and the special route database is
searched to 2017,
Future Internet get a9,special
51 route named the Curve Path. When the car arrives at SP1, the Curve10Path of 13
(red line) take the place of the green line as its current path. Also, when it arrives at SP2, it continues
to use the green line as its path until it drives to the destination in Figure 14.
achieveWelane changing
implement theand overtaking
local in Figure
path planning 15b. Figure
algorithm with 15c–e
regarddescribes behaviors
to obstacles of lane
to avoid changing
the driverless
and overtaking in the case of collision car (purple triangle) detection at the same
car feasible path in the structured urban environment. Firstly, static/dynamic obstacles perceptionlane. The driverless
car generates
and a feasible
lane line detection trajectory
are to for
significant follow
drivethe local path
behavior planning
decisions as a path
for local red solid line in
planning. InFigure 15.
addition,
If it cannot satisfy lane changing and overtaking conditions, then the driverless
the driverless car completes overtaking, unexpected obstacles avoidance, and parking. The car performances are
shown in Figure
simulation 15f. Thus,
experiments it is using
results verified thatpath
local the planning
proposedbased
path planning
on JPS are method is effective.
as shown in Figure 15.

200 70
Impenetrable Lane Line Impenetrable Lane Line
180 Penetrable Lane Line 60 Penetrable Lane Line
Obstacles Obstacles
160
50 Path
140 Collision Car
40
120
[m]

[m]
100 30

80
20
60
10
40

20 0

0
-20 -15 -10 -5 0 5 10 15 20 -10
[m] -20 -15 -10 -5 0 5 10 15 20
[m]

(a) the structured urban environment with


(b) a car for lane changing for step 1
static obstacles
70 70
Impenetrable Lane Line Impenetrable Lane Line
60 Penetrable Lane Line 60 Penetrable Lane Line
Collision Car Obstacles
Obstacles 50 Path
50
Path Collision Car

40 40
[m]
[m]

30 30

20
20

10
10

0
0

-10
-10 -20 -15 -10 -5 0 5 10 15 20
-20 -15 -10 -5 0 5 10 15 20
[m]
[m]
(c) a car for lane changing for step 2 (d) a car for lane changing for step 3
70 70
Impenetrable Lane Line Impenetrable Lane Line
60 Penetrable Lane Line 60 Penetrable Lane Line
Obstacles Obstacles
50 Path 50 Path

40 40
[m]

[m]

30 30

20 20

10
10

0
0

-10
-20 -15 -10 -5 0 5 10 15 20 -10
[m] -20 -15 -10 -5 0 5 10 15 20
[m]
(f) it cannot satisfy lane changing or
(e) a car for lane changing for step 4
overtaking conditions

Figure 15. Path planning results for driverless car in structured urban environment.

Figure 15. Path planning results for driverless car in structured urban environment.
In this paper, we compare five kinds of search algorithms, including A*, JPS, PRM, VFH, and
RRT.In Meanwhile,
this paper,experiment
we comparecondition is of
five kinds thesearch
same algorithms,
as in Figureincluding
15b. Results
A*, are
JPS,shown in Table
PRM, VFH, and2,
and the comparison results in scene 1 are shown in Figure 16. Five different scenes of each
RRT. Meanwhile, experiment condition is the same as in Figure 15b. Results are shown in Table 2, algorithm
are tested for time complexity; each scene is run five times for each algorithm in matlab to obtain an
average. Therefore, the elapsed time of PRM is the longest, and the elapsed time of JPS is the shortest,
Future Internet 2017, 9, 51 11 of 13

and the
Future comparison
Internet 2017, 9, 51 results
in scene 1 are shown in Figure 16. Five different scenes of each algorithm
11 of 13
are tested for time complexity; each scene is run five times for each algorithm in matlab to obtain an
average. Therefore, the elapsed time of PRM is the longest, and the elapsed time of JPS is the shortest,
which
which verifies
verifies that
that the
the JPS
JPS algorithm
algorithm has
has the
the best
best performance
performance of
of time
time cost
cost among
among these
these popular
popular
algorithms.
algorithms. Meanwhile, the planning paths of A*, JPS, PRM, VFH, and RRT are different due to
Meanwhile, the planning paths of A*, JPS, PRM, VFH, and RRT are different due to the
the
different
different algorithm
algorithm searching
searching ability,
ability,which
whichisisanother
anotherexpression
expressionof
oftime
timecomplexity.
complexity.

VFH Algorithm
70

60

50

40
[m]

30

20

10

-10
-20 -15 -10 -5 0 5 10 15 20
[m]
(a) VFH algorithm (b) PRM algorithm

(c)Astar algorithm (d)RRT algorithm


Figure 16. Four algorithms simulation experiment results.
Figure 16. Four algorithms simulation experiment results.

Table 2. The time complexity evaluation comparison (secs) of different algorithms.


Table 2. The time complexity evaluation comparison (secs) of different algorithms.
Algorithm Scene1 Scene2 Scene3 Scene4 Scene5 Average
Algorithm Scene1 Scene2 Scene3 Scene4 Scene5 Average
A* 0.5226 0.4689 0.4241 0.4327 0.6288 0.8257
A* 0.5226
JPS 0.46890.01792
0.02113 0.4241
0.02003 0.4327 0.0259
0.0179 0.6288
0.02058 0.8257
JPS 0.02113 0.01792 0.02003 0.0179 0.0259 0.02058
PRM 8.2568 6.2625 6.7503 7.0778 6.9995 7.0694
PRM 8.2568 6.2625 6.7503 7.0778 6.9995 7.0694
VFH VFH
1.3215 1.3215
1.06111.0611 1.2958
1.2958 1.0376
1.0376 1.1192 1.1670
1.1192 1.1670
RRT RRT
0.0900 0.0900
0.10850.1085 0.0703
0.0703 0.0777
0.0777 0.0834 0.0860
0.0834 0.0860

7. Conclusions
This study
study presents
presents real-time
real-timepath
pathplanning
planningbased
basedon onJPS
JPSinina astructured
structuredurban
urban environment
environment at
30 30
at kph. At beginning,
kph. a vector
At beginning, GIS map
a vector GIS ismap
built,
is which
built, contains a GPS position,
which contains a direction
a GPS position, and lane
a direction
information.
and Next, a global
lane information. Next,path is planned
a global pathaccording
is planned to according
the GIS map to database
the GIS mapfor adatabase
driverlessfor
car.
a
Then, the JPS algorithm is adopted for driverless cars and for local path planning.
driverless car. Then, the JPS algorithm is adopted for driverless cars and for local path planning. Finally, 125
simulation
Finally, 125 experiment
simulation results show results
experiment that theshow
JPS algorithm
that the isJPSan algorithm
efficient method
is an for real-time
efficient local
method
pathreal-time
for planning,local
and itpath
can find the optimal
planning, and itpath
canrapidly
find thein the structured
optimal path urban environment.
rapidly in the structured
urban environment.
Acknowledgments: This paper was supported by the National Natural Science Foundation of China (Grant No.
61403426, 61403427), State
Acknowledgments: This Key
paperLaboratory of Mechanical
was supported by the Transmissions of Chongqing
National Natural University of
Science Foundation (SKLMT-
China
(Grant No. 61403426, 61403427), State Key Laboratory of Mechanical Transmissions of Chongqing University
Future Internet 2017, 9, 51 12 of 13

(SKLMT-KFKT-201602), State Key Laboratory of Robotics and System (HIT) (SKLRS-2017-KF-13). Meanwhile,
we thank Ref. [19]’s authors, Figures 9 and 10 are based on that paper.
Author Contributions: Kaijun Zhou and Lingli Yu conceived and designed the experiments; Ziwei Long and
Siyao Mo performed the experiments; Kaijun Zhou and Lingli Yu analyzed the data; Lingli Yu wrote the paper.
Conflicts of Interest: The authors declare no conflict of interest.

References
1. Rodriguez-Castaño, A.; Heredia, G.; Ollero, A. High-speed autonomous navigation system for heavy vehicles.
Appl. Soft Comput. 2016, 43, 572–582. [CrossRef]
2. Shi, L.; Prevedouros, P. Autonomous and Connected Cars: HCM Estimates for Freeways with Various
Market Penetration Rates. Transp. Res. Procedia 2016, 15, 389–402. [CrossRef]
3. Chen, Y.; Han, J.; Wu, H. Quadratic Programming-based Approach for Autonomous Vehicle Path Planning
in Space. Chin. J. Mech. Eng. 2012, 25, 665–673. [CrossRef]
4. Liu, X.; Xu, X.; Dai, B. Vision-based long-distance lane perception and front vehicle location for full
autonomous vehicles on highway roads. J. Cent. South Univ. 2012, 19, 1454–1465. [CrossRef]
5. Kutila, M.; Pyykönen, P.; Lybeck, A.; Niemi, P.; Nordin, E. Towards Autonomous Vehicles with Advanced
Sensor Solutions. World J. Eng. Technol. 2015, 3, 6–17. [CrossRef]
6. Pelusi, D.; Mascella, R.; Tallini, L.; Vazquez, L.; Diaz, D. Control of Drum Boiler dynamics via an optimized
fuzzy controller. Int. J. Simul. Syst. Sci. Technol. 2016, 17, 22.1–22.7.
7. Sun, N.; Han, G.; Duan, P.; Tan, J. A Global and Dynamitic Route Planning Application for Smart
Transportation. In Proceedings of the International Conference on Computational Intelligence Theory,
Systems and Applications (CCITSA), Yilan, Taiwan, 10–12 December 2015; pp. 203–208.
8. Zhu, L.; Yin, D.; Shen, L.; Xiang, X.; Bai, G. Research on urban application-oriented route planning of UAV
based on mobile communication network. In Proceedings of the International Conference on Computer
Science and Network Technology (ICCSNT), Harbin, China, 19–20 December 2015; pp. 1562–1570.
9. Wang, J.F.; Lv, J.; Wang, C.; Zhang, Z.Q. Dynamic Route Choice Prediction Model Based on Connected
Vehicle Guidance Characteristics. J. Adv. Transp. 2017. [CrossRef]
10. Guo, C.; Kidono, K.; Ogawa, M. Vision-Based Identification and Application of the Leader Vehicle in Urban
Environment. In Proceedings of the IEEE International Conference on Intelligent Transportation Systems,
Las Palmas, Spain, 15–18 September 2015; pp. 968–974.
11. Zhu, H.; Fu, M.; Yang, Y.; Wang, X.; Wang, M. A path planning algorithm based on fusing lane and obstacle
map. In Proceedings of the International IEEE Conference on Intelligent Transportation Systems (ITSC),
Qingdao, China, 8–11 October 2014; pp. 1442–1448.
12. Ma, Y.J.; Hou, W. Path planning method based on hierarchical hybrid algorithm. In Proceedings of the
International Conference on Computer, Mechatronics, Control and Electronic Engineering, Changchun,
China, 24–26 August 2010; pp. 74–77.
13. Lidoris, G.; Rohrmuller, F.; Wollherr, D.; Buss, M. The Autonomous City Explorer (ACE) project—Mobile
robot navigation in highly populated urban environments. In Proceedings of the IEEE International
Conference on Robotics and Automation, Kobe, Japan, 12–17 May 2009; pp. 1416–1422.
14. Ulrich, I.; Borenstein, J. VFH*: Local obstacle avoidance with look-ahead verification. In Proceedings of the
IEEE International Conference on Robotics and Automation, San Francisco, CA, USA, 24–28 April 2000;
Volume 3, pp. 2505–2511.
15. Sun, F.; Huang, Y.; Yuan, J.; Kang, Y.; Ma, F. A Compound PRM Method for Path Planning of the
Tractor-Trailer Mobile Robot. In Proceedings of the IEEE International Conference on Automation and
Logistics, Jinan, China, 18–21 August 2007; pp. 1880–1885.
16. Tian, Y.; Yan, L.; Park, G.Y.; Yang, S.H.; Kim, Y.S.; Lee, S.R.; Lee, C.Y. Application of RRT-based local
Path Planning Algorithm in Unknown Environment. In Proceedings of the International Symposium on
Computational Intelligence in Robotics and Automation, Jacksonville, FL, USA, 20–23 June 2007; pp. 456–460.
17. Majumder, S.; Prasad, M.S. Three dimensional D* algorithm for incremental path planning in uncooperative
environment. In Proceedings of the International Conference on Signal Processing and Integrated Networks
(SPIN), Noida, India, 11–12 February 2016; pp. 431–435.
Future Internet 2017, 9, 51 13 of 13

18. Jiang, W.L.; Rong, X.; Jian, C. Sideslip-force based local path planning in complex and dynamic environment.
J. Zhejiang Univ. 2007, 41, 1609–1614.
19. Harabor, D.D.; Grastien, A. Online Graph Pruning for Pathfinding on Grid Maps. In Proceedings of the
AAAI Conference on Artificial Intelligence, San Francisco, CA, USA, 7–11 August 2011; pp. 1114–1119.
20. Harabor, D.; Grastien, A. Improving jump point search. In Proceedings of the Twenty-Fourth International
Conference on Automated Planning and Scheduling, Portsmouth, NH, USA, 21–26 June 2014; pp. 128–135.
21. Rabin, S.; Sturtevant, N.R. Combining Bounding Boxes and JPS to Prune Grid Pathfinding. In Proceedings of
the AAAI Conference on Artificial Intelligence, Phoenix, AZ, USA, 12–17 February 2016; pp. 746–752.
22. Aversa, D.; Sardina, S.; Vassos, S. Path planning with Inventory-driven Jump-Point-Search. In Proceedings
of the AAAI Conference on Artificial Intelligence and Interactive Digital Entertainment (AIIDE), Santa Cruz,
CA, USA, 14–18 November 2015; pp. 2–8.
23. Jiang, K.; Yang, Y. Efficient dynamic pruning on largest scores first (LSF) retrieval. Front. Inf. Technol.
Electron. Eng. 2016, 17, 1–14. [CrossRef]
24. Khan, H.; Iqbal, J.; Baizid, K.; Zielinska, T. Longitudinal and lateral slip control of autonomous wheeled
mobile robot for trajectory tracking. Front. Inf. Technol. Electron. Eng. 2015, 16, 166–172.
25. Available online: http://www.esri.com/software/arcgis/arcgisengine (accessed on 23 August 2017).
26. Available online: http://gisgeography.com/wgs84-world-geodetic-system/ (accessed on 23 August 2017).

© 2017 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access
article distributed under the terms and conditions of the Creative Commons Attribution
(CC BY) license (http://creativecommons.org/licenses/by/4.0/).

You might also like