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()