Actively hiring· Posted 1 month ago

Robotics Software Engineer

Full TimeIn-OfficeFull Stack Development
Salary
Not disclosed
Experience
Any
Work mode
In-Office

The role

About the role

2 min read

Cosmoserve Space is seeking a Robotics Software Engineer to develop, maintain, and evolve the software stack powering its robotics laboratory for proximity operations research.

The role focuses on ROS 2 software development, C++ and Python programming, robotics hardware integration, experiment automation, simulation, and reliable production software for robotic systems.

Key Responsibilities

  • Design, develop, and maintain large-scale ROS 2 based software systems.
  • Develop custom ROS 2 packages for robot control, state management, sensor processing, and inter-system communication.
  • Apply robot kinematics and dynamics to coordinate transforms, trajectory execution, and hardware interfaces.
  • Write clean, modular, well-documented C++ and Python code.
  • Implement unit testing, integration testing, code review, version control, and CI/CD practices.
  • Integrate robotic hardware, manipulators, actuators, motion platforms, and sensors into ROS 2.
  • Develop or adapt hardware drivers and hardware abstraction layers.
  • Work with EtherCAT, CAN bus, Modbus, serial communication, TCP/IP, and DDS.
  • Integrate cameras, IMUs, encoders, and force/torque sensors.
  • Develop calibration and sensor data synchronization pipelines.
  • Support hardware-in-the-loop and software-in-the-loop testing.
  • Integrate RL/ML models into ROS 2 systems while meeting real-time performance requirements.
  • Develop experiment configuration, launch, recording, playback, and post-processing frameworks.
  • Implement safety supervision, workspace monitoring, joint limit enforcement, and emergency stop logic.
  • Maintain logging, monitoring, diagnostics, operational runbooks, and technical documentation.
  • Own software systems through development, testing, deployment, maintenance, and documentation.

What you bring

Requirements

Required Skills

  • Strong proficiency in C++.
  • Strong proficiency in Python.
  • Knowledge of CMake and Bash scripting.
  • Strong ROS 2 experience.
  • ROS 2 node architecture.
  • ROS 2 launch system.
  • Topics, Services, and Actions.
  • Lifecycle nodes.
  • ros2_control.
  • Nav2.
  • MoveIt 2.
  • ROS 2 bag.
  • Git and version control.
  • CI/CD using GitHub Actions or GitLab CI.
  • Unit and integration testing.
  • Code review and documentation.
  • Robotic hardware integration.
  • Hardware abstraction layers and driver development.
  • EtherCAT, CAN bus, Modbus, and serial protocols.
  • Camera, IMU, encoder, and force/torque sensor integration.
  • Sensor calibration and data synchronization.
  • Linux/Ubuntu.
  • Docker.
  • Systemd services.
  • TCP/IP networking.
  • DDS/FastDDS.
  • Multi-machine ROS 2 setups.
  • Gazebo/Ignition and RViz 2.
  • URDF/XACRO.
  • Understanding of robot kinematics and dynamics.
  • Forward and inverse kinematics.
  • Jacobians and DH parameters.
  • Understanding of equations of motion and force/torque relationships.
  • Strong debugging and problem-solving skills.
  • Experience maintaining complex robotic software systems.

Preferred Skills

  • Real-time Linux and PREEMPT-RT.
  • Real-time middleware such as Orocos or micro-ROS.
  • NVIDIA Isaac ROS.
  • GPU-accelerated perception pipelines.
  • Multi-robot systems.
  • Distributed ROS 2 deployments.
  • DDS middleware configuration.
  • Foxglove Studio or web-based robot monitoring dashboards.
  • WebSocket and REST interfaces.
  • Space proximity operations.
  • Relative motion dynamics or orbital mechanics.
  • Robotics laboratory or research facility software infrastructure.

Cosmoserve Space