Job Description
Position Overview\nWe're hiring a System Identification & Controls Engineer to characterize, model, and validate the dynamics of every robot we work with — as accurately as possible, and at fleet scale. This is a senior individual-contributor role for someone who has done rigorous system identification on real robots before and walks in already knowing which tests to run.\n\n### Responsibilities\n- Plan and run system identification across all Skild robot platforms — actuators, transmissions, joints, rigid-body dynamics, and sensors.\n- Design the excitation trajectories and bench/on-robot tests, and know which experiment answers which question.\n- Characterize actuators and motors on dynamometers, test benches, and hardware-in-the-loop setups, alongside the EE, ME, and firmware teams.\n- Fit dynamics models, quantify their accuracy, and close the sim-to-real gap against our simulators.\n- Apply classical controls — state estimation, calibration, stability and bandwidth analysis — to real hardware.\n- Build automated pipelines that scale identification from a single robot to the whole fleet.\n- Quantify unit-to-unit variation, track drift and wear over time, and flag outlier units.\n- Set the standard and tooling for system identification at Skild, and document findings rigorously.\n\n### Preferred Qualifications\n- MS or PhD in Mechanical/Electrical Engineering, Controls, Robotics, Aerospace, or a related field — or equivalent hands-on experience.\n- A demonstrated, hands-on track record of system identification on real robotic or electromechanical hardware — identified and validated on physical systems, not just in simulation.\n- Strong classical controls foundation: feedback/feedforward and cascade control, frequency-response and stability analysis, state estimation and Kalman filtering.\n- Solid grasp of robot hardware and mechatronics: motors and field-oriented control, transmissions, encoders, IMUs, and force-torque sensors.\n- Practical experience with excitation design, hardware data collection, and parameter estimation (time- and frequency-domain methods).\n- Proficiency in Python and C++ in a Linux environment; MATLAB/Simulink a plus.\n- Familiarity with robotics dynamics tooling and simulators (MuJoCo, Isaac Sim, Drake, Pinocchio, ROS/ROS2).\n- Experience deploying calibration or controls across a large fleet of robots or vehicles is highly valued.