Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Publish collision monitor state #3504

Merged

Conversation

kaichie
Copy link
Contributor

@kaichie kaichie commented Mar 23, 2023


Basic Info

Info Please fill out this column
Ticket(s) this addresses #3496
Primary OS tested on Ubuntu
Robotic platform tested on Dexory Simulation

Description of contribution in a few bullet points

  • Added a new msg in nav2_msgs - CollisionMonitorState.msg
  • Publish CollisionMonitor action state
  • Also fixed that the first action will not be printed if it is DO_NOTHING
  • Also updated the state change logic to check with polygon_name instead of action_type (To handle multiple slowdown polygons correctly)

Description of documentation updates required from your changes

  • Added new topic + param, so need to add that to default configs and documentation page

Future work that may be required in bullet points

  • This PR report the CM's action state change based on the input cmd_vel, but I think it will be very useful to publish the polygon state even when the robot is not moving too. Especially for cases like when the stop polygon is triggered(regardless of cmd_vel speed), or when there are points in approach polygon where the robot will not be able to move. (Probably similar requirement as mentioned here)

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

Copy link
Member

@SteveMacenski SteveMacenski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good in general, most are nit picks and a couple of questions

Copy link
Collaborator

@AlexeyMerzlyakov AlexeyMerzlyakov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are some items, I've mentioned, but in overall, this seems a good approach for me

Copy link
Member

@SteveMacenski SteveMacenski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Otherwise LGTM, just need the complimentary documentation updates for the new parameter in the config guide + migration guide for the new feature

@kaichie
Copy link
Contributor Author

kaichie commented Mar 25, 2023

Thanks for the review @SteveMacenski and @AlexeyMerzlyakov! Created a PR for updating the config guide + migration guide too.

Copy link
Member

@SteveMacenski SteveMacenski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. On Alexey's final call to merge.

Copy link
Collaborator

@AlexeyMerzlyakov AlexeyMerzlyakov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Change reviewed: OK.
Local colcon test --packages-select nav2_collision_monitor: OK
Codecov test: OK
Local TB3 simulation verification: OK (CM is working well and publishing a new topic)

@AlexeyMerzlyakov AlexeyMerzlyakov merged commit b8d077e into ros-navigation:main Mar 28, 2023
kaichie added a commit to botsandus/navigation2 that referenced this pull request Mar 28, 2023
kaichie added a commit to botsandus/navigation2 that referenced this pull request Apr 21, 2023
gennartan pushed a commit to gennartan/navigation2 that referenced this pull request Jan 17, 2024
This commits is cherry-picked from b8d077e. The collision monitor now
has an additional parameter named "state_topic". If the state topic is
set, the collision monitor will publish its status to the defined topic
so that other nodes might perform actions based on the current state of
the collision monitor.
gennartan pushed a commit to gennartan/navigation2 that referenced this pull request Jan 17, 2024
This commits is cherry-picked from b8d077e. The collision monitor now
has an additional parameter named "state_topic". If the state topic is
set, the collision monitor will publish its status to the defined topic
so that other nodes might perform actions based on the current state of
the collision monitor.

Signed-off-by: agennart <[email protected]>
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.

3 participants