-
Notifications
You must be signed in to change notification settings - Fork 11
Approaches to Behavior Planning & Controls
Control strategies for autonomous vehicles
Suitable controllers have been narrowed down to the following:
Comparison Metric | PID Control | Geometric (Stanley) Control | Model Predictive Control |
---|---|---|---|
Principle of Operation | Error Driven (Corrective) | Model Based (Corrective) | Model Based (Optimal) |
Tracking | Good | Very Good | Excellent |
Robustness | Very Good | Very Good | Excellent |
Stability | Very Good | Very Good | Excellent |
Reliability | Very High | Very High | Extremely high |
Technical Complexity | Low | Low | Very high |
Computational Overhead | Low | Low | Very High |
Constraint Satisfaction | Good | Good | Excellent |
Technical Maturity | Very High | High | Moderate |
Parameter adaptive steering control for autonomous vehicles
-
Steering controller consists of two controllers:
-
1) preview model of the upcoming road is used to determine the desired yaw rate
- Deciding the yaw rate is based on no slip & low speed conditions
-
2) "adaptive control" determines the steering wheel angle
- Not constrained to the speed & slip conditions
- Independent on the vehicle parameters
- Uses an "adaptation algorithm" for adaptive yaw rate gain that minimizes the error of yaw rate gain
-
-
Reported max lateral error: 0.4970 meters (caused by severe curvature change)
-
Reported error of yaw rate gain in respect to the predicted yaw rate gain (in simulation): 8.25%
- Generates a new path at least 15 times per second
- Selects optimal path from a finite set of candidates based on cost function combining speed, safety, and consistency. Returns cubic spline that considers stationary obstacles and obstacles with linear velocity, max velocity/acceleration, and temporal consistency (reduces jerk)
- We can model objects with linear velocity because over 1/15th of a second, they probably won’t accelerate much.
- Algorithm is also penalized for going near a potential collision
- This algorithm also considers dodging a moving obstacle by overtaking, or slowing down and following it.
- Works on multilane roads and single lane roads
- We can change parameters of the algorithm to change tradeoff of safety, smoothness, and speed
- We can also change parameters to limit the maximum lateral speed (steering amount)
-
Route Planner - Computes a Route (sequence of waypoints) from car’s state to goal. Route is W = {w_1, w_2, …, w_|W|} where each wi = (xi, yi)
- Goal-Directed Techniques - guide search from source vertex to target vertex by avoiding scans of vertices not in the direction of the target (like A*, arc flags)
- Separator-based techniques - based on vertex/arc separators, which are small subsets of vertices/arcs whose removal decomposes the graph into
several balanced cells.
- Vertex separator-based algorithm uses these to compute an overlay graph, with shortcut arcs being added to preserve distances between pairs of vertices on full graph.
- Arc separator-based algorithm - decomposes graph into balanced cells, attempts to minimize the number of cut arcs (connect boundary vertices to different cells)
- Hierarchical Techniques - exploit hierarchy of road networks (main roads go long distance)
- So we only have to query main roads for distant start/goal vertices
- Contraction Hierarchies (CH) algorithm - repeatedly removes the least important vertex from graph and creates shortcuts between neighboring vertices.
- Bounded-Hop Techniques - precompute distances between pairs of vertices by adding virtual shortcuts to graphs. Aim to get length with few hops by computing subset of pairs, since all pairs is a lot.
- We can also do combinations of techniques
- Table 1: Performance of Route Planning Techniques
-
Path Planner - computes a set of Paths P (sequence of poses of the car) = {P_1, P_2, .. P_|P|} based on route, state, traffic rules. A path P_j = {p_1, p_2, … p_|Pj|} is a sequence of poses pi = (x_i,y_i,θ_i = car orientation) respective to the offline map. The first pose is the current pose of the car
- Graph Search - goal state is a pose near a waypoint w_i of current route W. Discretize the search space by putting a graph on an occupancy grid
map with the centers of cells acting as neighbors in the search graph.
- Methods: Dijkstra, A*, D*, hybrid-A*. One of the star algorithms would be better than dijsktra, since we can use heuristics to speed up search.
- Interpolating curve - take waypoints of a route and generates a new set of points that depict a smooth path. Typically a spline curve
- Spline curve - piecewise polynomial parametric curve. the junction between segments is called a knot/control point and usually has a high smoothness constraint. Low cost, but chooses continuity/smoothness over road’s constraints
- Graph Search seems like the only good option. The hard part will be finding a good heuristic.
- Graph Search - goal state is a pose near a waypoint w_i of current route W. Discretize the search space by putting a graph on an occupancy grid
map with the centers of cells acting as neighbors in the search graph.
-
Behavior Selector - chooses current driving behavior (lane keeping, intersection handing, traffic lights, etc). Selects a future (usually ~5s in the future) pose, p_g, in some path and decides a desired velocity, vg, to create a Goal = (p_g, v_g). Estimated time between now and goal is called the decision horizon. Must obviously avoid collisions.
- Finite State Machine Based Techniques - different traffic scenarios are represented by states with transitions based on discrete rules from perception information. Difficult to deal with uncertainties.
- Could work for demo 2, as it is simpler and we only have a small set of different states to make (don’t have to worry about weather, weird roads, etc)
- Other techniques:
- Ontology based techniques - uses a knowledge base to make decisions, and sends info like “STOP” “GO LEFT” “GIVE WAY” to another system.
- Markov Decision Processes Based Techniques - addresses uncertainty in actions/transitions and perception
- Finite State Machine Based Techniques - different traffic scenarios are represented by states with transitions based on discrete rules from perception information. Difficult to deal with uncertainties.
General
- Papers for literature review
- Demo 2: Grand Tour (Overview)
- Our Team
- Learning resources
- Meeting notes
- Archived Pages
Development & Simulation
- Code Standards and Guidelines
- Writing and Running Tests
- Installation and usage
- Logging into the Quad Remote Simulator
- Running the Simulator
Software Design
Outdated or Uncategorized