RVIZ Plugin binary

asked 2020-02-12 10:41:47 -0500

weberan89 gravatar image

updated 2020-02-13 04:23:40 -0500

I created a project specific ros message. For visualization i also created a RVIZ plugin. To share this visualization i wanted to generated a binary of the RVIZ plugin. So i created the binary with

catkin_make install

and tried to integrate this into a default project. Now im facing the problem that using this plugin leads to warnings. The MessageFilter filters all messages out and generated the following warning:

[ WARN] [ 1581408027.985230012]: MessageFilter [target=base_link]: Dropped 100,00% of messages so far. Please turn the [ros.rviz_sensor.message_notifier] rosconsole logger to DEBUG for more information
[ WARN] [ 1581408027.985290333]: MessageFilter [target=base_link]: The majority of dropped messages were due to messages growing older than the TF cache time. The last messages timestamp was 1581408027.855599, and the last frame_id was: base_sensor_front_lreft

So i started to find out why the source code is working when i use it directly and why not when using the binary. Starting with the DEBUG information:

[1581408027.889253617]: MessageFilter [target=base_link]: Discarding Message, in frame base_sensor_front_left, Out of the back of Cache Time (stamp: 1581408027,756 + cache_length: 600,000 < latest transform time 1581408028,338. Message Count now: 0
[1581408027.889333525]: MessageFilter [target=base_link]: Added message in frame base_sensor_front_left at time 1581408027,856, count now 0

So first of all, what is happening here? stamp: 1581408027,756 + cache_length: 600,000 < latest transform time 1581408028,338

=> 1581408627,756 < 1581408028,338

In my opinion the left value is greater and not smaller. I don't get why this statement within the message_filter.h is getting true with those values.

if (stamp + tf_.getCacheLength() < latest_transform_time) { ... }

It seemed to have something todo with the TFs transformation. So i changed within rviz the fixed one to base_sensor_left_front (no more warning messages) and the visualization works as intended. Resetting to base_link leads to stopping the visualization again and the warning messages are active again. Conclusion: It might have to be a problem between the TF transformation.

I wondered if i made any mistake within the newly created project. Therefore i copied the sources of the plugin into the project. After building the whole project, it runs like it should. The visualization worked as intended and no warning messages occurred. Conclusion: Source of RVIZ Plugin should be fine.

  • Now i don't know how to proceed. How can i get the binary of the rviz plugin running?
  • Why is the if statement (see above) true?
  • Maybe someone already had a similar issue?

Thank you for your help.

Btw. i already created some ROS nodes and integrated those binaries successfully into other projects (but never before a rviz plugin).

edit retag flag offensive close merge delete