naturerobots / mesh_tools

Tools and Messages for Annotated 3D Triangle Meshes in ROS
https://wiki.ros.org/mesh_tools
BSD 3-Clause "New" or "Revised" License
229 stars 42 forks source link

Question about ClusterLabelTool #42

Open manhha1402 opened 3 months ago

manhha1402 commented 3 months ago

Hi, I see ClusterLabelTool is disabled in ROS2. Are there any reason for it? Thank you :) https://github.com/naturerobots/mesh_tools/blob/humble/rviz_mesh_tools_plugins/src/ClusterLabelTool.cpp

amock commented 3 months ago

Hi @manhha1402,

quick explanation on that: We are right now focussing on migrating the whole mesh navigation stack with all its dependencies to ROS2. The ClusterLabelTool is not required for that, so migrating it is prioritized low. At the same point it has some exotic dependencies which makes it harder for users who doesn't need the ClusterLabelTool from using all the other tools. However, we have it on our list ot migrate it eventually.

But thanks for point that out, I will keep this issue open as a reminder for everyone to implement it. So whoever reads this and wants to have it quickly, feel free to implement it by yourself (and make a PR afterwards). We would be happy about it :)

Plan if someone has time to implement this feature

In the ROS1 version, after drawing a rectangle on the screen, a bunch of rays have been casted to the scene to find the intersections and thus the to-be-labeled objects. It was parallelized by OpenCL. However, the rendering system already projects everything to the screen, so I assume its a better choice to look into the right render buffers instead of doing ray casts. If that's possible we have a better selection system while loosing one dependency, which I find promising.

So the first thing to do would be to figure out if RViz(Ogre) lets us do that.