Robotics Software Engineer, Controls
Posted
Location
San Francisco
Employment Type
Full time
Location Type
On-site
Department
Robotics
About the company
Efference provides high-performance perception and compute infrastructure for training and deploying robot models in the cloud. Our vision is to make robotic deployments scalable with shared compute.
We approach the problem by owning the entire path from the image sensor to the datacenter GPU. We shrink the load at the sensor, fix the uplink so robot traffic is fast and reliable, and clock synchronize the system so observations arrive time-aligned, ready for inference.
About the role
You'll connect remotely served robot policies and teleoperation inputs to reliable motion on physical robots. You'll develop the local control and execution software needed to evaluate Efference infrastructure, making timing, stale observations, and interrupted connectivity explicit parts of the system design.
What you’ll do
- Implement robot interfaces and local execution loops for joint, Cartesian, and trajectory commands, working within each platform's supported control modes.
- Integrate learned policies with state estimation, command interpolation, action buffering, and feedback so inference outputs can be executed consistently.
- Define and test behavior for late, missing, duplicated, or out-of-order commands, including command expiry, local watchdogs, and controlled stopping.
- Characterize how network delay, observation age, sensor noise, and action cadence affect tracking error and task performance.
- Develop simulation and hardware tests for controller behavior, then validate the assumptions on physical robots with measured dynamics and real sensors.
- Work with evaluation and teleoperation researchers to expose useful diagnostics and improve control interfaces across supported embodiments.
What we are looking for
- Experience developing and deploying robot control software on physical hardware.
- Strong understanding of rigid-body kinematics, dynamics, feedback control, trajectory generation, and coordinate transformations.
- Proficiency in C++ and Python and experience with timing-sensitive software, concurrency, and hardware interfaces.
- Ability to diagnose instability or poor tracking using logs, measurements, and a clear model of the system.
- Practical judgment about operating limits and local fault handling when upstream software or communications fail.
Nice to Have
- Experience with manipulation, impedance control, inverse dynamics, model predictive control, or whole-body control.
- Work with MuJoCo, Pinocchio, Drake, ROS 2, or real-time Linux.
- Experience deploying learned controllers, executing action chunks, or testing networked control systems.