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

[hybrid planning] improve planning scene monitoring #1090

Merged
merged 12 commits into from Apr 4, 2023

Conversation

AndyZe
Copy link
Member

@AndyZe AndyZe commented Feb 23, 2022

I don't have time to get this cleaned up to MoveIt standards but I'm pushing it as a record for anybody else who wants to use hybrid planning (especially for a dual-arm system). Prior to this, we found that the planning scene only updated occasionally and it was reporting phantom collisions.

What does this PR do?

  • Use a different collision detection type (to match what's done in moveit_servo)
  • Turn on planning scene diff monitoring
  • Spawn a new PSM in the local constraint solver, with clearly-specified settings.

@codecov
Copy link

codecov bot commented Feb 23, 2022

Codecov Report

Patch coverage has no change and project coverage change: -0.02 ⚠️

Comparison is base (06e5a0b) 50.93% compared to head (1055da2) 50.90%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1090      +/-   ##
==========================================
- Coverage   50.93%   50.90%   -0.02%     
==========================================
  Files         391      391              
  Lines       32137    32137              
==========================================
- Hits        16365    16357       -8     
- Misses      15772    15780       +8     

see 3 files with indirect coverage changes

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

☔ View full report in Codecov by Sentry.
📢 Do you have feedback about the report comment? Let us know in this issue.

@tylerjw
Copy link
Member

tylerjw commented Nov 18, 2022

@henningkayser do you have thoughts on these changes?

@sjahr sjahr force-pushed the andyz/hp_psm branch 2 times, most recently from 8f477d5 to c036324 Compare March 21, 2023 09:18
@sjahr sjahr changed the title WIP [hybrid planning] improve planning scene monitoring [hybrid planning] improve planning scene monitoring Mar 21, 2023
@moveit moveit deleted a comment from mergify bot Mar 21, 2023
@AndyZe
Copy link
Member Author

AndyZe commented Mar 22, 2023

I tested with the tutorial. It's always been flaky afaik and still is, but at least this PR doesn't cause a regression. I'll approve after that factor of 2 is changed.

@sjahr
Copy link
Contributor

sjahr commented Mar 24, 2023

@AndyZe I decreased the factor to 1.1

@sjahr
Copy link
Contributor

sjahr commented Mar 24, 2023

I tested with the tutorial. It's always been flaky afaik and still is, but at least this PR doesn't cause a regression. I'll approve after that factor of 2 is changed.

Yes, I think we need to revisit the hybrid planning tutorial. It is flaky for me too :/

Copy link
Contributor

@PeterMitrano PeterMitrano left a comment

Choose a reason for hiding this comment

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

If this is changing behavior in a meaningful way, perhaps there are docs or tutorials that should get updated? I'm just throwing stuff out there since y'all asked for a reviewer -- I'm not familiar with hybrid planning.

@AndyZe
Copy link
Member Author

AndyZe commented Mar 25, 2023

I can't approve my own PR but this looks OK to me now

@AndyZe
Copy link
Member Author

AndyZe commented Apr 3, 2023

@sjahr @henningkayser what about a final review?

@sjahr sjahr merged commit 8b01990 into moveit:main Apr 4, 2023
8 checks passed
abhijelly added a commit to abhijelly/moveit2 that referenced this pull request Apr 9, 2023
Increase priority for constrained planning state space (moveit#1300)

* Change priority for the constrained planning state space

* Fix constrained planning tests

* Use PRM instead of RRTConnect

---------

Co-authored-by: Sebastian Jahr <sebastian.jahr@picknik.ai>

Remove "new" from smart pointer instantiation (moveit#2019)

Temporarily disable TestPathConstraints with the Panda robot (moveit#2016)

This test has become flaky since it was modified to use the OMPL constrained state space (moveit#2015).

Fix mimic joints with TOTG (moveit#1989)

Fix include install destination (moveit#2008)

Co-authored-by: Henning Kayser <henningkayser@picknik.ai>
Co-authored-by: Tyler Weaver <maybe@tylerjw.dev>

Ruckig-smoothing : reduce number of  duration extensions (moveit#1990)

* extend duration only for failed segment

* update comment

* Remove trajectory reset before extension

* readability improvement

* Remove call to RobotState update

---------

Co-authored-by: ibrahiminfinite <ibrahimjkd@@gmail.com>
Co-authored-by: AndyZe <andyz@utexas.edu>

Add stale GHA (moveit#2022)

* Issues and PRs are labeled as stale after 45 days.
* Stale issues are closed after another 45 days.

Enable workflow_dispatch for stale GHA

Remove invalid description field in GHA

Add callback for velocity scaling override + fix params namespace not being set (moveit#2021)

Fix python tests (moveit#1979)

* ensure joint models in robot_model submodule

* add build tests

Upgrade apt dependencies --with-new-pkgs (moveit#2039)

2.7.1

🛠️ Bump actions/stale from 7 to 8 (moveit#2037)

Allow ci-testing Dockerfile to update the ROS_DISTRO (moveit#2035)

Move displaced launch file into planning_component_tools (moveit#2044)

Delete the Ruckig "batches" option, deprecated by moveit#1990 (moveit#2028)

Added set_robot_trajectory_msg to python bindings (moveit#2050)

Use $DISPLAY rather than assuming :0 (moveit#2049)

* Use $DISPLAY rather than assuming :

* Double quotes

---------

Co-authored-by: Sebastian Jahr <sebastian.jahr@picknik.ai>

Optionally mitigate Ruckig overshoot (moveit#2051)

* Optionally mitigate Ruckig overshoot

* Cleanup

Update description of moveit_ros_planning_interface (moveit#2045)

* Update description of moveit_ros_planning_interface

* Update moveit_ros/planning_interface/package.xml

Co-authored-by: Henning Kayser <henningkayser@picknik.ai>

---------

Co-authored-by: Henning Kayser <henningkayser@picknik.ai>

Add URDF Loader Exceptions and Fix Infinite While-Loop when URDF file isn't in a ROS Package (moveit#2032)

* Fixed infinite while loop in utilities.cpp and added some exception handling to start screen widget

* Fix trailing whitespace, fix getSharePath exception catch on empty request

* Fix clang tidy suggestion and error message updates based on pr comments

[hybrid planning] improve planning scene monitoring (moveit#1090)

* Create new PSM in local constraint solver. Different type of collision checking.

* Small boolean logic fixup

* Don't configure planning scene monitor twice and pass scene as const

* Remove not required call of updateSceneWithCurrentState()

* Revert PlanningSceneMonitorConstPtr to PlanningSceneMonitorPtr

* Set planning_scene_monitor update rate

* Decrease planning scene update rate

* Use `updateSceneWithCurrentState()` in psm

* Revert the manner of collision checking

---------

Co-authored-by: Sebastian Jahr <sebastian.jahr@picknik.ai>

Document how collision checking includes descendent links (moveit#2058)

Move stateless PlanningScene helper functions out of the class (moveit#2025)

Readability: kinematic_state -> robot_state (moveit#2078)

moveit_py citation (moveit#2029)

Extract parallel planning from moveit cpp (moveit#2043)

* Add parallel_planning_interface

* Add parallel planning interface

* Rename package to pipeline_planning_interface

* Move plan_responses_container into own header + source file

* Add plan_responses_contrainer source file

* Add solution selection and stopping criterion function files

* Remove parallel planning from moveit_cpp

* Move parallel planning into planning package

* Update moveit_cpp

* Drop planning_interface changes

* Add documentation

* Update other moveit packages

* Remove removed header

* Address CI complains

* Address clang-tidy complains

* Address clang-tidy complains 2

* Address clang-tidy complains 3

* Extract planning pipeline map creation function from moveit_cpp

* Cleanup comment

* Use const moveit::core::RobotModelConstPtr&

* Formatting

* Add header descriptions

* Remove superfluous TODOs

* Cleanup

PILZ: Throw if IK solver doesn't exist (moveit#2082)

* Throw if IK solver doesn't exist

* Format

enabled -wformat (moveit#2065)

Co-authored-by: Sebastian Jahr <sebastian.jahr@picknik.ai>

Add test and debug issue where TOTG returns accels > limit (moveit#2084)

lint fix

lint fix 1

lint fix 2

lint fix 3
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.

None yet

5 participants