Drake: Allegro example broken with new default discrete_update_period

Created on 11 Feb 2020  路  4Comments  路  Source: RobotLocomotion/drake

Problem

In the allegro example allegro_single_object_simulation, max_time_step was 1.5e-4 by default. cb63eb8 replaced it with mbp_discrete_update_period, which is 1.0E-3 by default.

When the run_twisting_mug example is run to close the hand, allegro_single_object_simulation crashes with this error:

abort: Failure at multibody/plant/tamsi_solver.cc:217 in SolveQuadraticForTheSmallestPositiveRoot(): condition 'Delta > 0' failed.

Steps to reproduce

failure

bazel-bin/examples/allegro_hand/joint_control/allegro_single_object_simulation
bazel-bin/examples/allegro_hand/joint_control/run_twisting_mug

success

bazel-bin/examples/allegro_hand/joint_control/allegro_single_object_simulation --mbp_discrete_update_period 1.5e-4
bazel-bin/examples/allegro_hand/joint_control/run_twisting_mug

(This was the only instance of the default value being changed that I noticed in this commit.)

Fix

Change the default value of mbp_discrete_update_period back to 1.5e-4. Implemented here in my branch.

medium dynamics bug

All 4 comments

oh, good catch @mattcorsaro1. Your fix is correct. You ok with pushing it to master? I can do it also if you want.

If you could do it, that'd be great. Thanks!

Remember that the PR will also need a test (perhaps just an add_test_rule = True).

I'll do this one; it turns out that the regression test will be a bit novel.

Was this page helpful?
0 / 5 - 0 ratings