Fuzzy Navigation of a Driverless Car in Fully Unknown Dynamic Environment

Article history: Received September 2, 2017 Revised November 8, 2017 Accepted November 17 2017 This paper presents the theoretical development of a fuzzy logic based controller for navigation of an Ackermann-like driverless car subjected to kinematic and dynamic constraints in a completely unknown dynamic environment. This controller guides the car from its current position to its end position without any collision with static or dynamic obstacles. Simulation results show the effectiveness of the proposed controller. Keyword: Trajectory planning fuzzy logic static environment dynamic environment


Introduction
On average, one person dies every minute somewhere in the world due to car accidents. In addition to the emotional toll of car accidents, their actual costs in damages equaled 3% of the world GDP and totally nearly one trillion dollars in 2000 [1]. The vast majority of these accidents are due to human mistakes, with roughly 5% caused by vehicle defects [2]. Moreover, the increasing worldwide use of private automobile has led to severe problems with respect to congestion, pollution, and safety. These challenges have motivated the need to develop cars that optimize the use of highway and fuel resources, provide safe and comfortable transportation and of minimal impact on the environment [2]. Up to now, large efforts have been put into developing new types of transportation systems. Fully automated driving (by removing human driver from control loop of car) can be as an answer to this problem. Motion autonomy for cars has attracted considerable research attention in recent years. Moving alone (driverless) from one station to another without collision under three constraints: non-holonomic, dynamic system and dynamic environment (especially for fully unknown environment), is a highly complex task. Navigation approaches can be broadly classified into deliberative versus reactive approaches: deliberative approaches aim at computing a complete motion all the way to the goal using motion planning techniques, whereas reactive approaches determine the motion to be executed during the next time-step only. Deliberative approaches require a model of the environment as complete as possible and their intrinsic complexity is such that it may preclude their application in dynamic environments: indeed, the vehicle has a limited time only to determine its future course of action (by standing still for too long, it might be collided by one of the moving objects). Reactive approaches on the other hand can operate on-line using local sensor information: they can be used in any kind of environment whether unknown, changing or dynamic [3].
In the last years, several researchers proposed various aspects of the car navigation and velocity control problems. Most of these works consider only some aspects of the problem. The first automated cars are designed to follow a predefined path (the path following problem). Laugier et al. [4] proposed a motion control architecture based on fuzzy logic for a car intended to move in partially known dynamic environments. An interesting autonomous navigation system considering moving obstacles and relaxed geometric constraints was presented by Parent [5]. Hodge et al. [6] proposed two fuzzy logic controllers for steering and the velocity control of an autonomous two-axle vehicle. A trajectory deformation scheme was proposed by Delsart and Fraichard [7]. It operates as follows: Given a nominal trajectory reaching a given goal, it is continuously deformed on-line in response to updated information about the environment's obstacles. In unknown environments, optimal navigation distance is unknown, and therefore cannot be formally optimized. However, travel time can be reduced by controlling the velocity of the vehicle [8]. Maček et al. [9] developed a dynamic model for an Ackermann-like vehicle based on a static tire-road friction model and laws of technical mechanics. The model took as input the steering angle of the wheels in front and the rotational velocities of the drive wheels in the back of the vehicle. They also addressed the path following problem for autonomous Ackermann-like vehicle navigation. A control strategy named Traversability-Anchored Dynamic Path Following (TADPF) taking into account both kinodynamic and configuration space constraints of the vehicle was presented [10]. Raimondi and Ciancimino [11] proposed a car guidance system equipped with an intelligent controller, based on fuzzy logic, which calculates the speed and wheels orientation in order to follow a path while it is avoiding unknown obstacles. Essa et al. [12] addressed the problem of vision-based navigation in busy inner-city locations, using a stereo rig mounted on a mobile platform. They combined classical geometric world mapping with object category detection and tracking. Multi-object tracking recovered the objects' trajectories, thereby made it possible to predict their future locations, and to employ dynamic path planning.
In this paper, we address the problem of motion planning for autonomous Ackermann-like vehicle moving in a completely unknown dynamic environment without collision under non-holonomic and system dynamic constraints.
Since environment modeling and sensor information are generally approximated in motion planning problem, and have uncertainties and also because the fuzzy logic controller (FLC) is robust in presence of perturbations, it would be easy to design and implement it. Moreover, it relaxes the need of an accurate mathematical model of the system by replacing the mathematical knowledge by human (expert) knowledge and intuitions [13], a fuzzy control based approach is selected in this research. This fuzzy reactive controller safely and efficiently guides the vehicle from station A to station B in unknown environments containing static and dynamic obstacles.

Mathematical model of the car
This section briefly describes the nonlinear model of the vehicle. Assume the car is rear wheel drive and front steering, figure 1 shows the free body diagram of the car.  Driving condition is normal (only forward motion), therefore velocity is never negative.

Kinematics of the car
The description of the car motion is based on the Ackermann Kinematic model: From above set of equations, the following equation easily can be obtained: The above relation is a non-integrable (non-holonomic) constraint over the velocity space of the car which means that the car can only move in a direction tangent to its orientation.

Dynamics of the car
We assume that the engine of the car can provide the maximum traction supported by friction. Then, the traction force can be calculated using the following relation: where zr F is the normal force of the rear wheels, (Figure 2), where, The lateral acceleration at the mass center of the car is given by: For preventing the lateral slip of the car, we must have, Assume that: The first term in right hand of Eq. (12) dominates, if the slip angle of vehicle and its derivative are both assumed to be small, the second term contribute only a small fraction of the total lateral acceleration. Therefore, Eq. (13) can now be written as: The factor τ allows the second term of Eq. (12) to contribute (1τ) % to the total lateral acceleration [1]. In this paper, this factor is assumed to be 0.8, therefore, Finally we have, which is a constraint on path curvature.

Problem Solution
We divide the problem in two segments, figure 4: Goal seeking task: steering the car toward goal station. Obstacle avoidance task: steering the car away from static and dynamic obstacles. In the following, a fuzzy controller is designed for two above tasks.

Goal seeking module
Consider the conditions shown in figure 5, the car must move from its current position to the end position in an obstacle free environment. To do this task, a fuzzy controller, called goal seeking module, is designed. The inputs to this module are d_teta and delta (delta is the length of PT line) and outputs of this module are velocity and steer_angle of the car as shown in figure 6. The membership functions of all controllers in this paper are the difference of two sigmoid functions: The membership function for inputs and outputs are illustrated in figure 7. The set of rules needed for navigation of car (35 rules), is expressed in the table 2.

Obstacle avoidance module
The task of this module is to steer the car away from static and dynamic obstacles. The inputs to this module are distance and angle of the critical obstacles with respect to the car and outputs of this module are velocity and steering angle of the car, such as shown figure 8. Consider the scenario shown in figure 9, in which a car is moving among four moving obstacles. Car has to find its collision-free path between these obstacles, for doing this task at first the car planner must determine the most critical obstacle. We define critical factor for each obstacle which that lies within detection zone of sensors as Eq. (19), The contour of this relation for = C j was plotted in figure 10. In the above figure, each band has a constant critical factor computed from Eq. (19). In fact, by using critical factor in situations that two obstacles are in equal distance from car, each one that has smaller angle with respect to the car lontitudinal axe, is the most critical obstacle. Membership function plots for obstacle avoidance module are illustrated in figure 11. Linguistic terms for input and output variables and their membership functions are:

Parking at final position
For parking the car in a parking lot with given orientation at the end of path, we present an approximated solution and call it "virtual target approach". In this approach, before the car start to move toward the goal station, two circles that passing from center of parking lot and tangent to its longitudinal symmetry line are drawn (radius of circles is minimum radius of path), next at each sampling time, depending on car's reference point P position with respect to the parking lot center-point, one of circles is selected and two line passing from P and tangent to selected circle are drawn and points P1, P2 are obtained as shown in figure 12.
At the next step the point that is closer to parking lot center-point is assumed as a instantaneous target point (in fact virtual target or virtual parking lot center-point) and fuzzy controller guides the car to this virtual target. Repeating this process at each sampling time gradually orients the car to the orientation of the given target station and finally car stops at the actual final station with approximately correct position and orientation as shown in figure 13.Fuzzy inference rules for obstacle avoidance module have been given in table 2. Because the motion planning environment of our work has unknown dynamic and assumed to be of high dynamicity, we have no information about future behavior of its dynamic obstacles, for generating efficient and safe trajectories. Therefore, we have to resort a predictor model to estimate future behavior of moving obstacle. We need to plan the next motion fast due to constraint on the available response time but we do not need to plan long term motion due to constraint on temporal validity of predictions. Here, we only predict future single step position of moving obstacles by using Autoregressive Model (ARM). Because it is very simple and fast it gives quick response when the car encounters the obstacles. Positions of the obstacles are sampled by sensor system of the car. When the car starts to interact with its environment, data on visible obstacles are collected. Predictor model takes this information and predicts the motion trend of moving obstacle to get its next position. In fact, by predicting future positions of dynamic obstacles, trajectory planning in dynamic environment is translated to static one. A nth order autoregressive model is described by the following equation:  1  ,  1  1  ,  1  1  ,  1   1  ,  1  1  ,  1  1  ,  1   1  ,  1  1  ,  1  1  ,  1   3  ,  3  2  ,  3  1  ,  3   3  ,  3  2  ,  3  1  ,  3   3  ,  3  2  ,  3 The proposed approach was implemented in MATLAB software and tested in different scenarios. For example figures 14, 15 and 16 respectively show vehicle navigation in obstacle free environment and final parking lot using virtual target approach, navigation in four unknown obstacles in static environments and navigation in three unknown obstacles in dynamic environments and velocity and steering angle profile. Using predictor model results in smoother steering commands as shown in figure 16. As illustrated in these figures, our proposed algorithm works well and can be applied in the controlling of the driverless cars.

Conclusion
A Mamdani type fuzzy controller for vehicle navigation in completely unknown dynamic environment has been presented. This controller consists of two separate modules: goal seeking module and obstacle avoidance module. Goal seeking module is activated when no obstacle is visible for vehicle. When an obstacle enters to the detection zone of vehicle's sensor, the goal seeking module is turned off and the obstacle avoidance module is activated. This module steers the vehicle away from obstacles. The ARM prediction model has been used to generate more sufficient and smoother trajectory. Finally a simple algorithm has been proposed to guide the vehicle to the end given position and orientation. The effectiveness of the proposed fuzzy controller was verified by simulation results.