-
Notifications
You must be signed in to change notification settings - Fork 26
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
WIP: Plugin-based simulator #14
base: master
Are you sure you want to change the base?
Conversation
@marip8 In general there isn't a good way to provide ROS-agnostic support for ROS nodes, publishers/subscribers, I'm less inclined to mix ROS versions within the same repo, since this complicates documentation, issue reporting, and CI. I was able to slice out the ROS1 demo node into a separate optional package within the same repo in my pure-CMake PR, but I had to (for example) make all the individual dependencies in its Maybe we could make a |
What do you think of leaving the |
I'd need to investigate how ROS2 handles plugins, since |
This PR adds a plugin-based simulator for using
gl_depth_sim
components. There are two types of plugins:SceneUpdaterPlugin
andRenderPlugin
. TheSceneUpdaterPlugin
is responsible for maintaining the renderable scene by creating a map ofRenderableObjectState
objects and updating their positions. TheRenderPlugin
accepts a copy of this map from theSceneUpdaterPlugin
and generates a form of rendered display usinggl_depth_sim
components. This PR implements these interfaces by providing a plugin that can create a scene from URDF and update with TF information, a plugin that renders the scene as a 3D depth camera, and a plugin that renders the scene as a laser scanner.TODO:
SimDepthCamera
with different camera properties can exist at the same time@schornakj can you review the content and structure of this PR and advise on how it fits into your vision for a pure CMake package?