BackgroundThe Naval Research Laboratory (NRL) is participating in a multi-institution program to develop specialized unmanned underwater vehicles (UUVs). The overall goal of the work is to deliver integrated software packages for communication autonomy. CPI is seeking a Robotics Engineer with expertise in ROS1 and ROS2 as well as familiarity with Docker networking. The successful candidate will initially assist with conversion of ROS1 software to ROS2. Later work will require developing and conducting unit tests, managing the configuration of software stacks, simulating system performance, performing laboratory validation, and documenting code with Integration Control Documents. This is a full-time position based at NRL in Washington, D.C.; however, a significant fraction of the work may be done remotely. Minor travel may be required, of the order of one or two trips per year, of a few days' duration. Basic QualificationsBachelor's degree or higher in science, mathematics, engineering, or a related subjectAt least five (5) years of test and integration experience with a Bachelor's degree, or at least two (2) years of experience with a Master's degree.Expertise with Robotics Operating System – ROS1 (Noetic) and ROS2 (Jazzy or higher)Familiarity with Docker networking (Docker, Docker Compose, Kubernetes); ability to run multi-container frameworks and multi-vehicle simulationsAbility to create custom ROS packages and also integrate off-the-shelf packagesFamiliarity with Git and CICD pipelines (GitLab or GitHub), including issue tracking, unit tests, and software releasesProficiency in Python Desired QualificationsExperience with software/hardware integrationUnderstanding of ROS action interfacesProficiency in C++Experience working with Linux operating systems, in particular UbuntuFamiliarity with Communication Protocols, including TCP/IP, UDPFamiliarity with Delay Tolerant Networking (DTN) protocols Candidate must obtain a SECRET clearance upon hiring. U.S. citizenship is required for DoD contracts.