Exemples: Convoyeur

Cette page montre comment utiliser le covnoyeur du Ned

Si vous voulez en savoir plus sur les fonctions du convoyeur, vous pouvez regarder PyNiryo - Conveyor

Danger

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

Contrôle simple du convoyeur

Cet exemple court montre comment se connecter au convoyeur et lancer ses moteurs(le contrôler en réglant sa vitesse et sa direction) :

from pyniryo2 import *

# Connecting to robot
robot = NiryoRobot(<robot_ip_address>)

# Activating connexion with conveyor
conveyor_id = robot.conveyor.set_conveyor()

# Running conveyor at 50% of its maximum speed, in Forward direction
robot.conveyor.run_conveyor(conveyor_id, speed=50, direction=ConveyorDirection.FORWARD)

# Waiting 3 seconds
robot.wait(3)

# Stopping robot motor
robot.conveyor.stop_conveyor(conveyor_id)

# Deactivating connexion with conveyor
robot.conveyor.unset_conveyor(conveyor_id)

Contrôle avancés du convoyeur

Cet exemple montre comment effectuer un certain nombre de pick & place en utilisant le convoyeur et le capteur infrarouge

from pyniryo2 import *

# -- Setting variables
sensor_pin_id = PinID.GPIO_1A

catch_nb = 5

# The pick pose
pick_pose = PoseObject(
    x=0.25, y=0., z=0.15,
    roll=-0., pitch=1.57, yaw=0.0,
)
# The Place pose
place_pose = PoseObject(
    x=0., y=-0.25, z=0.1,
    roll=0., pitch=1.57, yaw=-1.57)

# -- MAIN PROGRAM

# Connecting to robot
robot = NiryoRobot(<robot_ip_address>)

# Activating connexion with conveyor
conveyor_id = robot.conveyor.set_conveyor()

for i in range(catch_nb):
    robot.conveyor.run_conveyor(conveyor_id)
    while robot.io.digital_read(sensor_pin_id) == PinState.LOW:
        robot.wait(0.1)

    # Stopping robot motor
    robot.conveyor.stop_conveyor(conveyor_id)
    # Making a pick & place
    robot.pick_place.pick_and_place(pick_pose, place_pose)

# Deactivating connexion with conveyor
robot.conveyor.unset_conveyor(conveyor_id)