Software Engineer - Autonomy
Apptronik
Apptronik is building robots for the real world to improve human quality of life and to help solve the ever-increasing labor shortage problem. Our team has been building some of the most advanced robots on the planet for years, dating back to the DARPA Robotics Challenge. We apply our expertise across the full robotics stack to some of the most important and impactful problems our society faces, and expect our products and technology to change the world for the better. We value passion, creativity, and collaboration to help us overcome existing technological barriers in the industry to create truly innovative products.
You will join a team developing state-of-the-art general-purpose robots designed to operate in human spaces and with human tools. It is designed to work alongside humans, mobilize to human spaces, and manipulate the world around it.
JOB SUMMARY
This role is responsible for designing and implementing a robust behavior architecture, providing various behavior authoring tools such as state machines and behavior trees. They will design and implement these software tools, test them in simulation and hardware, and leverage them to create autonomous applications capable of performing real work in customer environments and for product demos. They will closely work with perception, motion controls and planning, fleet management, and UI to integrate the components needed to make reliable autonomous execution possible. They will also develop frameworks to harness trained AI/ML policies alongside classical planning algorithms and teleoperation to perform useful work at scale. They will develop extensive unit and integration tests of the system to validate autonomous behavior prior to real world deployment.
ESSENTIAL DUTIES AND RESPONSIBILITIES or KEY ACCOUNTABILITIES
- Deliver world-class autonomous behavior management and execution software to enable humanoid robots to perform industrial tasks
- Collaborate with perception and motion controls teams to synthesize reliable navigation and manipulation behaviors
- Develop useful system behaviors using planning and controls API for a variety of robot tasks such as gross manipulation, auto-docking, auto-self checks
- Provide framework for employing AI/ML approaches to perform useful work, such as data-driven manipulation policies or foundational models for task planning
- Provide software support for new customer use cases and product demos
- Lead advanced software development activities, including architecture, design, coding, unit testing, integration, deployment, and maintenance within assigned autonomy algorithms software components
- Represent and lead with Apptronik's core values: CHIPC - Curiosity, Humility, Integrity, Passion, Creativity
SKILLS AND REQUIREMENTS
- Proven experience deploying autonomous navigation and/or manipulation behaviors on robot hardware (legged preferred)
- Familiarity with modern behavior authoring methods, such as Finite State Machines, Behavior Trees, or Behavior Composition
- Familiarity with basic robotics fundamentals such as kinematics, dynamics, controls, and planning for manipulation and navigation
- Strong ability to collaborate with other software teams (e.g perception or controls) to ensure the seamless integration of software components with the overall system
- Proficient in modern C++ and object-oriented programming in a Linux development environment, with prior demonstrated ability to:
- Translate complex theoretical concepts and algorithms into practical, efficient, and bug-free software implementations
- Perform on a fast-paced software development team using standard CI tools like Git while following rigorous documentation and testing standards
- Ability to communicate technical information effectively both orally and in writing with other team members
EDUCATION and/or EXPERIENCE
- MS or PhD degree (or equivalent) in Computer Science, Computer Engineering, Electrical Engineering, Mechanical Engineering, Robotics, or related field
- Proven industry experience (2 years) implementing autonomous behaviors on robot hardward
PHYSICAL REQUIREMENTS
- Prolonged periods of sitting at a desk and working on a computer
- Must be able to lift 15 pounds at times
- Vision to read printed materials and a computer screen
- Hearing and speech to communicate
*This is a direct hire. Please, no outside Agency solicitations.
Apptronik provides equal employment opportunities to all employees and applicants for employment and prohibits discrimination and harassment of any type without regard to race, color, religion, age, sex, national origin, disability status, genetics, protected veteran status, sexual orientation, gender identity or expression, or any other characteristic protected by federal, state or local laws.