Software Engineer, Motion Planning
DiDi
About The Role
We are seeking a Software Engineer / Sr. Software Engineer to join our team and develop the core decision-making and motion planning systems for our autonomous vehicles.
Key Responsibilities
- Design and implement the core motion planning logic that determines the vehicle's high-level actions (e.g., lane changes, merges, yields, and interactions with other agents).
- Develop and optimize the motion planning algorithms that execute behavioral decisions, integrating Geometry Reasoning (path) and Speed Reasoning (velocity) into a cohesive trajectory.
- Architect and enhance the geometry system for generating geometrically feasible and compliant paths.
- Architect and refine the velocity system for generating context-aware, comfortable, and safe velocity profiles.
- Model complex driving scenarios and agent interactions to create a robust world model for the behavioral planner.
- Design different costs for trajectory ranking to trade off ETAs, comfort, and safety of the vehicle behaviors.
- Conduct in-depth analysis, testing, and debugging of the system's performance in various scenarios, leading root cause investigations.
- Collaborate with Prediction, Perception, and Control teams to ensure a seamless flow from environmental understanding to physical vehicle motion.
Requirements & Tech Stack
- Strong proficiency in C++ for implementing complex, real-time algorithms.
- Solid understanding of robotics fundamentals, including decision-making, motion planning, control theory, trajectory ranking, search, and optimization algorithms.
- Related experience in one or more of the following: motion planning, trajectory optimization, world environment reasoning, trajectory ranking, and cost design.
Qualifications
- B.S./M.S. in Computer Science, Robotics, or a related field.
- Experience in autonomous systems, robotics, or automotive software development.
Preferred Qualifications
- PhD or internship experience related to robotics planning system designs.
- Knowledge of vehicle dynamics and longitudinal/lateral control systems.
- Solid understanding of machine learning principles, reinforcement learning, and related algorithms.