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

Mathew Hodson mathew.hodson at gmail.com
Tue Nov 3 19:17:30 UTC 2015


** Tags added: patch utopic vivid

** Changed in: urdfdom-headers (Ubuntu)
   Importance: Undecided => Low

** Changed in: urdfdom-headers (Ubuntu)
       Status: New => Fix Released

-- 
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:
  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 makes 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

  [Impact]
  * urdfdom-headers is a packages extensively use by probably the most famous open source robotics framework, ROS (Robot Operative System). So it potentially affects to a big part of the robotics open source community.
  [Development version]
  The patch is already hosted in the debian-science repository (waiting for mentor upload) and will land soon in Debian Sid and Ubuntu Willy after it: http://anonscm.debian.org/cgit/debian-science/packages/urdfdom-headers.git/commit/?id=c92c198a30d34a74abcf1905eeb484bfc76b0f5e

  I’m also waiting a new upstream version to sync Debian Sid and Ubuntu
  Willy.

  [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 hedare 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