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

Getting an unexpected result when running the planning_scene_tutorial #769

Open
Siva552 opened this issue Apr 10, 2023 · 1 comment
Open

Comments

@Siva552
Copy link

Siva552 commented Apr 10, 2023

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.

@welcome
Copy link

welcome bot commented Apr 10, 2023

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

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

No branches or pull requests

1 participant