Skip to content

fix: ensure attached objects update during motion execution (backport #3327) #3413

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

Open
wants to merge 1 commit into
base: humble
Choose a base branch
from

Conversation

mergify[bot]
Copy link

@mergify mergify bot commented Apr 3, 2025

Description

  • Check that attached objects in the monitored robot match those in the planned trajectory.
  • If an object disappears from the monitored robot, remove it from the trajectory way-point robot_state. (avoid false positives, stop trajectories due to collisions between environment and objects that are not attached to the robot anymore)
  • If an object is attached to the monitored robot but missing in the trajectory, add it to enable meaningful collision checking. (avoids disruptive condition in which even if the object has been added to the robot as attached collision object it is not considered for online collision checking)

Implications

This could impact a few different situations:

  • Imagine you’re catching an object during motion, and an external node tells the planning scene to add the new attached collision object. Even though MoveIt knows about the new attached object, the collision check still only considers the attached objects that were there at the planning stage, so it misses the new one. This could lead to a situation where a collision is missed because the newly attached object isn’t part of the check.
  • Similarly, dropping an object during motion may result in preempting a valid path due to a non existsent collision.
    This is an automatic backport of pull request fix: ensure attached objects update during motion execution #3327 done by Mergify.

(cherry picked from commit 89acadd)

# Conflicts:
#	moveit_core/robot_state/include/moveit/robot_state/robot_state.hpp
#	moveit_ros/planning/plan_execution/include/moveit/plan_execution/plan_execution.hpp
#	moveit_ros/planning/plan_execution/src/plan_execution.cpp
@mergify mergify bot added the conflicts label Apr 3, 2025
Copy link
Author

mergify bot commented Apr 3, 2025

Cherry-pick of 89acadd has failed:

On branch mergify/bp/humble/pr-3327
Your branch is up to date with 'origin/humble'.

You are currently cherry-picking commit 89acaddda.
  (fix conflicts and run "git cherry-pick --continue")
  (use "git cherry-pick --skip" to skip this patch)
  (use "git cherry-pick --abort" to cancel the cherry-pick operation)

Changes to be committed:
	modified:   moveit_core/robot_state/src/robot_state.cpp

Unmerged paths:
  (use "git add/rm <file>..." as appropriate to mark resolution)
	deleted by us:   moveit_core/robot_state/include/moveit/robot_state/robot_state.hpp
	deleted by us:   moveit_ros/planning/plan_execution/include/moveit/plan_execution/plan_execution.hpp
	both modified:   moveit_ros/planning/plan_execution/src/plan_execution.cpp

To fix up this pull request, you can check it out locally. See documentation: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally

@sea-bass
Copy link
Contributor

sea-bass commented Apr 4, 2025

@MarcoMagriDev would you like to attempt resolving these conflicts for the humble backport? Or also it could just not be backported as it is kind of a new feature.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants