Robot Workbench/sv: Difference between revisions

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

[[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 [[6-Axis Robot]] 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.
You can do following tasks:
You can do following tasks:
* set up a simulation environment with a robot and work pieces
* set up a simulation environment with a robot and work pieces
Line 9: 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 19: Line 39:


* [[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 let 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 an 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 creat 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 ====
==== Non parametric trajectories ====
* [[Image:Robot_CreateTrajectory.png|30px]] [[Robot_CreateTrajectory|Create a trajectory]]: Insert a new robot 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 defaults 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 ====
==== 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]]: Let 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">
== Scripting ==
== Skript ==
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.


Detta avsnitt är genererat från: https://github.com/FreeCAD/FreeCAD_sf_master/blob/master/src/Mod/Robot/RobotExample.py
Exempel på hur man använder klassen Robot6Axis, vilken representerar en 6-axlig
Du kan använda den filen direkt, om du vill.
industrirobot. Robot modulen beror på Delmodulen, men inte på andra modulen.
</div>
Den arbetar mest med enkla typer som Placering, Vektor och Matris. Så vi behöver
bara:
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
rob = Robot6Axis()
print rob
komma åt axlarna och tcp (verktygets centrumpunkt). Axlarna är 1-6 och värdena uttrycks i grader:
Start = rob.Tcp
print Start
print rob.Axis1
flytta robotens första axel:
rob.Axis1 = 5.0
Tcp har ändrats (framåtgående kinematik)
print rob.Tcp
flytta tillbaka roboten till startpositionen (bakåtgående kinematik):
rob.Tcp = Start
print rob.Axis1
samma med axel 2:
rob.Axis2 = 5.0
print rob.Tcp
rob.Tcp = Start
print rob.Axis2
Banpunkter:
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
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
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:
print t.Waypoints
del rob,Start,t,l,w
=== Working with the document objects ===


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
if(App.activeDocument() == None):App.newDocument()
App.activeDocument().addObject("Robot::RobotObject","Robot")
Definiera den visuella representationen och den kinematiska definitionen (se [[6-Axis Robot/sv]] för detaljer om det)
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)
App.activeDocument().Robot.Axis2 = -90
App.activeDocument().Robot.Axis3 = 90
hämta Tcp positionen
pos = FreeCAD.getDocument("Unnamed").getObject("Robot").Tcp
flytta roboten
pos.move(App.Vector(-10,0,0))
FreeCAD.getDocument("Unnamed").getObject("Robot").Tcp = pos
skapa ett tomt banobjekt i det aktiva dokumentet
App.activeDocument().addObject("Robot::TrajectoryObject","Trajectory")
hämta banan
t = App.activeDocument().Trajectory.Trajectory
lägg till robotens aktuella TCP position till banan
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:
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
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:
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 ==
* [[6-Axis_Robot/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">
{{docnav|Arch Module|Standard Menu}}
{{docnav/sv|Draft Module/sv|Macros/sv}}
</div>


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

[[Category:Workbenches]]

<languages/>

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