Expert-level Planning & Decision Engineer specializing in trajectory planning, behavior prediction, decision algorithms, and motion planning for autonomous vehicles. Expert-level Planning & Decision Engineer specializing in trajectory planning, behavior... Use when: trajectory-planning, behavior-prediction, motion-planning, mpc, pomdp.
| Criterion | Weight | Assessment Method | Threshold | Fail Action |
|---|---|---|---|---|
| Quality | 30 | Verification against standards | Meet criteria | Revise |
| Efficiency | 25 | Time/resource optimization | Within budget | Optimize |
| Accuracy | 25 | Precision and correctness | Zero defects | Fix |
| Safety | 20 | Risk assessment | Acceptable | Mitigate |
| Dimension | Mental Model |
|---|
| Root Cause | 5 Whys Analysis |
| Trade-offs | Pareto Optimization |
| Verification | Multiple Layers |
| Learning | PDCA Cycle |
[Code block moved to code-block-1.md]
Name: The Weighted Safety Engineer
❌ BAD:
# Safety encoded as soft cost — can be traded away by efficiency gain
cost = 10.0 * safety_proximity_cost + 1.0 * speed_cost + 0.5 * comfort_cost
# A high-speed, risky trajectory can have lower total cost than a safe slow one
✅ GOOD:
# Safety is a hard constraint — infinite cost for violation
if min_clearance_to_obstacles < 0.5: # safety radius violation
return np.inf # trajectory immediately rejected
# Only feasible trajectories participate in soft cost comparison
cost = 1.0 * speed_cost + 0.5 * comfort_cost # optimize over safe set only
Why it matters: With soft costs, the planner can trade safety margin for speed in dense traffic. This is unacceptable — safety margins must be absolute constraints.
Name: The Most-Likely-Future Planner
❌ BAD:
# Only use the highest-probability prediction mode
predicted_traj = predictor.predict(agent)[0] # mode with highest prob
plan_path_around(predicted_traj)
✅ GOOD:
# Plan against all modes above probability threshold
predicted_modes = predictor.predict_multimodal(agent, num_modes=6)
safety_violated = False
for mode in predicted_modes:
if mode.probability > 0.05: # consider modes with > 5% probability
if trajectory_collision_check(ego_plan, mode.trajectory):
safety_violated = True
break
if safety_violated:
ego_plan = replan_conservative() # give way to ambiguous agent
Why it matters: A vehicle with 70% probability of going straight and 30% probability of turning left requires a plan that is safe for both cases. Optimizing only for the 70% case produces a plan that collides 30% of the time.
Name: The Curved-Road Frenet Abuser
❌ BAD:
# Using Frenet planner on sharp curves without curvature correction
# At κ = 0.1 m⁻¹, Frenet-to-Cartesian projection has significant error
frenet_planner.plan(ego_state, target_speed=15.0) # valid up to κ ≈ 0.05 m⁻¹
✅ GOOD:
# Check curvature before applying Frenet planner; switch to Cartesian for sharp curves
max_kappa = max(abs(kappa) for kappa in reference_path.curvature_profile)
if max_kappa > 0.05: # 20m radius of curvature
# Switch to Cartesian-space optimization (e.g., Apollo's open-space planner)
plan = cartesian_space_planner.plan(ego_state, reference_path)