Logo
Apptronik, inc.

Software Engineer – Autonomy

Apptronik, inc., Austin, Texas, us, 78716


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

#J-18808-Ljbffr