Exemples: Les Basiques
Dans ce fichier, deux programmes courts sont implémentés et commentés pour vous permettre de comprendre la philosophie derrière le package PyNiryo2
Danger
Si vous utilisez un robot réel, vérifiez que l’environnement autour ne contient pas d’obstacles
Votre premier déplacement par axes
L’exemple qui suit montre un premier cas d’usage. C’est un simple MoveJ.
from pyniryo2 import *
robot = NiryoRobot("10.10.10.10")
robot.arm.calibrate_auto()
robot.arm.move_joints([0.2, -0.3, 0.1, 0.0, 0.5, -0.8])
robot.end()
Détails du code - Premier Move J
Dans un premier temps, on importe la librairie pour pouvoir accéder aux fonctions
from pyniryo2 import *
Ensuite, on instancie la connexion et on relie la variable robot
à l’adresse IP du robot 10.10.10.10
robot = NiryoRobot("10.10.10.10")
Une fois que la connexion est faite, on calibre le robot en utilisant sa fonction calibrate_auto()
robot.arm.calibrate_auto()
Le robot est maintenant calibré, on peut donc faire un Move Joints en donnant la position des 6 axes en radians ! Pour ce faire, on utilise move_joints()
robot.arm.move_joints([0.2, -0.3, 0.1, 0.0, 0.5, -0.8])
Le processus est à présent terminé, on peut couper la connexion avec end()
robot.end()
Votre premier Pick & Place
Dans le second exemple, on va développer l’algorithme d’un Pick & Place
from pyniryo2 import *
robot = NiryoRobot("10.10.10.10")
robot.arm.calibrate_auto()
robot.tool.update_tool()
robot.tool.release_with_tool()
robot.arm.move_pose([0.2, -0.1, 0.25, 0.0, 1.57, 0.0])
robot.tool.grasp_with_tool()
robot.arm.move_pose([0.2, 0.1, 0.25, 0.0, 1.57, 0.0])
robot.tool.release_with_tool()
robot.end()
Détails du code - Premier Pick & Place
Dans un premier temps, on importe la librairie et on lance la connexion entre notre ordinateur et le robot. On calibre également le robot
from pyniryo2 import *
robot = NiryoRobot("10.10.10.10")
robot.arm.calibrate_auto()
Ensuite, on équipe l’outil avec update_tool()
robot.tool.update_tool()
Maintenant que l’initialisation est terminée, on peut ouvrir le préhenseur (ou relâcher l’air de la pompe à vide) avec release_with_tool()
, aller à la position de saisie avec move_pose()
et ensuite attraper l’objet avec grasp_with_tool()
!
robot.tool.release_with_tool()
robot.arm.move_pose([0.2, -0.1, 0.25, 0.0, 1.57, 0.0])
robot.tool.grasp_with_tool()
On se rend ensuite à la position de dépôt et on y dépose l’objet
robot.arm.move_pose([0.2, 0.1, 0.25, 0.0, 1.57, 0.0])
robot.tool.release_with_tool()
Notre processus est à présent terminé, on peut couper la connexion
robot.end()