Skip to content

Robotic-Decision-Making-Lab/underwater_docking

Repository files navigation

Autonomous Underwater Docking using MPC

This package was developed to control a BlueROV2 to perform autonomous underwater docking. This package utilizes Model Predictive Control (MPC) to achieve optimal control of the vehicle.

Getting Started

Docker Installation

  • Install Docker on your system by following the step-by-step guide provided here.
  • To leverage the *-desktop-nvidia image and utilize NVIDIA GPU support, follow this installation guide to set up the NVIDIA Container Toolkit.
  • Use the guide provided here to connect to the GitHub Container Registry.

Development Containers

  • To use Visual Studio Code within development containers, follow the tutorial provided here.
  • Next, clone and open this repository in VSCode.
  • Choose the option to reopen it inside a container when prompted.
  • Once the container is built, you can begin your development.

Usage

  • Before proceeding further, make sure that all the steps mentioned in the guide for Software Setup has been followed.
  • Open a terminal and source the workspace: source ~/ws_dock/devel/setup.bash
  • Run roslaunch docking_control mission_control.launch
    • If the terminal initially outputs Controller error:'joy', move the sticks to clear the error.
    • Press button "A" on the joystick to enable autonomous docking mode.
      • To switch back to manual mode, move either of the sticks in any direction.