_{1}

^{*}

This paper provides a new obstacle avoidance control method for cars based on big data and just-in-time modeling. Just-in-time modeling is a new kind of data-driven control technique in the age of big data and is used in various real systems. The main property of the proposed method is that a gain and a control time which are parameters in the control input to avoid an encountered obstacle are computed from a database which includes a lot of driving data in various situations. Especially, the important advantage of the method is small computation time, and hence it realizes real-time obstacle avoidance control for cars. From some numerical simulations, it is showed that the new control method can make the car avoid various obstacles efficiently in comparison with the previous method.

A lot of studies on automatic operation for cars have been actively done by various companies and research groups [

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 [

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.

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:

{ x ˙ = cos θ ⋅ u 1 , y ˙ = sin θ ⋅ u 1 , θ ˙ = u 2 , (1)

where ( x , y ) is the center point of the car, θ is the heading angle of the car. In addition, u 1 , u 2 are the control inputs as shown in

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 ( X o , 0 ) , X o > 0 as illustrated in

Now, it is assumed that the control inputs u 1 , u 2 are represented in the form:

{ u 1 = V c , u 2 = A cos 2 π t T c ( 0 ≤ t ≤ T c ) , (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

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 * and a circular obstacle X o * , R o * , find a gain A * and an control time T c * of the control input u 2 in (2) which can avoid collision with the obstacle for the car (1).

As illustrated in

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.

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 min and V c 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 : = V c max − V c min + 1 h V c . (3)

We have to note that V c min , V c 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 :

N X o : = X o max − X o min + 1 h X o , N R o : = R o max − R o min + 1 h R o , (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 max , A min and T c max , T c min , respectively. For a data ( V c , X o , R o ) , 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 min and T c min to A max and T c 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

( x ( t ) − X o ) 2 + y ( t ) 2 > R c + R o + R o f f , (5)

where R o f f 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 * and the control time T c * in the database. According to circumstances, the gain and the control time which avoid collision cannot be obtained because of the setting of A max , that is to say, the car may not avoid an obstacle in spite of the maximum values of the gain A max and the control time T c max . Hence, the number of data in the database N satisfies

N = N V c N X o N R o − N f a i l , (6)

where N f a i l 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.

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 ( i = 1 , ⋯ , N ) . In the simplest way, we use Euclidian distance and define the distance between a data ( V c i , X o i , R o i ) and the query data ( V c * , X o * , R o * ) as

d i : = ( V c i − V c * ) 2 + ( X o i − X o * ) 2 + ( R o i − R o * ) 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 : ( V ˜ c i , X ˜ o i , R ˜ o i , A ˜ i , T ˜ c i , d ˜ i ) ( i = 1 , ⋯ , N ) , and extract K ( < N ) data from the sorted database (the tilde ^{~} over variables means sorted data). Finally, by using the K extracted data ( V ˜ c i , X ˜ o i , R ˜ o i , A ˜ i , T ˜ c i , d ˜ i ) ( i = 1 , ⋯ , K ) , we calculate the gain A * and the control time T c * of the query data ( V c * , X o * , R o * ) as weighted means:

A ∗ : = ∑ i = 1 K A ˜ i d ˜ i ∑ i = 1 K 1 d ˜ i , T c ∗ : = ∑ i = 1 K T ˜ c i d ˜ i ∑ i = 1 K 1 d ˜ i (8)

where the inverse numbers of the distances 1 / 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

Algorithm [Obstacle Avoidance Control via JIT Modeling]

Step 1 For various data ( V c , X o , R o ) , compute a gain A and a control time T c which can avoid an obstacle. Then, construct the database which contains the inputs ( V c i , X o i , R o i ) ( i = 1 , ⋯ , N ) and the outputs ( A i , T c i ) ( i = 1 , ⋯ , N ) .

Step 2 For a query data ( V c * , X o * , R o * ) , calculate distances d i ( i = 1 , ⋯ , N ) for all the data ( V c i , X o i , R o i ) ( i = 1 , ⋯ , N ) 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: ( V ˜ c i , X ˜ o i , R ˜ o i , A ˜ i , T ˜ c i , d ˜ i ) ( i = 1 , ⋯ , N ) and extract K ( < N ) data from the sorted database ( V ˜ c i , X ˜ o i , R ˜ o i , A ˜ i , T ˜ c i , d ˜ i ) ( i = 1 , ⋯ , K ) .

Step 4 By using the gains and the distances in the extract K data ( A ˜ i , T ˜ c i , d ˜ i ) ( i = 1 , ⋯ , K ) , compute the gain A * and the control time T c * from (8).

Step 5 By using the control inputs (2) with the computed gain A * and the computed control time T c * , 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.

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

The parameters of the car are set as R c = 2 m , R o f f = 0.5 m . For construction of a database, the range of the gain A is set as A min = 0.01 , A max = 1.0 , h A = 0.01 , and the range of the control time T c is also set as T c min = 1 , T c max = 20 , h T c = 1 . A part of the obtained database is shown in

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

Parameter | Value | Parameter | Value | Parameter | Value |
---|---|---|---|---|---|

V c min | 10 m/s | T c max | 20 m/s | h c | 1 m/s |

X o min | 30 m/s | X o max | 70 m | h X o | 1 m |

R o min | 1 m | R o max | 5 m | h R o | 1 m |

No. | T c | X o | R o | A | T c |
---|---|---|---|---|---|

1 | 10 | 30 | 1 | 0.08 | 5 |

2 | 10 | 30 | 2 | 0.43 | 5 |

3 | 10 | 30 | 3 | 0.56 | 5 |

4 | 10 | 30 | 4 | 0.37 | 6 |

5 | 10 | 30 | 5 | 0.43 | 6 |

6 | 10 | 31 | 1 | 0.34 | 5 |

⋮ | ⋮ | ⋮ | ⋮ | ⋮ | ⋮ |

2253 | 20 | 70 | 3 | 0.38 | 5 |

2254 | 20 | 70 | 4 | 0.49 | 5 |

2255 | 20 | 70 | 5 | 0.23 | 6 |

No. | T c | X o | R o |
---|---|---|---|

1 | 10.9 | 48.5 | 1.8 |

2 | 12.4 | 40.7 | 3.4 |

3 | 14.8 | 56.3 | 4.7 |

4 | 15.1 | 32.4 | 2.4 |

5 | 17.8 | 67.2 | 3.9 |

6 | 19.9 | 57.9 | 4.1 |

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.

The author declares no conflicts of interest regarding the publication of this paper.

Kai, T. (2018) A New Efficient Obstacle Avoidance Control Method for Cars Based on Big Data and Just-in-Time Modeling. Journal of Computer and Communications, 6, 12-22. https://doi.org/10.4236/jcc.2018.611002