Robot Workbench/sv: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Updating to match new version of source page)
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{docnav|[[Reverse Engineering Workbench|Reverse Engineering Workbench]]|[[Ship Workbench|Ship Workbench]]|IconL=ReverseEngineeringWorkbench.svg|IconR=Workbench_Ship.svg
[[Image:KukaKR16FreeCAD.jpg|right|400px]]
}}


[[Image:Workbench_Robot.svg|64px]]

== Introduction ==

<div class="mw-translate-fuzzy">
Robot arbetsbänken är ett verktyg för simulering av 6-axliga industrirobotar, som t.ex. [http://kuka.com/ Kuka].
Robot arbetsbänken är ett verktyg för simulering av 6-axliga industrirobotar, som t.ex. [http://kuka.com/ Kuka].
Denna arbetsbänk är ett pågående arbete för att implementera ett off-line programmeringsverktyg för [[Robot_6-Axis/sv|Robot_6-Axis]] industrirobotar i FreeCAD.
Denna arbetsbänk är ett pågående arbete för att implementera ett off-line programmeringsverktyg för [[Robot_6-Axis/sv|Robot_6-Axis]] industrirobotar i FreeCAD.
Line 10: Line 16:
* simulate the robot movement and reachability
* simulate the robot movement and reachability
* export the trajectory to a robot program file
* export the trajectory to a robot program file
</div>


You can do the following tasks:
* Set up a simulation environment with a robot and work pieces.
* Create and fill up movement trajectories.
* Decompose features of a CAD part to a trajectory.
* Simulate the robot movement and reaching distance.
* Export the trajectory to a robot program file.

<div class="mw-translate-fuzzy">
Du kan hitta ett exempel här: [https://github.com/FreeCAD/FreeCAD_sf_master/blob/master/src/Mod/Robot/RobotExample.py Example files] or try the [[Robot tutorial]].
Du kan hitta ett exempel här: [https://github.com/FreeCAD/FreeCAD_sf_master/blob/master/src/Mod/Robot/RobotExample.py Example files] or try the [[Robot tutorial]].
</div>

{{TOCright}}
[[Image:Robot_Workbench_example.jpg|600px]]


== Tools ==
== Tools ==
Line 22: Line 41:
* [[Image:Robot_Simulate.png|30px]] [[Robot_Simulate|Simulate a trajectory]]: Opens the simulation dialog and lets you simulate
* [[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 positon]]: Set the home position of a robot
* [[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 positon]]: move the robot to its home position
* [[Image:Robot_RestoreHomePos.png|30px]] [[Robot_RestoreHomePos|Restore home position]]: move the robot to its home position


=== Trajectories ===
=== Trajectories ===
Tools to create and manipulate trajectories. There are two kinds, the parametric and non parametric ones.
Tools to create and manipulate trajectories. There are two kinds, the parametric and non parametric ones.


==== non parametric trajectories ====
==== Non parametric trajectories ====
* [[Image:Robot_CreateTrajectory.png|30px]] [[Robot_CreateTrajectory|Create a trajectory]]: Inserts a new empty trajectory-object into the scene
* [[Image:Robot_CreateTrajectory.png|30px]] [[Robot_CreateTrajectory|Create a trajectory]]: Inserts a new empty trajectory-object 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]]: Set the default values for way-point creation
* [[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 ====
==== 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]]: Lets you override one or more properties of 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
* [[Image:Robot_TrajectoryCompound.png|30px]] [[Robot_TrajectoryCompound|Trajectory compound]]: Create a compound out of some single trajectories


<div class="mw-translate-fuzzy">
== Skript ==
== Skript ==


Detta avsnitt är genererat från: https://github.com/FreeCAD/FreeCAD_sf_master/blob/master/src/Mod/Robot/RobotExample.py
Detta avsnitt är genererat från: https://github.com/FreeCAD/FreeCAD_sf_master/blob/master/src/Mod/Robot/RobotExample.py
Du kan använda den filen direkt, om du vill.
Du kan använda den filen direkt, om du vill.

Exempel på hur man använder klassen Robot6Axis, vilken representerar en 6-axlig
industrirobot. Robot modulen beror på Delmodulen, men inte på andra modulen.
Den arbetar mest med enkla typer som Placering, Vektor och Matris. Så vi behöver
bara:
{{Code|code=
from Robot import *
from Part import *
from FreeCAD import *
}}
=== Grundläggande robotsaker ===
Skapa roboten. Om du inte specificerar någon annan kinematik så blir det en Puma 560
{{Code|code=
rob = Robot6Axis()
print rob
}}
komma åt axlarna och tcp (verktygets centrumpunkt). Axlarna är 1-6 och värdena uttrycks i grader:
{{Code|code=
Start = rob.Tcp
print Start
print rob.Axis1
}}
flytta robotens första axel:
{{Code|code=
rob.Axis1 = 5.0
}}
Tcp har ändrats (framåtgående kinematik)
{{Code|code=
print rob.Tcp
}}
flytta tillbaka roboten till startpositionen (bakåtgående kinematik):
{{Code|code=
rob.Tcp = Start
print rob.Axis1
}}
samma med axel 2:
{{Code|code=
rob.Axis2 = 5.0
print rob.Tcp
rob.Tcp = Start
print rob.Axis2
}}
Banpunkter:
{{Code|code=
w = Waypoint(Placement(),name="Pt",type="LIN")
print w.Name,w.Type,w.Pos,w.Cont,w.Velocity,w.Base,w.Tool
}}
generera mer. Banan hittar alltid automatiskt på ett unikt namn för banpunkterna
{{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"))
}}
Skapa en bana
{{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"))
}}
se en lista på alla banpunkter:
{{Code|code=
print t.Waypoints
del rob,Start,t,l,w
}}
<div class="mw-translate-fuzzy">
=== arbeta med dokumentet ===
</div>
</div>


See the [[Robot API example|Robot API example]] for a description of the functions used to model the robot displacements.
Arbeta med robotdokument objekten:
skapa först en robot i det aktiva dokumentet
{{Code|code=
if(App.activeDocument() == None):App.newDocument()
App.activeDocument().addObject("Robot::RobotObject","Robot")
}}
Definiera den visuella representationen och den kinematiska definitionen (se [[Robot_6-Axis/sv|Robot_6-Axis]] för detaljer om det)
{{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"
}}
Axelns startpositon (endast om det skiljer sig från 0)
{{Code|code=
App.activeDocument().Robot.Axis2 = -90
App.activeDocument().Robot.Axis3 = 90
}}
hämta Tcp positionen
{{Code|code=
pos = FreeCAD.getDocument("Unnamed").getObject("Robot").Tcp
}}
flytta roboten
{{Code|code=
pos.move(App.Vector(-10,0,0))
FreeCAD.getDocument("Unnamed").getObject("Robot").Tcp = pos
}}
skapa ett tomt banobjekt i det aktiva dokumentet
{{Code|code=
App.activeDocument().addObject("Robot::TrajectoryObject","Trajectory")
}}
hämta banan
{{Code|code=
t = App.activeDocument().Trajectory.Trajectory
}}
lägg till robotens aktuella TCP position till banan
{{Code|code=
StartTcp = App.activeDocument().Robot.Tcp
t.insertWaypoints(StartTcp)
App.activeDocument().Trajectory.Trajectory = t
print App.activeDocument().Trajectory.Trajectory
}}
sätt in några fler banpunkter och startpunkten i slutet igen:
{{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
}}

=== Simulation ===
ska göras.....
=== Exportera banan ===
Banan exporteras av Python. Det innebär att för varje robotkontroll typ så finns det en post-processor
Python modul. Här är Kuka post-processorn beskriven i detalj
{{Code|code=
from KukaExporter import ExportCompactSub

ExportCompactSub(App.activeDocument().Robot,App.activeDocument().Trajectory,'D:/Temp/TestOut.src')
}}
och det är ungefär så här det görs:
{{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))

}}
== Tutorials ==
== Tutorials ==
* [[Robot_6-Axis/sv|6-Axis_Robot]]
* [[Robot_6-Axis/sv|6-Axis_Robot]]
* [[VRML Preparation for Robot Simulation/sv|VRML Preparation for Robot Simulation]]
* [[VRML Preparation for Robot Simulation/sv|VRML Preparation for Robot Simulation]]



<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
Line 206: Line 76:
</div>
</div>


{{Robot Tools navi}}
[[Category:User Documentation/sv]]
{{Userdocnavi}}
[[Category:Workbenches]]

Revision as of 16:14, 1 April 2019

Introduction

Robot arbetsbänken är ett verktyg för simulering av 6-axliga industrirobotar, som t.ex. Kuka. Denna arbetsbänk är ett pågående arbete för att implementera ett off-line programmeringsverktyg för Robot_6-Axis industrirobotar i FreeCAD. 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

You can do the following tasks:

  • Set up a simulation environment with a robot and work pieces.
  • Create and fill up movement trajectories.
  • Decompose features of a CAD part to a trajectory.
  • Simulate the robot movement and reaching distance.
  • Export the trajectory to a robot program file.

Du kan hitta ett exempel här: Example files or try the Robot tutorial.

Tools

Here the principal commands you can use to create a robot set-up.

Robots

The tools to create and manage the 6-Axis robots

Trajectories

Tools to create and manipulate trajectories. There are two kinds, the parametric and non parametric ones.

Non parametric trajectories

Parametric trajectories

Skript

Detta avsnitt är genererat från: https://github.com/FreeCAD/FreeCAD_sf_master/blob/master/src/Mod/Robot/RobotExample.py Du kan använda den filen direkt, om du vill.

See the Robot API example for a description of the functions used to model the robot displacements.

Tutorials

Draft Module/sv
Macros/sv