tesseract-robotics / tesseract_ros

ROS Interface for the Tesseract Planning Environment.
http://tesseract-docs.rtfd.io
60 stars 24 forks source link

Monitoring a const Environment? #86

Open haudren opened 3 years ago

haudren commented 3 years ago

I was playing with merging environments and so on, and wanted to visualize the resulting environment in Rviz. As far as I understand, I need to instantiate a Monitor in my code, and ask the Rviz plugin to connect to it by switching from "URDF" mode to "Monitor".

Unfortunately, the monitor seems to also expose functionality the modifies the environment, but that's a fairly undesirable side-effect for me, as I don't want to accidentally modify the environment via ROS. Thus, I wanted to initialize a monitor using a tesseract_environment::Environment::ConstPtr but this doesn't seem to be possible at the moment.

Is there any way to achieve this currently?

Levi-Armstrong commented 3 years ago

Unfortunately, the monitor seems to also expose functionality the modifies the environment, but that's a fairly undesirable side-effect for me, as I don't want to accidentally modify the environment via ROS. Thus, I wanted to initialize a monitor using a tesseract_environment::Environment::ConstPtr but this doesn't seem to be possible at the moment.

I assume you would like to not advertise the services for modifying the environment? If so, I am good with modifying the environment monitor to support this, which should not be to much work. I think either adding a flag on construction which disable the start the services or add start and stop function to start and stop these services.