-
Notifications
You must be signed in to change notification settings - Fork 304
MeshManager returns nullptr when asked for ignition::common::Mesh* in function MeshByName if mesh name is a url #1796
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Thanks for the detailed issue @Jakub-Krakowiak. However, would you be able to provide more detail as to how you're running the simulation? Is the model loaded from an sdf world file or spawned during runtime? Also, |
The model is loaded from an sdf file:
The model meshes are not available every time I run the world, even when the files themselves are already downloaded and located in the .ignition folder in $HOME directory. I will be testing adding a model from fuel (both dowloaded and not downloaded) in runtime today, so I will add the info here. I am also implementing the PostUpdate System Plugin Interface, so I manually count the number of times the PostUpdate function is called (because info.iterations does not increase while simulation is paused (possibly connected to my other issue)) and at the 10'th time I do another ecm.Each.
I have been running the world with "ign gazebo world.sdf" command so it was paused at start. I will also try running it with -r option and see if it changes anything. (Edit: it still cant get mesh when the entitiy is created, but can 10 updates later) |
I was able to run your system locally and see the error your reported. However, I don't believe this is a bug in Gazebo, so I'll go ahead and close this ticket. Here's my explanation and suggestion for what you could do: The The best thing to do is to call |
Thank you for your suggestion to use the MeshManager::Load function. The plugin now works as intended. |
Environment
- [x] running on a dual GPU machine (integrated GPU + discrete GPU)
- [ ] running on a multi-GPU machine (it has multiple discrete GPUs)
- [x] running on real hardware
- [ ] running in virtual machine
- [ ] running in Docker/Singularity
- [ ] running remotely (e.g. via SSH)
- [ ] running in a cloud
- [ ] using VirtualGL, XVFB, Xdummy, XVNC or other indirect rendering utilities
- [x] GPU is concurrently used for other tasks
- [x] desktop acceleration
- [ ] video decoding (i.e. a playing Youtube video)
- [ ] video encoding
- [x] CUDA/ROCm computations (Tensorflow, Torch, Caffe running)
- [ ] multiple simulators running at the same time
- [ ] other...
X Protocol Version 11, Revision 0
Description
Expected behavior: the MeshManager is able to return accurate pointers to meshes when queried by name that is a url.
Actual behavior: the MeshManager returns nullptr when queried by name that is a url, despite the fact, that 10 sim updates later it gives a valid result for the same name.
Steps to reproduce
Output
The text was updated successfully, but these errors were encountered: