-
Notifications
You must be signed in to change notification settings - Fork 68
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
Provide functions to write numerically stable code and avoid pitfalls #304
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## develop #304 +/- ##
==========================================
Coverage 100.00% 100.00%
==========================================
Files 31 33 +2
Lines 2552 2669 +117
Branches 294 280 -14
==========================================
+ Hits 2552 2669 +117 ☔ View full report in Codecov by Sentry. |
Features
matrix_requires_renormalization
- check if rotation matrix needs renormalizationnorm_euler
- maps Euler angles to unique intervaleuler_near_gimbal_lock
- checks if angles are close to gimbal lock singularityassert_euler_almost_equal
- checks if two sets of Euler angles are similarcompact_axis_angle_near_pi
- check if angle is close to piquaternion_double
- create another quaternion that represents the same orientation (double cover)quaternion_requires_renormalization
- check if quaternion needs renormalizationmrp_near_singularity
- check if angle is close to 2 * pinorm_mrp_angle
- normalize angle to [-pi, pi]mrp_double
- create another mrp that represents the same orientation (double cover)assert_mrp_almost_equal
- check if two mrp vectors are similartransform_requires_renormalization
- check if transformation matrix needs renormalizationassert_exponential_coordinates_almost_equal
- check if exp. coordinates are similardual_quaternion_requires_renormalization
- check if dual quaternion needs renormalizationdual_quaternion_double
- create another dual quaternion that represents the same transformation (double cover)Documentation