我用的是ubuntu 20.04。我在drake工具包中构建了atlas示例。当我运行这个文件时,我得到了这样的警告。我该怎么解决它呢?
[2021-09-15 23:59:06.432] [console] [warning] Ignoring collision group heel on link l_foot
[2021-09-15 23:59:06.433] [console] [warning] Ignoring collision group heel on link l_foot
[2021-09-15 23:59:06.433] [console] [warning] Ignoring collision group heel on link l_foot
[2021-09-15 23:59:06.433] [console] [warning] Ignoring collision group toe on link l_foot
[2021-09-15 23:59:06.434] [console] [warning] Ignoring collision group toe on link l_foot
[2021-09-15 23:59:06.434] [console] [warning] Ignoring collision group midfoot on link l_foot
[2021-09-15 23:59:06.434] [console] [warning] Ignoring collision group midfoot on link l_foot
[2021-09-15 23:59:06.450] [console] [warning] Ignoring collision group heel on link r_foot
[2021-09-15 23:59:06.450] [console] [warning] Ignoring collision group heel on link r_foot
[2021-09-15 23:59:06.450] [console] [warning] Ignoring collision group heel on link r_foot
[2021-09-15 23:59:06.451] [console] [warning] Ignoring collision group toe on link r_foot
[2021-09-15 23:59:06.451] [console] [warning] Ignoring collision group toe on link r_foot
[2021-09-15 23:59:06.451] [console] [warning] Ignoring collision group midfoot on link r_foot
[2021-09-15 23:59:06.452] [console] [warning] Ignoring collision group midfoot on link r_foot
[2021-09-15 23:59:06.466] [console] [warning] Ignoring collision group left_hand_robotiq on link left_palm
[2021-09-15 23:59:06.467] [console] [warning] Ignoring collision group right_hand_robotiq on link right_palm
[2021-09-15 23:59:06.468] [console] [warning] WARNING: Skipping transmission since it's attached to a fixed joint "hokuyo_joint".
[2021-09-15 23:59:06.469] [console] [warning] MultibodyPlant has at least one body 'atlas/l_foot' with multiple contact geometries. Contacts with this body may be unclear in the visualizer if contact is made with multiple geometries simultaneously. To clarify the visualization, pass in a geometry naming functor to the constructor. See the documentation for ContactResultsToLcmSystem for details.
terminate called after throwing an instance of 'std::runtime_error'
what(): MultibodyPlant's discrete update solver failed to converge at simulation time = 0.498 with discrete update period = 0.001. This usually means that the plant's discrete update period is too large to resolve the system's dynamics for the given simulation conditions. This is often the case during abrupt collisions or during complex and fast changing contact configurations. Another common cause is the use of high gains in the simulation of closed loop systems. These might cause numerical instabilities given our discrete solver uses an explicit treatment of actuation inputs. Possible solutions include:
1. reduce the discrete update period set at construction,
2. decrease the high gains in your controller whenever possible,
3. switch to a continuous model (discrete update period is zero), though this might affect the simulation run time.
Aborted (core dumped)发布于 2021-09-24 02:26:14
据说是MultibodyPlant's discrete update solver failed to converge。据我所知,MultibodyPlant's discrete update solver就像一个模拟引擎,当它失败时,模拟就不会继续进行。
原因可能是mbp_discrete_update_period太大了。在我的电脑上,我将它设置为5.0E-4而不是1.0E-3,它就可以工作了。如果设置为0,则系统将switch to a continuous model,您可以试一试。
DEFINE_double(
mbp_discrete_update_period, 5.0E-4,
"The fixed-time step period (in seconds) of discrete updates for the "
"multibody plant modeled as a discrete system. Strictly positive. "
"Set to zero for a continuous plant model.");下面是代码。上面的答案是专业的,但我认为更适合熟悉Drake的人。
https://stackoverflow.com/questions/69199764
复制相似问题