7th IFAC Symposium on Advances in Automotive Control The International Federation of Automatic Control September 4-7, 2013. Tokyo, Japan
Driver assistance algorithm for automotive collision avoidance using optimization feasibility Masakazu Mukai ∗ Taketoshi Kawabe ∗ ∗
Kyushu University, Motooka 744, Fukuoka 819-0395, JAPAN (e-mail:
[email protected]).
Abstract: This paper considers a collision avoidance problem of the vehicle and the moving obstacle. The prohibited region is defined for the vehicle and the obstacle considering a specified size of them. The problem is formulated as a mixed integer programming problem. In the problem the obstacles and environments around the automobile can be represent as inequality conditions. Then the driver assistance algorithm for the collision avoidance using the feasibility of the optimization is proposed. Computer simulation shows that the proposed algorithm can provide appropriate control input for collision avoidance. Keywords: Vehicle control, model predictive control, collision avoidance, mixed integer programming 1. INTRODUCTION The growth of motorization in many countries result in the growth of the number of car accidents and injured person year by year. Especially the percentage of the accidents that involve pedestrians and bicycle person is not low. On the other hand Intelligent Transport System (ITS) technology have attracted by researchers Kawabe et al. (2004). Useful information from infrastructures and sensors will be available in the future. It is promising to consider a vehicle control taking into account road environments, other vehicles, pedestrians, and so on. Some situations of car accidents can be deemed as collision between a vehicle and obstacles. Then the avoiding accidents problems can be formulated as a collision avoidance problem. The collision avoidance problem is well known in robotics and aerospace literature Richards and How (2002, 2005); Mukai et al. (2004). However it is not easy to apply these approaches directly to the car accident case since the automobile can only move in constrained environment: road width, regulations, etc. It is important to deal with the constrained environment for the collision avoidance problems. Furthermore to solve the car accident problems it is needed to consider other automobiles, motionless staff, and pedestrians which have different motion properties respectively. Some research on collision avoidance for automoble can be found e.g. Isermann et al. (2012). Nonlinear model predictive control is proposed for performing emergency collision avoidance maneuvers Choi et al. (2012). NMPC is employed as a high-level controller that simultaneously controls the longitudinal and the lateral vehicle motion. In the paper Mukai et al. (2008) an optimal vehicle path generation problem that generates a path without a collision between the automobile and the moving obstacle in the constrained road environment is considered as a first step of our research. In the problem the moving obstacles and the constrained environment around the automobile 978-3-902823-48-9/2013 © IFAC
416
can be represented as inequality conditions. The dynamics of the moving obstacle is described as variation of a prohibited region. The problem is formulated as mixed integer programming. According to model predictive control Mayne et al. (2000) the optimal path generation problem is solved at each time step then the first element of the optimal input in applied. An efficient computation time to solve model predictive control problem can be obtained by using a linear system model for the optimal vehicle path generation. Using the optimal vehicle path obtained by the generator as a reference of a tracking problem that includes an appropriate controller, the detail dynamics of the vehicle can be included to the control problem. The proposed vehicle path generation problem can deal an explicit representation of the dynamics of the moving obstacle and provides no collision between the automobile and the obstacle. However from practical point of view the way of the driver assistance should be studied first. In this paper the driver assistance algorithm for the collision avoidance using the feasibility of the optimization is proposed. This driver algorithm is based on the optimization problem formulated in Mukai et al. (2008). The optimization deals with the precise size of the vehicle and obstacle. The algorithm provides the assistance method to avoid the collision based on the precise optimization. By checking the feasibility of the optimization a reasonable way of driver assistant can be obtained. While many research about driver assistance McCall and Trivedi (2006, 2007); Riener and Ferscha (2008); Petersson et al. (2005); Dabiao et al. (2007) etc. can be found, using feasibility in control is feature of this research. Computer simulation is presented to show the effect of the proposed algorithm. This paper is organized as follows. In Section 2 the vehicle model and the obstacle model are provided, then the prohibited region is introduced and the objective function for the control problem is formulated. In Section 3 the optimization problem is formulated. Then the driver as10.3182/20130904-4-JP-2042.00159
IFAC AAC 2013 September 4-7, 2013. Tokyo, Japan
sistance algorithm is shown in Section 4. Finally computer simulation results are presented to show the effectiveness of the proposed assistance algorithm.
aymin ≤ 1/mfy (k) ≤ aymax , k = 1, 2, . . . . (4) where aymax and aymin denote the upper bound and the lower bound of the acceleration of y-direction. The constraint on the width of the road is denoted as
2. COLLISION AVOIDANCE PROBLEM SETUP In this paper a collision avoidance control problem for automobile shown in Fig. 1 is considered. The automobile can move in x-y plane and width of the road is restricted.
ymin ≤ y(k) ≤ ymax , k = 1, 2, . . . , (5) where ymin and ymax are parameters that describe the width of the road. 2.2 Moving obstacle model A rectangle obstacle shown in Fig. 2 is considered in this paper. A position of a center of the obstacle at time step k is denoted as (xp (k), yp (k)). The lengths of the rectangle obstacle in each direction are lx and ly . It is assumed that the obstacle moves at constant velocity (vpx , vpy ) in each direction respectively.
Fig. 2. Moving obstacle Then a motion of the center of the obstacle can be represent as Fig. 1. Problem set up 2.1 Vehicle Model In this section a mass model is introduced to represent an abstract of automobile motion. The model is represented in x-y plane as follows: m¨ x(t) = fx (t)
(1)
m¨ y (t) = fy (t),
(2)
where m is mass, and fx , fy denote forces in each direction. In this paper this model is discretized with a sampling time h, then a control problem is formulated for a discrete-time linear system with time step k. A real automobile system has some constraints. In this paper constrains on accelerations to x and y direction are taken into account. Further a constraint on a width of a road is introduced to deal with road environment. The constraint on the acceleration to x-direction is represented as axmin ≤ 1/mfx (k) ≤ axmax ,
k = 1, 2, . . . .
(3)
where axmax and axmin denote the upper bound and the lower bound of the acceleration of x-direction. The constraint on the acceleration to y-direction is represented as 417
xp (k + 1) = xp (k) + h · vpx
(6)
yp (k + 1) = yp (k) + h · vpy where the sampling time h is used.
(7)
2.3 Prohibited Region In this section a prohibited region is defined to avoid a collision the vehicle and the obstacle. The length of the vehicle is 2lvx , 2lvy . Then the prohibited region can be represented as the masked region in Fig. 3. If the position of the automobile does not belong to the prohibited region then no collision is guaranteed. Vertices of the prohibited region are xpmin (k) = xp (k) − lvx − lpx , xpmax (k) = xp (k) + lvx + lpx , ypmin (k) = yp (k) − lvy − lpy , ypmax (k) = yp (k) + lvy + lpy . Then conditions for the collision avoidance are as follows: x(k) ≤ xpmin (k), or x(k) ≥ xpmax (k), or y(k) ≤ ypmin (k), or y(k) ≥ ypmax (k). (8) Since these conditions are represented in ’OR’ form, it is not easy to deal the conditions directly in numerical
IFAC AAC 2013 September 4-7, 2013. Tokyo, Japan
J=
N −1 ∑
{|wy y(i)| + |R1 fx (i)| + |R2 fy (i)|}
(10)
i=0
where N is a predictive horizon and wy , R1 , R2 ∈ R are weights for each variable. To formulate this problem as mixed integer linear programming a transformation is needed. To show the transformation easily consider the following simple minimization problem that includes an absolute value function. min |x| x
(11)
where x ∈ R. To translate the absolute value a new variable ϵ that satisfies the following inequalities (12) is introduced. −ϵ ≤ x ≤ ϵ (12) Then a minimization problem min ϵ implies a relation ϵ = |x|. Hence minimization problem that includes an absolute value function (11) can be translated into min ϵ x
subject to −ϵ ≤ x ≤ ϵ. This problem is solved as linear programming.
Fig. 3. Prohibited region for collision avoidance programming problems. Then a translate technique from or condition into and condition called ’big M’ method Richards and How (2005) is used. This method is found in some control applications Richards and How (2002, 2005); Kawabe et al. (2004). The translated conditions are
x(k) ≤ xpmin + M δ1 (k) −x(k) ≤ −xpmax + M δ2 (k) y(k) ≤ ypmin + M δ3 (k) −y(k) ≤ −ypmax + M δ4 (k) δ1 (k) + δ2 (k) + δ3 (k) + δ4 (k) ≤ 3
(14)
Applying the transformation to each term of (10), the minimization problem (10) is formulated as mixed integer linear programming. 3. OPTIMIZATION PROBLEMS WITH MAXIMUM ACCELERATION PARAMETERS Solving the following minimization problem at a time step k, we obtain the optimal vehicle path without collision.
Constraint of collision avoidance : and and and and
(13)
min J
(9)
where δ1 , δ2 , δ3 , and δ4 are binary, M is a large positive number. 2.4 Objective Function In this section to obtain a desired driving behavior a performance index is constructed. In this paper we consider the following control objectives: (1) No collision between the vehicle and the obstacle is guaranteed (2) The constraints of vehicle is satisfied (3) Amplitude of the acceleration and deceleration of the vehicle is not large (4) Motion of the vehicle in y direction is not large The performance index is proposed for evaluating safe and smooth driving. We construct the performance index the viewpoint of safe and smooth driving, that is, the spacing and/or relative velocity of the vehicles should not be too close. According to the above points the performance index is constructed as: 418
fx ,fy
(15)
subject to (1), (2), (3), (4), (5), (9) Denote the optimal inputs as fx∗ , fy∗ . The trajectory obtained by applying the optimal inputs is defined as the optimal trajectory (x∗ , x˙ ∗ , y ∗ , y˙ ∗ ). Since the minimization problem includes binary variables it is formulated as mixed integer linear programming. Consider optimization problems using some sets of constraints of the acceleration. In the collision avoidance problem the upper bound and the lower bound of the acceleration of each direction are important. Denote the optimization problem using the upper bound and the lower bound Ci = (axmaxi , axmini , aymaxi , aymini ) by P (Ci ). P (Ci ) : min J fx ,fy
(16)
subject to (1), (2) (3), (4), (5) In this paper ’feasible’ means there exist a solution that satisfys the all constraints above. For example the upper bound and the lower bound C1 = (0, −0.3G, 0.3G, −0.3G) represent a not strict operation of the driver to avoid the object. If the problem P (C1 ) is feasible, the vehicle can avoid the object by the acceleration less than 0.3G. On the other hand the upper
IFAC AAC 2013 September 4-7, 2013. Tokyo, Japan
and lower bound C2 = (0, −0.5G, 0.5G, −0.5G) represent a hard operation. If P (C1 ) is infeasible and P (C2 ) is feasible then the vehicle is needed to use the acceleration greater than 0.3G to avoid the obstacle. The feasibility of P (Ci ) can be used to represent the acceleration needed for collision avoidance. Thus it is possible to assist the driver by using the feasibilities of P (Ci ). The number of Ci can be increased to make the assistance being more precise according to the designer’s demand. 4. DRIVER ASSISTANCE ALGORITHM USING FEASIBILITY The driver assistance algorithm using feasibility of P (C1 ), P (C2 ) is shown in Fig. 4. First at time step k the states of the vehicle and the obstacle are obtained. Then the driver operation input is measured and the fx (k), fy (k) is obtained. By the vehicle model the future states of the vehicle and the obstacle at the next time step k + P are calculated. For the predicted future state check the feasibility of the problem P (C1 ). If the problem P (C1 ) is feasible the collision can be avoided by the acceleration less than 0.3G at the predicted state. Then no assistance is provided. On the other hand if the problem P (C1 ) is infeasible the acceleration greater than 0.3G is needed to avoid the collision. Then give the warning to the driver. The feasibility of the problem P (C2 ) is also checked. If the problem P (C2 ) is feasible no assistance is provided. On the other hand if the problem P (C2 ) is infeasible this state can be considered as the difficult state to avoid the collision. This state needs the huge acceleration greater than 0.5G. It is difficult to generate by the standard driver suddenly. Then the driving mode is changed to the automatic driving, which overwrites the command input of the driver. In the mode the optimal path generated by the problem P (C3 ) is used as a target trajectory. The parameter C3 should allow the greater acceleration than C2 . The input generator shown Fig. 5 can be used to calculate the acceleration a and the steering angle δf for automatic driving. The vehicle system in Fig. 5 is a more complicate model than system (1) and (2). The algorithm can be designed by another parameter settings Ci . Further the number of the checking of the feasibility can be increased. The computational time of checking the feasibility of a single problem Ci is not demanding. However the huge number of the checking of the feasibility causes a computational problem. For the computational problem a parallel computing and a faster algorithm for checking feasibility future works. 5. COMPUTER SIMULATION To show the effect of the proposed assistance algorithm computer simulation is conducted in this section. A setting of the collision avoidance problem is illustrated in Fig. 6. The smaller box represents the obstacle and the larger box represents the vehicle. The width of the road is 9m. The length of the vehicle is 5m and the width of the vehicle is 2m. The size of the obstacle is set as 0.5m. The initial state of the vehicle is x(0) = (0, 0, 50/3.6, 0). The initial state of the obstacle is xp (0) = (50, 0, 0, 0). For the sake of the simplicity the velocity of the obstacle is set as 0. 419
Fig. 4. Fllow chart of the driver assitance algorithm using feasibility.
Fig. 5. Input generator The vehicle system is discretized with the sampling time h = 0.1s. The weights of the objective function are set wy = 1, R1 = 0.1, R2 = 10−5 and the predictive horizon is N = 40. The one step prediction of the state by the drivers operation is considered, i.e. P = 1. The simulation result by using the proposed algorithm is shown in Fig. 7 to Fig. 10. In this simulation it is assumed that the driver drives the vehicle on a constant velocity 50km/h. The trajectory is depicted by ’x’ in Figures. So if the drive does not recognize the obstacle the collision happens. Fig. 7 shows a trajectory of the vehicle when the problem P (C1 ) is infeasible and the warning is displayed. This trajectory is an example trajectory after the warning with the acceleration less than 0.3G. Of course the driver
IFAC AAC 2013 September 4-7, 2013. Tokyo, Japan
60 x[m]
50
0
50
0
0.5
1
1.5
2
2.5
3
3.5
4
0
0.5
1
1.5
2
2.5
3
3.5
4
0
0.5
1
1.5
2
2.5
3
3.5
4
0
0.5
1
1.5
2
2.5
3
3.5
4
0
0.5
1
1.5
2
2.5
3
3.5
4
0
0.5
1
1.5
2
2.5
3
3.5
4
y[m]
2 40
0 -2
x[m]
30
10 x
v [m/s]
15
5
20
0 y
v [m/s]
5 10
-5
2
]
0
10
y[m]
x
0
a [m/s
-10
0 -2 -4
5 0 y
a [m/s
can avoid the obstacle by another trajectory with other acceleration. Fig. 8 shows the time history of the state and acceleration. The problem P (C1 ) becomes infeasible at k = 11.
2
]
Fig. 6. The problem setting in the computer simulation.
-5 Time [s]
Fig. 8. The time histories of the state and the acceleration in the case of the warning.
60
the collision with the acceleration less than 0.5G. Then the automatic driving mode is employed in the situation. The setting for automatic driving is set as C3 = (0, −0.51G, 0.51G, −0.51G) in this case. Fig. 9 shows the trajectory of the vehicle when the problem P (C1 ) is infeasible and the problem P (C2 ) is also infeasible. The time histories of the state and the acceleration are shown in Fig. 10. It is found that the collision is avoided by the acceleration 0.51G. In this case the trajectory is the result of the weight design. Of course the trajectory can be designed using the weight of the objective function.
50
40
30
6. CONCLUSION
20
Fig. 7. The vehicle trajectry after the warning.
This paper considered the collision avoidance problem of the vehicle and the moving obstacle. The prohibited region was defined for the vehicle and the obstacle considering a specified size of them. The problem was formulated as a mixed integer programming problem. This paper proposed the driver assist algorithm for the collision avoidance using the feasibility of the optimization. The algorithm is novel method using the feasibility of the precise optimization problem. Computer simulation results were presented to show the effect of the proposed method.
If the driver does not recognize the obstacle and ignore the warning until k = 17 then it is impossible to avoid
In this paper the locations of the vehicle and the obstacle are assumed to be obtained. For practice this assumption
10
0
-10
0
10
420
IFAC AAC 2013 September 4-7, 2013. Tokyo, Japan
60 x[m]
50
0
50
0
0.5
1
1.5
2
2.5
3
3.5
4
0
0.5
1
1.5
2
2.5
3
3.5
4
0
0.5
1
1.5
2
2.5
3
3.5
4
0
0.5
1
1.5
2
2.5
3
3.5
4
0
0.5
1
1.5
2
2.5
3
3.5
4
0
0.5
1
1.5
2
2.5
3
3.5
4
y[m]
1 40
0 -1
30
10 x
v [m/s]
20
0
20
0 y
v [m/s]
1 10
-1
2
]
0
10
2
1 a [m/s
should be reconsidered and the robustness for the uncertainty of measurement should be studied as a future work. Computer simulation using a driving simulator can be considered in next research step. For the computational problem a parallel computing and a faster algorithm for checking feasibility are also future works.
-4
]
Fig. 9. The vehicle trajectory when the automatic driving.
x
a [m/s
0
0 y
-10
0 -2
-1 Time [s]
REFERENCES
Fig. 10. The time histories of the state and the acceleration when the automatic driving.
Choi, C., Kang, Y., and Lee, S. (2012). Emergency collision avoidance maneuver based on nonlinear model predictive control. In Vehicular Electronics and Safety (ICVES), 2012 IEEE International Conference on, 393 –398. Dabiao, Z., Yueyi, K., and Hongyun, L. (2007). Design of automobile collision avoidance warning system based on labview. In Electronic Measurement and Instruments, 2007. ICEMI ’07. 8th International Conference on, 2– 51 –2–54. Isermann, R., Mannale, R., and Schmitt, K. (2012). Collision-avoidance systems proreta: Situation analysis and intervention control. CONTROL ENGINEERING PRACTICE, 20(11), 1236–1246. Kawabe, T., Nishira, H., and Ohtsuka, T. (2004). An optimal path generator using a receding horizon control scheme for intelligent automobiles. In Proc. of 2004 IEEE Conference on Control Application, 1597–1602. Mayne, D.Q., Rawlings, J.B., Rao, C.V., and Scokaert, P.O.M. (2000). Constrained model predictive control: Stability and optimality. Automatica, 36, 790–814. McCall, J. and Trivedi, M. (2006). Video-based lane estimation and tracking for driver assistance: survey, system, and evaluation. Intelligent Transportation Systems, IEEE Transactions on, 7(1), 20 –37. McCall, J. and Trivedi, M. (2007). Driver behavior and situation aware brake assistance for intelligent vehicles.
Proceedings of the IEEE, 95(2), 374 –387. Mukai, M., Azuma, T., and Fujita, M. (2004). A collision avoidance control for multi-vehicle using pwa/mld hybrid system representation. In Proc. of the 2004 IEEE Conference on Control Applications, 872–877. Mukai, M., Murata, J., Kawabe, T., Nishira, H., Takagi, Y., and Deguchi, Y. (2008). Optimal path generation for automotive collision avoidance using mixed integer programminge. SICE Journal of Control, Measurement, and System Integration, 1, 222–226. Petersson, L., Fletcher, L., and Zelinsky, A. (2005). A framework for driver-in-the-loop driver assistance systems. In Intelligent Transportation Systems, 2005. Proceedings. 2005 IEEE, 771 – 776. Richards, A. and How, J. (2002). Aircraft trajectory planning with collision avoidance using mixed integer linear programming. In Proc. of the American Control Conference. Richards, A. and How, J. (2005). Mixed-integer programming for control. In Proc. of the American Control Conference, 2676–2683. Riener, A. and Ferscha, A. (2008). Simulation driven experiment control in driver assistance assessment. In Distributed Simulation and Real-Time Applications, 2008. DS-RT 2008. 12th IEEE/ACM International Symposium on, 217 –226.
421