Logo
Apptronik, inc.

Senior Software Engineer – Controls Infrastructure

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


JOB SUMMARY

This role is responsible for essential controls infrastructure software and processes that enable precise, high-performance control of Apptronik robots. They will ensure seamless integration between robot data and models such that the robot abstraction API used for planning and controls matches both simulation and hardware across a fleet of dynamic humanoid platforms. They will ensure that data is properly mapped from sensors to robot models to actuator commands during real-time operation. They will implement extensive unit, integration, and systems testing to validate this performance. Their expertise in software design, robotic hardware integration, and controls fundamentals will drive the innovation that brings our robots to life.

ESSENTIAL DUTIES AND RESPONSIBILITIES or KEY ACCOUNTABILITIES

Deliver production-grade real-time controls software infrastructure

Integrate low-level firmware data with high-level controls logic

Characterize and improve the quality of robot kinematics, estimation, and actuation

Perform root-cause analysis on complex hardware-software-controls integration bugs

Develop API for controls and autonomy systems to interact with robot hardware and simulation

Implement rigorous unit and integration testing of controls infrastructure and hardware integration

Maintain comprehensive and accurate architecture and design documentation

Deliver reliable software through code reviews, continuous integration, and automated testing

Represent and lead with Apptronik's core values: CHIPC - Curiosity, Humility, Integrity, Passion, Creativity

SKILLS AND REQUIREMENTS

Strong modern C++ and Object-Oriented Programming skills, including inheritance, templates, and design patterns

Proven experience integrating and testing controls software with complex robotics hardware, especially with hardware abstraction layers for the sensors and actuators of articulated systems

Familiarity with basic robotics fundamentals such as kinematics, dynamics, controls, estimation, and system identification

Experience with common robotics and controls packages such as ROS, URDF, MuJoCo, and Eigen

Multi-threaded and multi-process design/development/debugging skills

Experience developing Linux applications

Software testing methodologies (unit & integration testing)

Git or similar version control systems

Strong technical communication skills

Familiarity with Agile process (sprint planning, design reviews, & code reviews)

EDUCATION and/or EXPERIENCE

BS, MS or PhD degree (or equivalent) in Computer Science, Computer Engineering, Electrical Engineering, Mechanical Engineering, Robotics, or related field

Proven industry experience integrating robot hardware and software (5 years, or 2 with grad degree)

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