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

Implement Set-Based TPIK and perform initial cleanup #17

Merged
merged 34 commits into from
Aug 2, 2023

Conversation

evan-palmer
Copy link
Collaborator

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 is much larger than it should be, but I don't have any desire to break it down into smaller PRs. The main contributions include:

  1. Development of the Set-Based TPIK algorithm for whole-body kinematic control
  2. Significantly cleaned up the description package to re-use the existing models provided in Blue and Alpha.
  3. Cleaned up the launch file
  4. Updated the dev container to support NVIDIA driver usage
  5. General cleanup and refactoring of the planning and mux packages.

Associated Issues

Testing

Way to much testing was done with the framework in simulation.

@evan-palmer evan-palmer self-assigned this Aug 2, 2023
@evan-palmer evan-palmer linked an issue Aug 2, 2023 that may be closed by this pull request
@evan-palmer evan-palmer changed the base branch from main to develop August 2, 2023 03:58
@evan-palmer evan-palmer merged commit 5cbe595 into develop Aug 2, 2023
4 checks passed
@evan-palmer evan-palmer deleted the 12-feature-implement-tpik-controller branch August 2, 2023 04:06
evan-palmer added a commit that referenced this pull request Sep 15, 2023
* started aruco marker detection

* Started implementing visual odometry interface

* dont die on me now momo

* Implemented support to estimate pose of largest tag in frame

* entered transformation matrix hell

* added tf listener and buffer

* Finished initial untested version of marker detector

* started integrating param config file

* Integrated angler_bringup package to launch full system

* Ran precommit and deleted pep257 tests

* Updated devcontainer to support humble and rolling

* Removed debug log

* Added static marker tf broadcaster example

* un-ignored bringup package in docker build

* Resolved pr comments

* Added skeleton package for planning interface

* Added additional repos file

* Started high level planner implementation

* Implemented initial version of pre-planned mission planner

* precommit

* resolved pr comments

* Removed file associations for action and msg files

* Refactored library and added tests

* Resolved final pr comments

* Refactored GStreamer interface into distinct node (#6)

* Refactored to support future localization sources and handlers

* Resolved PR comments

* Integrate support for localization using the Qualisys motion capture system (#8)

* Added qualisys motion capture support

* Added mocap node to launch file

* Added missing configuration to bringup config

* Modified launch description to support running the mocap or camera regardless of whether or not it is used as a source

* Port angler_localization to blue project (#11)

* Ported angler_localization

* Cleaned up dockerfile

* Moved to rolling devcontainer

* Implement Gazebo + ArduSub SITL for UVMS (#15)

* Ported angler_localization

* Cleaned up dockerfile

* Moved to rolling devcontainer

* Implemented initial versions of mux and demux

* Started to integrate blue and alpha launch files

* Continued integrating blue and alpha into system

* Converted bluerov2 sdf to urdf and split up gazebo configs

* Set up initial manipulator mount link

* Continued integrating uvms model

* Started to cleanup dockerfile to fix gz launch bugs

* [wip] resolved ros2_control launch issues - currently breaking down into smaller files

* Resolved launch issues

* More fixes and added gripper inertial properties

* kinda fixed initial position issue

* fixed bouyancy for bluerov2

* Resolved docker environment errors

* Resolved precommit errors

* Fixed precommit

* Resolved PR comments

* Implement Set-Based TPIK and perform initial cleanup (#17)

* started jacobian implementation

* Implemented jacobians for primary tasks

* finished (untested) initial version of jacobian implementation

* Saving DH param stuff before I delete in case of revert

* One more dh save

* Finished initial untested jacobians and started constraint implementation

* go crazy

* Finished jacobian unit tests

* Cleaned up jacobian implementation in favor of tasks

* Went back on task object idea

* started controller

* Save point before I go back to task classes... again

* Improved task interface

* Implemented base tpik

* Implemented hierarchy and modes

* Finished initial implementation of set based tpik

* Wrote hierarchy unit tests and started debugging

* Fixed set tasks

* Fixed axis d bug, resolved solution selection bug, and added nvidia driver support

* Added nominal configuration task

* Fixed devcontainer and most of end effector tracking

* Debugging uvms position jacobian

* WHY WONT THE POSITION JACOBIAN WORK FOR THE LOVE OF GOD

* i believe in a world free from the curse of singularities

* wip: started cleanup

* wip: removed angler msgs

* wip: fixed waypoint planner

* wip: redid the description package and launch file

* More bug fixes from cleanup

* Finished initial cleanup and tpik implementation

* Cleaned up readme

* Readme changes

* More readme stuff

* Fixed precommit and added iron to ci

* Implement behavior tree (#22)

* Started development of a cleaned up dockerfile

* Continued docker setup

* Finished up updated dockerfile

* here we go again

* Removed armv7

* Added requirement for vtk

* Replaced kinpy installation with fork

* Added updated docker compose script

* Moved tf to blue

* Started integration of a bezier curve planner

* Split kinematics into separate package

* Started arming behaviors

* Removed drake stuff and finished arming behaviors

* Created base controller

* Started implementing trajectory controller

* wip: continued joint trajectory controller implementation

* Finished initial version of trajectory interface

* Rebuild image to include blue changes

* Finished joint trajectory controller

* wip: finished initial version of behavior tree

* removed branch from pipeline

* Started debugging tree

* Fixed data gathering behaviors

* Finished debugging behavior tree

* Finished initial version of behavior tree

* Added gripper and cleanup behaviors

* started trajectory replanner

* Cleaned up params

* cleaned up behavior tree

* Resolved pr comments as much as i feel like resolving them

* Fixed bug in frame names

* updated issue templates
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant