Gazebo | Ignition | Community
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Implement a gpu_ray plugin with custom shape

Hi all,

I would like to create a gpu_ray plugin for a 3D lidar having a custom pattern, different from the typical velodyne type. I have the equation of each of the curved beams composing it, and need to find a way to modify the collision shape of the lidar's plugin.

I've managed to do so with the (non gpu) ray plugin, using physics multiRayShape, but if I understand it right, gpu_ray sensor does not use gazebo physics as the ray sensor does. Seeing how slow the simulation goes without gpu, I really need find a way to implement it.

So if anyone knows how that could be done, or has any information or tip about gazebo's gpu_ray sensor and how to modify its shape, I would really appreciate the help.

Thanks!

Implement a gpu_ray plugin with custom shape

Hi all,

I would like to create a gpu_ray plugin for a 3D lidar having a custom pattern, different from the typical velodyne type. I have the equation of each of the curved beams composing it, and need to find a way to modify the collision shape of the lidar's plugin.

I've managed to do so with the (non gpu) ray plugin, using physics multiRayShape, but if I understand it right, gpu_ray sensor does not use gazebo physics as the ray sensor does. Seeing how slow the simulation goes without gpu, I really need find a way to implement it.

So if anyone knows how that could be done, or has any information or tip about gazebo's gpu_ray sensor and how to modify its shape, I would really appreciate the help.

[EDIT] By looking more into it, I think that I need to modify the gazebo::rendering::GpuLaser::CreateMesh function, as it seems to be where the shape of the lidar's pattern is defined. But as I am trying to implement a custom GpuRayPlugin, using in the robot's sdf file the gpu_ray sensor type, I am encountering the following error: [gazebo-1] [Err] [Camera.cc:168] EXCEPTION: Camera horizontal field of view invalid. [gazebo-1] [Err] [Camera.cc:168] EXCEPTION: Camera horizontal field of view invalid. [gazebo-1] [Err] [SensorManager.cc:612] Unable to remove sensor[default::example::base_footprint::my_lidar_gpu] because it does not exist. Anybody knows why I could get this error?

Thanks!

Implement a gpu_ray plugin with custom shape

Hi all,

I would like to create a gpu_ray plugin for a 3D lidar having a custom pattern, different from the typical velodyne type. I have the equation of each of the curved beams composing it, and need to find a way to modify the collision shape of the lidar's plugin.

I've managed to do so with the (non gpu) ray plugin, using physics multiRayShape, but if I understand it right, gpu_ray sensor does not use gazebo physics as the ray sensor does. Seeing how slow the simulation goes without gpu, I really need find a way to implement it.

So if anyone knows how that could be done, or has any information or tip about gazebo's gpu_ray sensor and how to modify its shape, I would really appreciate the help.

[EDIT] [EDIT]

By looking more into it, I think that I need to modify the gazebo::rendering::GpuLaser::CreateMesh function, as it seems to be where the shape of the lidar's pattern is defined. But as I am trying to implement a custom GpuRayPlugin, using in the robot's sdf file the gpu_ray sensor type, I am encountering the following error: error:

[gazebo-1] [Err] [Camera.cc:168] EXCEPTION: Camera horizontal field of view invalid.
[gazebo-1] [Err] [Camera.cc:168] EXCEPTION: Camera horizontal field of view invalid.
[gazebo-1] [Err] [SensorManager.cc:612] Unable to remove sensor[default::example::base_footprint::my_lidar_gpu] because it does not exist.

Anybody knows why I could get this error?

Thanks!

Implement a gpu_ray plugin with custom shape

Hi all,

I would like to create a gpu_ray plugin for a 3D lidar having a custom pattern, different from the typical velodyne type. I have the equation of each of the curved beams composing it, and need to find a way to modify the collision shape of the lidar's plugin.

I've managed to do so with the (non gpu) ray plugin, using physics multiRayShape, but if I understand it right, gpu_ray sensor does not use gazebo physics as the ray sensor does. Seeing how slow the simulation goes without gpu, I really need find a way to implement it.

So if anyone knows how that could be done, or has any information or tip about gazebo's gpu_ray sensor and how to modify its shape, I would really appreciate the help.

[EDIT]

By looking more into it, I think that I need to modify the gazebo::rendering::GpuLaser::CreateMesh function, as it seems to be where the shape of the lidar's pattern is defined. But as I am trying to implement a custom GpuRayPlugin, using in the robot's sdf file the gpu_ray sensor type, I am encountering the following error:

[gazebo-1] [Err] [Camera.cc:168] EXCEPTION: Camera horizontal field of view invalid.
[gazebo-1] [Err] [Camera.cc:168] EXCEPTION: Camera horizontal field of view invalid.
[gazebo-1] [Err] [SensorManager.cc:612] Unable to remove sensor[default::example::base_footprint::my_lidar_gpu] because it does not exist.

Anybody knows why I could get this error?

Thanks!

Implement a gpu_ray plugin with custom shape

Hi all,

I would like to create a gpu_ray plugin for a 3D lidar having a custom pattern, different from the typical velodyne type. I have the equation of each of the curved beams composing it, and need to find a way to modify the collision shape of the lidar's plugin.

I've managed to do so with the (non gpu) ray plugin, using physics multiRayShape, but if I understand it right, gpu_ray sensor does not use gazebo physics as the ray sensor does. Seeing how slow the simulation goes without gpu, I really need find a way to implement it.

So if anyone knows how that could be done, or has any information or tip about gazebo's gpu_ray sensor and how to modify its shape, I would really appreciate the help.

[EDIT]

By looking more into it, I think that I need to modify the gazebo::rendering::GpuLaser::CreateMesh gazebo::rendering::GpuLaser::CreateMesh function, as it seems to be where the shape of the lidar's pattern is defined. But as I am trying to implement a custom GpuRayPlugin, using in the robot's sdf file the gpu_ray sensor type, I am encountering the following error:

[gazebo-1] [Err] [Camera.cc:168] EXCEPTION: Camera horizontal field of view invalid.
[gazebo-1] [Err] [Camera.cc:168] EXCEPTION: Camera horizontal field of view invalid.
[gazebo-1] [Err] [SensorManager.cc:612] Unable to remove sensor[default::example::base_footprint::my_lidar_gpu] because it does not exist.

Anybody knows why I could get this error?

Thanks!

Implement a gpu_ray plugin with custom shape

Hi all,

I would like to create a gpu_ray plugin for a 3D lidar having a custom pattern, different from the typical velodyne type. I have the equation of each of the curved beams composing it, and need to find a way to modify the collision shape of the lidar's plugin.

I've managed to do so with the (non gpu) ray plugin, using physics multiRayShape, but if I understand it right, gpu_ray sensor does not use gazebo physics as the ray sensor does. Seeing how slow the simulation goes without gpu, I really need find a way to implement it.

So if anyone knows how that could be done, or has any information or tip about gazebo's gpu_ray sensor and how to modify its shape, I would really appreciate the help.

[EDIT]

By looking more into it, I think that what I need to modify is the gazebo::rendering::GpuLaser::CreateMesh function, as it seems to be where the shape of the lidar's pattern is defined. But as I am trying to implement a custom GpuRayPlugin, using in the robot's sdf file the gpu_ray sensor type, I am encountering the following error:

[gazebo-1] [Err] [Camera.cc:168] EXCEPTION: Camera horizontal field of view invalid.
[gazebo-1] [Err] [Camera.cc:168] EXCEPTION: Camera horizontal field of view invalid.
[gazebo-1] [Err] [SensorManager.cc:612] Unable to remove sensor[default::example::base_footprint::my_lidar_gpu] because it does not exist.

Anybody knows why I could get this error?

Thanks!