Skip to content

Sanity check: Sliding point mass #20

@andreadelprete

Description

@andreadelprete

I've implemented the force projection method in the exponential simulator in Python and I've run some tests with a simple point mass sliding on a flat floor. The outer time step was 5 ms, stiffness 1e5, damping 2e2, and I apply a sinusoidal lateral force to the mass so that it slips.
Here you can see the integration errors as a function of the number of inner time steps, in case the Euler simulator is used to compute the ground truth:
slipping_point_mass_euler_ground_truth

And here in case the Exponential Simulator is used for the ground truth:
slipping_point_mass_exp_ground_truth

As you can see, results are almost the same in the two case, which means that for small time steps the two approaches converge to similar solutions. Moreover, we can see that the exponential simulator works better in general. The large error decrease happening at ndt=4 (which corresponds to an inner time step of 5/4 ms) is due to the improved accuracy in detecting when slippage ends, as we can see in this plot showing the integration error vs time:
slipping_point_mass_exp_int_error_vs_time
We can also notice that the integration error stays constant during slippage (i.e. [0.03, 0.3]).
Next I'm gonna check this works even with the quadruped.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions