Robot Module/fr

=Robot_Module/fr=

L'outil robot est un outil pour simuler la qualité industrielle 6-Axis, comme, par exemple, Kuka. Vous pouvez le faire à la suite des tâches :
 * Mettre en place un environnement de simulation avec un robot, et de pièces de travail.
 * Créer et remplir des trajectoires.
 * Se décomposent les caractéristiques d'une partie CAD une trajectoire.
 * Simuler le mouvement et l'accessibilité du robot.
 * L'exportation du programme de la trajectoire du robot vers un fichier.

vous pouvez trouver un exemple de fichier: ici ou essayer le Robot tutorial.

Outils
Voici les principales commandes que vous pouvez utiliser, pour créer et mettre en place un robot.

Robot
Les outils, pour créer et gérer un robots à 6 axes :


 * [[Image:Robot_CreateRobot.png|30px]] Créer un robot : Insérer un nouveau robot dans la scène.
 * [[Image:Robot_Simulate.png|30px]] Simuler la trajectoire : Ouvre la boîte de dialogue de simulation et vous permet de faire tourner la simulation.
 * [[Image:Robot_Export.png|30px]] Exporter une trajectoire: Exporte un fichier programme du robot.


 * [[Image:Robot_SetHomePos.png|30px]] Point de départ : Réglez la position de départ d'un robot.
 * [[Image:Robot_RestoreHomePos.png|30px]] Restaurer la positon : déplace le robot à sa position d'origine

Trajectoires
Outils pour créer et manipuler les trajectoires. Il en existe deux types, ceux paramétriques et ceux non paramétriques.

non paramétriques

 * [[Image:Robot_CreateTrajectory.png|30px]] Créer une trajectoire : Insérez un nouveau robot dans la scène.
 * [[Image:Robot_SetDefaultOrientation.png|30px]] Définit le point d'orientation par défaut : Définissez l'orientation, un point de départ est créé par défaut.
 * [[Image:Robot_SetDefaultValues.png|30px]] Définit les paramètres de vitesse : définir les valeurs par défaut, pour la création des points de la trajectoire.
 * [[Image:Robot_InsertWaypoint.png|30px]] Insère un point de départ : Insère un point de cheminement, à partir de la position actuelle du robot, sur ​​une trajectoire donnée.
 * [[Image:Robot_InsertWaypointPre.png|30px]] Insère un point de départ : Insère un point de cheminement sur une trajectoire donnée, à partir de la position actuelle de la souris.

Paramétriques

 * [[Image:Robot_Edge2Trac.png|30px]] Crée une trajectoire sur les bords : Insère un nouvel objet et décompose la ligne de la trajectoire.
 * [[Image:Robot_TrajectoryDressUp.png|30px]] Détermine la trajectoire : Déterminez une ou plusieurs propriétés d'une trajectoire.
 * [[Image:Robot_TrajectoryCompound.png|30px]] Trajectoire composée : Crée une simple trajectoire ou une trajectoire composée.

Scripts
Cette section est générée sur : |cette page. Si vous voulez, vous pouvez utiliser ce fichier directement. Exemple : comment utiliser le robot de base Robot6Axis qui représente un robot 6 axes de classe industrielle. Le module Robot, dépend uniquement du module Part, mais pas des autres. Il travaille principalement avec le type de placement de base, Vector et Matrix. Nous avons donc uniquement besoin de faire :

from Robot import * from Part import * from FreeCAD import *

Slideshows robot de base
Créer le robot. Si vous ne spécifiez pas une autre cinématique, il sera un Puma 560 : rob = Robot6Axis print rob Accéder à l'axe et au protocole TCP, il sera en mesure de passer de 1 à 6 Axes : Start = rob.Tcp print Start print rob.Axis1 Déplace le premier axe du robot : rob.Axis1 = 5.0

Le Tcp a changé (avant la cinématique) : print rob.Tcp Déplace le robot, et revient à la position de départ (inverse cinématique) : rob.Tcp = Start print rob.Axis1 De même avec l'axe 2 : rob.Axis2 = 5.0 print rob.Tcp rob.Tcp = Start print rob.Axis2 Point de départ : w = Waypoint(Placement,name="Pt",type="LIN") print w.Name,w.Type,w.Pos,w.Cont,w.Velocity,w.Base,w.Tool Plus de générations. La trajectoire trouve toujours automatiquement un nom unique pour les waypoints (points de départ) : l = [w] for i in range(5): l.append(Waypoint(Placement(Vector(0,0,i*100),Vector(1,0,0),0),"LIN","Pt")) Créer une trajectoire : t = Trajectory(l) print t for i in range(7): t.insertWaypoints(Waypoint(Placement(Vector(0,0,i*100+500),Vector(1,0,0),0),"LIN","Pt")) Lister tous les points de départs : print t.Waypoints del rob,Start,t,l,w

Travailler avec le document
Travailler sur les objets du robots, avec le document, d'abord, créez un robot dans le document actif : if(App.activeDocument == None):App.newDocument App.activeDocument.addObject("Robot::RobotObject","Robot")

Définir la représentation visuelle et la définition cinématique (pour plus de détails à ce sujet, voir 6-Axis et de préparer VRML) : App.activeDocument.Robot.RobotVrmlFile = App.getResourceDir+"Mod/Robot/Lib/Kuka/kr500_1.wrl" App.activeDocument.Robot.RobotKinematicFile = App.getResourceDir+"Mod/Robot/Lib/Kuka/kr500_1.csv"

Début de la position des Axes (seulement s'il est différent de 0) : App.activeDocument.Robot.Axis2 = -90 App.activeDocument.Robot.Axis3 = 90 Récupérer la position Tcp : pos = FreeCAD.getDocument("Unnamed").getObject("Robot").Tcp

Déplace le robot : pos.move(App.Vector(-10,0,0)) FreeCAD.getDocument("Unnamed").getObject("Robot").Tcp = pos Créer un objet dans le document actif sur une trajectoire vide : App.activeDocument.addObject("Robot::TrajectoryObject","Trajectory")

Obtenir la trajectoire : t = App.activeDocument.Trajectory.Trajectory

Ajouter la position TCP actuelle sur la trajectoire du robot : StartTcp = App.activeDocument.Robot.Tcp t.insertWaypoints(StartTcp) App.activeDocument.Trajectory.Trajectory = t print App.activeDocument.Trajectory.Trajectory Insérer plus de waypoints (points de bases) entre le point de départ et le point final : for i in range(7): t.insertWaypoints(Waypoint(Placement(Vector(0,1000,i*100+500),Vector(1,0,0),i),"LIN","Pt")) t.insertWaypoints(StartTcp) # end point of the trajectory App.activeDocument.Trajectory.Trajectory = t print App.activeDocument.Trajectory.Trajectory

Simulation
Ça y est, on essaye ..... files:64px-FreeCAD05_Tango_Face-wink.png

Exporter une trajectoire
La trajectoire est exportée par une procédure Python. Cela signifie que pour chaque tableau de commande, il y a un module de post-processeur Python. Voici, la décription détaillée de Kuka post-processeur : from KukaExporter import ExportCompactSub ExportCompactSub(App.activeDocument.Robot,App.activeDocument.Trajectory,'D:/Temp/TestOut.src') Et ici, c'est un peu comment ça se passe : for w in App.activeDocument.Trajectory.Trajectory.Waypoints: (A,B,C) = (w.Pos.Rotation.toEuler) print ("LIN {X %.3f,Y %.3f,Z %.3f,A %.3f,B %.3f,C %.3f} ; %s"%(w.Pos.Base.x,w.Pos.Base.y,w.Pos.Base.z,A,B,C,w.Name))