Exemples : Le convoyeur

Ce document montre comment utiliser le convoyeur de Ned.

Si vous souhaitez en apprendre davantage à propos des fonctions du convoyeur, consultez la rubrique PyNiryo - Conveyor.

Danger

Si vous utilisez le robot, assurez vous que l’environnement autour de celui-ci est dégagé.

Contrôle simple du convoyeur

Ce court exemple montre comment connecter un convoyeur et démarrer son moteur (le contrôler en ajustant sa vitesse et sa direction) :

from pyniryo import *

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

# Activating connexion with Conveyor Belt
conveyor_id = robot.set_conveyor()

# Running the Conveyor Belt at 50% of its maximum speed, in forward direction
robot.run_conveyor(conveyor_id, speed=50, direction=ConveyorDirection.FORWARD)

# Waiting 3 seconds
robot.wait(3)

# Stopping robot's motor
robot.stop_conveyor(conveyor_id)

# Deactivating connexion with the Conveyor Belt
robot.unset_conveyor(conveyor_id)

Contrôle avancé du convoyeur

Cet exemple montre comment réaliser un certain nombre de Pick & Place en utilisant le convoyeur et son capteur infrarouge :

from pyniryo 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 the robot
robot = NiryoRobot(<robot_ip_address>)

# Activating connexion with the Conveyor Belt
conveyor_id = robot.set_conveyor()

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

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

# Deactivating connexion with the Conveyor Belt
robot.unset_conveyor(conveyor_id)