Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implemented velocity controller, TAM controller, and thruster controller #6

Merged
merged 52 commits into from
Mar 14, 2024

Conversation

evan-palmer
Copy link
Contributor

Changes Made

This PR implements several chainable controllers including:

  1. an Integral Sliding Mode Controller
  2. a Thruster Allocation Matrix Controller
  3. a Polynomial Thrust Curve Controller

Associated Issues

Once fully integrated, this will help close this issue: Robotic-Decision-Making-Lab/blue#33

Testing

Testing was performed using examples (which will be merged in a later PR) and in simulation.

@evan-palmer evan-palmer self-assigned this Mar 14, 2024
@evan-palmer evan-palmer merged commit 74795a1 into develop Mar 14, 2024
5 checks passed
@evan-palmer evan-palmer deleted the feat-evan-tam branch March 14, 2024 21:31
evan-palmer added a commit that referenced this pull request Mar 19, 2024
* Added skeleton packages for controllers

* Added vcs install to devcontainers and fixed example_pkg build error

* Fixed clang format andlicense

* Implemented velocity controller, TAM controller, and thruster controller (#6)

* Started ISMC implementation

* Continued implementing ismc

* Started implementation file

* Added hydrodynamic parameters

* Added generate_parameter_library integration

* Added everything but state callback and control law

* Added system state updates

* Finished initial version of velocity controller

* Cleanup and minor bug fixes

* Added missing imports

* Added dummy package for testing

* Added call to update state values

* thruster allocation matrix controller before testing

* changes according to PR comments

* Fixed pluginlib issue. Able to load both controllers but need to address why ros2_control node dies

* WIP: Modified URDF

* Partially works. Still need to fix TAM controller

* Save point

* Started fixed

* Added configuration type

* Rewrite of tam controller and isolated bug in velocity controller

* Added author names

* Cleaned up velocity controller and fixed some bugs

* Fixed bug with URDF and cleaned up thruster controller

* Finished thrust curve controller

* Fixed linter errors

* Fixed tam bug

* fixing tam todos. more work needed.

* Added deadband into thruster controller

* renamed command interface prefix to reference controller

* Updated meta package

* Added auv_control_msg package and fixed the TODOs in TAM controller

* Removed unnecessary deps

* Cleanup a bit

* Added missing dep for hydrodynamics to package configuration

* Updated to use effort interfaces

* Removed unused package

* Initial cleanup for pr

* Fixed precommit errors and attempting to fix ci workflow

* i hate devops so much

* take two

* Trying ros industrial again

* Trying again

* WHY

* tired

* Attempting to setup the upstream workspace

* fixed clang-tidy file and linter errors

* you win clang tidy

* Forgot to remove colcon build from devcontainer stage

* Resolved pr comments

---------

Co-authored-by: unknown <[email protected]>
Co-authored-by: EverardoG <[email protected]>
Co-authored-by: Rakesh Vivekanandan <[email protected]>

* Added documentation and examples to demonstrate project use (#10)

* Create README.md

Added a readme for the tam controller

* Update README.md

* additional edits to tam README.md

* fixed formatting README.md

* revert code block formatting and update summary in tam README.md

* Created README.md for velocity controller.

* Fixed velocity controller README.md formatting

* Created README.md for thrust controllers.

* Update README.md

* Update README.md

* Update README.md

* Updated main README

* Cleaned up readmes

* Fixed notice

* More formatting changes

* Fixed capitalization of chainable

* Fixed formatting in velocity control readme

* Added missing abbreviation declaration

* Implemented examples and associated documentation (#9)

* add auv_control_demos

* added example for individual controller

* updated package.xml

* minor fix to launch file

* Suggested PR changes

* Made some minor grammar fixes and added copyright to launch files

* Fixed lint errors in auv_control_demos top-level readme

* Made some formatting improvements to the chained controller demo

* Made some final small changes

---------

Co-authored-by: EverardoG <[email protected]>
Co-authored-by: Evan Palmer <[email protected]>

---------

Co-authored-by: coamitch <[email protected]>
Co-authored-by: Rakesh Vivekanandan <[email protected]>
Co-authored-by: Rakesh Vivekanandan <[email protected]>
Co-authored-by: EverardoG <[email protected]>

---------

Co-authored-by: unknown <[email protected]>
Co-authored-by: EverardoG <[email protected]>
Co-authored-by: Rakesh Vivekanandan <[email protected]>
Co-authored-by: coamitch <[email protected]>
Co-authored-by: Rakesh Vivekanandan <[email protected]>
rakeshv24 added a commit that referenced this pull request Mar 19, 2024
…ler (#6)

* Started ISMC implementation

* Continued implementing ismc

* Started implementation file

* Added hydrodynamic parameters

* Added generate_parameter_library integration

* Added everything but state callback and control law

* Added system state updates

* Finished initial version of velocity controller

* Cleanup and minor bug fixes

* Added missing imports

* Added dummy package for testing

* Added call to update state values

* thruster allocation matrix controller before testing

* changes according to PR comments

* Fixed pluginlib issue. Able to load both controllers but need to address why ros2_control node dies

* WIP: Modified URDF

* Partially works. Still need to fix TAM controller

* Save point

* Started fixed

* Added configuration type

* Rewrite of tam controller and isolated bug in velocity controller

* Added author names

* Cleaned up velocity controller and fixed some bugs

* Fixed bug with URDF and cleaned up thruster controller

* Finished thrust curve controller

* Fixed linter errors

* Fixed tam bug

* fixing tam todos. more work needed.

* Added deadband into thruster controller

* renamed command interface prefix to reference controller

* Updated meta package

* Added auv_control_msg package and fixed the TODOs in TAM controller

* Removed unnecessary deps

* Cleanup a bit

* Added missing dep for hydrodynamics to package configuration

* Updated to use effort interfaces

* Removed unused package

* Initial cleanup for pr

* Fixed precommit errors and attempting to fix ci workflow

* i hate devops so much

* take two

* Trying ros industrial again

* Trying again

* WHY

* tired

* Attempting to setup the upstream workspace

* fixed clang-tidy file and linter errors

* you win clang tidy

* Forgot to remove colcon build from devcontainer stage

* Resolved pr comments

---------

Co-authored-by: unknown <[email protected]>
Co-authored-by: EverardoG <[email protected]>
Co-authored-by: Rakesh Vivekanandan <[email protected]>
evan-palmer added a commit that referenced this pull request Mar 19, 2024
* Added skeleton packages for controllers

* Added vcs install to devcontainers and fixed example_pkg build error

* Fixed clang format andlicense

* Implemented velocity controller, TAM controller, and thruster controller (#6)

* Started ISMC implementation

* Continued implementing ismc

* Started implementation file

* Added hydrodynamic parameters

* Added generate_parameter_library integration

* Added everything but state callback and control law

* Added system state updates

* Finished initial version of velocity controller

* Cleanup and minor bug fixes

* Added missing imports

* Added dummy package for testing

* Added call to update state values

* thruster allocation matrix controller before testing

* changes according to PR comments

* Fixed pluginlib issue. Able to load both controllers but need to address why ros2_control node dies

* WIP: Modified URDF

* Partially works. Still need to fix TAM controller

* Save point

* Started fixed

* Added configuration type

* Rewrite of tam controller and isolated bug in velocity controller

* Added author names

* Cleaned up velocity controller and fixed some bugs

* Fixed bug with URDF and cleaned up thruster controller

* Finished thrust curve controller

* Fixed linter errors

* Fixed tam bug

* fixing tam todos. more work needed.

* Added deadband into thruster controller

* renamed command interface prefix to reference controller

* Updated meta package

* Added auv_control_msg package and fixed the TODOs in TAM controller

* Removed unnecessary deps

* Cleanup a bit

* Added missing dep for hydrodynamics to package configuration

* Updated to use effort interfaces

* Removed unused package

* Initial cleanup for pr

* Fixed precommit errors and attempting to fix ci workflow

* i hate devops so much

* take two

* Trying ros industrial again

* Trying again

* WHY

* tired

* Attempting to setup the upstream workspace

* fixed clang-tidy file and linter errors

* you win clang tidy

* Forgot to remove colcon build from devcontainer stage

* Resolved pr comments

---------

Co-authored-by: unknown <[email protected]>
Co-authored-by: EverardoG <[email protected]>
Co-authored-by: Rakesh Vivekanandan <[email protected]>

* Added documentation and examples to demonstrate project use (#10)

* Create README.md

Added a readme for the tam controller

* Update README.md

* additional edits to tam README.md

* fixed formatting README.md

* revert code block formatting and update summary in tam README.md

* Created README.md for velocity controller.

* Fixed velocity controller README.md formatting

* Created README.md for thrust controllers.

* Update README.md

* Update README.md

* Update README.md

* Updated main README

* Cleaned up readmes

* Fixed notice

* More formatting changes

* Fixed capitalization of chainable

* Fixed formatting in velocity control readme

* Added missing abbreviation declaration

* Implemented examples and associated documentation (#9)

* add auv_control_demos

* added example for individual controller

* updated package.xml

* minor fix to launch file

* Suggested PR changes

* Made some minor grammar fixes and added copyright to launch files

* Fixed lint errors in auv_control_demos top-level readme

* Made some formatting improvements to the chained controller demo

* Made some final small changes

---------

Co-authored-by: EverardoG <[email protected]>
Co-authored-by: Evan Palmer <[email protected]>

---------

Co-authored-by: coamitch <[email protected]>
Co-authored-by: Rakesh Vivekanandan <[email protected]>
Co-authored-by: Rakesh Vivekanandan <[email protected]>
Co-authored-by: EverardoG <[email protected]>

* Updated Readme files

* Added skeleton packages for controllers

* Added vcs install to devcontainers and fixed example_pkg build error

* Fixed clang format andlicense

* Implemented velocity controller, TAM controller, and thruster controller (#6)

* Started ISMC implementation

* Continued implementing ismc

* Started implementation file

* Added hydrodynamic parameters

* Added generate_parameter_library integration

* Added everything but state callback and control law

* Added system state updates

* Finished initial version of velocity controller

* Cleanup and minor bug fixes

* Added missing imports

* Added dummy package for testing

* Added call to update state values

* thruster allocation matrix controller before testing

* changes according to PR comments

* Fixed pluginlib issue. Able to load both controllers but need to address why ros2_control node dies

* WIP: Modified URDF

* Partially works. Still need to fix TAM controller

* Save point

* Started fixed

* Added configuration type

* Rewrite of tam controller and isolated bug in velocity controller

* Added author names

* Cleaned up velocity controller and fixed some bugs

* Fixed bug with URDF and cleaned up thruster controller

* Finished thrust curve controller

* Fixed linter errors

* Fixed tam bug

* fixing tam todos. more work needed.

* Added deadband into thruster controller

* renamed command interface prefix to reference controller

* Updated meta package

* Added auv_control_msg package and fixed the TODOs in TAM controller

* Removed unnecessary deps

* Cleanup a bit

* Added missing dep for hydrodynamics to package configuration

* Updated to use effort interfaces

* Removed unused package

* Initial cleanup for pr

* Fixed precommit errors and attempting to fix ci workflow

* i hate devops so much

* take two

* Trying ros industrial again

* Trying again

* WHY

* tired

* Attempting to setup the upstream workspace

* fixed clang-tidy file and linter errors

* you win clang tidy

* Forgot to remove colcon build from devcontainer stage

* Resolved pr comments

---------

Co-authored-by: unknown <[email protected]>
Co-authored-by: EverardoG <[email protected]>
Co-authored-by: Rakesh Vivekanandan <[email protected]>

* Added documentation and examples to demonstrate project use (#10)

* Create README.md

Added a readme for the tam controller

* Update README.md

* additional edits to tam README.md

* fixed formatting README.md

* revert code block formatting and update summary in tam README.md

* Created README.md for velocity controller.

* Fixed velocity controller README.md formatting

* Created README.md for thrust controllers.

* Update README.md

* Update README.md

* Update README.md

* Updated main README

* Cleaned up readmes

* Fixed notice

* More formatting changes

* Fixed capitalization of chainable

* Fixed formatting in velocity control readme

* Added missing abbreviation declaration

* Implemented examples and associated documentation (#9)

* add auv_control_demos

* added example for individual controller

* updated package.xml

* minor fix to launch file

* Suggested PR changes

* Made some minor grammar fixes and added copyright to launch files

* Fixed lint errors in auv_control_demos top-level readme

* Made some formatting improvements to the chained controller demo

* Made some final small changes

---------

Co-authored-by: EverardoG <[email protected]>
Co-authored-by: Evan Palmer <[email protected]>

---------

Co-authored-by: coamitch <[email protected]>
Co-authored-by: Rakesh Vivekanandan <[email protected]>
Co-authored-by: Rakesh Vivekanandan <[email protected]>
Co-authored-by: EverardoG <[email protected]>

* Bump docker/build-push-action from 5.1.0 to 5.2.0

Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5.1.0 to 5.2.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](docker/build-push-action@v5.1.0...v5.2.0)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump docker/build-push-action from 5.2.0 to 5.3.0 (#7)

Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5.2.0 to 5.3.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](docker/build-push-action@v5.2.0...v5.3.0)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump docker/login-action from 3.0.0 to 3.1.0 (#8)

Bumps [docker/login-action](https://github.com/docker/login-action) from 3.0.0 to 3.1.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](docker/login-action@v3.0.0...v3.1.0)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Updated Readme files

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Evan Palmer <[email protected]>
Co-authored-by: unknown <[email protected]>
Co-authored-by: EverardoG <[email protected]>
Co-authored-by: coamitch <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
evan-palmer added a commit that referenced this pull request Mar 19, 2024
* Added skeleton packages for controllers

* Added vcs install to devcontainers and fixed example_pkg build error

* Fixed clang format andlicense

* Implemented velocity controller, TAM controller, and thruster controller (#6)

* Started ISMC implementation

* Continued implementing ismc

* Started implementation file

* Added hydrodynamic parameters

* Added generate_parameter_library integration

* Added everything but state callback and control law

* Added system state updates

* Finished initial version of velocity controller

* Cleanup and minor bug fixes

* Added missing imports

* Added dummy package for testing

* Added call to update state values

* thruster allocation matrix controller before testing

* changes according to PR comments

* Fixed pluginlib issue. Able to load both controllers but need to address why ros2_control node dies

* WIP: Modified URDF

* Partially works. Still need to fix TAM controller

* Save point

* Started fixed

* Added configuration type

* Rewrite of tam controller and isolated bug in velocity controller

* Added author names

* Cleaned up velocity controller and fixed some bugs

* Fixed bug with URDF and cleaned up thruster controller

* Finished thrust curve controller

* Fixed linter errors

* Fixed tam bug

* fixing tam todos. more work needed.

* Added deadband into thruster controller

* renamed command interface prefix to reference controller

* Updated meta package

* Added auv_control_msg package and fixed the TODOs in TAM controller

* Removed unnecessary deps

* Cleanup a bit

* Added missing dep for hydrodynamics to package configuration

* Updated to use effort interfaces

* Removed unused package

* Initial cleanup for pr

* Fixed precommit errors and attempting to fix ci workflow

* i hate devops so much

* take two

* Trying ros industrial again

* Trying again

* WHY

* tired

* Attempting to setup the upstream workspace

* fixed clang-tidy file and linter errors

* you win clang tidy

* Forgot to remove colcon build from devcontainer stage

* Resolved pr comments

---------

Co-authored-by: unknown <[email protected]>
Co-authored-by: EverardoG <[email protected]>
Co-authored-by: Rakesh Vivekanandan <[email protected]>

* Added documentation and examples to demonstrate project use (#10)

* Create README.md

Added a readme for the tam controller

* Update README.md

* additional edits to tam README.md

* fixed formatting README.md

* revert code block formatting and update summary in tam README.md

* Created README.md for velocity controller.

* Fixed velocity controller README.md formatting

* Created README.md for thrust controllers.

* Update README.md

* Update README.md

* Update README.md

* Updated main README

* Cleaned up readmes

* Fixed notice

* More formatting changes

* Fixed capitalization of chainable

* Fixed formatting in velocity control readme

* Added missing abbreviation declaration

* Implemented examples and associated documentation (#9)

* add auv_control_demos

* added example for individual controller

* updated package.xml

* minor fix to launch file

* Suggested PR changes

* Made some minor grammar fixes and added copyright to launch files

* Fixed lint errors in auv_control_demos top-level readme

* Made some formatting improvements to the chained controller demo

* Made some final small changes

---------

Co-authored-by: EverardoG <[email protected]>
Co-authored-by: Evan Palmer <[email protected]>

---------

Co-authored-by: coamitch <[email protected]>
Co-authored-by: Rakesh Vivekanandan <[email protected]>
Co-authored-by: Rakesh Vivekanandan <[email protected]>
Co-authored-by: EverardoG <[email protected]>

* Updated Readme files

* Added skeleton packages for controllers

* Added vcs install to devcontainers and fixed example_pkg build error

* Fixed clang format andlicense

* Implemented velocity controller, TAM controller, and thruster controller (#6)

* Started ISMC implementation

* Continued implementing ismc

* Started implementation file

* Added hydrodynamic parameters

* Added generate_parameter_library integration

* Added everything but state callback and control law

* Added system state updates

* Finished initial version of velocity controller

* Cleanup and minor bug fixes

* Added missing imports

* Added dummy package for testing

* Added call to update state values

* thruster allocation matrix controller before testing

* changes according to PR comments

* Fixed pluginlib issue. Able to load both controllers but need to address why ros2_control node dies

* WIP: Modified URDF

* Partially works. Still need to fix TAM controller

* Save point

* Started fixed

* Added configuration type

* Rewrite of tam controller and isolated bug in velocity controller

* Added author names

* Cleaned up velocity controller and fixed some bugs

* Fixed bug with URDF and cleaned up thruster controller

* Finished thrust curve controller

* Fixed linter errors

* Fixed tam bug

* fixing tam todos. more work needed.

* Added deadband into thruster controller

* renamed command interface prefix to reference controller

* Updated meta package

* Added auv_control_msg package and fixed the TODOs in TAM controller

* Removed unnecessary deps

* Cleanup a bit

* Added missing dep for hydrodynamics to package configuration

* Updated to use effort interfaces

* Removed unused package

* Initial cleanup for pr

* Fixed precommit errors and attempting to fix ci workflow

* i hate devops so much

* take two

* Trying ros industrial again

* Trying again

* WHY

* tired

* Attempting to setup the upstream workspace

* fixed clang-tidy file and linter errors

* you win clang tidy

* Forgot to remove colcon build from devcontainer stage

* Resolved pr comments

---------

Co-authored-by: unknown <[email protected]>
Co-authored-by: EverardoG <[email protected]>
Co-authored-by: Rakesh Vivekanandan <[email protected]>

* Added documentation and examples to demonstrate project use (#10)

* Create README.md

Added a readme for the tam controller

* Update README.md

* additional edits to tam README.md

* fixed formatting README.md

* revert code block formatting and update summary in tam README.md

* Created README.md for velocity controller.

* Fixed velocity controller README.md formatting

* Created README.md for thrust controllers.

* Update README.md

* Update README.md

* Update README.md

* Updated main README

* Cleaned up readmes

* Fixed notice

* More formatting changes

* Fixed capitalization of chainable

* Fixed formatting in velocity control readme

* Added missing abbreviation declaration

* Implemented examples and associated documentation (#9)

* add auv_control_demos

* added example for individual controller

* updated package.xml

* minor fix to launch file

* Suggested PR changes

* Made some minor grammar fixes and added copyright to launch files

* Fixed lint errors in auv_control_demos top-level readme

* Made some formatting improvements to the chained controller demo

* Made some final small changes

---------

Co-authored-by: EverardoG <[email protected]>
Co-authored-by: Evan Palmer <[email protected]>

---------

Co-authored-by: coamitch <[email protected]>
Co-authored-by: Rakesh Vivekanandan <[email protected]>
Co-authored-by: Rakesh Vivekanandan <[email protected]>
Co-authored-by: EverardoG <[email protected]>

* Bump docker/build-push-action from 5.1.0 to 5.2.0

Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5.1.0 to 5.2.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](docker/build-push-action@v5.1.0...v5.2.0)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump docker/build-push-action from 5.2.0 to 5.3.0 (#7)

Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5.2.0 to 5.3.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](docker/build-push-action@v5.2.0...v5.3.0)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump docker/login-action from 3.0.0 to 3.1.0 (#8)

Bumps [docker/login-action](https://github.com/docker/login-action) from 3.0.0 to 3.1.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](docker/login-action@v3.0.0...v3.1.0)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Updated Readme files

* Updated README.md

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Evan Palmer <[email protected]>
Co-authored-by: unknown <[email protected]>
Co-authored-by: EverardoG <[email protected]>
Co-authored-by: coamitch <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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.

4 participants