jsk-ros-pkg / jsk_recognition

JSK perception ROS packages
https://github.com/jsk-ros-pkg/jsk_recognition
271 stars 190 forks source link

Is there way to change dynamic parameter with timestamp? #1444

Open wkentaro opened 8 years ago

wkentaro commented 8 years ago

I'd like to use dynamic_reconfigure for recognition with timestamp. Currently, the config callback does not see the timestamp https://github.com/jsk-ros-pkg/jsk_recognition/blob/master/jsk_pcl_ros/src/organized_multi_plane_segmentation_nodelet.cpp#L172 and dynamic_reconfigure seems to be not designed to do so.

Any idea to fix this issue? I think there are two solutions:

  1. Change the configCallback to make the node to see the timestamp.
  2. Change dynamic_reconfigure to serve another topic with timstamp (like dynamic_reconfigure/ReconfigureStamped). (currently, dynamic_reconfigure serves set_parameters service not topic)
wkentaro commented 8 years ago

The first option may break current system and the nodes' behavior will change, so I think it's not good idea.

wkentaro commented 8 years ago

Could you please give me some advice? @garaemon @k-okada

garaemon commented 8 years ago

It depends on your purpose.

Whey you need timestamp on dynamic_reconfigure?

wkentaro commented 8 years ago

It depends on your purpose.

Yes, so I don't want to break current system.

Whey you need timestamp on dynamic_reconfigure?

To change the parameter from now (the time I changed the parameter), not the time the configCallback is called in each recognition node.

garaemon commented 8 years ago

To change the parameter from now (the time I changed the parameter), not the time the configCallback is called in each recognition node.

hmm, it sounds difficult. Your problem is latency between rqt_dynamic_reconfigure event callback and service call?

wkentaro commented 8 years ago

Your problem is latency between rqt_dynamic_reconfigure event callback and service call?

Maybe no, the problem is a node cannot know that what data with what timestamp other node processing.

What I want to do is to specify the timestamp and parameter for a processing, this can be significant in dynamic environment. At this time, I'm in not so dynamic environment so maybe current dynamic reconfigure system does work.