Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
URDF->SDF handle links with no inertia or small mass (#1238)
* Adding tests that catch warnings when urdf have no inertia element, or if mass is too small Signed-off-by: Aaron Chong <[email protected]> * Promote link inertia and mass related urdf2sdf sdfdbg to sdfwarn with more verbose messages Signed-off-by: Aaron Chong <[email protected]> * Added flag for converting urdf links with small or no mass to frames Signed-off-by: Aaron Chong <[email protected]> * Converts urdf links with small or no mass to frames, added tests Signed-off-by: Aaron Chong <[email protected]> * Adding warning when conversion happens, added tests for small masses, being explicit about epsilon in equal Signed-off-by: Aaron Chong <[email protected]> * Fix cpplint errors Signed-off-by: Aaron Chong <[email protected]> * Adding integration test Signed-off-by: Aaron Chong <[email protected]> * Fix lint Signed-off-by: Aaron Chong <[email protected]> * Use camelCase Signed-off-by: Aaron Chong <[email protected]> * Added URDFMinimumAllowedLinkMass Signed-off-by: Aaron Chong <[email protected]> * Fix tests expecting warnings when converting to frames Signed-off-by: Aaron Chong <[email protected]> * Adding inline contains and notContains to test_utils Signed-off-by: Aaron Chong <[email protected]> * Using RedirectConsoleStream and ScopeExit Signed-off-by: Aaron Chong <[email protected]> * Refactor to use Root::LoadSdfString Signed-off-by: Aaron Chong <[email protected]> * Removing debug message when converted frame is from a root link Signed-off-by: Aaron Chong <[email protected]> * Added attached_to for frames during conversion, using < instead of math::equals Signed-off-by: Aaron Chong <[email protected]> * Update brief of URDFSetConvertLinkWithNoMassToFrame to mention case of no inertial frame Signed-off-by: Aaron Chong <[email protected]> * Remove stale commentted code Signed-off-by: Aaron Chong <[email protected]> * Update comment about the errors we are expecting Signed-off-by: Aaron Chong <[email protected]> * Convert to frame by default, remove minimal mass option, refactor implementation to handle lumping, modified unit tests Signed-off-by: Aaron Chong <[email protected]> * Only convert to frame when parent joint is fixed, attaches and transforms pose to parent link, leaves out the fixed joint Signed-off-by: Aaron Chong <[email protected]> * Rephrased conversion error, modified unit tests Signed-off-by: Aaron Chong <[email protected]> * prints zero mass errors as well when conversion to frame fails Signed-off-by: Aaron Chong <[email protected]> * integration tests that mimic the unit tests Signed-off-by: Aaron Chong <[email protected]> * Added integration test with valid and invalid use of force torque sensor where massless child links occur Signed-off-by: Aaron Chong <[email protected]> * Fix lint Signed-off-by: Aaron Chong <[email protected]> * Fix joint reduction logic, more specific error messages, more targeted unit tests for each case Signed-off-by: Aaron Chong <[email protected]> * Convert joints to frames when converting links, attach them to converted links Signed-off-by: Aaron Chong <[email protected]> * Integration tests with child fixed links as well Signed-off-by: Aaron Chong <[email protected]> * Change sdferr to sdfwarn, no way to use ParserConfig::WarningsPolicy for now Signed-off-by: Aaron Chong <[email protected]> * sdferr to sdfwarn for the case where conversion to frame is attempted Signed-off-by: Aaron Chong <[email protected]> * Removing case within converting to frame, where parent joint turns into revolute joint, that is not covered Signed-off-by: Aaron Chong <[email protected]> * Reduced scope of implementation, more specific warning messages Signed-off-by: Aaron Chong <[email protected]> * Remove mention of parser config in warning, since that is not typically used by workflows Signed-off-by: Aaron Chong <[email protected]> * Integration tests revisited and modified, removed printouts Signed-off-by: Aaron Chong <[email protected]> * Test case showing ParserConfig::URDFSetPreserveFixedJoint(true) overrides gazebo tags for joint lumping, warnings with more information and placeholder url Signed-off-by: Aaron Chong <[email protected]> * Use sdf::testing::contains instead of local contains functions in testing (#1251) Signed-off-by: Aaron Chong <[email protected]> * Remove unused InitSDF, added TODO for warning when joints are converted/dropped Signed-off-by: Aaron Chong <[email protected]> * Cleaned up if else cases Signed-off-by: Aaron Chong <[email protected]> * Using << operator of Errors Signed-off-by: Aaron Chong <[email protected]> * Replacing placeholder url with expected URL for the documentation from sdf_tutorials#88 Signed-off-by: Aaron Chong <[email protected]> * URL to tutorial as a constant, removing checking URL from test, just in case links change, we are not testing for that anyway Signed-off-by: Aaron Chong <[email protected]> * Refactored fixed child joint logic as it is never reached Signed-off-by: Aaron Chong <[email protected]> * Reduce number of if statements, renaming to only check if parent joint is reduced Signed-off-by: Aaron Chong <[email protected]> --------- Signed-off-by: Aaron Chong <[email protected]> (cherry picked from commit 6ffe669) Signed-off-by: Aaron Chong <[email protected]>
- Loading branch information