generated from Robotic-Decision-Making-Lab/ros2-template
-
Notifications
You must be signed in to change notification settings - Fork 2
Implement TPIK controller and AITSMC #51
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
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…me buffers to copy message instead of pointer
evan-palmer
commented
Apr 26, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A general comment to add is to be consistent about std::format usage in logs. I think the best place to use it, is where it simplifies/shortens the log code
thruster_controllers/include/thruster_controllers/gz_passthrough_controller.hpp
Outdated
Show resolved
Hide resolved
thruster_controllers/include/thruster_controllers/rotation_rate_controller.hpp
Outdated
Show resolved
Hide resolved
thruster_controllers/src/polynomial_thrust_curve_controller.cpp
Outdated
Show resolved
Hide resolved
whole_body_controllers/include/whole_body_controllers/ik_controller.hpp
Outdated
Show resolved
Hide resolved
The remaining errors are all a consequence of me using C++ 23 features. Those errors do not need to be fixed. |
mergify bot
pushed a commit
that referenced
this pull request
Apr 27, 2025
* Updated ISMC to use twist stamped state message and refactored realtime buffers to copy message instead of pointer * starting port of tpik control * Continued work on TPIK controller * Started implementing task priority IK solver * Implemented base tpik solver * Finished initial implementation of constraints and task priority solver * Cleanup * Cleanup and starting to integrate pinocchio * missing change * Continuing to integrate pinocchio for jacobians * bedtime * actually bedtime now * Refactored solver * Finished initial version - starting build * gym time baby * solver compile working * Started ik controller * Wrote initial version of ik controller * gym time baby * ok actually gym time now * ik controller compiles * Remove state subscriber * Added odom sensorg * Added topic sensor readme * Updated to latest version of ros2_control api * Update cmakelists files * updated dockerfile * added structure for aitsmc * Started aitsmc implementation * Implemented bare bones version of aitsmc * Initial version of AITSMC compiles * cleanup * Cleanup * Update issue templates * Started updating readmes * name spell error * fixed ismc * Switch to alternative version of jacobian for pose constraint * 3 hours of my life spent on this freaking bug * use updated hydrodynamics api * updates * Fix topic sensor * debugging sensor * bleh * Fixed segfault in odom sensor * quick hack * quick hack * Start updated ismc and integrated updated hydrodynamics api * finish integrating updated hydrodynamics api * fix transient local * Fix bugs in model parsing * update description topic * remove initial adaptive gain value * fix qos in aitsmc * Fixed disturbance rejection torque * added angular velocity thruster controller * remove deadband from force model * fix controller registration * Fix nan thruster bug * fix bug in controller state publishers * reintroduce cleaned up external state interface for velocity controllers * Added deadband to rate controller * rename parameter * Added a gazebo passthrough thruster controller * test full urdf and start debugging tpik controller * adding docs to thruster controllers * testing math * updated thruster controller docs * testing math mode * update controller docs * update controller docs * update controller docs * Added controller state publisher to aitsmc * update controller docs * potential fix for controller manager * Fix linking bug * debugging wbc * cleanup and debugging wbc * Fixes to wbc * Fix solver export * split ik solvers into new package * bleh * pain * testing * revert * debugging ik solvers * adding tests for tpik controller * move urdf file * remove solver testing package * debug tpik solver * started moving ik solver examples to demos dir * add print to check aitsmc adaptation * testing * bleh * testing * bleh * bleh * bleh * bleh * bug fix * bug fix * bug fix * bug fix * bug fix * bleh * aitsmc debugged * fix parameters * pluginlib export not working again ahhhhh * fix pluginlib export * fix command interfaces * cleanup + cleanup params files * missing quotation mark * fix segfault * cleanup * cleanup * fix bug in state values save * revert change * Fix parameter namespacing * pain * Attempting frame error fix * Fixed q order in update state values * potential fix * dumb * Refactoring ik controller * refactored ik controller * fix resize bug * silly bug * more bug fixes * fixed ik controller * cleanup * Removed testing script * debugging * Fixed state update bug * WORKING STATE * testing ik_solver lib in whole_body_controllers * Revert and cleanup * getting ready for PR * docs * grammar * Add support to auto transform messages using the odom sensor * forgot to update build * fix broken wbc build * fix pinv bug * fix bug in aitsmc * done * precommit * address pr comments * cleanup * change no solution to debug log * remove unused dependency * try fixing ci pipeline * try c++ 20 * fix implicit cast to int * clang tidy fixes * format * Added changelogs and bumped version numbers * spelling (cherry picked from commit b9ada28) # Conflicts: # README.md
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changes Made
NOTE: This PR will not be backported to Humble.
This is a large PR with several key changes:
Associated Issues
Testing
Testing has been does in simulation with Blue. A UVMS demo has been added to blue show IK controller usage.