FieldRobotEvent / virtual_maize_field

ROS package to procedural generate randomized fields with rows of plants for Gazebo
https://www.fieldrobot.com/event/
GNU General Public License v3.0
22 stars 8 forks source link

sim time stops when echo laserscan/data #18

Open ronnic4280 opened 2 years ago

ronnic4280 commented 2 years ago

Hi, we are using the Robtnik Summit XL for the competition. While testing in the virtual maize field an trying to subscribe to rostopic echo /robot/front_laser/scan, we'll get the message: "WARNING: no messages received and simulated time is active. Is /clock being published?" and the simulation time in Gazebo pauses. I won't get the issue while testing on plain ground or in different worlds. I don't know where to seach for a solution, it seems like this is a issue relating to the virtual maize field. Has anybody an idea how to solve ist?

I'm using ros melodic on ubuntu 18.04

Rick-v-E commented 2 years ago

Hi, the topic for the laser scanner is different. You can try rostopic list to see which topics are available. I think the correct topic is something like /front_laser/scan instead of /robot/front_laser/scan.

ronnic4280 commented 2 years ago

Hi, I'm subscribing to the right topic for the Summit-XL and it is working in different worlds, but not in the virtual maize field.

Rick-v-E commented 2 years ago

A few ideas:

ronnic4280 commented 2 years ago
Rick-v-E commented 2 years ago

It looks like if Gazebo is not able to find the dandelion models. Did you add these models to the 'models' folder of the 'virtual_maize_field' package?

I have sent these models by mail to the email address that the teams used for registration.

If adding the dandelion models does not work, please upload the complete log from the terminal that you used to start Gazebo.

ronnic4280 commented 2 years ago

The dandelions are at the right folder as suggested and the package is up to date. grafik grafik

Rick-v-E commented 2 years ago

It looks like you put the dandelions in the folder 'models/dandelions/dandelion_01', 'models/dandelions/dandelion_02' etc. However, this should be 'models/dandelion_01' and 'models/dandelion_02', without the subfolder.

The reason for this is that Gazebo expects in every subfolder of the 'models' folder a 'model.config' file. So, move every single dandelion model in the 'models' folder and remove the (then empty) 'dandelions' folder.

ronnic4280 commented 2 years ago

I fixed it and the Error for the dandelion won't occur anymore, but the sim time problem is still the same.

Rick-v-E commented 2 years ago

Does the example robot work on your computer?

ronnic4280 commented 2 years ago

Yes, its working and I’m able to echo the /front/scan while driving.

Rick-v-E commented 2 years ago

What happens if you use your URDF files (and meshes) in the example robot workspace?

Rick-v-E commented 2 years ago

@ronnic4280, were you able to solve this problem?

ronnic4280 commented 2 years ago

Unfortunally not, but we decided to not use the laserscan anyway. I might try to solve this problem later.

g-pranav commented 2 years ago

Unfortunally not, but we decided to not use the laserscan anyway. I might try to solve this problem later.

I am having the same issue, Lidar is not publishing anything when I use virtual_maize_field world but it works with other worlds.

Darkproduct commented 1 year ago

If you don't get laserscan data, this could be due to the type of ray plugin used in Gazebo. Altough, I would suspect, that there should be at least some data with the normal plugin as long as the scanner has something in its few.

It is however recommended to use the GPU ray plugin from Gazebo, because this plugin intersects with the mesh and not with the collision box of the plants. If you don't have a GPU available you can try to set ths environment variable export LIBGL_ALWAYS_SOFTWARE=1 to enable rendering on the CPU. But this will slow down the fps of Gazebo as well.