Code Monkey home page Code Monkey logo

Comments (8)

jcarpent avatar jcarpent commented on July 27, 2024

Hello Martin,

Thanks for your report.
I tried your code on my computer (Mac OS X 10.10, llvm 3.4, Eigen 3.2.5, last commit of Pinocchio on the devel branch 227a4cd) and everything looks fine with very small residues:

Model: ../pin-fix-bug/models/simple_humanoid.urdf
--
Stats      |  #q | #qdot 
 Pinocchio |  36 |  35
--
Error M[0:6,0:6]
[[  0.00e+00   0.00e+00   0.00e+00  -0.00e+00   1.24e-14  -0.00e+00]
 [  0.00e+00   0.00e+00   0.00e+00   1.78e-15  -0.00e+00  -1.42e-14]
 [  0.00e+00   0.00e+00  -1.71e-13   0.00e+00  -2.13e-13  -0.00e+00]
 [ -0.00e+00   1.78e-15   1.42e-14   1.42e-14   0.00e+00   4.44e-16]
 [ -5.33e-15  -0.00e+00  -1.07e-14  -3.55e-15  -1.42e-14  -7.33e-15]
 [ -3.55e-15   0.00e+00  -0.00e+00   4.44e-16  -3.77e-15  -7.11e-15]]
Error M[0:6,6:12]
[[  0.00e+00   1.24e-14   6.38e-16   4.44e-15   2.50e-15   0.00e+00]
 [  0.00e+00   0.00e+00  -3.52e-15   0.00e+00   0.00e+00  -2.55e-15]
 [ -1.78e-13  -7.46e-14   0.00e+00  -7.46e-14  -7.46e-14   0.00e+00]
 [  1.78e-15  -5.58e-15  -4.41e-15  -5.58e-15  -5.58e-15  -3.33e-15]
 [  4.34e-19  -7.11e-15  -2.69e-15  -5.33e-15  -4.88e-15   0.00e+00]
 [  2.66e-15  -2.11e-15   1.78e-15   1.22e-15   1.55e-15  -7.08e-16]]

Can you give me your current configuration in order to reproduce your errors ?
Best,

from pinocchio.

fvalenza avatar fvalenza commented on July 27, 2024

Hello Martin,
Here are some results on an Ubuntu 12.04 64 bits, with gcc 4.6.3, eigen 3.2.1.
They come from the master branch (release v1.0.2), but i get the same matrices on the devel branch.

Model: /local/fvalenza/devel/src/pinocchio/models/simple_humanoid.urdf
--
Stats      |  #q | #qdot 
 Pinocchio |  29 |  29
--
Error M[0:6,0:6]
[[  0.00e+00   0.00e+00   4.72e-16   0.00e+00   0.00e+00   2.22e-16]
 [  0.00e+00   0.00e+00  -2.78e-17   0.00e+00   8.88e-16   0.00e+00]
 [  2.78e-17  -2.78e-17   0.00e+00   0.00e+00   0.00e+00   1.80e-16]
 [  0.00e+00   1.78e-15   0.00e+00   0.00e+00   8.88e-16   0.00e+00]
 [  0.00e+00   4.44e-16   0.00e+00   0.00e+00   8.88e-16   0.00e+00]
 [  0.00e+00   0.00e+00  -4.16e-17   0.00e+00   0.00e+00   0.00e+00]]
Error M[0:6,6:12]
[[ 0.  0.  0.  0.  0.  0.]
 [ 0.  0.  0.  0.  0.  0.]
 [ 0.  0.  0.  0.  0.  0.]
 [ 0.  0.  0.  0.  0.  0.]
 [ 0.  0.  0.  0.  0.  0.]
 [ 0.  0.  0.  0.  0.  0.]]

With the FreeFlyer :

Model: /local/fvalenza/devel/src/pinocchio/models/simple_humanoid.urdf
--
Stats      |  #q | #qdot 
 Pinocchio |  36 |  35
--
Error M[0:6,0:6]
[[  0.00e+00   0.00e+00   0.00e+00  -0.00e+00   1.24e-14  -0.00e+00]
 [  0.00e+00   0.00e+00   0.00e+00   1.78e-15  -0.00e+00  -1.42e-14]
 [  0.00e+00   0.00e+00  -1.71e-13   0.00e+00  -2.13e-13  -0.00e+00]
 [ -0.00e+00   1.78e-15   1.42e-14   1.42e-14   0.00e+00   4.44e-16]
 [ -5.33e-15  -0.00e+00  -1.07e-14  -3.55e-15  -1.42e-14  -7.33e-15]
 [ -3.55e-15   0.00e+00  -0.00e+00   4.44e-16  -3.77e-15  -7.11e-15]]
Error M[0:6,6:12]
[[  0.00e+00   1.24e-14   6.38e-16   4.44e-15   2.50e-15   0.00e+00]
 [  0.00e+00   0.00e+00  -3.52e-15   0.00e+00   0.00e+00  -2.55e-15]
 [ -1.78e-13  -7.46e-14   0.00e+00  -7.46e-14  -7.46e-14   0.00e+00]
 [  1.78e-15  -5.58e-15  -4.41e-15  -5.58e-15  -5.58e-15  -3.33e-15]
 [  4.34e-19  -7.11e-15  -2.69e-15  -5.33e-15  -4.88e-15   0.00e+00]
 [  2.66e-15  -2.11e-15   1.78e-15   1.22e-15   1.55e-15  -7.08e-16]]

I get the same results as Justin when using clang

from pinocchio.

aelkhour avatar aelkhour commented on July 27, 2024

I believe I had the same problem, it comes from se3::Symmetric3Tpl::rotate (I thought i was fixed).

// Y = R' L   ===> (12 m + 8 a)
const Matrix2 & Y = R.template block<2,3>(1,0) * L; // Wrong
const Matrix2 Y(R.template block<2,3>(1,0) * L); // Correct

@martinfelis Could you check?

from pinocchio.

martinfelis avatar martinfelis commented on July 27, 2024

Hrmm.... I am on:

  • Ubuntu 14.04
  • g++ (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4
  • eigenpy 5b9029e7d59
  • libeigen3-dev 3.2.0-8

Both master and devel branch give the same results. The culprit seems to be using Release mode. In Debug mode the errors are negligible.

from pinocchio.

jcarpent avatar jcarpent commented on July 27, 2024

It seems that this error already occurred for @aelkhour but was never fixed as @aelkhour switched to clang as far as I remember.
@martinfelis does the line

const Matrix2 Y(R.template block<2,3>(1,0) * L);

fixe your problem ?
In this way, we will fix this line in order to really control the compiler behavior.

from pinocchio.

martinfelis avatar martinfelis commented on July 27, 2024

It does indeed.

from pinocchio.

jcarpent avatar jcarpent commented on July 27, 2024

Thanks Martin for reporting and checking. Thanks Antonio for highlighting the buggy line. The bug is now fixed (2bd39d8).

from pinocchio.

aelkhour avatar aelkhour commented on July 27, 2024

Thanks for the hotfix @jcarpent and @fvalenza.

from pinocchio.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.