Robot Workbench/pl: Difference between revisions

From FreeCAD Documentation
(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.


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


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

Ś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 FreeCAD.

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

Ikonka Środowiska pracy Robot

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

Tor ruchu

Narzędzia do tworzenia i manipulowania trajektoriami. Istnieją dwa podstawowe rodzaje, parametryczne i nie parametryczne.

Trajektorie nie parametryczne

Trajektorie parametryczne

Tworzenie skryptów

Aby uzyskać opis funkcji używanych do modelowania przemieszczeń robota, zobacz Przykład API dla robota.

Poradniki