Skip to content
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

multiple lidar support #3

Merged
merged 28 commits into from
Nov 10, 2022
Merged

multiple lidar support #3

merged 28 commits into from
Nov 10, 2022

Conversation

Jakub-Krakowiak
Copy link
Contributor

  1. implemented gazebo system (server) plugin interface - Configure, PreUpdate and PostUpdate functions
  2. connected RGL using FetchContent
  3. added mesh detection from gazebo internals (both primitive and external meshes)
  4. added the meshes to rgl scene
  5. implemented rgl lidar entity in gazebo
  6. pose updates from gazebo to rgl for both lidar and other entities
  7. rgl ray tracing hits visible in GUI if RGLGuiPlugin is loaded
  8. divided RGLGazeboPlugin into three parts: RGLServerPluginManager, RGLServerPluginInstance and RGLGuiPlugin (since the visualization does not need rgl)
  9. RGLServerPluginManager manages adding meshes and entities to the rgl scene, while RGLServerPluginInstance takes care of raycasting and publishing PointCloudPacked messages. You can create as many RGLServerPluginInstances as you like - there is multiple lidar support
  10. added raycasting while simulation is paused

@Jakub-Krakowiak Jakub-Krakowiak self-assigned this Nov 2, 2022
Copy link
Collaborator

@prybicki prybicki left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Part 1 of the review: RGLServerPluginManager and its dependencies.

  • Most of the code looks good, especially RGLServerPluginManager.cc is very clean and readable.
  • Some parts would benefit from a refactor, e.g. the code that deals with mesh & entity handling.
  • Please consider using some using directives in .cc files to make types shorter.
  • Please make sure errors are well reported.
  • Function names could be more precise to a new reader.

README.md Show resolved Hide resolved
README.md Show resolved Hide resolved
RGLGuiPlugin/CMakeLists.txt Show resolved Hide resolved
RGLServerPlugin/src/Scene.cc Show resolved Hide resolved
RGLServerPlugin/src/Mesh.cc Show resolved Hide resolved
RGLServerPlugin/src/Mesh.cc Show resolved Hide resolved
RGLServerPlugin/src/Mesh.cc Show resolved Hide resolved
RGLServerPlugin/src/Mesh.cc Show resolved Hide resolved
@prybicki prybicki self-requested a review November 9, 2022 16:51
Copy link
Collaborator

@prybicki prybicki left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left some final thoughts; to be addressed on v11-support branch. This one can be merged to main.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants