Aurora Autonomous Control Interview: MPC, Vehicle Dynamics, and Trajectory Tracking

Autonomous DrivingAuthor: BeautyResume Team

2 years of control algorithm experience, detailed review of Aurora's three technical interview rounds: Round 1 control theory and MPC, Round 2 vehicle dynamics and trajectory tracking, Round 3 project deep dive and real vehicle debugging, with question summary and tips

Background

I worked as a control algorithm engineer at an autonomous driving company for 2 years, mainly doing MPC and trajectory tracking. Aurora has always been a company I really wanted to join — their technical accumulation in L4 autonomous driving control is very deep, especially the integration of MPC and vehicle dynamics. When I saw they were hiring control algorithm engineers in May, I applied immediately.

I spent about three weeks preparing for this interview, reviewing control theory, MPC, vehicle dynamics, and trajectory tracking. I especially focused on MPC variants (linear MPC, nonlinear MPC, time-varying MPC) and vehicle dynamics models (kinematic model, dynamic model, tire model), which are key interview topics.

The interview process consisted of three technical rounds. Let me review each round in detail.

Interview Process Review

Round 1: Control Theory + MPC

Round 1 was with a young engineer from the control team. He started with a self-introduction and then went straight into control theory questions.

1. What's the difference between PID control and MPC? What are MPC's advantages?

I said PID is feedback control that calculates control inputs based on current error, unable to handle constraints or anticipate the future. MPC is predictive control that uses a model to predict future states and optimizes the control sequence while satisfying constraints. MPC has three main advantages: first, it can explicitly handle input and state constraints; second, it can anticipate future reference trajectories and respond proactively; third, it can handle MIMO (multi-input multi-output) systems.

2. How do you choose MPC's prediction horizon and control horizon?

I said the prediction horizon Np determines how far into the future MPC can "see" — larger Np gives better control performance but more computation. The control horizon Nc determines the number of optimization variables — Nc is typically smaller than Np, with control inputs remaining constant after Nc. Generally, Np is 3-5 seconds and Nc is 1-2 seconds, adjusted based on control frequency and system dynamics. In our project, we use Np=50 steps and Nc=20 steps at 50Hz control frequency.

3. What's the difference between linear and nonlinear MPC? When do you use nonlinear MPC?

I said linear MPC uses a linear model for prediction, resulting in a convex optimization problem that can be efficiently solved with QP solvers. Nonlinear MPC uses a nonlinear model, resulting in a non-convex problem requiring SQP or interior point methods with higher computational cost. Nonlinear MPC is suitable for scenarios with strong system nonlinearity, like high-speed large-curvature turns and limit conditions. In practice, low-speed scenarios work fine with kinematic model + linear MPC, while high-speed scenarios require dynamic model + nonlinear MPC.

4. What MPC solvers are available? Which one do you use?

I said common solvers include OSQP (QP problems), qpOASES (QP problems), IPOPT (NLP problems), and ACADOS (fast NMPC framework). We use OSQP for linear MPC and ACADOS for nonlinear MPC. ACADOS's advantage is generating C code that runs efficiently on embedded platforms.

5. How do you guarantee MPC stability?

I said MPC stability is guaranteed mainly through two methods: first, terminal constraint method — adding terminal constraints and terminal cost at the end of the prediction horizon to ensure closed-loop stability; second, sufficiently long prediction horizon — when Np is large enough, MPC stability is naturally guaranteed. We use the terminal constraint method in practice, adding a terminal ellipsoidal constraint at the end of the prediction horizon to ensure states converge near the target point.

6. How do you handle MPC computational delay?

I said computational delay is an important issue in MPC's practical application. If solving time exceeds the control period, control inputs can't be updated in time. We handle this in two ways: first, warm start — using the previous time step's solution as the current initial value, significantly reducing iteration count; second, setting a maximum solve time — if exceeded, using the previous step's solution with one forward propagation as the current control input. We're also exploring explicit MPC, solving the optimization problem offline into piecewise affine functions that only require table lookup online.

Round 1 lasted about an hour. The interviewer asked very detailed MPC questions. Fortunately, I had done many MPC projects before, so my answers were fairly smooth.

Round 2: Vehicle Dynamics + Trajectory Tracking

Round 2 was with a senior engineer who went straight into vehicle dynamics and trajectory tracking.

1. What's the difference between vehicle kinematic and dynamic models?

I said kinematic models only consider geometric relationships without forces and torques, assuming no tire slip. The most common is the bicycle kinematic model with states [x, y, ψ, v] and controls [δ, a]. Dynamic models consider tire forces, slip angles, and other physical quantities, more accurately describing vehicle dynamics. The most common is the bicycle dynamic model with additional states of slip angle β and yaw rate r, and the same controls [δ, a].

2. What tire models are there? How is the Pacejka Magic Formula used?

I said tire models mainly include linear tire model, Pacejka Magic Formula, and Dugoff model. The linear tire model assumes lateral force is proportional to slip angle, suitable for small slip angle conditions. The Pacejka Magic Formula is an empirical model using sine functions to fit tire force characteristics — high accuracy but many parameters. The Dugoff model is an analytical model considering tire force saturation. We use the Pacejka Magic Formula for nonlinear MPC and the linear tire model for linear MPC.

3. How are trajectory tracking errors defined?

I said trajectory tracking errors mainly include lateral error, heading error, and curvature error. Lateral error is the shortest distance from the vehicle's center of mass to the reference trajectory. Heading error is the difference between the vehicle's heading angle and the reference heading angle. Curvature error is the difference between the vehicle's actual curvature and the reference curvature. In the Frenet coordinate system, lateral error is d and heading error is Δψ.

4. What's the difference between Stanley and Pure Pursuit methods?

I said Stanley is front-wheel feedback control, calculating steering angle based on front-wheel lateral error and heading error to the reference trajectory — advantages are high low-speed tracking accuracy, disadvantages are oscillation at high speed. Pure Pursuit is rear-wheel following control, calculating steering angle based on lateral error from the rear wheel to a lookahead point ahead — advantages are good high-speed stability, disadvantages are poor low-speed tracking accuracy and inside-cutting on turns. In practice, we use Stanley at low speed and Pure Pursuit at high speed with smooth switching in between.

5. What advantages does MPC have over Stanley/Pure Pursuit for trajectory tracking?

I said MPC has three main advantages: first, it can explicitly handle constraints (steering angle limits, acceleration limits, etc.) — Stanley and Pure Pursuit can only clip after the fact; second, it can anticipate future reference trajectories and respond proactively, performing better where curvature changes significantly; third, it can simultaneously optimize longitudinal and lateral control — Stanley and Pure Pursuit only do lateral control. But MPC's disadvantage is higher computational cost and worse real-time performance than Stanley and Pure Pursuit.

6. What are the special challenges of trajectory tracking at high speed?

I said high-speed scenarios have three special challenges: first, increased vehicle dynamic nonlinearity — tire forces saturate at large slip angles, making linear models inapplicable; second, greater impact of control delay — even small delays at high speed cause significant tracking errors; third, higher safety requirements — control errors at high speed have more serious consequences. We use nonlinear MPC + dynamic model at high speed, adding tire force saturation constraints to ensure control inputs don't exceed the tire's physical limits.

Round 2 lasted about 1 hour and 15 minutes. The interviewer asked very in-depth questions about vehicle dynamics, especially tire models and high-speed scenario handling. My answers were decent but I wasn't sure about some details.

Round 3: Project Deep Dive + Real Vehicle Debugging

Round 3 was with the control team's tech lead — very experienced, making the interview feel more like a technical discussion.

He first asked me to describe my most complex project. I talked about our MPC trajectory tracking project for high-speed scenarios. Then he started digging deeper:

1. What's your MPC control frequency? What's the solving time?

I said the control frequency is 50Hz, meaning each MPC solve needs to complete within 20ms. Actual solving time is about 5-8ms (linear MPC) and 10-15ms (nonlinear MPC), leaving sufficient margin. If solving times out, we fall back to the previous frame's solution with one forward propagation.

2. What's the difference between real vehicle and simulation debugging?

I said the biggest difference is that simulation is deterministic — the same input always produces the same output. Real vehicles have many uncertainties, like road surface friction coefficient changes, wind resistance changes, and vehicle parameter deviations. Parameters tuned in simulation often need fine-tuning on real vehicles, especially MPC weight matrices and constraint parameters. Also, real vehicle debugging must consider safety — can't go directly to limit conditions, need to progress gradually.

3. What was the hardest problem you encountered in real vehicle debugging?

I said the hardest was control on low-friction surfaces (ice and snow). On low-friction surfaces, tire forces saturate easily, and MPC's model predictions deviate significantly from reality, causing control failure. Our solution is adding online estimation of road surface friction coefficient in MPC, adjusting tire force constraints based on estimated values. Also, when low-friction surfaces are detected, target speed and acceleration are automatically reduced to increase safety margin.

4. How do you handle different driving styles?

I said we provide three driving modes — comfort, standard, and sport — adjusting MPC weight matrices to change driving style. Comfort mode increases penalties on acceleration and jerk. Sport mode reduces these penalties but increases tracking accuracy weight. We're also exploring personalized MPC that automatically adjusts weights based on driver history data.

5. How do you ensure control system safety?

I said safety is ensured through three layers: first, MPC's internal constraints ensuring control inputs don't exceed physical limits; second, a monitoring layer that checks in real-time whether control and state variables are within safe ranges, triggering safety responses if exceeded; third, a hardware safety layer with an independent ASIL-D monitoring chip that executes emergency stops if the control layer fails. The three-layer safety architecture ensures the vehicle won't lose control even if software has bugs.

6. What do you think is the biggest challenge in autonomous driving control?

I said I think the biggest challenge is control in extreme conditions. MPC performs well under normal conditions, but in extreme conditions (low friction, high-speed sharp turns, emergency obstacle avoidance), vehicle dynamics are highly nonlinear, model prediction accuracy drops significantly, and control performance follows. How to ensure safety and stability under extreme conditions is the biggest challenge for control algorithms.

Round 3 lasted over an hour. The interviewer was particularly interested in real vehicle debugging and safety design. At the end, he asked if I had questions. I asked about Aurora's latest progress in extreme condition control, and he mentioned some work combining model predictive control with reinforcement learning, which was very interesting.

Key Questions Summary

Control Theory:

1. Differences between PID and MPC? MPC's advantages?

2. MPC prediction horizon and control horizon selection?

3. Differences and applicable scenarios of linear vs nonlinear MPC?

4. MPC solvers and selection?

5. MPC stability guarantee methods?

6. MPC computational delay handling?

Vehicle Dynamics:

7. Differences between kinematic and dynamic models?

8. Tire models and Pacejka Magic Formula?

Trajectory Tracking:

9. Definition of trajectory tracking errors?

10. Differences between Stanley and Pure Pursuit methods?

11. Advantages of MPC for trajectory tracking?

12. Challenges of high-speed trajectory tracking?

Real Vehicle Debugging:

13. MPC control frequency and solving time?

14. Differences between real vehicle and simulation debugging?

15. Control challenges on low-friction surfaces?

16. Handling different driving styles?

17. Control system safety guarantees?

18. Biggest challenge in autonomous driving control?

Tips and Advice

1. Deep understanding of MPC is essential: Not just using solvers, but understanding MPC's mathematical principles (optimization problem formulation, constraint handling, stability analysis). Interviewers will probe from the principle level.

2. Vehicle dynamics is key: Kinematic models, dynamic models, and tire models must be derivable. Interviewers may ask you to derive formulas on the spot.

3. Compare trajectory tracking methods: Pros, cons, and applicable scenarios of Stanley, Pure Pursuit, and MPC must be clear. Interviewers like comparison questions.

4. Real vehicle experience is a bonus: If you have real vehicle debugging experience, definitely mention it. Interviewers highly value practical engineering capability.

5. Safety design is mandatory: How to ensure autonomous driving control safety is almost always asked. Make sure you're prepared.

6. Preparation time recommendation: 3 weeks: If you have about 2 years of control algorithm experience, 3 weeks of focused preparation should be sufficient. Focus on MPC, vehicle dynamics, and trajectory tracking.

FAQ

Q: How difficult is Aurora's control algorithm interview?

A: Quite difficult, especially Rounds 2 and 3. Round 1 focuses on theory, Round 2 on dynamics depth, and Round 3 on real vehicle debugging and safety design. Overall difficulty is above average among autonomous driving companies.

Q: Will interviewers ask me to derive formulas on the spot?

A: Yes, in Round 2 I was asked to derive the state-space equations for the bicycle dynamic model. I'd recommend practicing the derivation of key models until you can write them fluently.

Q: Do I need real vehicle experience?

A: It's not required, but real vehicle experience adds a lot of points. Without it, at least understand the process and challenges of real vehicle debugging.

Q: What's the salary range?

A: Control algorithm positions' base salary is roughly in the $130K-$190K range, depending on level and negotiation.

Q: How long do interview results take?

A: I received the Round 2 notification 3 days after Round 1, Round 3 notification 5 days after Round 2, and the offer a little over 1 week after Round 3.

#Autonomous Driving#Control Algorithm#MPC#车辆动力学#轨迹跟踪#Interview Experience