Skip to content

[Collision Monitor] Add a watchdog mechanism#3880

Merged
SteveMacenski merged 15 commits intoros-navigation:mainfrom
doisyg:cm_watchdog
Oct 31, 2023
Merged

[Collision Monitor] Add a watchdog mechanism#3880
SteveMacenski merged 15 commits intoros-navigation:mainfrom
doisyg:cm_watchdog

Conversation

@doisyg
Copy link
Copy Markdown
Contributor

@doisyg doisyg commented Oct 13, 2023


Basic Info

Info Please fill out this column
Ticket(s) this addresses
Primary OS tested on Ubuntu
Robotic platform tested on Dexory's ARRI

Description of contribution in a few bullet points

Submitting as a draft as there are a couple of points to discuss.

This PR adds a per source blocking watchdog mechanism, i.e. stop the robot if a source is not publishing at the expected rate (building on the existing source_timeout mechanism).

  • It adds the parameter block_if_invalid (other name suggestions are welcome) either per source or globally. If set to true, a source triggering its source_timeout will make the robot stop.
  • In order to make it work with a set of source/sensor of different frequencies, I made possible to use the parameter source_timeout per source. I.e. having different value for each sensors. In order not break the current behavior, if not set, each source specific source_timeout are set by default to the global source_timeout.
  • I modified the getData method to return false if a source is considered invalid AND block_if_invalid: true. @AlexeyMerzlyakov, can you maybe check/have a look if the invalid conditions make sense ?
  • I modified symmetrically the collision detector with the new parameters but did not change the behavior. Any thought on what we should do there regarding block_if_invalid ?
  • Tests ?

Description of documentation updates required from your changes

TBD once points above are resolved


Future work that may be required in bullet points

For Maintainers:

  • Check that any new parameters added are updated in navigation.ros.org
  • Check that any significant change is added to the migration guide
  • Check that any new features OR changes to existing behaviors are reflected in the tuning guide
  • Check that any new functions have Doxygen added
  • Check that any new features have test coverage
  • Check that any new plugins is added to the plugins page
  • If BT Node, Additionally: add to BT's XML index of nodes for groot, BT package's readme table, and BT library lists

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Collision Monitor Sensor Input Watchdog

4 participants