Moveit Attached Object Unstable Collision Detection in Pick and Place
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:
Screen of 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:
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.
Can you add the source code you're using for this. It's possible there maybe a clue in there.
Hi @PeteBlackerThe3rd , do you mean link text , or something extra?
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.
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?