Path Planning Based on Obstacle-Dependent Gaussian Model Predictive Control for Autonomous Driving

: Path planning research plays a vital role in terms of safety and comfort in autonomous driving systems. This paper focuses on safe driving and comfort riding through path planning in autonomous driving applications and proposes autonomous driving path planning through an optimal controller integrating obstacle-dependent Gaussian (ODG) and model prediction control (MPC). The ODG algorithm integrates the information from the sensors and calculates the risk factors in the driving environment. The MPC function ﬁnds vehicle control signals close to the objective function under limited conditions, such as the structural shape of the vehicle and road driving conditions. The proposed method provides safe control and minimizes vehicle shaking due to the tendency to respond to avoid obstacles quickly. We conducted an experiment using mobile robots, similar to an actual vehicle, to verify the proposed algorithm performance. The experimental results show that the average safety metric is 72.34%, a higher ISO-2631 comport score than others, while the average processing time is approximately 14.2 ms/frame. the middle of the lane. the operation speed is slower than that for the PF, the results demonstrate that the algorithm to the reference path. The results indicate that the second obstacle is operated by avoiding obstacles 11.9% farther than the PF algorithm and 26.7% farther than the PF MPC algorithm.


Introduction
Autonomous driving refers to a technology that determines the driving situation through sensors and drives to the destination without driver intervention. Autonomous driving in the future is expected to increase traffic efficiency and driver convenience, and enhance traffic safety. Most traffic accidents and fatalities occur during lane changes and overtaking [1]. Such accidents greatly injure human life, and autonomous driving remains an important task for full commercialization in the current technology regarding path planning safety. Adaptive cruise control [2], lane-keeping assist [3], and automated emergency braking [4] of advanced driver assistance systems (ADAS) technologies have positive effects on driving safety [5]. Recently, Advanced driver assistance systems (ADAS) use advanced detection sensors, global positioning systems (GPS), and video equipment to recognize situations while driving, judge the situation, and control the car. Therefore, companies, such as Google and Tesla, are working on fully autonomous driving without human intervention [6]. However, it is still difficult to research the technology of fully autonomous driving. Therefore, this paper suggests determining how a vehicle should behave concerning surrounding vehicles as an obstacle avoidance path planning problem.
Path planning is a technology that enables mobile robots or vehicles to move autonomously. With the advancement of technology, research on avoiding obstacles without human intervention has been actively conducted in the field of autonomous driving [7]. The path planning research area is divided into global path planning, which generates a path using the information from the entire map, and local path planning, which generates a path using sensors. Global path planning is a low-resolution high-level planning that determines the map information before the vehicle runs, creates a path, and then operates.
The sampling-based approach is a method that quickly searches the space by selecting a random point in each sample and creating a path continuously by extending it in the random point direction. Because the algorithm relaxes the completeness requirement, it has the advantage of being able to relatively quickly find a path that is possible from the start to the target point, even with a high-dimensional state space. Therefore, the destination can be reached safely without problems at a local minimum based on probability. The Rapidly exploring Random Tree (RRT) and RRT* algorithms [8] are typical examples of the sampling-based approach method. However, the sampling-based approach methods have a limitation in finding the best path: the disadvantage of unnecessary costs in computation and inefficiency.
The second method is the search-based approach method. The biggest feature of this algorithm is searching for a heuristic-based search as the graph-based method. After the graph is generated, the path is searched from the start to the target point at the minimum cost. The optimum path can be found faster using the correct heuristic function. Examples include the Dijkstra algorithm and A* algorithm [9]. However, the computation amount is limited due to the large graph and complexity of the environment. If the environment changes after determining the shortest path, it is difficult to respond quickly. Therefore, the algorithm works well in low-speed applications but has a limitation in high-speed driving.
The third method, the continuous geometry curve-based method, is an optimized path planning algorithm that uses the spline function used in various mobile robot fields. The search and sample methods described above do not include vehicle dynamics; thus, optimal path planning cannot be performed. However, this method is based on vehicle dynamics and many studies on path smooth algorithms [12]. For example, the continuous geometry curve-based method can be performed using spline curves [13], bezier curves [14], and polynomial curves [15]. However, these methods also have a limitation because they do not perform optimal path planning in terms of relative speed.
The fourth method is the risk-based approach, which consists of repulsive forces to avoid collision and attractive forces to reach the goal. Therefore, when accurate information on the roads and surrounding obstacles is available to recognize, it is an effective method to generate a trajectory without causing an obstacle collision. Because the risk-based approach method does not contain vehicle dynamics, it cannot guarantee experimentation in real vehicles. Examples include the artificial potential field (APF) [11], which updates the peripheral information in the driving conditions of the expressway; then, the algorithm works. There are also attempts to imitate a way of the person as a way of defining risk, such as Driver's Risk Field [16] and humans motor response [17]. While theses approaches to path planning through obstacle avoidance provide good results in many applications, there are some major drawbacks to the trade-off between essential computational resources and solution optimization. Many of the commonly used path planning methods rely heavily on extensive simulation testing because there is no formal stability analysis and verification methodology.
Therefore, it is desirable to formalize the path planning problem as a low complexity problem. In the Model Predictive Control (MPC) path planning, a path is found to solve a constrained optimal control problem over a finite time horizon. A cost function is minimized subject to constraints, including vehicle dynamics, design and physical constraints, and additional constraints introduced to avoid collision with surrounding vehicles. The constrained optimal control problem is solved in the receding horizon, i.e., at every time step, the problem is formulated over a shifted time horizon based on newly available sensor measurement information. The main advantage of resorting to such a formulation is that collision avoidance is guaranteed, provided that the optimization problem is feasible. However, collision avoidance constraints for trajectory planning are generally non-convex, limiting the feasibility and uniqueness of the solution to the optimization problem. Re-searchers rely on techniques such as piecewise-linear model [18], Gaussian process-based approach [19], convexification [20], and machine learning [21][22][23] to address the issue.
Local path planning is a high-resolution low-level planning that operates by generating a path using a limited time and space boundary [24]. These algorithms make a finite set of trajectories that follow a waypoint provided by a global path planner, avoiding obstacles detected by the sensor. The discrete scheme of this trajectory is optimized by the integration of differential equations in vehicle dynamics [25]. Typically, the bug algorithm, a local path planning algorithm, works based on sensors without information on the map [26]. These algorithms make a straight line in the direction of the target point provided by the global path planner and then move along the line and encounter an obstacle. The algorithm detects the obstacle and moves around it. After moving around it, the algorithm finds the nearest point to the target point and moves back to the target point.
Another example of local path planning is the tentacle method [27]. This method creates a path by selecting only one of several vehicle trajectories depending on the obstacle location and uses the local path planning method for global path planning. Because this method does not consider moving people or moving vehicles, it is currently used as path smoothing.
The aforementioned global path planning method limits the information from the entire map in the outdoor case where the map information is needed. The concept of local path planning is required to compensate for the limitations of global path planning [24]. In most autonomous driving currently under research, maps are created through sensors. Then, path planning is conducted without information on the entire map. Many current path planning studies have used global path planning as local path planning [28][29][30][31]. Therefore, this paper focuses on the local path planning method of autonomous vehicles based on a predefined global path.
Autonomous driving requires the ability to maintain lanes and speed while overtaking front vehicles. In the driving environment, lanes are divided into solid lines and dotted lines, as shown in Figure 1. The Ego vehicle E must be controlled to avoid a dangerous collision with the surrounding vehicle S k (k = 1, · · · , q), where q is the number of surrounding vehicles. The APF algorithm [32] described in Section 1 explains the results of effectively conducting path planning with attractive and repulsive forces differently from other algorithms. However, due to the many parameters used for control, it is difficult to determine the optimal control. Thus, Cho et al. [33] experimented using the ODG potential field (PF), the improved version of the APF algorithm. The ODG PF algorithm uses the Obstacle-Dependent Gaussian (ODG) model, which expresses the presence of an obstacle measured by the sensor as a risk using a Gaussian function [33]. It is confirmed that path planning is more stable than APF through the experiment while having fewer parameters. However, as the ODG PF does not contain vehicle dynamics, the experimental results show unstable control, which is limited in real vehicle models.
We propose a risk model-generalized ODG model to create a path that incorporates the vehicle risk rather than removing the MPC constraints on collision avoidance. The proposed algorithm calculates the optimal path using MPC, and in this process, the cost function includes the proposed risk model that expresses the risk information of the obstacle detected by the sensor. Due to the characteristics of the proposed algorithm, it tends to react quickly to obstacle information detected by the sensor and avoid the obstacle. As a result, stable driving is possible with a quick response to an obstacle vehicle, and a quick response creates a low lateral acceleration. Therefore, we propose an optimal controller that integrates the proposed risk model and MPC to solve the computational problem and enable stable obstacle avoidance path planning. The main contributions of this paper are as follows: We proposed a general ODG-based risk model to apply for vehicles and lanes to define the risk of driving. (2) We combined the general ODG-based risk model and MPC, and the proposed algorithm responds to avoid obstacles quickly. Due to this tendency, the proposed method provides safe control and minimizes vehicle shake.
The proposed method can control the vehicle for the obstacle avoidance process in real-time, and it has been confirmed through experiments.
This paper is organized as follows. Section 2 discusses related work, introducing the ODG model and the MPC function. Section 3 defines the proposed method using the proposed risk model and MPC. Section 4 presents an experiment using mobile robots similar to vehicle dynamics and the experimental results of propose method. Section 5 summarizes and concludes. In addition, the nomenclature and variable definition are given in Nomenclature, respectively.

Related Work
Before describing the proposed algorithm, this section briefly reviews the fundamental theories associated with the proposed algorithm. We first describe the ODG PF algorithm and the MPC function. Section 2.1 describes the ODG PF algorithm, and Section 2.2 describes the MPC function.

Obstacle-Dependent Gaussian Potential Field Algorithm
This section describes a risk-based algorithm, ODG PF. Cho et al. [33] found that the laser range finder (LRF) sensor data measured in the LRF sensor are used to determine obstacles and measure the risk using the Gaussian function at the measured value. Using the measured risk, move the yaw angle of the vehicle through the inertial measurement unit sensor to a place with low risk.
The received data are measured in Figure 2, and the measured data are listed in Figure 3. As a result, the measured data determine the obstacle [33]. Figure 4 stands for the enlargement of the angle occupied by the obstacle after considering the vehicle width. The ODG PF algorithm measures the width for the determined obstacle, as depicted in Figure 4, and calculates the repulsive field for the measured obstacle. Thus, for θ measured for each obstacle in the sensor, as presented in (1), the Gaussian function is calculated to produce a reactive field: where θ k is a center angle of each obstacle, d max is the maximum detection range, σ k denotes half of the angle occupied by the kth obstacle, and n is the number of obstacles. In θ i , ith indicates the data contract of the sensor data (i = 1, ..., 361), and it means the sequence number of the approach angle. The coefficient k rep is set up for each obstacle to embrace the Gaussian likelihood for each obstacle fully.
where k att is the weight parameter for an attractive field. The attractive field is calculated to follow the direction of the goal point (θ goal ), as shown in (3). Thus, the total fields are available, as presented in (4). When the total field is obtained, the vehicle is moved by the θ of the minimum point, as depicted in Figure 5.

Model Predictive Control
This section describes the MPC function, as described in [29,30]. The MPC algorithm finds the optimal control to minimize the cost function that satisfies the constraints consisting of the predicted horizon and system model [29,30]. Therefore, as depicted in Figure 6, the MPC algorithm is a way to predict status variables or outputs using models of control targets. This method can provide optimized control using appropriate cost functions and constraints. The MPC method [29,30] has the advantage that it can control a set of target points in the constrained system. If the target's steady state is not admissible, Limon et al. [29] induced the system into an acceptable safe state. The rest of this section describes how to implement the MPC algorithm.
The discrete-time LTI system is given by (5). Moreover, x ∈ IR n x denotes the state, and u ∈ IR n u denotes the input vector. The variable A indicates the system matrix, and B is the input matrix: where A ∈ IR n x ×n x and B ∈ IR n x ×n u . The constraints are expressed in (6): where Z is a nonempty compact convex polyhedron set containing the origin in its interior, and A z ∈ IR n z ×(n x +n u ) , b z ∈ IR n z , n z denotes the number of constraints. The inputs of the system in (5) and the subspace of the steady states have a linear representation in the following form: where z T ss = (x T ss , u T ss ) is the stack of the steady-state solution of (5), and x ss is obtained by applying the control action u ss to the system in (5). In addition, θ ∈ IR n θ is the parameter vector, and M θ is a matrix of suitable dimensions. In accordance with the works in [29,30], the objective is to find a control of the form u = f N (x(k),x) such that it minimizes the cost function subject to the system constraints. Equation (5) is controlled to the target state while fulfilling the constraints in (6). Furthermore, with N being the prediction horizon, the function map u = F N (x(k),x) can be calculated by solving the following optimization problems parameterized in x andx. The optimization problem of (8) can be solved by expressing it as a quadratic programming problem [29,30].
where the terminal set X g f is chosen as follows: with K ∈ IR n u ×n x being a constant matrix such that the eigenvalues of A + BK lie within the unit circle [29,30]. Therefore, the cost function J N (u, θ, x,x) is chosen as follows: where u and θ are division variables that solve the optimization problem of (8), and The optimal control action is applied using the required horizon strategy f N (x,x) = u * (0), where u * (0) indicates the first element of the optimal sequence. Therefore, we can control the vehicle to approach the desired state by defining MPC, and we confirmed that the path could be found using the Gaussian function for obstacles in the ODG PF algorithm and that the vehicle could follow the path using the MPC algorithm.

Real-Time Obstacle-Dependent Gaussian Model Prediction Control Algorithm
In this section, we explain the ODG MPC algorithm. As illustrated in Figure 7, we designated a path to avoid obstacles using the ODG MPC algorithm and vehicle model. The proposed autonomous driving system consists of a controller, perception, estimation, and a vehicle. First, the camera data are integrated to obtain information on the vehicle location, vehicle speed, and roadway obstacle information. The control signal is sent to the vehicle for stable movement using an algorithm incorporating the ODG and MPC algorithm through the information obtained from the perception from the ODG MPC algorithm and the vehicle states via the estimation.
The ODG MPC algorithm includes three basic elements, which we detail in this section: 1. vehicle dynamic modeling, 2.
path planning.

Vehicle Dynamic Modeling
We mark the notation with the bicycle model, as illustrated in Figure 8. The MPC models of host vehicles can be expressed in a state-space equation. As in [34], we used the 2-degrees of freedom (DOF) bicycle model for the MPC bicycle system. The lateral velocity of the vehicle is assumed to be constant and the slip angle is assumed to be zero. As this paper aims to develop an obstacle avoidance path planning in real-time, the vehicle model was constructed as a linearized model. The nonlinearized model approximately doubled the computational cost of the linearized model, but there was no significant difference in the generated path. However, this condition is only complete when the vehicle speed is lower than 10 m/s. When vehicle speed exceed the limit, the linearized model does not follow the nonlinear model [35].  (11) and (12): where x is the state of the vehicle vector, and u is the acceleration vector. The controlled system is usually modeled on the basis of a discrete state-space model of MPC [36]. Because the Ego vehicle model must predict the physical longitude of the next step, the continuous time model was converted into the discrete-time model with the sampling time T s [37]. The dynamic discrete-time model of the operation point of the vehicle can be described as the state space, and the shape of the operation point of the vehicle can be linearized as follows: x where A d is a system matrix, B d is an input matrix, and C d is an output matrix. In addition, x(k) is the kth vehicle state, and y(k) denotes the latitude and longitude position.

Obstacle-Dependent Gaussian Algorithm
The ODG determines the driving environment risk level. Therefore, a driving path is created safely in a low-risk place. Figure 9 illustrates how the ODG algorithm represents risk using the Gaussian in (17): where ω is the risk at the obstacle location, p S Y is the lateral position of obstacle, and p Y is the lateral road position. Finally, σ is the variance of obstacle movement. Cho et al. [33] experimented by applying the ODG to avoid static and dynamic obstacles. Therefore, the ODG function can be generalized for driving environment obstacles, such as lanes and vehicles.
The maximum risk to the center of a different target depending on the target state and the Ego vehicle state, E, is defined as A k , and the risk of each situation is determined using the maximum collision risk. Let σ k specify the extent to which the obstacle affects the boundary based on the width of S k (W S k ) and E(W E ) and the obstacle displacement.
The reliability R (confidence interval level) is the extent to which the obstacle affects the surrounding environment (i.e., the extent to which the obstacle size and space move during the sample time may be within the range). This probability is calculated as a ratio of the ODG integration to the total size. Therefore, σ k is required to calculate the R value in the Gaussian error function (ERF) in (20).
where ∆p Sy is lateral displacement of S k in the sampling time.
The ODG is defined for the line markers to prevent the vehicle from straying out of its solid and dotted lines (O l ) and is defined for the vehicles (O v ). Moreover, ODG Total is the sum of the ODGs: where N l is number of lines on the road, N v is the number of surrounding vehicles, p Y is the lateral road position, and O v,k is the mean ODG of the kth surrounding vehicle.

Obstacle-Dependent Gaussian Line Model
Lines on the road separate lanes for vehicle safety. Vehicles cannot move past solid lines because there is a risk of collision, and thus they can only move through the dotted line. Therefore, the ODG for the line model is expressed by applying the ODG for solid (O l_s ) and dotted lines (O l_d ): In South Korea, the radius of curvature (C R ) of the road depends on the specified road cruising speed, V init . Therefore, the lateral line displacement is determined to account for the design criteria of the curve section: where W L is the line width. As a result, the ODG for a solid line is represented in (25): As presented in Figure 10, the lane center is minimized by the ODG variance. The center of the lane is low risk. Therefore, the dotted line is calculated so that the risk is lower than that of the solid line, which helps move the vehicle to the lane center with low risk. Overall, the result of the ODG for the line is presented in Figure 11.

Obstacle-Dependent Gaussian Vehicle Model
Dynamic and static obstacles can be identified through sensors in driving situations, and obstacles must be avoided. The ODG algorithm can be applied to obstacles. Determining whether the obstacle, S k , poses a danger to E, is moving slowly in front of E, or is quickly moving behind E, is essential to apply the ODG algorithm to an obstacle. The ODG is calculated for obstacles that are considered dangerous in the sensor detection area.
The obstacle distance and relative speed determine the risk of collision in the ODG against an obstacle. Because the ODG algorithm is inversely proportional to the collision time, T C , the risk is significantly increased to T C → 0, making it dangerous. Therefore, the ODG algorithm calculates the time T C to the collision.
The way to avoid collisions is by changing lanes or slowing down by maintaining the current lane. For this purpose, the time required for avoidance, T A , is used to define the ratio of T C to T A . This definition increases the risk in the event of a collision with the vehicle, which affects the ODG risk. Combining the longitudinal and lateral information determines whether the vehicle should change the lane or reduce speed in the current lane. In the opposite case, it reduces the risk of collision. T A is a user-defined variable that depends on E performance. If the T A value is large, a sufficient distance from the obstacle vehicle is ensured, but a robot freezing problem may occur. The ODG algorithm for the obstacle vehicle is expressed through (28)- (30): where where ODG i is total ODG value of i-th lane, N p is the size of prediction horizon in MPC, ODG Total (p Y (h)) is minimum ODG value in the i-th lane boundary, and O i,c is risk of cross the dotted line that is integration of O l_d .
where i re f is the reference lane to drive. This expression can be applied to a form in which the type of the lane changes while driving. The choice of driving lane is determined by comparing the ODG value of the lane (ODG i ). From (18), the ODG variance (σ k ) is calculated. The ODG results for obstacles in one lane are displayed in Figure 12. The ODG algorithm calculates the lanes and obstacles in the front and displays the obstacles and lane hazards, as illustrated in Figure 13.

Path Planning
This section describes the optimal controller using modeling (Section 3.1), the ODG algorithm (Section 3.2), and MPC (Section 2.2). The cost function consists of ODG, the tracking of the target path, and input control. The cost function is set to the weight value of α, and the weight matrices of β, γ, and ζ are set for ODG, the tracking of the target path, and input control, respectively, as in (33). Optimal control is computed using QP for the cost function: where p Y re f indicates the position of the lane selection when the vehicle is driving. As the vehicle speeds up, the risk associated with the vehicle increases. Therefore, increasing the vehicle speed in high-risk situations creates additional risks. We adjust the speed as shown in (34) to reduce the driving speed as the danger increases. In conclusion, the average value of the ODG is compared with the risk of the initial set of obstacles. If the average value of the ODG is close to zero, the vehicle drives at the default speed, and if the average value increases, the vehicle decelerates. If it is equal to the ω, the target speed is zero, and the vehicle stops .
We must consider the speed, acceleration, lane, and so on for the vehicle. However, the advantage of MPC is that the vehicle can be controlled by multiple constraints for complex vehicle states. The vehicle should not violate the maximum and minimum speed requirements of road regulations. Therefore, as shown in (35), various vehicle restrictions may be applied, such as maximum acceleration, maximum speed, or minimum acceleration, minimum speed, when decelerating: respectively, depending on the actual driving situation.

Experiment
In this section, the obstacle avoidance path planning algorithm is experimented with the mobile robot. We conducted an experiment using the parameter value of the ODG MPC algorithm as the value that obtains the best experimental result in the paper [38]. Section 4.1 describes the three main evaluation indicators for the experimental results. The first is the average computational time evaluation metrics. The second is the safety metric, and the third is an indicator related to comfort. Section 4.2 describes the configuration of the experimental environment. Section 4.3 reveals the results of the actual experiment. The ODG MPC algorithm was optimized using the MATLAB optimization routine quadprog.

Evaluation Metrics
We assessed three evaluation metrics and confirmed the experimental results:
comfort level quantification metric The computational time evaluation metric is the evaluation of whether or not the operation is performed quickly.
Safety (ST) [39] evaluates the path for a narrow road and is expressed by (36)- (38): where N indicates the number of points in the created path, and FR is the angular difference between the generated and road centerlines (i.e., the fluctuation ratio). In addition, DR is the ratio of the distance from the nearest obstacle path to the road centerline (i.e., the deviation rate). Further, θ i is the ith angle change of the path, and θ V is the angular road change (θ V = 0 for a straight road). Moreover, D i is the closest distance from the obstacle to the ith line vertex, and D V is the nearest distance from the obstacle to the midpoint of the path corresponding to the ith line's vertex. Figure 14 lists the physical meaning for each variable. The closer ST ≈ 1, implies a more stable path. Therefore, through Scenario 1, we verified the driving stability of how close the test mobile robot drives to the centerline during each algorithm's driving evaluation. According to ISO 2631-1, the comfort level has measured a method of quantifying whole-body vibration related to human comfort. Based on this, we measured the comfort level using ISO 2631-1, which uses the weighted root mean square (RMS) acceleration (a k ) of the k-axis: where T is the measurement time.
where a w is the frequency weighted acceleration time; a wx , a wy , and a wz are the weighted RMS acceleration frequency weightings; W d (x-and y-directions) and W k (z-direction) relate to comfort; and W d is a constant. We use the weighted RMS acceleration used in [40,41], as in the following (41): x axis : W d = 1.4, y axis : W d = 1.4, z axis : W k = 1. Kim et al. [41] scored ISO 2631 for the comfort level. We scored it as displayed in Table 2 to indicate the comfort level. Through Scenarios 2 and 3, we compared the comfort level of the experimental results using each algorithm.

Experimental Environment
An experiment was conducted to compare the proposed algorithms with the PF and PF MPC algorithms using an actual mobile robot. We made the experimental environment similar to in [43]. The controller parameters are displayed in Table 3. In [43], information is collected from the server and controlled through algorithms by integrating information on the location and line of the mobile robot measured using the camera. We experimented with the experimental environment as shown in Figure 15. The mobile robot is positioned in the picture and is 22 cm wide and 40 cm long. We experimented with two mobile robots, as illustrated in Figure 16.
The experiment consists of three scenarios: Scenario 1 verifies that driving is done in the places shown in Figure 17a that are similar to the actual reference path. Scenario 2 drives on the path illustrated in Figure 17b and identifies how the algorithm moves when the Ego mobile robot, E, overtakes an obstacle mobile robot, S k , and measures the comfort level to determine how efficiently it moves. Scenario 3 conducts overtaking experiments in a complex situation for two obstacles, as illustrated in Figure 17c. Because the width of the mobile test robot is 22 cm, the width of the test road was between 45 cm and 50 cm to match the ratio of the width of the mobile robot to the width of the road in Korea.

Experimental Scenario 1
The results of the ODG MPC, PF, and PF MPC algorithms are displayed in Figure 18. The computation time is listed in Table 4, and the safety metric measurement result is presented in Table 5.  For the computation time, although the PF is the fastest in computation time, PF algorithms have low safety metrics because PF algorithms do not have a dynamic model. The ODG MPC algorithm is slower than the PF but faster than the PF MPC algorithm, which has the same dynamic model as shown in Table 4. Furthermore, ST exhibited an 18.53% improvement over the PF MPC algorithm as shown in Table 5. Due to the characteristic of the Gaussian function, the ODG risk of lane affects further than the effect of PF. As so, the vehicle tends to go to the middle of the lane. Although the operation speed is slower than that for the PF, the results demonstrate that the ODG MPC algorithm moves closest to the reference path.

Experiment Scenario 2
The experiment in Scenario 2 is divided into two parts. The first is when the obstacle is a static obstacle, and the second evaluates a dynamic obstacle that moves more slowly than the Ego mobile robot. The experiment was conducted 10 times.
(1) Static Obstacle This scenario compares algorithms for overtaking mobile robots as illustrated in Figure 19. The Ego mobile robot has a speed of 2 m/s, and the obstacle mobile robot is stationary. The static obstacle is located at p X = 257 and p Y = 440. In Figure 19, the path of ODGMPC tends to respond faster than the comparison algorithm. This trend can also be seen in acceleration ( Figure 20). Because the acceleration graph tends to increase after the vehicle has changed lanes, a significant increase in the acceleration graph corresponds to a lane change. The proposed ODG MPC algorithm changes lanes at approximately 1.2 s, and PFMPC algorithm changes lanes at approximately 1.4 s. The slower the lane changes, the greater the acceleration increases, resulting in a lower Comfort score. The acceleration graph reveals that the ODG MPC algorithm acceleration value bounces less than the PF and PF MPC algorithm ( Figure 20). Table 6 demonstrates that the ODG MPC algorithm has a higher comfort level score than the other algorithms. Therefore, the ODG MPC algorithm operates more safely and faster against obstacles than other algorithms. Figure 21 represents the distance from the obstacle at each time. The minimum distance between obstacles is listed in Table 7, which shows the minimum distance from the obstacle mobile robot, showing farther safety than other algorithms in Figure 21. The result reveals an 18.56% improvement over the PF and a 14.89% improvement over the PF MPC algorithm.  (2) Dynamic Obstacle The Ego mobile robot path planning experiment for moving obstacles was conducted. The dynamic obstacles move at 1.5 m/s, and the Ego mobile robot moves at 2 m/s. The experimental results were similar to the experiment for the static obstacles in Figure 22. Moreover, as a result of calculating the comfort level using the acceleration graph in Figure 23, the experimental results for the ODG MPC algorithm are better than those of other algorithms and those of the static obstacles listed inTable 8. In Figure 24, the minimum distance to the moving obstacle was confirmed in Table 9, where the experiment using the ODG MPC algorithm demonstrated a longer distance with an 18.56% improvement over the PF and a 14.8% improvement over the PF MPC algorithm. Therefore, we confirmed that the ODG MPC algorithm is better than the other algorithms in terms of stability and ride comfort, even with moving obstacles.   Scenario 3 is an experiment in a complex environment. This experiment demonstrates the test results of an Ego mobile robot path planning operation in a situation with two obstacle mobile robots. It is divided into two experiments. The first experiment is conducted with both obstacles stopped. The second experiment consists of dynamic obstacles and static obstacles. The experiment was conducted 10 times.
(1) Two Static Obstacles The two obstacles are at p X = 220 and p Y = 383 and at p X = 530 and p Y = 335. The Ego mobile robot moves at a speed of 2.5 m/s. The experimental results are displayed in Figure 25. Table 10 presents the acceleration in Figures 26 using comfort indicators. The results demonstrate that the ODG MPC works more comfortably than the PF and PF MPC algorithms.
Regarding the distance to the obstacle, Figures 27 and 28, and Table 11, demonstrate that the ODG MPC works more stably around obstacles than the other algorithms. At the first obstacle, the obstacle avoidance operation operates 26.6% farther than the PF algorithm and 8.42% farther than the PF MPC algorithm. The results indicate that the second obstacle is operated by avoiding obstacles 11.9% farther than the PF algorithm and 26.7% farther than the PF MPC algorithm.    (2) One Dynamic Obstacle and One Static Obstacle The Ego mobile robot moves at a speed of 2.5 m/s, and the first obstacle moves at a speed of 1.5 m/s at p X = 220 and p Y = 383. The second hurdle lies at p X = 530 and p Y = 335. The experimental results are displayed in Figure 29.
Regarding the acceleration, Table 12 was constructed with a comfort level using Figure 30 of acceleration. Table 12 confirms that the ODG MPC works more comfortably.
The experimental results are more unstable than the two static obstacles. However, in Figures 31 and 32, and Table 13, the results show that ODG MPC works farther from obstacles than other algorithms. At the first obstacle, the obstacle avoidance operation operates 12.3% farther than the PF algorithm and 16.7% farther than the PF MPC algorithm. The second obstacle is operated by avoiding obstacles 42.3% farther than the PF algorithm and 31.6% farther than the PF MPC algorithm.

Discussion and Conclusions
This paper proposed an optimal control path plan that enables safe driving and comfort, while ensuring low computational operation for autonomous driving by integrating the ODG and MPC. The ODG algorithm expresses the surrounding environment as a riskbased path using the information on lanes and the obstacle mobile robot. Optimal control is performed using QP to control the desired target direction under the constraints defined through the expressed information and vehicle modeling. The proposed method provides risk information in the form of ODG to the cost function of MPC to quickly respond to obstacle avoidance control by controlling the vehicle in a direction with low obstacle risk.
The proposed method has been tested on mobile robots under many overtaking scenarios, such as a static obstacle in front, a low-speed vehicle in front, and a low-speed vehicle in front with an oncoming vehicle from the rear. The proposed method showed superiority when compared with the existing algorithm about safety and comfortability. In the proposed method, the average of the shortest distance to an obstacle is larger than others, and the comfort level, which is directly related to safety, also shows a higher score than others. Experimental results show that the average safety metric is 72.34%, and the average processing time is approximately 14.2 ms/frame, which allows real-time computation. The experiment confirmed that the proposed method operates in the direction of a low-risk path in the space measured by the sensor and path planning is more stable with less computational cost than the comparison algorithms. As a result, the proposed algorithm safely and quickly performs path planning to avoid surrounding mobile robots. The data results using the ISO 2631-1 comfort level indicators confirmed that the proposed algorithm operates more comfortably. Especially in dynamic obstacles, the comfort score had been improved by more than 70% compared to PFMPC. The assumptions in this proposed method are limited to areas where the vehicle's motion model has similar linear and nonlinear results. We also evaluated the algorithms at low speed due to the limitations of the experimental environment, which leads to restrictions in applying the actual vehicle. In future works, we will focus on using reinforcement learning instead of optimal control, which may reduce the amount of computation. Furthermore, we plan to apply the proposed algorithm in an outdoor environment using an actual vehicle. Frequency weighted acceleration time a wx , a wy , and a wz Weighted RMS acceleration frequency weightings