From 9dc9ed9e3b8e0f45a223da449b8c3cbf268d748f Mon Sep 17 00:00:00 2001 From: Rakesh Vivekanandan Date: Mon, 10 Jun 2024 14:15:26 -0700 Subject: [PATCH] Modified dockerfile and added "docking_control" ROS noetic pkg --- .devcontainer/nouveau/Dockerfile | 4 +- .devcontainer/nouveau/devcontainer.json | 6 +- .devcontainer/nvidia/Dockerfile | 4 +- .devcontainer/nvidia/devcontainer.json | 6 +- .docker/Dockerfile | 49 +- .dockerignore | 2 +- .github/workflows/ci.yml | 4 +- .github/workflows/docker.yml | 10 +- .gitignore | 6 + README.md | 145 ++- docking_control/CMakeLists.txt | 85 ++ docking_control/config/ardusub_stable.params | 879 ++++++++++++++++++ .../config/aruco_markers/6x6_1000-0.svg | 1 + .../config/aruco_markers/6x6_1000-1.svg | 1 + .../config/aruco_markers/6x6_1000-2.svg | 1 + .../config/aruco_markers/6x6_1000-3.svg | 1 + .../config/aruco_markers/6x6_1000-4.svg | 1 + .../config/aruco_markers/6x6_1000-5.svg | 1 + .../config/aruco_markers/marker_0_30cm.pdf | Bin 0 -> 14455 bytes .../config/aruco_markers/marker_10_10cm.pdf | Bin 0 -> 14747 bytes .../config/aruco_markers/marker_11_10cm.pdf | Bin 0 -> 14606 bytes .../config/aruco_markers/marker_1_20cm.pdf | Bin 0 -> 14423 bytes .../config/aruco_markers/marker_2_10cm.pdf | Bin 0 -> 14471 bytes .../config/aruco_markers/marker_3_5cm.pdf | Bin 0 -> 14275 bytes .../config/aruco_markers/marker_4_15cm.pdf | Bin 0 -> 14194 bytes .../config/aruco_markers/marker_5_25cm.pdf | Bin 0 -> 14260 bytes .../config/aruco_markers/marker_6_5cm.pdf | Bin 0 -> 14816 bytes .../config/aruco_markers/marker_7_5cm.pdf | Bin 0 -> 14605 bytes .../config/aruco_markers/marker_8_5cm.pdf | Bin 0 -> 14754 bytes .../config/aruco_markers/marker_9_10cm.pdf | Bin 0 -> 14723 bytes docking_control/config/auv_bluerov2.yaml | 34 + .../config/auv_bluerov2_heavy.yaml | 29 + docking_control/config/in_air/ost.txt | 30 + docking_control/config/in_air/ost.yaml | 26 + docking_control/config/in_water/ost.txt | 30 + docking_control/config/in_water/ost.yaml | 26 + docking_control/config/manager.yaml | 19 + docking_control/config/marker_offsets | 16 + docking_control/config/mpc_bluerov2.yaml | 38 + .../config/mpc_bluerov2_heavy.yaml | 68 ++ docking_control/data/T200_data.xlsx | Bin 0 -> 101397 bytes docking_control/data/T200_data_16V.csv | 202 ++++ docking_control/data/occ_map.npy | Bin 0 -> 12083328 bytes docking_control/data/occ_map_binary.npy | Bin 0 -> 12083328 bytes docking_control/launch/mav_pluginlists.yaml | 22 + docking_control/launch/mission_control.launch | 85 ++ .../model/bluerov2_heavy/config.xacro | 9 + .../model/bluerov2_heavy/urdf.xacro | 60 ++ docking_control/model/t200/urdf.xacro | 16 + docking_control/package.xml | 55 ++ docking_control/rviz/bluerov.rviz | 202 ++++ docking_control/setup.py | 10 + .../src/docking_control/auto_dock.py | 212 +++++ .../src/docking_control/auv_hinsdale.py | 343 +++++++ .../src/docking_control/manager.py | 344 +++++++ .../src/docking_control/marker_detection.py | 453 +++++++++ .../src/docking_control/mission_control.py | 591 ++++++++++++ .../src/docking_control/mpc_acados.py | 201 ++++ .../src/docking_control/mpc_casadi.py | 182 ++++ .../src/docking_control/pwm_publish_node.py | 44 + docking_control/src/docking_control/video.py | 172 ++++ docking_control/utils/decode_sonar_log.py | 351 +++++++ docking_control/utils/rrt.py | 260 ++++++ docking_control/utils/sonar_to_grid_map.py | 132 +++ example_pkg/CMakeLists.txt | 10 - example_pkg/LICENSE | 28 - example_pkg/package.xml | 18 - requirements-dev.txt | 4 + ros2.repos => ros.repos | 0 69 files changed, 5416 insertions(+), 112 deletions(-) create mode 100644 docking_control/CMakeLists.txt create mode 100644 docking_control/config/ardusub_stable.params create mode 100644 docking_control/config/aruco_markers/6x6_1000-0.svg create mode 100644 docking_control/config/aruco_markers/6x6_1000-1.svg create mode 100644 docking_control/config/aruco_markers/6x6_1000-2.svg create mode 100644 docking_control/config/aruco_markers/6x6_1000-3.svg create mode 100644 docking_control/config/aruco_markers/6x6_1000-4.svg create mode 100644 docking_control/config/aruco_markers/6x6_1000-5.svg create mode 100644 docking_control/config/aruco_markers/marker_0_30cm.pdf create mode 100644 docking_control/config/aruco_markers/marker_10_10cm.pdf create mode 100644 docking_control/config/aruco_markers/marker_11_10cm.pdf create mode 100644 docking_control/config/aruco_markers/marker_1_20cm.pdf create mode 100644 docking_control/config/aruco_markers/marker_2_10cm.pdf create mode 100644 docking_control/config/aruco_markers/marker_3_5cm.pdf create mode 100644 docking_control/config/aruco_markers/marker_4_15cm.pdf create mode 100644 docking_control/config/aruco_markers/marker_5_25cm.pdf create mode 100644 docking_control/config/aruco_markers/marker_6_5cm.pdf create mode 100644 docking_control/config/aruco_markers/marker_7_5cm.pdf create mode 100644 docking_control/config/aruco_markers/marker_8_5cm.pdf create mode 100644 docking_control/config/aruco_markers/marker_9_10cm.pdf create mode 100644 docking_control/config/auv_bluerov2.yaml create mode 100644 docking_control/config/auv_bluerov2_heavy.yaml create mode 100644 docking_control/config/in_air/ost.txt create mode 100644 docking_control/config/in_air/ost.yaml create mode 100644 docking_control/config/in_water/ost.txt create mode 100644 docking_control/config/in_water/ost.yaml create mode 100644 docking_control/config/manager.yaml create mode 100644 docking_control/config/marker_offsets create mode 100644 docking_control/config/mpc_bluerov2.yaml create mode 100644 docking_control/config/mpc_bluerov2_heavy.yaml create mode 100644 docking_control/data/T200_data.xlsx create mode 100644 docking_control/data/T200_data_16V.csv create mode 100644 docking_control/data/occ_map.npy create mode 100644 docking_control/data/occ_map_binary.npy create mode 100644 docking_control/launch/mav_pluginlists.yaml create mode 100644 docking_control/launch/mission_control.launch create mode 100644 docking_control/model/bluerov2_heavy/config.xacro create mode 100644 docking_control/model/bluerov2_heavy/urdf.xacro create mode 100644 docking_control/model/t200/urdf.xacro create mode 100644 docking_control/package.xml create mode 100644 docking_control/rviz/bluerov.rviz create mode 100644 docking_control/setup.py create mode 100755 docking_control/src/docking_control/auto_dock.py create mode 100755 docking_control/src/docking_control/auv_hinsdale.py create mode 100755 docking_control/src/docking_control/manager.py create mode 100755 docking_control/src/docking_control/marker_detection.py create mode 100755 docking_control/src/docking_control/mission_control.py create mode 100755 docking_control/src/docking_control/mpc_acados.py create mode 100755 docking_control/src/docking_control/mpc_casadi.py create mode 100644 docking_control/src/docking_control/pwm_publish_node.py create mode 100755 docking_control/src/docking_control/video.py create mode 100755 docking_control/utils/decode_sonar_log.py create mode 100644 docking_control/utils/rrt.py create mode 100644 docking_control/utils/sonar_to_grid_map.py delete mode 100644 example_pkg/CMakeLists.txt delete mode 100644 example_pkg/LICENSE delete mode 100644 example_pkg/package.xml rename ros2.repos => ros.repos (100%) diff --git a/.devcontainer/nouveau/Dockerfile b/.devcontainer/nouveau/Dockerfile index eb09636..3b6f1ea 100644 --- a/.devcontainer/nouveau/Dockerfile +++ b/.devcontainer/nouveau/Dockerfile @@ -1,10 +1,10 @@ -FROM ghcr.io/robotic-decision-making-lab/ros-template:noetic-desktop +FROM ghcr.io/robotic-decision-making-lab/underwater_docking:noetic-desktop # Install ROS dependencies # This is done in a previous stage, but we include it again here in case anyone wants to # add new dependencies during development ENV USERNAME=ros -ENV USER_WORKSPACE=/home/$USERNAME/ws_ros +ENV USER_WORKSPACE=/home/$USERNAME/ws_dock WORKDIR $USER_WORKSPACE COPY --chown=$USER_UID:$USER_GID . src/$PROJECT_NAME diff --git a/.devcontainer/nouveau/devcontainer.json b/.devcontainer/nouveau/devcontainer.json index bdcb952..6a51453 100644 --- a/.devcontainer/nouveau/devcontainer.json +++ b/.devcontainer/nouveau/devcontainer.json @@ -1,9 +1,9 @@ { - "name": "ROS Dev Container", + "name": "nouveau", "dockerFile": "Dockerfile", "context": "../..", - "workspaceMount": "source=${localWorkspaceFolder},target=/home/ros/ws_ros/src/ros-template,type=bind", - "workspaceFolder": "/home/ros/ws_ros/src/ros-template", + "workspaceMount": "source=${localWorkspaceFolder},target=/home/ros/ws_dock/src/underwater_docking,type=bind", + "workspaceFolder": "/home/ros/ws_dock/src/underwater_docking", "remoteUser": "ros", "runArgs": [ "--network=host", diff --git a/.devcontainer/nvidia/Dockerfile b/.devcontainer/nvidia/Dockerfile index 1d2f330..d1140a7 100644 --- a/.devcontainer/nvidia/Dockerfile +++ b/.devcontainer/nvidia/Dockerfile @@ -1,10 +1,10 @@ -FROM ghcr.io/robotic-decision-making-lab/ros-template:noetic-desktop-nvidia +FROM ghcr.io/robotic-decision-making-lab/underwater_docking:noetic-desktop-nvidia # Install ROS dependencies # This is done in a previous stage, but we include it again here in case anyone wants to # add new dependencies during development ENV USERNAME=ros -ENV USER_WORKSPACE=/home/$USERNAME/ws_ros +ENV USER_WORKSPACE=/home/$USERNAME/ws_dock WORKDIR $USER_WORKSPACE COPY --chown=$USER_UID:$USER_GID . src/$PROJECT_NAME diff --git a/.devcontainer/nvidia/devcontainer.json b/.devcontainer/nvidia/devcontainer.json index 038ac6d..7514e51 100644 --- a/.devcontainer/nvidia/devcontainer.json +++ b/.devcontainer/nvidia/devcontainer.json @@ -1,9 +1,9 @@ { - "name": "ROS NVIDIA Dev Container", + "name": "nvidia", "dockerFile": "Dockerfile", "context": "../..", - "workspaceMount": "source=${localWorkspaceFolder},target=/home/ros/ws_ros/src/ros-template,type=bind", - "workspaceFolder": "/home/ros/ws_ros/src/ros-template", + "workspaceMount": "source=${localWorkspaceFolder},target=/home/ros/ws_dock/src/underwater_docking,type=bind", + "workspaceFolder": "/home/ros/ws_dock/src/underwater_docking", "remoteUser": "ros", "runArgs": [ "--network=host", diff --git a/.docker/Dockerfile b/.docker/Dockerfile index de3296c..8d4dbb5 100644 --- a/.docker/Dockerfile +++ b/.docker/Dockerfile @@ -2,10 +2,10 @@ ARG ROS_DISTRO=noetic FROM ros:$ROS_DISTRO-ros-base as ci ENV DEBIAN_FRONTEND=noninteractive -WORKDIR /root/ws_ros +WORKDIR /root/ws_dock # Update to be your project's name -ENV PROJECT_NAME=ros-template +ENV PROJECT_NAME=underwater_docking COPY . src/$PROJECT_NAME @@ -21,6 +21,14 @@ RUN apt-get -q update \ clang-tools \ python3-pip \ python3-dev \ + python3-rosdep \ + python3-rosinstall \ + python3-rosinstall-generator \ + python3-wstool \ + python3-catkin-tools \ + build-essential \ + nano \ + vim \ apt-utils \ software-properties-common \ && apt-get autoremove -y \ @@ -56,13 +64,36 @@ USER $USERNAME ENV USER=$USERNAME ENV DEBIAN_FRONTEND=noninteractive -ENV USER_WORKSPACE=/home/$USERNAME/ws_ros -WORKDIR $USER_WORKSPACE +# Install MAVROS dependencies +WORKDIR /home/$USERNAME +RUN wget https://raw.githubusercontent.com/mavlink/mavros/ros2/mavros/scripts/install_geographiclib_datasets.sh \ + && chmod +x install_geographiclib_datasets.sh \ + && sudo ./install_geographiclib_datasets.sh + +# Install acados +WORKDIR /home/$USERNAME +RUN git clone https://github.com/acados/acados.git \ + && cd acados \ + && git submodule update --recursive --init \ + && mkdir -p build \ + && cd build \ + && cmake -DACADOS_WITH_QPOASES=ON -DACADOS_WITH_OSQP=ON ..\ + && make install -j4 + +# Install acados python interface +WORKDIR /home/$USERNAME +RUN pip install -e /home/$USERNAME/acados/interfaces/acados_template \ + && export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"/home/$USERNAME/acados/lib" \ + && export ACADOS_SOURCE_DIR="/home/$USERNAME/acados" + + +ENV USER_WORKSPACE=/home/$USERNAME/ws_dock +WORKDIR $USER_WORKSPACE COPY --chown=$USER_UID:$USER_GID . src/$PROJECT_NAME # Uncomment to download and install external repos used by the project -# RUN vcs import src < src/$PROJECT_NAME/ros2.repos +# RUN vcs import src < src/$PROJECT_NAME/ros.repos # Install all ROS dependencies WORKDIR $USER_WORKSPACE @@ -83,16 +114,16 @@ RUN . "/opt/ros/${ROS_DISTRO}/setup.sh" \ FROM robot as desktop ENV DEBIAN_FRONTEND=noninteractive -ENV USER_WORKSPACE=/home/$USERNAME/ws_ros +ENV USER_WORKSPACE=/home/$USERNAME/ws_dock WORKDIR $USER_WORKSPACE -# Install Gazebo packages +# Install Gazebo and RViz RUN sudo apt-get update \ && sudo apt-get -q -y upgrade \ && curl -sSL http://get.gazebosim.org | sh \ && sudo apt-get -q install --no-install-recommends -y \ - ros-$ROS_DISTRO-gazebo-ros-pkgs \ - ros-$ROS_DISTRO-gazebo-ros-control \ + ros-$ROS_DISTRO-gazebo* \ + ros-$ROS_DISTRO-rviz \ && sudo apt-get autoremove -y \ && sudo apt-get clean -y \ && sudo rm -rf /var/lib/apt/lists/* diff --git a/.dockerignore b/.dockerignore index 4cbe360..acc8786 100644 --- a/.dockerignore +++ b/.dockerignore @@ -5,4 +5,4 @@ !requirements-dev.txt # Allow your ROS packages here, e.g.: -!example_pkg +!bluerov2_docking diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5a292ce..f1b3b75 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,7 +13,7 @@ env: jobs: test: name: Test Implementation - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 strategy: fail-fast: false @@ -37,7 +37,7 @@ jobs: - name: Run ROS Industrial CI uses: ros-industrial/industrial_ci@master env: - DOCKER_IMAGE: ghcr.io/robotic-decision-making-lab/ros-template:${{ matrix.env.IMAGE }} + DOCKER_IMAGE: ghcr.io/robotic-decision-making-lab/underwater_docking:${{ matrix.env.IMAGE }} CXXFLAGS: >- -Wall -Wextra -Wpedantic -Wwrite-strings -Wunreachable-code -Wpointer-arith -Wredundant-decls CC: ${{ env.CLANG_TIDY && 'clang' }} diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 94bd8bc..52df8e6 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -11,7 +11,7 @@ on: workflow_dispatch: env: - PUSH: ${{ (github.event_name != 'pull_request') && (github.repository == 'robotic-decision-making-lab/ros-template') }} + PUSH: ${{ (github.event_name != 'pull_request') && (github.repository == 'robotic-decision-making-lab/underwater_docking') }} jobs: ci: @@ -19,7 +19,7 @@ jobs: fail-fast: false matrix: ROS_DISTRO: [noetic] - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 permissions: packages: write contents: read @@ -60,7 +60,7 @@ jobs: fail-fast: false matrix: ROS_DISTRO: [noetic] - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 permissions: packages: write contents: read @@ -108,7 +108,7 @@ jobs: fail-fast: false matrix: ROS_DISTRO: [noetic] - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 permissions: packages: write contents: read @@ -149,7 +149,7 @@ jobs: fail-fast: false matrix: ROS_DISTRO: [noetic] - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 permissions: packages: write contents: read diff --git a/.gitignore b/.gitignore index 6f087a1..9b6ce7b 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,9 @@ devel install log + +*.tar.gz +*.png +*.pyc +*.bag +.DS_Store diff --git a/README.md b/README.md index 71f5d92..240bbba 100644 --- a/README.md +++ b/README.md @@ -1,39 +1,126 @@ -# ROS Project Template +# docking_control -Setting up a new ROS project often requires a significant amount of -preparation and boilerplate configuration, costing you valuable robot -development time 🤖. Recognizing this, we have put together this template -repository configured with a ROS development environment, continuous -integration, and more. This project is the result of much trial and error -across many projects, and we hope that this helps you save some effort in -setting up your own projects. +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. -## Features +This repository is a modified version of the [bluerov_ros_playground](https://github.com/patrickelectric/bluerov_ros_playground) repo authored by [patrickelectric](https://github.com/patrickelectric). -The main features of this template are: +## Getting Started -- A development environment for Visual Studio Code including a [development container](https://code.visualstudio.com/docs/devcontainers/containers) -and configurations for linting and auto-formatting your code -- Docker images that support deployment to a variety of systems (e.g., arm64 -systems) -- Continuous integration and deployment pipelines using GitHub Actions -- GitHub Issue and Pull Request templates +### Requirements -## Quick start +- [Python](https://www.python.org/downloads/) 3.6 or newer + - [Numpy](https://pypi.org/project/numpy/) + - [OpenCV](https://pypi.org/project/opencv-python/) + - [PyYAML](https://pypi.org/project/PyYAML/) + - [Gi & Gobject](https://wiki.ubuntu.com/Novacut/GStreamer1.0) + - [CasADi](https://pypi.org/project/casadi/) + - [acados](https://docs.acados.org/index.html) + - [Pandas](https://pypi.org/project/pandas/) +- [ROS](http://wiki.ros.org/ROS/Installation) + - kinetic or newer +- Geographlib +- [imutils](https://github.com/PyImageSearch/imutils) +- [MAVROS](http://wiki.ros.org/mavros) -Using this template is as easy as 1, 2, 3... +### Installation -1. Use this repository [as a template](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template) -for your project -2. Replace all instances of "ros-template" with your own project's name and all -instances of "robotic-decision-making-lab" with your own user's name -3. Replace the source code with your own project! +#### Installing ROS: *Ubuntu 20.04* (See [ROS wiki](http://wiki.ros.org/ROS/Installation) for other OS) -Feel free to remove any unused configurations/pipelines and to adjust things as -you see fit for your project! +1. Set up sources.list + - `sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'` +2. Set up keys + - `sudo apt install curl` + - `curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -` +3. Installation + - `sudo apt update` + - Pick how much ROS you want to install: must be either Desktop or Desktop-Full + - ROS Desktop (includes rqt and rviz) + - `sudo apt install ros-noetic-desktop` + - Desktop-Full (includes Desktop and 2D/3D simulators) + - `sudo apt install ros-noetic-desktop-full` +4. Set up environment + - You must source this script in every bash terminal you use ROS in + - `source /opt/ros/noetic/setup.bash` + - To automatically source this script every time a new shell is launched, run + - `echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc` + - `source ~/.bashrc` + - Check that *source /opt/ros/noetic/setup.bash* has been added to the end of .bashrc +5. Install dependencies for building packages + - `sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential` +6. Initialize rosdep + - `sudo apt install python3-rosdep` + - `sudo rosdep init` + - `rosdep update` -## Getting help +#### Building a Catkin Workspace -If you have questions regarding usage of this project or would like to -contribute, please ask a question on our [Discussions](https://github.com/Robotic-Decision-Making-Lab/ros-template/discussions) -board! +1. Create and build workspace + - `mkdir -p ~/catkin_ws/src` + - `cd ~/catkin_ws/` + - `catkin_make` + - This will create a workspace with 'build', 'devel', and 'src' folders and a *CMakeLists.txt* in 'src' +2. Source + - `source devel/setup.bash` + - To automatically source this script every time a new shell is launched, run + - `echo "source /home//catkin_ws/devel/setup.bash" >> ~/.bashrc` + - `source ~/.bashrc` + - Check that *source /home/< username>/catkin_ws/devel/setup.bash* has been added to the end of .bashrc +3. Make sure the ROS_PACKAGE_PATH includes the directory + - `echo $ROS_PACKAGE_PATH` + /home/youruser/catkin_ws/src:/opt/ros/noetic/share + +#### Installing CasADi + +`pip install casadi` + +#### Installing acados + +Please follow the instructions provided in the following two links: + +- [Source Installation](https://docs.acados.org/installation/index.html) +- [Python Interface](https://docs.acados.org/python_interface/) + +#### Installing MAVROS + +`sudo apt-get install ros-noetic-mavros ros-noetic-mavros-extras` + +#### Installing Geographlib + +`sudo /opt/ros/noetic/lib/mavros/install_geographiclib_datasets.sh` + +#### Installing imutils + +`pip install imutils` + +#### Installing Pandas + +`pip install pandas` + +#### Installing OpenCV + +1. Make sure python-opencv is not installed + - `pip uninstall opencv-python` +2. Install opencv-contrib-python + - `pip install opencv-contrib-python` + +#### Cloning Project + + 1. Go to your ROS package source directory: + - `cd catkin_ws/src` + 2. Clone this project + - `git clone https://github.com/rakeshv24/bluerov2_dock` + 3. Go back to your workspace: + - `cd ../` + 4. Build and install the project: + - `catkin_make --pkg bluerov2_dock` + 5. Reload your ROS env. + - `source devel/setup.sh` + +## Usage + +- Before proceeding further, make sure that all the steps mentioned in the guide for [Software Setup](https://bluerobotics.com/learn/bluerov2-software-setup +) has been followed. +- From a terminal, run `roslaunch bluerov2_dock 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. diff --git a/docking_control/CMakeLists.txt b/docking_control/CMakeLists.txt new file mode 100644 index 0000000..4137651 --- /dev/null +++ b/docking_control/CMakeLists.txt @@ -0,0 +1,85 @@ +cmake_minimum_required(VERSION 3.0.2) +project(docking_control) + +## Compile as C++11, supported in ROS Kinetic and newer +add_compile_options(-std=c++11) # -g for gdb +# set(CMAKE_BUILD_TYPE "Debug") + +## Find catkin macros and libraries +## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) +## is used, also find other catkin packages +find_package(catkin REQUIRED COMPONENTS + roscpp + rospy + std_msgs + sensor_msgs + geometry_msgs + mavros_msgs + tf2_geometry_msgs + nav_msgs + tf2 + tf2_ros) + +# find_package(octomap REQUIRED) +# find_package(ompl REQUIRED) +# find_package(fcl REQUIRED) +# find_package(Eigen3 REQUIRED) + +## System dependencies are found with CMake's conventions +# find_package(Boost REQUIRED COMPONENTS system) + +## Uncomment this if the package has a setup.py. This macro ensures +## modules and global scripts declared therein get installed +## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html +catkin_python_setup() + +################################### +## catkin specific configuration ## +################################### +## The catkin_package macro generates cmake config files for your package +## Declare things to be passed to dependent projects +## INCLUDE_DIRS: uncomment this if your package contains header files +## LIBRARIES: libraries you create in this project that dependent projects also need +## CATKIN_DEPENDS: catkin_packages dependent projects also need +## DEPENDS: system dependencies of this project that dependent projects also need +catkin_package( +# INCLUDE_DIRS include +# LIBRARIES docking_control + CATKIN_DEPENDS roscpp rospy std_msgs message_runtime +# DEPENDS system_lib +) + +########### +## Build ## +########### + +## Specify additional locations of header files +## Your package locations should be listed before other locations +include_directories( +# include +${catkin_INCLUDE_DIRS} +) + +## Mark executable scripts (Python etc.) for installation +## in contrast to setup.py, you can choose the destination +catkin_install_python(PROGRAMS + src/docking_control/mission_control.py + src/docking_control/pwm_publish_node.py + src/docking_control/video.py + src/docking_control/manager.py + src/docking_control/auto_dock.py + src/docking_control/mpc_casadi.py + src/docking_control/mpc_acados.py + src/docking_control/auv_hinsdale.py + src/docking_control/marker_detection.py + DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} +) + + +## Mark other files for installation (e.g. launch and bag files, etc.) +install(FILES + launch/mission_control.launch + launch/mav_pluginlists.yaml + DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/launch +) + diff --git a/docking_control/config/ardusub_stable.params b/docking_control/config/ardusub_stable.params new file mode 100644 index 0000000..259baae --- /dev/null +++ b/docking_control/config/ardusub_stable.params @@ -0,0 +1,879 @@ +# Date: Thu Aug 24 2023 18:49:24 GMT-0700 (Pacific Daylight Time) +# Vehicle: Submarine +# Platform: navigator +# Version: 4.1.0-STABLE + +# Parameters +ACRO_BAL_PITCH 1 +ACRO_BAL_ROLL 1 +ACRO_EXPO 0.3 +ACRO_RP_P 4.5 +ACRO_TRAINER 2 +ACRO_YAW_P 3.375 +AHRS_COMP_BETA 0.1 +AHRS_CUSTOM_PIT 0 +AHRS_CUSTOM_ROLL 0 +AHRS_CUSTOM_YAW 0 +AHRS_EKF_TYPE 3 +AHRS_GPS_GAIN 1 +AHRS_GPS_MINSATS 6 +AHRS_GPS_USE 1 +AHRS_ORIENTATION 16 +AHRS_RP_P 0.2 +AHRS_TRIM_X 0.0077 +AHRS_TRIM_Y -0.0135 +AHRS_TRIM_Z 0 +AHRS_WIND_MAX 0 +AHRS_YAW_P 0.2 +ANGLE_MAX 4500 +ARMING_ACCTHRESH 0.75 +ARMING_CHECK 448 +ARMING_MIS_ITEMS 0 +ARSPD_TYPE 0 +ATC_ACCEL_P_MAX 110000 +ATC_ACCEL_R_MAX 110000 +ATC_ACCEL_Y_MAX 110000 +ATC_ANGLE_BOOST 1 +ATC_ANG_LIM_TC 1 +ATC_ANG_PIT_P 6 +ATC_ANG_RLL_P 6 +ATC_ANG_YAW_P 6 +ATC_INPUT_TC 0.15 +ATC_RATE_FF_ENAB 1 +ATC_RATE_P_MAX 0 +ATC_RATE_R_MAX 0 +ATC_RATE_Y_MAX 0 +ATC_RAT_PIT_D 0.0036 +ATC_RAT_PIT_FF 0 +ATC_RAT_PIT_FLTD 30 +ATC_RAT_PIT_FLTE 0 +ATC_RAT_PIT_FLTT 30 +ATC_RAT_PIT_I 0.09 +ATC_RAT_PIT_IMAX 0.444 +ATC_RAT_PIT_P 0.135 +ATC_RAT_PIT_SMAX 0 +ATC_RAT_RLL_D 0.0036 +ATC_RAT_RLL_FF 0 +ATC_RAT_RLL_FLTD 30 +ATC_RAT_RLL_FLTE 0 +ATC_RAT_RLL_FLTT 30 +ATC_RAT_RLL_I 0.09 +ATC_RAT_RLL_IMAX 0.444 +ATC_RAT_RLL_P 0.135 +ATC_RAT_RLL_SMAX 0 +ATC_RAT_YAW_D 0 +ATC_RAT_YAW_FF 0 +ATC_RAT_YAW_FLTD 5 +ATC_RAT_YAW_FLTE 0 +ATC_RAT_YAW_FLTT 5 +ATC_RAT_YAW_I 0.018 +ATC_RAT_YAW_IMAX 0.222 +ATC_RAT_YAW_P 0.18 +ATC_RAT_YAW_SMAX 0 +ATC_SLEW_YAW 6000 +ATC_THR_MIX_MAN 0.1 +ATC_THR_MIX_MAX 0.5 +ATC_THR_MIX_MIN 0.1 +BARO1_WCF_ENABLE 0 +BARO2_WCF_ENABLE 0 +BARO3_WCF_ENABLE 0 +BARO_ALT_OFFSET 0 +BARO_EXT_BUS 6 +BARO_FLTR_RNG 0 +BARO_GND_TEMP 0 +BARO_PRIMARY 1 +BARO_PROBE_EXT 0 +BARO_SPEC_GRAV 1 +BATT2_MONITOR 0 +BATT3_MONITOR 0 +BATT4_MONITOR 0 +BATT5_MONITOR 0 +BATT6_MONITOR 0 +BATT7_MONITOR 0 +BATT8_MONITOR 0 +BATT9_MONITOR 0 +BATT_AMP_OFFSET 0.33 +BATT_AMP_PERVLT 37.8788 +BATT_ARM_MAH 0 +BATT_ARM_VOLT 14.8 +BATT_BUS 0 +BATT_CAPACITY 15600 +BATT_CRT_MAH 0 +BATT_CRT_VOLT 0 +BATT_CURR_PIN 4 +BATT_FS_CRT_ACT 0 +BATT_FS_LOW_ACT 0 +BATT_FS_VOLTSRC 0 +BATT_LOW_MAH 0 +BATT_LOW_TIMER 10 +BATT_LOW_VOLT 0 +BATT_MONITOR 4 +BATT_OPTIONS 0 +BATT_SERIAL_NUM -1 +BATT_VOLT_MULT 11 +BATT_VOLT_PIN 5 +BRD_ALT_CONFIG 0 +BRD_BOOT_DELAY 0 +BRD_OPTIONS 0 +BRD_PWM_COUNT 8 +BRD_RTC_TYPES 1 +BRD_RTC_TZ_MIN 0 +BRD_SAFETYOPTION 3 +BRD_SERIAL_NUM 0 +BRD_VBUS_MIN 4.3 +BTN0_FUNCTION 1 +BTN0_SFUNCTION 0 +BTN10_FUNCTION 23 +BTN10_SFUNCTION 80 +BTN11_FUNCTION 42 +BTN11_SFUNCTION 47 +BTN12_FUNCTION 43 +BTN12_SFUNCTION 46 +BTN13_FUNCTION 33 +BTN13_SFUNCTION 45 +BTN14_FUNCTION 32 +BTN14_SFUNCTION 44 +BTN15_FUNCTION 0 +BTN15_SFUNCTION 0 +BTN1_FUNCTION 5 +BTN1_SFUNCTION 0 +BTN2_FUNCTION 7 +BTN2_SFUNCTION 0 +BTN3_FUNCTION 6 +BTN3_SFUNCTION 0 +BTN4_FUNCTION 4 +BTN4_SFUNCTION 0 +BTN5_FUNCTION 1 +BTN5_SFUNCTION 0 +BTN6_FUNCTION 3 +BTN6_SFUNCTION 0 +BTN7_FUNCTION 21 +BTN7_SFUNCTION 0 +BTN8_FUNCTION 48 +BTN8_SFUNCTION 0 +BTN9_FUNCTION 22 +BTN9_SFUNCTION 81 +CAM_RC_TYPE 0 +CIRCLE_OPTIONS 1 +CIRCLE_RADIUS 1000 +CIRCLE_RATE 2 +COMPASS_AUTODEC 0 +COMPASS_AUTO_ROT 2 +COMPASS_CAL_FIT 16 +COMPASS_CUS_PIT 0 +COMPASS_CUS_ROLL 0 +COMPASS_CUS_YAW 0 +COMPASS_DEC 0.2618 +COMPASS_DIA2_X 0.964 +COMPASS_DIA2_Y 1.0399 +COMPASS_DIA2_Z 0.9338 +COMPASS_DIA3_X 0 +COMPASS_DIA3_Y 0 +COMPASS_DIA3_Z 0 +COMPASS_DIA_X 0.9865 +COMPASS_DIA_Y 1.0249 +COMPASS_DIA_Z 0.9847 +COMPASS_ENABLE 1 +COMPASS_EXTERN2 0 +COMPASS_EXTERN3 0 +COMPASS_EXTERNAL 0 +COMPASS_FLTR_RNG 0 +COMPASS_LEARN 0 +COMPASS_MOT2_X 0 +COMPASS_MOT2_Y 0 +COMPASS_MOT2_Z 0 +COMPASS_MOT3_X 0 +COMPASS_MOT3_Y 0 +COMPASS_MOT3_Z 0 +COMPASS_MOTCT 0 +COMPASS_MOT_X 0 +COMPASS_MOT_Y 0 +COMPASS_MOT_Z 0 +COMPASS_ODI2_X 0 +COMPASS_ODI2_Y 0 +COMPASS_ODI2_Z 0 +COMPASS_ODI3_X 0 +COMPASS_ODI3_Y 0 +COMPASS_ODI3_Z 0 +COMPASS_ODI_X 0 +COMPASS_ODI_Y 0 +COMPASS_ODI_Z 0 +COMPASS_OFFS_MAX 1000 +COMPASS_OFS2_X 102.5391 +COMPASS_OFS2_Y 113.461 +COMPASS_OFS2_Z 491.4992 +COMPASS_OFS3_X 0 +COMPASS_OFS3_Y 0 +COMPASS_OFS3_Z 0 +COMPASS_OFS_X -22.4765 +COMPASS_OFS_Y 246.6264 +COMPASS_OFS_Z 172.0504 +COMPASS_OPTIONS 0 +COMPASS_ORIENT 0 +COMPASS_ORIENT2 0 +COMPASS_ORIENT3 0 +COMPASS_PMOT_EN 0 +COMPASS_PRIO1_ID 1379337 +COMPASS_PRIO2_ID 1245450 +COMPASS_PRIO3_ID 0 +COMPASS_SCALE 0 +COMPASS_SCALE2 0 +COMPASS_SCALE3 0 +COMPASS_TYPEMASK 0 +COMPASS_USE 1 +COMPASS_USE2 1 +COMPASS_USE3 1 +EAHRS_TYPE 0 +EK2_ENABLE 0 +EK3_ABIAS_P_NSE 0.003 +EK3_ACC_BIAS_LIM 1 +EK3_ACC_P_NSE 0.35 +EK3_AFFINITY 0 +EK3_ALT_M_NSE 0.1 +EK3_BCN_DELAY 50 +EK3_BCN_I_GTE 500 +EK3_BCN_M_NSE 1 +EK3_BETA_MASK 0 +EK3_CHECK_SCALE 100 +EK3_DRAG_BCOEF_X 0 +EK3_DRAG_BCOEF_Y 0 +EK3_DRAG_MCOEF 0 +EK3_DRAG_M_NSE 0.5 +EK3_EAS_I_GATE 400 +EK3_EAS_M_NSE 1.4 +EK3_ENABLE 1 +EK3_ERR_THRESH 0.2 +EK3_FLOW_DELAY 10 +EK3_FLOW_I_GATE 300 +EK3_FLOW_M_NSE 0.25 +EK3_FLOW_USE 1 +EK3_GBIAS_P_NSE 0.001 +EK3_GLITCH_RAD 25 +EK3_GND_EFF_DZ 4 +EK3_GPS_CHECK 31 +EK3_GSF_RST_MAX 2 +EK3_GSF_RUN_MASK 3 +EK3_GSF_USE_MASK 3 +EK3_GYRO_P_NSE 0.015 +EK3_HGT_DELAY 60 +EK3_HGT_I_GATE 500 +EK3_HRT_FILT 2 +EK3_IMU_MASK 1 +EK3_MAGB_P_NSE 0.0001 +EK3_MAGE_P_NSE 0.001 +EK3_MAG_CAL 3 +EK3_MAG_EF_LIM 50 +EK3_MAG_I_GATE 300 +EK3_MAG_MASK 0 +EK3_MAG_M_NSE 0.05 +EK3_MAX_FLOW 2.5 +EK3_NOAID_M_NSE 10 +EK3_OGNM_TEST_SF 2 +EK3_OGN_HGT_MASK 0 +EK3_POSNE_M_NSE 0.5 +EK3_POS_I_GATE 500 +EK3_PRIMARY 0 +EK3_RNG_I_GATE 500 +EK3_RNG_M_NSE 0.5 +EK3_RNG_USE_HGT -1 +EK3_RNG_USE_SPD 2 +EK3_SRC1_POSXY 6 +EK3_SRC1_POSZ 1 +EK3_SRC1_VELXY 6 +EK3_SRC1_VELZ 3 +EK3_SRC1_YAW 1 +EK3_SRC2_POSXY 0 +EK3_SRC2_POSZ 1 +EK3_SRC2_VELXY 0 +EK3_SRC2_VELZ 0 +EK3_SRC2_YAW 1 +EK3_SRC3_POSXY 0 +EK3_SRC3_POSZ 1 +EK3_SRC3_VELXY 0 +EK3_SRC3_VELZ 0 +EK3_SRC3_YAW 0 +EK3_SRC_OPTIONS 1 +EK3_TAU_OUTPUT 25 +EK3_TERR_GRAD 0.1 +EK3_VELD_M_NSE 0.7 +EK3_VELNE_M_NSE 0.5 +EK3_VEL_I_GATE 500 +EK3_VIS_VERR_MAX 0.9 +EK3_VIS_VERR_MIN 0.1 +EK3_WENC_VERR 0.1 +EK3_WIND_PSCALE 1 +EK3_WIND_P_NSE 0.1 +EK3_YAW_I_GATE 300 +EK3_YAW_M_NSE 0.5 +FENCE_ACTION 1 +FENCE_ALT_MAX 100 +FENCE_ALT_MIN -10 +FENCE_ENABLE 0 +FENCE_MARGIN 2 +FENCE_RADIUS 300 +FENCE_TOTAL 0 +FENCE_TYPE 7 +FRAME_CONFIG 2 +FRSKY_DNLINK1_ID 20 +FRSKY_DNLINK2_ID 7 +FRSKY_DNLINK_ID 27 +FRSKY_UPLINK_ID 13 +FS_CRASH_CHECK 0 +FS_EKF_ACTION 0 +FS_EKF_THRESH 0.8 +FS_GCS_ENABLE 2 +FS_LEAK_ENABLE 1 +FS_PILOT_INPUT 2 +FS_PILOT_TIMEOUT 3 +FS_PRESS_ENABLE 0 +FS_PRESS_MAX 105000 +FS_TEMP_ENABLE 0 +FS_TEMP_MAX 62 +FS_TERRAIN_ENAB 0 +GCS_PID_MASK 0 +GEN_TYPE 0 +GPS_AUTO_CONFIG 1 +GPS_AUTO_SWITCH 1 +GPS_BLEND_MASK 5 +GPS_BLEND_TC 10 +GPS_COM_PORT 1 +GPS_COM_PORT2 1 +GPS_DELAY_MS 0 +GPS_DELAY_MS2 0 +GPS_DRV_OPTIONS 0 +GPS_GNSS_MODE 0 +GPS_GNSS_MODE2 0 +GPS_INJECT_TO 127 +GPS_MB1_TYPE 0 +GPS_MB2_TYPE 0 +GPS_MIN_DGPS 100 +GPS_MIN_ELEV -100 +GPS_NAVFILTER 8 +GPS_POS1_X 0 +GPS_POS1_Y 0 +GPS_POS1_Z 0 +GPS_POS2_X 0 +GPS_POS2_Y 0 +GPS_POS2_Z 0 +GPS_PRIMARY 0 +GPS_RATE_MS 200 +GPS_RATE_MS2 200 +GPS_RAW_DATA 0 +GPS_SAVE_CFG 2 +GPS_SBAS_MODE 2 +GPS_SBP_LOGMASK -256 +GPS_TYPE 1 +GPS_TYPE2 0 +INS_ACC1_CALTEMP 49.0457 +INS_ACC2OFFS_X 0 +INS_ACC2OFFS_Y 0 +INS_ACC2OFFS_Z 0 +INS_ACC2SCAL_X 0 +INS_ACC2SCAL_Y 0 +INS_ACC2SCAL_Z 0 +INS_ACC2_CALTEMP -300 +INS_ACC3OFFS_X 0 +INS_ACC3OFFS_Y 0 +INS_ACC3OFFS_Z 0 +INS_ACC3SCAL_X 0 +INS_ACC3SCAL_Y 0 +INS_ACC3SCAL_Z 0 +INS_ACC3_CALTEMP -300 +INS_ACCEL_FILTER 20 +INS_ACCOFFS_X 0.0737 +INS_ACCOFFS_Y -0.0699 +INS_ACCOFFS_Z 0.2093 +INS_ACCSCAL_X 1.0001 +INS_ACCSCAL_Y 1.0336 +INS_ACCSCAL_Z 0.9988 +INS_ACC_BODYFIX 2 +INS_ENABLE_MASK 127 +INS_FAST_SAMPLE 1 +INS_GYR1_CALTEMP 48.1048 +INS_GYR2OFFS_X 0 +INS_GYR2OFFS_Y 0 +INS_GYR2OFFS_Z 0 +INS_GYR2_CALTEMP -300 +INS_GYR3OFFS_X 0 +INS_GYR3OFFS_Y 0 +INS_GYR3OFFS_Z 0 +INS_GYR3_CALTEMP -300 +INS_GYROFFS_X 0.0005 +INS_GYROFFS_Y -0.0091 +INS_GYROFFS_Z 0.0011 +INS_GYRO_FILTER 20 +INS_GYRO_RATE 0 +INS_GYR_CAL 0 +INS_HNTCH_ENABLE 0 +INS_LOG_BAT_CNT 1024 +INS_LOG_BAT_LGCT 32 +INS_LOG_BAT_LGIN 20 +INS_LOG_BAT_MASK 0 +INS_LOG_BAT_OPT 0 +INS_NOTCH_ENABLE 0 +INS_POS1_X 0 +INS_POS1_Y 0 +INS_POS1_Z 0 +INS_POS2_X 0 +INS_POS2_Y 0 +INS_POS2_Z 0 +INS_POS3_X 0 +INS_POS3_Y 0 +INS_POS3_Z 0 +INS_STILL_THRESH 0.1 +INS_TCAL1_ENABLE 0 +INS_TCAL2_ENABLE 0 +INS_TCAL3_ENABLE 0 +INS_TCAL_OPTIONS 0 +INS_TRIM_OPTION 1 +INS_USE 1 +INS_USE2 1 +INS_USE3 1 +JS_GAIN_DEFAULT 0.5 +JS_GAIN_MAX 1 +JS_GAIN_MIN 0.25 +JS_GAIN_STEPS 4 +JS_LIGHTS_STEPS 8 +JS_THR_GAIN 1 +LEAK1_LOGIC 0 +LEAK1_PIN 27 +LEAK2_LOGIC 0 +LEAK2_PIN -1 +LEAK3_LOGIC 0 +LEAK3_PIN -1 +LOG_BACKEND_TYPE 1 +LOG_BITMASK 176126 +LOG_DISARMED 0 +LOG_FILE_BUFSIZE 200 +LOG_FILE_DSRMROT 0 +LOG_FILE_MB_FREE 500 +LOG_FILE_TIMEOUT 5 +LOG_MAV_BUFSIZE 8 +LOG_REPLAY 0 +LOIT_ACC_MAX 500 +LOIT_ANG_MAX 0 +LOIT_BRK_ACCEL 250 +LOIT_BRK_DELAY 1 +LOIT_BRK_JERK 500 +LOIT_SPEED 1250 +MIS_OPTIONS 0 +MIS_RESTART 0 +MNT_ANGMAX_PAN 4500 +MNT_ANGMAX_ROL 4500 +MNT_ANGMAX_TIL 4500 +MNT_ANGMIN_PAN -4500 +MNT_ANGMIN_ROL -4500 +MNT_ANGMIN_TIL -4500 +MNT_DEFLT_MODE 3 +MNT_JSTICK_SPD 100 +MNT_LEAD_PTCH 0 +MNT_LEAD_RLL 0 +MNT_NEUTRAL_X 0 +MNT_NEUTRAL_Y 0 +MNT_NEUTRAL_Z 0 +MNT_RC_IN_PAN 7 +MNT_RC_IN_ROLL 0 +MNT_RC_IN_TILT 8 +MNT_RETRACT_X 0 +MNT_RETRACT_Y 0 +MNT_RETRACT_Z 0 +MNT_STAB_PAN 0 +MNT_STAB_ROLL 0 +MNT_STAB_TILT 0 +MNT_TYPE 1 +MOT_10_DIRECTION 1 +MOT_11_DIRECTION 1 +MOT_12_DIRECTION 1 +MOT_1_DIRECTION -1 +MOT_2_DIRECTION -1 +MOT_3_DIRECTION 1 +MOT_4_DIRECTION 1 +MOT_5_DIRECTION -1 +MOT_6_DIRECTION 1 +MOT_7_DIRECTION 1 +MOT_8_DIRECTION -1 +MOT_9_DIRECTION 1 +MOT_BAT_CURR_MAX 0 +MOT_BAT_CURR_TC 5 +MOT_BAT_IDX 0 +MOT_BAT_VOLT_MAX 0 +MOT_BAT_VOLT_MIN 0 +MOT_BOOST_SCALE 0 +MOT_FV_CPLNG_K 1 +MOT_HOVER_LEARN 2 +MOT_PWM_MAX 1900 +MOT_PWM_MIN 1100 +MOT_PWM_TYPE 0 +MOT_SAFE_DISARM 0 +MOT_SAFE_TIME 1 +MOT_SLEW_DN_TIME 0 +MOT_SLEW_UP_TIME 0 +MOT_SPIN_ARM 0.1 +MOT_SPIN_MAX 0.95 +MOT_SPIN_MIN 0.15 +MOT_SPOOL_TIME 0.5 +MOT_THST_EXPO 0.65 +MOT_THST_HOVER 0.5 +MOT_YAW_HEADROOM 200 +MSP_OPTIONS 0 +MSP_OSD_NCELLS 0 +NTF_BUZZ_ON_LVL 1 +NTF_BUZZ_PIN 0 +NTF_BUZZ_TYPES 1 +NTF_BUZZ_VOLUME 100 +NTF_DISPLAY_TYPE 0 +NTF_LED_BRIGHT 3 +NTF_LED_LEN 1 +NTF_LED_OVERRIDE 0 +NTF_LED_TYPES 199 +PILOT_ACCEL_Z 100 +PILOT_SPEED_DN 0 +PILOT_SPEED_UP 500 +PILOT_THR_FILT 0 +PRX_FILT 0.25 +PRX_IGN_ANG1 0 +PRX_IGN_ANG2 0 +PRX_IGN_ANG3 0 +PRX_IGN_ANG4 0 +PRX_IGN_ANG5 0 +PRX_IGN_ANG6 0 +PRX_IGN_WID1 0 +PRX_IGN_WID2 0 +PRX_IGN_WID3 0 +PRX_IGN_WID4 0 +PRX_IGN_WID5 0 +PRX_IGN_WID6 0 +PRX_LOG_RAW 0 +PRX_ORIENT 0 +PRX_TYPE 0 +PRX_YAW_CORR 0 +PSC_ACCZ_D 0 +PSC_ACCZ_FF 0 +PSC_ACCZ_FLTD 0 +PSC_ACCZ_FLTE 20 +PSC_ACCZ_FLTT 0 +PSC_ACCZ_I 0.1 +PSC_ACCZ_IMAX 100 +PSC_ACCZ_P 0.5 +PSC_ACCZ_SMAX 0 +PSC_ANGLE_MAX 0 +PSC_JERK_XY 5 +PSC_JERK_Z 50 +PSC_POSXY_P 1 +PSC_POSZ_P 3 +PSC_VELXY_D 0 +PSC_VELXY_FF 0 +PSC_VELXY_FLTD 5 +PSC_VELXY_FLTE 5 +PSC_VELXY_I 0.5 +PSC_VELXY_IMAX 1000 +PSC_VELXY_P 1 +PSC_VELZ_D 0 +PSC_VELZ_FF 0 +PSC_VELZ_FLTD 5 +PSC_VELZ_FLTE 5 +PSC_VELZ_I 0 +PSC_VELZ_IMAX 1000 +PSC_VELZ_P 8 +RC10_DZ 0 +RC10_MAX 1900 +RC10_MIN 1100 +RC10_REVERSED 0 +RC10_TRIM 1500 +RC11_DZ 0 +RC11_MAX 1900 +RC11_MIN 1100 +RC11_REVERSED 0 +RC11_TRIM 1500 +RC12_DZ 0 +RC12_MAX 1900 +RC12_MIN 1100 +RC12_REVERSED 0 +RC12_TRIM 1500 +RC13_DZ 0 +RC13_MAX 1900 +RC13_MIN 1100 +RC13_REVERSED 0 +RC13_TRIM 1500 +RC14_DZ 0 +RC14_MAX 1900 +RC14_MIN 1100 +RC14_REVERSED 0 +RC14_TRIM 1500 +RC15_DZ 0 +RC15_MAX 1900 +RC15_MIN 1100 +RC15_REVERSED 0 +RC15_TRIM 1500 +RC16_DZ 0 +RC16_MAX 1900 +RC16_MIN 1100 +RC16_REVERSED 0 +RC16_TRIM 1500 +RC1_DZ 30 +RC1_MAX 1900 +RC1_MIN 1100 +RC1_REVERSED 0 +RC1_TRIM 1500 +RC2_DZ 30 +RC2_MAX 1900 +RC2_MIN 1100 +RC2_REVERSED 0 +RC2_TRIM 1500 +RC3_DZ 30 +RC3_MAX 1900 +RC3_MIN 1100 +RC3_REVERSED 0 +RC3_TRIM 1100 +RC4_DZ 40 +RC4_MAX 1900 +RC4_MIN 1100 +RC4_REVERSED 0 +RC4_TRIM 1500 +RC5_DZ 30 +RC5_MAX 1900 +RC5_MIN 1100 +RC5_REVERSED 0 +RC5_TRIM 1500 +RC6_DZ 30 +RC6_MAX 1900 +RC6_MIN 1100 +RC6_REVERSED 0 +RC6_TRIM 1500 +RC7_DZ 0 +RC7_MAX 1900 +RC7_MIN 1100 +RC7_REVERSED 0 +RC7_TRIM 1500 +RC8_DZ 0 +RC8_MAX 1900 +RC8_MIN 1100 +RC8_REVERSED 0 +RC8_TRIM 1500 +RC9_DZ 0 +RC9_MAX 1900 +RC9_MIN 1100 +RC9_REVERSED 0 +RC9_TRIM 1500 +RC_OPTIONS 32 +RC_OVERRIDE_TIME 3 +RC_PROTOCOLS 1 +RC_SPEED 200 +RELAY_DEFAULT 0 +RELAY_PIN -1 +RELAY_PIN2 -1 +RELAY_PIN3 -1 +RELAY_PIN4 -1 +RELAY_PIN5 -1 +RELAY_PIN6 -1 +RNGFND1_ADDR 0 +RNGFND1_FUNCTION 0 +RNGFND1_GNDCLEAR 10 +RNGFND1_MAX_CM 700 +RNGFND1_MIN_CM 20 +RNGFND1_OFFSET 0 +RNGFND1_ORIENT 25 +RNGFND1_PIN -1 +RNGFND1_POS_X 0 +RNGFND1_POS_Y 0 +RNGFND1_POS_Z 0 +RNGFND1_PWRRNG 0 +RNGFND1_RMETRIC 1 +RNGFND1_SCALING 3 +RNGFND1_STOP_PIN -1 +RNGFND1_TYPE 10 +RNGFND2_TYPE 0 +RNGFND3_TYPE 0 +RNGFND4_TYPE 0 +RNGFND5_TYPE 0 +RNGFND6_TYPE 0 +RNGFND7_TYPE 0 +RNGFND8_TYPE 0 +RNGFND9_TYPE 0 +RNGFNDA_TYPE 0 +RNGFND_GAIN 0.8 +SCHED_DEBUG 0 +SCHED_LOOP_RATE 200 +SCHED_OPTIONS 0 +SCR_ENABLE 0 +SERIAL0_BAUD 115 +SERIAL0_PROTOCOL 2 +SERIAL1_BAUD 57 +SERIAL1_OPTIONS 0 +SERIAL1_PROTOCOL 2 +SERIAL2_BAUD 57 +SERIAL2_OPTIONS 0 +SERIAL2_PROTOCOL 2 +SERIAL3_BAUD 38 +SERIAL3_OPTIONS 0 +SERIAL3_PROTOCOL 5 +SERIAL4_BAUD 38 +SERIAL4_OPTIONS 0 +SERIAL4_PROTOCOL 5 +SERIAL5_BAUD 57 +SERIAL5_OPTIONS 0 +SERIAL5_PROTOCOL -1 +SERIAL6_BAUD 57 +SERIAL6_OPTIONS 0 +SERIAL6_PROTOCOL -1 +SERIAL7_BAUD 57 +SERIAL7_OPTIONS 0 +SERIAL7_PROTOCOL -1 +SERIAL_PASS1 0 +SERIAL_PASS2 -1 +SERIAL_PASSTIMO 15 +SERVO10_FUNCTION 0 +SERVO10_MAX 1900 +SERVO10_MIN 1100 +SERVO10_REVERSED 0 +SERVO10_TRIM 1500 +SERVO11_FUNCTION 0 +SERVO11_MAX 1900 +SERVO11_MIN 1100 +SERVO11_REVERSED 0 +SERVO11_TRIM 1500 +SERVO12_FUNCTION 0 +SERVO12_MAX 1900 +SERVO12_MIN 1100 +SERVO12_REVERSED 0 +SERVO12_TRIM 1500 +SERVO13_FUNCTION 59 +SERVO13_MAX 1900 +SERVO13_MIN 1100 +SERVO13_REVERSED 0 +SERVO13_TRIM 1500 +SERVO14_FUNCTION 60 +SERVO14_MAX 1900 +SERVO14_MIN 1100 +SERVO14_REVERSED 0 +SERVO14_TRIM 1500 +SERVO15_FUNCTION 0 +SERVO15_MAX 1900 +SERVO15_MIN 1100 +SERVO15_REVERSED 0 +SERVO15_TRIM 1500 +SERVO16_FUNCTION 7 +SERVO16_MAX 1900 +SERVO16_MIN 1100 +SERVO16_REVERSED 1 +SERVO16_TRIM 1500 +SERVO1_FUNCTION 33 +SERVO1_MAX 1900 +SERVO1_MIN 1100 +SERVO1_REVERSED 0 +SERVO1_TRIM 1500 +SERVO2_FUNCTION 34 +SERVO2_MAX 1900 +SERVO2_MIN 1100 +SERVO2_REVERSED 0 +SERVO2_TRIM 1500 +SERVO3_FUNCTION 35 +SERVO3_MAX 1900 +SERVO3_MIN 1100 +SERVO3_REVERSED 0 +SERVO3_TRIM 1500 +SERVO4_FUNCTION 36 +SERVO4_MAX 1900 +SERVO4_MIN 1100 +SERVO4_REVERSED 0 +SERVO4_TRIM 1500 +SERVO5_FUNCTION 37 +SERVO5_MAX 1900 +SERVO5_MIN 1100 +SERVO5_REVERSED 0 +SERVO5_TRIM 1500 +SERVO6_FUNCTION 38 +SERVO6_MAX 1900 +SERVO6_MIN 1100 +SERVO6_REVERSED 0 +SERVO6_TRIM 1500 +SERVO7_FUNCTION 39 +SERVO7_MAX 1900 +SERVO7_MIN 1100 +SERVO7_REVERSED 0 +SERVO7_TRIM 1500 +SERVO8_FUNCTION 40 +SERVO8_MAX 1900 +SERVO8_MIN 1100 +SERVO8_REVERSED 0 +SERVO8_TRIM 1500 +SERVO9_FUNCTION 0 +SERVO9_MAX 1900 +SERVO9_MIN 1100 +SERVO9_REVERSED 0 +SERVO9_TRIM 1500 +SERVO_DSHOT_ESC 0 +SERVO_DSHOT_RATE 0 +SERVO_FTW_MASK 0 +SERVO_FTW_RVMASK 0 +SERVO_RATE 50 +SERVO_ROB_POSMAX 4095 +SERVO_ROB_POSMIN 0 +SERVO_SBUS_RATE 50 +SERVO_VOLZ_MASK 0 +SR0_EXTRA1 50 +SR0_EXTRA2 50 +SR0_EXTRA3 50 +SR0_EXT_STAT 50 +SR0_PARAMS 0 +SR0_POSITION 50 +SR0_RAW_SENS 50 +SR0_RC_CHAN 50 +SR1_EXTRA1 10 +SR1_EXTRA2 10 +SR1_EXTRA3 3 +SR1_EXT_STAT 2 +SR1_PARAMS 0 +SR1_POSITION 3 +SR1_RAW_SENS 2 +SR1_RC_CHAN 2 +SR2_EXTRA1 10 +SR2_EXTRA2 10 +SR2_EXTRA3 3 +SR2_EXT_STAT 2 +SR2_PARAMS 0 +SR2_POSITION 3 +SR2_RAW_SENS 2 +SR2_RC_CHAN 2 +SR3_EXTRA1 10 +SR3_EXTRA2 10 +SR3_EXTRA3 3 +SR3_EXT_STAT 2 +SR3_PARAMS 0 +SR3_POSITION 3 +SR3_RAW_SENS 2 +SR3_RC_CHAN 2 +SR4_EXTRA1 10 +SR4_EXTRA2 10 +SR4_EXTRA3 3 +SR4_EXT_STAT 2 +SR4_PARAMS 0 +SR4_POSITION 3 +SR4_RAW_SENS 2 +SR4_RC_CHAN 2 +SURFACE_DEPTH -10 +SYSID_MYGCS 255 +SYSID_THISMAV 1 +THR_DZ 100 +VISO_DELAY_MS 10 +VISO_ORIENT 0 +VISO_POS_M_NSE 0.2 +VISO_POS_X 0 +VISO_POS_Y 0 +VISO_POS_Z 0 +VISO_SCALE 1 +VISO_TYPE 1 +VISO_VEL_M_NSE 0.1 +VISO_YAW_M_NSE 0.2 +VTX_ENABLE 0 +WPNAV_ACCEL 250 +WPNAV_ACCEL_Z 100 +WPNAV_JERK 1 +WPNAV_RADIUS 200 +WPNAV_RFND_USE 1 +WPNAV_SPEED 1000 +WPNAV_SPEED_DN 150 +WPNAV_SPEED_UP 250 +WPNAV_TER_MARGIN 10 +WP_YAW_BEHAVIOR 4 +XTRACK_ANG_LIM 45 diff --git a/docking_control/config/aruco_markers/6x6_1000-0.svg b/docking_control/config/aruco_markers/6x6_1000-0.svg new file mode 100644 index 0000000..c408c82 --- /dev/null +++ b/docking_control/config/aruco_markers/6x6_1000-0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docking_control/config/aruco_markers/6x6_1000-1.svg b/docking_control/config/aruco_markers/6x6_1000-1.svg new file mode 100644 index 0000000..f02c356 --- /dev/null +++ b/docking_control/config/aruco_markers/6x6_1000-1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docking_control/config/aruco_markers/6x6_1000-2.svg b/docking_control/config/aruco_markers/6x6_1000-2.svg new file mode 100644 index 0000000..68cc945 --- /dev/null +++ b/docking_control/config/aruco_markers/6x6_1000-2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docking_control/config/aruco_markers/6x6_1000-3.svg b/docking_control/config/aruco_markers/6x6_1000-3.svg new file mode 100644 index 0000000..caf0e4f --- /dev/null +++ b/docking_control/config/aruco_markers/6x6_1000-3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docking_control/config/aruco_markers/6x6_1000-4.svg b/docking_control/config/aruco_markers/6x6_1000-4.svg new file mode 100644 index 0000000..a6ddafe --- /dev/null +++ b/docking_control/config/aruco_markers/6x6_1000-4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docking_control/config/aruco_markers/6x6_1000-5.svg b/docking_control/config/aruco_markers/6x6_1000-5.svg new file mode 100644 index 0000000..3845ee9 --- /dev/null +++ b/docking_control/config/aruco_markers/6x6_1000-5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docking_control/config/aruco_markers/marker_0_30cm.pdf b/docking_control/config/aruco_markers/marker_0_30cm.pdf new file mode 100644 index 0000000000000000000000000000000000000000..0e9467f60f57f9e98b04d5261ec1b0db86c568ad GIT binary patch literal 14455 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 literal 0 HcmV?d00001 diff --git a/docking_control/config/aruco_markers/marker_10_10cm.pdf b/docking_control/config/aruco_markers/marker_10_10cm.pdf new file mode 100644 index 0000000000000000000000000000000000000000..270cb233a6e40c4a20bf60a558fa4acded2d5e3b GIT binary patch literal 14747 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 X3+3VUBVfS7U^tSHgF{|Zf$;wUZ^Q~g literal 0 HcmV?d00001 diff --git a/docking_control/config/aruco_markers/marker_11_10cm.pdf b/docking_control/config/aruco_markers/marker_11_10cm.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ee4ab8ac7d0355e0e6d5b58992dd0cb78c2f5ce4 GIT binary patch literal 14606 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 literal 0 HcmV?d00001 diff --git a/docking_control/config/aruco_markers/marker_1_20cm.pdf b/docking_control/config/aruco_markers/marker_1_20cm.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9023421338442181a3bc100ecd1d9e1dc2d9d7d9 GIT binary patch literal 14423 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 SKLZ8~MZypy*RRWKD*PWDagGcC literal 0 HcmV?d00001 diff --git a/docking_control/config/aruco_markers/marker_2_10cm.pdf b/docking_control/config/aruco_markers/marker_2_10cm.pdf new file mode 100644 index 0000000000000000000000000000000000000000..1fc140ba71122b3cd2ed24e09c76e46b598dcaab GIT binary patch literal 14471 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�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 j>K{1Pe!$3RoC7P(K0&0);^YaG9B9RAv7k{U`$u literal 0 HcmV?d00001 diff --git a/docking_control/config/aruco_markers/marker_5_25cm.pdf b/docking_control/config/aruco_markers/marker_5_25cm.pdf new file mode 100644 index 0000000000000000000000000000000000000000..65cec5a3231fe3fbdf80e406079068c0dec2332f GIT binary patch literal 14260 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 literal 0 HcmV?d00001 diff --git a/docking_control/config/aruco_markers/marker_7_5cm.pdf b/docking_control/config/aruco_markers/marker_7_5cm.pdf new file mode 100644 index 0000000000000000000000000000000000000000..40bc8f823ac7a347aacb86951dcf0ddb36e80047 GIT binary patch literal 14605 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 literal 0 HcmV?d00001 diff --git a/docking_control/config/auv_bluerov2.yaml b/docking_control/config/auv_bluerov2.yaml new file mode 100644 index 0000000..d682712 --- /dev/null +++ b/docking_control/config/auv_bluerov2.yaml @@ -0,0 +1,34 @@ +m: 10.0 +Ixx: 0.16 +Iyy: 0.16 +Izz: 0.16 +d_lin: [-4.03, -6.22, -5.18, -0.07, -0.07, -0.07] +d_quad: [-18.18, -21.66, -36.99, -1.55, -1.55, -1.55] +W: 98.1 +B: 100.06 +z_g: 0.0 +z_b: 0.02 +neutral_bouy: False + +tam: [[-1, 1, 0, 1], + [-1, -1, 0, -1], + [ 1, 1, 0, -1], + [ 1, -1, 0, 1], + [ 0, 0, -1, 0], + [ 0, 0, -1, 0]] + +# tcm: [[ 0.7071, 0.7071, -0.7071, -0.7071, 0.0, 0.0 ], +# [-0.7071, 0.7071, -0.7071, 0.7071, 0.0, 0.0 ], +# [ 0.0, 0.0, 0.0, 0.0, -1.0, -1.0 ], +# [ 0.0, 0.0, 0.0, 0.0, 0.115, -0.115], +# [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ], +# [-0.1773, 0.1773, -0.1773, 0.1773, 0.0, 0.0 ]] + +tcm: [[ 0.707, 0.707, -0.707, -0.707, 0.0, 0.0 ], + [-0.707, 0.707, -0.707, 0.707, 0.0, 0.0 ], + [ 0.0, 0.0, 0.0, 0.0, 1.0, 1.0 ], + [ 0.051, -0.051, 0.051, -0.051, 0.111, -0.111], + [ 0.051, 0.051, -0.051, -0.051, 0.002, -0.002], + [-0.167, 0.167, 0.175, -0.175, 0.0, 0.0 ]] + +m_added: [-5.50, -12.70, -14.57, -0.12, -0.12, -0.12] \ No newline at end of file diff --git a/docking_control/config/auv_bluerov2_heavy.yaml b/docking_control/config/auv_bluerov2_heavy.yaml new file mode 100644 index 0000000..f473910 --- /dev/null +++ b/docking_control/config/auv_bluerov2_heavy.yaml @@ -0,0 +1,29 @@ +l: 0.4572 +m: 13.5 +Ixx: 0.16 +Iyy: 0.16 +Izz: 0.16 +d_lin: [-4.03, -6.22, -5.18, -0.07, -0.07, -0.07] +d_quad: [-18.18, -21.66, -36.99, -1.55, -1.55, -1.55] +W: 112.80 +B: 114.80 +cog: [0., 0., 0.02] +cob: [0., 0., 0.] +neutral_bouy: False + +tcm: [[0.707, 0.707, 0.707, 0.707, 0.0, 0.0, 0.0, 0.0], + [-0.707, 0.707, 0.707, -0.707, 0.0, 0.0, 0.0, 0.0], + [ 0.0, 0.0, 0.0, 0.0, -1.0, 1.0, 1.0, -1.0], + [ 0.0, 0.0, 0.0, 0.0, -0.21805, -0.21805, 0.21805, 0.21805], + [ 0.0, 0.0, 0.0, 0.0, -0.12, 0.12, -0.12, 0.12], + [-0.1888, 0.1888, -0.1888, 0.1888, 0.0, 0.0, 0.0 , 0.0]] + +# tcm: [[0.707, 0.707, -0.707, -0.707, 0.0, 0.0, 0.0, 0.0], +# [-0.707, 0.707, -0.707, 0.707, 0.0, 0.0, 0.0, 0.0], +# [0.0, 0.0, 0.0, 0.0, -1.0, 1.0, 1.0, -1.0], +# [0.06, -0.06, 0.06, -0.06, -0.218, -0.218, 0.218, 0.218], +# [0.06, 0.06, -0.06, -0.06, 0.120, -0.120, 0.120, -0.120], +# [-0.1888, 0.1888, 0.1888, -0.1888, 0.0, 0.0, 0.0, 0.0]] + +m_added: [-5.50, -12.70, -14.60, -0.12, -0.12, -0.12] + diff --git a/docking_control/config/in_air/ost.txt b/docking_control/config/in_air/ost.txt new file mode 100644 index 0000000..7872fdb --- /dev/null +++ b/docking_control/config/in_air/ost.txt @@ -0,0 +1,30 @@ +# oST version 5.0 parameters + + +[image] + +width +1920 + +height +1080 + +[narrow_stereo] + +camera matrix +1041.855026 0.000000 1022.102254 +0.000000 1042.311882 479.716214 +0.000000 0.000000 1.000000 + +distortion +0.005822 0.017533 -0.000279 -0.001816 0.000000 + +rectification +1.000000 0.000000 0.000000 +0.000000 1.000000 0.000000 +0.000000 0.000000 1.000000 + +projection +1071.510620 0.000000 1012.883324 0.000000 +0.000000 1076.355713 480.020880 0.000000 +0.000000 0.000000 1.000000 0.000000 diff --git a/docking_control/config/in_air/ost.yaml b/docking_control/config/in_air/ost.yaml new file mode 100644 index 0000000..c62a3b0 --- /dev/null +++ b/docking_control/config/in_air/ost.yaml @@ -0,0 +1,26 @@ +image_width: 1920 +image_height: 1080 +camera_name: narrow_stereo +camera_matrix: + rows: 3 + cols: 3 + data: [1041.85503, 0. , 1022.10225, + 0. , 1042.31188, 479.71621, + 0. , 0. , 1. ] +distortion_model: plumb_bob +distortion_coefficients: + rows: 1 + cols: 5 + data: [0.005822, 0.017533, -0.000279, -0.001816, 0.000000] +rectification_matrix: + rows: 3 + cols: 3 + data: [1., 0., 0., + 0., 1., 0., + 0., 0., 1.] +projection_matrix: + rows: 3 + cols: 4 + data: [1071.51062, 0. , 1012.88332, 0. , + 0. , 1076.35571, 480.02088, 0. , + 0. , 0. , 1. , 0. ] diff --git a/docking_control/config/in_water/ost.txt b/docking_control/config/in_water/ost.txt new file mode 100644 index 0000000..af787c1 --- /dev/null +++ b/docking_control/config/in_water/ost.txt @@ -0,0 +1,30 @@ +# oST version 5.0 parameters + + +[image] + +width +1920 + +height +1080 + +[narrow_stereo] + +camera matrix +1078.175587 0.000000 1010.570862 +0.000000 1076.461759 463.062429 +0.000000 0.000000 1.000000 + +distortion +0.019645 0.007271 -0.004324 -0.001628 0.000000 + +rectification +1.000000 0.000000 0.000000 +0.000000 1.000000 0.000000 +0.000000 0.000000 1.000000 + +projection +1108.253662 0.000000 1003.755546 0.000000 +0.000000 1108.390015 456.928611 0.000000 +0.000000 0.000000 1.000000 0.000000 diff --git a/docking_control/config/in_water/ost.yaml b/docking_control/config/in_water/ost.yaml new file mode 100644 index 0000000..534dd63 --- /dev/null +++ b/docking_control/config/in_water/ost.yaml @@ -0,0 +1,26 @@ +image_width: 1920 +image_height: 1080 +camera_name: narrow_stereo +camera_matrix: + rows: 3 + cols: 3 + data: [1078.17559, 0. , 1010.57086, + 0. , 1076.46176, 463.06243, + 0. , 0. , 1. ] +distortion_model: plumb_bob +distortion_coefficients: + rows: 1 + cols: 5 + data: [0.019645, 0.007271, -0.004324, -0.001628, 0.000000] +rectification_matrix: + rows: 3 + cols: 3 + data: [1., 0., 0., + 0., 1., 0., + 0., 0., 1.] +projection_matrix: + rows: 3 + cols: 4 + data: [1108.25366, 0. , 1003.75555, 0. , + 0. , 1108.39001, 456.92861, 0. , + 0. , 0. , 1. , 0. ] diff --git a/docking_control/config/manager.yaml b/docking_control/config/manager.yaml new file mode 100644 index 0000000..c47fcb3 --- /dev/null +++ b/docking_control/config/manager.yaml @@ -0,0 +1,19 @@ +blue_manager: + ros__parameters: + num_thrusters: 8 + mode_change: + timeout: 1.0 + retries: 3 + message_intervals: + ids: [31, 32] + rates: [200.0, 200.0] + request_interval: 30.0 + ekf_origin: + latitude: 44.65870 + longitude: -124.06556 + altitude: 0.0 + home_position: + latitude: 44.65870 + longitude: -124.06556 + altitude: 0.0 + request_interval: 30.0 \ No newline at end of file diff --git a/docking_control/config/marker_offsets b/docking_control/config/marker_offsets new file mode 100644 index 0000000..8c8ad83 --- /dev/null +++ b/docking_control/config/marker_offsets @@ -0,0 +1,16 @@ +25 RB: + x: 6.5 + y: 5.75 + +15 LT: + x: 7.5 + y: 5.75 + +10 LB: + x: 12.5 - 5.75: 6.75 + y: 8 + +5 RT: + x: 12.5 - 7 5/8: 4.875 + y: 5.5 + diff --git a/docking_control/config/mpc_bluerov2.yaml b/docking_control/config/mpc_bluerov2.yaml new file mode 100644 index 0000000..1975b27 --- /dev/null +++ b/docking_control/config/mpc_bluerov2.yaml @@ -0,0 +1,38 @@ +horizon: 10 +dt: 0.1 +quiet: True +thrusters: 6 +full_body: True + +penalty: + # P: [1, 1, 1] + + # P: [1, 1, 1, + # 100, 100, 100] + + P: [1, 1, 1, + 100, 100, 100, + 10, 10, 10, + 100, 100, 100] + + # Q: [0., 0., 0., 0., 0., 0., 0., 0.] + # Q: [1, 1, 1, 1] + Q: [1, 1, 1, 1, 1, 1] + + # R: [1, 1, 1, 1] + # R: [1, 1, 1, 1, 1, 1] + R: [1, 1, 1, 100, 100, 100] + +bounds: + # xmin: [-100, -100, -0.6, 0.00, 0.00, 0.00, -1.0, -1.0, -1.0, -0.05, -0.05, -0.05] + # xmax: [ 100, 100, 100, 6.28, 6.28, 6.28, 1.0, 1.0, 1.0, 0.05, 0.05, 0.05] + xmin: [-10, -10, -10, -3.14, -3.14, -3.14, -1.0, -1.0, -1.0, -0.05, -0.05, -0.05] + xmax: [ 10, 10, 10, 3.14, 3.14, 3.14, 1.0, 1.0, 1.0, 0.05, 0.05, 0.05] + + # umin: [-80.0, -80.0, -80.0, -80.0] + # umax: [ 80.0, 80.0, 80.0, 80.0] + umin: [-35.0, -35.0, -35.0, 0.0, 0.0, 0.0] + umax: [ 35.0, 35.0, 35.0, 0.0, 0.0, 0.0] + + # dumin: [-25.0, -25.0, -25.0, -25.0, -25.0, -25.0] + # dumax: [ 25.0, 25.0, 25.0, 25.0, 25.0, 25.0] diff --git a/docking_control/config/mpc_bluerov2_heavy.yaml b/docking_control/config/mpc_bluerov2_heavy.yaml new file mode 100644 index 0000000..2d91221 --- /dev/null +++ b/docking_control/config/mpc_bluerov2_heavy.yaml @@ -0,0 +1,68 @@ +window_size: 2 +horizon: 10 +dt: 0.02 +quiet: True +thrusters: 6 +dt_int: euler +alpha: 1.0 +beta: 1e-15 +full_body: True +estimation: True + +noises: + Q_eta: 1e-12 + Q_nu_r: 1e-12 + Q_f: 1e-12 + R_xy: 1e-10 + R_z: 1e-10 + R_dr: 2e-6 + R_att: 1e-4 + R_linvel: 1e-6 + R_angvel: 0.137e-4 + R_linacc: 0.2029e-4 + +penalty: + # P: [1, 1, 1, + # 100, 100, 100] + P: [1, 1, 1, + 100, 100, 100, + 1, 1, 1, + 100, 100, 100] + + # Q: [0., 0., 0., 0., 0., 0.] + Q: [1, 1, 1, 1, 1, 1] + + # R: [0.01, 0.01, 0.01, 0.01, 0.01, 0.01] + # R: [10, 10, 10, 10, 10, 10] + R: [1, 1, 1, 1, 1, 1] + # R: [1, 1, 1, 1, 1, 1, 1, 1] + +bounds: + xmin: [-100, -100, -100., -3.14, -3.14, -3.14, -1, -1, -1, -0.087, -0.087, -0.087] + xmax: [100, 100, 100, 3.14, 3.14, 3.14, 1, 1, 1, 0.087, 0.087, 0.087] + + # umin: [-0.1, -0.1, -0.1, -0.1, -0.1, -0.1, -0.1, -0.1] + # umax: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1] + # umin: [-250.0, -250.0, -250.0, -250.0, -250.0, -250.0] + # umax: [250.0, 250.0, 250.0, 250.0, 250.0, 250.0] + # umin: [-20.0, -20.0, -20.0, -20.0, -20.0, -20.0] + # umax: [20.0, 20.0, 20.0, 20.0, 20.0, 20.0] + umin: [-30.0, -15.0, -25.0, -1.0, -1.0, -12.5] + umax: [30.0, 15.0, 25.0, 1.0, 1.0, 12.5] + # umin: [-35.0, -35.0, -35.0, -35.0, -35.0, -35.0] + # umax: [35.0, 35.0, 35.0, 35.0, 35.0, 35.0] + # umin: [-100.0, -100.0, -100.0, -100.0, -100.0, -100.0] + # umax: [100.0, 100.0, 100.0, 100.0, 100.0, 100.0] + + # umin: [-5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0] + # umax: [5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0] + # umin: [-100.0, -100.0, -100.0, -100.0, -100.0, -100.0, -100.0, -100.0] + # umax: [100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0] + + # dumin: [-0.1, -0.1, -0.1, -0.1, -0.1, -0.1] + # dumax: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1] + # dumin: [-1.0, -1.0, -1.0, -1.0, -1.0, -1.0] + # dumax: [1.0, 1.0, 1.0, 1.0, 1.0, 1.0] + + dumin: [-0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5] + dumax: [0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5] \ No newline at end of file diff --git a/docking_control/data/T200_data.xlsx b/docking_control/data/T200_data.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..17094b3e8be8ccdce4a0ca922fb1b1dadc94dc39 GIT binary patch literal 101397 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%0A^0|AvpLX5z@$lvcoLMI>S+32| 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 zfCC)h00%h00S<70103K02ROii&pR+q-RI|Z-`#ij-M!-g2ROh14sd`29N+*4IKTl8 zaDW3G-~b0WzyS_$fCC)h00%h00S<700~|PVVB8Y>bhJ<2^OUEY-~b0WzyS_$fCC)h z00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW4!b6}jd&&}t4yWj4&`^EtdaDW3G z-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4IB?d1aa-)y+5M8^D_?oR z0S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00-Xhz&K^^pT~W6 zpWSEoi~}6t00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$VAp|h zYwX+ZzRB~Jx7^?W2ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70 z1MhQSoUZqc@BX^K?yvjB0S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$ zfCC)h00%g5)q!z)?BCV>(~rOWOBK0dpT`tz8_9N_>5IKTl8aDW3G-~b0WzyS_$ zfCC)h00%h00S<70103K02ROh14sd`2uXA9Wrq_+&{fpM$s>#O(G zc)aE{S2(}{4sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103MM^A3zt z^!zyPqx+wQ)}^Om>V-~b0WzyS_$ zfCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW5vb6}jV_l@uVy1(wP`^5nc zaDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4IB?a0aeM6F)&0|t zzx?F~2ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<700~~n01LIV^ zeq8s}eRW^mD-Ljg103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h0 zfoB~Ux5z#|yN~+wn8zI900%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0W zzyS_$fCH~{V4SAcjpu&4pYEso!~qU)fCC)h00%h00S<70103K02ROh14sd`29N+*4 zIKTl8aDW3G-~b0W@G1w!ZL*)Q+E3%~na@1o00%h00S<70103K02ROh14sd`29N+*4 zIKTl8aDW3G-~b0WzyS_$fCJAvFiz3)m3@9O^P$6x;Pg99Ak00%h0 z0S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS`t&w+8e-Z#Gc>;AgG?iU9* zzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G;J~f}-F=hi zEpNHO0S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00-Xhz&K^^ zpT~W6pWSEoi~}6t00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$ z;H(4Vw%D(;`z6O$zVdgzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4 zIKTl8aDW3Gc)tVVl)Zl*_t|}RpWQPKaDW3G-~b0WzyS_$fCC)h00%h00S<70103K0 z2ROh14sd`29N+*4IKY8j2ga?jZ@c>@&s*Mdg99Ak00%h00S<70103K02ROh14sd`2 z9N+*4IKTl8aDW3G-~b0WzyS`t&w+8e-Z#Gc>;AgG?iU9*zyS_$fCC)h00%h00S<70 z103K02ROh14sd`29N+*4IKTl8aDW3G;J{S}#_h3xSNBgp{_>X}9N+*4IKTl8aDW3G z-~b0WzyS_$fCC)h00%h00S<70103K02ROh14shW04vbUv`f=S?_tkxMuQt<>^|zxV;*ya z103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S>&*fpMB%H=g_H ze!8FT69+iJ0S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)hz^fb> zx5<9KYCny`XFl_U103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h0 z0S-Lxz&J(EkK;bNkM5&;!~qU)fCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8 zaDW3G-~b0W@M;Ift+KDL-dE%Cn%7+600%h00S<70103K02ROh14sd`29N+*4IKTl8 zaDW3G-~b0WzyS_$fCJYZ7^mlYfA`P*bN}2Q4sd`29N+*4IKTl8aDW3G-~b0WzyS_$ zfCC)h00%h00S<70103K02ROiicR4U_m;HU${u-Cx{N@V>IKTl8aDW3G-~b0WzyS_$ zfCC)h00%h00S<70103K02ROh14sd`29N2eYoSOZ9?wkAOzPUFX-~b0WzyS_$fCC)h z00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW5vc3|8x`~2>GHa^dJ&KVAHfCC)h z00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WuPLFC5?i2ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<8Bx&!0% zT<`Dxxqt4T`@;baaDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4 zIPhu*#;vliuijVV@tW6M;Q$9XzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4 zIKTl8aDW5PJ1|bs^W(UW?xXwY9&vyJ9N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h0 z0S<70103K02ROh14!p{NahvSttM=14eC9JxIKTl8aDW3G-~b0WzyS_$fCC)h00%h0 z0S<70103K02ROh14sd`29N@s~92lqRb>q38?x*|dK5>8p9N+*4IKTl8aDW3G-~b0W zzyS_$fCC)h00%h00S<70103K02ROh14m|6?xJCBy*?rWX$2{f;2ROh14sd`29N+*4 zIKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<700~~n01LIV^eq8s}eRW^mD-Ljg103K0 z2ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h0fvXOT+hhN(?w@}A^d-R zjeXnQH+kOjmKz-400%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$ z;QbDaQ}+IO+-LXMeRj_{zyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8 zaDW3G-~b2CIxudF{W`l}a(v}0FF3#f4sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h z00%h00S<70103MM=NuTP?Q`?F-|n~j?Y?n<103K02ROh14sd`29N+*4IKTl8aDW3G z-~b0WzyS_$fCC)h00%h00S+8FFm8!`I@%}idCF5xaDW3G-~b0WzyS_$fCC)h00%h0 z0S<70103K02ROh14sd`29N+*4IKY9=JMe%1k8|hTeg53>-o110+&d0%fCC)h00%h0 z0S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K0 z2ROh14sd`29N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`2 z9N+*4IKTl8aDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8 zaDW3G-~b0WzyS_$fCC)h00%h00S<70103K02ROh14sd`29N+*4IKTl8aDW3G-~b0W I@S7a?e?wE__W%F@ literal 0 HcmV?d00001 diff --git a/docking_control/data/occ_map_binary.npy b/docking_control/data/occ_map_binary.npy new file mode 100644 index 0000000000000000000000000000000000000000..c346b34b164dc7c9700fca99a268d1cc2722101e GIT binary patch literal 12083328 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 zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PJ`Tz`y_e{th-EK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 X2oNAZfB*pk1PBlyK!5;&cNX{$oqN3K literal 0 HcmV?d00001 diff --git a/docking_control/launch/mav_pluginlists.yaml b/docking_control/launch/mav_pluginlists.yaml new file mode 100644 index 0000000..040af5c --- /dev/null +++ b/docking_control/launch/mav_pluginlists.yaml @@ -0,0 +1,22 @@ +plugin_blacklist: + - 3dr_radio + - ftp + - safety_area + - sys_time + # - 'mocap_*' + # - px4flow + # - distance_sensor + # - vibration + # - altitude + +plugin_whitelist: + - sys_status + - command + - imu + - rc_io + - param + - vision* + - local* + - global_position + - home_position + diff --git a/docking_control/launch/mission_control.launch b/docking_control/launch/mission_control.launch new file mode 100644 index 0000000..4a4e790 --- /dev/null +++ b/docking_control/launch/mission_control.launch @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docking_control/model/bluerov2_heavy/config.xacro b/docking_control/model/bluerov2_heavy/config.xacro new file mode 100644 index 0000000..507d018 --- /dev/null +++ b/docking_control/model/bluerov2_heavy/config.xacro @@ -0,0 +1,9 @@ + + + + + + + + \ No newline at end of file diff --git a/docking_control/model/bluerov2_heavy/urdf.xacro b/docking_control/model/bluerov2_heavy/urdf.xacro new file mode 100644 index 0000000..cdf8c4d --- /dev/null +++ b/docking_control/model/bluerov2_heavy/urdf.xacro @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docking_control/model/t200/urdf.xacro b/docking_control/model/t200/urdf.xacro new file mode 100644 index 0000000..b2b8c60 --- /dev/null +++ b/docking_control/model/t200/urdf.xacro @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docking_control/package.xml b/docking_control/package.xml new file mode 100644 index 0000000..6173d3a --- /dev/null +++ b/docking_control/package.xml @@ -0,0 +1,55 @@ + + + + + docking_control + 0.0.1 + ROS1 package for autonomous docking using MPC + + Rakesh Vivekanandan + MIT + + https://github.com/Robotic-Decision-Making-Lab/underwater_docking.git + https://github.com/Robotic-Decision-Making-Lab/underwater_docking/issues + + Rakesh Vivekanandan + + catkin + + rospy + roscpp + sensor_msgs + geometry_msgs + std_msgs + python3-opencv + python3-numpy + python3-scipy + python3-pandas + python3-tqdm + casadi-pip + mavros_msgs + tf2 + tf2_geometry_msgs + tf2_ros + cv_bridge + + mavros + mavros_extras + tf_transformations + + + + + + + + + diff --git a/docking_control/rviz/bluerov.rviz b/docking_control/rviz/bluerov.rviz new file mode 100644 index 0000000..dff1386 --- /dev/null +++ b/docking_control/rviz/bluerov.rviz @@ -0,0 +1,202 @@ +Panels: + - Class: rviz/Displays + Help Height: 78 + Name: Displays + Property Tree Widget: + Expanded: + - /Global Options1 + - /Status1 + - /TF1 + - /TF1/Frames1 + Splitter Ratio: 0.5 + Tree Height: 719 + - Class: rviz/Selection + Name: Selection + - Class: rviz/Tool Properties + Expanded: + - /2D Pose Estimate1 + - /2D Nav Goal1 + - /Publish Point1 + Name: Tool Properties + Splitter Ratio: 0.5886790156364441 + - Class: rviz/Views + Expanded: + - /Current View1 + Name: Views + Splitter Ratio: 0.5 + - Class: rviz/Time + Name: Time + SyncMode: 0 + SyncSource: "" +Preferences: + PromptSaveOnExit: true +Toolbars: + toolButtonStyle: 2 +Visualization Manager: + Class: "" + Displays: + - Alpha: 0.5 + Cell Size: 1 + Class: rviz/Grid + Color: 160; 160; 164 + Enabled: true + Line Style: + Line Width: 0.029999999329447746 + Value: Lines + Name: Grid + Normal Cell Count: 0 + Offset: + X: 0 + Y: 0 + Z: 0 + Plane: XY + Plane Cell Count: 10 + Reference Frame: + Value: true + - Class: rviz/TF + Enabled: true + Filter (blacklist): "" + Filter (whitelist): "" + Frame Timeout: 15 + Frames: + All Enabled: false + base_footprint: + Value: false + base_link: + Value: true + base_link_frd: + Value: false + camera_link: + Value: true + map: + Value: true + map_ned: + Value: false + marker_1: + Value: true + odom: + Value: false + odom_ned: + Value: false + thruster1: + Value: false + thruster2: + Value: false + thruster3: + Value: false + thruster4: + Value: false + thruster5: + Value: false + thruster6: + Value: false + thruster7: + Value: false + thruster8: + Value: false + Marker Alpha: 1 + Marker Scale: 1 + Name: TF + Show Arrows: true + Show Axes: true + Show Names: true + Tree: + map: + base_link: + base_footprint: + {} + base_link_frd: + {} + camera_link: + {} + thruster1: + {} + thruster2: + {} + thruster3: + {} + thruster4: + {} + thruster5: + {} + thruster6: + {} + thruster7: + {} + thruster8: + {} + map_ned: + {} + marker_1: + {} + odom: + odom_ned: + {} + Update Interval: 0 + Value: true + Enabled: true + Global Options: + Background Color: 48; 48; 48 + Default Light: true + Fixed Frame: map + Frame Rate: 30 + Name: root + Tools: + - Class: rviz/Interact + Hide Inactive Objects: true + - Class: rviz/MoveCamera + - Class: rviz/Select + - Class: rviz/FocusCamera + - Class: rviz/Measure + - Class: rviz/SetInitialPose + Theta std deviation: 0.2617993950843811 + Topic: /initialpose + X std deviation: 0.5 + Y std deviation: 0.5 + - Class: rviz/SetGoal + Topic: /move_base_simple/goal + - Class: rviz/PublishPoint + Single click: true + Topic: /clicked_point + Value: true + Views: + Current: + Class: rviz/Orbit + Distance: 10 + Enable Stereo Rendering: + Stereo Eye Separation: 0.05999999865889549 + Stereo Focal Distance: 1 + Swap Stereo Eyes: false + Value: false + Field of View: 0.7853981852531433 + Focal Point: + X: 0 + Y: 0 + Z: 0 + Focal Shape Fixed Size: true + Focal Shape Size: 0.05000000074505806 + Invert Z Axis: false + Name: Current View + Near Clip Distance: 0.009999999776482582 + Pitch: 0.785398006439209 + Target Frame: + Yaw: 0.785398006439209 + Saved: ~ +Window Geometry: + Displays: + collapsed: false + Height: 1016 + Hide Left Dock: false + Hide Right Dock: false + QMainWindow State: 000000ff00000000fd0000000400000000000001560000035afc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003d0000035a000000c900fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000010f0000035afc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003d0000035a000000a400fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000007800000003efc0100000002fb0000000800540069006d0065010000000000000780000003bc00fffffffb0000000800540069006d006501000000000000045000000000000000000000050f0000035a00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 + Selection: + collapsed: false + Time: + collapsed: false + Tool Properties: + collapsed: false + Views: + collapsed: false + Width: 1920 + X: 0 + Y: 27 diff --git a/docking_control/setup.py b/docking_control/setup.py new file mode 100644 index 0000000..cc53e75 --- /dev/null +++ b/docking_control/setup.py @@ -0,0 +1,10 @@ +from distutils.core import setup +from catkin_pkg.python_setup import generate_distutils_setup + +# fetch values from package.xml +setup_args = generate_distutils_setup( + packages=['docking_control'], + package_dir={'': 'src'}, +) + +setup(**setup_args) diff --git a/docking_control/src/docking_control/auto_dock.py b/docking_control/src/docking_control/auto_dock.py new file mode 100755 index 0000000..5b091e2 --- /dev/null +++ b/docking_control/src/docking_control/auto_dock.py @@ -0,0 +1,212 @@ +import os +import time +import numpy as np +import sys +import rospy + +# sys.path.insert(0, '/home/darth/workspace/bluerov2_ws/src/bluerov2_dock/src/bluerov2_dock') + +from auv_hinsdale import AUV + +# from mpc_casadi import MPC +from mpc_acados import MPC + + +class MPControl: + def __init__(self): + """ + This class is used to control the AUV using the MPC controller. + """ + cwd = os.path.dirname(__file__) + + # auv_yaml = cwd + "/../../config/auv_bluerov2.yaml" + # mpc_yaml = cwd + "/../../config/mpc_bluerov2.yaml" + + auv_yaml = cwd + "/../../config/auv_bluerov2_heavy.yaml" + mpc_yaml = cwd + "/../../config/mpc_bluerov2_heavy.yaml" + + # Change these values as desired + self.tolerance = 0.05 + self.yaw_tolerance = 0.05 + self.path_length = 0.0 + self.p_times = [0] + + self.auv = AUV.load_params(auv_yaml) + self.mpc = MPC.load_params(auv_yaml, mpc_yaml) + + self.thrusters = self.mpc.thrusters + self.comp_time = 0.0 + self.time_id = 0 + self.dt = self.mpc.dt + self.t_f = 3600.0 + self.t_span = np.arange(0.0, self.t_f, self.dt) + self.mpc.reset() + + # Wave Parameters + self.wave_height = 0.2 + self.wave_T = 2.5 + self.water_depth = 1.136 + self.g = 9.81 + self.wave_number = self.compute_wave_number( + self.g, self.water_depth, self.wave_T + ) + self.wave_freq = 2 * np.pi / self.wave_T + self.wave_speed = self.wave_freq / self.wave_number + self.wave_lambda = 2 * np.pi / self.wave_number + self.wave_phase = 0 + self.wavemaker_offset = [16.763, 0.0, 0.568] + + self.opt_data = {} + + def compute_wave_number(self, g, h, T): + """This function computes the wave number for a given wave period and water depth. + + Args: + g: aceeleration due to gravity + h: wave height + T: wave period + + Returns: + k: wave number + """ + k = 1 # Initial guess for wave number + iter_tol = 0.0000001 # Iteration tolerance + err = 1 + + while err > iter_tol: + res = (2 * np.pi / T) ** 2 - g * k * np.tanh(k * h) + dev_res = -g * np.tanh(k * h) - g * k * h * (1 - (np.tanh(k * h)) ** 2) + k_new = k - res / dev_res + err = abs(k_new - k) / k + k = k_new + + return k + + def wrap_pi2negpi(self, angle): + """This function wraps the angle to the range -pi to pi. + + Args: + angle: angle to be wrapped + + Returns: + angle: wrapped angle + """ + return ((angle + np.pi) % (2 * np.pi)) - np.pi + + def wrap_zeroto2pi(self, angle): + """This function wraps the angle to the range 0 to 2pi. + + Args: + angle: angle to be wrapped + + Returns: + angle: wrapped angle + """ + return angle % (2 * np.pi) + + def compute_wave_particle_vel(self, eta, t): + """Computes the wave particle velocity at a given point in the wave field. + + Args: + eta: vehicle pose 6 dof + t: time + + Returns: + nu_w: wave particle velocity + """ + x = -eta[0][0] + self.wavemaker_offset[0] + z = -eta[2][0] - self.wavemaker_offset[2] + H = self.wave_height + k = self.wave_number + phase = self.wave_phase + c = self.wave_speed + T = self.wave_T + g = self.g + d = self.water_depth + omega = self.wave_freq + L = self.wave_lambda + # L = (g * T**2 / 2 * np.pi) * ((np.tanh(omega**2 * d / g)**(3/4)))**(2/3) + + u = (g * H * np.cosh(k * (z + d)) * np.cos(k * x - omega * t + phase)) / ( + 2 * c * np.cosh(k * d) + ) + w = (g * H * np.sinh(k * (z + d)) * np.sin(k * x - omega * t + phase)) / ( + 2 * c * np.cosh(k * d) + ) + u_dot = ( + g * H * np.pi * np.cosh(k * (z + d)) * np.sin(k * x - omega * t + phase) + ) / (L * np.cosh(k * d)) + w_dot = -( + g * H * np.pi * np.sinh(k * (z + d)) * np.cos(k * x - omega * t + phase) + ) / (L * np.cosh(k * d)) + + nu_w = np.zeros((6, 1)) + nu_w[0][0] = -u + nu_w[2][0] = -w + nu_w[3][0] = -u_dot + nu_w[5][0] = -w_dot + return nu_w + + def run_mpc(self, x0, xr): + """This function runs the MPC controller. + + Args: + x0: Initial vehicle pose + xr: Desired vehicle pose + + Returns: + u: Control input + wrench: Thruster forces + done: True if the vehicle has reached the desired pose + """ + process_t0 = time.perf_counter() + self.distance = np.linalg.norm(x0[0:3, :] - xr[0:3, :]) + + x0[3:6, :] = self.wrap_pi2negpi(x0[3:6, :]) + # xr[5, :] += np.pi + xr[3:6, :] = self.wrap_pi2negpi(xr[3:6, :]) + + self.yaw_diff = abs((((x0[5, :] - xr[5, :]) + np.pi) % (2 * np.pi)) - np.pi)[0] + + if self.distance < self.tolerance and self.yaw_diff < self.yaw_tolerance: + return np.zeros((8, 1)), np.zeros((6, 1)), True + + else: + nu_w = self.compute_wave_particle_vel(x0[0:6, :], self.t_span[self.time_id]) + rospy.logwarn(f"Wave Info: {nu_w}") + self.auv.nu_w = nu_w + u, wrench = self.mpc.run_mpc(x0, xr) + + self.comp_time = time.perf_counter() - process_t0 + + print( + f"T = {round(self.t_span[self.time_id],3)}s, Time Index = {self.time_id}" + ) + print(f"Computation Time = {round(self.comp_time,3)}s") + print("----------------------------------------------") + print(f"MPC Contol Input: {np.round(u, 2).T}") + print("----------------------------------------------") + print(f"Axes Forces: {np.round(wrench, 2).T}") + print("----------------------------------------------") + print(f"Initial Vehicle Pose: {np.round(x0[0:6], 3).T}") + print(f"Initial Vehicle Velocity: {np.round(x0[6:12], 3).T}") + # print("----------------------------------------------") + # print(f"Sim Vehicle Pose: {np.round(x_sim[0:6], 3).T}") + # print(f"Sim Vehicle Velocity: {np.round(x_sim[6:12], 3).T}") + print("----------------------------------------------") + print(f"Dock Pose: {np.round(xr[0:6], 3).T}") + print(f"Dock Velocity: {np.round(xr[6:12], 3).T}") + print("----------------------------------------------") + print(f"Path length: {np.round(self.path_length, 3)}") + print(f"(Dock-AUV) Distance to go: {np.round(self.distance, 3)}") + print(f"(Dock-AUV) Yaw difference: {np.round(self.yaw_diff, 3)}") + print("----------------------------------------------") + # print("") + + self.time_id += 1 + + return u, wrench, False + + +if __name__ == "__main__": + mpc = MPControl() diff --git a/docking_control/src/docking_control/auv_hinsdale.py b/docking_control/src/docking_control/auv_hinsdale.py new file mode 100755 index 0000000..bc03b29 --- /dev/null +++ b/docking_control/src/docking_control/auv_hinsdale.py @@ -0,0 +1,343 @@ +import pdb + +import numpy as np +import yaml +from casadi import ( + SX, + cos, + diag, + fabs, + if_else, + inv, + mtimes, + sin, + skew, + tan, + vertcat, +) + + +class AUV(object): + def __init__(self, vehicle_dynamics): + """This class is used to define the dynamics of the AUV. + + Args: + vehicle_dynamics: A dictionary containing the vehicle dynamics parameters. + """ + self.vehicle_length = vehicle_dynamics["vehicle_length"] + self.vehicle_mass = vehicle_dynamics["vehicle_mass"] + self.rb_mass = vehicle_dynamics["rb_mass"] + self.added_mass = vehicle_dynamics["added_mass"] + self.lin_damp = vehicle_dynamics["lin_damp"] + self.quad_damp = vehicle_dynamics["quad_damp"] + self.tcm = vehicle_dynamics["tcm"] + self.inertial_terms = vehicle_dynamics["inertial_terms"] + self.inertial_skew = vehicle_dynamics["inertial_skew"] + self.r_gb_skew = vehicle_dynamics["r_gb_skew"] + self.W = vehicle_dynamics["W"] + self.B = vehicle_dynamics["B"] + self.cog = vehicle_dynamics["cog"] + self.cob = vehicle_dynamics["cob"] + self.cog_to_cob = self.cog - self.cob + self.neutral_bouy = vehicle_dynamics["neutral_bouy"] + self.curr_timestep = 0.0 + self.ocean_current_data = [] + self.nu_w = np.zeros((6, 1)) + + # Precompute the total mass matrix (w/added mass) inverted for future dynamic calls + self.mass_inv = inv(self.rb_mass + self.added_mass) + self.rb_mass_inv = inv(self.rb_mass) + self.added_mass_inv = inv(self.added_mass) + + @classmethod + def load_params(cls, filename): + f = open(filename, "r") + params = yaml.load(f.read(), Loader=yaml.SafeLoader) + + l = params["l"] + m = params["m"] + Ixx = params["Ixx"] + Iyy = params["Iyy"] + Izz = params["Izz"] + I_b = SX.eye(3) * [Ixx, Iyy, Izz] + + skew_r_gb = skew(SX(params["cog"])) + skew_I = skew([Ixx, Iyy, Izz]) + + rb_mass = diag(SX([m, m, m, Ixx, Iyy, Izz])) + rb_mass[0:3, 3:6] = -m * skew_r_gb + rb_mass[3:6, 0:3] = m * skew_r_gb + + vehicle_dynamics = {} + vehicle_dynamics["vehicle_length"] = l + vehicle_dynamics["vehicle_mass"] = m + vehicle_dynamics["rb_mass"] = rb_mass + vehicle_dynamics["added_mass"] = -diag(SX(params["m_added"])) + vehicle_dynamics["lin_damp"] = -diag(SX(params["d_lin"])) + vehicle_dynamics["quad_damp"] = -diag(SX(params["d_quad"])) + vehicle_dynamics["tcm"] = SX(params["tcm"]) + vehicle_dynamics["r_gb_skew"] = skew_r_gb + vehicle_dynamics["inertial_skew"] = skew_I + vehicle_dynamics["inertial_terms"] = I_b + vehicle_dynamics["W"] = params["W"] + vehicle_dynamics["B"] = params["B"] + vehicle_dynamics["cog"] = SX(params["cog"]) + vehicle_dynamics["cob"] = SX(params["cob"]) + vehicle_dynamics["neutral_bouy"] = params["neutral_bouy"] + + return cls(vehicle_dynamics) + + def compute_transformation_matrix(self, x): + """This function computes the transformation matrix from Body to NED frame + based on Fossen's book. + + Args: + x: vehicle pose 6 dof + + Returns: + tf_mtx: transformation matrix + """ + rot_mtx = SX.eye(3) + rot_mtx[0, 0] = cos(x[5]) * cos(x[4]) + rot_mtx[0, 1] = -sin(x[5]) * cos(x[3]) + cos(x[5]) * sin(x[4]) * sin(x[3]) + rot_mtx[0, 2] = sin(x[5]) * sin(x[3]) + cos(x[5]) * cos(x[3]) * sin(x[4]) + rot_mtx[1, 0] = sin(x[5]) * cos(x[4]) + rot_mtx[1, 1] = cos(x[5]) * cos(x[3]) + sin(x[3]) * sin(x[4]) * sin(x[5]) + rot_mtx[1, 2] = -cos(x[5]) * sin(x[3]) + sin(x[4]) * sin(x[5]) * cos(x[3]) + rot_mtx[2, 0] = -sin(x[4]) + rot_mtx[2, 1] = cos(x[4]) * sin(x[3]) + rot_mtx[2, 2] = cos(x[4]) * cos(x[3]) + + t_mtx = SX.eye(3) + t_mtx[0, 1] = sin(x[3]) * tan(x[4]) + t_mtx[0, 2] = cos(x[3]) * tan(x[4]) + t_mtx[1, 1] = cos(x[3]) + t_mtx[1, 2] = -sin(x[3]) + t_mtx[2, 1] = sin(x[3]) / cos(x[4]) + t_mtx[2, 2] = cos(x[3]) / cos(x[4]) + + tf_mtx = SX.eye(6) + tf_mtx[0:3, 0:3] = rot_mtx + tf_mtx[3:, 3:] = t_mtx + + return tf_mtx + + def compute_C_RB_force(self, v): + """This function computes the Coriolis force due to rigid body motion + based on Fossen's book. + + Args: + v: vehicle velocity + + Returns: + coriolis_force: Coriolis force matrix + """ + v1 = v[0:3, 0] + v2 = v[3:6, 0] + + skew_v1 = skew(v1) + skew_v2 = skew(v2) + skew_I_v2 = skew(mtimes(self.inertial_terms, v2)) + + coriolis_force = SX.zeros((6, 6)) + coriolis_force[0:3, 0:3] = self.vehicle_mass * skew_v2 + coriolis_force[0:3, 3:6] = self.vehicle_mass * ( + -skew_v1 - mtimes(skew_v2, self.r_gb_skew) + ) + coriolis_force[3:6, 0:3] = self.vehicle_mass * ( + -skew_v1 + mtimes(self.r_gb_skew, skew_v2) + ) + coriolis_force[3:6, 3:6] = -skew_I_v2 + return coriolis_force + + def compute_C_A_force(self, v): + """This function computes the Coriolis force due to added mass + based on Fossen's book. + + Args: + v: vehicle velocity + + Returns: + coriolis_force: Coriolis force matrix + """ + v1 = v[0:3, 0] + v2 = v[3:6, 0] + + A_11 = self.added_mass[0:3, 0:3] + A_12 = self.added_mass[0:3, 3:6] + A_21 = self.added_mass[3:6, 0:3] + A_22 = self.added_mass[3:6, 3:6] + + coriolis_force = SX.zeros((6, 6)) + coriolis_force[0:3, 3:6] = -skew(mtimes(A_11, v1) + mtimes(A_12, v2)) + coriolis_force[3:6, 0:3] = -skew(mtimes(A_11, v1) + mtimes(A_12, v2)) + coriolis_force[3:6, 3:6] = -skew(mtimes(A_21, v1) + mtimes(A_22, v2)) + return coriolis_force + + def compute_damping_force(self, v): + """This function computes the damping force based on Fossen's book. + + Args: + v: vehicle velocity + + Returns: + damping_force: damping force matrix + """ + damping_force = (self.quad_damp * fabs(v)) + self.lin_damp + return damping_force + + def compute_restorive_force(self, x): + """This function computes the restorive force based on Fossen's book. + + Args: + x: vehicle pose 6 dof + + Returns: + restorive_force: restorive force matrix + """ + if self.neutral_bouy: + restorive_force = (self.cog_to_cob * self.W) * vertcat( + 0.0, 0.0, 0.0, cos(x[4]) * sin(x[3]), sin(x[4]), 0.0 + ) + else: + restorive_force = vertcat( + (self.W - self.B) * sin(x[4]), + -(self.W - self.B) * cos(x[4]) * sin(x[3]), + -(self.W - self.B) * cos(x[4]) * cos(x[3]), + -(self.cog[1] * self.W - self.cob[1] * self.B) * cos(x[4]) * cos(x[3]) + + (self.cog[2] * self.W - self.cob[2] * self.B) * cos(x[4]) * sin(x[3]), + (self.cog[2] * self.W - self.cob[2] * self.B) * sin(x[4]) + + (self.cog[0] * self.W - self.cob[0] * self.B) * cos(x[4]) * cos(x[3]), + -(self.cog[0] * self.W - self.cob[0] * self.B) * cos(x[4]) * sin(x[3]) + - (self.cog[1] * self.W - self.cob[1] * self.B) * sin(x[4]), + ) + return restorive_force + + def compute_wave_force(self): + """This function computes the wave force influencing the vehicle's motion. + + Returns: + wave_force: wave force matrix + """ + nu_w = self.nu_w[0:3, :] + nu_w_dot = self.nu_w[3:6, :] + wave_force = SX.zeros((6, 1)) + wave_force[0, 0] = ( + self.added_mass[0, 0] * nu_w_dot[0, 0] + + (self.lin_damp[0, 0] + (self.quad_damp[0, 0] * fabs(nu_w[0, 0]))) + * nu_w[0, 0] + ) + wave_force[2, 0] = ( + self.added_mass[2, 2] * nu_w_dot[2, 0] + + (self.lin_damp[2, 2] + (self.quad_damp[2, 2] * fabs(nu_w[2, 0]))) + * nu_w[2, 0] + ) + wave_force[4, 0] = 0 + return wave_force + + def compute_nonlinear_dynamics( + self, + x, + u, + f_B=SX.zeros((3, 1)), + f_B_dot=SX.zeros((3, 1)), + nu_w=SX.zeros((3, 1)), + nu_w_dot=SX.zeros((3, 1)), + f_est=False, + complete_model=False, + ): + """This function computes the nonlinear dynamics of the AUV. + + Args: + x: vehicle state 12 dof + u: control input 6 dof + f_B: flow velocity in body frame. Defaults to SX.zeros((3,1)). + f_B_dot: flow acceleration in body frame. Defaults to SX.zeros((3,1)). + nu_w: wave velocity. Defaults to SX.zeros((3,1)). + nu_w_dot: wave acceleration. Defaults to SX.zeros((3,1)). + f_est: flag for flow state estimation. Defaults to False. + complete_model: vehicle model. Defaults to False. + + Returns: + x_dot: vehicle state derivative + """ + eta = x[0:6, :] + nu_r = x[6:12, :] + + # Gets the transformation matrix to convert from Body to NED frame + tf_mtx = self.compute_transformation_matrix(eta) + tf_mtx_inv = inv(tf_mtx) + + # nu_c = SX.zeros(6,1) + nu_c = vertcat(f_B, SX.zeros((3, 1))) + # nu_c = vertcat(f, SX.zeros(3,1)) + # nu_c_dot = SX.zeros((6,1)) + + # Converts ocean current disturbances to Body frame + # nu_c = mtimes(tf_mtx_inv, nu_c_ned) + + # Computes total vehicle velocity + nu = nu_r + nu_c + + # Computes the ocean current acceleration in Body frame + skew_mtx = SX.eye(6) + skew_mtx[0:3, 0:3] = -skew(nu_r[3:6]) + nu_c_dot = if_else( + f_est, mtimes(skew_mtx, nu_c), vertcat(f_B_dot, SX.zeros((3, 1))) + ) + # nu_c_dot = jacobian(nu_c, t) + + # Kinematic Equation + # Convert the relative velocity from Body to NED and add it with the + # ocean current velocity in NED to get the total velocity of the vehicle in NED + + # eta_dot = mtimes(tf_mtx, nu_r) + nu_c_ned + eta_dot = if_else( + complete_model, mtimes(tf_mtx, (nu_r + nu_c)), mtimes(tf_mtx, nu_r) + ) + + # eta_dot = mtimes(tf_mtx, (nu_r + nu_c)) + + # Force computation + # thruster_force = mtimes(self.tcm, u) + thruster_force = u + restorive_force = self.compute_restorive_force(eta) + damping_force = self.compute_damping_force(nu_r) + coriolis_force_rb = self.compute_C_RB_force(nu) + coriolis_force_added = self.compute_C_A_force(nu_r) + coriolis_force_RB_A = self.compute_C_RB_force(nu_r) + self.compute_C_A_force( + nu_r + ) + wave_force = self.compute_wave_force() + + # Full Body Dynamics + nu_r_dot = if_else( + complete_model, + mtimes( + self.mass_inv, + ( + thruster_force + + wave_force + - mtimes(self.rb_mass, nu_c_dot) + - mtimes(coriolis_force_rb, nu) + - mtimes(coriolis_force_added, nu_r) + - mtimes(damping_force, nu_r) + - restorive_force + ), + ), + mtimes( + self.mass_inv, + ( + thruster_force + + wave_force + - mtimes(coriolis_force_RB_A, nu_r) + - mtimes(damping_force, nu_r) + - restorive_force + ), + ), + ) + + x_dot = vertcat(eta_dot, nu_r_dot) + # chi_dot = vertcat(eta_dot, nu_r_dot, nu_c_dot) + + return x_dot diff --git a/docking_control/src/docking_control/manager.py b/docking_control/src/docking_control/manager.py new file mode 100755 index 0000000..0497b86 --- /dev/null +++ b/docking_control/src/docking_control/manager.py @@ -0,0 +1,344 @@ +#!/usr/bin/env python3 + +from copy import deepcopy +import rospy +from geographic_msgs.msg import GeoPoint, GeoPointStamped +from mavros_msgs.msg import OverrideRCIn, Param, ParamValue +from mavros_msgs.srv import CommandHome, MessageInterval +from mavros_msgs.srv import ParamPull, ParamGet, ParamSet, ParamSetRequest, ParamSetResponse +from std_srvs.srv import SetBool, SetBoolResponse + + +class Manager: + """Provides an interface between custom controllers and the BlueROV2.""" + + STOPPED_PWM = 1500 + + def __init__(self): + """Create a new control manager.""" + rospy.init_node("blue_manager", anonymous=True) + + self.num_thrusters = rospy.get_param("~num_thrusters", 8) + self.timeout = rospy.get_param("~mode_change/timeout", 1.0) + self.retries = rospy.get_param("~mode_change/retries", 3) + + self.passthrough_enabled = False + + self.thruster_params_backup = {f"SERVO{i}_FUNCTION": None for i in range(1, self.num_thrusters + 1)} + + # Publishers + self.override_rc_in_pub = rospy.Publisher( + "/mavros/rc/override", OverrideRCIn, queue_size=10 + ) + self.gp_origin_pub = rospy.Publisher( + "/mavros/global_position/set_gp_origin", GeoPointStamped, queue_size=10 + ) + + # Subscribers + # self.param_event_sub = rospy.Subscriber( + # "/mavros/param/event", Param, self.backup_thruster_params_cb + # ) + + self.backup_thruster_params_cb() + + # Services + self.set_pwm_passthrough_srv = rospy.Service( + "/blue/cmd/enable_passthrough", SetBool, self.set_rc_passthrough_mode_cb + ) + + # Service clients + self.set_param_srv_client = rospy.ServiceProxy( + "/mavros/param/set", ParamSet + ) + self.set_message_rates_client = rospy.ServiceProxy( + "/mavros/set_message_interval", MessageInterval + ) + self.set_home_pos_client = rospy.ServiceProxy( + "/mavros/cmd/set_home", CommandHome + ) + self.pull_param_client = rospy.ServiceProxy( + "/mavros/param/pull", ParamPull) + + self.get_param_client = rospy.ServiceProxy( + "/mavros/param/get", ParamGet) + + # Set the intervals at which the desired MAVLink messages are sent + def set_message_rates(message_ids, message_rates): + for msg, rate in zip(message_ids, message_rates): + self.set_message_rates_client( + message_id=msg, message_rate=rate + ) + + message_request_rate = rospy.get_param("~message_intervals/request_interval", 30.0) + message_ids = rospy.get_param("~message_intervals/ids", [31, 32]) + message_rates = rospy.get_param("~message_intervals/rates", [100.0, 100.0]) + + # We set the intervals periodically to handle the situation in which + # users launch QGC which requests different rates on boot. + self.message_rate_timer = rospy.Timer( + rospy.Duration(message_request_rate), + lambda event: set_message_rates(message_ids, message_rates), + ) + + # Set the home position + def set_home_pos(lat, lon, alt, yaw): + self.set_home_pos_client( + current_gps=False, + yaw=yaw, + latitude=lat, + longitude=lon, + altitude=alt, + ) + + # Set the home position. Some folks have discussed that this is necessary for + # GUIDED mode + home_lat = rospy.get_param("~home_position/latitude", 44.65870) + home_lon = rospy.get_param("~home_position/longitude", -124.06556) + home_alt = rospy.get_param("~home_position/altitude", 0.0) + home_yaw = rospy.get_param("~home_position/yaw", 270.0) + hp_request_rate = rospy.get_param("~home_position/request_interval", 30.0) + + # Similar to the message rates, we set the home position periodically to handle + # the case in which the home position is set by QGC to a different location + self.home_pos_timer = rospy.Timer( + rospy.Duration(hp_request_rate), + lambda event: set_home_pos(home_lat, home_lon, home_alt, home_yaw), + ) + + # Now, set the EKF origin. This is necessary to enable GUIDED mode and other + # autonomy features with ArduSub + origin_lat = rospy.get_param("~ekf_origin/latitude", 44.65870) + origin_lon = rospy.get_param("~ekf_origin/longitude", -124.06556) + origin_alt = rospy.get_param("~ekf_origin/altitude", 0.0) + + # Normally, we would like to set the QoS policy to use transient local + # durability, but MAVROS uses the volatile durability setting for its + # subscriber. Consequently, we need to publish this every once-in-a-while + # to make sure that it gets set + self.set_ekf_origin_timer = rospy.Timer( + rospy.Duration(15.0), + lambda event: self.set_ekf_origin_cb( + GeoPoint(latitude=origin_lat, longitude=origin_lon, altitude=origin_alt) + ), + ) + + @property + def params_successfully_backed_up(self): + """Whether or not the thruster parameters are backed up. + + Returns: + Whether or not the parameters are backed up. + """ + return None not in self.thruster_params_backup.values() + + # def backup_thruster_params_cb(self, event): + # """Backup the default thruster parameter values. + + # MAVROS publishes the parameter values of all ArduSub parameters when + # populating the parameter server. We subscribe to this topic to receive the + # messages at the same time as MAVROS so that we can avoid duplicating requests + # to the FCU. + + # Args: + # event: The default parameter loading event triggered by MAVROS. + # """ + # if ( + # event.param_id in self.thruster_params_backup + # and self.thruster_params_backup[event.param_id] is None + # ): + # self.thruster_params_backup[event.param_id] = ParamValue( + # real=event.value + # ) + + # if self.params_successfully_backed_up: + # rospy.loginfo("Successfully backed up the thruster parameters.") + + def backup_thruster_params_cb(self): + """Backup the default thruster parameter values. + + MAVROS publishes the parameter values of all ArduSub parameters when + populating the parameter server. We subscribe to this topic to receive the + messages at the same time as MAVROS so that we can avoid duplicating requests + to the FCU. + + Args: + event: The default parameter loading event triggered by MAVROS. + """ + event_ids = self.thruster_params_backup.keys() + j = 33 + for i in event_ids: + self.thruster_params_backup[i] = ParamValue(real=j) + j += 1 + + if self.params_successfully_backed_up: + rospy.loginfo("Successfully backed up the thruster parameters.") + + def set_rc(self, pwm): + """Set the PWM values of the thrusters. + + Args: + pwm: The PWM values to set the thruster to. The length of the provided list + must be equal to the number of thrusters. + """ + if len(pwm) != self.num_thrusters: + raise ValueError( + "The length of the PWM input must equal the number of thrusters." + ) + + # Change the values of only the thruster channels + channels = pwm + [OverrideRCIn.CHAN_NOCHANGE] * (18 - self.num_thrusters) + self.override_rc_in_pub.publish(OverrideRCIn(channels=channels)) + + def stop_thrusters(self): + """Stop all thrusters.""" + rospy.logwarn("Stopping all BlueROV2 thrusters.") + self.set_rc([self.STOPPED_PWM] * self.num_thrusters) + + def set_thruster_params(self, params): + """Set the thruster parameters. + + Args: + params: The ArduSub parameters to set. + + Returns: + True if the parameters were successfully set, False otherwise. + """ + responses = [] + for key, value in params.items(): + request = ParamSetRequest() + request.param_id = key + request.value = value + response = self.set_param_srv_client(request) + responses.append(response.success) + return all(responses) + + def set_rc_passthrough_mode_cb(self, request): + """Set the RC Passthrough mode. + + RC Passthrough mode enables users to control the BlueROV2 thrusters directly + using the RC channels. It is important that users disable their RC transmitter + prior to enabling RC Passthrough mode to avoid sending conflicting commands to + the thrusters. + + Args: + request: The request to enable/disable RC passthrough mode. + + Returns: + The result of the request. + """ + response = SetBoolResponse() + + if request.data: + if self.passthrough_enabled: + response.success = True + response.message = "The system is already in RC Passthrough mode." + return response + + if not self.thruster_params_backup: + response.success = False + response.message = ( + "The thrusters cannot be set to RC Passthrough mode without first" + " being successfully backed up." + ) + return response + + rospy.logwarn( + "Attempting to switch to the RC Passthrough flight mode. All ArduSub" + " arming and failsafe procedures will be disabled upon success." + ) + + passthrough_params = deepcopy(self.thruster_params_backup) + + # Set the servo mode to "RC Passthrough" + # This disables the arming and failsafe features, but now lets us send PWM + # values to the thrusters without any mixing + try: + for param in passthrough_params.values(): + param.real = 1.0 + except AttributeError: + response.success = False + response.message = ( + "Failed to switch to RC Passthrough mode. Please ensure that all" + " ArduSub parameters have been loaded prior to attempting to" + " switch modes." + ) + return response + + for _ in range(self.retries): + self.passthrough_enabled = self.set_thruster_params(passthrough_params) + response.success = self.passthrough_enabled + + if response.success: + break + + if response.success: + response.message = "Successfully switched to RC Passthrough mode." + + self.stop_thrusters() + else: + response.message = "Failed to switch to RC Passthrough mode." + else: + if not self.thruster_params_backup: + response.success = False + response.message = ( + "The thruster backup parameters have not yet been stored." + ) + + if not self.passthrough_enabled: + response.success = True + response.message = ( + "The system was not in the RC Passthrough mode to start with." + ) + return response + + self.stop_thrusters() + + rospy.logwarn("Attempting to disable RC Passthrough mode.") + + for _ in range(self.retries): + self.passthrough_enabled = not self.set_thruster_params(self.thruster_params_backup) + + response.success = not self.passthrough_enabled + + if response.success: + break + + if response.success: + response.message = "Successfully left RC Passthrough mode." + else: + rospy.logwarn( + "Failed to leave the RC Passthrough mode. If failure persists," + " the following backup parameters may be restored manually using" + f" QGC: {self.thruster_params_backup}" + ) + response.message = ( + "Failed to disable RC Passthrough mode. Good luck soldier." + ) + + rospy.loginfo(response.message) + + return response + + def set_ekf_origin_cb(self, origin): + """Set the EKF origin. + + This is required for navigation on a vehicle with one of the provided + localizers. + + Args: + origin: The EKF origin to set. + """ + origin_stamped = GeoPointStamped() + origin_stamped.header.stamp = rospy.Time.now() + origin_stamped.position = origin + self.gp_origin_pub.publish(origin_stamped) + + +def main(): + """Run the ROV manager.""" + manager = Manager() + rospy.spin() + + +if __name__ == "__main__": + main() diff --git a/docking_control/src/docking_control/marker_detection.py b/docking_control/src/docking_control/marker_detection.py new file mode 100755 index 0000000..7f15122 --- /dev/null +++ b/docking_control/src/docking_control/marker_detection.py @@ -0,0 +1,453 @@ +#!/usr/bin/env python3 + +import yaml +import rospy +import os +import cv2 +import math +import numpy as np +import video as video +import threading +from cv_bridge import CvBridge, CvBridgeError +from sensor_msgs.msg import Image, CameraInfo +from std_msgs.msg import Header +from tf2_ros import TransformException, TransformStamped +from tf2_ros.buffer import Buffer +from tf2_ros.transform_listener import TransformListener +from tf2_ros.transform_broadcaster import TransformBroadcaster +import tf2_geometry_msgs +from geometry_msgs.msg import PoseStamped +from scipy.spatial.transform import Rotation as R +from collections import deque + + +# Marker dictionary +ARUCO_DICT = { + "DICT_4X4_50": cv2.aruco.DICT_4X4_50, + "DICT_4X4_100": cv2.aruco.DICT_4X4_100, + "DICT_4X4_250": cv2.aruco.DICT_4X4_250, + "DICT_4X4_1000": cv2.aruco.DICT_4X4_1000, + "DICT_5X5_50": cv2.aruco.DICT_5X5_50, + "DICT_5X5_100": cv2.aruco.DICT_5X5_100, + "DICT_5X5_250": cv2.aruco.DICT_5X5_250, + "DICT_5X5_1000": cv2.aruco.DICT_5X5_1000, + "DICT_6X6_50": cv2.aruco.DICT_6X6_50, + "DICT_6X6_100": cv2.aruco.DICT_6X6_100, + "DICT_6X6_250": cv2.aruco.DICT_6X6_250, + "DICT_6X6_1000": cv2.aruco.DICT_6X6_1000, + "DICT_7X7_50": cv2.aruco.DICT_7X7_50, + "DICT_7X7_100": cv2.aruco.DICT_7X7_100, + "DICT_7X7_250": cv2.aruco.DICT_7X7_250, + "DICT_7X7_1000": cv2.aruco.DICT_7X7_1000, + "DICT_ARUCO_ORIGINAL": cv2.aruco.DICT_ARUCO_ORIGINAL, + "DICT_APRILTAG_16h5": cv2.aruco.DICT_APRILTAG_16h5, + "DICT_APRILTAG_25h9": cv2.aruco.DICT_APRILTAG_25h9, + "DICT_APRILTAG_36h10": cv2.aruco.DICT_APRILTAG_36h10, + "DICT_APRILTAG_36h11": cv2.aruco.DICT_APRILTAG_36h11, +} + + +class Aruco: + def __init__(self): + """This class is used to detect ArUco markers and estimate the pose of the ROV.""" + self.desired_markers = [2, 7, 8, 9, 10, 11] + # self.desired_markers = [1, 4] + + """ + 7: Inside Left + 8: Inside Right + 2: Bottom Right + 9: Top Left + 10: Top Right + 11: Bottom Left + """ + + self.marker_size = { + 1: 0.20, + 2: 0.10, + 4: 0.15, + 7: 0.05, + 8: 0.10, + 9: 0.10, + 10: 0.10, + 11: 0.10, + } + + # self.marker_offset = {0: [0.21, 0.006], + # 1: [-0.178, 0.012], + # 2: [0.09, -0.12], + # 3: [-0.123, 0.17], + # 4: [0.19, 0.146], + # 5: [-0.15, -0.02]} + + self.service_flag = False + self.bridge = CvBridge() + + self.filter_len = 20 + self.pose_buffer = deque(maxlen=self.filter_len) + + # Default marker dictionary + self.selected_dict = ARUCO_DICT["DICT_6X6_50"] + + # Offset from the ROV's center of gravity (COG) to the camera center + self.camera_offset = [0.16, -0.06] + + # Provide access to TF2 + self.tf_buffer = Buffer() + self.tf_listener = TransformListener(self.tf_buffer) + self.tf_broadcaster = TransformBroadcaster() + + self.initialize_subscribers_publishers() + + self.load_camera_config() + + rospy.Timer(rospy.Duration(0.1), self.marker_detection) + + def load_camera_config(self): + """This function is used to load the camera calibration parameters.""" + cwd = os.path.dirname(__file__) + filename = cwd + "/../../config/in_air/ost.yaml" + f = open(filename, "r") + camera_params = yaml.load(f.read(), Loader=yaml.SafeLoader) + self.cam_mat = np.array( + camera_params["camera_matrix"]["data"], np.float32 + ).reshape(3, 3) + self.proj_mat = np.array( + camera_params["projection_matrix"]["data"], np.float32 + ).reshape(3, 4) + self.dist_mat = np.array( + camera_params["distortion_coefficients"]["data"], np.float32 + ).reshape(1, 5) + + def initialize_subscribers_publishers(self): + """This function is used to initialize the subscribers and publishers.""" + self.image_sub = rospy.Subscriber( + "/BlueROV2/video", Image, self.callback_image, queue_size=1 + ) + self.image_pub = rospy.Publisher( + "/bluerov2_dock/marker_detection", Image, queue_size=1 + ) + self.vision_pose_pub = rospy.Publisher( + "/bluerov2_dock/vision_pose/pose", PoseStamped, queue_size=1 + ) + + def rotation_matrix_to_euler(self, R): + """This function is used to convert a rotation matrix to euler angles. + + Args: + R: Rotation matrix + """ + + def isRotationMatrix(R): + Rt = np.transpose(R) + shouldBeIdentity = np.dot(Rt, R) + I = np.identity(3, dtype=R.dtype) + n = np.linalg.norm(I - shouldBeIdentity) + return n < 1e-6 + + assert isRotationMatrix(R) + + sy = math.sqrt(R[0, 0] * R[0, 0] + R[1, 0] * R[1, 0]) + + singular = sy < 1e-6 + + if not singular: + x = math.atan2(R[2, 1], R[2, 2]) + y = math.atan2(-R[2, 0], sy) + z = math.atan2(R[1, 0], R[0, 0]) + else: + x = math.atan2(-R[1, 2], R[1, 1]) + y = math.atan2(-R[2, 0], sy) + z = 0 + + return np.array([x, y, z], np.float32) + + def callback_image(self, data): + """This function is used to receive the image from the camera. + + Args: + data: Image data + """ + try: + self.image = self.bridge.imgmsg_to_cv2(data, desired_encoding="bgr8") + except CvBridgeError as e: + print(e) + + def marker_detection(self, timerEvent): + """This function is used to detect the ArUco markers and + estimate the pose of the ROV. + + Args: + timerEvent: ROS timer event + + Returns: + None + """ + try: + frame = self.image + except Exception as e: + print("[Aruco][marker_detection] Not receiving any image") + return + + try: + prj_mtx = self.proj_mat + dist_mtx = self.dist_mat + camera_mtx = self.cam_mat + except Exception as e: + print("[Aruco][marker_detection] Not receiving camera info") + return + + gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) + + aruco_dict = cv2.aruco.getPredefinedDictionary(self.selected_dict) + aruco_params = cv2.aruco.DetectorParameters() + detector = cv2.aruco.ArucoDetector(aruco_dict, aruco_params) + + try: + # Marker detection + corners, ids, rejectedImgPoints = detector.detectMarkers(gray) + except BaseException: + print("[Aruco][marker_detection] Error detecting markers") + return + + corner = np.array(corners) + + # If at least one marker is detected, then continue + if ids is not None: + # rospy.logwarn("Markers are present") + + detected_marker_ids = [] + des_marker_corners = [] + + # Loop through the detected markers + for i, j in enumerate(ids): + # If the detected marker is not one of the desired markers, then ignore + if j[0] in self.desired_markers: + # rospy.logwarn("Desired markers are present") + detected_marker_ids.append(j[0]) + des_marker_corners.append(corners[i]) + + detected_marker_ids = np.array(detected_marker_ids) + des_marker_corners = np.array(des_marker_corners) + + cv2.aruco.drawDetectedMarkers( + frame, des_marker_corners, detected_marker_ids + ) + + # if detected_marker_ids.shape[0] > 0: + # print(detected_marker_ids.shape) + # print(des_marker_corners.shape) + # print("Desired markers are present") + + # Marker Pose Estimation + i = 0 + if detected_marker_ids.shape[0] > 0: + # for i in range(des_marker_corners.shape[0]): + marker_id = detected_marker_ids[i] + marker_id_str = "marker_{0}".format(marker_id) + marker_size = self.marker_size[marker_id] + # rospy.logwarn(f"{marker_id} was detected and is used to estimate pose") + # print(i) + # rospy.loginfo("[Aruco][marker_detection] Markers detected") + + marker_points = np.array( + [ + [-marker_size / 2, marker_size / 2, 0], + [marker_size / 2, marker_size / 2, 0], + [marker_size / 2, -marker_size / 2, 0], + [-marker_size / 2, -marker_size / 2, 0], + ], + dtype=np.float32, + ) + + _, rvec, tvec = cv2.solvePnP( + marker_points, des_marker_corners[i], camera_mtx, dist_mtx + ) + + rvec = np.array(rvec).T + tvec = np.array(tvec).T + + # rospy.logwarn(f"Rotation: {rvec} \n Translation: {tvec}") + + # Calculates rodrigues matrix + rmat, _ = cv2.Rodrigues(rvec) + # Convert rmat to euler + # rvec = self.rotation_matrix_to_euler(rmat) + rvec = R.from_matrix(rmat).as_euler("xyz") + + cv2.drawFrameAxes(frame, camera_mtx, dist_mtx, rvec, tvec, 0.1) + + quat = R.from_matrix(rmat).as_quat() + + tf_cam_to_marker = TransformStamped() + tf_cam_to_marker.header.frame_id = "camera_link" + tf_cam_to_marker.child_frame_id = marker_id_str + tf_cam_to_marker.header.stamp = rospy.Time.now() + tf_cam_to_marker.transform.translation.x = tvec[0][0] + tf_cam_to_marker.transform.translation.y = tvec[0][1] + tf_cam_to_marker.transform.translation.z = tvec[0][2] + tf_cam_to_marker.transform.rotation.x = quat[0] + tf_cam_to_marker.transform.rotation.y = quat[1] + tf_cam_to_marker.transform.rotation.z = quat[2] + tf_cam_to_marker.transform.rotation.w = quat[3] + + # self.tf_broadcaster.sendTransform(tf_cam_to_marker) + + # rospy.loginfo(f"TF between camera_link and {marker_id_str} was broadcasted") + # rospy.logwarn(f"TF between cam and marker: {tf_cam_to_marker}") + + # # transform lookup: base_link -> map + # try: + # tf_base_to_map = self.tf_buffer.lookup_transform("map", "base_link", rospy.Time()) + # except TransformException as e: + # rospy.logwarn("[Aruco][marker_detection] Transform unavailable: {0}".format(e)) + # return + + # transform lookup: base_link -> camera_link + try: + tf_base_to_camera = self.tf_buffer.lookup_transform( + "base_link", "camera_link", rospy.Time() + ) + except TransformException as e: + rospy.logwarn( + "[Aruco][marker_detection] Transform unavailable: {0}".format(e) + ) + return + + # transform lookup: marker -> map + try: + tf_marker_to_map = self.tf_buffer.lookup_transform( + marker_id_str, "map", rospy.Time() + ) + except TransformException as e: + rospy.logwarn( + "[Aruco][marker_detection] Transform unavailable: {0}".format(e) + ) + return + + def transform_to_arr(t): + arr = np.eye(4) + arr[:3, 3] = ( + t.transform.translation.x, + t.transform.translation.y, + t.transform.translation.z, + ) + arr[:3, :3] = R.from_quat( + [ + t.transform.rotation.x, + t.transform.rotation.y, + t.transform.rotation.z, + t.transform.rotation.w, + ] + ).as_matrix() + return arr + + def arr_to_pose(arr, frame_id): + pose = PoseStamped() + pose.header.frame_id = frame_id + pose.header.stamp = rospy.Time.now() + pose.pose.position.x = arr[0, 3] + pose.pose.position.y = arr[1, 3] + pose.pose.position.z = arr[2, 3] + quat = R.from_matrix(arr[:3, :3]).as_quat() + pose.pose.orientation.x = quat[0] + pose.pose.orientation.y = quat[1] + pose.pose.orientation.z = quat[2] + pose.pose.orientation.w = quat[3] + return pose + + # tf_base_to_map = transform_to_arr(tf_base_to_camera) @ transform_to_arr(tf_cam_to_marker) @ transform_to_arr(tf_marker_to_map) + tf_base_to_marker = transform_to_arr( + tf_base_to_camera + ) @ transform_to_arr(tf_cam_to_marker) + # rospy.logwarn(f"TF base->camera: {tf_base_to_camera}") + # rospy.logwarn(f"TF camera-> marker: {tf_cam_to_marker}") + # rospy.logwarn(f"TF base->marker: {tf_base_to_marker}") + tf_base_to_map = tf_base_to_marker @ transform_to_arr(tf_marker_to_map) + # rospy.logwarn(f"TF marker->map: {tf_marker_to_map}") + # rospy.logwarn(f"TF base->map: {tf_base_to_map}") + + rov_pose = arr_to_pose(np.linalg.inv(tf_base_to_map), "map") + # rospy.logwarn(f"Not reaching here") + + # rov_pose = PoseStamped() + # rov_pose.header.frame_id = "map" + # rov_pose.header.stamp = rospy.Time.now() + # rov_pose.pose.position.x = tf_base_to_map.transform.translation.x + # rov_pose.pose.position.y = tf_base_to_map.transform.translation.y + # rov_pose.pose.position.z = tf_base_to_map.transform.translation.z + # rov_pose.pose.orientation.x = tf_base_to_map.transform.rotation.x + # rov_pose.pose.orientation.y = tf_base_to_map.transform.rotation.y + # rov_pose.pose.orientation.z = tf_base_to_map.transform.rotation.z + # rov_pose.pose.orientation.w = tf_base_to_map.transform.rotation.w + + rov_orientation = R.from_quat( + [ + rov_pose.pose.orientation.x, + rov_pose.pose.orientation.y, + rov_pose.pose.orientation.z, + rov_pose.pose.orientation.w, + ] + ).as_euler("xyz") + + rov_pose_arr = np.array( + [ + rov_pose.pose.position.x, + rov_pose.pose.position.y, + rov_pose.pose.position.z, + rov_orientation, + ] + ) + + self.pose_buffer.append(rov_pose_arr) + + if len(self.pose_buffer) < self.pose_buffer.maxlen: + return + + def moving_average(data): + data = np.array(data) + weights = np.arange(len(data)) + 1 + + # Apply the LWMA filter and return + return np.array( + [ + np.sum(np.prod(np.vstack((axis, weights)), axis=0)) + / np.sum(weights) + for axis in data.T + ] + ) + + filtered_pose = moving_average(self.pose_buffer) + + rov_pose.pose.position.x = filtered_pose[0] + rov_pose.pose.position.y = filtered_pose[1] + rov_pose.pose.position.z = filtered_pose[2] + + quat = R.from_euler("xyz", filtered_pose[3:][0]).as_quat() + rov_pose.pose.orientation.x = quat[0] + rov_pose.pose.orientation.y = quat[1] + rov_pose.pose.orientation.z = quat[2] + rov_pose.pose.orientation.w = quat[3] + + # rospy.loginfo("[Aruco][marker_detection] ROV Pose: {0}".format(rov_pose)) + # rospy.logwarn(f"Pose: {rov_pose}") + self.vision_pose_pub.publish(rov_pose) + # rospy.logwarn("Published") + + cv2.circle( + frame, + (int(frame.shape[1] / 2), int(frame.shape[0] / 2)), + radius=5, + color=(255, 0, 0), + ) + cv2.imshow("marker", frame) + cv2.waitKey(1) + + +if __name__ == "__main__": + rospy.init_node("marker_detection", anonymous=True) + obj = Aruco() + try: + rospy.spin() + except KeyboardInterrupt: + print("shutting down the node") diff --git a/docking_control/src/docking_control/mission_control.py b/docking_control/src/docking_control/mission_control.py new file mode 100755 index 0000000..6286114 --- /dev/null +++ b/docking_control/src/docking_control/mission_control.py @@ -0,0 +1,591 @@ +#!/usr/bin/env python3 + +import rospy +import time +import numpy as np +import sys +import pandas as pd +import os + +sys.path.insert( + 0, "/home/darth/workspace/bluerov2_ws/src/bluerov2_dock/src/bluerov2_dock" +) + +try: + import video +except BaseException: + import bluerov2_dock.video as video + +from auto_dock import MPControl + +from std_msgs.msg import Header, Float32MultiArray, MultiArrayDimension +from geometry_msgs.msg import Pose, Twist, PoseStamped, TwistStamped, WrenchStamped +from sensor_msgs.msg import Joy, BatteryState, FluidPressure +from nav_msgs.msg import Odometry +from mavros_msgs.msg import OverrideRCIn, State +from tf2_ros import TransformException, TransformStamped +from tf2_ros.buffer import Buffer +from tf2_ros.transform_listener import TransformListener +import tf2_geometry_msgs +from mavros_msgs.srv import CommandBool +from std_srvs.srv import SetBool +from scipy.spatial.transform import Rotation as R + + +class BlueROV2: + def __init__(self) -> None: + # Set flag for manual or auto mode + self.mode_flag = "manual" + + # Set boolean to note when to send a blank button + # (needed to get lights to turn on/off) + self.reset_button_press = False + + # Set up pulse width modulation (pwm) values + self.neutral_pwm = 1500 + # self.max_pwm_auto = 1600 + # self.min_pwm_auto = 1400 + self.max_pwm_manual = 1700 + self.min_pwm_manual = 1300 + self.max_possible_pwm = 1900 + self.min_possible_pwm = 1100 + + self.deadzone_pwm = [1470, 1530] + + # Provide access to TF2 + self.tf_buffer = Buffer() + self.tf_listener = TransformListener(self.tf_buffer) + + self.override = None + + self.mocap_flag = False + + self.rov_odom = None + self.dock_odom = None + + self.first_pose_flag = True + self.previous_rov_pose = None + self.rov_pose_sub_time = None + + self.first_fid_flag = True + self.previous_fid_pose = None + self.fid_pose_sub_time = None + self.rov_pose = None + self.rov_twist = None + + self.image_idx = 0 + self.light_level = 1500 + self.rc_passthrough_flag = False + + self.load_pwm_lookup() + + self.mpc = MPControl() + + # Set up dictionary to store subscriber data + self.sub_data_dict = {} + + self.initialize_subscribers() + self.initialize_publishers() + self.initialize_services() + # self.initialize_timers() + + def load_pwm_lookup(self): + """Load the lookup table for converting thrust to pwm values""" + cwd = os.path.dirname(__file__) + # csv = pd.read_csv("/home/darth/workspace/bluerov2_ws/src/bluerov2_dock/data/T200_data_16V.csv") + csv = pd.read_csv(cwd + "/../../data/T200_data_16V.csv") + + thrust_vals = csv["Force"].tolist() + neg_thrust = [i for i in thrust_vals if i < 0] + pos_thrust = [i for i in thrust_vals if i > 0] + zero_thrust = [i for i in thrust_vals if i == 0] + + pwm_vals = csv["PWM"].tolist() + neg_t_pwm = [pwm_vals[i] for i in range(len(neg_thrust))] + zero_t_pwm = [ + pwm_vals[i] + for i in range(len(neg_thrust), len(neg_thrust) + len(zero_thrust)) + ] + pos_t_pwm = [ + pwm_vals[i] + for i in range(len(neg_thrust) + len(zero_thrust), len(thrust_vals)) + ] + + self.neg_thrusts = np.array(neg_thrust) + self.pos_thrusts = np.array(pos_thrust) + self.neg_pwm = np.array(neg_t_pwm) + self.pos_pwm = np.array(pos_t_pwm) + + def initialize_subscribers(self): + # Set up subscribers + self.joy_sub = rospy.Subscriber("/joy", Joy, self.store_sub_data, "joy") + self.battery_sub = rospy.Subscriber( + "/mavros/battery", BatteryState, self.store_sub_data, "battery" + ) + self.state_subs = rospy.Subscriber( + "/mavros/state", State, self.store_sub_data, "state" + ) + self.pressure_sub = rospy.Subscriber( + "/mavros/imu/static_pressure", FluidPressure, self.pressure_cb + ) + self.rov_pose_sub = rospy.Subscriber( + "/bluerov2_dock/vision_pose/pose", PoseStamped, self.rov_pose_cb + ) + # self.rov_vel_sub = rospy.Subscriber('/mavros/local_position/velocity_body', TwistStamped, self.rov_vel_cb) + + def initialize_publishers(self): + # Set up publishers + # self.control_pub = rospy.Publisher('/mavros/rc/override', OverrideRCIn, queue_size=1) + self.control_pub = rospy.Publisher( + "/bluerov2_dock/pwm", OverrideRCIn, queue_size=1 + ) + self.mpc_pwm_pub = rospy.Publisher( + "/bluerov2_dock/mpc_pwm", OverrideRCIn, queue_size=1 + ) + self.mpc_output = rospy.Publisher( + "/bluerov2_dock/mpc", Float32MultiArray, queue_size=1 + ) + self.rov_odom_pub = rospy.Publisher( + "/bluerov2_dock/rov_odom", Odometry, queue_size=1 + ) + self.mpc_wrench_pub = rospy.Publisher( + "/bluerov2_dock/mpc_wrench", WrenchStamped, queue_size=1 + ) + + def initialize_services(self): + # Initialize arm/disarm service + self.arm_srv = rospy.ServiceProxy("/mavros/cmd/arming", CommandBool) + # Enable/Disable RC Passthrough Mode + self.rc_passthrough_srv = rospy.ServiceProxy( + "/blue/cmd/enable_passthrough", SetBool + ) + + def initialize_timers(self): + """Initialize the timer for the control loop""" + rospy.Timer(rospy.Duration(0.05), self.timer_cb) + + def wrap_pi2negpi(self, angle): + """Wrap angle to [-pi, pi]""" + return ((angle + np.pi) % (2 * np.pi)) - np.pi + + def pressure_cb(self, data): + """Callback function for the pressure sensor + + Args: + data: FluidPressure message + """ + try: + pressure = data.fluid_pressure + rho = 1000 + g = 9.8 + self.depth = pressure / (rho * g) + except Exception as e: + rospy.logerr_throttle( + 10, "[BlueROV2][pressure_cb] Not receiving pressure readings" + ) + + def rov_pose_cb(self, pose): + """Callback function for the ROV's pose + + Args: + pose: PoseStamped message + """ + + # try: + # pose = self.tf_buffer.transform(data, "map_ned") + # except TransformException as e: + # rospy.logwarn("[BlueROV2][rov_pose_cb] Could not transform pose data from map to map_ned: {}".format(e)) + # return + + try: + x = pose.pose.orientation.x + y = pose.pose.orientation.y + z = pose.pose.orientation.z + w = pose.pose.orientation.w + euler = R.from_quat([x, y, z, w]).as_euler("xyz") + roll = euler[0] + pitch = -euler[1] + yaw = -euler[2] + self.rov_pose = np.zeros((6, 1)) + self.rov_pose[0][0] = pose.pose.position.x + self.rov_pose[1][0] = -pose.pose.position.y + self.rov_pose[2][0] = -pose.pose.position.z + self.rov_pose[3][0] = 0.0 + self.rov_pose[4][0] = 0.0 + self.rov_pose[5][0] = yaw + + if self.first_pose_flag: + self.rov_pose_sub_time = pose.header.stamp.to_sec() + self.previous_rov_pose = self.rov_pose + self.first_pose_flag = False + else: + del_time = pose.header.stamp.to_sec() - self.rov_pose_sub_time + rov_pose_diff = self.rov_pose - self.previous_rov_pose + rov_twist = rov_pose_diff / del_time + + self.rov_twist = rov_twist + + self.rov_pose_sub_time = time.time() + self.previous_rov_pose = self.rov_pose + + self.rov_odom = np.vstack((self.rov_pose, self.rov_twist)) + + rov_odom = Odometry() + rov_odom.header.frame_id = "map_ned" + rov_odom.header.stamp = rospy.Time.now() + rov_odom.pose.pose.position.x = self.rov_odom[0][0] + rov_odom.pose.pose.position.y = self.rov_odom[1][0] + rov_odom.pose.pose.position.z = self.rov_odom[2][0] + quat = R.from_euler("xyz", + [self.rov_odom[3][0], self.rov_odom[4][0], self.rov_odom[5][0]] + ).as_quat() + rov_odom.pose.pose.orientation.x = quat[0] + rov_odom.pose.pose.orientation.y = quat[1] + rov_odom.pose.pose.orientation.z = quat[2] + rov_odom.pose.pose.orientation.w = quat[3] + rov_odom.twist.twist.linear.x = self.rov_odom[6][0] + rov_odom.twist.twist.linear.y = self.rov_odom[7][0] + rov_odom.twist.twist.linear.z = self.rov_odom[8][0] + rov_odom.twist.twist.angular.x = self.rov_odom[9][0] + rov_odom.twist.twist.angular.y = self.rov_odom[10][0] + rov_odom.twist.twist.angular.z = self.rov_odom[11][0] + + self.rov_odom_pub.publish(rov_odom) + # print(self.rov_pose) + except Exception as e: + rospy.logerr_throttle( + 10, "[BlueROV2][rov_pose_cb] Not receiving ROV's Position" + ) + + def rov_vel_cb(self, vel): + """Callback function for the ROV's velocity + + Args: + vel: TwistStamped message + """ + try: + self.rov_twist = np.zeros((6, 1)) + self.rov_twist[0][0] = vel.twist.linear.x + self.rov_twist[1][0] = -vel.twist.linear.y + self.rov_twist[2][0] = -vel.twist.linear.z + # self.rov_twist[3][0] = vel.twist.angular.x + # self.rov_twist[4][0] = -vel.twist.angular.y + self.rov_twist[5][0] = -vel.twist.angular.z + self.rov_twist[3][0] = 0.0 + self.rov_twist[4][0] = 0.0 + # self.rov_twist[5][0] = 0.0 + # print(self.rov_twist) + except Exception as e: + rospy.logerr_throttle( + 10, "[BlueROV2][rov_vel_cb] Not receiving ROV's velocity" + ) + + def store_sub_data(self, data, key): + """Store subscriber data in a dictionary + + Args: + data: Subscriber data + key: Key to store the data + """ + try: + self.sub_data_dict[key] = data + except Exception as e: + rospy.logerr_throttle( + 10, "[BlueROV2][store_sub_data] Not receiving {} data".format(key) + ) + + def thrust_to_pwm(self, thrust): + """Convert thrust values to pwm values + + Args: + thrust: Thrust values + + Returns: + pwm: PWM values + """ + values = [] + thrust = thrust.flatten() + + try: + for i in range(8): + t = thrust[i] / 9.8 + t = np.round(t, 3) + + if t > 0.0: + p = np.interp(t, self.pos_thrusts, self.pos_pwm) + elif t < 0.0: + p = np.interp(t, self.neg_thrusts, self.neg_pwm) + else: + p = 1500 + + values.append(round(p)) + + pwm = values + + except Exception as e: + rospy.logerr_throttle( + 10, + "[BlueROV2][thrust_to_pwm] Error in thrust to pwm conversion. Setting neutral pwm", + ) + pwm = [self.neutral_pwm for _ in range(8)] + + return pwm + + def calculate_pwm_from_thrust_curve(self, force): + # The thrust curve is only accurate over the following force range, so we restrict the input + # forces to that range + min_force = -40.0 + max_force = 60.0 + + force = np.clip(force, min_force, max_force) + + # Coefficients for the 4th-degree polynomial fit to the thrust curve for the T200 run using + # a battery at 18v. The polynomial was identified using Matlab's `fit` function. + p00 = 1498 + p01 = 12.01 + p02 = -0.04731 + p03 = -0.002098 + p04 = 0.00002251 + + pwm = p00 + p01 * force + p02 * force**2 + p03 * force**3 + p04 * force**4 + + pwm = np.round(pwm) + pwm = pwm.tolist() + pwm = [int(i) for i in pwm] + + return pwm + + def arm(self): + """Arm the vehicle""" + rospy.wait_for_service("/mavros/cmd/arming") + self.arm_srv(True) + rospy.loginfo("[BlueROV2][arm] Arming vehicle") + + # Disarm is necessary when shutting down + rospy.on_shutdown(self.disarm) + + def disarm(self): + """Disarm the vehicle""" + rospy.loginfo("[BlueROV2][disarm] Disarming vehicle") + self.arm_srv(False) + rospy.wait_for_service("/mavros/cmd/arming") + self.arm_srv(False) + + def controller(self, joy): + """Controller function to switch between manual and autonomous mode + + Args: + joy: Joy message + """ + axes = joy.axes + buttons = joy.buttons + + # Switch into autonomous mode when button "A" is pressed + # (Switches back into manual mode when the control sticks are moved) + if buttons[0]: + self.mode_flag = "auto" + + # set arm and disarm (disarm default) + if buttons[6] == 1: # "back" joystick button + self.disarm() + elif buttons[7] == 1: # "start" joystick button + self.arm() + + # set autonomous or manual control (manual control default) + if self.mode_flag == "auto": + if not self.rc_passthrough_flag: + # Enable RC Passthrough Mode + response = self.rc_passthrough_srv(True) + if response.success: + self.rc_passthrough_flag = True + rospy.logwarn_throttle( + 10, "[BlueROV2][controller] You are in AUTO mode!" + ) + self.auto_control(joy) + else: + rospy.logwarn_throttle( + 10, + "[BlueROV2][controller] Unable to switch to RC Passthrough mode. Cannot enable AUTO mode!", + ) + self.mode_flag = "manual" + else: + self.auto_control(joy) + else: + if self.rc_passthrough_flag: + response = self.rc_passthrough_srv(False) + self.rc_passthrough_flag = False + # Disable RC Passthrough Mode + rospy.logwarn_throttle(10, "[BlueROV2][controller] You are in MANUAL mode!") + self.manual_control(joy) + + def auto_control(self, joy): + """Function to control the ROV autonomously + + Args: + joy: Joy message + """ + # Switch out of autonomous mode if thumbstick input is detected + # Grab the values of the control sticks + axes = joy.axes + control_sticks = axes[0:2] + axes[3:5] + # Check if there is any input on the control sticks + control_sticks = [abs(val) for val in control_sticks] + if sum(control_sticks) > 0: + # Set mode to manual + self.mode_flag = "manual" + return + + # if self.rov_pose is None or self.rov_twist is None: + if self.rov_odom is None: + rospy.logerr_throttle( + 10, "[BlueROV2][auto_contol] ROV odom not initialized" + ) + return + else: + # self.rov_odom = np.vstack((self.rov_pose, self.rov_twist)) + x0 = self.rov_odom + + # x0 = np.array([[0., 0., 0., 0., 0., 0, 0., 0., 0., 0., 0., 0.]]).T + xr = np.array([[0.0, 0.0, 0.0, 0.0, 0.0, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]).T + + try: + forces, wrench, converge_flag = self.mpc.run_mpc(x0, xr) + if converge_flag: + rospy.loginfo_throttle( + 10, + "[BlueROV2][auto_control] ROV reached dock successfully! Disarming now...", + ) + response = self.rc_passthrough_srv(False) + self.rc_passthrough_flag = False + if response.success: + self.disarm() + self.mode_flag = "manual" + else: + wrench_frd = WrenchStamped() + wrench_frd.header.frame_id = "base_link_frd" + wrench_frd.header.stamp = rospy.Time() + wrench_frd.wrench.force.x = wrench[0] + wrench_frd.wrench.force.y = wrench[1] + wrench_frd.wrench.force.z = wrench[2] + wrench_frd.wrench.torque.x = wrench[3] + wrench_frd.wrench.torque.y = wrench[4] + wrench_frd.wrench.torque.z = wrench[5] + self.mpc_wrench_pub.publish(wrench_frd) + + mpc_op = Float32MultiArray() + dim = MultiArrayDimension() + dim.label = "MPC Forces" + dim.size = 8 + dim.stride = 1 + mpc_op.layout.dim.append(dim) + mpc_op.data = [float(forces[i][0]) for i in range(8)] + self.mpc_output.publish(mpc_op) + + # pwm = self.thrust_to_pwm(forces) + pwm = self.calculate_pwm_from_thrust_curve(forces[:, 0]) + + for i in range(len(pwm)): + if pwm[i] > self.deadzone_pwm[0] and pwm[i] < self.deadzone_pwm[1]: + pwm[i] = self.neutral_pwm + + for _ in range(len(pwm), 18): + pwm.append(OverrideRCIn.CHAN_NOCHANGE) + # pwm.append(self.neutral_pwm) + + for i in range(len(pwm)): + pwm[i] = max( + min(pwm[i], self.max_possible_pwm), self.min_possible_pwm + ) + + self.mpc_pwm_pub.publish(pwm) + self.control_pub.publish(pwm) + except Exception as e: + rospy.logerr_throttle( + 10, "[BlueROV2][auto_control] Error in MPC Computation" + str(e) + ) + return + + def manual_control(self, joy): + """Function to control the ROV manually using a joystick + + Args: + joy: Joy message + """ + axes = joy.axes + buttons = joy.buttons + + self.mpc.mpc.reset() + + # Create a copy of axes as a list instead of a tuple so you can modify the values + # The RCOverrideOut mesage type also expects a list + temp_axes = list(axes) + temp_axes[3] *= -1 # fixes reversed yaw axis + temp_axes[0] *= -1 # fixes reversed lateral L/R axis + + # Remap joystick commands [-1.0 to 1.0] to RC_override commands [1100 to 1900] + adjusted_joy = [int(val * 300 + self.neutral_pwm) for val in temp_axes] + override = [self.neutral_pwm for _ in range(18)] + + # print(adjusted_joy) + + # Remap joystick channels to correct ROV channel + joy_mapping = [(0, 5), (1, 4), (3, 3), (4, 2), (7, 7)] + + for pair in joy_mapping: + # print(pair) + override[pair[1]] = adjusted_joy[pair[0]] + + if buttons[5] == 1: + self.light_level += 100 + elif buttons[4] == 1: + self.light_level -= 100 + + override[8] = self.light_level + + # Cap the pwm value (limits the ROV velocity) + for i in range(len(override)): + override[i] = max( + min(override[i], self.max_pwm_manual), self.min_pwm_manual + ) + + self.light_level = override[8] + + # rospy.loginfo("[BlueROV2][manual_control] Joy PWM Values: {}".format(override[0:9])) + # Send joystick data as rc output into rc override topic + self.control_pub.publish(override) + + def timer_cb(self, timer_event): + """Timer callback function to publish the control data at a fixed rate + + Args: + timer_event: Timer event + """ + if self.override is not None: + self.control_pub.publish(self.override) + + def run(self): + """Main function to run the controller""" + rate = rospy.Rate(80) + + while not rospy.is_shutdown(): + # Try to get joystick axes and button data + try: + joy = self.sub_data_dict["joy"] + # Activate joystick control + self.controller(joy) + except Exception as error: + rospy.logerr_throttle( + 10, "[BlueROV2][run] Controller error:" + str(error) + ) + + rate.sleep() + + +if __name__ == "__main__": + try: + rospy.init_node("mission_control", anonymous=True) + except KeyboardInterrupt: + rospy.logwarn("Shutting down the node") + + obj = BlueROV2() + obj.run() diff --git a/docking_control/src/docking_control/mpc_acados.py b/docking_control/src/docking_control/mpc_acados.py new file mode 100755 index 0000000..ebbc730 --- /dev/null +++ b/docking_control/src/docking_control/mpc_acados.py @@ -0,0 +1,201 @@ +import numpy as np +import yaml +from scipy.linalg import block_diag +from acados_template import AcadosOcp, AcadosOcpSolver, AcadosModel +from casadi import evalf, SX, mtimes, pinv +import sys + +sys.path.insert( + 0, "/home/darth/workspace/bluerov2_ws/src/bluerov2_dock/src/bluerov2_dock" +) + +from auv_hinsdale import AUV + + +class MPC: + def __init__(self, auv, mpc_params): + """This class is used to control the AUV using the MPC controller. + + Args: + auv: Vehicle object + mpc_params: Dictionary containing the MPC parameters + """ + self.auv = auv + self.dt = mpc_params["dt"] + self.log_quiet = mpc_params["quiet"] + self.thrusters = mpc_params["thrusters"] + self.horizon = mpc_params["horizon"] + self.T_horizon = self.horizon * self.dt + self.model_type = mpc_params["full_body"] + self.P = np.diag(mpc_params["penalty"]["P"]) + self.Q = np.diag(mpc_params["penalty"]["Q"]) + self.R = np.diag(mpc_params["penalty"]["R"]) + self.xmin = np.array(mpc_params["bounds"]["xmin"], dtype=np.float) + self.xmax = np.array(mpc_params["bounds"]["xmax"], dtype=np.float) + self.umin = np.array(mpc_params["bounds"]["umin"], dtype=np.float) + self.umax = np.array(mpc_params["bounds"]["umax"], dtype=np.float) + + # self.previous_control = np.random.uniform(-0.1, 0.1, size=(self.thrusters,1)) + self.previous_control = np.zeros((self.thrusters, 1)) + + self.acados_ocp = AcadosOcp() + self.acados_model = AcadosModel() + self.auv_model() + self.create_ocp_solver_description() + self.acados_ocp_solver = AcadosOcpSolver( + self.acados_ocp, + json_file="acados_nmpc_" + self.acados_ocp.model.name + ".json", + ) + + @classmethod + def load_params(cls, auv_filename, mpc_filename): + auv = AUV.load_params(auv_filename) + + f = open(mpc_filename, "r") + mpc_params = yaml.load(f.read(), Loader=yaml.SafeLoader) + + return cls(auv, mpc_params) + + def auv_model(self): + """Create the AUV model for the MPC controller.""" + x = SX.sym("x", (12, 1)) + x_dot = SX.sym("x_dot", (12, 1)) + u = SX.sym("u", (self.thrusters, 1)) + nu_w = SX.sym("nu_w", (3, 1)) + nu_w_dot = SX.sym("nu_w_dot", (3, 1)) + + # f_expl_expr = self.nonlinear_dynamics(x, u, nu_w, nu_w_dot, self.model_type) + f_expl_expr = self.nonlinear_dynamics(x, u, self.model_type) + f_impl_expr = x_dot - f_expl_expr + + p = [] + + self.acados_model.name = "bluerov2" + self.acados_model.f_expl_expr = f_expl_expr + self.acados_model.f_impl_expr = f_impl_expr + # self.acados_model.disc_dyn_expr = self.forward_dyn(x, u, self.model_type) + self.acados_model.x = x + self.acados_model.xdot = x_dot + self.acados_model.u = u + self.acados_model.p = p + + # def nonlinear_dynamics(self, x, u, nu_w, nu_w_dot, full_body): + # x_dot = self.auv.compute_nonlinear_dynamics( + # x, u, nu_w=nu_w, nu_w_dot=nu_w_dot, complete_model=full_body + # ) + # return x_dot + + def nonlinear_dynamics(self, x, u, full_body): + x_dot = self.auv.compute_nonlinear_dynamics(x, u, complete_model=full_body) + return x_dot + + def create_ocp_solver_description(self): + """Create the optimal control problem (OCP) solver description""" + self.acados_ocp.model = self.acados_model + x = self.acados_model.x + u = self.acados_model.u + nx = self.acados_model.x.shape[0] + nu = self.acados_model.u.shape[0] + ny = nx + nu + ny_e = nx + + self.acados_ocp.dims.N = self.horizon + self.acados_ocp.cost.cost_type = "NONLINEAR_LS" + self.acados_ocp.cost.cost_type_e = "NONLINEAR_LS" + self.acados_ocp.cost.W_e = self.P + self.acados_ocp.cost.W = self.P + # self.acados_ocp.cost.W = block_diag(self.P, self.R) + + # self.acados_ocp.model.cost_y_expr = vertcat(x, u) + self.acados_ocp.model.cost_y_expr = x + self.acados_ocp.model.cost_y_expr_e = x + + self.acados_ocp.cost.yref = np.zeros((nx,)) + self.acados_ocp.cost.yref_e = np.zeros((nx,)) + + self.acados_ocp.constraints.lbu = self.umin + self.acados_ocp.constraints.ubu = self.umax + self.acados_ocp.constraints.lbx = self.xmin + self.acados_ocp.constraints.ubx = self.xmax + self.acados_ocp.constraints.lbx_0 = self.xmin + self.acados_ocp.constraints.ubx_0 = self.xmax + self.acados_ocp.constraints.idxbu = np.arange(nu) + self.acados_ocp.constraints.idxbx = np.arange(nx) + self.acados_ocp.constraints.idxbx_0 = np.arange(nx) + + # set options + + self.acados_ocp.solver_options.qp_solver = "PARTIAL_CONDENSING_HPIPM" + # self.acados_ocp.solver_options.qp_solver = "FULL_CONDENSING_QPOASES" + # self.acados_ocp.solver_options.qp_solver = "PARTIAL_CONDENSING_OSQP" + self.acados_ocp.solver_options.qp_solver_cond_N = self.horizon + self.acados_ocp.solver_options.hessian_approx = ( + "GAUSS_NEWTON" # 'GAUSS_NEWTON', 'EXACT' + ) + self.acados_ocp.solver_options.integrator_type = "IRK" + self.acados_ocp.solver_options.sim_method_num_stages = 4 + self.acados_ocp.solver_options.sim_method_num_steps = 1 + self.acados_ocp.solver_options.nlp_solver_type = "SQP" # SQP_RTI, SQP + self.acados_ocp.solver_options.nlp_solver_max_iter = 500 + # self.acados_ocp.solver_options.levenberg_marquardt = 1e-5 + self.acados_ocp.solver_options.tf = self.T_horizon + # self.acados_ocp.solver_options.ext_cost_num_hess = 1 + + def reset(self): + """Reset the previous control to None.""" + self.previous_control = None + + def run_mpc(self, x, x_ref): + return self.optimize(x, x_ref) + + def optimize(self, x, x_ref): + """Optimize the control input using the MPC controller. + + Args: + x: Initial vehicle state + x_ref: Desired vehicle state + + Returns: + u_next: Control input + """ + xr = x_ref[0:12, :] + x0 = x[0:12, :] + N = self.horizon + + nx = self.acados_ocp.model.x.shape[0] + nu = self.acados_ocp.model.u.shape[0] + + # initialize solver + for stage in range(N + 1): + self.acados_ocp_solver.set(stage, "x", np.zeros((nx,))) + for stage in range(N): + self.acados_ocp_solver.set(stage, "u", np.zeros((nu,))) + + # set initial state constraint + self.acados_ocp_solver.set(0, "lbx", x0) + self.acados_ocp_solver.set(0, "ubx", x0) + # self.acados_ocp_solver.set(0, "u", self.previous_control) + + # for k in range(N): + # if k == 0: + # yref = np.vstack((xr, self.previous_control)) + # self.acados_ocp_solver.set(k, "yref", yref) + # else: + # u_prev = np.array([self.acados_ocp_solver.get(k-1, "u")]).T + # yref = np.vstack((xr, u_prev)) + # self.acados_ocp_solver.set(k, "yref", yref) + + for k in range(N): + self.acados_ocp_solver.set(k, "yref", xr) + self.acados_ocp_solver.set(N, "yref", xr) + + status = self.acados_ocp_solver.solve() + if status != 0: + print("acados returned status {}".format(status)) + + wrench = self.acados_ocp_solver.get(0, "u") + # self.previous_control = np.array([wrench]).T + + u_next = evalf(mtimes(pinv(self.auv.tcm), wrench)).full() + + return u_next, wrench diff --git a/docking_control/src/docking_control/mpc_casadi.py b/docking_control/src/docking_control/mpc_casadi.py new file mode 100755 index 0000000..999a8df --- /dev/null +++ b/docking_control/src/docking_control/mpc_casadi.py @@ -0,0 +1,182 @@ +import yaml +import numpy as np +from casadi import DM, SX, Function, integrator, Opti, evalf, mtimes, vertcat, exp, pinv +import sys + +sys.path.insert( + 0, "/home/darth/workspace/bluerov2_ws/src/bluerov2_dock/src/bluerov2_dock" +) + +from auv_hinsdale import AUV + + +class MPC(object): + def __init__(self, auv, mpc_params): + """This class is used to control the AUV using the MPC controller. + + Args: + auv: Vehicle object + mpc_params: Dictionary containing the MPC parameters + """ + self.auv = auv + self.dt = mpc_params["dt"] + self.log_quiet = mpc_params["quiet"] + self.horizon = mpc_params["horizon"] + self.thrusters = mpc_params["thrusters"] + self.model_type = mpc_params["full_body"] + + self.P = np.diag(mpc_params["penalty"]["P"]) + self.Q = np.diag(mpc_params["penalty"]["Q"]) + self.R = np.diag(mpc_params["penalty"]["R"]) + + self.xmin = np.array(mpc_params["bounds"]["xmin"], dtype=np.float) + self.xmax = np.array(mpc_params["bounds"]["xmax"], dtype=np.float) + + # self.umin = -1 * np.ones((self.thrusters, 1), dtype=np.float) + # self.umax = np.ones((self.thrusters, 1), dtype=np.float) + + self.umin = np.array(mpc_params["bounds"]["umin"], dtype=np.float) + self.umax = np.array(mpc_params["bounds"]["umax"], dtype=np.float) + + # self.dumin = np.array(mpc_params["bounds"]["dumin"], dtype=np.float) + # self.dumax = np.array(mpc_params["bounds"]["dumax"], dtype=np.float) + + self.wec_states = None + + self.reset() + self.initialize_optimizer() + + @classmethod + def load_params(cls, auv_filename, mpc_filename): + auv = AUV.load_params(auv_filename) + + f = open(mpc_filename, "r") + mpc_params = yaml.load(f.read(), Loader=yaml.SafeLoader) + + return cls(auv, mpc_params) + + def reset(self): + """Reset the previous control and state values""" + self.previous_control = None + self.previous_state = None + + def initialize_optimizer(self): + """Initialize the MPC optimizer""" + x = SX.sym("x", (12, 1)) + # f_B = SX.sym('f_B', (3,1)) + # f_B_dot = SX.sym('f_B_dot', (3,1)) + u = SX.sym("u", (self.thrusters, 1)) + full_body = SX.sym("full_body") + + x_dot = self.auv.compute_nonlinear_dynamics(x, u, complete_model=full_body) + f = Function("f", [x, u, full_body], [x_dot]) + + T = self.dt * self.horizon + N = self.horizon + intg_options = {"tf": T / N, "simplify": True, "number_of_finite_elements": 4} + + dae = {"x": x, "p": vertcat(u, full_body), "ode": f(x, u, full_body)} + intg = integrator("intg", "rk", dae, intg_options) + x_next = intg(x0=x, p=vertcat(u, full_body))["xf"] + self.forward_dynamics = Function("func", [x, u, full_body], [x_next]) + + def run_mpc(self, x, x_ref): + return self.optimize(x, x_ref) + + def optimize(self, x, x_ref): + """Optimize the control inputs using the MPC controller + + Args: + x: Initial state of the vehicle + x_ref: Desired state of the vehicle + + Returns: + u_next: Control inputs for the next time step + force_axes: Thrust forces in the body frame + """ + eta = x[0:6, :] + + # f_B = DM.zeros((3,1)) + # f_B_dot = DM.zeros((3,1)) + + tf_B2I = self.auv.compute_transformation_matrix(eta) + R_B2I = evalf(tf_B2I[0:3, 0:3]) + + # xr = x_ref[0:3, :] + # xr = x_ref[0:6, :] + # x0 = x[0:6, :] + xr = x_ref[0:12, :] + x0 = x[0:12, :] + cost = 0 + + opt = Opti() + + X = opt.variable(12, self.horizon + 1) + U = opt.variable(self.thrusters, self.horizon + 1) + # X0 = opt.parameter(6, 1) + X0 = opt.parameter(12, 1) + + # flow_bf = opt.parameter(3, 1) + # flow_acc_bf = opt.parameter(3, 1) + + # Only do horizon rolling if our horizon is greater than 1 + if (self.horizon > 1) and (self.previous_control is not None): + # Shift all commands one over, since we executed the first control action + initial_guess_control = np.roll(self.previous_control, -1, axis=1) + initial_guess_state = np.roll(self.previous_state, -1, axis=1) + + # Set the final column to the same as the second to last column + initial_guess_control[:, -1] = initial_guess_control[:, -2] + initial_guess_state[:, -1] = initial_guess_state[:, -2] + + opt.set_initial(U, initial_guess_control) + opt.set_initial(X, initial_guess_state) + + for k in range(self.horizon): + # cost += (X[0:3, k] - xr).T @ self.P @ (X[0:3, k] - xr) + # cost += (X[0:6, k] - xr).T @ self.P @ (X[0:6, k] - xr) + cost += (X[0:12, k] - xr).T @ self.P @ (X[0:12, k] - xr) + cost += (U[:, k + 1] - U[:, k]).T @ self.R @ (U[:, k + 1] - U[:, k]) + # cost += (U[:, k]).T @ self.Q @ (U[:, k]) + + opt.subject_to( + X[:, k + 1] == self.forward_dynamics(X[:, k], U[:, k], self.model_type) + ) + opt.subject_to(opt.bounded(self.xmin, X[0:12, k], self.xmax)) + opt.subject_to(opt.bounded(self.umin, U[:, k], self.umax)) + # opt.subject_to(opt.bounded(self.dumin, (U[:, k+1] - U[:, k]), self.dumax)) + + # cost += (X[0:3, -1] - xr).T @ self.P @ (X[0:3, -1] - xr) + # cost += (X[0:6, -1] - xr).T @ self.P @ (X[0:6, -1] - xr) + cost += (X[0:12, -1] - xr).T @ self.P @ (X[0:12, -1] - xr) + + opt.subject_to(opt.bounded(self.xmin, X[0:12, -1], self.xmax)) + # opt.subject_to(X[0:6, 0] == X0) + opt.subject_to(X[0:12, 0] == X0) + + opt.set_value(X0, x0) + # opt.set_value(flow_bf, f_B) + # opt.set_value(flow_acc_bf, f_B_dot) + + opt.minimize(cost) + + options = {"ipopt": {}} + + if self.log_quiet: + options["ipopt"]["print_level"] = 0 + options["print_time"] = 0 + else: + options["show_eval_warnings"] = True + + opt.solver("ipopt", options) + sol = opt.solve() + + force_axes = sol.value(U)[:, 0:1] + # x_next = sol.value(X)[:,1:2] + + self.previous_control = sol.value(U) + self.previous_state = sol.value(X) + + u_next = evalf(mtimes(pinv(self.auv.tcm), force_axes)).full() + + return u_next, force_axes diff --git a/docking_control/src/docking_control/pwm_publish_node.py b/docking_control/src/docking_control/pwm_publish_node.py new file mode 100644 index 0000000..a1bde0e --- /dev/null +++ b/docking_control/src/docking_control/pwm_publish_node.py @@ -0,0 +1,44 @@ +#!/usr/bin/env python3 + +import rospy +from mavros_msgs.msg import OverrideRCIn + + +class PWMPublish: + def __init__(self) -> None: + self.control_pub = rospy.Publisher( + "/mavros/rc/override", OverrideRCIn, queue_size=1 + ) + self.pwm_sub = rospy.Subscriber("/bluerov2_dock/pwm", OverrideRCIn, self.pwm_cb) + self.pwm_data = None + # self.pwm_data = OverrideRCIn() + # self.pwm_data.channels = [OverrideRCIn.CHAN_NOCHANGE] * 18 + hz = 80 + self.pwm_timer = rospy.Timer(rospy.Duration(1 / hz), self.run) + + def pwm_cb(self, data): + """Callback function for the PWM data. + + Args: + data: PWM data + """ + self.pwm_data = data + + def run(self, _): + """Run the PWM publisher node. + + Args: + _: Timer event + """ + if self.pwm_data is not None: + self.control_pub.publish(self.pwm_data) + + +if __name__ == "__main__": + try: + rospy.init_node("pwm_publisher", anonymous=True) + except KeyboardInterrupt: + rospy.logwarn("Shutting down the node") + + obj = PWMPublish() + rospy.spin() diff --git a/docking_control/src/docking_control/video.py b/docking_control/src/docking_control/video.py new file mode 100755 index 0000000..334cfbb --- /dev/null +++ b/docking_control/src/docking_control/video.py @@ -0,0 +1,172 @@ +#!/usr/bin/env python3 + +import cv2 +import gi +import numpy as np +import rospy +from cv_bridge import CvBridge + +from sensor_msgs.msg import Image + +gi.require_version("Gst", "1.0") +from gi.repository import Gst + + +class Video: + """BlueRov video capture class constructor + + Attributes: + port (int): Video UDP port + video_codec (string): Source h264 parser + video_decode (string): Transform YUV (12bits) to BGR (24bits) + video_pipe (object): GStreamer top-level pipeline + video_sink (object): Gstreamer sink element + video_sink_conf (string): Sink configuration + video_source (string): Udp source ip and port + """ + + def __init__(self): + """Summary + + Args: + port (int, optional): UDP port + """ + self.cvbridge = CvBridge() + + Gst.init(None) + registry = Gst.Registry.get() + + nvcodec_plugin = Gst.Registry.lookup_feature(registry, "nvcodec") + if nvcodec_plugin is not None: + Gst.PluginFeature.set_rank(nvcodec_plugin, 0) + + libav_plugin = Gst.Registry.lookup_feature(registry, "libav") + if libav_plugin is not None: + Gst.PluginFeature.set_rank(libav_plugin, Gst.Rank.PRIMARY) + + self.port = rospy.get_param("/video_feed/video_udp_port") + self._frame = None + + # UDP video stream (:5600) + self.video_source = "udpsrc port={}".format(self.port) + + # RTSP video stream + # self.video_source = 'rtspsrc location=rtsp://192.168.2.2:8554/video_stream__dev_video2 latency=0' + + # [Rasp raw image](http://picamera.readthedocs.io/en/release-0.7/recipes2.html#raw-image-capture-yuv-format) + # Cam -> CSI-2 -> H264 Raw (YUV 4-4-4 (12bits) I420) + self.video_codec = ( + "! application/x-rtp, payload=96 ! rtph264depay ! h264parse ! avdec_h264" + ) + # self.video_codec = '! application/x-rtp, payload=96 ! rtph264depay ! h264parse ! v4l2h264dec' + # self.video_codec = '! application/x-rtp, payload=96 ! rtpjpegdepay ! jpegdec' + + # Python don't have nibble, convert YUV nibbles (4-4-4) to OpenCV standard BGR bytes (8-8-8) + self.video_decode = "! videoconvert ! video/x-raw,format=(string)BGR" + + # Create a sink to get data + self.video_sink_conf = ( + "! appsink emit-signals=true sync=false max-buffers=2 drop=true" + ) + + self.video_pipe = None + self.video_sink = None + self.video_publisher = rospy.Publisher("/BlueROV2/video", Image, queue_size=1) + self.run() + + def start_gst(self, config=None): + """ Start gstreamer pipeline and sink + Pipeline description list e.g: + [ + 'videotestsrc ! decodebin', \ + '! videoconvert ! video/x-raw,format=(string)BGR ! videoconvert', + '! appsink' + ] + + Args: + config (list, optional): Gstreamer pileline description list + """ + + if not config: + config = [ + "videotestsrc ! decodebin", + "! videoconvert ! video/x-raw,format=(string)BGR ! videoconvert", + "! appsink", + ] + + command = " ".join(config) + self.video_pipe = Gst.parse_launch(command) + self.video_pipe.set_state(Gst.State.PLAYING) + self.video_sink = self.video_pipe.get_by_name("appsink0") + + @staticmethod + def gst_to_opencv(sample): + """Transform byte array into np array + + Args: + sample (TYPE): Description + + Returns: + TYPE: Description + """ + buf = sample.get_buffer() + caps = sample.get_caps() + array = np.ndarray( + ( + caps.get_structure(0).get_value("height"), + caps.get_structure(0).get_value("width"), + 3, + ), + buffer=buf.extract_dup(0, buf.get_size()), + dtype=np.uint8, + ) + return array + + def frame(self): + """Get Frame + + Returns: + iterable: bool and image frame, cap.read() output + """ + return self._frame + + def frame_available(self): + """Check if frame is available + + Returns: + bool: true if frame is available + """ + return not isinstance(self._frame, type(None)) + + def run(self): + """Get frame to update _frame""" + + self.start_gst( + [ + self.video_source, + self.video_codec, + self.video_decode, + self.video_sink_conf, + ] + ) + + self.video_sink.connect("new-sample", self.callback) + + def callback(self, sink): + sample = sink.emit("pull-sample") + new_frame = self.gst_to_opencv(sample) + ros_image = self.cvbridge.cv2_to_imgmsg(new_frame, "bgr8") + self.video_publisher.publish(ros_image) + self._frame = new_frame + + return Gst.FlowReturn.OK + + +if __name__ == "__main__": + rospy.init_node("video_feed", anonymous=True) + video = Video() + + try: + rospy.spin() + except KeyboardInterrupt: + print("shutting down the node") diff --git a/docking_control/utils/decode_sonar_log.py b/docking_control/utils/decode_sonar_log.py new file mode 100755 index 0000000..e34e7f4 --- /dev/null +++ b/docking_control/utils/decode_sonar_log.py @@ -0,0 +1,351 @@ +#!/usr/bin/env python3 + +import struct, sys, re + +# 3.7 for dataclasses, 3.8 for walrus (:=) in recovery +assert (sys.version_info.major >= 3 and sys.version_info.minor >= 8), \ + "Python version should be at least 3.8." + +from brping import PingParser, PingMessage +from dataclasses import dataclass +from typing import IO, Any, Set +import numpy as np +import rospy +from sensor_msgs.msg import LaserScan, MultiEchoLaserScan, LaserEcho +from argparse import ArgumentParser +import itertools +import matplotlib.pyplot as plt +import sonar_to_grid_map as occ + + +def indent(obj, by=' '*4): + return by + str(obj).replace('\n', f'\n{by}') + + +@dataclass +class PingViewerBuildInfo: + hash_commit: str = '' + date: str = '' + tag: str = '' + os_name: str = '' + os_version: str = '' + + def __str__(self): + return f"""PingViewerBuildInfo: + hash: {self.hash_commit} + date: {self.date} + tag: {self.tag} + os: + name: {self.os_name} + version: {self.os_version} + """ + + +@dataclass +class Sensor: + family: int = 0 + type_sensor: int = 0 + + def __str__(self): + return f"""Sensor: + Family: {self.family} + Type: {self.type_sensor} + """ + + +@dataclass +class Header: + string: str = '' + version: int = 0 + ping_viewer_build_info = PingViewerBuildInfo() + sensor = Sensor() + + def __str__(self): + return f"""Header: + String: {self.string} + Version: {self.version} + {indent(self.ping_viewer_build_info)} + {indent(self.sensor)} + """ + + +class PingViewerLogReader: + ''' Structured as a big-endian sequence of + size: uint32, data: byte_array[size]. + ''' + + # int32 values used in message header + INT = struct.Struct('>i') + # big-endian uint32 'size' parsed for every timestamp and message + # -> only compile and calcsize once + UINT = struct.Struct('>I') + # NOTE: ping-viewer message buffer length is 10240 (from pingparserext.h) + # should we use this instead?? + # longest possible ping message (id:2310) w/ 1200 samples + # -> double the length in case windows used UTF-16 + MAX_ARRAY_LENGTH = 1220*2 + # timestamp format for recovery hh:mm:ss.xxx + # includes optional \x00 (null byte) before every character because Windows + TIMESTAMP_FORMAT = re.compile( + b'(\x00?\d){2}(\x00?:\x00?[0-5]\x00?\d){2}\x00?\.(\x00?\d){3}') + MAX_TIMESTAMP_LENGTH = 12 * 2 + + def __init__(self, filename: str): + self.filename = filename + self.header = Header() + self.messages = [] + + @classmethod + def unpack_int(cls, file: IO[Any]): + data = file.read(cls.INT.size) + return cls.INT.unpack_from(data)[0] + + @classmethod + def unpack_uint(cls, file: IO[Any]): + ''' String and data array lengths. ''' + data = file.read(cls.UINT.size) + return cls.UINT.unpack_from(data)[0] + + @classmethod + def unpack_array(cls, file: IO[Any]): + ''' Returns the unpacked array if <= MAX_ARRAY_LENGTH, else None. ''' + array_size = cls.unpack_uint(file) + if array_size <= cls.MAX_ARRAY_LENGTH: + return file.read(array_size) + + @classmethod + def unpack_string(cls, file: IO[Any]): + return cls.unpack_array(file).decode('UTF-8') + + @classmethod + def unpack_message(cls, file: IO[Any]): + timestamp = cls.unpack_string(file) + message = cls.unpack_array(file) + if message is None: + return cls.recover(file) + return (timestamp, message) + + @classmethod + def recover(cls, file: IO[Any]): + """ Attempt to recover from a failed read. + + Assumed that a bad number has been read from the last cls.UINT.size + set of bytes -> try to recover by seeking 'file' back to there, then + read until the next timestamp, and continue as normal from there. + + """ + file.seek(current_pos := (file.tell() - cls.UINT.size)) + prev_ = next_ = b'' + start = amount_read = 0 + while not (match := cls.TIMESTAMP_FORMAT.search( + roi := (prev_ + next_), start)): + prev_ = next_ + next_ = file.read(cls.MAX_ARRAY_LENGTH) + if not next_: + break # run out of file + amount_read += cls.MAX_ARRAY_LENGTH + if start == 0 and prev_: + # onto the second read + # -> match on potential overlap + new region, not the + # already-checked (impossible) region + start = cls.MAX_ARRAY_LENGTH - cls.MAX_TIMESTAMP_LENGTH + else: + # match was found + end = match.end() + timestamp = roi[match.start():end].decode('UTF-8') + # return the file pointer to the end of this timestamp + file.seek(current_pos + amount_read - (len(roi) - end)) + # attempt to extract the corresponding message, or recover anew + if (message := cls.unpack_array(file)) is None: + return cls.recover(file) + return (timestamp, message) + raise EOFError('No timestamp match found in recovery attempt') + + def unpack_header(self, file: IO[Any]): + self.header.string = self.unpack_string(file) + self.header.version = self.unpack_int(file) + + for info in ('hash_commit', 'date', 'tag', 'os_name', 'os_version'): + setattr(self.header.ping_viewer_build_info, info, + self.unpack_string(file)) + + self.header.sensor.family = self.unpack_int(file) + self.header.sensor.type_sensor = self.unpack_int(file) + + def process(self): + """ Process and store the entire file into self.messages. """ + self.messages.extend(self) + + def __iter__(self): + """ Creates an iterator for efficient reading of self.filename. + + Yields (timestamp, message) pairs for decoding. + + """ + with open(self.filename, "rb") as file: + self.unpack_header(file) + while "data available": + try: + yield self.unpack_message(file) + except struct.error: + break # reading complete + + def parser(self, message_ids: Set[int] = {1300, 2300, 2301}): + """ Returns a generator that parses and decodes this log's messages. + + Yields (timestamp, message) pairs. message decoded as a PingMessage. + + 'message_ids' is the set of Ping Profile message ids to filter by. + Default value is {1300, 2300, 2301} -> {Ping1D.profile, + Ping360.device_data, + Ping360.auto_device_data} + + """ + self._parser = PingParser() + + for (timestamp, message) in self: + # parse each byte of the message + for byte in message: + # Check if the parser has registered and verified this message + if self._parser.parse_byte(byte) == self._parser.NEW_MESSAGE: + # Get decoded message + decoded_message = self._parser.rx_msg + if decoded_message.message_id in message_ids: + yield timestamp, decoded_message + break # this message is (should be?) over, get next one + # else message is still being parsed + + +def meters_per_sample(ping_message, v_sound=1500): + """ Returns the target distance per sample, in meters. + + 'ping_message' is the message being analysed. + 'v_sound' is the operating speed of sound [m/s]. Default 1500. + + """ + # sample_period is in 25ns increments + # time of flight includes there and back, so divide by 2 + return v_sound * ping_message.sample_period * 12.5e-9 + + +def laser_to_occ_map(ang, dist): + xy_resolution = 0.05 # x-y grid resolution + ox = np.sin(ang) * dist + oy = np.cos(ang) * dist + + occupancy_map, min_x, max_x, min_y, max_y, xy_resolution = \ + occ.generate_ray_casting_grid_map(ox, oy, xy_resolution) + + if occupancy_map.shape[0] == 1280 and occupancy_map.shape[1] == 1180: + plt.figure() + plt.imshow(occupancy_map, cmap='binary') + np.save("occ_map_binary.npy", occupancy_map) + # plt.colorbar() + plt.show() + + +if __name__ == "__main__": + + try: + rospy.init_node('decode_sonar_log', anonymous=True) + sonar_pub = rospy.Publisher('/bluerov2_dock/ping360_scan', LaserScan, queue_size=1) + + + # Parse arguments + parser = ArgumentParser(description=__doc__) + parser.add_argument("file", + help="File that contains PingViewer sensor log file.") + args = parser.parse_args() + + # Open log and begin processing + log = PingViewerLogReader(args.file) + + angles = [] + intensities = [] + ranges = [] + cnt = 0 + loop_var = 1 + + for index, (timestamp, decoded_message) in enumerate(log.parser()): + if index == 0: + # Get header information from log + # (parser has to do first yield before header info is available) + print(log.header) + + # ask if processing + yes = input("Continue and decode received messages? [Y/n]: ") + if yes.lower() in ('n', 'no'): + rospy.signal_shutdown("[decode_sensor_log] No data received. Node shutting down!") + break + + if cnt == 399: + ranges = np.array(list((itertools.chain(*ranges)))) + intensities = np.array(list((itertools.chain(*intensities)))) + angles = np.array(list((itertools.chain(*angles)))) + + for l in range(len(ranges)): + if ranges[l] <= 5.5: + intensities[l] = 0.0 + + dis = [] + ang = [] + + for l in range(len(ranges)): + if intensities[l] > 50.0: + dis.append(ranges[l]) + ang.append(angles[l]) + + dis = np.array(dis) + ang = np.array(ang) + + if len(ang) > 0: + laser_to_occ_map(ang, dis) + + range_min = 0 + range_max = 1199 * meters_per_sample(decoded_message) + + scan_time = None + time_increment = None + + angle_min = 0.0 + angle_max = 399.0 * np.pi / 200.0 + angle_increment = (np.pi / 200.0) / 1200.0 + + sonar_scan = LaserScan() + sonar_scan.header.frame_id = "map" + sonar_scan.angle_min = angle_min + sonar_scan.angle_max = angle_max + sonar_scan.angle_increment = angle_increment + sonar_scan.intensities = intensities + sonar_scan.ranges = ranges + sonar_scan.range_min = range_min + sonar_scan.range_max = range_max + + sonar_pub.publish(sonar_scan) + + intensities = [] + ranges = [] + angles = [] + cnt = 0 + loop_var += 1 + # out = input('q to quit, enter to continue: ') + # if out.lower() == 'q': + # rospy.signal_shutdown("[decode_sensor_log] Node shutting down!") + # break + else: + strengths = np.frombuffer(decoded_message.data, np.uint8).tolist() + distances = [i * meters_per_sample(decoded_message) for i in range(len(strengths))] + angle = decoded_message.angle * (np.pi / 200.0) + + intensities.append(strengths) + ranges.append(distances) + angles.append([angle] * len(distances)) + cnt += 1 + + # rate.sleep() + rospy.spin() + + except KeyboardInterrupt: + rospy.logwarn("Shutting down the node") + + \ No newline at end of file diff --git a/docking_control/utils/rrt.py b/docking_control/utils/rrt.py new file mode 100644 index 0000000..b5bab30 --- /dev/null +++ b/docking_control/utils/rrt.py @@ -0,0 +1,260 @@ +import math +import random +import matplotlib.pyplot as plt +import numpy as np +from scipy.spatial import cKDTree +import time +from tqdm import tqdm +from copy import deepcopy + + +class RRT: + + class Node: + """The class for defining a node in the RRT tree""" + + def __init__(self, x, y): + self.x = x + self.y = y + self.parent = None + + def __init__(self): + """Initialize the RRT class""" + # self.filename = "/Users/rakeshvivekanandan/workspace/bluerov2_dock/data/occ_map_binary.npy" + self.filename = "/home/darth/workspace/bluerov2_ws/src/bluerov2_dock/data/occ_map_binary.npy" + self.load_map() + self.bounds = np.array([[0, self.occ_map.shape[0]], [0, self.occ_map.shape[1]]]) + # self.min_rand = 0 + # self.max_rand = 1000 + self.step_size = 0.5 + self.goal_sample_rate = 0.3 + self.max_nodes = 100000 + self.node_list = [] + + def load_map(self): + """Load the occupancy map""" + self.occ_map = np.load(self.filename) + # print(self.occ_map.shape) + # fig = plt.figure() + # plt.imshow(self.occ_map.T, cmap="binary") + # plt.show() + + def check_hit(self, start, goal): + """ + Returns True if there are any occupied states between start and goal + """ + x, y = start.x, start.y + gx, gy = goal.x, goal.y + dx = gx - x + dy = gy - y + + # Went off the maze + if ( + (x < self.bounds[0][0]) + or (y < self.bounds[1][0]) + or (x >= self.bounds[0][1]) + or (y >= self.bounds[1][1]) + ): + return True + + # Starting in an obstacle + if self.occ_map[int(round(start.x)), int(round(start.y))] == 1.0: + return True + + if dx == 0.0 and dy == 0.0: # we don't actually move, so we are done + return False + + # discretize movement into steps + norm = max(abs(dx), abs(dy)) + dx = dx / norm + dy = dy / norm + + # advance the robot one step at a time + for i in range(int(norm)): + x += dx + y += dy + # Went off the maze + if ( + (x < self.bounds[0][0]) + or (y < self.bounds[1][0]) + or (x >= self.bounds[0][1]) + or (y >= self.bounds[1][1]) + ): + return True + # Went into collision cell + if self.occ_map[int(x), int(y)] == 1.0: + return True + return False + + def planning(self): + """The main function for planning the path + + Returns: + path: The path from start to goal + """ + self.node_list = [self.start] + start_time = time.time() + while len(self.node_list) <= self.max_nodes: + rand_node = self.get_random_node() + nearest_idx = self.get_nearest_node_index(rand_node) + nearest_node = self.node_list[nearest_idx] + + # curr_node = self.node_list[-1] + new_node = self.steer(nearest_node, rand_node) + + collision_check = self.check_hit(nearest_node, new_node) + + if not collision_check: + self.node_list.append(new_node) + + if (new_node.x, new_node.y) == (self.goal.x, self.goal.y): + print("Runtime: ", (time.time() - start_time)) + return self.generate_path() + elif ( + self.compute_dist_to_goal(self.node_list[-1].x, self.node_list[-1].y) + <= self.step_size + ): + final_node = self.steer(self.node_list[-1], self.goal) + self.node_list.append(final_node) + print("Runtime: ", (time.time() - start_time)) + return self.generate_path() + else: + # print((self.node_list[-1].x, self.node_list[-1].y)) + continue + + return None + + def steer(self, from_node, to_node): + """Steer the node from the nearest node to the random node + + Args: + from_node: Start node + to_node: Goal node + + Returns: + new_node: The new node after steering + """ + new_node = self.Node(from_node.x, from_node.y) + extend_length = self.step_size + + vec1 = np.array([from_node.x, from_node.y]) + vec2 = np.array([to_node.x, to_node.y]) + dist = np.linalg.norm(vec2 - vec1) + unit_vec = (vec2 - vec1) / dist + + if extend_length > dist: + extend_length = dist + + res_vec = vec1 + (unit_vec * extend_length) + new_node.x = res_vec[0] + new_node.y = res_vec[1] + new_node.parent = from_node + + return new_node + + def generate_path(self): + """Generate the path from the start to the goal + + Returns: + path: The path from the start to the goal + """ + path = [] + node = self.node_list[len(self.node_list) - 1] + while node.parent is not None: + path.append([node.x, node.y]) + node = node.parent + path.append([node.x, node.y]) + return path[::-1] + + def compute_dist_to_goal(self, x, y): + """Compute the Euclidean distance to the goal + + Args: + x: x-coordinate + y: y-coordinate + + Returns: + dist: The Euclidean distance to the goal + """ + dx = x - self.goal.x + dy = y - self.goal.y + return math.sqrt(dx**2 + dy**2) + + def get_random_node(self): + """Get a random node in the map + + Returns: + rand: The random node + """ + if np.random.rand() > self.goal_sample_rate: + rand = self.Node( + random.uniform(self.bounds[0][0], self.bounds[0][1]), + random.uniform(self.bounds[1][0], self.bounds[1][1]), + ) + else: + rand = self.Node(self.goal.x, self.goal.y) + return rand + + def get_nearest_node_index(self, rand_node): + """Get the index of the nearest node to the random node + + Args: + rand_node: The random node + + Returns: + idx: The index of the nearest node + """ + nodes = [[node.x, node.y] for node in self.node_list] + tree = cKDTree(nodes) + _, idx = tree.query([rand_node.x, rand_node.y], k=1) + return idx + + def execute(self, waypoints): + """Execute the RRT algorithm + + Args: + waypoints: The waypoints to be traversed + """ + paths = [] + fig = plt.figure() + for i in range(waypoints.shape[0] - 1): + self.start = self.Node(waypoints[i][0], waypoints[i][1]) + self.goal = self.Node(waypoints[i + 1][0], waypoints[i + 1][1]) + self.canvas_map = deepcopy(self.occ_map) + goal_check = self.check_hit(self.goal, self.goal) + if goal_check: + print("Goal state in collision!") + else: + path = self.planning() + if path is not None: + # print("Path: ", path) + path_length = 0 + + # for p in path: + # self.canvas_map[p[0]][p[1]] = 50 + + for u in range(1, len(path) - 1): + path_length += math.sqrt( + (path[u][0] - path[u - 1][0]) ** 2 + + (path[u][1] - path[u - 1][1]) ** 2 + ) + path = np.array(path) + paths.append(path) + + print("Path length: ", round(path_length, 3)) + print("Nodes expanded: ", len(self.node_list)) + + plt.plot(path[:, 1], path[:, 0]) + plt.scatter(path[0, 1], path[0, 0], marker="x", c="r") + plt.scatter(path[-1, 1], path[-1, 0], marker="x", c="r") + plt.imshow(self.occ_map, cmap="binary") + plt.colorbar() + plt.show() + + +if __name__ == "__main__": + obj = RRT() + + waypoints = np.array([[700, 800], [1000, 700], [900, 500], [600, 500]]) + # obj.initialize_states(waypoints) + obj.execute(waypoints) diff --git a/docking_control/utils/sonar_to_grid_map.py b/docking_control/utils/sonar_to_grid_map.py new file mode 100644 index 0000000..3956b0b --- /dev/null +++ b/docking_control/utils/sonar_to_grid_map.py @@ -0,0 +1,132 @@ +import math +import numpy as np +import pdb +from tqdm import tqdm + +EXTEND_AREA = 1.0 + + +def file_read(f): + """ + Reading LIDAR laser beams (angles and corresponding distance data) + """ + with open(f) as data: + measures = [line.split(",") for line in data] + angles = [] + distances = [] + for measure in measures: + angles.append(float(measure[0])) + distances.append(float(measure[1])) + angles = np.array(angles) + distances = np.array(distances) + return angles, distances + + +def bresenham(start, end): + """ + Implementation of Bresenham's line drawing algorithm + See en.wikipedia.org/wiki/Bresenham's_line_algorithm + Bresenham's Line Algorithm + Produces a np.array from start and end (original from roguebasin.com) + >>> points1 = bresenham((4, 4), (6, 10)) + >>> print(points1) + np.array([[4,4], [4,5], [5,6], [5,7], [5,8], [6,9], [6,10]]) + """ + # setup initial conditions + x1, y1 = start + x2, y2 = end + dx = x2 - x1 + dy = y2 - y1 + is_steep = abs(dy) > abs(dx) # determine how steep the line is + if is_steep: # rotate line + x1, y1 = y1, x1 + x2, y2 = y2, x2 + # swap start and end points if necessary and store swap state + swapped = False + if x1 > x2: + x1, x2 = x2, x1 + y1, y2 = y2, y1 + swapped = True + dx = x2 - x1 # recalculate differentials + dy = y2 - y1 # recalculate differentials + error = int(dx / 2.0) # calculate error + y_step = 1 if y1 < y2 else -1 + # iterate over bounding box generating points between start and end + y = y1 + points = [] + for x in range(x1, x2 + 1): + coord = [y, x] if is_steep else (x, y) + points.append(coord) + error -= abs(dy) + if error < 0: + y += y_step + error += dx + if swapped: # reverse the list if the coordinates were swapped + points.reverse() + points = np.array(points) + return points + + +def calc_grid_map_config(ox, oy, xy_resolution): + """ + Calculates the size, and the maximum distances according to the the + measurement center + """ + min_x = round(min(ox) - EXTEND_AREA / 2.0) + min_y = round(min(oy) - EXTEND_AREA / 2.0) + max_x = round(max(ox) + EXTEND_AREA / 2.0) + max_y = round(max(oy) + EXTEND_AREA / 2.0) + xw = int(round((max_x - min_x) / xy_resolution)) + yw = int(round((max_y - min_y) / xy_resolution)) + print("The grid map is ", xw, "x", yw, ".") + return min_x, min_y, max_x, max_y, xw, yw + + +def atan_zero_to_twopi(y, x): + angle = math.atan2(y, x) + if angle < 0.0: + angle += math.pi * 2.0 + return angle + + +def generate_ray_casting_grid_map(ox, oy, xy_resolution): + """ + The breshen boolean tells if it's computed with bresenham ray casting + (True) or with flood fill (False) + """ + min_x, min_y, max_x, max_y, x_w, y_w = calc_grid_map_config(ox, oy, xy_resolution) + # default 0.5 -- [[0.5 for i in range(y_w)] for i in range(x_w)] + + occupancy_map = np.zeros((x_w, y_w)) + # occupancy_map = np.ones((x_w, y_w)) / 2 + + center_x = int( + np.floor(-min_x / xy_resolution) + ) # center x coordinate of the grid map + center_y = int( + np.floor(-min_y / xy_resolution) + ) # center y coordinate of the grid map + + # occupancy grid computed with bresenham ray casting + for x, y in tqdm(zip(ox, oy), total=len(ox)): + # x coordinate of the the occupied area + ix = int(np.floor((x - min_x) / xy_resolution)) + # y coordinate of the the occupied area + iy = int(np.floor((y - min_y) / xy_resolution)) + + # laser_beams = bresenham((center_x, center_y), (ix, iy)) # line form the lidar to the occupied point + # for laser_beam in laser_beams: + # if laser_beam[0] < occupancy_map.shape[0] and laser_beam[1] < occupancy_map.shape[1]: + # if occupancy_map[laser_beam[0]][laser_beam[1]] != 1.0: + # occupancy_map[laser_beam[0]][laser_beam[1]] = 0.0 # free area 0.0 + + if ix < max_x: + occupancy_map[ix + 1][iy] = 1.0 # extend the occupied area + if iy < max_y: + occupancy_map[ix][iy + 1] = 1.0 # extend the occupied area + if ix < max_x and iy < max_y: + occupancy_map[ix + 1][iy + 1] = 1.0 # extend the occupied area + + occupancy_map[ix][iy] = 1.0 # occupied area 1.0 + + return occupancy_map, min_x, max_x, min_y, max_y, xy_resolution diff --git a/example_pkg/CMakeLists.txt b/example_pkg/CMakeLists.txt deleted file mode 100644 index af9e427..0000000 --- a/example_pkg/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(example_pkg) - -set(THIS_PACKAGE_INCLUDE_DEPENDS - catkin -) - -foreach(Dependency IN ITEMS ${THIS_PACKAGE_INCLUDE_DEPENDS}) - find_package(${Dependency} REQUIRED) -endforeach() diff --git a/example_pkg/LICENSE b/example_pkg/LICENSE deleted file mode 100644 index 5f74df8..0000000 --- a/example_pkg/LICENSE +++ /dev/null @@ -1,28 +0,0 @@ -BSD 3-Clause License - -Copyright (c) 2024, Robotic Decision Making Lab - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/example_pkg/package.xml b/example_pkg/package.xml deleted file mode 100644 index ef5343d..0000000 --- a/example_pkg/package.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - example_pkg - 0.0.1 - A sample ROS package - - Evan Palmer - MIT - - https://github.com/Robotic-Decision-Making-Lab/ros-template.git - https://github.com/Robotic-Decision-Making-Lab/ros-template/issues - - Evan Palmer - - catkin - diff --git a/requirements-dev.txt b/requirements-dev.txt index a3bd924..bcd1a61 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,3 +1,7 @@ # Development tools not required for project installation pre-commit mypy +pipenv +autopep8 +isort +pydocstyle diff --git a/ros2.repos b/ros.repos similarity index 100% rename from ros2.repos rename to ros.repos