Robot Workbench/de: Difference between revisions
No edit summary |
(Created page with "=== Trajektorien === Werkzeuge zum Erstellen und Bearbeiten von Trajektorien. Es gibt zwei Arten, die parametrische und die nicht parametrische.") |
||
(29 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
<languages/> |
|||
[[Image:KukaKR16FreeCAD.jpg|right|400px]] |
|||
{{docnav/de|[[Reverse Engineering Workbench|Reverse Engineering Workbench]]|[[Ship Workbench|Ship Workbench]]|IconL=ReverseEngineeringWorkbench.svg|IconR=Workbench_Ship.svg |
|||
}} |
|||
[[Image:Workbench_Robot.svg|64px]] |
|||
The robot workbench is a tool to simulate industrial grade [[6-Axis Robot]]s, like e.g. [http://kuka.com/ Kuka]. |
|||
You can do following tasks: |
|||
* set up a simulation environment with a robot and work pieces |
|||
* create and fill up trajectories |
|||
* decompose features of an CAD part to a trajectory |
|||
* simulate the robot movement and reachability |
|||
* export the trajectory to a robot program file |
|||
==Einleitung== |
|||
An examples you can find here: |
|||
[http://www.freecad-project.de/svn/ExampleData/Examples/RobotSimulation/ Example files] or try |
|||
the [[Robot tutorial]]. |
|||
Die [[Robot Workbench/de|Roboter Arbeitsbereich]] ist ein Werkzeug zur Simulation eines Standard [[Robot_6-Achsen|6-Achsen-Industrieroboters]], wie [http://kuka.com/ Kuka]. |
|||
== Tools == |
|||
Here the principal commands you can use to create a robot set-up. |
|||
Du kannst die folgenden Aufgaben erledigen: |
|||
=== Robots === |
|||
* Richten eine Simulationsumgebung mit einem Roboter und Werkstücken ein. |
|||
The tools to create and manage the 6-Axis robots |
|||
* Erstellen und Auffüllen von Bewegungstrajektorien. |
|||
* Zerlege die Merkmale eines CAD-Bauteils in eine Trajektorie. |
|||
* Simuliere die Roboterbewegung und das Erreichen der Distanz. |
|||
* Exportiere die Trajektorie in eine Roboterprogrammdatei. |
|||
Um loszulegen, versuche es mit dem [[Robot Tutorial]], und sieh Dir die Programmierschnittstelle in der Beispieldatei [https://github.com/FreeCAD/FreeCAD_sf_master/blob/master/src/Mod/Robot/RobotExample.py RobotExample.py] an. |
|||
{{TOCright}} |
|||
[[Image:Robot_Workbench_example.jpg|600px]] |
|||
== Werkzeuge == |
|||
Hier die wichtigsten Befehle, mit denen eine Roboteranordnung erstellt werden kann. |
|||
==== Roboter ====== |
|||
Die Werkzeuge zur Erstellung und Verwaltung der 6-Achsen-Roboter |
|||
* [[Image:Robot_CreateRobot.png|30px]] [[Robot_CreateRobot|Create a robot]]: Insert a new robot into the scene |
* [[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 |
* [[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_Export.png|30px]] [[Robot_Export|Export a trajectory]]: Export a robot program file |
||
* [[Image:Robot_SetHomePos.png|30px]] [[Robot_SetHomePos|Set home position]]: Set the home position of a robot |
|||
* [[Image:Robot_RestoreHomePos.png|30px]] [[Robot_RestoreHomePos|Restore home position]]: move the robot to its home position |
|||
=== Trajektorien === |
|||
* [[Image:Robot_SetHomePos.png|30px]] [[Robot_SetHomePos|Set home positon]]: Set the home position of an robot |
|||
Werkzeuge zum Erstellen und Bearbeiten von Trajektorien. Es gibt zwei Arten, die parametrische und die nicht parametrische. |
|||
* [[Image:Robot_RestoreHomePos.png|30px]] [[Robot_RestoreHomePos|Restore home positon]]: move the robot to its home position |
|||
==== Non parametric trajectories ==== |
|||
=== Trajectories === |
|||
* [[Image:Robot_CreateTrajectory.png|30px]] [[Robot_CreateTrajectory|Create a trajectory]]: Inserts a new empty trajectory-object into the scene |
|||
Tools to creat and manipulate trajectories. There are two kinds, the parametric and non parametric ones. |
|||
==== non parametric ==== |
|||
* [[Image:Robot_CreateTrajectory.png|30px]] [[Robot_CreateTrajectory|Create a trajectory]]: Insert a new robot into the scene |
|||
* [[Image:Robot_SetDefaultOrientation.png|30px]] [[Robot_SetDefaultOrientation|Set the default orientation]]: Set the orientation way-points gets created by default |
* [[Image:Robot_SetDefaultOrientation.png|30px]] [[Robot_SetDefaultOrientation|Set the default orientation]]: Set the orientation way-points gets created by default |
||
* [[Image:Robot_SetDefaultValues.png|30px]] [[Robot_SetDefaultValues|Set the default speed parameter]]: |
* [[Image:Robot_SetDefaultValues.png|30px]] [[Robot_SetDefaultValues|Set the default speed parameter]]: Set the default values for way-point creation |
||
* [[Image:Robot_InsertWaypoint.png|30px]] [[Robot_InsertWaypoint|Insert a waypoint]]: Insert a way-point from the current robot position into a trajectory |
* [[Image:Robot_InsertWaypoint.png|30px]] [[Robot_InsertWaypoint|Insert a waypoint]]: Insert a way-point from the current robot position into a trajectory |
||
* [[Image:Robot_InsertWaypointPre.png|30px]] [[Robot_InsertWaypointPre|Insert a waypoint]]: Insert a way-point from the current mouse position into a trajectory |
* [[Image:Robot_InsertWaypointPre.png|30px]] [[Robot_InsertWaypointPre|Insert a waypoint preselected]]: Insert a way-point from the current mouse position into a trajectory |
||
==== |
==== 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_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]]: |
* [[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]]: |
* [[Image:Robot_TrajectoryCompound.png|30px]] [[Robot_TrajectoryCompound|Trajectory compound]]: Create a compound out of some single trajectories |
||
== Scripting == |
== Scripting == |
||
See the [[Robot API example|Robot API example]] for a description of the functions used to model the robot displacements. |
|||
This section is generated out of: http://sourceforge.net/p/free-cad/code/ci/master/tree/src/Mod/Robot/RobotExample.py |
|||
You can use this file directly if you want. |
|||
Example how to use the basic robot class Robot6Axis which represents a 6-axis |
|||
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: |
|||
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 |
|||
rob = Robot6Axis() |
|||
print rob |
|||
accessing the axis and the Tcp. Axes go from 1-6 and are in degree: |
|||
Start = rob.Tcp |
|||
print Start |
|||
print rob.Axis1 |
|||
move the first axis of the robot: |
|||
rob.Axis1 = 5.0 |
|||
the Tcp has changed (forward kinematic) |
|||
print rob.Tcp |
|||
move the robot back to start position (reverse kinematic): |
|||
rob.Tcp = Start |
|||
print rob.Axis1 |
|||
the same with axis 2: |
|||
rob.Axis2 = 5.0 |
|||
print rob.Tcp |
|||
rob.Tcp = Start |
|||
print rob.Axis2 |
|||
Waypoints: |
|||
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 |
|||
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 |
|||
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: |
|||
print t.Waypoints |
|||
del rob,Start,t,l,w |
|||
=== working with the document === |
|||
Working with the robot document objects: |
|||
first create a robot in the active document |
|||
if(App.activeDocument() == None):App.newDocument() |
|||
App.activeDocument().addObject("Robot::RobotObject","Robot") |
|||
Define the visual representation and the kinematic definition (see [[6-Axis Robot]] and [[VRML Preparation for Robot Simulation]] for details about that) |
|||
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) |
|||
App.activeDocument().Robot.Axis2 = -90 |
|||
App.activeDocument().Robot.Axis3 = 90 |
|||
retrieve the Tcp position |
|||
pos = FreeCAD.getDocument("Unnamed").getObject("Robot").Tcp |
|||
move the robot |
|||
pos.move(App.Vector(-10,0,0)) |
|||
FreeCAD.getDocument("Unnamed").getObject("Robot").Tcp = pos |
|||
create an empty Trajectory object in the active document |
|||
App.activeDocument().addObject("Robot::TrajectoryObject","Trajectory") |
|||
get the Trajectory |
|||
t = App.activeDocument().Trajectory.Trajectory |
|||
add the actual TCP position of the robot to the trajectory |
|||
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: |
|||
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 |
|||
from KukaExporter import ExportCompactSub |
|||
ExportCompactSub(App.activeDocument().Robot,App.activeDocument().Trajectory,'D:/Temp/TestOut.src') |
|||
and that's kind of how it's done: |
|||
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)) |
|||
{{docnav/de|[[Arch Module/de|Der Arbeitsbereich Architektur]]|[[List of Commands/de|Liste aller Kommandos]]}} |
|||
== Tutorials == |
|||
[[Category:User Documentation]] |
|||
* [[Robot 6-Axis|Robot 6-Axis]] |
|||
* [[VRML Preparation for Robot Simulation|VRML Preparation for Robot Simulation]] |
|||
<div class="mw-translate-fuzzy"> |
|||
{{languages |{{cn|Robot Workbench/cn}} {{de|Robot Workbench/de}} {{es|Robot Workbench/es}} {{fr|Robot Workbench/fr}} {{it|Robot Module/it}} {{jp|Robot Module/jp}} {{ru|Robot Workbench/ru}} {{se|Robot Workbench/se}} }} |
|||
{{docnav/de|[[FEM Module/de|FEM-Arbeitsbereich]]|[[Standard Menu/de|Standard-Menü]]}} |
|||
{{Robot Tools navi/de}} |
|||
{{Userdocnavi/de}} |
|||
[[Category:Workbenches/de]] |
|||
</div> |
|||
{{Robot Tools navi}} |
|||
[[Category:User Documentation/de]] |
|||
{{Userdocnavi}} |
|||
[[Category:Workbenches]] |
Revision as of 22:54, 17 November 2019
Einleitung
Die Roboter Arbeitsbereich ist ein Werkzeug zur Simulation eines Standard 6-Achsen-Industrieroboters, wie Kuka.
Du kannst die folgenden Aufgaben erledigen:
- Richten eine Simulationsumgebung mit einem Roboter und Werkstücken ein.
- Erstellen und Auffüllen von Bewegungstrajektorien.
- Zerlege die Merkmale eines CAD-Bauteils in eine Trajektorie.
- Simuliere die Roboterbewegung und das Erreichen der Distanz.
- Exportiere die Trajektorie in eine Roboterprogrammdatei.
Um loszulegen, versuche es mit dem Robot Tutorial, und sieh Dir die Programmierschnittstelle in der Beispieldatei RobotExample.py an.
Werkzeuge
Hier die wichtigsten Befehle, mit denen eine Roboteranordnung erstellt werden kann.
Roboter ==
Die Werkzeuge zur Erstellung und Verwaltung der 6-Achsen-Roboter
- Create a robot: Insert a new robot into the scene
- Simulate a trajectory: Opens the simulation dialog and lets you simulate
- Export a trajectory: Export a robot program file
- Set home position: Set the home position of a robot
- Restore home position: move the robot to its home position
Trajektorien
Werkzeuge zum Erstellen und Bearbeiten von Trajektorien. Es gibt zwei Arten, die parametrische und die nicht parametrische.
Non parametric trajectories
- Create a trajectory: Inserts a new empty trajectory-object into the scene
- Set the default orientation: Set the orientation way-points gets created by default
- Set the default speed parameter: Set the default values for way-point creation
- Insert a waypoint: Insert a way-point from the current robot position into a trajectory
- Insert a waypoint preselected: Insert a way-point from the current mouse position into a trajectory
Parametric trajectories
- Create a trajectory out of edges: Insert a new object which decompose edges to a trajectory
- Dress-up a trajectory: Lets you override one or more properties of a trajectory
- Trajectory compound: Create a compound out of some single trajectories
Scripting
See the Robot API example for a description of the functions used to model the robot displacements.
Tutorials
Robot
- Roboter: Roboter einfügen, Simulieren einer Bewegungsbahn, Exportiere Bewegungsbahn, Ausgangsposition setzen, zur Ausgangsposition zurückkehren
- Bewegungsbahnen, nicht-parametrisch: Erstelle Bewegungsbahn, Set default orientation, Festlegen von Standardwerten, In Bewegungsbahn einfügen, Wegpunkt einfügen (Maus)
- Bwegungsbahnen, parametrisch: Bewegungsbahn aus Kanten, Bewegungsbahn verschönern, Bewegungsbahnen verbinden
Anwenderdokumentation
- Erste Schritte
- Installation: Herunterladen, Windows, Linux, Mac, Zusätzlicher Komponenten, Docker, AppImage, Ubuntu Snap
- Grundlagen: Über FreeCAD, Graphische Oberfläche, Mausbedienung, Auswahlmethoden, Objektname, Programmeinstellungen, Arbeitsbereiche, Dokumentstruktur, Objekteigenschaften, Hilf FreeCAD, Spende
- Hilfe: Tutorien, Video Tutorien
- Arbeitsbereiche: Std Base, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Start, Surface, TechDraw, Test Framework, Web
Robot
- Trajectories, non parametric: Create a trajectory, Set default orientation, Set default values, Insert waypoint, Insert waypoint (mouse)
- Trajectories, parametric: Create a trajectory from edges, Dress-up trajectory, Trajectory compound
User documentation
- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Start, Surface, TechDraw, Test Framework, Web
- Hubs: User hub, Power users hub, Developer hub