- An Introduction to Self-Driving Car
- Machine Learning Algorithms and Techniques in Self-Driving Cars
- Localization for Self-Driving Cars
- Perception for Self-Driving Cars
- Hardware and Software Architecture of Self-Driving Cars
- Sensor Fusion for Self-Driving Car
- Self-Driving Car Path Prediction and Routing
- Self-Driving Car Decision-Making and Control System
- Cloud Platform for Self-Driving Cars
- Dynamic Modeling of Self-Driving Car
- Safety of Self-Driving Cars
- Testing Methods for Self-Driving System
- Operating Systems of Self-Driving Cars
- Deployment of Self-Driving Cars

# Self-Driving Car Decision-Making and Control System | Self Driving Cars

Decision-making is an important part of self-driving technology. The decision-making module plans suitable driving behaviors based on the information supplied by the environment perception module and sends them to the motion control module. The control system uses is in charge of guiding the vehicle and accelerating it using steering, throttle, and brake.

#### Trajectory Generation

After completing localization, sensor fusion, and path planning the self-driving system generates a waypoint to reach the destination. To reach the destination, the car follows some algorithms which apply force acceleration and break to the car to control its movement. The algorithms are called controllers. The algorithms use steering, throttle, and brake as control inputs. There are many different types of controllers, but only a handful are widespread in the automotive sector, and the others are more specialized.

#### Controller Algorithms

To reach the destination safely and comfortably a large number of controllers exist to navigate a self-driving car. The most commonly used algorithms are discussed below.

##### Proportional Integral Derivative (PID) Algorithm

PID is the simplest controlling algorithm. The PID controller is an algorithm that uses an error calculation to calculate a value. The mistake is the discrepancy between the path we should take and the path we actually take. There are three parts to a PID controller. The formula of calculating PID is given below.

**Proportional:**Proportionate applies a steering wheel correction proportional to the error. It turns the wheel in the opposite direction if the car gets too far away from the goal. For example, when a driver sets cruise control at 50 mph, the car uses the throttle and brake to maintain that pace. The Proportional controller would fire the throttle if the car slowed less than 50mph. And vice versa with the brake.

**Derivative:**A derivative term considers the rate of change of error rather than the error itself, with the goal of bringing this rate to zero. The derivative component reduces the overshoot generated by the proportional component by using a rate of change of inaccuracy. This phrase refers to how far the automobile deviates from the reference trajectory. By adding a damping component to the formula, the derivative term reduces the oscillation effect. The phrase for this is "change of error." The controller recognizes that the error is decreasing and adjusts its angle to approach a smooth route.

**Integral:**The Integral is used to describe the correction of a mechanical fault that prompts us to spin the wheel more or less forcefully depending on the vehicle's ability to remain upright. As a result, the term is added to reduce the total number of errors.

##### Model Predictive Control (MPC)

MPC is an advanced form of process control that uses a set of constraints to regulate a process. In other words, MPC may use a vehicle's motion model to plan a route that makes sense given a set of restrictions, such as the vehicle's motion limitations and a set of costs that describe how we want the vehicle to move. MPC plays an important role in the prediction of a resultant trajectory at a low cost. The car then follows that path and receives new information in order to construct a new set of trajectories to optimize.

MPC provides some features that are useful for self-driving cars.

- Handle input and output limitations explicitly.
- Predict ego vehicle behavior as the horizon recedes.
- Check out the reference trajectories and disturbances over the whole forecast horizon.
- At runtime, update the internal vehicle model.

#### Conclusion

Using control algorithms, a control system manages, directs, or controls the behavior of other devices or systems.

Thank you for reading the article. Hope it gave you a quick overview of self-driving car control system techniques. If you have any questions or suggestion concerning the content, please leave a comment below. We value your comments at all times.