def __init__(self):
        roscpp_initialize(sys.argv)
        rospy.init_node('ur3_move', anonymous=True)

        rospy.Subscriber('camera/depth_registered/points', PointCloud2, point_callback)
        rospy.Subscriber('darknet_ros/bounding_boxes', BoundingBoxes, bbox_callback)

        freq = 30
        rate = rospy.Rate(freq)

        display_trajectory_publisher = rospy.Publisher('/move_group/display_planned_path', moveit_msgs.msg.DisplayTrajectory,queue_size=20)

        self.ii = 0

        # self.listener = tf.TransformListener()
        self.goal_x = 0
        self.goal_y = 0 
        self.goal_z = 0

        self.goal_ori_x = 0
        self.goal_ori_y = 0
        self.goal_ori_z = 0
        self.goal_ori_w = 0

        self.marker = []
        self.position_list = []
        self.orientation_list = []

        self.m_idd = 0
        self.m_pose_x = []
        self.m_pose_y = []
        self.m_pose_z = []
        self.m_ori_w = []
        self.m_ori_x = []
        self.m_ori_y = []
        self.m_ori_z = []
        
        self.br = tf.TransformBroadcaster()

        self.target_ar_id = 9

        self.calculed_tomato = Pose()

        self.clear_octomap = rospy.ServiceProxy("/clear_octomap", Empty)

        self.scene = PlanningSceneInterface()
        self.robot_cmd = RobotCommander()

        self.robot_arm = MoveGroupCommander(GROUP_NAME_ARM)
        self.robot_arm.set_goal_orientation_tolerance(0.005)
        self.robot_arm.set_planning_time(5)
        self.robot_arm.set_num_planning_attempts(5)

        self.display_trajectory_publisher = display_trajectory_publisher

        rospy.sleep(2)
        # Allow replanning to increase the odds of a solution
        self.robot_arm.allow_replanning(True)

        self.clear_octomap()
Ejemplo n.º 2
0
    def __init__(self):
        moveit_commander.roscpp_initialize(sys.argv)
        self.scene = PlanningSceneInterface()
        self.robot = RobotCommander()
        self.jaco_arm = MoveGroupCommander("Arm")
        self.hand = MoveGroupCommander("Hand")
        self.pose_pub = rospy.Publisher("hand_pose",
                                        PoseStamped,
                                        queue_size=100)

        self.pick_command = rospy.Publisher("pick_command",
                                            Bool,
                                            queue_size=100)
        rospy.Subscriber("pick_pose", PoseStamped, self.pick)
        self.jaco_arm.allow_replanning(True)
        self.jaco_arm.set_planning_time(5)
        self.jaco_arm.set_goal_tolerance(0.02)
        self.jaco_arm.set_goal_orientation_tolerance(0.1)

        self.place_pose = PoseStamped()
        self.place_pose.header.frame_id = 'arm_stand'
        self.place_pose.pose.position.x = 0.4
        self.place_pose.pose.position.y = 0.4
        self.place_pose.pose.position.z = -0.4
        self.place_pose.pose.orientation = Quaternion(0.606301648371,
                                                      0.599731279995,
                                                      0.381153346104,
                                                      0.356991358063)
        self.orient = [
            2.042967990797618, -0.03399658412747265, 1.5807131823846676
        ]
        self.result = False
Ejemplo n.º 3
0
def move_arm():
    # plan to a random location
    group = moveit_commander.MoveGroupCommander("arm")
    robot = RobotCommander()
    a = robot.arm

    a.set_start_state(RobotState())
    p = a.plan([0, 0])
    print "Solution:"
    print p
    a.execute(p)
    rospy.sleep(10)

    a.set_start_state(RobotState())
    p = a.plan([1.57, -1.57])
    print "Solution:"
    print p
    a.execute(p)
    rospy.sleep(10)

    a.set_start_state(RobotState())
    p = a.plan([3.14, 3.14])
    print "Solution:"
    print p
    a.execute(p)
    rospy.sleep(10)

    moveit_commander.roscpp_shutdown()

    print "Finishing"
Ejemplo n.º 4
0
    def __init__(self):
        self._scene = PlanningSceneInterface()

        # clear the scene
        self._scene.remove_world_object()

        self.robot = RobotCommander()

        # pause to wait for rviz to load
        rospy.sleep(4)

        floor_pose = [0, 0, -0.12, 0, 0, 0, 1]
        floor_dimensions = [4, 4, 0.02]

        box1_pose = [0.70, 0.70, 0.25, 0, 0, 0, 1]
        box1_dimensions = [0.5, 0.5, 0.5]

        box2_pose = [0.5, -0.5, 0.60, 0, 0, 0, 1]
        box2_dimensions = [0.25, 0.25, 0.25]

        box3_pose = [0.5, -0.5, 0.24, 0, 0, 0, 1]
        box3_dimensions = [0.48, 0.48, 0.48]

        box4_pose = [-0.8, 0.7, 0.5, 0, 0, 0, 1]
        box4_dimensions = [0.4, 0.4, 0.4]

        self.add_box_object("floor", floor_dimensions, floor_pose)
        self.add_box_object("box1", box1_dimensions, box1_pose)
        self.add_box_object("box2", box2_dimensions, box2_pose)
        self.add_box_object("box3", box3_dimensions, box3_pose)
        self.add_box_object("box4", box4_dimensions, box4_pose)
    def __init__(self):
        roscpp_initialize(sys.argv)
        rospy.init_node('ur3_move', anonymous=True)

        self.scene = PlanningSceneInterface()
        self.robot_cmd = RobotCommander()

        self.robot_arm = MoveGroupCommander(GROUP_NAME_ARM)
        #robot_gripper = MoveGroupCommander(GROUP_NAME_GRIPPER)
        self.robot_arm.set_goal_orientation_tolerance(0.005)

        self.robot_arm.set_planning_time(5)
        self.robot_arm.set_num_planning_attempts(5)

        self.robot_arm.remember_joint_values("zeros", None)

        rospy.sleep(2)
        # Allow replanning to increase the odds of a solution
        #self.robot_arm.allow_replanning(True)

        #scene = moveit_commander.PlanningSceneInterface()
        #robot = moveit_commander.RobotCommander()

        #rospy.sleep(2)

        #add Table

        p = PoseStamped()
        p.header.frame_id = FIXED_FRAME
        p.pose.position.x = 0.0
        p.pose.position.y = 0.2
        p.pose.position.z = 0.1
        self.scene.add_box("table", p, (0.3, 0.3, 0.3))
Ejemplo n.º 6
0
def main(argv):
    rospy.init_node("Table_mesh_inserter")

    scene = PlanningSceneInterface()
    robot = RobotCommander()

    while (scene._pub_co.get_num_connections() < 1):
        pass

    quaternion = tf.transformations.quaternion_from_euler(0.0, 0.0, 0.0)

    p = PoseStamped()
    p.header.frame_id = robot.get_planning_frame()
    p.pose.position.x = 0.3250
    p.pose.position.y = 0.4250
    p.pose.position.z = -0.540
    p.pose.orientation.x = quaternion[0]
    p.pose.orientation.y = quaternion[1]
    p.pose.orientation.z = quaternion[2]
    p.pose.orientation.w = quaternion[3]
    scene.add_box("table", p, (1.2, 1.2, 1.05))

    p.pose.position.x = 0.0
    p.pose.position.y = 0.0
    p.pose.position.z = -0.0075
    scene.add_box("plate", p, (0.25, 0.25, 0.015))

    while not rospy.is_shutdown():
        pass
Ejemplo n.º 7
0
def commander():
    global past_reads

    rospy.init_node('rubik_camera', anonymous=True)
    rospy.Subscriber("/usb_cam/image_raw", Image, callback)
    pub = rospy.Publisher("cube_configuration", String, queue_size=1)

    # Gets a handle on the robot that MoveIt is controlling
    robot = RobotCommander()
    rospy.sleep(1)

    # Picks a group called "manipulator" to work with #
    arm = robot.get_group("manipulator")
    arm.set_max_velocity_scaling_factor(1.0)
    arm.set_goal_position_tolerance(0.0001)
    arm.set_goal_orientation_tolerance(0.005)

    go_home(arm)
    pick_rubik(arm, robot, "right")
    go_home(arm)
    for i in range(5):
        read(arm, i)
    go_home(arm)
    place_rubik(arm, robot, "right")
    go_home(arm)
    pick_rubik(arm, robot, "left")
    go_home(arm)
    for i in range(5):
        read(arm, i)
    go_home(arm)
    place_rubik(arm, robot, "left")
    go_home(arm)
    print(str(past_reads))
    pub.publish(reads_to_cube())
    rospy.sleep(1)
Ejemplo n.º 8
0
    def _init_planning(self):
        """
        Initialises the needed connections for the planning.
        """

        self.group_id = self._annotations["group_id"]
        self.planners = self._annotations["planners"]
        self.scene = PlanningSceneInterface()
        self.robot = RobotCommander()
        self.group = MoveGroupCommander(self.group_id)
        self._marker_pub = rospy.Publisher('/visualization_marker_array',
                                           MarkerArray,
                                           queue_size=10,
                                           latch=True)
        self._planning_time_sub = rospy.Subscriber(
            '/move_group/result', MoveGroupActionResult,
            self._check_computation_time)
        rospy.sleep(1)

        self.group.set_num_planning_attempts(
            self._annotations["planning_attempts"])

        self.group.set_goal_tolerance(self._annotations["goal_tolerance"])
        self.group.set_planning_time(self._annotations["planning_time"])
        self.group.allow_replanning(self._annotations["allow_replanning"])

        self._comp_time = []

        self.planner_data = []
Ejemplo n.º 9
0
def callback(states):
    scene = PlanningSceneInterface()
    robot = RobotCommander()
    arm = MoveGroupCommander("manipulator")
    arm.set_planner_id("RRTConnectkConfigDefault")
    arm.set_num_planning_attempts(20)
    arm.allow_replanning(True)
    pose = copy.deepcopy(states.pose[-1])
    temp = tf.transformations.euler_from_quaternion(
        (pose.orientation.x, pose.orientation.y, pose.orientation.z,
         pose.orientation.w))
    quaternion = tf.transformations.quaternion_from_euler(
        math.pi, temp[1], temp[2])
    pose.position.z += 0.22
    pose.orientation.x = quaternion[0]
    pose.orientation.y = quaternion[1]
    pose.orientation.z = quaternion[2]
    pose.orientation.w = quaternion[3]
    print pose
    arm.set_pose_target(pose)
    move_plan = arm.plan()
    i = 0
    while (not move_plan.joint_trajectory.joint_names):
        move_plan = arm.plan()
        i += 1
        if (i == 5): break
    state = arm.execute(move_plan)
Ejemplo n.º 10
0
    def __init__(self):
        roscpp_initialize(sys.argv)        
        rospy.init_node('ur3_move',anonymous=True)

        self.clear_octomap = rospy.ServiceProxy("/clear_octomap", Empty)

        self.scene = PlanningSceneInterface()
        self.robot_cmd = RobotCommander()

        self.robot_arm = MoveGroupCommander(GROUP_NAME_ARM)
        #robot_gripper = MoveGroupCommander(GROUP_NAME_GRIPPER)
        self.robot_arm.set_goal_orientation_tolerance(0.005)
        self.robot_arm.set_planning_time(5)
        self.robot_arm.set_num_planning_attempts(5)

        rospy.sleep(2)
        # Allow replanning to increase the odds of a solution
        self.robot_arm.allow_replanning(True)      
        
        init_table_goal = self.robot_arm.get_current_joint_values()
        init_table_goal[0] = 0.2
        init_table_goal[1] = -1.983025375996725
        init_table_goal[2] = -2.4233086744891565
        init_table_goal[3] = 0.9490636587142944
        init_table_goal[4] = 1.4068996906280518
        init_table_goal[5] = -3.060608450566427
        self.robot_arm.go(init_table_goal, wait=True)
        rospy.sleep(0.5)
        
        self.clear_octomap()
        print("====== move plan go to init table goal ======")   
Ejemplo n.º 11
0
    def __init__(self):
        self._scene = PlanningSceneInterface()
        self.robot = RobotCommander()

        # pause to wait for rviz to load
        rospy.sleep(4)

        self.first_stamp = None
        self.cloud_pub = rospy.Publisher('/camera/depth_registered/points',
                                         PointCloud2,
                                         queue_size=20,
                                         latch=True)
        self.cloud_sub = rospy.Subscriber(
            '/camera/depth_registered/points_old', PointCloud2, self.msg_cb)

        # clear the scene
        self._scene.remove_world_object()

        # add floor object
        floor_pose = [0, 0, -0.12, 0, 0, 0, 1]
        floor_dimensions = [4, 4, 0.02]
        self.add_box_object("floor", floor_dimensions, floor_pose)

        # add collision objects
        self._kinect_pose_1 = [0.0, 0.815, 0.665, 0, -0.707, 0.707, 0]

        # stream the kinect tf
        kinect_cloud_topic = "kinect2_rgb_optical_frame"
        thread.start_new_thread(self.spin, (kinect_cloud_topic, ))
Ejemplo n.º 12
0
    def __init__(self):
        roscpp_initialize(sys.argv)
        rospy.init_node('ur3_move', anonymous=True)
        self.goal_x = 0
        self.goal_y = 0
        self.goal_z = 0

        #rospy.loginfo("Waiting for ar_pose_marker topic...")
        #rospy.wait_for_message('ar_pose_marker', AlvarMarkers)

        #rospy.Subscriber('ar_pose_marker', AlvarMarkers, self.ar_callback)
        #rospy.loginfo("Maker messages detected. Starting followers...")

        self.clear_octomap = rospy.ServiceProxy("/clear_octomap", Empty)

        self.scene = PlanningSceneInterface()
        self.robot_cmd = RobotCommander()

        self.robot_arm = MoveGroupCommander(GROUP_NAME_ARM)
        #robot_gripper = MoveGroupCommander(GROUP_NAME_GRIPPER)
        self.robot_arm.set_goal_orientation_tolerance(0.005)
        self.robot_arm.set_planning_time(5)
        self.robot_arm.set_num_planning_attempts(5)

        rospy.sleep(2)
        # Allow replanning to increase the odds of a solution
        self.robot_arm.allow_replanning(True)
Ejemplo n.º 13
0
    def __init__(self):
        moveit_commander.roscpp_initialize(sys.argv)
        self.scene = PlanningSceneInterface()
        self.robot = RobotCommander()
        self.ur5 = MoveGroupCommander("manipulator")
        self.gripper = MoveGroupCommander("end_effector")
        print("======================================================")
        print(self.robot.get_group_names())
        print(self.robot.get_link_names())
        print(self.robot.get_joint_names())
        print(self.robot.get_planning_frame())
        print(self.ur5.get_end_effector_link())
        print("======================================================")
        self.ur5.set_max_velocity_scaling_factor(0.2)
        self.ur5.set_max_acceleration_scaling_factor(0.2)
        self.ur5.set_end_effector_link("fts_toolside")
        self.ur5.set_planning_time(10.0)
        #self.ur5.set_planner_id("RRTkConfigDefault")
        self.gripper_ac = RobotiqActionClient('icl_phri_gripper/gripper_controller')
        self.gripper_ac.wait_for_server()
        self.gripper_ac.initiate()
        self.gripper_ac.send_goal(0.08)
        self.gripper_ac.wait_for_result()

        self.sub = rospy.Subscriber('/target_position', Int32MultiArray, self.pickplace_cb)
Ejemplo n.º 14
0
def get_group_for_joint(joint_names, robot=None, smallest=False, groups=None):
    """Given list of joints find the most appropriate group.

    INPUT
        link_ids            [List of Strings]
        robot               [RobotCommander]
        smallest            [Bool]

    OUTPUT
        group               [String]
    """
    if not robot:
        robot = RobotCommander()

    if not groups:
        groups = robot.get_group_names()

    group = None
    n = np.Inf if smallest else 0
    for g in groups:
        names = robot.get_joint_names(g)
        if all_in(joint_names, names):
            if smallest and len(names) < n:
                n = len(names)
                group = g
            elif len(names) > n:
                n = len(names)
                group = g
    return group
Ejemplo n.º 15
0
    def __init__(self):
        allowed_planning_time = 0.0
        ARM_AND_LINEAR_GROUP_NAME = "arm_and_linear"
        ARM_GROUP_NAME = "arm_torso"
        GRIPPER_GROUP = "gripper"

        REFERENCE_FRAME = "base_link"

        PLANNER = "RRTConnectkConfigDefault"
        #PLANNER = "RRTstarkConfigDefault"

        MOVE_GROUP_SERVICE = "/move_group/plan_execution/set_parameters"

        result = False
        upright_constraints = None
        robot = None
        arm = None
        arm_and_linear = None
        database = None
        scene = None
        grasp_generator = None
        place_generator = None
        marker_publisher = None

        self.robot = RobotCommander()
        self.arm = self.robot.get_group("arm_torso")
        self.gripper = self.robot.get_group(GRIPPER_GROUP)
        self.scene = PlanningSceneInterface()

        self.pickup_object = RecognizedObject("part")
        self.table = EntityInfo()
    def __init__(self):
        # Retrieve params:
        self._table_object_name = rospy.get_param('~table_object_name',
                                                  'Grasp_Table')
        self._grasp_object_name = rospy.get_param('~grasp_object_name',
                                                  'Grasp_Object')

        self._grasp_object_width = rospy.get_param('~grasp_object_width', 0.01)

        self._arm_group = rospy.get_param('~manipulator', 'manipulator')
        self._gripper_group = rospy.get_param('~gripper', 'gripper')

        self._approach_retreat_desired_dist = rospy.get_param(
            '~approach_retreat_desired_dist', 0.2)
        self._approach_retreat_min_dist = rospy.get_param(
            '~approach_retreat_min_dist', 0.1)

        # Create (debugging) publishers:
        self._grasps_pub = rospy.Publisher('grasps',
                                           PoseArray,
                                           queue_size=1,
                                           latch=True)
        self._places_pub = rospy.Publisher('places',
                                           PoseArray,
                                           queue_size=1,
                                           latch=True)

        # Create planning scene and robot commander:
        self._scene = PlanningSceneInterface()
        self._robot = RobotCommander()

        # Retrieve groups (arm and gripper):
        self._arm = self._robot.get_group(self._arm_group)
        self._gripper = self._robot.get_group(self._gripper_group)

        rospy.sleep(1.0)

        # self.setup()
        # Clean the scene:
        self._scene.remove_world_object(self._table_object_name)
        self._scene.remove_world_object(self._grasp_object_name)

        # Add table and Coke can objects to the planning scene:
        self._pose_table = self._add_table(self._table_object_name)
        rospy.loginfo("added table")
        rospy.sleep(2.0)
        self._pose_coke_can = self._add_grasp_block_(self._grasp_object_name)
        rospy.loginfo("added grasping box")
        rospy.sleep(1.0)

        # Define target place pose:
        self._pose_place = Pose()

        self._pose_place.position.x = self._pose_coke_can.position.x
        self._pose_place.position.y = self._pose_coke_can.position.y - 0.06
        self._pose_place.position.z = self._pose_coke_can.position.z

        self._pose_place.orientation = Quaternion(
            *quaternion_from_euler(0.0, 0.0, 0.0))
Ejemplo n.º 17
0
 def __init__(self):
     roscpp_initialize([])
     rospy.sleep(8)
     # TO-DO: wait for moveit.
     self.listener = tf.TransformListener()
     self.robot = RobotCommander()
     self.init_planner()
     self.gripper_dimensions = [0.02, 0.02, 0.02]
Ejemplo n.º 18
0
 def init_arm(self, num_planning_attempts=20):
     self.arm = MoveGroupCommander("arm")
     self.gripper = MoveGroupCommander("gripper")
     self.robot = RobotCommander()
     self.arm.set_num_planning_attempts(num_planning_attempts)
     self.arm.set_goal_tolerance(0.2)
     self.init_services()
     self.init_action_servers()
def get_current_state():
    # Prepare a new state object for validity check
    rs = RobotState()
    robot = RobotCommander()
    robot_state = robot.get_current_state()
    rs.joint_state.name = robot_state.joint_state.name
    rs.joint_state.position = list(robot_state.joint_state.position) # filler for rest of the joint angles not found in waypoint
    return rs
def initialize_environment():
    # Initialize environment
    rospy.init_node('Baxter_Env')
    robot = RobotCommander()
    scene = PlanningSceneInterface()
    scene._scene_pub = rospy.Publisher('planning_scene', PlanningScene, queue_size=0)
    rospy.sleep(2)
    return scene, robot
Ejemplo n.º 21
0
    def setUp(self):
        self.robot = RobotCommander()

        self.bounds = list()
        for name in self.robot.get_joint_names():
            joint = self.robot.get_joint(name)
            bounds = joint.bounds()
            if bounds:
                self.bounds.append((name, bounds))
Ejemplo n.º 22
0
	def __init__(self):
		self.scene = PlanningSceneInterface()
		self.robot = RobotCommander()
		self.p = PoseStamped()
		self.scene_srv = rospy.ServiceProxy('/get_planning_scene', GetPlanningScene)
		rospy.loginfo("Connecting to clear octomap service...")
		self.clear_octomap_srv = rospy.ServiceProxy('/clear_octomap', Empty)
		self.clear_octomap_srv.wait_for_service()
		rospy.loginfo("Connected!")
Ejemplo n.º 23
0
 def init_scene(self):
     world_objects = [
         "table", "tui", "monitor", "overHead", "wall", "farWall",
         "frontWall", "backWall", "blockProtector", "rearCamera"
     ]
     self.robot = RobotCommander()
     self.scene = PlanningSceneInterface()
     for obj in world_objects:
         self.scene.remove_world_object(obj)
     rospy.sleep(0.5)
     self.tuiPose = PoseStamped()
     self.tuiPose.header.frame_id = self.robot.get_planning_frame()
     self.tuiPose.pose.position = Point(0.0056, -0.343, -0.51)
     self.tuiDimension = (0.9906, 0.8382, 0.8836)
     self.overHeadPose = PoseStamped()
     self.overHeadPose.header.frame_id = self.robot.get_planning_frame()
     self.overHeadPose.pose.position = Point(0.0056, 0.0, 0.97)
     self.overHeadDimension = (0.9906, 0.8382, 0.05)
     self.blockProtectorPose = PoseStamped()
     self.blockProtectorPose.header.frame_id = self.robot.get_planning_frame(
     )
     self.blockProtectorPose.pose.position = Point(
         0.0056, -0.343, -0.51 + self.cruising_height)
     self.blockProtectorDimension = (0.9906, 0.8382, 0.8636)
     self.wallPose = PoseStamped()
     self.wallPose.header.frame_id = self.robot.get_planning_frame()
     self.wallPose.pose.position = Point(-0.858, -0.343, -0.3048)
     self.wallDimension = (0.6096, 2, 1.35)
     self.farWallPose = PoseStamped()
     self.farWallPose.header.frame_id = self.robot.get_planning_frame()
     self.farWallPose.pose.position = Point(0.9, -0.343, -0.3048)
     self.farWallDimension = (0.6096, 2, 3.35)
     self.frontWallPose = PoseStamped()
     self.frontWallPose.header.frame_id = self.robot.get_planning_frame()
     self.frontWallPose.pose.position = Point(0.0056, -0.85, -0.51)
     self.frontWallDimension = (1, 0.15, 4)
     self.backWallPose = PoseStamped()
     self.backWallPose.header.frame_id = self.robot.get_planning_frame()
     self.backWallPose.pose.position = Point(0.0056, 0.55, -0.51)
     self.backWallDimension = (1, 0.005, 4)
     self.rearCameraPose = PoseStamped()
     self.rearCameraPose.header.frame_id = self.robot.get_planning_frame()
     self.rearCameraPose.pose.position = Point(0.65, 0.45, -0.51)
     self.rearCameraDimension = (0.5, 0.5, 2)
     rospy.sleep(0.5)
     self.scene.add_box("tui", self.tuiPose, self.tuiDimension)
     self.scene.add_box("wall", self.wallPose, self.wallDimension)
     self.scene.add_box("farWall", self.farWallPose, self.farWallDimension)
     self.scene.add_box("overHead", self.overHeadPose,
                        self.overHeadDimension)
     self.scene.add_box("backWall", self.backWallPose,
                        self.backWallDimension)
     self.scene.add_box("frontWall", self.frontWallPose,
                        self.frontWallDimension)
     self.scene.add_box("rearCamera", self.rearCameraPose,
                        self.rearCameraDimension)
Ejemplo n.º 24
0
 def __init__(self,
              scene=None,
              manip_name="manipulator",
              eef_name="endeffector"):
     self.robot = RobotCommander()
     self.man = MoveGroupCommander(manip_name)
     self.eef = MoveGroupCommander(eef_name)
     self.scene = scene
     self.target_poses = []
     self.picked = []
Ejemplo n.º 25
0
    def setUpClass(self):
        rospy.init_node('test_moveit_vs060')
        self.robot = RobotCommander()
        self._mvgroup = MoveGroupCommander(self._MOVEGROUP_MAIN)
        # Temporary workaround of planner's issue similar to https://github.com/tork-a/rtmros_nextage/issues/170
        self._mvgroup.set_planner_id(self._KINEMATICSOLVER_SAFE)

        self._movegroups = sorted(['manipulator', 'manipulator_flange'])
        self._joints_movegroup_main = sorted(
            ['j1', 'j2', 'j3', 'j4', 'j5', 'flange'])
Ejemplo n.º 26
0
 def __init__(self):
     self._gdict = {}
     self._group_name = ""
     self._prev_group_name = ""
     self._planning_scene_interface = PlanningSceneInterface()
     self._robot = RobotCommander()
     self._last_plan = None
     self._db_host = None
     self._db_port = 33829
     self._trace = False
Ejemplo n.º 27
0
    def __init__(self):
        roscpp_initialize(sys.argv)
        rospy.init_node('ur3_move', anonymous=True)

        self.detected = {}
        self.detected_names = rospy.get_param(
            '/darknet_ros/yolo_model/detection_classes/names')
        self.object_pose_sub = rospy.Subscriber(
            '/cluster_decomposer/centroid_pose_array', PoseArray,
            self.collectJsk)
        self.listener = tf.TransformListener()

        display_trajectory_publisher = rospy.Publisher(
            '/move_group/display_planned_path',
            moveit_msgs.msg.DisplayTrajectory,
            queue_size=20)

        self.ii = 0

        global goal_x
        global goal_y
        global goal_z

        global ori_w
        global ori_x
        global ori_y
        global ori_z

        self.distance = 0

        self.tomato = []
        self.position_list = []
        self.orientation_list = []

        self.tomato_pose = Pose()
        self.goalPoseFromTomato = Pose()
        self.br = tf.TransformBroadcaster()

        self.calculated_tomato = Pose()
        self.calculated_tomato_coor = Pose()

        self.scene = PlanningSceneInterface()
        self.robot_cmd = RobotCommander()

        self.robot_arm = MoveGroupCommander(GROUP_NAME_ARM)
        self.robot_arm.set_goal_orientation_tolerance(0.005)
        self.robot_arm.set_planning_time(10)
        self.robot_arm.set_num_planning_attempts(10)

        self.display_trajectory_publisher = display_trajectory_publisher

        rospy.sleep(2)

        # Allow replanning to increase the odds of a solution
        self.robot_arm.allow_replanning(True)
Ejemplo n.º 28
0
def print_joint_bounds(robot=None):
    if not robot:
        robot = RobotCommander()
    print 'NAME'.center(16), 'MIN'.center(10), 'MAX'.center(10)

    for name in robot.get_joint_names():
        joint = robot.get_joint(name)
        bounds = joint.bounds()

        if bounds:
            print '%15s % 10.3f % 10.3f' % (name, bounds[0], bounds[1])
    def __init__(self, group_name='arm_torso'):

        self.rate = rospy.Rate(10)

        self.robot = RobotCommander()
        rospy.sleep(1)

        self.move_group = MoveGroupCommander(group_name)

        self.velocity = Twist()
        self.velocity_publisher = rospy.Publisher(
            '/mobile_base_controller/cmd_vel', Twist, queue_size=10)
Ejemplo n.º 30
0
 def init_arm(self, num_planning_attempts=700):
     rospy.set_param(
         "/move_group/trajectory_execution/allowed_start_tolerance",
         self.START_TOLERANCE)
     self.arm = MoveGroupCommander("arm")
     self.gripper = MoveGroupCommander("gripper")
     self.robot = RobotCommander()
     self.arm.set_num_planning_attempts(num_planning_attempts)
     self.arm.set_goal_position_tolerance(self.GOAL_TOLERANCE)
     self.arm.set_goal_orientation_tolerance(0.02)
     self.init_services()
     self.init_action_servers()