-
Notifications
You must be signed in to change notification settings - Fork 6
New/fixing derivs no benchmarks #100
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
Open
DVolpi256
wants to merge
170
commits into
main
Choose a base branch
from
new/fixing_derivs_no_benchmarks
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
170 commits
Select commit
Hold shift + click to select a range
698d3d0
Forward pass on first order derivatives
DVolpi256 9bc3af0
Added a backward pass and changed derivative matrix dimensions.
DVolpi256 b594f40
Added swapped force product to first order derivative function and ad…
DVolpi256 64162ef
Tested firstOrderInverseDynamicsDeriviatives with additional lines in…
DVolpi256 7158c94
Added S_ring terms
DVolpi256 67839c2
Merge remote-tracking branch 'origin/main' into first_order_derivatives
DVolpi256 f993b1e
Started attempt to fix memory allocation error when calling ID deriva…
DVolpi256 412f4e3
Narrowed down the memory-related errors to a problem starting on line…
DVolpi256 26503ec
build cleanup for debugging
pwensing 2f548bf
Fixes for sizing
pwensing 8202e2d
Less aggressive debug flags
pwensing 49cd0e1
Debugged the rest of the ID derivatives function, and now the test pa…
DVolpi256 b87f990
Added std::complex<double> support from the complex step branch
DVolpi256 4f96b30
Made adjustments to test the inverse dynamics derivative function wit…
DVolpi256 6aedefa
Changed the finite difference to a complex step
DVolpi256 53901fd
Made separate tests for the inverse dynamics derivatives. One does a …
DVolpi256 4bf2ca1
Fixed an issue pertaining to gravity propagation. The inverse dynamic…
DVolpi256 8416cfb
Condensed the ID derivatives forward pass.
DVolpi256 3555b8e
Added the Mini Cheetah to the finite difference code.
DVolpi256 163b6d2
streamlined unit test
pwensing 996775e
Merge branch 'anon_func' into first_order_derivatives
pwensing c104c3f
prototype code
pwensing 4767fbf
prototype code
pwensing e2bf3ff
Expanded out the framework for a floating base finite difference. It …
DVolpi256 9ad7776
Fleshed out Lie group complex step and tested with Mini Cheetah.
DVolpi256 e1bf655
Added comments to ClusterTreeDynamics.cpp documenting necessary gradi…
DVolpi256 a4d792a
Made fixes to get testInverseDynamicsDerivatives working for the Mini…
DVolpi256 61cae82
The finite difference step for the Mini Cheetah now works without bre…
DVolpi256 8ec3fb8
Fix MiniCheetah test with [pos, quat] ordering and revert ClusterTree…
DVolpi256 62bfeb3
Fix MiniCheetah test to pass without breaking CasADi tests
DVolpi256 3302850
Fix complex-step configuration ordering and complex conjugation bug
DVolpi256 97fb0ea
Needed to address how the complex model of the mini cheetah was build…
DVolpi256 7039079
Made the first steps to add in derivative terms. Joints that have zer…
DVolpi256 630e19f
Created a revolute pair absolute joint to test a non-zero derivative …
DVolpi256 eca71ee
Made major progress in getting the MIT Humanoid to pass the inverse d…
DVolpi256 ab111ec
Implemented derivative term support for all but the generic joint. Wi…
DVolpi256 41b69ce
Created framework for generic joint derivatives, changed limit on so3…
DVolpi256 b26369c
Completed the generic joint derivatives and added new tests for finit…
DVolpi256 b1ab602
Commented out the implicit constraint FDs due to stochastic constrain…
DVolpi256 c40ae4d
There are now preliminary tests for the planar leg linkage, Tello, an…
DVolpi256 0c13617
Upped the accuracy on the finite difference and complex step tests. T…
DVolpi256 11f8f36
Refined tests. Complex step does not seem possible due to Casadi inco…
DVolpi256 e231b8a
Further refined the Tello tests.
DVolpi256 1f6b4f7
Fixed memory issues that now allow the Four Bar, Tello, and TelloWith…
DVolpi256 0b89917
Added a five-point stencil throughout the finite difference code.
DVolpi256 5995ca0
Polished up the implicit constraint finite difference tests.
DVolpi256 0e2ae7e
Added benchmarks for firsOrderIDDerivatives() and made adjustments fo…
DVolpi256 8f56cc8
Made various improvements to increase performance. Will need to do an…
DVolpi256 67c7843
Added batched operations for additional speed gains and examined the …
DVolpi256 bdaf9f2
Added robots and adjusted benchmark figure generation for paper, post…
DVolpi256 a7ae4a9
Added support for Tello complex step test
DVolpi256 c6bc8df
Finalized complex step test for closed loop constraints
DVolpi256 adc6310
Improved getSdotqd_q
pwensing 6737d4f
make generic
pwensing c85dcb2
Adding back in finite diff comparisson code
pwensing 2702f5e
Finite diff verification for getSdotqd_q
pwensing da1e0f4
clean up
pwensing f48fda2
whoops -- more cleanup
pwensing a36c741
Changed how getSq and is handled using jacobian_S_times_b and jacobia…
DVolpi256 e18b708
fix GenericJoint?
pwensing 32c5427
Attempt at a refactor of GenericJoint for S derivatives. Need to impl…
DVolpi256 1aa6a6a
Included most recent Kangaroo and Cassie complex step tests.
DVolpi256 6a362ec
Should restore genericjoint functionality to before yesterday's edits…
DVolpi256 7056102
small cleanup in lie group addition routine
pwensing 48b011f
Setting up ability to do complex step for states off the constriant m…
pwensing 372311b
Initial q perturbation switched to G method
pwensing 8acac7c
Updated complex step second instance
pwensing 1e3064e
tello derivatives now allow finite diff steps off the constraint mani…
pwensing 632d1ae
Streamline
pwensing 3e045e8
Remove Unused
pwensing 62f32c1
Streamline code
pwensing 45fbcae
Cleanup
pwensing a40b29e
Errors persist for MIT humanoid, but builds. PlanarLegLinkage derivat…
pwensing 08c66ec
streamline
pwensing 6ba907d
use joint constraint solving
pwensing 2d3903e
helper for randomizing model state
pwensing cad4c8a
many tests restored
pwensing 73c97ff
Remove direct tests
pwensing b45833d
cleanup
pwensing f88a351
cleanup
pwensing bc284da
refactored out simple tests
pwensing 18faa2d
humanoid passes again
pwensing c607afc
comment for PlanarLinkage Unit tests
pwensing f8e70cc
cleanup
pwensing 50adb93
clarifying comment
pwensing c06717a
Allow random states off manifold -- revisit
pwensing f5aacbc
restore testRigidBodyDynamicsAlgos
pwensing c8c535f
add native phi to fix tello constraint handling
pwensing 580bb7a
native_phi issue alerts
pwensing 8a2795b
Streamline further for commonality between simple and complex step tests
pwensing 265718f
Working to simplify the Simple unit tests
pwensing 8755302
Simplified the simple unit test
pwensing 5d7afa4
Cleaned up unit tests
pwensing f703f58
Oh boy. Four bars fixed.
pwensing abf33d6
Fail
pwensing 2b1a751
Fix fail -- make sure MITHumanoid samples a feasible state (now that …
pwensing a889491
ComplexStepTests
pwensing ab5fca9
This is the 80% complete code for switching getSq() to jacobian AD code.
DVolpi256 8b0d938
Moved getSq() is now only defaulted to for the revolute triple
DVolpi256 ace6da9
Fully replaced getSq() terms, added a revolute triple fallback, and w…
DVolpi256 43d0afe
Adding benchmark breakdown and attempting to fix unnecessary dynamic …
DVolpi256 5f728d6
Fixed Teleop Arm failure
DVolpi256 f3bf98d
Updated the loop depth test to test the proper model shape.
DVolpi256 d6d89bd
Fixed MIT Humanoid (-R) timing problem
DVolpi256 c0e0fc6
Moved accuracy documentation code into testIDDerivativesComplexStep …
DVolpi256 2e45f24
Fixed revolute pair w/o rotor
DVolpi256 e66ae09
Updated benchmarking files to make newest figures. Also expanded the …
DVolpi256 aa2e19a
Fix MIT Humanoid
pwensing 10d694a
fixed testClusterJoints for compatibility with new nq nv with revolut…
pwensing 6209de1
fix algosDerivatives test
pwensing 0846b44
WIP -- attempt fix of forwardKinematics test
pwensing 17ef582
Partial fix for reflected inertia algorithms -- something is still of…
pwensing 37ec573
Disable RevolutePairChainWithRotor in reflectedinertia tests for now.
pwensing 7c0e1a4
Fix forward kinematics test
pwensing 6ae0637
Bye bye mr kangaroo
pwensing 22814ea
Missed one kangaroo test -- removed
pwensing 3c46077
Remove benchmarkIDDerivativesAccuracy
pwensing 9a57649
relax cassie tolerance for non-deterministic unit test
pwensing 69411ee
deterministic seed for unit tests so tests can catch true regressions…
pwensing b1b9779
Fix tello constraint functions (errant integer division)
pwensing 706e1d6
Remove debug for native_phi
pwensing beb4e61
Restore kinematics check vs. Revolute Pair Cluster
pwensing 6b2fdbd
Patch fix for reflected inertia tests
pwensing 0955e32
Restore Revolute Pair Chain Reflected inertia test
pwensing c314926
Updated the Cassie model to utilize the proper inertias from its MJCF…
DVolpi256 d81d585
Fix silent undefined behavior in makeRPWRBodies/makeRPWRJoints sort
pwensing 1018277
streamline generic joint (remove unused functions)
pwensing 5a0e15b
candidate jit options
pwensing f43543c
Updated Cassie to match the library's handling of four bar mechanisms
DVolpi256 ecc5c77
Added breakdown code to benchmarkParallelChainDepth and updated the b…
DVolpi256 bea1865
No update articulated body inertias in inverse dynamics derivatives
pwensing bb90a6d
Fixed incorrect number of bodies for Cassie and KUKA
DVolpi256 e91791c
Removed Tello variants that were no longer in use
DVolpi256 7fd398a
Removed unused code in testClusterTreeModel.cpp
DVolpi256 075434b
Squashed commit of the following:
pwensing ef59e1c
Removed residual usage of phi native and replaced getSq usage in Worl…
DVolpi256 0b3bf8c
Removed residual usage of getSq()
DVolpi256 634255f
Removed GenericJoint usage of and references to caching
DVolpi256 7c755bb
Remove benchmarking divergences from main (profiling instrumentation,…
DVolpi256 22647b5
Removed more dead references to getSq() and caching behavior
DVolpi256 0fe636d
Removed dead references to Sdotqd_qd_
DVolpi256 c2b2a01
Update GenericJoint.h
DVolpi256 6a4b44f
q_cache_ is now q_spanning_ to prevent confusion with caching behavior
DVolpi256 d34ecc3
Rewrite comments on quaternion normalization
DVolpi256 7911966
Removed dead references to transformBlockDiagonalInertiaToWorld
DVolpi256 0e34277
Fix comment about return dimensions in getSdotqd_q method
DVolpi256 86f6b22
Fixed comment about tolerancing
DVolpi256 2c36c2d
Reworded comments for clarity in GenericJoint.cpp
DVolpi256 af3a93d
Took out outdated debugging references
DVolpi256 819f7b6
Reword comments for clarity on complex conjugation
DVolpi256 e097d55
Clean up inverse dynamics derivative tests
DVolpi256 a2b8bbf
Restructured fucntions that unnecessarily allocate matrices and moved…
DVolpi256 d3c489f
Also moved t1-t4 out of the loop
DVolpi256 cec6aac
Made alpha, beta, Sdotqd_q, and the t variables into member variables
DVolpi256 0622a26
Amended an out of date comment and removed unneeded overrides
DVolpi256 21044d1
Refactored updateKinematics to no longer have a large conditional
DVolpi256 5f32d1a
Revert "unhelpful change to storing blocks separately"
DVolpi256 5c9f4b9
Reapply "unhelpful change to storing blocks separately"
DVolpi256 ccb7262
Refactored TeleopArm and TwoLinkChain to rely on cloneToComplex
DVolpi256 70c8e2a
Took out KUKA LWR header in favor of cloning the URDF double model to…
DVolpi256 cd57a44
Removed unnecessary EIGEN_MAKE_ALIGNED_OPERATOR_NEW, added throw std:…
DVolpi256 0a3bf6d
Refactored I_ and Ic_ to be a vectors of 6x6 matrices instead of sing…
DVolpi256 00487c0
Removed dead code and made clarifying rewrites
DVolpi256 23649df
Rewrote the ComplexFloatDouble and ComplexFloatInverse classes into E…
DVolpi256 0c6637a
Revisions for clarity
DVolpi256 d6d3264
Added clarity and removed GenericImplicit use in RevoluePairWithRotor…
DVolpi256 3cd9938
Refined a comment in Triple and fixed outdated parts and added noalia…
DVolpi256 c7588ff
Cleaned up noalias() and eval() usage. Also made some variables membe…
DVolpi256 91ddb26
std::swap now used for F_out
DVolpi256 3657255
Clean ups
DVolpi256 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
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
Oops, something went wrong.
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.
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.
why removing these tests for MITHumanoid ?
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.
This was done very early on in the project. It throws an error caused by a mismatch between the urdf and the manually constructed model if included. It appears that the urdf doesn't appropriately capture the belt constraints of the ankle