ROS Engineer I

×

ROS Engineer I

EyeROV – Cochin, Kerala, India

Refined job description

ROLE
– Develop and maintain ROS 2 nodes in Python and/or C++ for sensing, control, telemetry, and mission execution
– Define, implement, and version message, service, and action interfaces between subsystems
– Write launch files, parameter sets, and configuration profiles that allow the same codebase to run across different vehicle variants without code changes
– Bring up and integrate payloads IMU, depth/pressure sensors, DVL, altimeters, imaging and scanning sonar, cameras
– Interface thrusters, motor controllers, and auxiliary actuators over serial, CAN, and Ethernet
– Configure DDS settings and QoS profiles for the topside–vehicle link
– Build and maintain simulation environments and hardware-in-the-loop setups
– Deploy and test software on embedded and edge compute platforms
– Instrument systems with rosbag2 logging, diagnostics topics, and health monitoring
– Reproduce field-reported issues in a controlled environment and drive fixes through to verified closure
– Participate in tank, harbour, and open-water trials
– Document nodes, interfaces, parameters, and system configurations
– Work alongside embedded, mechanical, controls, and product teams during system-level integration

REQUIREMENTS
– B.E/B.Tech in Robotics, Electronics, Computer Science, Electrical, or related fields
– 0–2 years in robotics or ROS development

Full job description

Develop and maintain ROS 2 nodes in Python and/or C++ for sensing, control, telemetry, and mission execution, under the technical direction of the reporting lead. | Define, implement, and version message, service, and action interfaces between subsystems, keeping contracts stable as the platform evolves. | Write launch files, parameter sets, and configuration profiles that allow the same codebase to run across different vehicle variants without code changes. | Bring up and integrate payloads IMU, depth/pressure sensors, DVL, altimeters, imaging and scanning sonar, cameras: including driver integration, timestamping, TF frame alignment, and calibration data capture. | Interface thrusters, motor controllers, and auxiliary actuators over serial, CAN, and Ethernet, implementing watchdogs and safe-state behaviour on loss of command. | Configure DDS settings and QoS profiles for the topside–vehicle link, managing bandwidth constraints and ensuring graceful degradation when the link is degraded or drops. | Build and maintain simulation environments (Gazebo, RViz) and hardware-in-the-loop setups so that failure modes are found before wet testing. | Deploy and test software on embedded and edge compute platforms (NVIDIA Jetson, Raspberry Pi), including containerised builds, dependency management, and boot-time service configuration. | Instrument systems with rosbag2 logging, diagnostics topics, and health monitoring; analyse recorded data post-mission to identify root causes rather than symptoms. | Reproduce field-reported issues in a controlled environment, isolate them to software, hardware, or configuration, and drive fixes through to verified closure. | Participate in tank, harbour, and open-water trials: pre-dive checks, on-site debugging, data capture, and post-trial reporting and feed observed behaviour back into the development cycle. | Document nodes, interfaces, parameters, and system configurations to a standard that allows another engineer to deploy and troubleshoot without the author present. | Work alongside embedded, mechanical, controls, and product teams during system-level integration, and follow the team's Git branching, code review, and release practices. | Education: B.E/B.Tech in Robotics, Electronics, Computer Science, Electrical, or related fields. | Experience: 0–2 years in robotics or ROS development (academic projects or internships count). | Certifications (Preferred): ROS 2 Development, Python/C++ Programming, Embedded Linux.