Energize Group are currently working one of the most exciting and rapidly growing robotics businesses in the United States. This company are looking to bring in an experienced Robotics Software Engineer.
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 or KEY ACCOUNTABILITIES
- 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 bugfree 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.