Exemples: Repères dynamiques

Ce document montre comment utiliser les repères dynamiques

Si vous voulez en savoir plus sur les fonctions des repères dynamiques, vous pouvez regarder PyNiryo - Frames

Danger

Si vous utilisez un robot réel, assurez vous que son environnement est sans obstacles

Contrôle simple des repères dynamiques

Cet exemple montre comment créer un repère et effectuer un petit pick & place dans ce repère:

from pyniryo2 import *

robot_ip_address = "192.168.1.91"
gripper_speed = 400


if __name__ == '__main__':
    robot = NiryoRobot(robot_ip_address)

    # Create frame
    point_o = [0.15, 0.15, 0]
    point_x = [0.25, 0.2, 0]
    point_y = [0.2, 0.25, 0]

    robot.frames.save_dynamic_frame_from_points("dynamic_frame", "description", point_o, point_x, point_y)

    # Get list of frames
    print(robot.frames.get_saved_dynamic_frame_list())
    # Check creation of the frame
    info = robot.frames.get_saved_dynamic_frame("dynamic_frame")
    print(info)

    # Pick
    robot.tool.update_tool()
    robot.tool.open_gripper(gripper_speed)
    # Move to the frame
    initial_pose = PoseObject(0, 0, 0, 0, 1.57, 0)
    robot.arm.move_pose(initial_pose, "dynamic_frame")
    robot.tool.close_gripper(gripper_speed)

    # Move in frame
    robot.arm.move_linear_relative([0, 0, 0.1, 0, 0, 0], "dynamic_frame")
    robot.arm.move_relative([0.1, 0, 0, 0, 0, 0], "dynamic_frame")
    robot.arm.move_linear_relative([0, 0, -0.1, 0, 0, 0], "dynamic_frame")

    # Place
    robot.tool.open_gripper(gripper_speed)
    robot.arm.move_linear_relative([0, 0, 0.1, 0, 0, 0], "dynamic_frame")

    # Home
    robot.arm.move_joints([0, 0.5, -1.25, 0, 0, 0])

    # Delete frame
    robot.frames.delete_saved_dynamic_frame("dynamic_frame")

    robot.end()