Job Description
Creating the real-time software stack that enables our cutting-edge hardware to maneuver and move deterministically, elegantly, and effectively through its surroundings is the responsibility of the Robotics Controls Engineer position. As part of a team that handles everything from whole-body dynamic control and estimate for loco-manipulation to low-level motor control, this is a very hands-on role.
Why this job is exciting
The controls team is the first user of the hardware so you will play a key role in hardware design and sensor evaluation.
There are 30+ humanoids operating 24/7 in-house which you can deploy and test your controls software on.
In time, your software will run on 1000’s of humanoids performing tasks in diverse environments, globally.
You’ll be on a team with a large set of responsibilities, requiring interaction with hardware, firmware, AI, platforms and production teams, all working towards building the world’s safest and most capable humanoid robot.
You’ll be working with a 50+ DoF biped, with hands, all driven by motors we design and manufacture in-house.
Controls Team Responsibilities
Humanoid controls algorithm development for balancing, locomotion and manipulation
Designing fast and efficient state estimation algorithms
SysID and calibration of actuators, transmissions and full body kinematics
Hardware integration and sensor evaluation
Tooling for hardware bring-up and debugging
Software for robot health monitoring, visualization and logging
Building and maintaining API’s used by other parts of the software stack to command our robots
Job requirements
Must-Haves
Bachelors degree in Robotics, Mechanical/Electrical Engineering, Computer Science or similar.
1+ years practical experience deploying and debugging controls + estimation adjacent software on high DoF robots.
Solid understanding of rigid body dynamics, linear algebra
Familiarity with control and state estimation for legged systems
Experience working with large C++ code bases in a Linux development environment
Familiarity with modern software development practices, source control, and testing methodologies
Qualities we’re looking for
Excellent intuition for how controls software impacts the behavior of the robot
You enjoy being hands-on with the hardware as much as doing software R&D work.
Extreme care for how your software impacts the rest of product, eg. teleoperation, production, deployment and servicing in the field
Perseverance and attention to detail
Nice-To-Haves
Experience with Java, Unity/C#, Python, real-time Linux, ROS2 and DDS
Experience with any of the tasks outlined in the team responsibilities section above
You have built your own robot and enjoy tinkering with hardware in your spare time.