-
Notifications
You must be signed in to change notification settings - Fork 12
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
Limit tool point windup for pick points with symmetry #79
Comments
May be related to #77 |
Hi @shaun-edwards, This involves generating and comparing multiple IK solutions. Trac_IK can do this implicitly by using the Basic pick capabilities are provided by the grasp generator framework moveit_grasps. The framework computes randomized grasp motions and scores the results for certain geometric measures taking into account an ideal pick orientation. Solutions that cause windup can be filtered from the result set or could be disabled by applying mentioned IK solvers. For a valid pick joint state the place state can be computed using the same IK solver as well. Of course the pick needs to be rejected if no valid place is possible. |
@henningkayser, I appreciate the pointers to the MoveIt libraries that support pick and place applications.
Based on our conversation last week, I think we agreed that we would use the optimizing IK solver to select a pick point that "minimized" the potential wind-up. The only open question was how this work integrated with #77. The simple, but perhaps wrong, answer is that we use the solution to this issue to generate the joint point for the "pick" grasp. The downside to this approach is that the orientation of the actual pick relative to the picked item is not obvious...please correct me if I am wrong. |
As it's still in development there can and will probably be some API changes in the future.
We've recently added support for suction grippers and already applied it in other projects.
This is definitely a good place to start! I will prepare a setup using BioIK. Alternatively, we could also try and implement a version that uses rejection sampling and a "normal" IK solver.
I'm not sure I understand this correctly. I would say that we have to compute the pick pose and joint state and then run a (constrained) planner to reach that target. It's also not a problem to determine the relative orientation between object and gripper. The only challenge I see is that we would have to reject some pick solutions depending on what constraints should be used for planning. For instance if we want to implement some "elbow up" constraint then we need to apply the same constraint for grasping. |
I don't think this is any less stable than all of MoveIt, in the sense that we are always aiming to make the project better. Considering they published a paper on the MTC, I'd say its pretty usable. I've addressed your concerns with a fix to the README Henning's other responses make sense to me, here. |
In a pick and place application, the pick point orientation and place orientation (at least relative to the pick) are often very important. In some cases, the pick orientation can cause the robot to windup it's wrist joints. This slows down motion and can cause problems with cables or hoses. In cases where the pick point has some symmetry this windup is completely unnecessary. All that is required is that the place orientation is correctly calculated relative to the pick in such a way that the place orientation is correct. Below are some use cases that illustrate the requirements:
The text was updated successfully, but these errors were encountered: