-
Notifications
You must be signed in to change notification settings - Fork 11
Controller Design
Cristian Cruz edited this page Nov 2, 2021
·
3 revisions
Sends commands to the steering, braking, & throttling actuators. Translates the trajectory path to the goal destination to physical actions.
- A Kinematic model is suitable for smooth turns & slower speeds
- To keep track of the current state based on the previous state & current control inputs
- Autoware already adopted the bicycle kinematic model, as it offers a nice balance of simplicity & accuracy
- Calculates state transitions as a funciton of time
- Derive velocity vector components using trig
- Define physical limitations for:
- Accelerating (throttle) & decelerating (braking)
- Steering
- Controlled variables: throttle & brake inputs.
- Governs the velocity, acceleration, jerk, & higher derivatives
- Use a PID controller for now (typically the primary choice)
- Controlled variable: steering input
- Governs the steering angle & heading (yaw)
- If coupled, allow the Longitudinal controller to be dominant over the lateral to prevent a large steering angle at high speed.
- The longitudinal is computed independently, influences lateral, & regulates max steering limit inversely proportional to the vehicle speed.
- Best for both normal & rigorous driving conditions
- Can handle multi-input multi-output (can handle both longitudinal & lateral control)
- Constraints can be used for both safety & physical limitations
- Sample Time
- If too high, response time will be too slow
- If too small, responses will be over-reactive
- Suggested sample time: 5% to 10% of rise time
- Prediction Horizon
- If too small, the vehicle will lack time to react properly
- If too high, wasteful effort
- Control Horizon
- The number of time steps that are computed by the optimizer
- If too short, the optimizer may not return the best possible actions
- If too long, wasteful effort (only the first couple control actions have a huge impact on the predicted states)
- Weights
- For prioritizing goals
- MPC tries to do everything simultaneously, but goals can compete with each other
- Ex: You can assign higher weight to pose tracking rather than velocity tracking (less important)
- Cost functions can be implemented for both longitudinal & lateral control. Can penalize.
- Optimization chooses the optimal set of control inputs corresponding to the predicted trajectory with lowest cost (while still considering current state, reference state, & constraints). Developer's choice how to implement.
- Ways to reduce computational resources, if necessary:
- Limit the prediction & control horizons
- Formulate simpler cost functions
- Use less detailed motion models
- Set a high tolerance for optimization convergence
- Inputs:
- Trajectory path
- Longitudinal Output:
- Brake commands
- Throttle commands
- Lateral Output:
- Steering angle commands
Note: More inputs & processing nodes will vary on the selected controller & motion model
Control strategies for autonomous vehicles
Parameter adaptive steering control for autonomous vehicles
MPC-based path tracking with PID speed control for autonomous vehicles
Mathworks: Three Ways to Speed Up MPC
Mathworks: Developing Longitudinal Controls for a Self-Driving Taxi
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