ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
Here is an example of how to use path constraints (here orientation constraints) with Moveit in Python:
def init_upright_path_constraints(self,pose):
self.upright_constraints = Constraints()
self.upright_constraints.name = "upright"
orientation_constraint = OrientationConstraint()
orientation_constraint.header = pose.header
orientation_constraint.link_name = self.arm.get_end_effector_link()
orientation_constraint.orientation = pose.pose.orientation
orientation_constraint.absolute_x_axis_tolerance = 0.4
orientation_constraint.absolute_y_axis_tolerance = 0.4
orientation_constraint.absolute_z_axis_tolerance = 0.4
#orientation_constraint.absolute_z_axis_tolerance = 3.14 #ignore this axis
orientation_constraint.weight = 1
self.upright_constraints.orientation_constraints.append(orientation_constraint)
def enable_upright_path_constraints(self):
self.arm.set_path_constraints(self.upright_constraints)
def disable_upright_path_constraints(self):
self.arm.set_path_constraints(None)
2 | No.2 Revision |
Here is an example of how to use path constraints (here orientation constraints) with Moveit in Python:
from moveit_msgs.msg import RobotState, Constraints, OrientationConstraint
def init_upright_path_constraints(self,pose):
self.upright_constraints = Constraints()
self.upright_constraints.name = "upright"
orientation_constraint = OrientationConstraint()
orientation_constraint.header = pose.header
orientation_constraint.link_name = self.arm.get_end_effector_link()
orientation_constraint.orientation = pose.pose.orientation
orientation_constraint.absolute_x_axis_tolerance = 0.4
orientation_constraint.absolute_y_axis_tolerance = 0.4
orientation_constraint.absolute_z_axis_tolerance = 0.4
#orientation_constraint.absolute_z_axis_tolerance = 3.14 #ignore this axis
orientation_constraint.weight = 1
self.upright_constraints.orientation_constraints.append(orientation_constraint)
def enable_upright_path_constraints(self):
self.arm.set_path_constraints(self.upright_constraints)
def disable_upright_path_constraints(self):
self.arm.set_path_constraints(None)