Key Responsibilities:
Software Development
- 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.
Hardware & Sensor Integration
- 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.
Testing & Validation
- 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.
Field Operations
- 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.
Documentation & Collaboration
- 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.
Required Qualifications & Experience:
- 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.