How to check that Gazebo successfully loaded world and all models?
Is there a way to programatically confirm that Gazebo successfully loaded all models apart from parsing Gazebo output in vebose mode? I tried "breaking" one model by specifying invalid path to visual mesh, and I still see the model in GUI under "Models" list (used Gazebo 9.13). I also tried to query rostopic echo -n 1 /gazebo/model_states
and the model is there.
When starting with "--verbose" flag Gazebo prints "[Wrn] [SystemPaths.cc:464] File or path does not exist" and "[Err] [Visual.cc:3034] No mesh specified" in console. Is it possible to make Gazebo not add "incomplete" models and treat them as invalid?
Asked by ArtemK on 2020-08-12 14:01:35 UTC
Answers
Is it possible to make Gazebo not add "incomplete" models and treat them as invalid?
No, that's not currently possible. Gazebo's approach has always been to load as much as possible, and print warnings and errors to help the user debug what couldn't be loaded. We don't have a programmatic way of catching these errors though.
Related, libSDFormat got much more strict about model loading from version 9 (used by Gazebo 11), and initially it would fail loading the entire world if there was a problem with something as small as a visual. We relaxed that on this PR though because that was too strict and would break too many existing simulations. So even on Gazebo 11, all you get are console messages.
Asked by chapulina on 2020-08-13 14:52:16 UTC
Comments