Rosanswers logo


I am trying to make a pick and place application.
My goal is to move 4 boxes from one point to another.
while doing this I saw the boxes turn upside down and the arm carries the boxes with longer movements, sometimes it follows a nice path but sometimes it draws a longer path and turns the boxes upside down.
If I want to carry a tray, the glasses on the tray will spill.

Although I made the first joint and the last joint continuous, it was not solved, so I saw that the problem was not in the limit angles.

Here is a video explaining the situation.

Video (38sec)

Originally posted by omeranar1 on ROS Answers with karma: 31 on 2023-05-11

Post score: 0


1 Answer 1


Rosanswers logo

You should look into a move_group feature called "orientation constraint". The idea is that you add restrictions on the pose of a specific arm link relative to some frame.

This feature performs these extra checks on the solution proposed by the OMPL planner, and it rejects solutions which are not compatible. I have not tried to use this feature myself, but comments on this website say you may have to increase the amount of time allowed for planning for it to find a workable solution.

I believe you will specify your constraint using a moveit_msgs::OrientationConstraint object.

Update: I found https://moveit.ros.org/moveit/2020/09/10/ompl-constrained-planning-gsoc.html which looks like an improved implementation of certain OMPL planners. I don't know if this improvement has been merged to any ros release.

Originally posted by Mike Scheutzow with karma: 4903 on 2023-05-13

This answer was ACCEPTED on the original site

Post score: 1

Original comments

Comment by omeranar1 on 2023-05-16:
thank you so much, problem has been solved


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.