Role Overview
We are seeking a Robotics Software Engineer to build, optimize, and maintain our real-time teleoperation, messaging, and simulation pipelines. In this role, you will focus on core robotics software fundamentals—writing clean, concurrent C++, managing low-latency distributed messaging stacks, and implementing stable control loops—while applying these skills to the unique challenges of humanoid teleoperation and data collection for machine learning.
Key ResponsibilitiesCore Engineering & Fundamentals
- Real-Time Software Development: Develop and maintain concurrent, multithreaded software in modern C++ for processing high-frequency sensor streams, operator inputs, and actuator commands.
- Distributed Communications Stack: Maintain and optimize the robot's internal and external communication networks using Zenoh, CycloneDDS, and ZMQ. Configure and tune QoS profiles, message routing, and pub/sub topologies to guarantee low-latency, deterministic data flow.
- Control Systems Implementation: Implement and tune kinematics and basic control algorithms (e.g., Inverse Kinematics, PID, compliance control) within both simulation and physical hardware.
- Simulation Environments: Set up, calibrate, and maintain 3D physics environments (e.g., MuJoCo, Isaac Sim) to accurately benchmark control loops and network configurations before real-world deployment.
Teleoperation & Domain-Specific Applications
- Motion Retargeting Pipelines: Assist in developing and tuning algorithms that translate operator movements into safe joint trajectories for a high-degree-of-freedom robot.
- Data Logging & Curation: Build and monitor reliable data logging pipelines to capture, tokenize, and serialize high-fidelity trajectory data from teleoperation sessions for machine learning datasets.
- Low-Latency Telemetry Streaming: Implement robust networking protocols to stream telemetry, video feeds, and control packets between the remote operator interface and the physical robot over unstable wireless networks.
Required Skills & Qualifications (The Fundamentals)
- Education & Experience: Bachelor’s or Master’s degree in Robotics, Computer Science, Computer Engineering, or a related field, with 2–4 years of professional experience in a robotics or distributed systems environment.
- Modern C++ Proficiency: Solid hands-on experience with modern C++ (C++17/20), including a strong understanding of object-oriented programming, multithreading, concurrency patterns, and memory management.
- Middleware & Networking: Practical experience building and debugging distributed systems using ZMQ, Zenoh, or CycloneDDS. Deep understanding of transport protocols (UDP, TCP), serialization frameworks (e.g., Protobuf, FlatBuffers), and custom network topology design.
- Math & Physics Foundations: Strong grasp of linear algebra, spatial vector algebra, and rigid-body dynamics.
- Simulation Tools: Experience utilizing standard physics engines (such as MuJoCo, Isaac Sim, or Drake) to validate robotic workflows.
Preferred Skills & Experience (The Domain Pluses)
Candidates who meet the fundamental requirements above and possess any of the following specific domain experiences will be highly prioritized.
- Humanoid Hardware & SDKs: Direct experience working with humanoid platforms or high-DoF bipedal systems; specific familiarity with Unitree platforms (G1, H1), low-level motor control (over raw UDP/DDS), or the Unitree SDK is a major plus.
- Teleoperation Interfaces: Experience integrating XR/VR headsets (e.g., Meta Quest), haptic gloves, or leader-follower hardware setups into low-latency messaging loops.
- Advanced Networking for Robotics: Knowledge of WebRTC, RTSP, or custom zero-copy messaging solutions tailored for real-time video and control data transmission over Wi-Fi/5G.
- Imitation Learning Data Pipelines: Familiarity with formatting, filtering, and cleaning demonstration datasets for Behavior Cloning or transformer-based robotic policies.
Pay: $80,000.00 - $100,000.00 per year
Work Location: In person