Moveit Attached Object Unstable Collision Detection in Pick and Place

asked 2019-07-11 07:10:19 -0500

Kir_Sum gravatar image

updated 2019-07-15 01:32:39 -0500

Hi. I am trying to use pick place algo from the Moveit tutorial with my model of testing crane. ROS melodic on windows 10.

My issue is, that the attached object "sometimes" collides with the collision objects of the scene. At the same time attached object does not collide with the crane and crane links do not collide with collision objects. Usually first attempt works fine. Crane picks the object, attach it, moves it, place it, deattach it. Both Crane and visualizer of the planned path have the attached object in purple.

Then, I delete all the collision object in the scene and try again. At the second attempt(or third/fourth) it does the same, but visualizer of planning path does not have the purple attached object, while the crane has. And so the path is constructed in such way, that attached object collides with collision objects. After several iterations it could start working fine with the attached object for one-two attempts and then "brake" again. Remark: end-effector (crane_hand) is attached to the link of the crane_arm with geometry. Screen of "good" behavior: crane good behavior

Screen of bad behavior: crane bad behavior

When I added the same modifications to Moveit pick and place tutorial(added more collision object, made attached object longer, recreate collision object scene) with panda robot, the attached object was always escaping collisions. Also planning path visualizer always has the purple attached object. Panda example always works good: panda good behavior

Catkin workspace with crane description and pick place code is here: https://github.com/KirillSum/crane_ws

To reproduce the behavior:

roslaunch crane_config demo.launch

and in other cmd

rosrun pick_place pick_place

I would appreciate any suggestions and tips of how to make attached object behavior consistent.

edit retag flag offensive close merge delete

Comments

Can you add the source code you're using for this. It's possible there maybe a clue in there.

PeteBlackerThe3rd gravatar imagePeteBlackerThe3rd ( 2019-07-15 05:42:08 -0500 )edit

Hi @PeteBlackerThe3rd , do you mean link text , or something extra?

Kir_Sum gravatar imageKir_Sum ( 2019-07-15 06:06:01 -0500 )edit

I work with @Kir_Sum , and figured out that it works if you replace the continuous joints with revolute joints, but I have no idea why. This is of course not ideal, but the program seems to fail when the continuous joints are at -PI.

Odin gravatar imageOdin ( 2019-07-17 03:02:06 -0500 )edit

This sounds a lot like a potential bug in this case. Are you able to create a minimal reproducible example and submit an issue to moveit?

PeteBlackerThe3rd gravatar imagePeteBlackerThe3rd ( 2019-07-17 03:50:44 -0500 )edit