NiryoRobot
La classe NiryoRobot inclut les différentes APIs de la librairie PyNiryo2. Elle permet la connexion entre le programme et le robot en utilisant roslibpy. Cette interface facilite et centralise toutes les fonctions de contrôle de l’environnement Niryo et de ses produits.
NiryoRobot - Fonctions de contrôle
Cette section répertorie toutes les fonctions existantes du client du NiryoRobot
Se connecte à votre Ned
Se déconnecte de votre Ned
Attente
Accès à l’API PyNiryo2 entière
Toutes les fonctions pour contrôler le robot sont accessibles grâce à une instance de la classe NiryoRobot
robot = NiryoRobot(<robot_ip_address>)
robot.run("10.10.10.10")
robot.wait(2) # wait 2 seconds
robot.end()
Voir des exemples dans la Section Exemples
Liste des fonctions de sous-sections
Fonctions du NiryoRobot
- class NiryoRobot(ip_address='127.0.0.1', port=9090)[source]
Connecte votre robot à votre ordinateur:
robot_simulation = NiryoRobot("127.0.0.1") # Simulation robot_hotpot = NiryoRobot("10.10.10.10") # Hotspot robot_ethernet = NiryoRobot("169.254.200.201") # Ethernet
Propriétés du NiryoRobot
- class NiryoRobot(ip_address='127.0.0.1', port=9090)[source]
Connecte votre robot à votre ordinateur:
robot_simulation = NiryoRobot("127.0.0.1") # Simulation robot_hotpot = NiryoRobot("10.10.10.10") # Hotspot robot_ethernet = NiryoRobot("169.254.200.201") # Ethernet
- property arm
Accède à l’API du Bras
Exemple:
robot = NiryoRobot(<robot_ip_address>) robot.arm.calibrate_auto() robot.arm.move_joints([0.0, 0.0, 0.0, 0.0, 0.0, 0.0])
- Type renvoyé
- property conveyor
Accède à l’API du Convoyeur
Exemple:
robot = NiryoRobot(<robot_ip_address>) conveyor_id = robot.conveyor.set_conveyor() robot.conveyor.run_conveyor(conveyor_id)
- Type renvoyé
- property io
Accède à l’API des I/Os
Exemple:
robot = NiryoRobot(<robot_ip_address>) robot.io.set_pin_mode(PinID.GPIO_1A, PinMode.INPUT) robot.io.digital_write(PinID.GPIO_1A, PinState.HIGH)
- Type renvoyé
- property pick_place
Accède à l’API de Pick&Place
Exemple:
robot = NiryoRobot(<robot_ip_address>) robot.pick_place.pick_from_pose([0.2, 0.0, 0.1, 0.0, 1.57, 0.0]) robot.pick_place.place_from_pose([0.0, 0.2, 0.1, 0.0, 1.57, 0.0])
- Type renvoyé
- property saved_poses
Accède à l’API des SavedPoses
Exemple:
robot = NiryoRobot(<robot_ip_address>) pose_name_list = robot.saved_poses.get_saved_pose_list() robot.saved_poses.get_pose_saved(pose_name_list[0])
- Type renvoyé
- property sound
Accède à l’API du son
Exemple:
robot = NiryoRobot(<robot_ip_address>) sound.play_sound_user("test_sound.wav") sound_name = sound.get_sounds()[0] sound_duration = sound.play(sound_name)
- Type renvoyé
- property tool
Accède à l’API de l’Outil
Exemple:
robot = NiryoRobot(<robot_ip_address>) robot.tool.update_tool() robot.tool.grasp_with_tool() robot.tool.release_with_tool()
- Type renvoyé
- property trajectories
Accède à l’API des Trajectoires
Exemple:
robot = NiryoRobot(<robot_ip_address>) trajectories = robot.trajectories.get_saved_trajectory_list() if len(trajectories) > 0: robot.trajectories.execute_trajectory_saved(trajectories[0])
- Type renvoyé
- property vision
Accède à l’API de Vision
Exemple:
robot = NiryoRobot(<robot_ip_address>) robot.vision.vision_pick("workspace_1", 0.0, ObjectShape.ANY, ObjectColor.ANY) robot.vision.detect_object("workspace_1", ObjectShape.ANY, ObjectColor.ANY)
- Type renvoyé
- property led_ring
Accède à l’API de l’anneau LED
Exemple:
robot = NiryoRobot(<robot_ip_address>) niryo_robot.led_ring.led_ring_flash([20,255,78], iterations = 10, wait = True, frequency = 8) niryo_robot.led_ring.led_ring_turn_off()
- Type renvoyé
- property frames
Accède à l’API du Bras
Exemple:
robot = NiryoRobot(<robot_ip_address>)
- Type renvoyé
Enumerations Gloables
Liste des enumerations
- class RobotErrors(value)[source]
Une enumeration
- SUCCESS = 1
- CANCELLED = 2
- PREEMPTED = 3
- FAILURE = -1
- ABORTED = -3
- STOPPED = -4
- ROS_ERROR = -20
- FILE_ALREADY_EXISTS = -30
- UNKNOWN_COMMAND = -50
- NOT_IMPLEMENTED_COMMAND = -51
- INVALID_PARAMETERS = -52
- HARDWARE_FAILURE = -110
- HARDWARE_NOT_OK = -111
- LEARNING_MODE_ON = -112
- CALIBRATION_NOT_DONE = -113
- DIGITAL_IO_PANEL_ERROR = -114
- LED_MANAGER_ERROR = -115
- BUTTON_ERROR = -116
- WRONG_MOTOR_TYPE = -117
- DXL_WRITE_ERROR = -118
- DXL_READ_ERROR = -119
- CAN_WRITE_ERROR = -120
- CAN_READ_ERROR = -121
- NO_CONVEYOR_LEFT = -122
- NO_CONVEYOR_FOUND = -123
- CONVEYOR_ID_INVALID = -124
- CALIBRATION_IN_PROGRESS = -125
- VIDEO_STREAM_ON_OFF_FAILURE = -170
- VIDEO_STREAM_NOT_RUNNING = -171
- OBJECT_NOT_FOUND = -172
- MARKERS_NOT_FOUND = -173
- ARM_COMMANDER_FAILURE = -220
- GOAL_STILL_ACTIVE = -221
- JOG_CONTROLLER_ENABLED = -222
- CONTROLLER_PROBLEMS = -223
- SHOULD_RESTART = -224
- JOG_CONTROLLER_FAILURE = -225
- PLAN_FAILED = -230
- NO_PLAN_AVAILABLE = -231
- INVERT_KINEMATICS_FAILURE = -232
- TOOL_FAILURE = -251
- TOOL_ID_INVALID = -252
- TOOL_NOT_CONNECTED = -253
- TOOL_ROS_INTERFACE_ERROR = -254
- POSES_HANDLER_CREATION_FAILED = -300
- POSES_HANDLER_REMOVAL_FAILED = -301
- POSES_HANDLER_READ_FAILURE = -302
- POSES_HANDLER_COMPUTE_FAILURE = -303
- WORKSPACE_CREATION_FAILED = -308
- PROGRAMS_MANAGER_FAILURE = -320
- PROGRAMS_MANAGER_READ_FAILURE = -321
- PROGRAMS_MANAGER_UNKNOWN_LANGUAGE = -325
- PROGRAMS_MANAGER_NOT_RUNNABLE_LANGUAGE = -326
- PROGRAMS_MANAGER_EXECUTION_FAILED = -327
- PROGRAMS_MANAGER_STOPPING_FAILED = -328
- PROGRAMS_MANAGER_AUTORUN_FAILURE = -329
- PROGRAMS_MANAGER_WRITING_FAILURE = -330
- PROGRAMS_MANAGER_FILE_ALREADY_EXISTS = -331
- PROGRAMS_MANAGER_FILE_DOES_NOT_EXIST = -332
- SERIAL_FILE_ERROR = -400
- SERIAL_UNKNOWN_ERROR = -401
- MQTT_PUBLISH_FUNCTION_DOESNT_EXIST = -420
- MQTT_PUBLISH_FUNCTION_INVALID_ARGUMENTS = -421
- SYSTEM_API_CLIENT_UNKNOWN_ERROR = -440
- SYSTEM_API_CLIENT_INVALID_ROBOT_NAME = -441
- SYSTEM_API_CLIENT_REQUEST_FAILED = -442
- class ArmMoveCommandType(value)[source]
Enumeration de l’Arm Move Command : utilisé pour les contrôles de déplacement du bras
- JOINTS = 0
- POSE = 1
- POSITION = 2
- RPY = 3
- POSE_QUAT = 4
- LINEAR_POSE = 5
- SHIFT_POSE = 6
- SHIFT_LINEAR_POSE = 7
- EXECUTE_TRAJ = 8
- DRAW_SPIRAL = 9
- DRAW_CIRCLE = 10
- EXECUTE_FULL_TRAJ = 11
- EXECUTE_RAW_TRAJ = 12
Objets Globaux
- class PoseObject(x, y, z, roll, pitch, yaw)[source]
Objet Pose qui sauvegarde la paramètres x, y, z, roll, pitch & yaw
- Attributs
- copy_with_offsets(x_offset=0.0, y_offset=0.0, z_offset=0.0, roll_offset=0.0, pitch_offset=0.0, yaw_offset=0.0)[source]
Créé une nouvelle position en copiant la position actuelle avec les offsets
- Type renvoyé
- to_list()[source]
Retourne une liste [x, y, z, roll, pitch, yaw] correspondant aux paramètres de la position
- property quaternion
Retourne le quaternion sous forme de liste [qx, qy, qz, qw]
- property quaternion_pose
Retourne la positions et le quaternion dans une liste [x, y, z, qx, qy, qz, qw]
- static euler_to_quaternion(roll, pitch, yaw)[source]
Convertir les angles d’euler en quaternion