Software Engineer - Humanoid Controls
Energize has partnered with a cutting-edge robotics startup dedicated to crafting robots that enhance human quality of life and address the growing labor shortage challenge.
With a team of seasoned experts who have honed their craft since the DARPA Robotics Challenge, they tackle society's most pressing issues using a comprehensive approach to robotics. Their mission is to revolutionize the world with ground breaking products and technologies.
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 person has proven hands-on capabilities developing planning and control algorithms for humanoid robots and a strong theoretical background. They will create high-level locomotion and manipulation algorithms (primarily in C++), implement them in software simulation, and bring them to life on a robot platform. They will also implement rigorous unit and integration tests of these and existing algorithms, quantify their performance, and develop new features to drive continuous improvement. They will work as part of a team focused on developing a dynamic humanoid robot robust to unstructured environments and able to perform useful work in real customer applications.
ESSENTIAL DUTIES AND RESPONSIBILITIES
- 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
SKILLS AND REQUIREMENTS
- Proven experience implementing state-of-the-art model-based or model-free controls of dynamic legged robots and troubleshooting hardware
- Strong understanding of robotics fundamentals such as kinematics, dynamics, controls, and estimation
- 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
- Experience with common robotics and controls packages such as ROS, URDF, MuJoCo, and Eigen
- Strong technical communication skills
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 implementing high-performance humanoid controls (2 years, or 0 with directly relevant PhD)