moveit: CHOMP is not planning to avoid obstacles
I am testing the chomp planner and I was able to run the demo without problems, but when I add a scene with a few boxes the planner fails because it creates plans that move through the boxes. Here is a video showing an example and the console output.
@ksatyaki am I missing something?
https://www.opentest.co/share/13747ae096d511e6a4b9d5997606e058
[ INFO] [1476974468.639840465]: The following collision detectors are active in the planning scene.
[ INFO] [1476974468.639924948]: HYBRID
[ INFO] [1476974468.639979873]: Active collision detector is: HYBRID
[ INFO] [1476974468.640567252]: First coll check took 0.000500102
[ INFO] [1476974468.744905938]: Optimization took 0.105349 sec to create
[ INFO] [1476974468.744969567]: Optimization took 0.105437 sec to create
[ INFO] [1476974468.771808283]: Forward kinematics took 0.026809078
[ INFO] [1476974468.772828601]: iteration: 0
[ INFO] [1476974468.774232479]: Chomp Got mesh to mesh safety at iter 0. Breaking out early.
[ INFO] [1476974468.774245614]: Chomp path is collision free
[ INFO] [1476974468.774396609]: Terminated after 1 iterations, using path from iteration -1
[ INFO] [1476974468.774427175]: Optimization core finished in 0.029445 sec
[ INFO] [1476974468.774440784]: Time per iteration 0.029459
[ INFO] [1476974468.774455331]: Optimization actually took 0.134922 sec to run
[ INFO] [1476974468.774466672]: Output trajectory has 6 joints
[ INFO] [1476974468.774645821]: Joint 0 -0.538908
[ INFO] [1476974468.774682969]: Joint 1 0.634558
[ INFO] [1476974468.774719493]: Joint 2 -0.562051
[ INFO] [1476974468.774764935]: Joint 3 1.66659
[ INFO] [1476974468.774782979]: Joint 4 0.287965
[ INFO] [1476974468.774813866]: Joint 5 1.54044
[ INFO] [1476974468.774844534]: Bottom took 0.000374 sec to create
[ INFO] [1476974468.774858459]: Serviced planning request in 0.136556 wall-seconds, trajectory duration is 0.000000
[ERROR] [1476974468.803435454]: Computed path is not valid. Invalid states at index locations: [ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 ] out of 101. Explanations follow in command line. Contacts are published on /move_group/display_contacts
[ INFO] [1476974468.803553807]: Found a contact between 'box3' (type 'Object') and 'link_4' (type 'Robot link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1476974468.803569449]: Collision checking is considered complete (collision was found and 0 contacts are stored)
[ INFO] [1476974468.804289481]: Found a contact between 'box3' (type 'Object') and 'link_4' (type 'Robot link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1476974468.804303584]: Collision checking is considered complete (collision was found and 0 contacts are stored)
[ INFO] [1476974468.805150013]: Found a contact between 'box3' (type 'Object') and 'link_4' (type 'Robot link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1476974468.805163527]: Collision checking is considered complete (collision was found and 0 contacts are stored)
[ INFO] [1476974468.806011763]: Found a contact between 'box3' (type 'Object') and 'link_4' (type 'Robot link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1476974468.806024644]: Collision checking is considered complete (collision was found and 0 contacts are stored)
[ INFO] [1476974468.806740759]: Found a contact between 'box3' (type 'Object') and 'link_4' (type 'Robot link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1476974468.806754904]: Collision checking is considered complete (collision was found and 0 contacts are stored)
[ INFO] [1476974468.807481881]: Found a contact between 'box3' (type 'Object') and 'link_4' (type 'Robot link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1476974468.807501242]: Collision checking is considered complete (collision was found and 0 contacts are stored)
[ INFO] [1476974468.808332384]: Found a contact between 'box3' (type 'Object') and 'link_4' (type 'Robot link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1476974468.808402092]: Collision checking is considered complete (collision was found and 0 contacts are stored)
[ INFO] [1476974468.809548394]: Found a contact between 'box3' (type 'Object') and 'link_4' (type 'Robot link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1476974468.809643334]: Collision checking is considered complete (collision was found and 0 contacts are stored)
[ INFO] [1476974468.810681836]: Found a contact between 'box2' (type 'Object') and 'link_4' (type 'Robot link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1476974468.810725935]: Collision checking is considered complete (collision was found and 0 contacts are stored)
[ INFO] [1476974468.811529206]: Found a contact between 'box2' (type 'Object') and 'link_4' (type 'Robot link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1476974468.811579223]: Collision checking is considered complete (collision was found and 0 contacts are stored)
[ INFO] [1476974468.812392312]: Found a contact between 'box2' (type 'Object') and 'link_4' (type 'Robot link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1476974468.812417862]: Collision checking is considered complete (collision was found and 0 contacts are stored)
[ INFO] [1476974468.813165344]: Found a contact between 'box2' (type 'Object') and 'link_4' (type 'Robot link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1476974468.813184003]: Collision checking is considered complete (collision was found and 0 contacts are stored)
[ INFO] [1476974468.813952516]: Found a contact between 'box2' (type 'Object') and 'link_4' (type 'Robot link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1476974468.813975127]: Collision checking is considered complete (collision was found and 0 contacts are stored)
[ INFO] [1476974468.814728991]: Found a contact between 'box2' (type 'Object') and 'link_4' (type 'Robot link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1476974468.814798348]: Collision checking is considered complete (collision was found and 0 contacts are stored)
[ INFO] [1476974468.815357510]: Found a contact between 'box2' (type 'Object') and 'link_4' (type 'Robot link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1476974468.815371657]: Collision checking is considered complete (collision was found and 0 contacts are stored)
[ INFO] [1476974468.816007614]: Found a contact between 'box2' (type 'Object') and 'link_4' (type 'Robot link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1476974468.816039457]: Collision checking is considered complete (collision was found and 0 contacts are stored)
[ INFO] [1476974468.816640326]: Found a contact between 'box2' (type 'Object') and 'link_4' (type 'Robot link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1476974468.816653224]: Collision checking is considered complete (collision was found and 0 contacts are stored)
[ INFO] [1476974468.817378242]: Found a contact between 'box2' (type 'Object') and 'link_4' (type 'Robot link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1476974468.817395617]: Collision checking is considered complete (collision was found and 0 contacts are stored)
[ INFO] [1476974468.817900791]: Found a contact between 'box2' (type 'Object') and 'link_4' (type 'Robot link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1476974468.817913954]: Collision checking is considered complete (collision was found and 0 contacts are stored)
[ INFO] [1476974468.818410373]: Found a contact between 'box2' (type 'Object') and 'link_4' (type 'Robot link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1476974468.818423277]: Collision checking is considered complete (collision was found and 0 contacts are stored)
[ INFO] [1476974468.818930254]: Found a contact between 'box2' (type 'Object') and 'link_4' (type 'Robot link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1476974468.818943007]: Collision checking is considered complete (collision was found and 0 contacts are stored)
[ INFO] [1476974468.819526134]: Found a contact between 'box2' (type 'Object') and 'link_4' (type 'Robot link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1476974468.819538624]: Collision checking is considered complete (collision was found and 0 contacts are stored)
[ INFO] [1476974468.819986408]: Found a contact between 'box2' (type 'Object') and 'link_4' (type 'Robot link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1476974468.819999386]: Collision checking is considered complete (collision was found and 0 contacts are stored)
[ INFO] [1476974468.820425996]: Found a contact between 'box2' (type 'Object') and 'link_4' (type 'Robot link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1476974468.820439051]: Collision checking is considered complete (collision was found and 0 contacts are stored)
[ INFO] [1476974468.820917938]: Found a contact between 'box2' (type 'Object') and 'link_4' (type 'Robot link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1476974468.820934152]: Collision checking is considered complete (collision was found and 0 contacts are stored)
[ INFO] [1476974468.821348467]: Found a contact between 'box2' (type 'Object') and 'link_4' (type 'Robot link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1476974468.821361052]: Collision checking is considered complete (collision was found and 0 contacts are stored)
[ INFO] [1476974468.821748672]: Found a contact between 'box2' (type 'Object') and 'link_4' (type 'Robot link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1476974468.821761086]: Collision checking is considered complete (collision was found and 0 contacts are stored)
[ INFO] [1476974468.822233960]: Found a contact between 'box2' (type 'Object') and 'link_4' (type 'Robot link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1476974468.822247319]: Collision checking is considered complete (collision was found and 0 contacts are stored)
[ INFO] [1476974468.822662780]: Found a contact between 'box2' (type 'Object') and 'link_4' (type 'Robot link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1476974468.822675671]: Collision checking is considered complete (collision was found and 0 contacts are stored)
[ INFO] [1476974468.823295018]: Found a contact between 'box2' (type 'Object') and 'link_4' (type 'Robot link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1476974468.823307675]: Collision checking is considered complete (collision was found and 0 contacts are stored)
[ INFO] [1476974468.823863268]: Found a contact between 'box2' (type 'Object') and 'link_4' (type 'Robot link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1476974468.823876128]: Collision checking is considered complete (collision was found and 0 contacts are stored)
[ INFO] [1476974468.824216354]: Found a contact between 'box2' (type 'Object') and 'link_4' (type 'Robot link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1476974468.824228854]: Collision checking is considered complete (collision was found and 0 contacts are stored)
[ INFO] [1476974468.824613682]: Found a contact between 'box2' (type 'Object') and 'link_4' (type 'Robot link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1476974468.824632323]: Collision checking is considered complete (collision was found and 0 contacts are stored)
[ INFO] [1476974468.825033285]: Found a contact between 'box2' (type 'Object') and 'link_4' (type 'Robot link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1476974468.825047317]: Collision checking is considered complete (collision was found and 0 contacts are stored)
[ INFO] [1476974468.825560180]: Found a contact between 'box2' (type 'Object') and 'link_4' (type 'Robot link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1476974468.825573192]: Collision checking is considered complete (collision was found and 0 contacts are stored)
[ INFO] [1476974468.826126634]: Found a contact between 'box2' (type 'Object') and 'link_4' (type 'Robot link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1476974468.826140544]: Collision checking is considered complete (collision was found and 0 contacts are stored)
[ INFO] [1476974468.826691716]: Found a contact between 'box2' (type 'Object') and 'link_4' (type 'Robot link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1476974468.826704502]: Collision checking is considered complete (collision was found and 0 contacts are stored)
[ INFO] [1476974468.828726355]: Found a contact between 'box2' (type 'Object') and 'link_4' (type 'Robot link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1476974468.828766610]: Collision checking is considered complete (collision was found and 0 contacts are stored)
[ INFO] [1476974468.830704512]: Found a contact between 'box2' (type 'Object') and 'link_4' (type 'Robot link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1476974468.830732941]: Collision checking is considered complete (collision was found and 0 contacts are stored)
[ERROR] [1476974468.832529229]: Completed listing of explanations for invalid states.
[ WARN] [1476974468.841645837]: Fail: ABORTED: Motion plan was found but it seems to be invalid (possibly due to postprocessing). Not executing.
About this issue
- Original URL
- State: open
- Created 8 years ago
- Comments: 26 (23 by maintainers)
Hi all, I think
I might have found a solution to this. The important variable is the obstacle_weight_cost value in the chomp_planning.yaml file, once the cost is reduced, CHOMP finds the paths successfully. A youtube video which shows obstacle free paths being planned with CHOMP is attached here! I set the obstacle_weight to 0.2 and CHOMP could plan successfully, initially it was set to 1.0 due to which it was failing as the planner wanted to keep a longer distance from the obstacles, which lead to CHOMP not finding successful paths. Could anyone verify that this works @ksatyaki @BryceStevenWilley @dyouakimI used a modified version of @beatrizleon python script to set up the obstacle environment. collision_scene_1.txt (change extension to .py).
some theoretical insights from the CHOMP paper, might be useful:
Highlighted text seems interesting:
Page 1: takes an initial guess and optimizes it towards a local optima, if initial guess is bad in a simple environment, will it find a good solution, probably YES
Page 3: falls prey to local minima for difficult situations, but in simple environments too falling prey, meaning there is a bug in code.
Page 6: addition of noise to a matrix diagonal which might cause collisions due to preference to smoothness, need to verify if they do this in the CHOMP MoveIt implementation too