5+ years of experience in controls engineering or robotics
Strong knowledge of model-based control algorithms and inverse dynamics
Proficient in Python and C++ for firmware-related development
Experience with real-time control loop design and tuning
Hands-on skills in debugging electromechanical systems
Familiar with communication protocols like CAN, SPI, I2C, Ethernet
Effective communication skills for cross-functional collaboration
Responsibilities
Design and implement various control algorithms including PID and LQR
Create and validate physical models for simulations and control design
Develop and optimize runtime control loops with neural networks
Integrate and tune robotics systems including arms and mobile bases
Diagnose and resolve complex hardware/software issues
Build sensor and actuator subsystems while working with embedded systems
Collaborate with researchers and engineers to ensure system reliability
Benefits
Opportunity to work on cutting-edge robotic technology
Collaborative team environment with direct impact on product development
Access to ongoing training and development in advanced robotics
Support for participation in research and academic conferences
Flexible work arrangements to support work-life balance
Full Job Description
As a Controls Engineer, you will design and implement the algorithms that make PI's robots behave predictably, smoothly, and safely under varied and uncertain conditions.
The Team
The Controls team builds and tunes the core feedback and model-based algorithms, real-time loops, simulations, and actuator/sensor subsystems that make PI's robots stable and reliable. They work closely with research, hardware, and operations to debug complex system behaviors and ensure our learning-based systems operate under strict real-time constraints in unpredictable environments.
In This Role You Will
Design & implement control algorithms: PID, LQR, MPC, inverse dynamics, and feedforward controllers.
Build & validate models: Create and refine physical and inverse dynamics models for simulation and control design.
Develop real-time loops: Write and optimize runtime control loops, including neural-network-driven control.
Own robotic bring-up: Integrate and tune arms, mobile bases, teleop systems, and full-body platforms.
Debug complex system behaviors: Diagnose and resolve hardware/software/runtime issues using first-principles reasoning.
Build sensor/actuator subsystems: Work with embedded systems, drivers, and communication protocols (CAN, SPI, I2C, Ethernet).
Partner cross-functionally: Work with researchers, platform engineers, and operators to ensure stable, predictable real-world behavior.
Support R&D: Prototype configurations, collect structured datasets, and iterate directly with researchers.
What We Hope You'll Bring
Deep understanding of model-based control algorithms and inverse dynamics
Ability to validate control approaches in simulation and translate them to real hardware
Proficiency in Python and C++, including firmware-adjacent development
Skill in writing and tuning real-time control loops
Hands-on capability to debug electromechanical systems end-to-end
Familiarity with embedded communication protocols (CAN, SPI, I2C, Ethernet)
Clear communication with researchers, hardware teams, and operators
A structured, collaborative approach to solving complex system issues
Bonus Points If You Have
Background in manipulation or mobile robotic platforms
Exposure to robot learning or integrating learned policies into control stacks
Ability to design or refine custom actuator or sensor hardware