fetch_ros
fetch_ros copied to clipboard
[fetch_moveit_config] set enforce_joint_model_state_space true
fetch arm collides with base or torso when path constraints is given to MotionPlanRequest.
This is because Moveit computes in cartesian model state space when path constraints is given,
and it causes joint jump near singularity point.
With this joint jump, fetch's arm collides with its base or torso because fetch's arm is quite close to them.
Good case
https://user-images.githubusercontent.com/9300063/195620089-c3443451-4408-4593-8e54-cae00bc75e2e.mp4
Bad case
https://user-images.githubusercontent.com/9300063/195620117-91db585f-c6ba-41d0-b555-481615c1a83c.mp4
In this PR, I set enforce_joint_model_state_space true and enforce to use joint model state space.
This change may needs longer planning time but it is safe.
related: https://github.com/ros-planning/moveit/pull/541 https://github.com/ros-planning/moveit/issues/562 https://github.com/ros-planning/moveit/pull/2273
Hi @knorth55 thanks for the PR! I only just saw it now, but will plan to look at your links to understand the (nice and small) change.