moveit_tutorials icon indicating copy to clipboard operation
moveit_tutorials copied to clipboard

Getting an unexpected result when running the planning_scene_tutorial

Open Siva552 opened this issue 2 years ago • 2 comments

Description

Getting an unexpected result when running the planning_scene_tutorial. In the test 5 in this tutorial, manually set the Panda arm to a position where we know internal (self) collisions do happe, In the planning_scene_tutorial.cpp, line 146, joint_values is set to : std::vector joint_values = { 0.0, 0.0, 0.0, -2.9, 0.0, 1.4, 0.0 }; it will cause collision between panda_hand and panda_link1, but I can't get a result like: ros.moveit_tutorials: Test 5: Current state is in self collision

Your environment

  • ROS Distro: noetic
  • OS Version: Ubuntu 20.04
  • Source or Binary build?
  • binary: noetic

Steps to reproduce

run code: roslaunch moveit_tutorials planning_scene_tutorial.launch

Expected behaviour

ros.moveit_tutorials: Test 1: Current state is not in self collision
ros.moveit_tutorials: Test 2: Current state is not in self collision
ros.moveit_tutorials: Test 3: Current state is not in self collision
ros.moveit_tutorials: Test 4: Current state is valid
ros.moveit_tutorials: Test 5: Current state is in self collision
ros.moveit_tutorials: Contact between: panda_leftfinger and panda_link1
ros.moveit_tutorials: Contact between: panda_link1 and panda_rightfinger
ros.moveit_tutorials: Test 6: Current state is not in self collision
ros.moveit_tutorials: Test 7: Current state is not in self collision
ros.moveit_tutorials: Test 8: Random state is not constrained
ros.moveit_tutorials: Test 9: Random state is not constrained
ros.moveit_tutorials: Test 10: Random state is not constrained
ros.moveit_tutorials: Test 11: Random state is feasible
ros.moveit_tutorials: Test 12: Random state is not valid

Backtrace or Console output

[ INFO] [1681115621.534864854]: Loading robot model 'panda'...
[ INFO] [1681115621.563244509]: Test 1: Current state is not in self collision
[ INFO] [1681115621.563491164]: Test 2: Current state is not in self collision
[ INFO] [1681115621.563564121]: Test 3: Current state is not in self collision
[ INFO] [1681115621.563575475]: Test 4: Current state is valid
[ INFO] [1681115621.563646603]: Test 5: Current state is not in self collision
[ INFO] [1681115621.563733357]: Test 6: Current state is not in self collision
[ INFO] [1681115621.563794649]: Test 7: Current state is not in self collision
[ INFO] [1681115621.563900628]: Test 8: Random state is not constrained
[ INFO] [1681115621.563918051]: Test 9: Random state is not constrained
[ INFO] [1681115621.563925184]: Test 10: Random state is not constrained
[ INFO] [1681115621.563933467]: Test 11: Random state is feasible
[ INFO] [1681115621.564040858]: Test 12: Random state is not valid

planning_scene.checkSelfCollision() can't check the collision between "panda_hand" and "panda";

When I modify the planning_scene_tutorial.cpp line 132 from: collision_request.group_name = "panda_hand"; to: collision_request.group_name = "hand"; I get the output:

[ INFO] [1681117062.724151205]: Loading robot model 'panda'...
[ INFO] [1681117062.750503109]: Test 1: Current state is not in self collision
[ INFO] [1681117062.750633888]: Test 2: Current state is not in self collision
[ INFO] [1681117062.750693233]: Test 3: Current state is not in self collision
[ INFO] [1681117062.750701906]: Test 4: Current state is valid
[ INFO] [1681117062.750870107]: Test 5: Current state is in self collision
[ INFO] [1681117062.750876436]: Contact between: panda_hand_sc and panda_link1_sc
[ INFO] [1681117062.750880993]: Contact between: panda_hand_sc and panda_link2_sc
[ INFO] [1681117062.750995770]: Test 6: Current state is not in self collision
[ INFO] [1681117062.751060956]: Test 7: Current state is not in self collision
[ INFO] [1681117062.751139760]: Test 8: Random state is not constrained
[ INFO] [1681117062.751153857]: Test 9: Random state is not constrained
[ INFO] [1681117062.751159856]: Test 10: Random state is not constrained
[ INFO] [1681117062.751167032]: Test 11: Random state is feasible
[ INFO] [1681117062.751253498]: Test 12: Random state is not valid

I don't what happened why collision can't be checked when collision_request.group_name = "panda_hand",and why it can checked when collision_request.group_name = "hand"? why the output is :

Contact between: panda_hand_sc and panda_link1_sc
Contact between: panda_hand_sc and panda_link2_sc

not:

ros.moveit_tutorials: Contact between: panda_leftfinger and panda_link1
ros.moveit_tutorials: Contact between: panda_link1 and panda_rightfinger

I'm so sure there is no collision in panda_link2

thank you.

Siva552 avatar Apr 10 '23 09:04 Siva552

Thanks for reporting an issue. Because we're a volunteer community, providing a pull request with suggested changes is always welcomed.

welcome[bot] avatar Apr 10 '23 09:04 welcome[bot]