May Mobility is focused on advancing mobility solutions through autonomous technology. The Lead Autonomy Behavior Engineer will design and implement robotics software for Autonomous Vehicles, ensuring safe and effective behavior and control while collaborating with cross-functional teams.
Responsibilities:
- Design, implement, and test-state-of-the-art robotics software in C/C++ to enable comfortable and safe behavior and control for Autonomous Vehicles
- Lead and participate in team code quality activities including design and code reviews
- Provide technical guidance to Technical Support Team on issue diagnosis and resolution
- Coordinate with cross functional teams to develop software and system requirements for Autonomous Vehicle behavior and controls subsystems
- Collaborate with data science team members to design and implement metrics capturing key performance indicators of Autonomous Vehicle subsystems
- Develop unit and simulation tests to validate vehicle performance across target operational domains
- Coordinate and execute on-vehicle tests to validate performance of Autonomous Vehicle software in real-world scenarios
- Diagnose and root-cause issues reported by commercial operations through the May Field Response process
- Develop tools and visualizations to enable support engineers to analyze performance of behavior and control subsystems from field data
Requirements:
- Bachelor's degree in Robotics, Computer Science, Computer Engineering, or a field that requires a strong mathematical and/or engineering foundation (e.g. physics, aerospace engineering)
- 7+ years of industry experience working on real-world robot systems including implementing at least two commercial projects working at a systems-level, delivering critical functions that make a robot work successfully in the field
- Experience developing and deploying capabilities for robot behavior planning, decision making under uncertainty, path planning, probabilistic reasoning, prediction, machine learning, trajectory generation, controls and/or localization
- Familiarity with multiple non-linear control methodologies appropriate to mobile robots or autonomous vehicles, such as MPC, LQR, PID, optimal control, stochastic control, adaptive control, and robust control
- Strong programming skills in C/C++
- Expertise with software development in a Linux environment
- Familiarity with standard development tools such as git, valgrind, and gdb
- Masters or PhD in Robotics, Computer Science, or Electrical and Computer Engineering, Mechanical Engineering, or a field that requires a strong mathematical and/or engineering foundation (e.g. physics, aerospace engineering)
- Strong background in one of the robotics areas discussed above as demonstrated by developing and delivering to fielded robots multiple capabilities that solve critical problems in controls and motion planning
- Familiarity with optimization techniques that are appropriate to mobile robots or autonomous vehicles, such as QP, control theoretic splines, and dynamics-aware approaches
- Demonstrated ability to mentor and support more junior engineers in learning and contributing to robotics development and testing
- Strong programming skills in C, software development in a Linux environment