ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

diagnostic_msg/DiagnosticStatus should have "stale"?

asked 2012-11-04 14:04:24 -0600

130s gravatar image

updated 2012-11-04 14:19:48 -0600

I thought I ask this question before submitting ticket on github since I'm not yet sure 100%.

Why does msg type diagnostic_msg/DiagnosticStatus not have level of operations STALE?

DiagnosticStatus defines 3 levels of operations (from 0 to 2). But GenericAnalyzer in diagnostic_aggregator publishes level 3, or stale (I recognized this while running turtlebot_gazebo/launch/turtlebot_empty_world.launch).

Assuming it's recommended to extend GenericAnalyzer when implementing your own robot, the cleanest solution would to include stale in the msg format imho but how does this sound?

edit retag flag offensive close merge delete



I believe stale is when the message is not published at all, hence there is no code for it in the message, itself.

joq gravatar image joq  ( 2012-11-04 15:46:40 -0600 )edit

This is how it is implemented (last time I checked), so it is never send by the program the diagnostic originated from. The aggregator adds this.

dornhege gravatar image dornhege  ( 2012-11-04 22:16:20 -0600 )edit

It's never sent from the origin, but if we're designating "3" as "STALE" then we should still enumerate it.

jbohren gravatar image jbohren  ( 2012-11-05 04:29:23 -0600 )edit

If that is a quasi-standard, then yes, it should be in the message before it becomes commonly used differently. The only problem is that it does not make a lot of sense for a diagnostic component to set the status to STALE.

dornhege gravatar image dornhege  ( 2012-11-05 04:44:21 -0600 )edit

Missing data, etc. should be a WARN or ERROR. For a supervisor it does make sense. So this should be documented properly to not get confused, i.e. STALE is not sensor stale, but component/driver stale.

dornhege gravatar image dornhege  ( 2012-11-05 04:46:18 -0600 )edit

@dornhege and all, looks like we've come to conclusion - to add appropriate document to avoid confusion (ie. no change to the msg type). But where? Analyzer's doc? Or msg type's?

130s gravatar image 130s  ( 2012-11-05 08:07:45 -0600 )edit

@IsaacS, I do think it should go in the message type. Either that or to really fix this, diagnostic_aggregator should do something different with stale data. I don't think we should ever be setting an enumeration mode that isn't defined as such in the message type.

jbohren gravatar image jbohren  ( 2012-11-05 09:01:33 -0600 )edit

@jbohren oh ok, so you're on "modifying msg type" side. Then I now feel this comment area isn't the best appropriate place to continue discussion. Is it ok to start a discussion on users' ML for such a small (but not trivial) change like this?

130s gravatar image 130s  ( 2012-11-05 09:51:53 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2012-11-04 14:44:37 -0600

jbohren gravatar image

updated 2012-11-06 03:47:56 -0600

That is odd. I wouldn't be surprised if it's just because a STALE status was an afterthought and never got put back into the message def. It seems ticket-worthy, i'd say report it.

Update: I've reported it here (with a pull request):

edit flag offensive delete link more


+1 for the report on behalf of me (thought I was responsible for it)

130s gravatar image 130s  ( 2012-11-06 07:29:44 -0600 )edit

Question Tools


Asked: 2012-11-04 14:04:24 -0600

Seen: 986 times

Last updated: Nov 06 '12