Skip to content

Conversation

@evan-palmer
Copy link
Member

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

A deadzone band that does not depend on the current battery state was added. A force-PWM curve was also identified without the battery state model. Together, this gives users the option of using the thruster dynamics with or without the current battery state. This is especially useful when the battery state is not available to a user (e.g., in the case of the SITL environment).

Associated Issues

Testing

Additional unit tests were added for the new implementation to verify the accuracy of the implementation.

@evan-palmer evan-palmer self-assigned this Jun 20, 2023
@evan-palmer evan-palmer merged commit 917f3b6 into develop Jun 20, 2023
@evan-palmer evan-palmer deleted the 21-bug-sitl-battery-state branch June 20, 2023 20:09
evan-palmer added a commit that referenced this pull request Jun 29, 2023
* started implementation of thruster dynamics

* Finished initial implementation of bridge

* Finished initial implementation of bridge

* forgot to save

* removed unused configs directory

* Implement an interface to manage control of the thrusters (#9)

* 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

* Implement system hydrodynamics (#7)

* 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

* Implement a base controller and integral sliding mode controller (#10)

* 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

* Implement launch files (#16)

* 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

* Removed controller arming from manager (#17)

* Port angler_localization to blue_localization (#18)

* Ported angler_localization

* Added localization package to dockerignore

* Resolved controller bug and fixed dockerfile

* Removed redundant install

* Resolved PR comments

* Integrate support for simulation with Gazebo and ArduSub (#23)

* 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

* Use tf2_eigen for msg conversions (#26)

* Added tf2_eigen and switched dynamic matrices to fixed-size matrices

* Resolved PR comments

* Added thruster dynamics without battery state model (#27)

* Started implementing thruster dynamics without battery state

* Added thruster models without battery state

* Tune ISMC and resolve coordinate frame issues (#32)

* 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

* Resolve blue_control build errors (#38)

* 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
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