Autonomous Vehicle Simulation Software Engineer
Azevtec (Autonomous, Zero-Emission Vehicle Technologies) is automating 'first-mile' trucking. We simplify how large enterprises ship goods—our robotic systems automate repetitive vehicle movement and manual tasks in the world’s busiest freight-shipping hubs to enhance operational performance, reduce costs, and improve safety.
Azevtec is a rapidly growing, Series-A company founded to drive the adoption of sustainable transportation and deploy autonomous vehicles responsibly.
The Autonomous Vehicle Simulation Software Engineer will report to the head of integration and test engineering and will be responsible for developing comprehensive simulation software testing environments; developing test cases to run in those environments; and executing those tests.
The simulation team enables Azevtec to simulate and analyze vehicle movements and behavior. We can build new environments and situations from scratch, or we can play back, modify, and build upon real-world data. Our work is used by the self-driving software team, the integration and validation team, and others, helping engineers rapidly tune and test the system.
This position is mission-critical for delivering a safe, effective, first-of-its-kind industrial technology, and will build the foundation for the company’s overall system test procedures and organization. The successful candidate will test and validate autonomous vehicle systems that redefine large enterprise supply chains and boast safe, error-free, and effective operational performance.
Duties and responsibilities
- Design simulated agents that interact realistically with the vehicle system
- Seamlessly integrate logged data replay and simulated agents
- Quantify the performance and safety characteristics of the vehicle system
- Build reliable and scalable infrastructure services that make it easy to use simulation effectively for test cases as well as customer operating environments
- Enable software- and hardware-in-the-loop simulation for improved fidelity
- Automate or streamline manual triage of fault data that is currently performed by software developers
- Generate simulations that target specific challenges
- Automatically run interesting missions in simulation and verify expected results
- Accelerate onboard software development with improved tools and visualization
- Generate, organize, manage, and conduct system verification tests and test procedures to validate compliance with specifications before releasing vehicles and software deliveries to customers
- Review bug reports, track bugs to a subsystem, identify corner cases, and work within the team to propose fixes
- Execute test plans and procedures, as well as document and report results to internal and external customers
- Experience with the simulation of mobile robots or robot arms
- Ability to develop custom simulation plugins capable of producing close-to-real-world behaviors for sensors, actuators, and both kinematic and dynamic articulated vehicle models
- Knowledge of numerical methods employed in simulation engines (e.g. collision detection techniques, integration methods, LCPs, and constraint enforcement/stabilization)
- Intuition for how simulations should be designed to optimize engineering effort, ability to simulate specific phenomena of interest, and physical realism
- Experience with the software development life cycle, modern software/hardware/system testing methods, and continuous integration
- Experience with C++ and Python
- Comfort navigating a large codebase
- Comfort with Linux and command-line interface
- BS or MS in Computer Science or a similar discipline
- Excellent written and verbal communication skills
- Exceptional analytical skills
- Sterling references
- ROS and Gazebo development experience
- Experience with or an interest in autonomous vehicle simulation
- Experience with robotics software engineering, autonomous vehicle systems, computer vision, machine learning, and/or planning and controls