[Bug 1471047] Re: [SRU] urdfdom-headers: critical numerical issues problem when converting angles

Jose Luis Rivero jrivero at osrfoundation.org
Wed Nov 25 23:30:01 UTC 2015


Thanks for handling the bug Mathew.

Just one question: I'm seeing the bug marked as "Fix Released" but can
not find the new version in Trusty or Vivid.

-- 
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1471047

Title:
  [SRU] urdfdom-headers: critical numerical issues problem when
  converting angles

Status in urdfdom-headers package in Ubuntu:
  Fix Released

Bug description:
  [Impact]

  * When using the urdfdom headers versions 0.2.3 (on Trusty) and 0.3.0-1
    (Utopic and Vivid) there is a problem in the maths which means that two
    very similar quaternions can result in different and non-equivalent roll
    pitch yaw angles. This is a severe bug for angles related to a severe bug
    in the mathematical calculations.

  * Upstream bug: https://github.com/ros/urdfdom/issues/49

  * urdfdom-headers is a package extensively use by probably the most famous
    open source robotics framework, ROS (Robot Operative System). So it
    potentially affects a big part of the robotics open source community.

  * The patch is already hosted in the debian-science repository (waiting for
    mentor upload) and will land soon in Debian Sid and Ubuntu Wily after it:
    http://anonscm.debian.org/cgit/debian-science/packages/urdfdom-headers.git/commit/?id=c92c198a30d34a74abcf1905eeb484bfc76b0f5e

  [Test Case]

  * apt-get install libboost-test1.54-dev liburdfdom-headers-dev

  * Download the urdf_unit_test.cpp from:
  https://raw.githubusercontent.com/ros/urdfdom/master/urdf_parser/test/urdf_unit_test.cpp

  * g++ urdf_unit_test.cpp -lboost_unit_test_framework -o test

  * ./test

  * The expected result at the end of the test with the fixed version is:
    ...
    *** No errors detected
    The failing versions should report:
    ...
    urdf_unit_test.cpp(56): error in "test_rotation_get_set_rpy_idempotent":
    check quat_are_near(rot0, rot1) failed
    …
    *** 1 failure detected in test suite "URDF_UNIT_TEST"

  [Regression Potential]

  * urdfdom-headers is a header only package and we are not altering the
    ABI/API in any sense, just changing the way of computing maths.

  * The dangerous computations (mostly asin and atan2) present in the patch
    were already present in the released code. That should minimize the
    possible regressions introduced by the patch. The computation of angles is
    already broken, so a possible bug in the new computation will not bring a
    worse state than current one.

  [Other Info]

  * I'm attaching the debdiff related to Trusty release, but I'm
  available to make any other needed, Vivid or Utopic.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/urdfdom-headers/+bug/1471047/+subscriptions



More information about the Ubuntu-sponsors mailing list