Sei sulla pagina 1di 22

UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERÍA MECATRÓNICA.

GUIA DE LABORATORIOS CON EL SOFTWARE V-REP


Kinematics Inverse with VREP
Ing. Josmell Alva Alcántara.
Ingeniería Mecatrónica
UNIVERSIDAD NACIONAL DE TRUJILLO

I.-TEMA: Kinematics Inverse with VREP.


II.- OBJETIVOS:
- Utilizar el algoritmo interno de Kinematics Inversa de VREP.
III.- MATERIALES:
- Computador.
- Software v-rep.

Figura 1.- Logo de Solidworks y logo V-REP.

III.- MARCO TEÓRICO.


III.1.-Inverse Kinematics:

El módulo de cálculo de cinemática inversa (IK) de V-REP es muy potente y flexible. Permite
manejar prácticamente cualquier tipo de mecanismo en modo de cinemática inversa (modo IK) o en
modo de cinemática directa (modo FK). El problema de IK puede verse como el de encontrar los
valores de articulación correspondientes a alguna posición u orientación específica de un
elemento del cuerpo dado (generalmente el efector final). Más generalmente, es una
transformación de las coordenadas del espacio de tareas a las coordenadas del espacio articular.
Para un manipulador en serie, por ejemplo, el problema sería encontrar el valor de todas las juntas
en el manipulador dada la posición (y / u orientación) del efector final. El problema inverso,
encontrar la posición del efector final dados los valores conjuntos, se conoce como problema FK y a
menudo se percibe como una tarea más fácil que IK. Esto seguramente es cierto cuando se trata de
cadenas cinemáticas abiertas, pero no es cierto para las configuraciones mecánicas de tipo general
como las siguientes, por ejemplo:

1
ROBÓTICA Ing. Josmell Alva Alcántara.
UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERÍA MECATRÓNICA.

Figura 3.1 Non-trivial FK problem: knowing the joint values indicated by the arrows, the
end effector position and orientation is sought]

Algunos resultados del módulo de cálculo de cinemática inversa se pueden registrar


mediante objetos gráficos. Consulte los gráficos
(http://www.coppeliarobotics.com/helpFiles/en/graphs.htm) y los tipos de flujo de datos de
gráficos para obtener más información sobre cómo registrar datos de cálculo de cinemática inversa.

La funcionalidad cinemática también está disponible para aplicaciones externas (es


decir, aplicaciones que no forman parte directamente del marco V-REP, como aplicaciones en una
computadora diferente, en un robot o controlador). Esto es posible a través de las funciones
cinemáticas externas.

 IK groups:

Los grupos IK agrupan uno o más elementos IK. Para resolver la cinemática de una cadena
cinemática simple, se necesita un grupo IK que contenga un elemento IK. El grupo IK define las
propiedades generales de resolución (como qué algoritmo de resolución usar, etc.) para uno o más
elementos IK.
.

III.1.1.- Basics on IK groups and IK elements:

V-REP utiliza grupos IK y elementos IK para resolver tareas de cinemática inversa y directa.
Es importante comprender cómo se resuelve una tarea IK para aprovechar al máximo la
funcionalidad del módulo. Asegúrese de echar un vistazo a las diversas escenas de ejemplo simples
relacionadas con IK y FK en las escenas de carpeta / ik_fk_simple_examples. Un grupo IK contiene
uno o más elementos IK:

 IK elements:

2
ROBÓTICA Ing. Josmell Alva Alcántara.
UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERÍA MECATRÓNICA.

Los elementos IK especifican cadenas cinemáticas simples. Un elemento IK representa una


cadena cinemática. Una cadena cinemática es un enlace que contiene al menos un objeto conjunto.
En resumen, un elemento IK está compuesto por:

 a base (cualquier tipo de objeto, incluso una junta. En ese caso, sin embargo, la junta se considera
rígida). Representa el comienzo de la cadena cinemática.

 several links (cualquier tipo de objeto excepto articulaciones). Sin embargo, las juntas que no
están en modo IK también se consideran enlaces (en ese caso, se comportan como uniones rígidas
(valor fijo)).

 several joints. Sin embargo, una unión que no está en modo IK no se considera como una unión,
sino como un enlace (ver arriba). Consulte también las propiedades de la articulación.

 a tip. The tip is always a dummy and is the last object in the considered kinematic chain (when
going from the base to the tip). The tip dummy should be linked to a target dummy (see hereafter)
and the link should be an IK, tip-target link type. Refer also to the dummy properties.

 a target. The target is always a dummy and represents the position and/or orientation the tip
should adopt (or follow) during simulation. The target dummy should be linked to a tip dummy (see
hereabove) and the link should be an IK, tip-target link type. Refer also to the dummy properties

Los elementos IK se especifican mediante una cadena cinemática y un objetivo a seguir. La


propia cadena cinemática se especifica mediante una información sobre herramientas (o un efector
final, o una punta corta), que indica el último objeto en la cadena, y una base, que indica el objeto
base (u primer objeto) en la cadena. Las siguientes figuras muestran dos cadenas cinemáticas
especificadas para un elemento IK. El elemento IK percibe las dos cadenas de manera similar (el
elemento IK ignora la primera articulación del segundo ejemplo):

Figura 3.2.- Two kinematic chains, each describing an IK element

En los ejemplos anteriores, las cadenas cinemáticas especificadas por el par de punta / base,
ambas tienen 3 grados de libertad (DoF) porque están involucradas 3 articulaciones 1-DoF. Sin
embargo, si una de las articulaciones fuera una articulación esférica, entonces la cadena tendría 5

3
ROBÓTICA Ing. Josmell Alva Alcántara.
UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERÍA MECATRÓNICA.

DoF ya que una articulación esférica tiene 3 DoF por sí misma.

Ahora debe decirle al elemento IK cómo debe comportarse la cadena cinemática especificada
durante la simulación. Por lo general, desea que la punta de la cadena cinemática siga a un objetivo
(consulte las propiedades ficticias
(http://www.coppeliarobotics.com/helpFiles/en/dummyPropertiesDialog.htm) para formar un
enlace punta-objetivo):

Figura 3.3.- IK element and corresponding model of the IK solving task

Cuando la simulación se está ejecutando y algunos parámetros adicionales se han definido


correctamente (consulte la descripción de los parámetros a continuación), el mecanismo (la cadena
cinemática especificada) debe moverse hacia el objetivo. Este es el caso más básico de la tarea IK.
Se manejan dos cadenas cinemáticas separadas de manera idéntica, sin embargo, esta vez, se
necesitan dos grupos IK (y cada uno de ellos debe contener un elemento IK para cada cadena
cinemática). Resolver el orden de los dos grupos IK no es importante:

Figura 3.4.- Two separate IK chains and corresponding model of the IK solving tasks

En el ejemplo anterior, si el objetivo2 se une a una parte móvil de la primera cadena


cinemática, entonces el orden de resolución se vuelve importante y el grupo IK1 debe resolverse
primero (el resultado de la resolución desplazará al objetivo2 como se puede ver en la siguiente
figura):

4
ROBÓTICA Ing. Josmell Alva Alcántara.
UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERÍA MECATRÓNICA.

Figura 3.5.- Two separate IK chains, where the target of the second chain is attached to
the first chain, and corresponding model of the IK solving tasks

Un caso similar puede aparecer cuando un elemento IK se construye encima de otro


elemento IK, sin compartir ninguna unión común como se puede ver en la siguiente figura: la
primera cadena cinemática se indica en negro, la segunda en azul claro. Base2, indicado en morado,
es el objeto común entre las dos cadenas. Resolver el elemento IK2 no desplazará el enlace púrpura,
sin embargo, resolver el elemento IK1 lo desplazará. Por esa razón, el grupo IK1 debe resolverse
antes que el grupo IK2 como en el caso anterior (es importante resolver el orden):

Figura 3.6.-Two IK chains sharing one common link but no common joints and
corresponding model of the IK solving tasks

III.1.2.- Inverse kinematics dialog:

El cuadro de diálogo cinemática inversa forma parte del cuadro de diálogo de propiedades
del módulo de cálculo, que se encuentra en [Barra de menú -> Herramientas -> Propiedades del
módulo de cálculo]. También puede abrir el cuadro de diálogo haciendo clic en el botón de la barra
de herramientas:

Figure 3.7.- Calculation module properties toolbar button

5
ROBÓTICA Ing. Josmell Alva Alcántara.
UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERÍA MECATRÓNICA.

En el cuadro de diálogo de propiedades del módulo de cálculo, haga clic en el botón Cinemática
inversa para mostrar el cuadro de diálogo cinemática inversa:

Figure 3.8 Inverse kinematics dialog

 Inverse kinematics enabled:habilita o deshabilita todos los cálculos de cinemática inversa.

 Add new IK group: agrega un nuevo grupo IK vacío. Los grupos IK pueden contener uno o más elementos
IK. Los elementos IK son tareas básicas de cadena cinemática IK, y los grupos IK pueden agruparlos para
la resolución simultánea. Utilice la resolución simultánea solo cuando sea necesario (mayor tiempo de
cálculo que la resolución secuencial). Un elemento IK siempre tiene que estar asociado con un grupo IK
y no puede existir por sí mismo. La lista debajo del botón muestra todos los grupos IK que se resolverán
durante los cálculos de IK. Es necesario seleccionar un grupo IK en la lista para que sus parámetros se
visualicen en el resto del diálogo. El orden en la lista es importante (el resultado de IK group1 podría ser
necesario para que IK group2 funcione correctamente o más rápido). Los dos botones al lado de la lista
permiten cambiar la posición del grupo IK seleccionado.

6
ROBÓTICA Ing. Josmell Alva Alcántara.
UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERÍA MECATRÓNICA.

 IK group is active:permite activar y desactivar grupos IK individuales.

 Explicit handling: indica si el grupo IK seleccionado debe manejarse explícitamente. Si se marca, el


cálculo IK para este grupo IK no se manejará cuando se llame a sim.handleIkGroup
(sim.handle_all_except_explicit), pero solo si se llama a sim.handleIkGroup (sim.handle_all) o
sim.handleIkGroup (ikGroupHandle). Esto es útil si el usuario desea manejar la cinemática para ese
grupo IK en una secuencia de comandos secundaria en lugar de en la secuencia de comandos principal
(si no está marcada, el cálculo de IK para ese grupo IK se manejará dos veces, una vez cuando
sim.handleIkGroup (sim.handle_all_except_explicit) se llama en el script principal, y una vez cuando se
llama a sim.handleIkGroup (ikGroupHandle) en el script secundario). Consulte también la sección sobre
llamadas explícitas y no explícitas.

 Mechanism is redundant: cuando se selecciona, se aplicarán correcciones de límite de unión durante la


resolución IK. De lo contrario, los límites conjuntos simplemente se aplicarán después de la resolución
IK, lo que podría conducir a inestabilidades.

 Ignore max. step sizes: los tamaños de paso máximos especificados en las propiedades de la unión se
ignorarán si se marca esta propiedad.

 Calc. method: método de cálculo a utilizar para la resolución de grupo IK especificada. El método más
rápido es el pseudo inverso, pero puede ser inestable cuando el objetivo y la punta están demasiado
separados, cuando una cadena cinemática está sobre restringida o cuando el mecanismo está cerca de
una configuración singular o el objetivo está fuera del alcance. DLS es más lento pero más estable ya
que es un método de resolución amortiguada (el factor de amortiguación puede especificarse
(Amortiguación)). Esta es una buena opción cuando el método pseudo inverso puede fallar.

 Damping: el factor de amortiguación cuando se utiliza un método de resolución amortiguada (DLS). Los
valores grandes dan como resultado una resolución más estable, pero son mucho más lentos. Es
importante ajustar este valor adecuadamente.

 Max. iterations: se puede especificar un número máximo de iteraciones. Este es el número máximo de
pases de cálculo para un grupo IK dado, hasta que se alcanza la precisión de resolución especificada. La
resolución amortiguada (DLS) generalmente requiere más iteraciones que una resolución no
amortiguada (pseudo inversa).

 Joint limits (ponderaciones de cálculo): la ponderación de cálculo que debe usarse para las restricciones
de limitación de uniones (las restricciones de limitación de uniones se especifican en las propiedades de
la unión (posición mínima y rango de posición).

 Obstacle avoidance (ponderaciones de cálculo): la ponderación de cálculo que debe usarse para las
restricciones de evitación de obstáculos.

 Joint limit thresholds: umbrales lineales y angulares que deben usarse con restricciones de limitación
conjunta.

7
ROBÓTICA Ing. Josmell Alva Alcántara.
UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERÍA MECATRÓNICA.

 Editar parámetros condicionales: permite ajustar los parámetros de resolución condicional para el
grupo IK seleccionado. Se abrirá el siguiente cuadro de diálogo:

Figure 3.9.- IK conditional resolution dialog

 Perform if... : esta es la sección de resolución condicional. El usuario puede seleccionar en


la lista desplegable un grupo IK cuyo resultado de resolución IK determinará si se resolverá
el grupo IK actual. Se considera exitoso un cálculo de grupo IK cuyos elementos IK se
encuentran dentro de su precisión lineal / angular especificada.

 Restore if... : permite restaurar la configuración inicial del grupo IK (valores conjuntos) si la
resolución no tuvo éxito (no se alcanzó la precisión posicional y / u orientativa). En
combinación con la resolución condicional anterior, el usuario puede, por ejemplo,
combinar dos métodos de cálculo diferentes. Esto es útil en caso de que el objetivo de un
manipulador pueda estar fuera del alcance o cerca de una singularidad: el primer intento de
resolución intentará resolver el grupo IK con un método de resolución no amortiguado
(pseudo inverso, rápido), y si no tiene éxito, un El segundo intento intentará resolverlo con
un método de resolución amortiguado (DLS, más lento). Por supuesto, el usuario también
es libre de manejar "manualmente" la resolución IK desde un script, complemento, etc.

 Edit conditional parameters: permite ajustar los parámetros de resolución condicional para el grupo
IK seleccionado. Se abrirá el siguiente cuadro de diálogo:

8
ROBÓTICA Ing. Josmell Alva Alcántara.
UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERÍA MECATRÓNICA.

Figure 3.10 IK obstacle avoidance dialog

 Select avoidance entities / Remove avoidance constraint: allows selecting / removing


avoidance entities. One entity would typically be the robot, the other entity the obstacle.
Use simple measurable objects for fast resolution.

 Distance threshold: minimum distance that should be kept between the avoidance
entities.

 Edit IK elements: permite editar los diversos elementos IK relativos al grupo IK seleccionado. Al
hacer clic en este botón, se abre el cuadro de diálogo del elemento IK.

III.1.3.- Edit IK elements:

El diálogo del elemento IK es parte del diálogo de cinemática inversa. El cuadro de diálogo
muestra los diversos elementos IK de un grupo IK dado. En el cuadro de diálogo cinemática inversa,
seleccione un grupo IK y luego haga clic en el botón Editar elementos IK para abrir el cuadro de
diálogo del elemento IK:

9
ROBÓTICA Ing. Josmell Alva Alcántara.
UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERÍA MECATRÓNICA.

Figure 3.11..- IK element dialog

 Add new IK element with tip: agrega un nuevo elemento IK (definido por su ficticio de punta) con
valores predeterminados. Un grupo IK puede contener varios elementos IK, que se muestran en la
lista. Los elementos IK en la lista se resolverán simultáneamente durante los cálculos de IK
(simultáneamente porque son parte del mismo grupo IK). El orden en la lista no es importante. Al
seleccionar un elemento IK en la lista, se mostrarán sus propiedades y parámetros.

 Element is active: permite activar y desactivar el elemento IK seleccionado. Los elementos IK no


válidos pueden desactivarse automáticamente durante la simulación.

 Base: El objeto base de la cadena IK. Tenga en cuenta que las restricciones se especifican en
relación con la orientación del objeto base si no se especifica lo contrario.

10
ROBÓTICA Ing. Josmell Alva Alcántara.
UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERÍA MECATRÓNICA.

 Target: El dummy que la punta debe seguir. Los objetivos no deben ser parte de la cadena
cinemática especificada (de lo contrario, la resolución del elemento IK podría ser imposible), pero
se recomienda construir el objetivo sobre la base (para mantener una jerarquía de escena limpia).
Si seleccionado el tip dummy no está vinculado a ningún otro dummy, o si el tipo de enlace no es
IK, tip-target, se mostrará un mensaje de advertencia en lugar del nombre del maniquí de destino.

 Constraints: restricciones que deben respetarse durante la resolución de elementos IK. Las
restricciones posicionales se especifican en relación con la base de forma predeterminada, pero se
puede seleccionar otro objeto ficticio como marco de referencia de restricción (Relativo al elemento
del marco de coordenadas). Los elementos IK sobreconstreñidos no se resolverán correctamente y
son inestables. Es importante analizar cuidadosamente qué restricciones son necesarias y en
relación con qué marco de referencia. Sin embargo, a veces es difícil no restringir demasiado un
elemento IK. En ese caso, elija un método de resolución amortiguada (DLS) para el grupo IK y ajuste
el factor de amortiguación adecuadamente. Pero recuerde que la resolución amortiguada es más
lenta. (X, Y y Z están relacionados con la posición (la punta seguirá la posición del objetivo), Alfa-
Beta y Gamma están relacionados con la orientación (la punta seguirá la orientación del
objetivo)).

 Linear / angular precisions: especifica la precisión lineal / angular deseada (el elemento IK se
considera resuelto si la punta está dentro de la precisión lineal y angular del objetivo (considerando
las restricciones especificadas)).

 Linear / angular weights: Peso de resolución IK para la resolución posicional u orientativa. El


usuario puede elegir dar prioridad al seguimiento de posición o al seguimiento de orientación para
la resolución de elementos IK. Esto puede ser particularmente útil con mecanismos redundantes.

IV.. - DESARROLLO:
Eliminamos el archivo Script asociado al brazo robot.

11
ROBÓTICA Ing. Josmell Alva Alcántara.
UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERÍA MECATRÓNICA.

Figura 4.1.- Se elimina el archivo script.


Configuraciones de los actuadores del robot.

Figura 4.2.- Configuración de cada articulación.

12
ROBÓTICA Ing. Josmell Alva Alcántara.
UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERÍA MECATRÓNICA.

Figura 4.3.- Configuración Show dynamics propertes dialog.


Configuración de cada eslabón:

Figura 4.3.- Configuración de cada eslabón.


Agregar Dummy:

13
ROBÓTICA Ing. Josmell Alva Alcántara.
UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERÍA MECATRÓNICA.

Figura 4.4.- agregar Dummy.

Doble click en Dmmy y se modifica algunos parámetros.


Se cambia de nombre : Dummy-> Tip.

Figura 4.5.- Ícono del Dmmy

Figura 4.6.- creamos una jerarquía del TIP en el efector final.


Cambiamos la posición TIP con el efector final del robot.

14
ROBÓTICA Ing. Josmell Alva Alcántara.
UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERÍA MECATRÓNICA.

Figura 4.7.- Cambiamos de posición de TIP con el efector final.


El tip dummy podría tener un seguimiento limitado.
Agregar otro dummy,

Figura 4.8.- Ingresamos otro Dummy.

15
ROBÓTICA Ing. Josmell Alva Alcántara.
UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERÍA MECATRÓNICA.

Figura 4.9.- Configuraciones del Dummy2


Seleccionar el Dmmy recién creado y el tip y hacer lo siguiente:

Figura 4.10.- Relación IK, tip-target.

16
ROBÓTICA Ing. Josmell Alva Alcántara.
UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERÍA MECATRÓNICA.

Figura 4.11.- Relación IK, tip-target

Ingresamos al módulo de cálculo:

Figura 4.12.- Módulos de cálculo en VREP.


Ir a kinematics

17
ROBÓTICA Ing. Josmell Alva Alcántara.
UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERÍA MECATRÓNICA.

Figura 4.13.- Cálculo del Módulo de Inverse Kinematics.

Click en Edit IK elements.

18
ROBÓTICA Ing. Josmell Alva Alcántara.
UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERÍA MECATRÓNICA.

Figura 4.14.- Edit IK elements


Luego agregar Add new IK group.

Figura 4.15.-Add new IK element with tip.

19
ROBÓTICA Ing. Josmell Alva Alcántara.
UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERÍA MECATRÓNICA.

Figura 4.16.-Configuración de TIP

Trasladar Dummy cerca al efector final

20
ROBÓTICA Ing. Josmell Alva Alcántara.
UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERÍA MECATRÓNICA.

Figura 4.17.-Robot Fanuc, antes de iniciar el movimiento.

21
ROBÓTICA Ing. Josmell Alva Alcántara.
UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERÍA MECATRÓNICA.

Figura 4.18.-Robot Fanuc, LRMate_200iC Simulación usando el módulo de Cinemática


Inversa en VREP.

V.- CUESTIONARIO:

22
ROBÓTICA Ing. Josmell Alva Alcántara.

Potrebbero piacerti anche