Sr. ROS Software Developer
Job Description
Excelon Solutions offers an onsite contract opportunity in Sunnyvale, CA to work on a cutting-edge robotics platform. This role focuses on developing software for an NVIDIA Jetson based manipulation system, using Linux and ROS2 to build gripper control, sensor pipelines, and device management. You will deploy perception and control algorithms in real time, collaborating with scientists and firmware engineers while coding primarily in C++ and Python on Ubuntu. The engagement provides hands-on impact in a fast-paced environment with a competitive hourly rate of USD 50 to 100.
Responsibilities
- Develop and maintain ROS2 nodes for gripper command/state, sensor streaming (cameras, IMU, dToF, tactile), and device management (DFU, discovery, calibration)
- Develop and integrate host-side SDKs that interface with embedded MCU subsystems over Ethernet and EtherCAT, wrapping vendor C/C++ libraries into ROS2-compatible drivers
- Implement sensor integration pipelines on the Jetson, including camera frame acquisition and GPU-accelerated processing (CUDA de-Bayering), depth sensor post-processing (dToF zone to point cloud), IMU streaming, and tactile data decoding
- Integrate algorithms developed by scientists into the real-time platform, ensuring timing, data flow, and API contracts are met
- Develop device management software for firmware update orchestration across heterogeneous nodes (MCU, sensors, actuators), discovery, and health monitoring
- Write and maintain integration tests validating end-to-end data paths from embedded hardware through ROS2 topics
Requirements
- 5+ years of software engineering experience, with substantial work on embedded Linux and robotics platforms
- Strong proficiency in C++ and Python on Linux (Ubuntu)
- Hands-on experience with ROS2, including writing nodes, custom message types, lifecycle management, launch files, and parameter handling
- Experience developing software on NVIDIA Jetson platforms (JetPack, CUDA basics, Docker containers)
- Experience interfacing host software with embedded systems, consuming C/C++ SDKs from hardware vendors, Ethernet/UDP communication with MCUs, and serial protocols
- Experience with sensor integration such as cameras (V4L2, GStreamer, or vendor SDK), IMUs, and depth sensors
- Comfort at the hardware–software boundary, reading protocol specifications, validating data with tools like Wireshark or logic analyzers, and coordinating with firmware engineers
Technologies
- ROS2, Linux, Ubuntu
- NVIDIA Jetson, JetPack, CUDA, Docker
- Ethernet, EtherCAT
- C++, Python
- PREEMPT_RT
- CUDA de-Bayering, V4L2, GStreamer
- dToF, IMU
- Yocto/OE, CycloneDDS
- SOEM, IgH, Cyphal/DroneCAN, CAN-based protocols
- Wireshark
Similar Jobs
L