For a box picking task with moveit, I want to add an tilt to prevent losing the content of the Box. (Like moving a filled glass of water)
Therefore I added an OrientationConstraint in the Move Group Python Interface:
constraint = Constraints()
constraint.name = "tilt constraint"
tilt_constraint = OrientationConstraint()
# 'base_link' is equal to the world link
tilt_constraint.header = "base_link"
# The link that must be oriented upwards
tilt_constraint.link_name = "box_gripper_link"
tilt_constraint.orientation = Quaternion(0.0, 0.0, 0.0, 1.0)
# Allow rotation of 45 degrees around the x and y axis
tilt_constraint.absolute_x_axis_tolerance = pi / 4
tilt_constraint.absolute_y_axis_tolerance = pi / 4
# No constraint needed for the z axis
tilt_constraint.absolute_z_axis_tolerance = 2 * pi
# The tilt constraint is the only constraint
tilt_constraint.weight = 1
constraint.orientation_constraints = [tilt_constraint]
self.robot_controller.move_group.set_path_constraints(constraint)
My Problem here is, that the path planner is partly completely ignoring the constraint. I am also not sure whether radians are the unit of the axis_tolerance.
Any ideas what am I doing wrong, or where the mistake could be?
Thanks in advance.
↧