Software Engineer - Controls
Develop high-performance control modules for autonomous off-road vehicles and mobile robots, including vehicle-dynamics modeling and optimal-control solutions. The role requires production software experience, hands-on vehicle testing, and strong mathematical foundations in controls and numerical optimization.
About the job
Responsibilities
- Design and implement controls modules for autonomous navigation of off-road vehicles.
- Characterize customer vehicle dynamics to create tailored controls solutions and reduce the gap between simulation and real-world dynamics.
- Evaluate and apply academic research to develop optimal-control solutions using nonlinear model predictive control (MPC) and MPPI control.
- Collaborate with customer engineers and manage customer relationships.
Requirements
- 3+ years of experience building production software using modern software practices.
- Hands-on experience testing controls solutions on real, production-grade vehicles.
- Fluency in differential equations, numerical optimization, numerical analysis, and physics.
- Passion for solving challenging control problems involving varied vehicles and difficult off-road environments.
- Ability to develop practical solutions to cutting-edge challenges in a fast-paced environment.
Nice-to-haves
- MSc or PhD in mechanical engineering or computer science, with coursework or research experience in controls.
- Experience writing software compliant with safety-critical C++ guidelines such as MISRA and AUTOSAR.
- Experience using quadratic programming solvers and nonlinear optimization tools such as OSQP, SCS, and CasADi to create robust, performant controllers.
- Experience applying machine learning techniques to vehicle dynamics modeling.
- Experience writing high-performance C++ code.
- Experience working with large industrial vehicles in off-road environments.
Skills
C++, Nonlinear Mpc, Mppi Control, Differential Equations, Numerical Optimization, Numerical Analysis, Physics, Misra, Autosar, Osqp, Scs, Casadi, Machine Learning, Vehicle Dynamics Modeling, Quadratic Programming