Git Product home page Git Product logo

Comments (3)

andreadelprete avatar andreadelprete commented on July 21, 2024

I've repeated the same tests using the cpp simulator. At first the exponential simulator was working really bad because of a bug. After fixing it, results are rather good, but do not match exactly the ones I got in Python.

Here the results using exponential as ground truth:
slipping_point_mass_exp_ground_truth_cpp

Here using Euler as ground truth:
slipping_point_mass_euler_ground_truth_cpp

When using the Exponential simulator as ground truth results are rather similar. However, when using Euler as ground truth, the Exponential simulator seems to saturate and cannot decrease the integration error. I'll investigate.

from consim.

andreadelprete avatar andreadelprete commented on July 21, 2024

I've tried cleaning up the cpp simulator, introducing the anchor point velocity in the computation of the contact forces, rewriting the update of the anchor point position. Unfortunately, Euler and Exponential still don't converge to the same result, even for the simple case of a point mass sliding on a flat floor.
You can see it for instance in this plot, where I've used Exponential to compute the ground truth:
slipping_point_mass_exp_ground_truth_cpp_2
We can see that after a certain value of ndt, the error of Euler does not decrease. The opposite happens if I use Euler to compute the ground truth.
slipping_point_mass_euler_ground_truth_cpp2

Maybe we could postpone investigating this issue until the deadline. In the paper we could simply compare each simulator against itself, as it was done in the paper by Tassa. This would mean taking the Euler line from the second plot, and the Exp line from the first plot, which is fair, and makes Exponential look much better than Euler.

PS: Using the python simulator, I don't get the same results (I don't know why). Here's what I get using Euler for the ground truth
slipping_point_mass_euler_ground_truth_py2
I can still see a saturation for Exponential, but overall results are much better for both simulators, suggesting there might be something wrong in C++.

from consim.

andreadelprete avatar andreadelprete commented on July 21, 2024

PPS: In python, using Exponential as ground truth I get this:
slipping_point_mass_exp_ground_truth_py2
There seems to be no saturation of the error of Euler. Again, this points at something wrong with the c++ simulator, but I cannot figure out what because I've looked at the code and now it should be equivalent to the python simulator.

from consim.

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.