A New Efficient Obstacle Avoidance Control Method for Cars Based on Big Data and Just-in-Time Modeling

Show more

1. Introduction

A lot of studies on automatic operation for cars have been actively done by various companies and research groups [1] [2] [3] . Automatic operation technique includes automatic obstacle avoidance, automatic braking, automatic parking, automatic driving, automatic tracking, and so on. On the other hand, the word “big data” is spreading rapidly and it is utilized in various research fields [4] [5] [6] . It is expected that the big data technique can be applied to automatic operation problems of cars. However, the number of the researches on automatic operation techniques from the viewpoint of big data is small, and we can say that these techniques are strongly needed in terms of actual utilization of self-driving cars.

The purpose of this research is to develop a new efficient avoidance control method of encountered moving obstacles for cars based on big data and just-in-time modeling. In the just-in-time modeling technique, we regard a database which includes a lot of input and output data for a system as a mathematical model of the system, and we compute a control input by using some extracted data from the database [7] [8] [9] [10] . That is to say, just-in-time modeling is one of the applications of big data. In [11] [12] , the authors have proposed a obstacle avoidance control method for cars based on big data and just-in-time modeling, and have shown that the proposed method can compute a control input that can make a car avoid an encountered obstacle. However, in some situations, the car moves with waste motions, and hence there is a room for improvement in the control method.

The contents of this paper are as follows. First, in Section 2, the problem formulation on the obstacle avoidance control problem for a car is stated. Next, Section 3 gives a brief summary of just-in-time modeling and develops a new efficient control method for obstacle avoidance control of the car. Then, in Section 4, some numerical simulations are demonstrated in order to check the effectiveness of the new method.

2. Problem Formulation

In this section, the problem formulation on the obstacle avoidance control problem for cars shall be presented. This study considers the next nonholonomic car model on the 2-dimensional plane as a mathematical model of a car:

$\{\begin{array}{l}\stackrel{\dot{}}{x}=\mathrm{cos}\theta \cdot {u}_{1},\\ \stackrel{\dot{}}{y}=\mathrm{sin}\theta \cdot {u}_{1},\\ \stackrel{\dot{}}{\theta}={u}_{2},\end{array}$ (1)

where $\left(x\mathrm{,}y\right)$ is the center point of the car, $\theta $ is the heading angle of the car. In addition, ${u}_{1}\mathrm{,}{u}_{2}$ are the control inputs as shown in Figure 1, where ${u}_{1}$ is the velocity to the heading angle direction and ${u}_{2}$ is the angular velocity.

Next, the problem setting of an obstacle is shown. We assume that the shape of the obstacle is circular with the radius of the obstacle is ${R}_{o}>0$, and the center of the obstacle is located on the x-axis at the point $\left({X}_{o},0\right),{X}_{o}>0$ as illustrated in Figure 2.

Now, it is assumed that the control inputs ${u}_{1}\mathrm{,}{u}_{2}$ are represented in the form:

$\{\begin{array}{l}{u}_{1}={V}_{c},\\ {u}_{2}=A\mathrm{cos}\frac{2\text{\pi}t}{{T}_{c}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\left(0\le t\le {T}_{c}\right),\end{array}$ (2)

where ${V}_{c}$ is the constant velocity of the car, A is the gain, and ${T}_{c}$ is the control time. It must be noted that if the control inputs (2) are applied to the car model (1), the car moves as depicted in Figure 3. That is to say, the car moves as avoiding an obstacle and returns on the x-axis.

In this research, we consider the following problem on obstacle avoidance control of the car.

Problem [Obstacle Avoidance Control Problem] For a set of given data: a velocity of the car ${V}_{c}^{\mathrm{*}}$ and a circular obstacle ${X}_{o}^{\mathrm{*}}\mathrm{,}{R}_{o}^{\mathrm{*}}$, find a gain ${A}^{\mathrm{*}}$ and an control time ${T}_{c}^{\mathrm{*}}$ of the control input ${u}_{2}$ in (2) which can avoid collision with the obstacle for the car (1).

As illustrated in Figure 4, if the values of the gain A and the control time ${T}_{c}$ are not suitable, the car collides with the obstacle. In the next section, we will consider a new method based on just-in-time modeling as a solution of the above obstacle avoidance problem.

Figure 1. The setting of a car.

Figure 2. A car and an obstacle.

Figure 3. Obstacle avoidance control for a car.

Figure 4. Collision and avoidance.

3. Just-in-Time Modeling Approach to Obstacle Avoidance Control

3.1. Summary of JIT Modeling

In this section, a new method of obstacle avoidance control of a car based on the just-in-time modeling (JIT modeling) approach will be developed. First, a brief summary on just-in-time modeling is shown. A general algorithm on just-in-time modeling is carried out in accordance with the following procedure.

1) Construct a database that contains input-output data of the system.

2) In order to compute an output for a query data, extract some neighborhood data of the query data.

3) Derive a local linear model at the query data from the obtained neighborhood data.

4) Using the local linear model, compute the output for the query data.

Figure 5 shows an illustration of just-in-time modeling. The advantages of just-in-time modeling are as follows; we do not derive a mathematical model of the system for control, it is available for not only linear systems but also nonlinear ones. Computation of an output for a query data needs low calculation amount, however, we have some options such as definition of neighborhood, the total number of data in the database, the number of neighborhood data, derivation of local linear model, and so on.

3.2. Construction of Database

We here consider how to construct a database on obstacle avoidance of the car. At first, we have to decide the range of database. For example, for the velocity of the car ${V}_{c}$, we denote the minimum and maximum values by ${V}_{c}^{\mathrm{min}}$ and ${V}_{c}^{\mathrm{max}}$, respectively. In addition, we also denote the interval of data for ${V}_{c}$ by ${h}_{{V}_{c}}$ Then, the number of ${V}_{c}$ can be calculated by

${N}_{{V}_{c}}:=\frac{{V}_{c}^{\mathrm{max}}-{V}_{c}^{\mathrm{min}}+1}{{h}_{{V}_{c}}}.$ (3)

Figure 5. An illustration on just-in-time modeling.

We have to note that ${V}_{c}^{\mathrm{min}},{V}_{c}^{\mathrm{max}}$, and ${h}_{{V}_{c}}$ have to be determined so that ${N}_{{V}_{c}}$ is an integer. In a similar way, we can define the number of ${X}_{o}$ and ${R}_{o}$ as ${N}_{{X}_{o}}$ and ${N}_{{R}_{o}}$ :

$\begin{array}{l}{N}_{{X}_{o}}:=\frac{{X}_{o}^{\mathrm{max}}-{X}_{o}^{\mathrm{min}}+1}{{h}_{{X}_{o}}},\\ {N}_{{R}_{o}}:=\frac{{R}_{o}^{\mathrm{max}}-{R}_{o}^{\mathrm{min}}+1}{{h}_{{R}_{o}}},\end{array}$ (4)

respectively.

Next, a computation method of gains and control times which can avoid collision with obstacles is derived. For the range of the gain A and the control time ${T}_{c}$ in the control input ${u}_{2}$, we denote their maximum and minimum values by ${A}^{\mathrm{max}},\text{\hspace{0.17em}}{A}^{\mathrm{min}}$ and ${T}_{c}^{\mathrm{max}},\text{\hspace{0.17em}}{T}_{c}^{\mathrm{min}}$, respectively. For a data $\left({V}_{c}\mathrm{,}{X}_{o}\mathrm{,}{R}_{o}\right)$, we perform a numerical simulation of the car with the gain A. It is noted that we change the values of A and ${T}_{c}$ from ${A}^{\mathrm{min}}$ and ${T}_{c}^{\mathrm{min}}$ to ${A}^{\mathrm{max}}$ and ${T}_{c}^{\mathrm{max}}$ with the intervals ${h}_{A}$ and ${h}_{{T}_{c}}$ in ascending order, respectively. For the simplicity, it is assumed that the shape of the car is approximated by a circle with a radius ${R}_{c}$ . Then, the condition such that the car does not collide with the obstacle can be represented by

$\sqrt{{\left(x\left(t\right)-{X}_{o}\right)}^{2}+y{\left(t\right)}^{2}}>{R}_{c}+{R}_{o}+{R}_{off},$ (5)

where ${R}_{off}$ is an offset distance between the car and the obstacle for safety. If the inequality holds while the simulation, obstacle avoidance control is achieved and save the gain ${A}^{\mathrm{*}}$ and the control time ${T}_{c}^{\mathrm{*}}$ in the database. According to circumstances, the gain and the control time which avoid collision cannot be obtained because of the setting of ${A}^{\mathrm{max}}$, that is to say, the car may not avoid an obstacle in spite of the maximum values of the gain ${A}^{\mathrm{max}}$ and the control time ${T}_{c}^{\mathrm{max}}$ . Hence, the number of data in the database N satisfies

$N={N}_{{V}_{c}}{N}_{{X}_{o}}{N}_{{R}_{o}}-{N}_{fail},$ (6)

where ${N}_{fail}$ is the number of data for which obstacle avoidance control is not achieved. The number of data in the database have greater influence on the control performance and the computation amount in just-in-time modeling.

3.3. Computation of Gain and Control Time

Then, a computation method of a gain for a query data is shown. First, we have to extract some neighborhood data of the query data. We denote the number of data in the database by N and the index of the data by $i\text{\hspace{0.17em}}\left(i=1,\cdots ,N\right)$ . In the simplest way, we use Euclidian distance and define the distance between a data $\left({V}_{c}^{i}\mathrm{,}{X}_{o}^{i}\mathrm{,}{R}_{o}^{i}\right)$ and the query data $\left({V}_{c}^{\mathrm{*}}\mathrm{,}{X}_{o}^{\mathrm{*}}\mathrm{,}{R}_{o}^{\mathrm{*}}\right)$ as

${d}^{i}:=\sqrt{{\left({V}_{c}^{i}-{V}_{c}^{*}\right)}^{2}+{\left({X}_{o}^{i}-{X}_{o}^{*}\right)}^{2}+{\left({R}_{o}^{i}-{R}_{o}^{*}\right)}^{2}}.$ (7)

The distance
${d}^{i}$ is also saved in the database. Next, we sort all the data in ascending order with respect to the distance
${d}^{i}$ :
$\left({\stackrel{\u02dc}{V}}_{c}^{i},{\stackrel{\u02dc}{X}}_{o}^{i},{\stackrel{\u02dc}{R}}_{o}^{i},{\stackrel{\u02dc}{A}}^{i},{\stackrel{\u02dc}{T}}_{c}^{i},{\stackrel{\u02dc}{d}}^{i}\right)\text{\hspace{0.17em}}\left(i=1,\cdots ,N\right)$, and extract
$K\text{\hspace{0.17em}}\left(<N\right)$ data from the sorted database (the tilde ^{~} over variables means sorted data). Finally, by using the K extracted data
$\left({\stackrel{\u02dc}{V}}_{c}^{i},{\stackrel{\u02dc}{X}}_{o}^{i},{\stackrel{\u02dc}{R}}_{o}^{i},{\stackrel{\u02dc}{A}}^{i},{\stackrel{\u02dc}{T}}_{c}^{i},{\stackrel{\u02dc}{d}}^{i}\right)\text{\hspace{0.17em}}\left(i=1,\cdots ,K\right)$, we calculate the gain
${A}^{\mathrm{*}}$ and the control time
${T}_{c}^{\mathrm{*}}$ of the query data
$\left({V}_{c}^{\mathrm{*}}\mathrm{,}{X}_{o}^{\mathrm{*}}\mathrm{,}{R}_{o}^{\mathrm{*}}\right)$ as weighted means:

${A}^{\ast}:=\frac{{\displaystyle \underset{i=1}{\overset{K}{\sum}}}\frac{{\stackrel{\u02dc}{A}}^{i}}{{\stackrel{\u02dc}{d}}^{i}}}{{\displaystyle \underset{i=1}{\overset{K}{\sum}}}\frac{1}{{\stackrel{\u02dc}{d}}^{i}}},\text{\hspace{0.17em}}\text{\hspace{0.17em}}{T}_{c}^{\ast}:=\frac{{\displaystyle \underset{i=1}{\overset{K}{\sum}}}\frac{{\stackrel{\u02dc}{T}}_{c}^{i}}{{\stackrel{\u02dc}{d}}^{i}}}{{\displaystyle \underset{i=1}{\overset{K}{\sum}}}\frac{1}{{\stackrel{\u02dc}{d}}^{i}}}$ (8)

where the inverse numbers of the distances $1/{\stackrel{\u02dc}{d}}^{i}$ are utilized as weights.

The procedure of obstacle avoidance control of the car based on just-in-time modeling is summarized as the next algorithm and Figure 6.

Algorithm [Obstacle Avoidance Control via JIT Modeling]

Step 1 For various data $\left({V}_{c}\mathrm{,}{X}_{o}\mathrm{,}{R}_{o}\right)$, compute a gain A and a control time ${T}_{c}$ which can avoid an obstacle. Then, construct the database which contains the inputs $\left({V}_{c}^{i},{X}_{o}^{i},{R}_{o}^{i}\right)\text{\hspace{0.17em}}\text{\hspace{0.17em}}\left(i=1,\cdots ,N\right)$ and the outputs $\left({A}^{i},{T}_{c}^{i}\right)\text{\hspace{0.17em}}\text{\hspace{0.17em}}\left(i=1,\cdots ,N\right)$ .

Step 2 For a query data $\left({V}_{c}^{\mathrm{*}}\mathrm{,}{X}_{o}^{\mathrm{*}}\mathrm{,}{R}_{o}^{\mathrm{*}}\right)$, calculate distances ${d}^{i}\text{\hspace{0.17em}}\left(i=1,\cdots ,N\right)$ for all the data $\left({V}_{c}^{i},{X}_{o}^{i},{R}_{o}^{i}\right)\text{\hspace{0.17em}}\text{\hspace{0.17em}}\left(i=1,\cdots ,N\right)$ in the database with (7), add the distances to the database.

Step 3 Sort all the data in the database in ascending order with respect to the distance: $\left({\stackrel{\u02dc}{V}}_{c}^{i},{\stackrel{\u02dc}{X}}_{o}^{i},{\stackrel{\u02dc}{R}}_{o}^{i},{\stackrel{\u02dc}{A}}^{i},{\stackrel{\u02dc}{T}}_{c}^{i},{\stackrel{\u02dc}{d}}^{i}\right)\text{\hspace{0.17em}}\left(i=1,\cdots ,N\right)$ and extract $K\text{\hspace{0.17em}}\left(<N\right)$ data from the sorted database $\left({\stackrel{\u02dc}{V}}_{c}^{i},{\stackrel{\u02dc}{X}}_{o}^{i},{\stackrel{\u02dc}{R}}_{o}^{i},{\stackrel{\u02dc}{A}}^{i},{\stackrel{\u02dc}{T}}_{c}^{i},{\stackrel{\u02dc}{d}}^{i}\right)\text{\hspace{0.17em}}\left(i=1,\cdots ,K\right)$ .

Step 4 By using the gains and the distances in the extract K data $\left({\stackrel{\u02dc}{A}}^{i},{\stackrel{\u02dc}{T}}_{c}^{i},{\stackrel{\u02dc}{d}}^{i}\right)\text{\hspace{0.17em}}\left(i=1,\cdots ,K\right)$, compute the gain ${A}^{\mathrm{*}}$ and the control time ${T}_{c}^{\mathrm{*}}$ from (8).

Step 5 By using the control inputs (2) with the computed gain
${A}^{\mathrm{*}}$ and the computed control time

${T}_{c}^{\mathrm{*}}$, control the car.

The advantages of the proposed method based on just-in-time modeling are as follows: 1) once the database that includes inputs and outputs data of the car is constructed, control inputs that can realizes obstacle avoidance for various encountered obstacles can be computed using not a mathematical model but the database, 2) the algorithm does not need come complicated calculations, and just needs simple ones such as the four basic arithmetic operators and the sort, hence real-time control is achieved.

Figure 6. Obstacle avoidance control of a car via just-in-time modeling.

4. Numerical Simulations

This section shows some numerical simulations in order to confirm the effectiveness of the proposed method. First, a database on obstacle avoidance of the car for just-in-time modeling is constructed. For construction of a database, we set the ranges of input data as Table 1.

The parameters of the car are set as ${R}_{c}=2\text{\hspace{0.17em}}\text{m}\mathrm{,}\text{\hspace{0.17em}}{R}_{off}=0.5\text{\hspace{0.17em}}\text{m}$ . For construction of a database, the range of the gain A is set as ${A}^{\mathrm{min}}=0.01,\text{\hspace{0.17em}}{A}^{\mathrm{max}}=1.0,\text{\hspace{0.17em}}{h}_{A}=0.01$, and the range of the control time ${T}_{c}$ is also set as ${T}_{c}^{\mathrm{min}}=1,\text{\hspace{0.17em}}{T}_{c}^{\mathrm{max}}=20,\text{\hspace{0.17em}}{h}_{{T}_{c}}=1$ . A part of the obtained database is shown in Table 2. The number of data in the database is $N=2255$, which is equal to ${N}_{{T}_{c}}{N}_{{X}_{o}}{N}_{{R}_{o}}=11\times 41\times 5\times 5=2255$, hence this implies ${N}_{fail}=0$ .

By the database and the proposed algorithm, six cases of numerical simulations (from No. 1 to 6) are carried out and the simulation settings are shown in Table 3. The simulations results are illustrated in Figure 7. Figure 7 shows the trajectories of the car on the xy-plane. From these simulation results, it turns out that the car can avoid the obstacles for various situations. Moreover, it is also confirmed that the proposed control method requires small computation time. We next compare the proposed method to the previous one [11] [12] in terms of efficiency of the movement of the car. In the previous method, the control time ${T}_{c}$ is treated as one of the inputs, and the output is only the gain A. Figure 8 depicts simulation results with the previous method with the three problem settings (from No. 1 to 3) in Table 3. In comparison with Figures 1-3 in Figure 8, we can see that the car moves effectively and has less waste from Figures 1-3 in Figure 7. Consequently, the results indicate the effectiveness of the proposed method.

Table 1. The parameter settings for construction of a database.

Table 2. A part of the obtained database.

Table 3. The simulation settings.

Figure 7. Numerical simulation results by the new control method.

Figure 8. Numerical simulation results by the previous method.

5. Conclusion

In this paper, a new obstacle avoidance control method of a car has been developed via just-in-time modeling. The new control method can compute a gain and a control time of the control inputs to avoid encountered obstacles with small computation time. From some numerical simulations, it is showed that the car can avoid various obstacles, and hence the effectiveness of the proposed method can be checked. In addition, the movement of the car generated by the proposed new method is more efficient in comparison with one generated by the previous method. Future work on automatic driving of cars includes the next topics: an extension to avoidance control for moving obstacles, automatic parking and automatic driving based on just-in-time modeling.

References

[1] Navet, N. and Simonot-Lion, F., Eds. (2013) Automotive Embedded Systems Handbook (Industrial Information Technology). CRC Press, USA.

[2] Jurgen, R.K. (2013) Autonomous Vehicles for Safer Driving. Society of Automotive Engineers Inc., USA.

[3] Reif, K., Ed. (2014) Automotive Mechatronics: Automotive Networking, Driving Stability Systems, Electronics. Bosch Professional Automotive Information, Springer Vieweg, Braunschweig.

[4] Kitchin, R. (2014) The Data Revolution: Big Data, Open Data, Data Infrastructures and Their Consequences. SAGE Publications Ltd., London.

[5] Marz, N. and Warren, J. (2015) Big Data: Principles and Best Practices of Scalable Real-Time Data Systems. Manning Pubns Co., New York.

[6] Buyya, R., Calheiros, R.N. and Dastjerdi, A.V. (2016) Big Data: Principles and Paradigms. Morgan Kaufmann, Burlington, Massachusetts.

[7] Stenman, A., Gustafsson, F. and Ljung, L. (1996) Just in Time Models for Dynamical Systems. Proceedings of 35th IEEE Conference on Decision and Control, Kobe, 13 December 1996, 1115-1120.

https://doi.org/10.1109/CDC.1996.574658

[8] Zheng, Q. and Kimura, H. (2001) Just-in-Time Modeling for Function Prediction and Its Applications. Asian Journal of Control, 3, 35-44,

https://doi.org/10.1111/j.1934-6093.2001.tb00040.x

[9] Wakao, S., Hosogoshi, D. and Yamamura, T. (2006) Fundamental Study on the Application of Just-in-Time Modeling to Wind Power Estimation. Proceeding of European Wind Energy Conference and Exhibition 2006, Athens, 27 February-2 March 2006, 412-416.

[10] Ge, Z. and Song, Z. (2010) A Comparative Study of Just-in-Time-Learning Based Methods for Online Soft Sensor Modeling. Chemometrics and Intelligent Laboratory Systems, 104, 306-317.

https://doi.org/10.1016/j.chemolab.2010.09.008

[11] Kai, T. and Miyashita, S. (2016) A Just-in-Time Modeling Approach to Obstacle Avoidance Control of a Car. International Journal of Advances in Mechanical & Automobile Engineering, 3, 110-113.

[12] Kai, T. (2016) Moving Obstacle Avoidance Control of Cars Based on Big Data and Just-in-Time Modeling. International Journal of Science and Engineering Investigations, 5, 104-109.