Software Engineer, Controls
Agtonomy
Software Engineering
South San Francisco, CA, USA
Posted on Saturday, July 27, 2024
About Us
Agtonomy is pioneering advanced automation and AI solutions to transform agriculture and beyond. Initially focused on specialty crops, our TeleFarmer™ platform addresses labor-intensive needs with automation, turning conventional equipment into autonomous machines. By partnering with leading manufacturers like Doosan Bobcat, we integrate smart technology into tractors and other machinery, enhancing safety and efficiency. As we expand into ground maintenance and other industrial applications, our expert team continues to address key challenges with labor shortages, sustainability and profitability across various industries.
About the Role
As a Controls Engineer on the Autonomy Team, you will be responsible for developing controls algorithms for our existing fleet of automated tractors as well as for future platforms. You will work closely with planning and localization engineers on the team to design and evolve the upstream interfaces of the control systems. You will also work closely with the embedded, hardware, and testing teams to safely and reliably validate the control of the various actuators on our platforms. This role is perfect for someone who loves combining math and software, and is excited about applying their experience to make robots drive in smart ways in rugged, agricultural environments.
What You'll Do
- Designing closed-loop controllers enabling the tractors to drive and get work done safely and effectively, while compensating for uncertainty in system parameters and environmental disturbances.
- Developing kinematics and dynamics models for our various vehicle platforms and corresponding implements.
- Creating robust system identification algorithms and procedures to calibrate physical differences across the fleet, enabling the control systems to compensate for them.
- Implementing parameter estimation algorithms to improve controls performance.
- Designing and leading the execution of test scenarios in both simulation (software-in-the-loop) and on real vehicles (hardware-in-the-loop).
- Architecting, designing, and implementing software applications, as well as onboard and offboard infrastructure and tools to support those applications.
- Developing portable, scalable, and fast geometry and optimization libraries.
- Writing performant, well-tested software, and improving code quality of the entire Autonomy team through code and design reviews.
What You'll Bring
- Theoretical knowledge and hands-on experience in any or many of the following areas: classical control, adaptive control, nonlinear control, model predictive control, optimal control, robust control, sliding mode control.
- Strong proficiency in modern C++ and experience writing efficient algorithms for resource-constrained embedded systems.
- Ability to thrive in a fast-moving, collaborative, small team environment with lots of ownership.
- Excellent analytical, communication, and documentation skills with demonstrated ability to collaborate with interdisciplinary stakeholders outside of Autonomy.
- An eagerness to get your hands dirty by testing your code on real robots at real customer farms (gives “field testing” a whole new meaning!).
What Makes You a Strong Fit
- Experience architecting control systems from scratch and a deep understanding of the design tradeoffs when leveraging different types of controllers.
- Experience writing software for real-time and/or safety-critical systems.
- 5+ years of software development experience in autonomy, robotics, or a related field.
- MS or PhD in Robotics, Computer Science, Computer Engineering, Electrical Engineering, Mechanical Engineering, or a related field.
- Passion for sustainable agriculture and electric vehicles.
Benefits:
• 100% covered medical, dental, and vision for the employee (cost plus partner, children, or
family is additional)
• Commuter Benefits
• Flexible Spending Account (FSA)
• Life Insurance
• Short- and Long-Term Disability
• 401k Plan
• Stock Options
• Collaborative work environment working alongside passionate mission-driven folks!
Our interview process is generally conducted in five (5) phases:
1. Phone Screen with People Operations (30 minutes)
2. Video Interview with the Hiring Manager (45 minutes)
3. Coding Challenge and Technical Challenge (1 hour with an Autonomy Engineer)
4. Panel Interview (Video interviews scheduled with key stakeholders, each interview will be 30 to 45 minutes)
5. Final Interviews (CEO, CFO, VP of Engineering, 30 minutes each)