Robot Workbench/pl: Difference between revisions
(Updating to match new version of source page) |
No edit summary |
||
(61 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
<languages/> |
|||
[[Image:KukaKR16FreeCAD.jpg|right|400px]] |
|||
{{Docnav/pl |
|||
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/pl|środowisko pracy Reverse Engineering]] |
|||
You can do the following tasks: |
|||
|[[Sketcher_Workbench/pl|środowisko pracy Sketcher]] |
|||
* 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|Środowisko pracy FreeCAD Robot nie jest utrzymywane. Jeśli masz doświadczenie w tym temacie i jesteś zainteresowany jego utrzymaniem, poinformuj o swoich zamiarach w sekcji dla deweloperów na forum [https://forum.freecadweb.org/index.php FreeCAD]. |
|||
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]]. |
|||
Powodem, dla którego ten warsztat jest nadal w głównym kodzie źródłowym jest to, że jest on zaprogramowany w C++. Jeśli mógłby być zaprogramowany w Pythonie, to można by utworzyć [[external_workbenches|zewnętrzne środowisko]] i mógłby być przeniesiony do osobnego repozytorium. |
|||
== Tools == |
|||
}} |
|||
Here the principal commands you can use to create a robot set-up. |
|||
== |
==Wprowadzenie== |
||
The tools to create and manage the 6-Axis robots |
|||
[[Image:Workbench_Robot.svg|thumb|128px|Ikonka Środowiska pracy Robot]] |
|||
* [[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 |
|||
[[Image:Workbench_Robot.svg|24px]] [[Robot_Workbench|Środowisko pracy Robot]] jest narzędziem do symulacji standardowego [[Robot_6-Axis|6-osiowego robota przemysłowego]], na przykład [http://kuka.com/ Kuka]. |
|||
=== Trajectories === |
|||
Tools to create and manipulate trajectories. There are two kinds, the parametric and non parametric ones. |
|||
Możesz wykonywać następujące zadania: |
|||
==== non parametric trajectories ==== |
|||
* Ustawić środowisko symulacyjne z robotem i elementami roboczymi. |
|||
* [[Image:Robot_CreateTrajectory.png|30px]] [[Robot_CreateTrajectory|Create a trajectory]]: Inserts a new empty trajectory-object into the scene |
|||
* Stworzyć i wypełnić trajektorie ruchu. |
|||
* [[Image:Robot_SetDefaultOrientation.png|30px]] [[Robot_SetDefaultOrientation|Set the default orientation]]: Set the orientation way-points gets created by default |
|||
* Rozłożyć cechy elementów CAD na trajektorię. |
|||
* [[Image:Robot_SetDefaultValues.png|30px]] [[Robot_SetDefaultValues|Set the default speed parameter]]: Set the default values for way-point creation |
|||
* Symulować ruch robota i osiąganie odległości. |
|||
* [[Image:Robot_InsertWaypoint.png|30px]] [[Robot_InsertWaypoint|Insert a waypoint]]: Insert a way-point from the current robot position into a trajectory |
|||
* Wyeksportować trajektorię do pliku programu robota. |
|||
* [[Image:Robot_InsertWaypointPre.png|30px]] [[Robot_InsertWaypointPre|Insert a waypoint]]: Insert a way-point from the current mouse position into a trajectory |
|||
Na wstępie wypróbuj [[Robot_tutorial|Samouczek robota]], i zobacz interfejs programowania w pliku [https://github.com/FreeCAD/FreeCAD_sf_master/blob/master/src/Mod/Robot/RobotExample.py RobotExample.py]. |
|||
==== parametric trajectories ==== |
|||
* [[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_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. |
|||
==Narzędzia== |
|||
Example how to use the basic robot class Robot6Axis which represents a 6-axis |
|||
Tutaj znajdują się główne polecenia, których można użyć do stworzenia konfiguracji dla robota. |
|||
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 === |
|||
===Roboty=== |
|||
Working with the robot document objects: |
|||
Narzędzia do tworzenia i zarządzania robotami 6-osiowymi. |
|||
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")) |
|||
* [[Image:Robot_CreateRobot.svg|30px]] [[Robot_CreateRobot/pl|Wstaw robota]]: Umieść nowego robota na scenie. |
|||
t.insertWaypoints(StartTcp) # end point of the trajectory |
|||
* [[Image:Robot_Simulate.svg|30px]] [[Robot_Simulate/pl|Uruchom symulacje trajektorii]]: Otwiera okno dialogowe symulacji i pozwala na rozpoczęcie symulacji. |
|||
App.activeDocument().Trajectory.Trajectory = t |
|||
* [[Image:Robot_Export.svg|30px]] [[Robot_Export/pl|Eksport trajektorii]]: Eksport pliku programu robota. |
|||
print App.activeDocument().Trajectory.Trajectory |
|||
* [[Image:Robot_SetHomePos.svg|30px]] [[Robot_SetHomePos/pl|Ustaw pozycję startową]]: Ustawianie pozycji startowej robota. |
|||
}} |
|||
* [[Image:Robot_RestoreHomePos.svg|30px]] [[Robot_RestoreHomePos/pl|Przejdź do pozycji startowej]]: Ustaw robota w pozycji startowej. |
|||
=== |
===Tor ruchu=== |
||
Narzędzia do tworzenia i manipulowania trajektoriami. Istnieją dwa podstawowe rodzaje, parametryczne i nie parametryczne. |
|||
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 |
|||
====Trajektorie nie parametryczne==== |
|||
ExportCompactSub(App.activeDocument().Robot,App.activeDocument().Trajectory,'D:/Temp/TestOut.src') |
|||
* [[Image:Robot_CreateTrajectory.svg|30px]] [[Robot_CreateTrajectory/pl|Utwórz trajektorię]]: Wstawia nowy pusty obiekt trajektorii do sceny. |
|||
}} |
|||
* [[Image:Robot_SetDefaultOrientation.svg|30px]] [[Robot_SetDefaultOrientation/pl|Ustaw domyślną orientację]]: Punkty orientacyjne są tworzone jako domyślne. |
|||
* [[Image:Robot_SetDefaultValues.svg|30px]] [[Robot_SetDefaultValues/pl|Ustaw wartości domyślne]]: Ustaw wartości domyślne dla sposobu tworzenia punktów trasy. |
|||
and that's kind of how it's done: |
|||
* [[Image:Robot_InsertWaypoint.svg|30px]] [[Robot_InsertWaypoint/pl|Wstaw pozycje narzędzia ...]]: Wstaw punkt trasy z bieżącej pozycji robota do trajektorii. |
|||
{{Code|code= |
|||
* [[Image:Robot_InsertWaypointPre.svg|30px]] [[Robot_InsertWaypointPre/pl|Wstaw wstępnie wybrany punkt trasy]]: Wstaw w trajektorię punkt orientacyjny z aktualnej pozycji kursora myszki. |
|||
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)) |
|||
====Trajektorie parametryczne==== |
|||
}} |
|||
* [[Image:Robot_Edge2Trac.svg|30px]] [[Robot_Edge2Trac/pl|Generuj trasę z krawędzi]]: Wstaw nowy obiekt, którego krawędzie zostaną rozłożone na trajektorię. |
|||
== Tutorials == |
|||
* [[Image:Robot_TrajectoryDressUp.svg|30px]] [[Robot_TrajectoryDressUp/pl|Ukształtuj trajektorię]]: Pozwala nadpisać jedną lub więcej właściwości trajektorii. |
|||
* [[Robot 6-Axis|Robot 6-Axis]] |
|||
* [[Image:Robot_TrajectoryCompound.svg|30px]] [[Robot_TrajectoryCompound/pl|Grupuj i połącz trajektorie]]: Stworzy układ złożony z kilku pojedynczych trajektorii. |
|||
* [[VRML Preparation for Robot Simulation|VRML Preparation for Robot Simulation]] |
|||
==Tworzenie skryptów== |
|||
Aby uzyskać opis funkcji używanych do modelowania przemieszczeń robota, zobacz [[Robot_API_example/pl|Przykład API dla robota]]. |
|||
{{docnav|FEM Module|Standard Menu}} |
|||
==Poradniki== |
|||
[[Category:User Documentation/pl]] |
|||
* [[Robot_6-Axis/pl|Robot 6-Axis]] |
|||
* [[VRML_Preparation_for_Robot_Simulation/pl|VRML przygotowanie symulacji robota]] |
|||
{{Docnav/pl |
|||
<languages/> |
|||
|[[Reverse_Engineering_Workbench/pl|środowisko pracy Reverse Engineering]] |
|||
|[[Sketcher_Workbench/pl|środowisko pracy Sketcher]] |
|||
|IconL=Workbench_Reverse_Engineering.svg |
|||
|IconR=Workbench_Sketcher.svg |
|||
}} |
|||
{{Robot Tools navi{{#translation:}}}} |
|||
{{Userdocnavi{{#translation:}}}} |
|||
[[Category:Workbenches{{#translation:}}]] |
Latest revision as of 20:06, 22 May 2022
Powodem, dla którego ten warsztat jest nadal w głównym kodzie źródłowym jest to, że jest on zaprogramowany w C++. Jeśli mógłby być zaprogramowany w Pythonie, to można by utworzyć zewnętrzne środowisko i mógłby być przeniesiony do osobnego repozytorium.
Wprowadzenie
Środowisko pracy Robot jest narzędziem do symulacji standardowego 6-osiowego robota przemysłowego, na przykład Kuka.
Możesz wykonywać następujące zadania:
- Ustawić środowisko symulacyjne z robotem i elementami roboczymi.
- Stworzyć i wypełnić trajektorie ruchu.
- Rozłożyć cechy elementów CAD na trajektorię.
- Symulować ruch robota i osiąganie odległości.
- Wyeksportować trajektorię do pliku programu robota.
Na wstępie wypróbuj Samouczek robota, i zobacz interfejs programowania w pliku RobotExample.py.
Narzędzia
Tutaj znajdują się główne polecenia, których można użyć do stworzenia konfiguracji dla robota.
Roboty
Narzędzia do tworzenia i zarządzania robotami 6-osiowymi.
- Wstaw robota: Umieść nowego robota na scenie.
- Uruchom symulacje trajektorii: Otwiera okno dialogowe symulacji i pozwala na rozpoczęcie symulacji.
- Eksport trajektorii: Eksport pliku programu robota.
- Ustaw pozycję startową: Ustawianie pozycji startowej robota.
- Przejdź do pozycji startowej: Ustaw robota w pozycji startowej.
Tor ruchu
Narzędzia do tworzenia i manipulowania trajektoriami. Istnieją dwa podstawowe rodzaje, parametryczne i nie parametryczne.
Trajektorie nie parametryczne
- Utwórz trajektorię: Wstawia nowy pusty obiekt trajektorii do sceny.
- Ustaw domyślną orientację: Punkty orientacyjne są tworzone jako domyślne.
- Ustaw wartości domyślne: Ustaw wartości domyślne dla sposobu tworzenia punktów trasy.
- Wstaw pozycje narzędzia ...: Wstaw punkt trasy z bieżącej pozycji robota do trajektorii.
- Wstaw wstępnie wybrany punkt trasy: Wstaw w trajektorię punkt orientacyjny z aktualnej pozycji kursora myszki.
Trajektorie parametryczne
- Generuj trasę z krawędzi: Wstaw nowy obiekt, którego krawędzie zostaną rozłożone na trajektorię.
- Ukształtuj trajektorię: Pozwala nadpisać jedną lub więcej właściwości trajektorii.
- Grupuj i połącz trajektorie: Stworzy układ złożony z kilku pojedynczych trajektorii.
Tworzenie skryptów
Aby uzyskać opis funkcji używanych do modelowania przemieszczeń robota, zobacz Przykład API dla robota.
Poradniki
- Tor pracy bezparametrowy: Utwórz tor pracy, Ustaw domyślna orientację, Ustaw domyślne wartości, Wstaw narzędzie w tor ruchu, Wstaw pozycję wyboru wstępnego do toru ruchu
- Tor pracy, parametryczny: Wstaw krawędź w tor ruchu, Ulepsz tor ruchu, Złożenie toru pracy
- Jak zacząć
- Instalacja: Pobieranie programu, Windows, Linux, Mac, Dodatkowych komponentów, Docker, AppImage, Ubuntu Snap
- Podstawy: Informacje na temat FreeCAD, Interfejs użytkownika, Profil nawigacji myszką, Metody wyboru, Nazwa obiektu, Edytor ustawień, Środowiska pracy, Struktura dokumentu, Właściwości, Pomóż w rozwoju FreeCAD, Dotacje
- Pomoc: Poradniki, Wideo poradniki
- Środowiska pracy: Strona Startowa, Architektura, Assembly, CAM, Rysunek Roboczy, MES, Inspekcja, Siatka, OpenSCAD, Część, Projekt Części, Punkty, Inżynieria Wsteczna, Robot, Szkicownik, Arkusz Kalkulacyjny, Powierzchnia 3D, Rysunek Techniczny, Test Framework