MoffKalast / tuna

Tuna, the ROS GNSS USV
MIT License
45 stars 9 forks source link

ign gazebo water_world.sdf -r #3

Open ekoyuncal opened 6 months ago

ekoyuncal commented 6 months ago

After i run ign gazebo water_world.sdf -r command

ODE INTERNAL ERROR 1: assertion "aabbBound >= dMinIntExact && aabbBound < dMaxIntExact" failed in collide() [collision_space.cpp:460] Stack trace (most recent call last):

31 Object "/lib/x86_64-linux-gnu/libruby-2.7.so.2.7", at 0x7fb4e93992ea, in

30 Object "/lib/x86_64-linux-gnu/libruby-2.7.so.2.7", at 0x7fb4e938c4c4, in

29 Object "/lib/x86_64-linux-gnu/libruby-2.7.so.2.7", at 0x7fb4e92ea3ce, in

28 Object "/lib/x86_64-linux-gnu/libruby-2.7.so.2.7", at 0x7fb4e922a742, in rb_protect

27 Object "/lib/x86_64-linux-gnu/libruby-2.7.so.2.7", at 0x7fb4e93a3f90, in rb_yield

26 Object "/lib/x86_64-linux-gnu/libruby-2.7.so.2.7", at 0x7fb4e9396d01, in rb_vm_exec

25 Object "/lib/x86_64-linux-gnu/libruby-2.7.so.2.7", at 0x7fb4e93905f0, in

24 Object "/lib/x86_64-linux-gnu/libruby-2.7.so.2.7", at 0x7fb4e937f815, in

23 Object "/lib/x86_64-linux-gnu/libruby-2.7.so.2.7", at 0x7fb4e93992ea, in

22 Object "/lib/x86_64-linux-gnu/libruby-2.7.so.2.7", at 0x7fb4e938c4c4, in

21 Object "/usr/lib/x86_64-linux-gnu/ruby/2.7.0/fiddle.so", at 0x7fb4e4fcf714, in

20 Object "/lib/x86_64-linux-gnu/libruby-2.7.so.2.7", at 0x7fb4e935d939, in rb_nogvl

19 Object "/usr/lib/x86_64-linux-gnu/ruby/2.7.0/fiddle.so", at 0x7fb4e4fcf8fb, in

18 Object "/lib/x86_64-linux-gnu/libffi.so.7", at 0x7fb4e4f79409, in

17 Object "/lib/x86_64-linux-gnu/libffi.so.7", at 0x7fb4e4f79ff4, in

16 Object "/usr/lib/x86_64-linux-gnu/libignition-gazebo6-ign.so.6.15.0", at 0x7fb4e4513e2a, in runServer

15 Object "/lib/x86_64-linux-gnu/libignition-gazebo6.so.6", at 0x7fb4e40ccfdb, in ignition::gazebo::v6::Server::Run(bool, unsigned long, bool)

14 Object "/lib/x86_64-linux-gnu/libignition-gazebo6.so.6", at 0x7fb4e40d63e7, in

13 Object "/lib/x86_64-linux-gnu/libignition-gazebo6.so.6", at 0x7fb4e40e514a, in ignition::gazebo::v6::SimulationRunner::Run(unsigned long)

12 Object "/lib/x86_64-linux-gnu/libignition-gazebo6.so.6", at 0x7fb4e40e491d, in ignition::gazebo::v6::SimulationRunner::Step(ignition::gazebo::v6::UpdateInfo const&)

11 Object "/lib/x86_64-linux-gnu/libignition-gazebo6.so.6", at 0x7fb4e40dda11, in ignition::gazebo::v6::SimulationRunner::UpdateSystems()

10 Object "/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/libignition-gazebo-physics-system.so", at 0x7fb4c4704485, in ignition::gazebo::v6::systems::Physics::Update(ignition::gazebo::v6::UpdateInfo const&, ignition::gazebo::v6::EntityComponentManager&)

9 Object "/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/libignition-gazebo-physics-system.so", at 0x7fb4c46f030c, in ignition::gazebo::v6::systems::PhysicsPrivate::Step(std::chrono::duration<long, std::ratio<1l, 1000000000l> > const&)

8 Object "/usr/lib/x86_64-linux-gnu/ign-physics-5/engine-plugins/libignition-physics-dartsim-plugin.so", at 0x7fb4c455e75d, in ignition::physics::dartsim::SimulationFeatures::WorldForwardStep(ignition::physics::Identity const&, ignition::physics::SpecifyData<ignition::physics::RequireData, ignition::physics::ExpectData<ignition::physics::ChangedWorldPoses, ignition::physics::Contacts, ignition::physics::JointPositions> >&, ignition::physics::CompositeData&, ignition::physics::ExpectData<ignition::physics::ApplyExternalForceTorques, ignition::physics::ApplyGeneralizedForces, ignition::physics::VelocityControlCommands, ignition::physics::ServoControlCommands> const&)

7 Object "/lib/x86_64-linux-gnu/libdart.so.6", at 0x7fb4b8eafd20, in dart::simulation::World::step(bool)

6 Object "/lib/x86_64-linux-gnu/libdart.so.6", at 0x7fb4b8e947b5, in dart::constraint::ConstraintSolver::solve()

5 Object "/lib/x86_64-linux-gnu/libdart.so.6", at 0x7fb4b8e9327d, in dart::constraint::ConstraintSolver::updateConstraints()

4 Object "/lib/x86_64-linux-gnu/libdart-collision-ode.so.6", at 0x7fb4cc03bb6b, in dart::collision::OdeCollisionDetector::collide(dart::collision::CollisionGroup, dart::collision::CollisionOption const&, dart::collision::CollisionResult)

3 Object "/lib/x86_64-linux-gnu/libode.so.8", at 0x7fb4c41de456, in dxHashSpace::collide(void, void ()(void, dxGeom, dxGeom*))

2 Object "/lib/x86_64-linux-gnu/libode.so.8", at 0x7fb4c41e6c57, in dDebug

1 Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7fb4e8fae858, in abort

0 Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7fb4e8fcf00b, in gsignal

Aborted (Signal sent by tkill() 24754 1000)

i think its related to https://answers.gazebosim.org/question/27052/ode-crash-on-a-simple-scenario-on-ignition-gazebo/

thank you.

MoffKalast commented 6 months ago

Hmm, looking at the other issue it seems to be related to large numbers of objects. It may be onto something, the boat collision shape is made out of a number of cuboids to better approximate the shape and some of them likely overlap slightly.

I've updated to the latest ignition-fortress now and I'm seeing the same issue on launch, seems like it's a regression bug in Fortress. Just typical, that's why I try to avoid updating anything after it works 😄.

I'll see if I can confirm it's the collision shape and if so, if there's a config that doesn't crash.

MoffKalast commented 6 months ago

Well, it seems that there's actually something amiss with the hydrodynamics plugin, likely this change specifically: https://github.com/gazebosim/gz-sim/issues/1871#issuecomment-1419984589

If it's launched without -r then it loads fine, but when the sim is unpaused something inside hydrodynamics hits that feedback loop and accelerates to infinity, crashing the plugin. It happened on occasion in the past too, but I've only seen it a handful of times when doing the initial setup.

Altering these values can make it launch without crashing, but most I've tried seem to still cause this bug when the boat starts to move. It wasn't easy to find ones that correctly describe a boat this light and small in the first place, so getting it stable again might not be feasible. Here's more info about that in case you want to give it a shot.

The interesting bit is that the tethys example params crash as well and WAM-V uses what looks like a custom plugin entirely. It might make sense to try and switch to that one instead if it's not as broken, but I doubt it'll work on Fortress and Garden isn't really supported on Noetic.