Software Engineer - Motion Planning
Develops and implements algorithmic improvements for autonomous robot motion planning to enhance safe driving in complex urban environments. Requires C++ fluency, knowledge of planning techniques like A*, RRTs, PRMs, and real-time algorithm experience.
About the job
Responsibilities
- Create principled algorithmic improvements to specific areas of driving behavior and implement those changes in our code base.
- Use our extensive backend tooling to test your changes across many different driving situations at the press of a button.
- Lead on-vehicle drive reviews to generate actionable feedback on driving performance. Use this experience to help the team learn and make improvements.
- Attend conferences and survey literature to stay informed on the most recent developments in the fields of Robotics and Motion Planning.
- Write and file patents for novel technologies you develop.
Qualifications
- Master's degree in Computer Science or related field and relevant experience
- Fluency in C++
- Understanding of configuration spaces and a variety of planning techniques (A*, RRTs, PRMs, etc.)
- Demonstrated ability to create real-time motion planning algorithms
Bonus Qualifications
- Significant contributions to geometric- and/or sampling-based planning algorithms
- Experience with autonomous robots and machine learning or data-driven development processes
- Experience with ROS, pose estimation, SLAM, probabilistic filtering, 3D data, or CUDA
Skills
C++, A*, Rrt, Prm, ROS, Slam, CUDA, Motion Planning, Real-Time Algorithms, Robotics
Similar jobs
Embedded Engineering jobsDevelops reliable embedded software and custom device solutions, integrating vendor components, sensors, operating systems, and communication interfaces. Requires a bachelor's degree and at least three years of relevant experience with C/C++, embedded Linux, debugging, and CI/CD tools.
Develops operating-system platforms, device drivers, and infrastructure for autonomous-vehicle robotics systems. The role requires 4+ years of production software experience, strong Linux internals expertise, and proficiency in C/C++ plus scripting languages.
Develops real-time perception, sensor-control, and fusion software for heterogeneous autonomous vehicle platforms, integrating ML algorithms across sensors and embedded systems. Requires advanced engineering education or 5+ years of relevant experience, multi-modal sensing expertise, Linux/Docker proficiency, and U.S. security-clearance eligibility.
Build and harden OS foundations for AI consumer devices, spanning kernel, services, security, performance, and application interfaces. Requires strong systems programming in C/C++, kernel experience, and debugging skills.
Develops, deploys, and maintains software for autonomous vehicles, integrating sensors, autopilots, and perception modules with hands-on field testing. Requires 5+ years experience or MS/PhD, C++/Python/Linux proficiency, and robotics knowledge.