Invalid starting pose moveit leads to failure of execution

asked 2020-05-23 03:40:09 -0500

ThreeForElvenKings gravatar image

updated 2020-05-23 08:22:34 -0500

Hello. I have a gripper attached to arm, that I am simulating in Gazebo, and manipulating using moveit. While trying out various movements in moveit! the execution fails in a few situations.

I noticed something bizarre, when I was digging deep into what could be the error. Here is a screenshot of my setup.

C:\fakepath\Screenshot from 2020-05-23 13-35-52.png

As you can see, I have two move groups, one for the arm and one for the gripper. The gripper is an effort_controller while the arm is a position_controller.

Upon executing a random motion to a valid state, here is the output.

C:\fakepath\Screenshot from 2020-05-23 13-37-18.png

As you can see, the arm has moved to the desired location. However, the problem lies in the gripper position. The gripper in grey is the current location, while the gripper highlighted in orange is that the moveit thinks is the location of the gripper. Due to this, when I give a command to close the gripper, it fails since goal tolerance is violated.

My question is, why are the joint states not relayed back to the moveit commander. (which I think is the issue). What can I do to fix this problem?

It is merely not a GUI problem, i.e. if I try the same using python scripts to command the controllers, I am stuck with the same situation.

Any help would be appreciated!

Edit1 : My gripper is a prismatic joint, and I notice that with any movement to the arm, this prismatic joint also moves,i.e. when the arm is displaced to some location, the gripper fingers also seem move (with the finger coming to the middle and the right one moving to the far right, or vice versa) Could someone explain this phenomenon as well?

edit retag flag offensive close merge delete