About the Team
Our Navigation and Motion Planning team focuses on developing intelligent algorithms for autonomous robot navigation. We design robust multi-agent navigation systems, motion planning algorithms, and enhance robot autonomy. Collaborating with perception, localization, and prediction teams, we ensure safe and efficient driving in dynamic environments.
About the Role
As a Software Engineer, you will design and implement motion planning and navigation algorithms. You will build systems to navigate complex environments, optimize robot performance, and enhance autonomy and safety. Your work will involve analyzing real-world data, developing simulations, and improving robot behavior. Strong experience in C++, Python, and ROS, along with a background in robotics algorithms, is essential.
What You'll Do
- Design and build an intelligent and robust multi-agent map navigation system.
- Develop a request system to automatically detect complex situations and trigger remote assistance.
- Investigate and optimize robot pipeline performance. Experiment with sensor data synchronization, execution order, and module optimizations to enhance reaction time and motion quality.
- Develop and optimize motion trajectory planning algorithms, focusing on enhancing robot autonomy, motion stability, and safety.
- Devise and implement advanced high-level robot behaviors to address real-life scenarios, such as navigating controlled pedestrian crossings and maneuvering through crowded, narrow sidewalks.
- Analyze real-world rides and develop metrics and simulations to iteratively refine features and make data-driven release decisions.
- Systematically review robot behavior, identify issues and areas for improvement, and address them in collaboration with the perception, localization, and prediction teams.
- Improve team productivity by introducing new algorithm visualizations, test and debug tools.
What You'll Need
- Bachelor's degree in Computer Science with a background in one or more related fields: Computer Vision, Navigation Algorithms, Robotics. Foreign equivalent is accepted.
- 6+ years of professional experience in software engineering or equivalent.
- 3+ years of professional experience in Python for backend development and data analysis.
- 3+ years of professional experience in C++ for robotics algorithms and ROS.
- Proven expertise in designing and implementing motion planning and navigation algorithms.
- Solid experience in developing parallel applications and utilizing performance optimization tools.
- Extensive familiarity with Docker, Linux, and Bash.
- In-depth knowledge of self-driving project architecture and principles.
- Demonstrated expertise in developing product metrics and leveraging data-driven decision-making.
- Demonstrated ability to identify new areas for project improvement, independently develop and present solutions, and collaborate effectively with other modules' teams.
- Strong capability to swiftly navigate and derive insights from a large codebase.
Nice to Have
Candidates are required to be authorized to work in the U.S. The employer is not offering relocation sponsorship, and remote work options are not available.