Robot Workbench/fr: Difference between revisions

From FreeCAD Documentation
(Created page with "=== Robots === Les outils pour créer et gérer les robots à 6 axes")
No edit summary
 
(113 intermediate revisions by 8 users not shown)
Line 1: Line 1:
<languages/>
[[Image:KukaKR16FreeCAD.jpg|right|400px]]

{{Docnav/fr
|[[Reverse_Engineering_Workbench/fr|Atelier Reverse Engineering]]
|[[Sketcher_Workbench/fr|Atelier Sketcher]]
|IconL=Workbench_Reverse_Engineering.svg
|IconR=Workbench_Sketcher.svg
}}

{{VeryImportantMessage|L'atelier Robot n'est plus maintenu. Si vous avez de l'expérience avec le sujet et que vous souhaitez le maintenir, veuillez indiquer votre intention dans la section développeur du [https://forum.freecadweb.org/index.php forum FreeCAD].

La raison pour laquelle cet atelier se trouve toujours dans le code source principal est que cet atelier est programmé en C++. Si cet atelier pouvait être programmé en Python, alors il pourrait être transformé en [[external_workbenches/fr|atelier externe]] et il pourrait être déplacé vers un référentiel distinct.
}}

== Introduction ==

[[Image:Workbench_Robot.svg|thumb|128px|Icône de l'atelier Robot]]

L'[[Image:Workbench_Robot.svg|24px]] [[Robot_Workbench/fr|atelier Robot]] permet de simuler les [[Robot_6-Axis/fr|robots industriels à 6 axes]], comme par exemple [http://kuka.com/ Kuka].


L'atelier de simulation de robot permet de simuler les [[6-Axis Robot/fr|robots à 6 axes]] industriels, comme par exemple [http://kuka.com/ Kuka].
Vous pouvez accomplir les tâches suivantes :
Vous pouvez accomplir les tâches suivantes :
* mettre en place un environnement de simulation avec un robot et des pièces de travail
* mettre en place un environnement de simulation avec un robot et des pièces de travail
Line 9: Line 26:
* exporter la trajectoire vers un fichier programme de robot
* exporter la trajectoire vers un fichier programme de robot


Pour commencer, essayez le [[Robot_tutorial/fr|tutoriel Robot]] et voyez l'interface de programmation dans le fichier d'exemple [https://github.com/FreeCAD/FreeCAD_sf_master/blob/master/src/Mod/RobotExample.py. RobotExample.py] .
Vous pouvez trouver des exemples ici :

[http://www.freecad-project.de/svn/ExampleData/Examples/RobotSimulation/ fichiers d'exemple] ou essayez
{{TOCright}}
le [[Robot tutorial/fr|tutoriel Robot]].
[[Image:Robot_Workbench_example.jpg|500px]]


== Outils ==
== Outils ==
Line 19: Line 37:
Les outils pour créer et gérer les robots à 6 axes
Les outils pour créer et gérer les robots à 6 axes


* [[Image:Robot_CreateRobot.png|30px]] [[Robot_CreateRobot|Create a robot]]: Insert a new robot into the scene
* [[Image:Robot_CreateRobot.svg|30px]] [[Robot_CreateRobot/fr|Créer un robot]]: Insère un nouveau robot dans la scène
* [[Image:Robot_Simulate.png|30px]] [[Robot_Simulate|Simulate a trajectory]]: Opens the simulation dialog and let you simulate
* [[Image:Robot_Simulate.svg|30px]] [[Robot_Simulate/fr|Simuler une trajectoire]]: Ouvre le dialogue de simulation afin de régler une simulation
* [[Image:Robot_Export.png|30px]] [[Robot_Export|Export a trajectory]]: Export a robot program file
* [[Image:Robot_Export.svg|30px]] [[Robot_Export/fr|Exporter une trajectoire]]: Exporte la trajectoire dans un fichier programme robot
* [[Image:Robot_SetHomePos.png|30px]] [[Robot_SetHomePos|Set home positon]]: Set the home position of an robot
* [[Image:Robot_SetHomePos.svg|30px]] [[Robot_SetHomePos/fr|Définir la positon de départ]]: Définit la position de départ d'un robot
* [[Image:Robot_RestoreHomePos.png|30px]] [[Robot_RestoreHomePos|Restore home positon]]: move the robot to its home position
* [[Image:Robot_RestoreHomePos.svg|30px]] [[Robot_RestoreHomePos/fr|Restaurer la positon de départ]]: Retourne le robot à sa positon de départ


=== Trajectories ===
=== Trajectoires ===
Les outils pour créer et manipuler les trajectoires. Il y en a deux sortes, paramétriques et non-paramétriques.
Tools to creat and manipulate trajectories. There are two kinds, the parametric and non parametric ones.


==== non parametric ====
==== Trajectoire non-paramétriques ====
* [[Image:Robot_CreateTrajectory.png|30px]] [[Robot_CreateTrajectory|Create a trajectory]]: Insert a new robot into the scene
* [[Image:Robot_CreateTrajectory.svg|30px]] [[Robot_CreateTrajectory/fr|Créer une trajectoire]]: Créé une nouvelle trajectoire vide
* [[Image:Robot_SetDefaultOrientation.png|30px]] [[Robot_SetDefaultOrientation|Set the default orientation]]: Set the orientation way-points gets created by default
* [[Image:Robot_SetDefaultOrientation.svg|30px]] [[Robot_SetDefaultOrientation/fr|Définir l'orientation par défaut]]: Règle l'orientation par défaut des points de passage
* [[Image:Robot_SetDefaultValues.png|30px]] [[Robot_SetDefaultValues|Set the default speed parameter]]: set the defaults for way-point creation
* [[Image:Robot_SetDefaultValues.svg|30px]] [[Robot_SetDefaultValues/fr|Définir les paramètres de vitesse par défaut]]: Règle les valeurs par défaut pour la création de points de passage
* [[Image:Robot_InsertWaypoint.png|30px]] [[Robot_InsertWaypoint|Insert a waypoint]]: Insert a way-point from the current robot position into a trajectory
* [[Image:Robot_InsertWaypoint.svg|30px]] [[Robot_InsertWaypoint/fr|Insérer dans la trajectoire]]: Insère un point de passage de la position actuelle du robot dans la trajectoire
* [[Image:Robot_InsertWaypointPre.png|30px]] [[Robot_InsertWaypointPre|Insert a waypoint]]: Insert a way-point from the current mouse position into a trajectory
* [[Image:Robot_InsertWaypointPre.svg|30px]] [[Robot_InsertWaypointPre/fr|Insérer dans la trajectoire]]: Insère un point de passage de la position actuelle du pointeur de la souris dans la trajectoire


==== parametric ====
==== Trajectoire paramétriques ====
* [[Image:Robot_Edge2Trac.png|30px]] [[Robot_Edge2Trac|Create a trajectory out of edges]]: Insert a new object which decompose edges to a trajectory
* [[Image:Robot_Edge2Trac.svg|30px]] [[Robot_Edge2Trac/fr|Générer une trajectoire à partir d'un ensemble d'arêtes]]: Insère un nouvel objet dont les arêtes formeront une trajectoire
* [[Image:Robot_TrajectoryDressUp.png|30px]] [[Robot_TrajectoryDressUp|Dress-up a trajectory]]: Let you override one or more properties of a trajectory
* [[Image:Robot_TrajectoryDressUp.svg|30px]] [[Robot_TrajectoryDressUp/fr|Habiller une trajectoire]]: Créé un habillage qui supplante certaines propriétés d'une trajectoire
* [[Image:Robot_TrajectoryCompound.png|30px]] [[Robot_TrajectoryCompound|Trajectory compound]]: create a compound out of some single trajectories
* [[Image:Robot_TrajectoryCompound.svg|30px]] [[Robot_TrajectoryCompound/fr|Grouper et connecter des trajectoires]]: Crée un composé (compound) et connecte un ensemble de trajectoires


== Scripting ==
==Script==
This section is generated out of: http://sourceforge.net/p/free-cad/code/ci/master/tree/src/Mod/Robot/RobotExample.py
You can use this file directly if you want.


Voir [[Robot_API_example/fr|Robot API exemple]] pour une description des fonctions utilisées pour modéliser les déplacements du robot.
Example how to use the basic robot class Robot6Axis which represents a 6-axis
industrial robot. The Robot module is dependent on Part but not on other modules.
It works mostly with the basic types Placement, Vector and Matrix. So we need
only:
from Robot import *
from Part import *
from FreeCAD import *
=== Basic robot stuff ===
create the robot. If you do not specify another kinematic it becomes a Puma 560
rob = Robot6Axis()
print rob
accessing the axis and the Tcp. Axes go from 1-6 and are in degree:
Start = rob.Tcp
print Start
print rob.Axis1
move the first axis of the robot:
rob.Axis1 = 5.0
the Tcp has changed (forward kinematic)
print rob.Tcp
move the robot back to start position (reverse kinematic):
rob.Tcp = Start
print rob.Axis1
the same with axis 2:
rob.Axis2 = 5.0
print rob.Tcp
rob.Tcp = Start
print rob.Axis2
Waypoints:
w = Waypoint(Placement(),name="Pt",type="LIN")
print w.Name,w.Type,w.Pos,w.Cont,w.Velocity,w.Base,w.Tool
generate more. The trajectory always finds automatically a unique name for the waypoints
l = [w]
for i in range(5):
l.append(Waypoint(Placement(Vector(0,0,i*100),Vector(1,0,0),0),"LIN","Pt"))
create a trajectory
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"))
see a list of all waypoints:
print t.Waypoints
del rob,Start,t,l,w
=== working with the document ===


== Tutoriels ==
Working with the robot document objects:
* [[Robot 6-Axis/fr|Robot 6-Axis]]
first create a robot in the active document
* [[VRML Preparation for Robot Simulation/fr|VRML Préparation pour Simulation d'un Robot]]
if(App.activeDocument() == None):App.newDocument()
App.activeDocument().addObject("Robot::RobotObject","Robot")
Define the visual representation and the kinematic definition (see [[6-Axis Robot]] and [[VRML Preparation for Robot Simulation]] for details about that)
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"
start positon of the Axis (only that which differ from 0)
App.activeDocument().Robot.Axis2 = -90
App.activeDocument().Robot.Axis3 = 90
retrieve the Tcp position
pos = FreeCAD.getDocument("Unnamed").getObject("Robot").Tcp
move the robot
pos.move(App.Vector(-10,0,0))
FreeCAD.getDocument("Unnamed").getObject("Robot").Tcp = pos
create an empty Trajectory object in the active document
App.activeDocument().addObject("Robot::TrajectoryObject","Trajectory")
get the Trajectory
t = App.activeDocument().Trajectory.Trajectory
add the actual TCP position of the robot to the trajectory
StartTcp = App.activeDocument().Robot.Tcp
t.insertWaypoints(StartTcp)
App.activeDocument().Trajectory.Trajectory = t
print App.activeDocument().Trajectory.Trajectory
insert some more Waypoints and the start point at the end again:
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 ===
To be done.....
=== Exporting the trajectory ===
The trajectory is exported by Python. That means for every control cabinet type there is a post-processor
Python module. Here is in detail the Kuka post-processor described
from KukaExporter import ExportCompactSub
ExportCompactSub(App.activeDocument().Robot,App.activeDocument().Trajectory,'D:/Temp/TestOut.src')
and that's kind of how it's done:
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))


== Tutorials ==
* [[6-Axis_Robot|6-Axis_Robot]]
* [[VRML Preparation for Robot Simulation|VRML Preparation for Robot Simulation]]


{{Docnav/fr
{{docnav|Arch Module|Macros}}
|[[Reverse_Engineering_Workbench/fr|Atelier Reverse Engineering]]
|[[Sketcher_Workbench/fr|Atelier Sketcher]]
|IconL=Workbench_Reverse_Engineering.svg
|IconR=Workbench_Sketcher.svg
}}


{{Robot Tools navi{{#translation:}}}}
[[Category:User Documentation]]
{{Userdocnavi{{#translation:}}}}

[[Category:Workbenches{{#translation:}}]]

<languages/>

Latest revision as of 14:44, 1 January 2022

L'atelier Robot n'est plus maintenu. Si vous avez de l'expérience avec le sujet et que vous souhaitez le maintenir, veuillez indiquer votre intention dans la section développeur du forum FreeCAD.

La raison pour laquelle cet atelier se trouve toujours dans le code source principal est que cet atelier est programmé en C++. Si cet atelier pouvait être programmé en Python, alors il pourrait être transformé en atelier externe et il pourrait être déplacé vers un référentiel distinct.

Introduction

Icône de l'atelier Robot

L' atelier Robot permet de simuler les robots industriels à 6 axes, comme par exemple Kuka.

Vous pouvez accomplir les tâches suivantes :

  • mettre en place un environnement de simulation avec un robot et des pièces de travail
  • créer et remplir des trajectoires
  • décomposer les fonctions d'une pièce CAO en une trajectoire
  • simuler le mouvement et l'accessibilité d'un robot
  • exporter la trajectoire vers un fichier programme de robot

Pour commencer, essayez le tutoriel Robot et voyez l'interface de programmation dans le fichier d'exemple RobotExample.py .

Outils

Voici les principales commandes dont vous pouvez vous servir pour créer une configuration de robot.

Robots

Les outils pour créer et gérer les robots à 6 axes

Trajectoires

Les outils pour créer et manipuler les trajectoires. Il y en a deux sortes, paramétriques et non-paramétriques.

Trajectoire non-paramétriques

Trajectoire paramétriques

Script

Voir Robot API exemple pour une description des fonctions utilisées pour modéliser les déplacements du robot.

Tutoriels