Skip to content

Conversation

@evan-palmer
Copy link
Member

@evan-palmer evan-palmer commented Jun 28, 2023

Checklist

  • I have performed a thorough review of my code
  • I have sufficiently commented my code
  • The implementation follows the project style conventions
  • All project unit tests are passing
  • If relevant, documentation has been provided or updated to discuss the changes made
  • System integration tests were performed successfully

Changes Made

This PR marks the first "stable" version of the project (as stable as research code can be). The main features included within this PR are:

  • Architecture designed to support development of custom controllers
  • RC Passthrough mode to enable sending thrust commands to individual thrusters
  • An integral sliding mode controller
  • Interfaces for defining custom hydrodynamic parameters and using the parameters for controllers
  • Gazebo + ArduSub SITL environment for testing custom algorithms
  • Localization interface to support developing custom SLAM algorithms for localization and external sensors for localization

Associated Issues

There are no issues associated with this PR.

Testing

Extensive testing was done with the the simulator and controller. Future testing should be done on the vehicle itself to validate all parameters.

* started porting bridge to base controller

* continued base controller implementation

* bedtime

* Added parameter to control publish rate

* Continued controller implementation and fixed docker errors

* save point

* reincluded bridge to separate concerns

* continued base controller implementation

* added linear velocity calculation

* cleaned up lambdas and continued base controller

* Started implementing vehicle dynamics

* Continued vehicle dynamics implementation

* Finished initial untested version of vehicle dynamics

* Resolve initial bugs

* Started working on unit testing the dynamics

* i dont remember

* Started implementing test cases and squashed some bugs

* Finished vehicle dynamics test cases and added current effects

* Added TCM and started thruster dynamics

* Removed unrelevant files

* Fixed comments

* started implementation of manager

* Removed unused packages and cleaned up manager implementation

* Removed dynamics package as not in pr scope

* Implemented and tested parameter backup procedure, started on passthrough mode enabling

* Cleaned up implementation and started param backup service

* Time for some video games baby

* Removed unnecessary methods

* Removed more unused methods

* Added interface to stop thrusters and improve success rate of mode change command

* Refactored to use multithreadedexecutor

* Save point for golf

* Finalized initial version

* Resolved PR comments
* started porting bridge to base controller

* continued base controller implementation

* bedtime

* Added parameter to control publish rate

* Continued controller implementation and fixed docker errors

* save point

* reincluded bridge to separate concerns

* continued base controller implementation

* added linear velocity calculation

* cleaned up lambdas and continued base controller

* Started implementing vehicle dynamics

* Continued vehicle dynamics implementation

* Finished initial untested version of vehicle dynamics

* Resolve initial bugs

* Started working on unit testing the dynamics

* i dont remember

* Started implementing test cases and squashed some bugs

* Finished vehicle dynamics test cases and added current effects

* Added TCM and started thruster dynamics

* Removed unrelevant files

* Fixed comments

* Started refactoring to resolve pr comments

* Continued PR refactor

* Missing semicolon

* found a pattern that makes sense

* updated coriolis implementation

* Finished refactor

* Added docstrings

* Adding back negative

* Updated test cases

* Removed unused dependencies

* Removed irrelevant packages from dockerignore

* fixed comment

* Fixed comment spacing

* Removed unused time derivatives

* cleaned up documentation

* Added deadzone formula

* Implemented initial version of thrust surface

* Fixed thruster model tests

* Added docstrings

* Resolved remaining PR comments
* Implemented initial version of base controller

* Fixed deps

* Started implementation of ismc

* Continued ismc implementation

* Added service to arm and disarm controller

* Fixed custom controllers build

* use modernize bind

* Resolved PR comments
* Started integration of launch files and updated dockerfile to properly install mavros

* precommit

* Added message interval client

* Added vision pose plugin

* Added docstrings

* Fixed pr comments
* Ported angler_localization

* Added localization package to dockerignore

* Resolved controller bug and fixed dockerfile

* Removed redundant install

* Resolved PR comments
* Started integrating ardusub and gazebo into dockerfile

* Added Gazebo Garden installation to dockerfile

* Added workspace.repos for models

* added vcs import to devcontainer

* Started blue description

* Added ability to launch gz with models

* Started to add ardusub process into launch

* Added ros_gz and ardupilot bridge to enable sitl

* Cleaned up for PR

* Fixed codespell and ran linters

* Resolved PR comments
* Added tf2_eigen and switched dynamic matrices to fixed-size matrices

* Resolved PR comments
* Started implementing thruster dynamics without battery state

* Added thruster models without battery state
* Started debugging controller

* Added proportional gain and fixed missing initial conditions

* Added gazebo localizer and fixed some more bugs

* IT WORKS

* Cleaned up comments and re-added heavy launch file

* More bug fixes

* Started cleanup

* Continued cleanup and updated readme

* Added support to run foxglove from launch

* Renamed reference to twistaccelcmd

* Started to resolve pr comments

* WIP: tuning the controller for the bluerov2 base configuration

* WIP: Im tired of this

* WIP: resolved bugs in transforms and tcm

* Final fixes for pr and added keyboard teleop
@evan-palmer evan-palmer self-assigned this Jun 28, 2023
* Resolved build issues and cleaned up utils

* Resolved bugs in build and bluerov base config tcm

* Removed negatives from zeros in the config files

* Moved tf2 import to correct file
@evan-palmer
Copy link
Member Author

This build will fail due to Issue #25; however, I plan to merge this regardless and fix the build once I set up the release branches

@evan-palmer evan-palmer merged commit f958a22 into main Jun 29, 2023
@evan-palmer evan-palmer deleted the develop branch June 29, 2023 00:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants