ROS Engineer

Square One ResourcesWarsawnofluffjobspublished 09/23/2026
Must-have:PythonMobileSeniorLead

Project Description We are looking for a ROS Engineer to join a robotics team working on the migration of an existing autonomous vehicle platform from ROS 1 to ROS 2 . The platform operates as an autonomous Unmanned Ground Vehicle (UGV) and includes navigation, localization, vehicle control, GNSS, CAN-connected hardware, sensors, and higher-level autonomy logic. You will be involved in the migration, adaptation, integration and testing of existing production software, working closely with Senior and Lead Engineers as well as the customer's robotics team. This is a hands-on engineering role focused on ROS/ROS 2 migration, C++/Python development, system integration, navigation, localization and troubleshooting of autonomous vehicle systems .

Daily tasks

  • Migrate existing ROS 1 nodes and packages to ROS 2.
  • Analyse ROS 1 topics, services, actions, parameters, launch files, TF trees and dependencies.
  • Adapt existing C++ and Python code to ROS 2 APIs and architecture.
  • Support the migration and configuration of components based on ros2_control / ros_control.
  • Support navigation migration and configuration using Nav2.
  • Work with existing BehaviorTree / BehaviorTree.CPP based functionality.
  • Support localization based on robot_localization, GNSS, IMU and odometry.
  • Integrate and test GNSS, CAN, IMU, odometry and other sensor inputs.
  • Support sensor fusion and localization pipelines.
  • Assist with vehicle control and actuation interfaces, including braking and steering.
  • Configure and troubleshoot DDS/QoS communication.
  • Investigate timing, synchronization, latency and communication issues.
  • Perform regression testing using recorded data, logs and repeatable test scenarios.
  • Use tools such as Foxglove for visualization, debugging and system analysis.
  • Participate in integration testing in simulation, bench environments and physical vehicles.
  • Document implemented changes, dependencies and identified technical issues.
  • Collaborate with Senior and Lead Engineers and the customer's robotics team.

Requirements

Commercial experience with ROS , preferably with both ROS 1 and ROS 2 . Practical development experience with C++ and/or Python . Good understanding of core ROS concepts, including nodes, topics, services, actions, TF and parameters . Basic to intermediate practical experience with ROS 2 . Familiarity with Nav2 or other ROS-based navigation frameworks. Familiarity with ros2_control / ros_control . Basic understanding of DDS and QoS concepts. Experience working with Linux environments. Experience with robotics, autonomous systems or mobile robotic platforms. Experience working with sensors such as GNSS, IMU, CAN and odometry will be an advantage. Familiarity with robot_localization, BehaviorTree / BehaviorTree.CPP, Foxglove or sensor fusion will be an advantage. Ability to troubleshoot complex software and communication issues in distributed robotic systems. Good English communication skills.

Must have: Embedded, ROS, ROS 1, ROS 2, C++, Python, Nav2, ROS-based navigation frameworks, ros2_control, ros_control, DDS, QoS, Linux, Robotics, Autonomous systems, Mobile robotic platforms, GNSS, IMU, CAN, Odometry, robot_localization, BehaviorTree.CPP, Foxglove, Communication skills