Robot Workbench/tr: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
No edit summary
 
(35 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<languages/>
[[Image:KukaKR16FreeCAD.jpg|right|400px]]


{{Docnav
The robot workbench is a tool to simulate industrial grade [[Robot_6-Axis|Robot 6-Axis]], like e.g. [http://kuka.com/ Kuka].
|[[Reverse_Engineering_Workbench|Reverse Engineering Workbench]]
You can do the following tasks:
|[[Sketcher_Workbench|Sketcher Workbench]]
* set up a simulation environment with a robot and work pieces
|IconL=Workbench_Reverse_Engineering.svg
* create and fill up trajectories
|IconR=Workbench_Sketcher.svg
* decompose features of an CAD part to a trajectory
}}
* simulate the robot movement and reachability
* export the trajectory to a robot program file


{{VeryImportantMessage|The Robot Workbench is unmaintained. If you have experience with the topic and are interested in maintaining it, please state your intention in the developer's section of the [https://forum.freecadweb.org/index.php FreeCAD forum].
You can find an example here:
[https://github.com/FreeCAD/FreeCAD_sf_master/blob/master/src/Mod/Robot/RobotExample.py Example files] or try
the [[Robot tutorial]].


The reason this workbench is still in the master source code is because this workbench is programmed in C++. If this workbench could be programmed in Python, then it could be made an [[external_workbenches|external workbench]] and it could be moved to a separate repository.
== Tools ==
}}
Here the principal commands you can use to create a robot set-up.


=== Robots ===
== Giriş ==
The tools to create and manage the 6-Axis robots


[[Image:Workbench_Robot.svg|thumb|128px|Robot workbench icon]]
* [[Image:Robot_CreateRobot.png|30px]] [[Robot_CreateRobot|Create a robot]]: Insert a new robot into the scene
* [[Image:Robot_Simulate.png|30px]] [[Robot_Simulate|Simulate a trajectory]]: Opens the simulation dialog and lets you simulate
* [[Image:Robot_Export.png|30px]] [[Robot_Export|Export a trajectory]]: Export a robot program file
* [[Image:Robot_SetHomePos.png|30px]] [[Robot_SetHomePos|Set home positon]]: Set the home position of a robot
* [[Image:Robot_RestoreHomePos.png|30px]] [[Robot_RestoreHomePos|Restore home positon]]: move the robot to its home position


<div class="mw-translate-fuzzy">
=== Trajectories ===
[[Robot Workbench/tr|Robot Tezgahı]], [http://kuka.com/ Kuka] gibi bir standart [[Robot_6-Axis|6 eksenli endüstriyel robot]] 'u simüle etmek için kullanılan bir araçtır.
Tools to create and manipulate trajectories. There are two kinds, the parametric and non parametric ones.
</div>


Aşağıdaki görevleri yapabilirsiniz:
==== non parametric trajectories ====
* Bir robot ve iş parçaları ile bir simülasyon ortamı kurun.
* [[Image:Robot_CreateTrajectory.png|30px]] [[Robot_CreateTrajectory|Create a trajectory]]: Inserts a new empty trajectory-object into the scene
* Hareket yörüngelerini oluşturun ve doldurun.
* [[Image:Robot_SetDefaultOrientation.png|30px]] [[Robot_SetDefaultOrientation|Set the default orientation]]: Set the orientation way-points gets created by default
* Bir CAD parçasının özelliklerini bir yörüngeye ayırın.
* [[Image:Robot_SetDefaultValues.png|30px]] [[Robot_SetDefaultValues|Set the default speed parameter]]: Set the default values for way-point creation
* Robot hareketini simüle edin ve mesafeye ulaşın.
* [[Image:Robot_InsertWaypoint.png|30px]] [[Robot_InsertWaypoint|Insert a waypoint]]: Insert a way-point from the current robot position into a trajectory
* Yörüngeyi bir robot program dosyasına aktarın.
* [[Image:Robot_InsertWaypointPre.png|30px]] [[Robot_InsertWaypointPre|Insert a waypoint]]: Insert a way-point from the current mouse position into a trajectory


<div class="mw-translate-fuzzy">
==== parametric trajectories ====
Başlamak için [[Robot tutorial/tr|Robot klavuzunu]] deneyin ve [https://github.com/FreeCAD/FreeCAD_sf_master/blob/master/src/Mod/Robot/RobotExample.py RobotExample.py] örneğindeki programlama arayüzünü görün.
* [[Image:Robot_Edge2Trac.png|30px]] [[Robot_Edge2Trac|Create a trajectory out of edges]]: Insert a new object which decompose edges to a trajectory
</div>
* [[Image:Robot_TrajectoryDressUp.png|30px]] [[Robot_TrajectoryDressUp|Dress-up a trajectory]]: Lets you override one or more properties of a trajectory
* [[Image:Robot_TrajectoryCompound.png|30px]] [[Robot_TrajectoryCompound|Trajectory compound]]: Create a compound out of some single trajectories


{{TOCright}}
== Scripting ==
[[Image:Robot_Workbench_example.jpg|500px]]
This section is generated out of: https://github.com/FreeCAD/FreeCAD_sf_master/blob/master/src/Mod/Robot/RobotExample.py
You can use this file directly if you want.


== Araçlar ==
Example how to use the basic robot class Robot6Axis which represents a 6-axis
Burada bir robot kurulumu oluşturmak için kullanabileceğiniz temel komutlar.
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:
{{Code|code=
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
{{Code|code=
rob = Robot6Axis()
print rob
}}
accessing the axis and the Tcp. Axes go from 1-6 and are in degree:
{{Code|code=
Start = rob.Tcp
print Start
print rob.Axis1
}}
move the first axis of the robot:
{{Code|code=
rob.Axis1 = 5.0
}}
the Tcp has changed (forward kinematic)
{{Code|code=
print rob.Tcp
}}
move the robot back to start position (reverse kinematic):
{{Code|code=
rob.Tcp = Start
print rob.Axis1
}}
the same with axis 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
}}
generate more. The trajectory always finds automatically a unique name for the waypoints
{{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"))
}}
create a trajectory
{{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"))
}}
see a list of all waypoints:
{{Code|code=
print t.Waypoints
del rob,Start,t,l,w
}}
=== Working with the document objects ===


=== Robotlar ===
Working with the robot document objects:
6 Eksenli robotları oluşturma ve yönetme araçları
first create a robot in the active document
{{Code|code=
if(App.activeDocument() == None):App.newDocument()
App.activeDocument().addObject("Robot::RobotObject","Robot")
}}
Define the visual representation and the kinematic definition (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"
}}
start positon of the Axis (only that which differ from 0)
{{Code|code=
App.activeDocument().Robot.Axis2 = -90
App.activeDocument().Robot.Axis3 = 90
}}
retrieve the Tcp position
{{Code|code=
pos = FreeCAD.getDocument("Unnamed").getObject("Robot").Tcp
}}
move the robot
{{Code|code=
pos.move(App.Vector(-10,0,0))
FreeCAD.getDocument("Unnamed").getObject("Robot").Tcp = pos
}}
create an empty Trajectory object in the active document
{{Code|code=
App.activeDocument().addObject("Robot::TrajectoryObject","Trajectory")
}}
get the Trajectory
{{Code|code=
t = App.activeDocument().Trajectory.Trajectory
}}
add the actual TCP position of the robot to the trajectory
{{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"))


<div class="mw-translate-fuzzy">
t.insertWaypoints(StartTcp) # end point of the trajectory
* [[Image: Robot_CreateRobot.png | 30px]] [[Robot_CreateRobot/tr |Robot Oluştur]]: Sahneye yeni bir robot yerleştirin
App.activeDocument().Trajectory.Trajectory = t
* [[Image: Robot_Simulate.png | 30px]] [[Robot_Simulate/tr | Robot Simülasyon]] : Simülasyon iletişim kutusunu açar ve simüle etmenizi sağlar
print App.activeDocument().Trajectory.Trajectory
* [[Image: Robot_Export.png | 30px]] [[Robot_Export/tr| Robot Dışa aktar]]: Bir robot program dosyasını dışa aktarın
}}
* [[Image: Robot_SetHomePos.png | 30px]] [[ Robot_SetHomePos/tr | Ana konum ayarla]]: Bir robotun ana konumunu ayarlayın
* [[Image: Robot_RestoreHomePos.png | 30px]] [[Robot_RestoreHomePos | Ana konuma dön]]: robotu ana konumuna getirir.
</div>


=== Simulation ===
=== Yörüngeler ===
Yörüngeleri oluşturmak ve değiştirmek için araçlar. Parametrik ve parametrik olmayan iki tür vardır.
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


<div class="mw-translate-fuzzy">
ExportCompactSub(App.activeDocument().Robot,App.activeDocument().Trajectory,'D:/Temp/TestOut.src')
==== Parametrik olmayan yörüngeler ====
}}
* [[Image: Robot_CreateTrajectory.png | 30px]] [[Robot_CreateTrajectory/tr |Yörünge oluştur]]: Sahneye yeni bir boş yörünge nesnesi ekler
* [[Image: Robot_SetDefaultOrientation.png | 30px]] [[Robot_SetDefaultOrientation/tr | Varsayılan yönlendirmeyi ayarla]]: Oryantasyon yol noktalarını varsayılan olarak oluşturulacak şekilde ayarlayın
and that's kind of how it's done:
* [[Image: Robot_SetDefaultValues.png | 30px]] [[Robot_SetDefaultValues/tr|Varsayılan değerleri ayarla]] Yol noktası oluşturma için varsayılan değerleri ayarlayın.
{{Code|code=
* [[Image: Robot_InsertWaypoint.png | 30px]] [[Robot_InsertWaypoint/tr| Bir yol noktası ekleyin]]: Geçerli robot konumundan bir yörüngeye bir yol noktası ekleyin
for w in App.activeDocument().Trajectory.Trajectory.Waypoints:
* [[Image: Robot_InsertWaypointPre.png | 30px]] [[Robot_InsertWaypointPre/tr | Bir yol noktası ekle]]: Geçerli fare konumundan bir yörüngeye bir yol noktası ekleyin
(A,B,C) = (w.Pos.Rotation.toEuler())
</div>
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))


<div class="mw-translate-fuzzy">
}}
==== Parametrik yörüngeler ====
== Tutorials ==
* [[Image: Robot_Edge2Trac.png | 30px]] [[Robot_Edge2Trac | Kenarlardan bir yörünge oluşturun]]: Kenarları yörüngeye çeviren yeni bir nesne yerleştirin
* [[Robot 6-Axis|Robot 6-Axis]]
* [[Image: Robot_TrajectoryDressUp.png | 30px]] [[Robot_TrajectoryDressUp | Bir yörüngeyi giydir]]: Yörüngenin bir veya daha fazla özelliğini geçersiz kılmanıza izin verir
* [[VRML Preparation for Robot Simulation|VRML Preparation for Robot Simulation]]
* [[Image: Robot_TrajectoryCompound.png | 30px]] [[Robot_TrajectoryCompound | Trajectory ...]]: Bazı tek yörüngelerin dışında bir bileşik oluşturun
</div>


== Betik ==


<div class="mw-translate-fuzzy">
{{docnav|FEM Module|Standard Menu}}
Robot yer değiştirmelerini modellemek için kullanılan işlevlerin açıklaması için [[Robot API example/tr|Robot API örneği]] bölümüne bakınız.
</div>


== Kılavuzlar ==
[[Category:User_Documentation/tr]]
* [[Robot 6-Axis/tr | Robot 6 Eksen]]
* [[VRML Preparation for Robot Simulation/tr| Robot Simülasyonu için VRML Hazırlığı]]




<div class="mw-translate-fuzzy">
<languages/>
{{docnav/tr|[[FEM Workbench/tr|FEM tezgahı]]|[[Standard Menu/tr|Standart Menü]]}}
{{Robot Tools navi/tr}}
{{Userdocnavi/tr}}
[[Category:Workbenches/tr]]
</div>

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

Latest revision as of 10:28, 27 August 2021

The Robot Workbench is unmaintained. If you have experience with the topic and are interested in maintaining it, please state your intention in the developer's section of the FreeCAD forum.

The reason this workbench is still in the master source code is because this workbench is programmed in C++. If this workbench could be programmed in Python, then it could be made an external workbench and it could be moved to a separate repository.

Giriş

Robot workbench icon

Robot Tezgahı, Kuka gibi bir standart 6 eksenli endüstriyel robot 'u simüle etmek için kullanılan bir araçtır.

Aşağıdaki görevleri yapabilirsiniz:

  • Bir robot ve iş parçaları ile bir simülasyon ortamı kurun.
  • Hareket yörüngelerini oluşturun ve doldurun.
  • Bir CAD parçasının özelliklerini bir yörüngeye ayırın.
  • Robot hareketini simüle edin ve mesafeye ulaşın.
  • Yörüngeyi bir robot program dosyasına aktarın.

Başlamak için Robot klavuzunu deneyin ve RobotExample.py örneğindeki programlama arayüzünü görün.

Araçlar

Burada bir robot kurulumu oluşturmak için kullanabileceğiniz temel komutlar.

Robotlar

6 Eksenli robotları oluşturma ve yönetme araçları

Yörüngeler

Yörüngeleri oluşturmak ve değiştirmek için araçlar. Parametrik ve parametrik olmayan iki tür vardır.

Parametrik olmayan yörüngeler

Parametrik yörüngeler

Betik

Robot yer değiştirmelerini modellemek için kullanılan işlevlerin açıklaması için Robot API örneği bölümüne bakınız.

Kılavuzlar