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

how to manager the octomap updates from pointcloud of camera? #122

Open
xibeisiber opened this issue Sep 1, 2021 · 4 comments
Open

how to manager the octomap updates from pointcloud of camera? #122

xibeisiber opened this issue Sep 1, 2021 · 4 comments
Labels
enhancement New feature or request

Comments

@xibeisiber
Copy link

Hi all,
I wonder how to create the collision information in tesseract_environment::Environment automatically from the pointcloud of a camera.

I saw in the example that I can manually convert the pointcloud to octomap and use tesseract_environment::AddLinkCommand to add the collision info to tesseract_monitoring::EnvironmentMonitor. But if the enviroment is changing, should I write a ros subscriber callback function to update the EnvironmentMonitor consistently?

Moveit use a sensor_plugin: occupancy_map_monitor/pointcloudoctomapupdater to update the octomap from pointcloud. Is it possible and how to use the plugin in tesseract?

Thanks!
Jiying

@Levi-Armstrong
Copy link
Contributor

This is one feature we plan to integrate but the best option at the moment is using a callback to replace the link.

@xibeisiber
Copy link
Author

xibeisiber commented Sep 7, 2021

@Levi-Armstrong
Thanks for your reply. Now I'm using the callback method to create the collision information.

But there is still another problem: the pointcloud from the camera may include the manipulator itself... so do I need to get rid of the points that belong to the manipulater before passing the octomap to tesseract_monitoring::EnvironmentMonitor? or will the monitor do this automatically?

@mpowelson
Copy link
Contributor

@Levi-Armstrong One other practical issue with this is memory usage. In my experience, adding and removing octree links is infeasible because it blows up the command history. Memory usage grows very quickly. At least for my application, we are going to have to either implement the dynamic link or a squash command history functionality to solve this problem. Personally, I think we should probably do both.

@Levi-Armstrong
Copy link
Contributor

I have been thinking about this and it may be better to add the ability to contain a octomap in the planning server and then when a planning request is made it would add a command to the applied to environment adding the octomaps content.

@Levi-Armstrong Levi-Armstrong added the enhancement New feature or request label Apr 2, 2022
fi6 pushed a commit to BigAI-Robotics/tesseract_ros that referenced this issue May 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants