<Reprint> How to interpret autonomous driving from the algorithm?

  Technology News Xiaopeng Motors 2016-03-28 10:42

[ Abstract ] In the problem of vehicle routing, the road network model, routing algorithm and intelligent prediction of traffic information are the key points.

Due to the heavy driving work of drivers, and with the increase of car ownership, the number of non-professional drivers increases, resulting in frequent traffic accidents. How to improve the active safety and traffic safety of automobiles has become a social problem that needs to be solved urgently.

How to interpret autonomous driving from an algorithm?

Figure 1 Schematic diagram of smart car

With the development of computer technology, electronic technology, image processing and other information processing technology research, researchers have begun to apply various advanced technologies to automobile control to assist drivers in the control of automobiles. On the basis of these studies on automotive electronic control systems, combined with the vigorous development of intelligent information processing technology, an emerging interdisciplinary discipline—autonomous driving of vehicles (also known as smart cars) has gradually emerged. In the future, practical smart cars will minimize traffic accidents, improve transportation efficiency, and reduce the burden of driver manipulation, thereby improving the safety of road traffic, mobility and active safety of car driving. In 2001, the Ministry of Science and Technology has officially launched the implementation of the National Science and Technology Key Project "Intelligent Transportation System Key Technology Development and Demonstration Project" in the Tenth Five-Year Plan to improve the management level and service level of my country's entire transportation system, improve efficiency and safety. , the autonomous driving of vehicles is the key to realize ITS (Intelligent Transport System).

How to interpret autonomous driving from an algorithm?

Figure 2 Schematic diagram of intelligent transportation system

The vehicle autonomous driving system is essentially an intelligent control machine, and its research contents can be roughly divided into three subsystems: information perception, behavioral decision-making and manipulation control. Path planning is the basis of intelligent vehicle navigation and control. It is considered from the perspective of trajectory decision-making. It can be divided into local path planning and global path planning.

The task of global path planning is to plan a collision-free, passable path from the starting point to the target point according to the global map database information . Currently, there are path planning techniques under various constraints of quasi-structured road environment, path planning techniques under natural terrain environment, and re-planning techniques. Since the path generated by the global path planning can only be a rough path from the starting point to the target point, the detailed information such as the direction, width, curvature, road intersection and roadblocks of the path is not considered, and the intelligent vehicle is affected by the local environment during the driving process. And the influence of the uncertainty of its own state, it will encounter various unpredictable situations. Therefore, in the driving process of the intelligent vehicle , an ideal local path without collision must be planned based on the local environment information and its own state information, which is the local path planning . Common path planning methods include: space search method, hierarchical method, action behavior method, potential field method, grid method, fuzzy logic method and neural network method .

Autopilot tasks can be divided into three layers, as shown in Figure 3. Each layer performs different tasks, including upper-level path planning, middle-level driving behavior planning, and lower-level trajectory planning.

How to interpret autonomous driving from an algorithm?

Figure 3 Car autonomous driving task

The upper-level path planning obtains the optimal path between two points according to an optimization objective under the known prior information such as electronic map, road network and macro traffic information. The sensor information for completing path planning mainly comes from GPS positioning information and electronic map. The middle-level driving behavior planning refers to the decision to determine the optimal driving behavior that satisfies the traffic laws and structured road constraints at the current moment according to the environmental information such as roads and traffic vehicles in the area of ​​interest of the main vehicle, and the dynamically planned driving behavior sequence constitutes a macro path. The sensing information of behavior planning mainly comes from on-board sensors such as radar and cameras, which are used to identify road obstacles, lane lines, road signs and traffic lights. The lower-level trajectory planning refers to the optimal trajectory determined according to the optimal target dynamic planning at the current moment, with the goal of completing the current driving behavior, considering the surrounding traffic environment and satisfying different constraints. At the same time, the dynamic constraints of the vehicle are also reflected in the lower layer. In addition to the necessary external environment information, the lower layer trajectory planning also needs to measure or estimate the state information of the main vehicle.

Several key points in the problem of vehicle path planning: road network model, path planning algorithm and intelligent prediction of traffic information, involving many aspects, this paper mainly discusses the path planning process briefly.

1. Problem introduction

The problem we are trying to solve is to move a game object from a starting point to a destination, as shown in Figure 2. The goal of Pathfinding is to find a good path - avoiding obstacles, enemies, and minimizing costs (fuel, time, distance, equipment, money, etc.). The goal of Movement is to find a path and follow it. When the Game Object starts to move, a sophisticated pathfinder plus a trivial movement algorithm can find a path, and the Game Object will will move along that path ignoring everything else. A movement-only system would not search for a path (the original "path" would be replaced by a straight line), but would instead take only one step at each node, i.e. in a certain direction Travel a certain distance, and at the same time need to consider the surrounding obstacle environment to avoid collision. Obviously, using both Pathfinding and movement algorithms will give the best results.

Moving a simple object seems easy, but path searching is complicated, why trouble when it comes to path searching? Consider the following scenarios:

How to interpret autonomous driving from an algorithm?

Figure 4 Collision avoidance path planning

The unit is initially at the bottom of the map and trying to move towards the top, nothing in the area scanned by the unit (pink) shows that it can't move up, so it keeps moving up. When approaching the top, it detects an obstacle and changes direction, then it follows the U-shaped obstacle to find its red path. Conversely, a pathfinder will scan a larger area (light blue), but it will find a shorter path (blue) without letting the unit go towards the concave obstacle color path).

In response to the above situation, as shown in Figure 5, a motion algorithm can be extended to deal with the obstacles shown in the above figure, or avoid creating concave obstacles, or mark concave exits as dangerous (only if the destination is inside time to enter). Rather than waiting until the last minute to discover a problem, the pathfinder can plan ahead and choose a better motion path.

How to interpret autonomous driving from an algorithm?

Figure 5 Path planning method for obstacle avoidance optimization

2. Problem description

Vehicle trajectory planning and intelligent decision-making are one of the key technologies for realizing vehicle intelligence. Its main task is to determine a performance index based on the environmental signals processed by the environmental perception system and prior map information, on the premise of satisfying many constraints on vehicle driving. For the purpose of optimization, the trajectory of the vehicle is planned.

The autonomous driving behavior of a smart car is to “carry” the car from the starting pose to the target pose. The movement of the vehicle is limited to the road surface, and its kinematics and dynamics models make it impossible to be as random as a drone in the air. Adjust the heading angle. Therefore, in addition to considering the shortest distance and no collision, the planned path also needs to consider the executable trajectory of the vehicle.

3. Vehicle Path Planning Algorithm

According to the research history of vehicle navigation system, vehicle path planning algorithm can be divided into static path planning algorithm and dynamic path algorithm. Static path planning is based on physical geographic information and traffic rules to find the shortest path. The static path planning algorithm has become increasingly mature and relatively simple, but its application is of little significance for actual traffic conditions. Dynamic route planning is based on static route planning, combined with real-time traffic information to timely adjust the pre-planned optimal driving route until reaching the destination and finally obtain the optimal route. Several common vehicle path planning algorithms are described below.

1. Dijkstra's algorithm

How to interpret autonomous driving from an algorithm?

Figure 6 Schematic diagram of Dijkstra's algorithm

Dijkstra (Dijkstra) algorithm is one of the classic algorithms of the shortest path algorithm, proposed by EWDijkstra in 1959. The algorithm is suitable for calculating the shortest path problem with non-negative road weights. It can give the shortest path from a node to all other nodes in the graph, with clear thinking and accurate search. On the contrary, since the input is a large sparse matrix, it has the disadvantage of taking a long time and occupying a large space. Its algorithm complexity is O(n2), where n is the number of nodes.

2. Lee algorithm

Lee's algorithm was first used in the path tracing of printed circuits and integrated circuits. Compared with Dijkstra's algorithm, it is more suitable for road path planning with changing data, and its running cost is smaller than that of Dijkstra's algorithm. As long as the optimal path exists, the algorithm is able to find the optimal optimal path. The complexity of Lee's algorithm is difficult to express, and it requires a lot of space for multi-layer path planning.

3. Floyd's algorithm

Floyd's algorithm, proposed by Floyd in 1962, is an algorithm for calculating the shortest distance between any two points in a graph. It can correctly handle the shortest path problem of directed graphs or negative weights, and it is also used to calculate the transitive closure of directed graphs. The time complexity of the Floyd-Warshall algorithm is O(n3) and the space complexity is O(n2) , where n is the number of nodes. The time complexity is the same as that of performing Dijkstra's algorithm once for each node, but the actual operation effect is better than that of Dijkstra's algorithm.

4. Heuristic search algorithm - A* algorithm

How to interpret autonomous driving from an algorithm?

Figure 7 Dynamic diagram of A* algorithm

There are many algorithms for heuristic search, such as: local preferential search method, best first search method, A* algorithm, etc. Among them, the A* algorithm was first proposed by Hart, Nilsson, Raphael and others. By introducing an evaluation function, the algorithm speeds up the search speed and improves the search accuracy of the local optimal algorithm, so it has been widely used and is currently the most popular shortest path. algorithm. The A* algorithm takes less storage space than Dijkstra's algorithm. Its time complexity is O(bd), b is the average out-degree of the node, and d is the search depth of the shortest path from the start point to the end point.

5. Bidirectional Search Algorithm

The basic idea of ​​the two-way search algorithm is proposed by Dantzig, and Nicholson formally proposed the algorithm. The algorithm searches for the shortest path from the starting point, and also searches forward from the end point. The best effect is that the two converge at the middle point, which can shorten the search time. But if the termination rule is not suitable, the algorithm is very likely to double the search time, that is, the search in both directions will only terminate at the end.

6. Ant Colony Algorithm

How to interpret autonomous driving from an algorithm?

Figure 8 Schematic diagram of ant colony algorithm

Ant colony algorithm was proposed by Italian scholar M. Dorigo in 1991. It is a random search algorithm. Robustness, and easy to combine with other methods, the algorithm complexity of ant colony algorithm is better than Dijkstra algorithm.

In addition, there are real-time heuristic search algorithms, search algorithms based on hierarchical road networks, neural networks, genetic algorithms and fuzzy theory, etc. Due to different actual needs, the requirements and focus of the algorithms will be different, so there are also Various improvements to many of the above algorithms. Most of the algorithms have certain defects when applied to solve the vehicle path planning problem, so the current research focuses on using the fusion of multiple algorithms to construct hybrid algorithms.

4. Summary

At present, most mature vehicle navigation systems put into the market are based on static path planning. However, in the face of the traffic reality with many unstable factors, users are not satisfied with the existing systems. Especially when traffic accidents and traffic jams occur, static path planning cannot change the route in time. Therefore, the dynamic path planning of vehicle navigation has become a research hotspot of the new generation of intelligent vehicle navigation system. Vehicle dynamic path planning predicts future traffic flow based on historical and current traffic information data, and is used to adjust and update the optimal driving route in time, thereby effectively reducing road congestion and traffic accidents.

How to interpret autonomous driving from an algorithm?

Figure 9 Schematic diagram of multi-navigator coordination planning

With the rapid development of computer science technology, wireless communication technology and transportation industry, the research trend of dynamic path planning of vehicle navigation system will also develop towards the direction of multi-navigator coordinated planning. The current vehicle navigation uses a single vehicle as the object to guide the path without considering the overall coordination, which is easy to cause new traffic congestion and other problems. Therefore, the coordinated planning of multiple navigators will be a planning method that is more in line with actual needs. .

references:

1. Vehicle micro-dynamic trajectory planning considering global optimality

2. Research progress of dynamic path planning for vehicle navigation

3、 Adaptive Routing for road traffic

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325249058&siteId=291194637