1. Introduction
According to a survey reported in 2018 [
1], the number of on-road accidents is more than 90% caused by personal inadvertences. Self Driving Cars (SDCs) are a prominent method for the human to solve collisions, frustrating situations, and decrease energy expenditure. Although SDCs have breakthroughs in trial stages, the governments are still hesitant to commercialize due to the worry about safety in public transport. Recently, SDCs technology has been developed with a large number of studies, especially in the epoch of deep learning. Besides, the biggest challenge of SDC technology is that it needs to handle all circumstances on the road like expert drivers.
Within 2016, the Society of Automotive Engineers (SAE) defined various criteria of the autonomy level of SDCs [
2]. Firstly, it starts at level 0 with comprehensive human handling. Level 1 can support the driver by operating either lane-keeping assist systems or adaptive cruise control. Level 2, which assists human drivers in steering and acceleration control, operates similarly to level 1 but is more intelligent in specific driving scenarios. At level 3, the autonomous module can conduct perception tasks like object detection and tracking to intervene in the control tasks, this level requires frequent human override for vehicle control. At level 4, the operation can manage most of the circumstances on the road; nevertheless, human override is an option to handle unexpected scenarios. To the best of our knowledge, at this level, an exclusively self-driving company named Waymo is ready to deploy in public transportation over numerous million miles on city roads in fall 2018 [
3]. Level 5 is designated to a fully autonomous vehicle.
The Defense Advanced Research Projects Agency (DARPA) started an autonomous driving challenge in 2002 [
4]. This challenge can be considered as the first well-known experiment for SDCs, and it opened the imagination of humans about what the autonomous vehicle can do. The first competition was held and awarded one million dollars for the winner on March 13, 2004 [
4]. However, in the first contest, no team could complete the challenge. The second DARPA grand challenge was held on October 8, 2005 [
4]. Five teams of twenty-three could accomplish the autonomous driving mode. Stanley robot of Stanford won the competition followed by Sandstorm of Carnegie Mellon. Later, on November 3, 2007, the DARPA established a competition called DARPA Urban Challenge, which operated on busy roads and needed much more intelligent motion planning and perception [
4,
5]. This competition also required vehicles to drive automatically in several locations with GPS-denied environments. The winning team was Boss of Carnegie Mellon University, and the Stanford Junior team came second. After the DARPA competition, many autonomous vehicle challenges and tests have been organized. The European Land-Robot Trial (ELROB) [
6] has been conducted from 2006 to the present. From 2009 to 2013, the Intelligent Vehicle Future Challenge in China was held [
7]. In South Korea, the autonomous vehicle challenge was firstly announced by Hyundai cooperation in August 2008 [
8]. The most recent competition was announced in March 2018 and organized in July 2019. The organizer built a testing ground called K-city to mimic the urban area.
From that time of the final DARPA Urban Challenge, many successful stories in the industry of autonomous driving in urban environments have been reported. Specifically, Google’s self-driving car had driven automatically over 140 thousand miles in California in 2010 [
9]. About four years later, Google successfully developed an autonomous vehicle that can be driven up to 40 kilometers per hour in the urban area. In 2016, Google’s autonomous driving vehicle was renamed to Waymo [
3]. From that moment, Waymo has been getting many achievements and leading the race to get autonomous cars into public transportation. Around the end of 2015, the Tesla company induced an autonomous driving vehicle called Autopilot to market [
10]. In 2016, the Tesla Model S had a disastrous accident in Florida. The reason for this accident was the simultaneous failure of both camera and radar sensors. Despite suffering severe problems, the self-driving automobiles are continuously developed. Recently, Zoox and nuTonomy have led the autonomous taxi business. Numerous start-up businesses have been establishing and reinforced to bring safe autonomous vehicles to trade as early as 2020. Autoware [
11], Apollo [
12], NVIDIA DriveWorks [
13] and Openpilot [
14] are the most popular open-source frameworks. We highlight that Autoware [
11] and Apollo [
12] using the Robot Operating System (ROS) [
15] that can be flexibly integrated into real-world applications.
Roughly speaking, the autonomous vehicle system can be commonly divided into three primary classes [
16,
17], including perception and environment mapping, motion planning and control system. In this article, we develop an autonomous driving system, as shown in
Figure 1. The perception and environment mapping are applied to determine where the self-driving vehicle is and what surrounding environments are. One of the most challenging issues in the urban scene is less-texture and high illumination. So that the localization algorithm could achieve precision and be robust in the area, the localization uses the inertial navigation system (INS) with an Inertial Measurement Unit (IMU) and Global Positioning System (GPS) fusion to avoid drift over time [
16,
17]. In GPS-denied environments such as a tunnel scene, the 3D LiDAR odometry [
18] technique is implemented to localize itself. The prediction uses the Interactive Multiple Model–Unscented Kalman Filter–Joint Probabilistic Data Association Filter (IMM-UKF-JPDAF) method [
19], which predict the trajectories of the dynamic objects such as vehicles, pedestrian. The motion planning categorizes into three groups [
16,
17,
20] global path planning (GPP), decision-making and local planning. The GPP makes route planning, which plots through a series of lanes or roads efficiently. The GPP generally uses a High Definition (HD) Map, which provides ad-hoc structured information regarding the streets and Vehicle-to-X (V2X) communication technology, then it chooses the best route via a series of waypoints.
This paper focuses on handling a hierarchical control system including decision making, local path planning and control. The decision-making can be divided into Finite State Machines (FSM) and Markov Decision Processes (MDPs) [
16,
17]. MDPs is useful for solutions with uncertainty information of perception and quite complicates to implement with a large variety of scenarios. In contrast, FSM is a simple method and handles well with many circumstances. In the DARPA Urban Challenge, Stanford Junior team succeeded in applying FSM with several scenarios in urban traffic roads [
4]. However, the main drawback of FSM is the difficulty in solving uncertainty and in large-scale scenarios. In this work, we propose the decision-making with a new structure to manage various traffic scenarios and road conditions. This FSM contains the mission that the vehicle should perform and the behavior of the car, such as lane-changing, lane-keeping, obeying traffic lights, and rule-based speed limits. The local path planner (LPP) generates a regional trajectory for the autonomous vehicle in both structured and unstructured scenarios. Researchers in [
21] used the decoupled approach of path and velocity to produce a speed profile, although this solution is not optimal but straightforward. Appolo [
12] performs the spline path by determining a QP optimization problem with linearized constraints. Despite this algorithm is an effective method but not optimal with the temporal variable. In this paper, we solve the LPP by exploring an optimization problem in the Frenet coordinate [
22]. Herein, we define the optimization problem with not only trajectory parameters but also travel time, and additionally join the constraints of input and output velocity. After solving this optimization problem, we have both spatial and temporal parameters for the control. Recently, the deep learning approaches can be employed to manage lateral control directly [
23] or aid the controller [
24]. Nevertheless, the computational cost, complexity, and less robustness are the main drawbacks of the method. The classical controller as the PID method is the most popular control strategy which operates adequately in various applications of process control. However, distributed noises such as road conditions, friction forces are hard to handle by the PID controller. Moreover, the Model Predictive Control (MPC) [
20,
25] is a state-of-the-art solution for cruise control due to its accuracy. However, the implementation of MPC is complex and offers a computationally-expensive solution. The authors of [
20,
26] designed a unique Scheduled Feedforward PI (SFF-PI) controller for both acceleration and brake. We propose two SFF-PI controllers for the longitudinal control. The proposed architecture efficiently manipulates both acceleration and brake.
This paper is highlighted with substantial contributions as follows:
- (i)
We successfully develop and implement a hierarchical control system for an autonomous vehicle platform. The vehicle can manipulate the whole mission autonomously within a proving ground.
- (ii)
The motion planning with the decision-making mechanism using two-stage FSM for the SDCs is proposed. Besides, we solve an efficient LPP by using a nonlinear optimization technique and a real-time Hybrid A* algorithm.
- (iii)
The adaptive-pure pursuit algorithm for path tracking and a new SFF-PI architecture for longitudinal control are implemented successfully in urban environments.
The remainder of this paper addresses the design of a hierarchical control system for a self-driving vehicle of Chungbuk National University called Clothoid.
Section 2 describes the study on motion planning with decision making using two-level FSM. Next, the local path planning generating a comfortable trajectory by solving nonlinear constraints based-optimization is presented. The local path performs practically an obstacle avoidance algorithm with the occupancy grid map using real-time hybrid A*. Then, the control strategies that use an adaptive-purse pursuit for lateral control and two SFF-PI controllers for longitudinal control are exhibited. Finally, experimental results in the K-city proving ground are described in
Section 3 and
Section 4 provides the conclusion of the paper.