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)