Robot Workbench/ro: Difference between revisions

From FreeCAD Documentation
No edit summary
mNo edit summary
(17 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|240px|center]]
{{Caption|align=center|The FreeCAD Robot Workbench Icon}}
{{VeryImportantMessage|The FreeCAD Robot Workbench is unmaintained. Please mention on the FreeCAD forum if you have an interest in maintaining this workbench.}}

== 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 un instrument 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}}
[[Image:Robot_Workbench_example.jpg|600px]]


== Instrumente ==
== Instrumente ==
Line 19: Line 33:
Instrumentele pentru crearea și gestionarea roboților cu 6 axe
Instrumentele pentru crearea și gestionarea roboților cu 6 axe


<div class="mw-translate-fuzzy">
* [[Image:Robot_CreateRobot.png|30px]] [[Robot_CreateRobot|Creați un 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
</div>


=== 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.


<div class="mw-translate-fuzzy">
==== 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
Line 34: Line 51:
* [[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 trecere]]: 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
</div>


<div class="mw-translate-fuzzy">
==== traiectorii parametrice ====
==== Traiectorii Parametrice ====
* [[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_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 suplimentară(Dress-up)]]: Creați o traiectorie suplimentară care va suprascrie anumite proprietăți ale traiectoriei inițiale
* [[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|Gruparea și conectarea traiectoriilor]]: Conectează un set de traiectorii și creează o traiectorie mai complexă
* [[Image:Robot_TrajectoryCompound.png|30px]] [[Robot_TrajectoryCompound|Gruparea și conectarea traiectoriilor]]: Conectează un set de traiectorii și creează o traiectorie mai complexă
</div>


== Script ==
== 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">
Acesta este un 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 mișcarea lor este exprimată în grade:
{{Code|code=
Start = rob.Tcp
print Start
print rob.Axis1
}}
mișcați prima axă a robotului:
{{Code|code=
rob.Axis1 = 5.0
}}
TCP s-a 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
}}
mișcaț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
}}
introduceți mai multe puncte de traseu și punctul de pornire la sfârșitul din nou:
{{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
}}

=== Simularea ===
Care trebuie dăcută.....
=== Exportând traiectorie ===
Traiectoria este exportată by Python. Asta înseamnă că pentru fiecare tip de dulap de comandă există un postprocesor Modul Python. Aici este detaliat post-procesorul Kuka descris
{{Code|code=
from KukaExporter import ExportCompactSub

ExportCompactSub(App.activeDocument().Robot,App.activeDocument().Trajectory,'D:/Temp/TestOut.src')
}}
și asta este felul cum se face:
{{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]]


{{Docnav
|[[Reverse Engineering Workbench|Reverse Engineering Workbench]]
|[[Ship Workbench|Ship Workbench]]
|IconL=Workbench_Reverse_Engineering.svg
|IconR=Workbench_Ship.svg
}}


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

[[Category:User Documentation/ro]]
[[Category:Workbenches{{#translation:}}]]

Revision as of 18:11, 21 February 2020

FEM Module
Standard Menu

The FreeCAD Robot Workbench Icon

The FreeCAD Robot Workbench is unmaintained. Please mention on the FreeCAD forum if you have an interest in maintaining this workbench.

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