Some assets have not been found!


#1

Hi everyone,

I am trying to import a self-designed model into NRP. I have successfully converted the original .xacro model file into .sdf model, and the model is visible and seems work fine in Gazebo. However, in NRP it continuously reports “Error while loading some assets!” and “Some assets have not been found!” Can anyone help in how to debug this error?

Here is what I have done after searching the forum:

  1. Create a folder containing a model.config, model.sdf and all related .dae files. The folder is copied into $HBP/Models.
  2. Run $HBP/Models/create-symlinks.sh and $HBP/gzweb/deploy.sh -m local to create necessary links to my model folder. I have also manually added a link in $HBP/Models/robots to my model folder.

So it there anybody who has the same problem or has a good idea how I can find what assets are missing? Many thanks

Rui


#2

Hi Rui,

The first thing to check is that the assets are in $HBP/gzweb/http/client/assets . If they are we have one less problem, if not, probably the create-symlinks script did not work. In that case you could try to create a symlink to your model manually. If the model is there then we would have to continue searching, but let’s try this first.

Regards,
Manos


#3

Hi Manos,

Many thanks for your reply. I have checked in $HBP/gzweb/http/client/assets and there is a link to my model folder. Do you know if there is a method I could use to figure out which “asset” I am missing? Many thanks…

Best regards,

Rui


#4

Hi Rui,

The best way would be to open the developer tools of your browser and go to the network tab and then see which requests are failing. For Chrome you just need to hit ctrl+shift+i and this should open a similar view like the one I attach. After launching the simulation the list of items in the network tab should start getting populated. To compare you can launch a simulation of the husky braitenberg experiment to see how these requests look like. In your case some of the requests will be red since the browser cannot find the assets in the requested path. If you click on one failing request you should see a request URL which looks like http://localhost:8080/assets/husky_model/meshes/body.dae .This path is locally found in $HBP/gzweb/http/client/assets. Make sure that the request is trying to find the path there and not somewhere else.

Regards,
Manos


#5

Hi, Manos.

Thanks for your further reply. I have tried to find the missing assets with the developer tools of the browser. However, I found the error occurs just after loading the config file of the model, as shown in the screenshot below:

Therefore I wonder if this is caused by the incompleteness of my model. However, I have no idea how I can implement a complete model for NRP :joy:

The only thing I noticed is that “when creating a new robot, I should verify the validity of the robot configuration by running:”

xmllint -schema $HBP/Models/robot_model_configuration.xsd myrobot.config --noout

I tried this, but my .config file passed the test with output “model.config validates”. Do you have any further idea what I can try to make it work?

Thanks again for your help,

Rui


#6

Hi Rui,

In order to have a “complete” model, you need to have the meshes, the model.config and the .sdf of your model. The model.config should point to a thumbnail, contain a name and description. You can take a look at $HBP/Models/husky_model and try to replicate this structure. The problem might be coming from a model.config which might not be providing the correct info. Could you upload you model.config so that I can take a look?

Regards,
Manos


#7

Hi, Manos,

I compared every line of my model with arm_robot and finally found that the problem is within the plugin label.

After changing the plugin in my model from

<plugin name='ros_controller' filename='libgazebo_ros_control.so'/>

to

<plugin name='ros_controller' filename='libgeneric_controller_plugin.so'/>

now the model can be opened in NRP (Since I am new to ROS, I think I have to figure out what is the difference between these plugins).

Thanks again for your help:-)

Best regards,

Rui


#8

Hi Rui,

I am glad that you managed to track down the problem, it probably comes from some differences between the two plugins, which are making the NRP misbehave. We will investigate the issue, thanks for pointing it out.

Regards,
Manos


#9

Thanks again for all the help, Manos.

Best regards,

Rui