Robot Workbench/es: Difference between revisions

From FreeCAD Documentation
(Created page with "mueve el robot de vuelta a la posición de inicio (cinemática inversa):")
(Updating to match new version of source page)
(47 intermediate revisions by 4 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 [[6-Axis Robot/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:
* Configurar un entorno de simulación con un robot y piezas de trabajo
* Configurar un entorno de simulación con un robot y piezas de trabajo
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:
Unos ejemplos que puedes encontrar aquí:
* Set up a simulation environment with a robot and work pieces.
[http://www.freecad-project.de/svn/ExampleData/Examples/RobotSimulation/ Archivos de ejemplo] o prueba el [[Robot tutorial/es|Tutorial de simulación de Robots]].
* 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í:
[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: http://free-cad.svn.sourceforge.net/viewvc/free-cad/trunk/src/Mod/Robot/RobotExample.py?view=markup
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:
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
rob = Robot6Axis()
print rob
accediendo a los ejes y TCP. Los ejes van de 1 a 6 y están en grados decimales:
Start = rob.Tcp
print Start
print rob.Axis1
mueve el primer eje del robot:
rob.Axis1 = 5.0
the Tcp has changed (forward kinematic)
print rob.Tcp
mueve el robot de vuelta a la posición de inicio (cinemática inversa):
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 ===


== Tutorials ==
Working with the robot document objects:
* [[Robot 6-Axis/es|6-Axis_Robot]]
first create a robot in the active document
* [[VRML Preparation for Robot Simulation/es|VRML Preparation for Robot Simulation]]
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))


<div class="mw-translate-fuzzy">
== Tutorials ==
{{docnav|Drawing Module/es|Raytracing Module/es}}
* [[6-Axis_Robot|6-Axis_Robot]]
</div>
* [[VRML Preparation for Robot Simulation|VRML Preparation for Robot Simulation]]


{{Robot Tools navi{{#translation:}}}}
{{docnav|Arch Module|Macros}}
{{Userdocnavi{{#translation:}}}}

[[Category:User Documentation]]
[[Category:Workbenches{{#translation:}}]]


<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