T
Robotics Software Engineer - Teleoperation & Simulation
Job Description
This role centers on real-time teleoperation, messaging, and simulation pipelines for humanoid robots, with an emphasis on modern C++, low-latency distributed systems, and data collection for machine learning.
Responsibilities
- Real-Time Software Development: design and maintain concurrent, multithreaded C++ software to process high-frequency sensor streams, operator inputs, and actuator commands in real time.
- Distributed Communications Stack: oversee internal and external communications using Zenoh, CycloneDDS, and ZMQ; tune QoS, routing, and pub/sub topologies to ensure low-latency, deterministic data flow.
- Control Systems Implementation: implement and tune kinematics and basic control algorithms such as inverse kinematics, PID, and compliance control in both simulation and physical hardware.
- Simulation Environments: set up, calibrate, and maintain 3D physics environments (MuJoCo, Isaac Sim) to benchmark control loops and network configurations prior to real-world deployment.
- 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 robot over unstable wireless networks.
Requirements
- 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 robotics or distributed systems.
- Modern C++ Proficiency: hands-on experience with modern C++ (C++17/20), strong object-oriented programming, multithreading, concurrency patterns, and memory management.
- Middleware & Networking: practical experience building and debugging distributed systems using ZMQ, Zenoh, or CycloneDDS; solid understanding of UDP/TCP, serialization frameworks (Protobuf, FlatBuffers), and custom network topology design.
- Math & Physics Foundations: solid grasp of linear algebra, spatial vector algebra, and rigid-body dynamics.
- Simulation Tools: experience using physics engines such as MuJoCo, Isaac Sim, or Drake to validate robotic workflows.
Technologies
- C++, C++17, C++20
- Zenoh, CycloneDDS, ZMQ
- Protobuf, FlatBuffers
- UDP, TCP
- MuJoCo, Isaac Sim, Drake
- Unitree platforms (G1, H1), Unitree SDK
- Meta Quest, XR/VR headsets
- WebRTC, RTSP
- Haptic gloves
Role Overview
We are seeking a Robotics Software Engineer to build, optimize, and maintain real-time teleoperation, messaging, and simulation pipelines. The focus is on robust C++ software fundamentals, managing low-latency distributed messaging stacks, and implementing stable control loops, applied to the challenges of humanoid teleoperation and data collection for machine learning.
Pay
Annual salary: USD 80,000 - 100,000.
Work Location
Las Vegas, NV (onsite)