Robot Workbench/es: Difference between revisions

From FreeCAD Documentation
No edit summary
(Updating to match new version of source page)
(16 intermediate revisions by 3 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=Workbench_Reverse_Engineering.svg
|IconR=Workbench_Ship.svg
}}

[[Image:Workbench_Robot.svg|240px|center]]
{{Caption|align=center|The FreeCAD Robot Workbench Icon}}
{{VeryImportantMessage|The FreeCAD Robot Workbench is unmaintained. Please mention on the FreeCAD forum if you have an interest in maintaining this workbench.}}

== Introduction ==


<div class="mw-translate-fuzzy">
El entorno de simulación de robots es una herramienta para simular un [[Robot 6-Axis/es|Robot industrial de 6 ejes]], como [http://kuka.com/ Kuka].
El entorno de simulación de robots es una herramienta para simular un [[Robot 6-Axis/es|Robot industrial de 6 ejes]], como [http://kuka.com/ Kuka].
Puedes hacer las siguientes tareas:
Puedes hacer las siguientes tareas:
Line 8: Line 21:
* Simular el movimiento y la accesibilidad del robot
* Simular el movimiento y la accesibilidad del robot
* Exportar la trayectoria a un archivo del programa del robot
* Exportar la trayectoria a un archivo del programa del robot
</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">
Puedes encontrar un ejemplo aquí:
Puedes encontrar un ejemplo aquí:
[https://github.com/FreeCAD/FreeCAD_sf_master/blob/master/src/Mod/Robot/RobotExample.py/ Archivos de ejemplo] o prueba el [[Robot tutorial/es|Tutorial de simulación de Robots]].
[https://github.com/FreeCAD/FreeCAD_sf_master/blob/master/src/Mod/Robot/RobotExample.py/ Archivos de ejemplo] o prueba el [[Robot tutorial/es|Tutorial de simulación de Robots]].
</div>

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


== Herramientas ==
== Herramientas ==
Line 18: Line 44:
Las herramientas para crear y manejar los robots de 6 ejes
Las herramientas para crear y manejar los robots de 6 ejes


<div class="mw-translate-fuzzy">
* [[Image:Robot_CreateRobot.png|30px]] [[Robot_CreateRobot/es|Crea un robot]]: Inserta un nuevo robot en la escena
* [[Image:Robot_CreateRobot.png|30px]] [[Robot_CreateRobot/es|Crea un robot]]: Inserta un nuevo robot en la escena
* [[Image:Robot_Simulate.png|30px]] [[Robot_Simulate/es|Simula una trayectoria]]: Abre el letrero de diálogo de simulación y te permite simular
* [[Image:Robot_Simulate.png|30px]] [[Robot_Simulate/es|Simula una trayectoria]]: Abre el letrero de diálogo de simulación y te permite simular
* [[Image:Robot_Export.png|30px]] [[Robot_Export/es|Exportar una trayectoria]]: Exporta un archivo al programa del robot
* [[Image:Robot_Export.png|30px]] [[Robot_Export/es|Exportar una trayectoria]]: Exporta un archivo del programa del robot
* [[Image:Robot_SetHomePos.png|30px]] [[Robot_SetHomePos/es|Establece la posición de inicio]]: Establece la posición de inicio para un robot
* [[Image:Robot_SetHomePos.png|30px]] [[Robot_SetHomePos/es|Establece la posición de inicio]]: Establece la posición de inicio para un robot
* [[Image:Robot_RestoreHomePos.png|30px]] [[Robot_RestoreHomePos/es|Restablece la posición de inicio]]: Mueve el robot a su posición de inicio
* [[Image:Robot_RestoreHomePos.png|30px]] [[Robot_RestoreHomePos/es|Restablece la posición de inicio]]: Mueve el robot a su posición de inicio
</div>


=== Trayectorias ===
=== Trayectorias ===
Herramientas para crear y manipular trayectorias. Existen dos tipos, las paramétricas y las no paramétricas.
Herramientas para crear y manipular trayectorias. Existen dos tipos, las paramétricas y las no paramétricas.


<div class="mw-translate-fuzzy">
==== no paramétricas ====
==== Trayectorias no paramétricas ====
* [[Image:Robot_CreateTrajectory.png|30px]] [[Robot_CreateTrajectory/es|Crea una trayectoria]]: Inserta un nuevo robot en la escena
* [[Image:Robot_CreateTrajectory.png|30px]] [[Robot_CreateTrajectory/es|Crea una trayectoria]]: Inserta una nuevo objeto de trayectoria vacía en la escena
* [[Image:Robot_SetDefaultOrientation.png|30px]] [[Robot_SetDefaultOrientation/es|Establece la orientación por defecto]]: Establece la orientación en los puntos de paso creados por defecto
* [[Image:Robot_SetDefaultOrientation.png|30px]] [[Robot_SetDefaultOrientation/es|Establece la orientación por defecto]]: Establece la orientación en los puntos de paso creados por defecto
* [[Image:Robot_SetDefaultValues.png|30px]] [[Robot_SetDefaultValues/es|Establece los parámetros de velocidad por defecto]]: Establece los valores por defecto para la creación de los puntos de paso
* [[Image:Robot_SetDefaultValues.png|30px]] [[Robot_SetDefaultValues/es|Establece los parámetros de velocidad por defecto]]: Establece los valores por defecto para la creación de los puntos de paso
* [[Image:Robot_InsertWaypoint.png|30px]] [[Robot_InsertWaypoint/es|Inserta un punto de paso]]: Inserta un punto de paso desde la posición actual del robot en una trayectoria
* [[Image:Robot_InsertWaypoint.png|30px]] [[Robot_InsertWaypoint/es|Inserta un punto de paso]]: Inserta un punto de paso desde la posición actual del robot en una trayectoria
* [[Image:Robot_InsertWaypointPre.png|30px]] [[Robot_InsertWaypointPre/es|Inserta un punto de paso]]: Inserta un punto de paso desde las posición actual del ratón en una trayectoria
* [[Image:Robot_InsertWaypointPre.png|30px]] [[Robot_InsertWaypointPre/es|Inserta un punto de paso]]: Inserta un punto de paso desde las posición actual del ratón en una trayectoria
</div>


<div class="mw-translate-fuzzy">
==== paramétrica ====
==== trayectorias paramétricas ====
* [[Image:Robot_Edge2Trac.png|30px]] [[Robot_Edge2Trac/es|Crea una trayectoria de aristas]]: Inserta un nuevo objeto que descompone las aristas de una trayectoria
* [[Image:Robot_TrajectoryDressUp.png|30px]] [[Robot_TrajectoryDressUp/es|Disfrazar una trayectoria]]: Permite sobrescribir una o más propiedades de una trayectoria
* [[Image: Robot_Edge2Trac.png | 30px]] [[Robot_Edge2Trac|Create a trajectory out of edges]]: Inserta un nuevo objeto que descompone los bordes en una trayectoria
* [[Image: Robot_TrajectoryDressUp.png | 30px]] [[Robot_TrajectoryDressUp|Dress-up a trajectory]]: Le permite sobreescribir una o más propiedades de una trayectoria
* [[Image:Robot_TrajectoryCompound.png|30px]] [[Robot_TrajectoryCompound/es|Trayectoria compuesta]]: create a compound out of some single trajectories
* [[Image: Robot_TrajectoryCompound.png | 30px]] [[Robot_TrajectoryCompound|Trajectory compound]]: crea un compuesto a partir de algunas trayectorias individuales
</div>


<div class="mw-translate-fuzzy">
== Archivos de guión ==
== Archivos de guión ==


Esta sección se genera en: https://github.com/FreeCAD/FreeCAD_sf_master/blob/master/src/Mod/Robot/RobotExample.py
Esta sección se genera en: https://github.com/FreeCAD/FreeCAD_sf_master/blob/master/src/Mod/Robot/RobotExample.py
Puedes utilizar este archivo directamente si quieres.
Puedes utilizar este archivo directamente si quieres.
</div>


See the [[Robot API example|Robot API example]] for a description of the functions used to model the robot displacements.
Ejemplo de cómo utilizar la clase Robot6Axis básica que representa a un robot industrial de 6 ejes. El módulo de Robot es dependiente del de Piezas pero no de otros módulos.
Trabaja principalmente con los tipos básicos de Ubicación, Vector y Matriz. Así que necesitamos sólo:
{{Code|code=
from Robot import *
from Part import *
from FreeCAD import *
}}
=== Cosas básicas del robot ===
Crear el robot. Si no se especifica otra cinemática será la de un Puma 560
{{Code|code=
rob = Robot6Axis()
print rob
}}
accediendo a los ejes y TCP. Los ejes van de 1 a 6 y están en grados decimales:
{{Code|code=
Start = rob.Tcp
print Start
print rob.Axis1
}}
mueve el primer eje del robot:
{{Code|code=
rob.Axis1 = 5.0
}}
the Tcp has changed (forward kinematic)
{{Code|code=
print rob.Tcp
}}
mueve el robot de vuelta a la posición de inicio (cinemática inversa):
{{Code|code=
rob.Tcp = Start
print rob.Axis1
}}
lo mismo con el eje 2:
{{Code|code=
rob.Axis2 = 5.0
print rob.Tcp
rob.Tcp = Start
print rob.Axis2
}}
Puntos de paso:
{{Code|code=
w = Waypoint(Placement(),name="Pt",type="LIN")
print w.Name,w.Type,w.Pos,w.Cont,w.Velocity,w.Base,w.Tool
}}
Genera más. La trayectoria siempre encuentra automáticamente un nombre único para los puntos de paso
{{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"))
}}
crea una trayectoria
{{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"))
}}
mira una lista de todos los puntos de paso:
{{Code|code=
print t.Waypoints
del rob,Start,t,l,w
}}
=== Trabajando con los objetos del documento===


== Tutorials ==
Trabajando con los objetos del documento del robot:
* [[Robot 6-Axis/es|6-Axis_Robot]]
Primero crea un robot en el documento activo
* [[VRML Preparation for Robot Simulation/es|VRML Preparation for Robot Simulation]]
{{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
}}
Recupera la posición de TCP
{{Code|code=
pos = FreeCAD.getDocument("Unnamed").getObject("Robot").Tcp
}}
mueve el robot
{{Code|code=
pos.move(App.Vector(-10,0,0))
FreeCAD.getDocument("Unnamed").getObject("Robot").Tcp = pos
}}
crea una objeto de trayectoria vacía en el documento activo
{{Code|code=
App.activeDocument().addObject("Robot::TrajectoryObject","Trajectory")
}}
Obtiene la trayectoria
{{Code|code=
t = App.activeDocument().Trajectory.Trajectory
}}
añade la posición TCP real del robot a la trayectoria
{{Code|code=
StartTcp = App.activeDocument().Robot.Tcp
t.insertWaypoints(StartTcp)
App.activeDocument().Trajectory.Trajectory = t
print App.activeDocument().Trajectory.Trajectory
}}
inserta algunos puntos de paso y los puntos de inicio y final de nuevo:
{{Code|code=
for i in range(7):
t.insertWaypoints(Waypoint(Placement(Vector(0,1000,i*100+500),Vector(1,0,0),i),"LIN","Pt"))


<div class="mw-translate-fuzzy">
t.insertWaypoints(StartTcp) # end point of the trajectory
{{docnav|Drawing Module/es|Raytracing Module/es}}
App.activeDocument().Trajectory.Trajectory = t
</div>
print App.activeDocument().Trajectory.Trajectory
}}


{{Robot Tools navi{{#translation:}}}}
=== Simulación ===
{{Userdocnavi{{#translation:}}}}
Pendiente.....
[[Category:Workbenches{{#translation:}}]]
=== Exportación de la trayectoria ===
La trayectoria se exporta en Python. Eso significa que para cada tipo de armario de control existe un módulo de Python de post-procesado. Aquí está en detalle el post-processor Kuka descrito
{{Code|code=
from KukaExporter import ExportCompactSub

ExportCompactSub(App.activeDocument().Robot,App.activeDocument().Trajectory,'D:/Temp/TestOut.src')
}}
y esos es cómo se crea:
{{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 ==
* [[Robot 6-Axis|Robot 6-Axis]]
* [[VRML Preparation for Robot Simulation|VRML Preparation for Robot Simulation]]


{{docnav|FEM Module|Standard Menu}}

[[Category:User Documentation/es]]


<languages/>

Revision as of 18:12, 21 February 2020

The FreeCAD Robot Workbench Icon

The FreeCAD Robot Workbench is unmaintained. Please mention on the FreeCAD forum if you have an interest in maintaining this workbench.

Introduction

El entorno de simulación de robots es una herramienta para simular un Robot industrial de 6 ejes, como Kuka. Puedes hacer las siguientes tareas:

  • Configurar un entorno de simulación con un robot y piezas de trabajo
  • Crea y cubrir trayectorias
  • Descomponer características de una pieza de CAD en una trayectoria
  • Simular el movimiento y la accesibilidad del robot
  • Exportar la trayectoria a un archivo del programa del robot

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.

Puedes encontrar un ejemplo aquí: Archivos de ejemplo o prueba el Tutorial de simulación de Robots.

Herramientas

Aquí están los principales comandos que puedes utilizar para crear la configuración de un robot.

Robots

Las herramientas para crear y manejar los robots de 6 ejes

Trayectorias

Herramientas para crear y manipular trayectorias. Existen dos tipos, las paramétricas y las no paramétricas.

Trayectorias no paramétricas

trayectorias paramétricas

Archivos de guión

Esta sección se genera en: https://github.com/FreeCAD/FreeCAD_sf_master/blob/master/src/Mod/Robot/RobotExample.py Puedes utilizar este archivo directamente si quieres.

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

Tutorials

Drawing Module/es
Raytracing Module/es