Software Engineer - Controls Infrastructure
Role details
Job location
Tech stack
Job description
Deliver state-of-the-art planning and controls algorithms on high performance humanoid robot hardware. Characterize and improve the quality of robot locomotion and manipulation. Collaborate with Autonomy, Perception, and other teams to enable a broad range of robot behaviors. Implement rigorous unit and integration testing of control algorithms and implementation. Maintain comprehensive and accurate architecture and design documentation. Deliver reliable software through code reviews, continuous integration, and automated testing.
Requirements
Master's degree (or foreign equivalent) in Electrical Engineering, Computer Engineering, Mechanical Engineering, Robotics Engineering, or a closely related field and two (2) years of experience in a related occupation with the following: implementing high-performance model-based or model-free controls of dynamic robots; troubleshooting hardware including high torque electric motors, cameras and LiDAR sensors for robot perception, end-effector for grasping and manipulation, as well as linear and rotary joints; applying robotics fundamentals including kinematics, dynamics, controls, and estimation; utilizing modern C++ and object-oriented programming in a Linux development environment; using standard CI tools such as Git while following rigorous documentation and testing standards; and working with common robotics and controls packages including ROS, URDF, MuJoCo, and Eigen.