Robot Workbench/ro: Difference between revisions

From FreeCAD Documentation
No edit summary
(Updating to match new version of source page)
(31 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
<div class="mw-translate-fuzzy">
[[Image:KukaKR16FreeCAD.jpg|right|400px]]
{{docnav|FEM Module|Standard Menu}}
</div>

[[Image:Workbench_Robot.svg|64px]]

== Introducere ==

<div class="mw-translate-fuzzy">
Atelierul robotică [[Robot Workbench]] este un instrument pentru a simula un robot industrial standard având 6 axe de libertate [[Robot_6-Axis|6-axis industrial robot]], cum ar fi de ex. [http://kuka.com/ Kuka].
</div>


Atelierul robotică este o unealtă pentru a simula un robot industrial cu 6 axe de libertate [[Robot_6-Axis | Robot 6-Axis]], cum ar fi de ex. [http://kuka.com/ Kuka].
Puteți efectua următoarele activități:
Puteți efectua următoarele activități:
* configurați un mediu de simulare cu un robot și piese de lucru
* Configurați un mediu de simulare cu un robot și piese de lucru;
* creați și urmați traiectoriile
* Creați și urmați traiectoriile;
* descompune caracteristicile unei piese CAD într-o traiectorie
* Descompuneți caracteristicile/funcționalitățile unei piese CAD într-o traiectorie;
* Simulați mișcarea și accesibilitatea robotului
* Simulați mișcarea și accesibilitatea robotului;
* exportați traiectoria într-un fișier de program de robot
* Exportați traiectoria într-un fișier de program de robot.


Pentru a începe încercați [[Robot tutorial]], și vedeți interfața de programare în fișierul exemplu aici:
Puteți găsi un exemplu aici:
[https://github.com/FreeCAD/FreeCAD_sf_master/blob/master/src/Mod/Robot/RobotExample.py Example files] sau încercați [[Robot tutorial]].
[https://github.com/FreeCAD/FreeCAD_sf_master/blob/master/src/Mod/Robot/RobotExample.py RobotExample.py]


{{TOCright}}
== Scule și Instrumente ==
[[Image:Robot_Workbench_example.jpg|600px]]

== Instrumente ==
Aici sunt comenzile principale pe care le puteți utiliza pentru a seta un robot.
Aici sunt comenzile principale pe care le puteți utiliza pentru a seta un robot.


Line 19: Line 31:
Instrumentele pentru crearea și gestionarea roboților cu 6 axe
Instrumentele pentru crearea și gestionarea roboților cu 6 axe


* [[Image:Robot_CreateRobot.png|30px]] [[Robot_CreateRobot|Create a robot]]: Introduceți un nou robot în scenă
* [[Image:Robot_CreateRobot.png|30px]] [[Robot_CreateRobot|Creați un robot]]: Introduceți un nou robot în scenă
* [[Image:Robot_Simulate.png|30px]] [[Robot_Simulate|Simulate a trajectory]]: Deschide dialogul de simulare și vă permite să simulați
* [[Image:Robot_Simulate.png|30px]] [[Robot_Simulate|Simulate a trajectory]]: Deschide dialogul de simulare și vă permite să simulați
* [[Image:Robot_Export.png|30px]] [[Robot_Export|Export a trajectory]]: Exportați un fișier conținând programul robotului
* [[Image:Robot_Export.png|30px]] [[Robot_Export|Export a trajectory]]: Exportați un fișier conținând programul robotului
* [[Image:Robot_SetHomePos.png|30px]] [[Robot_SetHomePos|Set home positon]]: Stabiliți poziția 0 a robotului
* [[Image:Robot_SetHomePos.png|30px]] [[Robot_SetHomePos|Set home position]]: Stabiliți poziția 0 a robotului
* [[Image:Robot_RestoreHomePos.png|30px]] [[Robot_RestoreHomePos|Restore home positon]]: Mutați robotul în poziția zero
* [[Image:Robot_RestoreHomePos.png|30px]] [[Robot_RestoreHomePos|Restore home position]]: Mutați robotul în poziția zero


=== Traiectorii ===
=== Traiectorii ===
Instrumente pentru crearea și manipularea traiectoriilor. Există două tipuri, cele parametrice și cele neparametrice.
Instrumente pentru crearea și manipularea traiectoriilor. Există două tipuri, cele parametrice și cele neparametrice.


==== traiectoriile non parametrice ====
==== Traiectoriile Non Parametrice ====
* [[Image:Robot_CreateTrajectory.png|30px]] [[Robot_CreateTrajectory|Creați o traiectorie]]: Introduceți o traiectorie goală în scenă
* [[Image:Robot_CreateTrajectory.png|30px]] [[Robot_CreateTrajectory|Creați o traiectorie]]: Introduceți o traiectorie goală în scenă
* [[Image:Robot_SetDefaultOrientation.png|30px]] [[Robot_SetDefaultOrientation|Stabiliți orientarea implicită]]: Definiți orientarea implicită a punctelor de trecere
* [[Image:Robot_SetDefaultOrientation.png|30px]] [[Robot_SetDefaultOrientation|Stabiliți orientarea implicită]]: Definiți orientarea implicită a punctelor de trecere
* [[Image:Robot_SetDefaultValues.png|30px]] [[Robot_SetDefaultValues|/Definiți parametrul implicit al vitezei]]: Stabiliți valorile implicite pentru crearea punctelor de trecere
* [[Image:Robot_SetDefaultValues.png|30px]] [[Robot_SetDefaultValues|/Definiți parametrul implicit al vitezei]]: Stabiliți valorile implicite pentru crearea punctelor de trecere
* [[Image:Robot_InsertWaypoint.png|30px]] [[Robot_InsertWaypoint|Inserați un punct de trecere]]: Inserați un punct de trecere de la poziția curentă a robotului într-o traiectorie
* [[Image:Robot_InsertWaypoint.png|30px]] [[Robot_InsertWaypoint|Inserați un punct de trecere]]: Inserați un punct de trecere de la poziția curentă a robotului într-o traiectorie
* [[Image:Robot_InsertWaypointPre.png|30px]] [[Robot_InsertWaypointPre|Inserați un punct de trecre]]: Inserați un punct de trecere de la poziția curentă a mouse-ului într-o traiectorie
* [[Image:Robot_InsertWaypointPre.png|30px]] [[Robot_InsertWaypointPre|Inserați un punct de trecere]]: Inserați un punct de trecere de la poziția curentă a mouse-ului într-o traiectorie


==== traiectorii parametrice ====
==== Traiectorii Parametrice ====
* [[Image:Robot_Edge2Trac.png|30px]] [[Robot_Edge2Trac|Creați o traiectorie dincolo de margini]]: Inserați un nou obiect care descompune marginile într-o traiectorie
* [[Image:Robot_Edge2Trac.png|30px]] [[Robot_Edge2Trac|Generează o traiectorie dintr-un set de muchii]]: Include un obiect nou ale cărui muchii vor forma o traiectorie
* [[Image:Robot_TrajectoryDressUp.png|30px]] [[Robot_TrajectoryDressUp|Traiectorie suplimetnră(Dress-up)]]: Lets you override una sau mai multe proprietăți ale traiectoriei
* [[Image:Robot_TrajectoryDressUp.png|30px]] [[Robot_TrajectoryDressUp|Traiectorie suplimentară(Dress-up)]]: Creați o traiectorie suplimentară care va suprascrie anumite proprietăți ale traiectoriei inițiale
* [[Image:Robot_TrajectoryCompound.png|30px]] [[Robot_TrajectoryCompound|Traiectorie compusă]]: Creați o traiectorie complexă de la o singură traiectorie
* [[Image:Robot_TrajectoryCompound.png|30px]] [[Robot_TrajectoryCompound|Gruparea și conectarea traiectoriilor]]: Conectează un set de traiectorii și creează o traiectorie mai complexă


== Scripting ==
== Script ==
Această secțiune este generată prin: https://github.com/FreeCAD/FreeCAD_sf_master/blob/master/src/Mod/Robot/RobotExample.py
Puteți folosi acest fișier direct dacă doriți.


<div class="mw-translate-fuzzy">
Exemplu de utilizare a clasei de roboți de bază Robot6Axis care reprezintă un robot industrial cu 6 axe. Modulul Robot depinde de Atelierul Piese, dar nu și de alte module.
A se vedea [[Robot API example]] pentru o descriere a funcțiilor utilizate pentru a modela deplasările robotului .
Funcționează mai ales cu tipurile de bază Plasament, Vector și Matrix. Deci avem nevoie
</div>
numai:
{{Code|code=
from Robot import *
from Part import *
from FreeCAD import *
}}
=== Chestii de bază în robotică ===
creați robotul. Dacă nu specificați altă cinematică, acesta devine un Puma 560
{{Code|code=
rob = Robot6Axis()
print rob
}}
accesând axa și Tcp. Axele merg de la 1-6 și sunt în grad:
{{Code|code=
Start = rob.Tcp
print Start
print rob.Axis1
}}
mișcați prima axă a robotului:
{{Code|code=
rob.Axis1 = 5.0
}}
TCP sa schimbat (urmariți cinematica mecanismului)
{{Code|code=
print rob.Tcp
}}
mișcați robotul înapoi în poziția inițială (kinematic invers):
{{Code|code=
rob.Tcp = Start
print rob.Axis1
}}
la fel cu axa 2:
{{Code|code=
rob.Axis2 = 5.0
print rob.Tcp
rob.Tcp = Start
print rob.Axis2
}}
Waypoints:
{{Code|code=
w = Waypoint(Placement(),name="Pt",type="LIN")
print w.Name,w.Type,w.Pos,w.Cont,w.Velocity,w.Base,w.Tool
}}
generați mai mult. Traiectoria întotdeauna găsește automat un nume unic pentru punctele de trecere
{{Code|code=
l = [w]
for i in range(5):
l.append(Waypoint(Placement(Vector(0,0,i*100),Vector(1,0,0),0),"LIN","Pt"))
}}
creați o traiectorie
{{Code|code=
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"))
}}
uite o listă a tuturor punctelor de trecere:
{{Code|code=
print t.Waypoints
del rob,Start,t,l,w
}}
===Lucrul cu obiectele documentului ===


Pentru a lucra cu obiectele documentului robot:
creați mai întâi un robot în documentul activ
{{Code|code=
if(App.activeDocument() == None):App.newDocument()
App.activeDocument().addObject("Robot::RobotObject","Robot")
}}
Definiți reprezentarea vizuală și definiția cinematică (see [[Robot_6-Axis|Robot 6-Axis]] and [[VRML Preparation for Robot Simulation|VRML Preparation for Robot Simulation]] for details about that)
{{Code|code=
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"
}}
poziția inițială a Axei (numai dacă diferă de 0)
{{Code|code=
App.activeDocument().Robot.Axis2 = -90
App.activeDocument().Robot.Axis3 = 90
}}
extrageți poziția Tcp
{{Code|code=
pos = FreeCAD.getDocument("Unnamed").getObject("Robot").Tcp
}}
motați robotul
{{Code|code=
pos.move(App.Vector(-10,0,0))
FreeCAD.getDocument("Unnamed").getObject("Robot").Tcp = pos
}}
creați o traiectorie vidă în documentul activ
{{Code|code=
App.activeDocument().addObject("Robot::TrajectoryObject","Trajectory")
}}
obțineți Traiectoria
{{Code|code=
t = App.activeDocument().Trajectory.Trajectory
}}
adăugați poziția TCP reală a robotului în traiectorie
{{Code|code=
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:
{{Code|code=
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
{{Code|code=
from KukaExporter import ExportCompactSub

ExportCompactSub(App.activeDocument().Robot,App.activeDocument().Trajectory,'D:/Temp/TestOut.src')
}}
and that's kind of how it's done:
{{Code|code=
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))

}}
== Tutoriale ==
== Tutoriale ==
* [[Robot 6-Axis|Robot 6-Axis]]
* [[Robot 6-Axis|Robot 6-Axis]]
* [[VRML Preparation for Robot Simulation|VRML Preparation for Robot Simulation]]
* [[VRML Preparation for Robot Simulation|VRML Preparation for Robot Simulation]]


<div class="mw-translate-fuzzy">
{{docnav|FEM Module|Standard Menu}}
{{Robot Tools navi}}
{{Userdocnavi}}
[[Category:Workbenches]]
</div>


{{Robot Tools navi}}
{{docnav/ro|Arch Module/ro|Macros/ro}}
{{Userdocnavi}}

[[Category:User Documentation/ro]]
[[Category:Workbenches]]

Revision as of 16:14, 1 April 2019

FEM Module
Standard Menu

Introducere

Atelierul robotică Robot Workbench este un instrument pentru a simula un robot industrial standard având 6 axe de libertate 6-axis industrial robot, cum ar fi de ex. Kuka.

Puteți efectua următoarele activități:

  • Configurați un mediu de simulare cu un robot și piese de lucru;
  • Creați și urmați traiectoriile;
  • Descompuneți caracteristicile/funcționalitățile unei piese CAD într-o traiectorie;
  • Simulați mișcarea și accesibilitatea robotului;
  • Exportați traiectoria într-un fișier de program de robot.

Pentru a începe încercați Robot tutorial, și vedeți interfața de programare în fișierul exemplu aici: RobotExample.py

Instrumente

Aici sunt comenzile principale pe care le puteți utiliza pentru a seta un robot.

Roboți

Instrumentele pentru crearea și gestionarea roboților cu 6 axe

Traiectorii

Instrumente pentru crearea și manipularea traiectoriilor. Există două tipuri, cele parametrice și cele neparametrice.

Traiectoriile Non Parametrice

Traiectorii Parametrice

Script

A se vedea Robot API example pentru o descriere a funcțiilor utilizate pentru a modela deplasările robotului .

Tutoriale