This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| en:safeav:ctrl:algorithms [2026/04/29 16:52] – taltech case study removed raivo.sell | en:safeav:ctrl:algorithms [2026/06/02 23:40] (current) – momala | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Methods and Architectures ====== | ||
| + | |||
| + | Having located planning and control within the autonomy stack, the next step is to examine the principal methods used to implement this layer. These methods fall broadly into classical control, AI-based control, behavioral decision-making, | ||
| + | |||
| + | The chapter therefore distinguishes between two linked topics: | ||
| + | |||
| + | - **control strategies**, | ||
| + | - **behavioral and motion-planning strategies**, | ||
| + | |||
| + | A useful way to view the full chain is: | ||
| + | |||
| + | - **decision-making** selects the maneuver; | ||
| + | - **motion planning** generates a feasible path or trajectory; | ||
| + | - **control** tracks that trajectory through the vehicle actuators; | ||
| + | - **monitoring and replanning** supervise execution and trigger corrections when necessary. | ||
| + | |||
| + | The distinction is important. A behavior module may be correct in isolation, but if it produces an aggressive maneuver, the motion planner may fail to find a safe trajectory. Likewise, a good planner may still produce unsafe results if the controller cannot track the planned motion or if the system state estimate is inaccurate. This is why planning and control must be presented together, even if they are implemented by different software modules. | ||
| + | |||
| + | ===== Classical Control Strategies ===== | ||
| + | |||
| + | Classical control strategies form the foundation of most vehicle control systems. They are based on mathematical models of the vehicle and on feedback control principles that relate the current vehicle state to a desired reference. Their main advantage is that they are well understood, mathematically structured, and comparatively easy to analyze. | ||
| + | |||
| + | ^ Aspect ^ Description ^ | ||
| + | | **Core idea** | Measure the current state, compare it to the desired state, compute the error, and generate a control action that reduces the error. | | ||
| + | | **Typical model** | Vehicle dynamics, often simplified or linearized around a nominal operating point. | | ||
| + | | **Main strength** | Predictability, | ||
| + | | **Main limitation** | Performance depends strongly on model accuracy and operating conditions. | | ||
| + | |||
| + | ==== Typical classical methods ==== | ||
| + | |||
| + | 1. **PID control** | ||
| + | The proportional-integral-derivative controller is the most widely used classical method. It computes control action from: | ||
| + | - the current error, | ||
| + | - the accumulated past error, | ||
| + | - the predicted future trend of the error. | ||
| + | |||
| + | PID control is widely used for speed regulation, yaw-rate control, heading correction, and other low-level vehicle functions where the controlled variable must stay near a reference value. | ||
| + | |||
| + | 2. **LQR control** | ||
| + | The linear quadratic regulator is an optimal control method that minimizes a cost function balancing tracking error and control effort. It requires a linear or linearized model and is often used for trajectory tracking, stabilization, | ||
| + | |||
| + | 3. **State estimation** | ||
| + | | ||
| + | |||
| + | 4. **Sliding mode control** | ||
| + | | ||
| + | |||
| + | ==== Safety properties of classical control ==== | ||
| + | |||
| + | Classical control methods are attractive in safety-critical systems because they offer a number of practical advantages: | ||
| + | |||
| + | * **Predictability: | ||
| + | * **Stability analysis:** the behavior can often be studied analytically or with well-known engineering tools. | ||
| + | * **Transparent tuning:** gains, cost weights, and observer parameters can be justified and documented. | ||
| + | * **Debuggability: | ||
| + | * **Mature practice:** these methods have been used for decades in automotive, aerospace, and industrial control. | ||
| + | |||
| + | These strengths do not remove the need for validation, but they make the validation argument more structured because the controller behavior can often be bounded more directly. | ||
| + | |||
| + | ==== Limitations of classical control ==== | ||
| + | |||
| + | The limitations of classical control appear when the operating conditions move away from the assumptions used in design. | ||
| + | |||
| + | * **Model dependency: | ||
| + | * **Nonlinear behavior:** tire slip, saturation, load transfer, aerodynamic drag, and road friction changes can all reduce accuracy. | ||
| + | * **Disturbances: | ||
| + | * **Limited adaptability: | ||
| + | * **Scaling difficulty: | ||
| + | |||
| + | For this reason, classical control remains highly valuable, but it is often combined with higher-level decision logic or learned components. | ||
| + | |||
| + | ===== AI-Based Control Strategies ===== | ||
| + | |||
| + | AI-based control strategies use data-driven methods to learn control behavior from examples, simulations, | ||
| + | |||
| + | ^ Aspect ^ Description ^ | ||
| + | | **Core idea** | Learn a control policy from data, simulation, or interaction. | | ||
| + | | **Typical tools** | Reinforcement learning, supervised learning, neural network controllers, | ||
| + | | **Main strength** | Ability to represent complex nonlinear behavior and adapt to rich environments. | | ||
| + | | **Main limitation** | Harder to interpret, certify, and guarantee under all operating conditions. | | ||
| + | |||
| + | ==== Typical AI-based methods ==== | ||
| + | |||
| + | 1. **Reinforcement learning** | ||
| + | | ||
| + | |||
| + | 2. **Supervised learning for control** | ||
| + | In supervised approaches, the model is trained on expert demonstrations or labeled data. It learns to imitate desired control outputs. This can be useful when expert behavior is available and when the goal is to reproduce a known control style or policy. | ||
| + | |||
| + | 3. **Neural network controllers** | ||
| + | A neural network may directly map current state estimates to steering, braking, throttle, or other actuator commands. This can be effective in highly nonlinear settings, but it creates validation challenges because the internal decision process is not as transparent as in classical control. | ||
| + | |||
| + | 4. **Learned models inside MPC** | ||
| + | Model predictive control can remain the outer optimization structure while a learned model replaces or augments part of the vehicle dynamics model. This can improve accuracy in difficult-to-model situations while preserving the optimization structure of MPC. | ||
| + | |||
| + | ==== Safety properties of AI-based control ==== | ||
| + | |||
| + | AI-based control can be powerful, but its validation burden is significantly higher. | ||
| + | |||
| + | * **Handling complexity: | ||
| + | * **Adaptability: | ||
| + | * **Data dependence: | ||
| + | * **Generalization risk:** behavior outside the training distribution may be unreliable. | ||
| + | * **Explainability challenge: | ||
| + | * **Formal guarantees: | ||
| + | |||
| + | These characteristics do not make AI-based control unsuitable, but they mean that the validation strategy must be broader, more scenario-driven, | ||
| + | |||
| + | ==== Challenges and safety concerns ==== | ||
| + | |||
| + | The main concerns for AI-based control are: | ||
| + | |||
| + | * **black-box behavior**, which makes debugging and certification more difficult; | ||
| + | * **training-data dependency**, | ||
| + | * **out-of-distribution behavior**, where the controller is asked to act in situations it has not learned; | ||
| + | * **adversarial vulnerability**, | ||
| + | * **safety assurance**, | ||
| + | |||
| + | For these reasons, AI-based control is often paired with explicit runtime monitoring, fallback logic, and classical low-level control. | ||
| + | |||
| + | ===== Behavioral Algorithms ===== | ||
| + | |||
| + | Behavioral algorithms decide the next maneuver or driving intention. They answer questions such as: | ||
| + | - Should the vehicle stop or continue? | ||
| + | - Should it yield, follow, overtake, or change lane? | ||
| + | - Should it remain in the current lane or prepare a reroute? | ||
| + | |||
| + | Behavioral algorithms define the transition from perception and prediction to motion planning. They are the bridge between what the vehicle understands and what it intends to do. | ||
| + | |||
| + | ==== Common behavioral approaches ==== | ||
| + | |||
| + | | Method | Main idea | Typical use | | ||
| + | |---|---|---| | ||
| + | | **Finite State Machines** | Use discrete states and transitions to represent maneuvers | lane following, stop-and-go logic, lane change preparation | | ||
| + | | **Hierarchical State Machines** | Organize behaviors in layers with mission-level and maneuver-level states | more complex driving logic with nested decisions | | ||
| + | | **Behavior Trees** | Use tree structures with selectors, sequences, and conditions | modular, readable, reusable maneuver logic | | ||
| + | | **Rule-Based Systems** | Apply explicit if-condition-then-action rules | traffic-law compliance, right-of-way handling | | ||
| + | | **Utility-Based Methods** | Score candidate behaviors and choose the best option | trade-offs between safety, efficiency, and comfort | | ||
| + | | **Learning-Based Behavior** | Learn behavior selection from data or interaction | adaptive maneuver selection, complex interaction handling | | ||
| + | |||
| + | ==== Behavioral safety concerns ==== | ||
| + | |||
| + | Behavioral logic must be validated for: | ||
| + | |||
| + | * **rule compliance**, | ||
| + | * **predictability**, | ||
| + | * **consistency**, | ||
| + | * **uncertainty handling**, especially when perception is incomplete or prediction is uncertain; | ||
| + | * **ethical tension**, where the system may face competing safety, comfort, or efficiency objectives. | ||
| + | |||
| + | Behavioral algorithms are therefore not just a software convenience. They are part of the safety argument because they determine when the vehicle acts, when it waits, and when it escalates to a fallback behavior. | ||
| + | |||
| + | ===== Motion Planning ===== | ||
| + | |||
| + | Motion planning turns a behavioral decision into a concrete path or trajectory. If the behavioral layer decides *what* the vehicle should do, motion planning determines *how* it can do it safely. | ||
| + | |||
| + | ==== Common motion-planning families ==== | ||
| + | |||
| + | 1. **Grid-based planning** | ||
| + | Grid planners such as A* or D* work on a discretized map. They are useful for route-level or map-based planning and can be efficient when the environment is represented in a structured way. | ||
| + | |||
| + | 2. **Sampling-based planning** | ||
| + | | ||
| + | |||
| + | 3. **Optimization-based planning** | ||
| + | | ||
| + | |||
| + | 4. **Potential-field methods** | ||
| + | These methods use attractive and repulsive forces to guide the vehicle. They are conceptually simple, but they may suffer from local minima or unstable motion in complex scenes. | ||
| + | |||
| + | 5. **Lattice-based planning** | ||
| + | | ||
| + | |||
| + | ==== Motion-planning safety aspects ==== | ||
| + | |||
| + | Motion planning must satisfy several requirements at the same time: | ||
| + | |||
| + | * **collision avoidance**: | ||
| + | * **feasibility**: | ||
| + | * **comfort**: | ||
| + | * **predictability**: | ||
| + | * **reactivity**: | ||
| + | * **robustness**: | ||
| + | |||
| + | ==== Motion-planning challenges ==== | ||
| + | |||
| + | * **real-time computation**, | ||
| + | * **dynamic obstacles**, | ||
| + | * **uncertain predictions**, | ||
| + | * **conflicting objectives**, | ||
| + | * **limited generalization**, | ||
| + | |||
| + | Motion planning is therefore best understood as a constrained decision problem, not merely a geometric search problem. | ||
| + | |||
| + | ===== Integration and Hybrid Architectures ===== | ||
| + | |||
| + | In production systems, purely classical or purely AI-based solutions are uncommon. Most autonomy stacks are hybrid. | ||
| + | |||
| + | ^ Hybrid pattern ^ Typical structure ^ Why it is useful ^ | ||
| + | | **AI high-level, classical low-level** | AI selects maneuvers; classical controller tracks trajectory | preserves transparent low-level actuation | | ||
| + | | **AI model, classical controller** | Learned vehicle model inside a classical MPC framework | improves model accuracy while keeping optimization structure | | ||
| + | | **Classical baseline, AI exception handling** | Classical controller handles normal cases; AI assists in rare cases | keeps the core system predictable | | ||
| + | | **Safety layer plus learned policy** | Learned planner or controller is constrained by a safety monitor | useful for bounding behavior in difficult environments | | ||
| + | | **Tuned hybrid controller** | Neural network adjusts gains or parameters of a classical controller | combines adaptability with known control structure | | ||
| + | |||
| + | These architectures reflect the practical reality of autonomy engineering. The most safety-critical elements are usually kept as transparent and bounded as possible, while AI is introduced where it adds the most value and where validation methods are strong enough to support it. | ||
| + | |||
| + | ===== Summary Perspective ===== | ||
| + | |||
| + | The main lesson of this subsection is that planning, control, and decision-making must be treated together. Classical methods provide structure, transparency, | ||
| + | |||
| + | The next step is to validate these methods not only in isolation, but as parts of a system. For that reason, the following subsection should move from methods to validation, scenario design, and testing. | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | /* ----------------Commented | ||
| + | |||
| ====== Motion Planning and Behavioural Algorithms ====== | ====== Motion Planning and Behavioural Algorithms ====== | ||
| Line 83: | Line 303: | ||
| Motion planning and behavioral algorithms are the intelligent core that guides autonomous vehicles through the complexities of the real world. Behavioral algorithms decide the appropriate high-level actions based on goals and the environment, | Motion planning and behavioral algorithms are the intelligent core that guides autonomous vehicles through the complexities of the real world. Behavioral algorithms decide the appropriate high-level actions based on goals and the environment, | ||
| + | |||
| + | */ | ||