Cinemática Directa con Labview, Comprobación con RobotStudio

Posted on Updated on

1-0

En el anterior post se abordo los conceptos clásicos que involucran la localización espacial del robot en un conjunto de sistemas de coordenadas. Por lo tanto en este post se pondrán en practicas esos conceptos teóricos valiendonos de la cinemática directa, que es la ciencia  que abarca el movimiento sin involucrar las fuerzas que lo originan.

Para esto se elaborara un análisis en los eslabones  vinculados en el movimiento del robot (Conjuto de eslabones = Estructura Robot)   haciendo los cálculos matematicos necesarios para cada uno de ellos. Esto nos permitira conocer el valor de las coordenadas de la herramienta de trabajo o el TCP (tool center pointer)  de nuestro Robot.toolpoint

Figura1: TCP o efector final

El algoritmo a utilizar para el análisis de los eslabones es el muy reconocido Algoritmo de Denavit-Hartemberg que nos permite conocer la ubicacion de los sistemas de referencia para cada una de las articulaciones. Mas informacion

DHParameter

Figura2: Eslabones y transformaciones de Denavit-Hartemberg  (O_((i-1))X_((i-1))Y_((i-1))Z_((i-1))  O_((i))X_((i))Y_((i))Z_((i)).)

Usaremos Labview valiendonos de su interfaz gráfica de programación y después realizaremos una comprobación de esos datos obtenidos en nuestro programa con el Software de programación y simulación de Robots de la Compañía ABB Robotics RobotStudio.

El primer robot a analizar es el IRB120 tomando en cuenta los valores del fabricante como longitud de los eslabones, rango de apertura de los ángulos de las articulaciones etc. estos datos aparecen en el Datasheet del IRB120.

irb12

Figura3: Datos característicos del IRB120

Al hacer el respectivo análisis de las transformaciones en cada par de eslabones nos queda la siguiente Matriz con los datos característicos de cada eslabón.

denavit120

Figura4: Matriz de Valores de cada eslabón del IRB120

Ahora que se poseen los datos de cada eslabón usaremos las matrices de transformaciones homogeneas entre cada sistema para encontrar el valor en coordenadas cartesianas del Efector final (TCP), debido a que son 6 eslabones tendremos 6 Matrices que definiran la orientacion de cada una de ellas, consecutivamente aplicaremos una multiplicación de cada matriz característica y de esta forma tendremos el valor de X, Y y Z del TCP.

Cabe destacar que los calculos paso a paso de estas matrices no seran mostrados aca ya que nos estamos valiendo del toolkit de Labview llamado MathScrip (Desarrollado en conjunto con Matlab y National Instruments)  Dejando de un lado el calculo, estaremos listos para obtener el valor de X, Y y Z del efector final si conocemos el angulo de cada articulacion.

 A continuacion se muestra el codigo del Mathscrip del programa del VI de Labview

%%%% %%%%%%%%%%%%%PASANDO ANGULO A RADIANES %%%%%%%%%%%%%%%%%%%%%%
th1= (pi*th1x)/180;
th2y=(pi*th2x)/180;
th3= (pi*th3x)/180;
th4= (pi*th4x)/180;
th5= (pi*th5x)/180;
th6y=(pi*th6x)/180;

%%%%%% %%%%MATRIZ DE DENAVIT- HARTEMBERG MODEL IRB 120 %%%%%%%%%%%%%%%%%%%

a1 = 0; d1 = 290; alpha1 = -pi/2; % th1r = 0;
a2 = 270; d2 = 0; alpha2 = 0; th2 = th2y -pi/2;
a3 = 70; d3 = 0; alpha3 = -pi/2; %th3r = pi;
a4 = 0; d4 = 302; alpha4 = pi/2; % th4r = 0;
a5 = 0; d5 = 0; alpha5 = -pi/2; %th5r = 0;
a6 = 0; d6 = 72; alpha6 = 0; th6 = th6y +pi;

%%%% %%%%%%%%%%%%%PASANDO ANGULO A RADIANES IRB140 %%%%%%%%%%%%%%%%%%%%%%
%th1= (pi*th1x)/180;
%th2y=(pi*th2x)/180;
%th3y= (pi*th3x)/180;
%th4= (pi*th4x)/180;
%th5= (pi*th5x)/180;
%th6y=(pi*th6x)/180;

%%%%%% %%%%MATRIZ DE DENAVIT- HARTEMBERG MODEL IRB 140 %%%%%%%%%%%%%%%%%%%

%a1 = 70; d1 = 352; alpha1 = -pi/2; % th1 = th1y + pi/2;
%a2 = 360; d2 = 0; alpha2 = 0; th2 = th2y -pi/2;
%a3 = 0; d3 = 0; alpha3 = pi/2; th3 = th3y +pi;
%a4 = 0; d4 = 380; alpha4 = -pi/2; %th4 = th4y +pi ;
%a5 = 0; d5 = 0; alpha5 = pi/2; % th5= th5y +pi/2 ;
%a6 = 0; d6 = 65; alpha6 = pi/2; th6 = th6y – pi;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %%%%%%% MATRICES DE TRANSFORMACION HOMEGENEA %%%%%%%%%%%%%%%%%%%%%%%%

A01 = [cos(th1) -cos(alpha1)*sin(th1) sin(alpha1)*sin(th1) a1*cos(th1);
sin(th1) cos(alpha1)*cos(th1) -sin(alpha1)*cos(th1) a1*sin(th1);
0 sin(alpha1) cos(alpha1) d1;
0 0 0 1];

A12 = [cos(th2) -cos(alpha2)*sin(th2) sin(alpha2)*sin(th2) a2*cos(th2);
sin(th2) cos(alpha2)*cos(th2) -sin(alpha2)*cos(th2) a2*sin(th2);
0 sin(alpha2) cos(alpha2) d2;
0 0 0 1];

A23 = [cos(th3) -cos(alpha3)*sin(th3) sin(alpha3)*sin(th3) a3*cos(th3);
sin(th3) cos(alpha3)*cos(th3) -sin(alpha3)*cos(th3) a3*sin(th3);
0 sin(alpha3) cos(alpha3) d3;
0 0 0 1];

A34 = [cos(th4) -cos(alpha4)*sin(th4) sin(alpha4)*sin(th4) a4*cos(th4);
sin(th4) cos(alpha4)*cos(th4) -sin(alpha4)*cos(th4) a4*sin(th4);
0 sin(alpha4) cos(alpha4) d4;
0 0 0 1];

A45 = [cos(th5) -cos(alpha5)*sin(th5) sin(alpha5)*sin(th5) a5*cos(th5);
sin(th5) cos(alpha5)*cos(th5) -sin(alpha5)*cos(th5) a5*sin(th5);
0 sin(alpha5) cos(alpha5) d5;
0 0 0 1];

A56 = [cos(th6) -cos(alpha6)*sin(th6) sin(alpha6)*sin(th6) a6*cos(th6);
sin(th6) cos(alpha6)*cos(th6) -sin(alpha6)*cos(th6) a6*sin(th6);
0 sin(alpha6) cos(alpha6) d6;
0 0 0 1];

A06 = A01*A12*A23*A34*A45*A56;

x = A06(1,4)
y = A06(2,4)
z = A06(3,4)

El código posee dos matrices características una para el IRB120 y otro para el IRB140 solo basta con descomentar el código característico del IRB140 y comentar el de IR120 para obtener los datos.

irb2

Figura5: Matriz de Valores de cada eslabón del IRB140

Diagrama de bloques de Labview

labviewsch

Figura6: Diagrama de bloques en labview junto con el script.

Panel Frontal Labview

panelfrontal

Figura7: Interfaz de Labview Acá se puede ajustar el Angulo de cada eslabón y se mostraran el valor de XYZ

A continuación se muestran los datos obtenidos y comparados con RobotStudio.Para una posicion de 0º en todos los 6 eslabones el valor de X = 374 Y=0 Z=630 esta es la posiciones inicial del robot donde estos datos siempre estan referenciados al vector universal U

Podemos ver la posicion inicial del robot en RobotStudio y los valores de XYZ barrita de valores TCP, que coinciden con el VI de Labview.

abb

Figura8: Interfaz de Robot Studio parte izquierda muesta los datos de ajuste en grados e informacion de la posicion del TCP (XYZ)

Demostración (1) IRB120 (se mostraran interfaz de Labview y despues de RobotStudio)

lav1abb1

Figura9: Demostracion (1) IRB120 

Demostración (2) IRB140 (Se ha descomentado y comentado respectivamente en El programa (: ) Mostrando los mismos angulos que el IRB120 y se muestra la diferencia de la posicion del TCP ya que los eslabones no tienen la misma configuración o longitud

lav2abb2

Figura10: Demostracion (2) IRB140 

Podemos ver que los valores del angulo y coordenadas XYZ del TCP para el IRB120 y el IRB140 para ambas interfaces  coinciden.

De esta forma concluimos con la practica.

Descarga

 

Herramientas matemáticas para la localización espacial.

Posted on Updated on

1

Descripciones espaciales y transformacionales                

Un robot es un manipulador lo que implica que se desplazaran piezas y herramientas en el espacio mediante mecanismos. Esto conduce a la necesidad de representar posiciones y orientaciones de todo el conjunto que forma el manipulador. Es necesario definir sistemas de coordenadas y desarrollar convenciones para la representación de los movimientos del manipulador.

El termino descripción se utiliza en robótica para describir un sistema de manipulación como las piezas, herramientas y el mismo manipulador con respecto a la descripción de posiciones, orientaciones y de una entidad que contiene ambas descripciones denominada Trama.

Describiendo una posición

Al establecer un sistema de coordenada podemos ubicar cualquier punto en el universo con un vector de posición de orden 3 x 1. En la descripción de un sistema manipulador es común definir muchos sistemas de coordenadas, además del sistema de coordenadas universal, estos deben etiquetarse con información que identifique en cuál de estos sistemas están definidos.

Ejemplo

Este vector tiene valores numéricos  que indican distancias sobre los ejes del vector universal

6

Figura1: Posición indicada por el vector AP (posición) sobre el vector universal.

Se puede también describir la posición de un punto en el espacio a través de las representaciones de coordenadas esféricas o cilíndricas.

Describiendo una orientación

No solo es necesario definir la posición del objeto a manipular, sino que también es necesario conocer la orientación del cuerpo manipulador con respecto a nuestro marco de referencia universal, el punto representado en la Figura2 está en la punta de los dedos del manipulador, pero no se conoce la orientación de este, el brazo podría cambiar la orientación de cada una de las articulaciones y aun podría mantenerse en la posición del espacio del punto de interés, entonces para conocer la orientación del manipulador se le adjunta un sistema de coordenadas que denominaremos {B} y luego se describe este sistema de coordenadas relativo al sistema de referencia {A}.

7

Figura2: Se observa la posición y orientación del manipulador.

El manipulador posee su propia dirección de coordenadas {B} ec0el cual debe escribirse en función del sistema de coordenadas {A} quedandoec0-1      donde {A} representada en la parte superior izquierda el vector de referencia universal y {B} representa el vector referenciado con respecto al vector universal {A} En teoría este arreglo de representación de vectores se le denomina matriz de rotación representada de esta forma
ec1

Cada columna de la matriz tiene las coordenadas de un eje del marco seguidor (ejes del Manipulador) con respecto al marco de referencia universal. Por ejemplo, la primera columna contiene las coordenadas del eje X del manipulador representada en el arreglo de ejes del marco de referencia universal. Similarmente la segunda y la tercera columna poseen las coordenadas del eje Y y Z del manipulador representadas con respecto al vector universal. Siempre que se represente la posición de un punto con un vector la orientación de este se hará por medio de una matriz de rotación.

ec2

Es importante el conocimiento de las propiedades de álgebra lineal para entender las trasformaciones que pueden adoptar las matrices, se sabe que el producto punto de dos vectores unitarios es el coseno del Angulo entre ellos entonces las matrices de rotación pueden llamarse cosenos de dirección.

ec3

rot1                                                                                                                                     Se puede expresar esta misma matriz como la descripción del Vector de la trama de {A} relativa a {B} mediante la transpuesta de la misma matriz.

rot2O esta misma matriz puede adoptar igualdades respecto a la                                                             matriz {A} relativa a {B}.

 

Descripción de una trama   

Para describir en un instante de tiempo donde se sitúa la mano del manipulador es necesario conocer la posición y orientación estas dos variables en conjunto se les denomina en robótica como trama esta está compuesta por cuatro vectores de tres elementos, uno proporciona la información de la posición y los otros tres de la orientación que a su vez se puede definir como una matriz rotacional. Por lo tanto, la trama {B} se describe definiendo los vectores de este con abrot respecto a {A} quedando una matriz rotacional y apos como un vector de posicion que describe el origen de la                        trama {B}    Vectorb

 

trama

Figura3: Trama de un punto con posición y orientación con respecto al vector universal {A}

Las tramas también pueden estar en un conjunto de las cuales es necesario saber cómo ubicar esa información cabe mencionar que se posee de un vector universal del cual se pueden extender un conjunto de “ramificaciones” de posiciones y orientaciones si se decide analizar una de las tramas es necesario conocer su origen y como está representada con respecto a la trama de origen. Para proceder se debe generalizar la idea de que una trama es una descripción de un sistema de coordenadas relativo a otro donde este cuenta con orientación y posición. Si analizamos la Trama {C} se observa que esta depende de la orientación y posición de {R} el cual esta referenciada al vector universal {O}, un ejemplo clásico es un robot con marco de referencia de la tierra, ósea que se puede tomar la idea que esta es la forma habitual de representación universal.

rami

Figura4: Ramificaciones de tramas

 

Ya que conocemos los conceptos básicos que caracterizan una trama conjunta con su posición y orientación es necesario también conocer los cálculos involucrados para poder cambiar las descripciones de una trama a otra.

Tramas Trasladadas

Este problema se presentaría por ejemplo cuando el robot se desplazará sin cambiar la orientación solo tendríamos un problema de distancia (Posición). Entonces la trama {B} con respecto a {A} solo difiere por su traslación en el espacio de trabajo donde aposes la variable a considerar.

Si analizamos la trama {B} de la Figura5 estas poseen la misma orientación y para poder calcular la descripción del punto de interés con respecto a la trama de referencia universal {A} se hace una suma de vectores donde trama trasla

tramattrasl

Figura5: Trama trasladada

Trama Rotada

Para el análisis de la trama rotada es necesario conocer las propiedades de las matrices y hacer un esfuerzo de entender las diferentes formas de representar una matriz. Partiendo de esta idea se sabe que para representar la orientación es necesario una matriz de rotación 3 x 3 que involucran dos vectores donde {B} es representado sobre el vector universal {A}.

ec1 (2)De la siguiente matriz rotacional se puede notar que las columnas son los vectores unitarios de {B} escritos en {A} y que las filas son los vectores unitarios de {A} pero escritos en {B} de esta forma se puede escribir la matriz de rotación de dos formas diferentes como un conjunto de tres vectores columnas o como un conjunto de tres vectores filas.

matriztrasp

Figura6: Se muestra las dos formas de representación de la matriz de rotación.

Ahora lo que realmente deseamos conocer es la relación del punto de interés P con respecto al vector de referencia universal y este cálculo es posible ya que conocemos la descripción de la orientación de {B} con respecto a {A} ya que se tienen una matriz de rotación, pero cabe destacar que esta tiene componentes rotados los cuales se desean representar en función del punto de interés A (ap) entonces se procede a escribir los vectores unitarios de {B} en función de {A} Quedando la proyección como el producto punto de los vectores.

figtramarot

Figura7: Trama {B} rotada y descripción matemática del punto P de interés.

Ejemplo de una trama rotada

El siguiente ejercicio muestra una trama {B} rotada θ=30º con respecto a la trama universal ejerc1{A} sobre el vector Z. donde Z apunta hacia fuera de la pantalla. Encontrar AP

R/. Para proceder se sabe que la orientación de la trama {B} esta alterada y por lo tanto la orientación se debe escribir en función de la trama universal {A}. Ya que el ejercicio solo nos indica que solo el eje Z afecta la orientación con θ=30º desorientados.

Por la ecuación 3 de los cosenos de dirección podemos definir que la matriz de rotación afecta solo al rotacional RotZ (Z, θ)

Por lo tanto, la matriz de rotación de {B} con respecto al vector universal {A} queda definida:

ejer2

ap Así el punto de interés con respecto a la orientación y posición de la trama {B} Con respecto a la trama universal {A}  queda definido por las anteriores coordenadas.

Para aclarar un poco mas que paso aquí, imaginémonos que tenemos que dar con una dirección de una calle la cual nos urge dar con ella se nos ha orientado que con respecto al edificio del “Cine” es 2 cuadras al sur; pero con respecto al “Hotel” queda a 1 cuadras al este y casi 2 cuadras al sur para llegar al mismo punto.

“Cine” = bp                            “Hotel” = ap

Quedando entonces definido el mismo punto en el espacio el cual se puede  ver desde dos tramas diferentes.

Introducción robótica

Posted on Updated on

Robot Arm Kuka 1

¿Como esta posicionada la Robótica?

La robótica está dividida en 4 grandes campos

  • Manipulación mecánica
  • Locomoción
  • Visión computacional
  • Inteligencia Artificial

Las principales razones del crecimiento del uso de los robots es debido a la reducción de los costos, ya que los precios disminuyen al mismo tiempo el costo de la mano de obra humana incrementa. Estos a su vez se están volviendo más rápidos, precisos y flexibles. A medida que los robots se vuelven más efectivos en cuanto al costo por sus tareas y a medida que aumenta el costo de la mano de obra humana habrá más trabajos que se conviertan en candidatos para la automatización robótica.

Una tendencia secundaria es que haciendo de lado la economía, a medida que los robots se vuelven más capaces, podrán hacer más y más tareas que serían peligrosas o imposibles de realizar para los seres humanos.

Las aplicaciones que llevan a cabo los robots industriales se están volviendo más sofisticadas, en el año 2000 el 78% de los robots instalados en los Estados Unidos Fueron robots para soldadura.

¿Cuales son los retos de aprendizaje de la robótica?

La mecánica y el control es el mayor reto de la robótica industrial – Manipulador mecánico.

Muchas veces se discute sobre que es un robot industrial exactamente Los manipuladores mecánicos son incluidos pero las máquinas fresadoras controladas numéricamente generalmente no. La distinción está en alguna parte de la sofisticada capacidad de programación del dispositivo, si un dispositivo mecánico puede programarse para realizar una amplia variedad de aplicaciones, probablemente sea un robot industrial. Las maquinas en su mayor parte están limitadas a una clase de tarea considerada como automatización fija.

El estudio de la mecánica y el control de manipuladores no es una ciencia nueva sino simplemente una colección de temas provenientes de campos clásicos.

mapa_conceptual_c381reas_robc3b3tica_1

  Figura1: Campos de la robótica

La ingeniería mecánica contribuye con metodologías para el estudio de máquinas en situaciones estáticas y dinámicas. Las matemáticas proveen de herramientas para describir los movimientos espaciales y demás atributos de los manipuladores. La teoría de control proporciona herramientas para diseñar y evaluar algoritmos para realizar movimientos deseados o las aplicaciones de fuerza. Las técnicas de la ingeniería eléctrica se aplican en el diseño de sensores e interfaces para robots industriales y la ciencia computacional contribuye con la base de programar dispositivos para realizar la tarea deseada.

En el estudio de la robótica la preocupación más constante es la ubicación de los objetos en el espacio tridimensional. Estos objetos son los vínculos del manipulador, las piezas y herramientas con las que trabaja y los demás objetos en el entorno del manipulador.

Podemos describir a un nivel básico estos objetos mediante solo dos atributos posición y orientación que se complementa su análisis con las técnicas matemáticas que nos permitan manipular el objeto de interés.

Para poder describir la posición y orientación de un cuerpo en el espacio, siempre se adjunta rígidamente un sistema de coordenadas, o trama, al objeto. Después se describe la posición y orientación de esta trama con respecto a coordenadas de referencias.

Captura

Cinemática directa de los manipuladores

La cinemática es la ciencia que trata el movimiento sin considerar las fuerzas que lo ocasionan. Dentro de la cinemática se estudian la posición, velocidad, aceleración y todas las derivadas de mayor orden de las variables de posición.

1

                           Figura2: Orientación de los cuerpos en el espacio tridimensional

Los manipuladores consisten de vínculos casi rígidos, los cuales están conectado a articulaciones que permiten el movimiento relativo de los vínculos adyacentes. Estas articulaciones generalmente se instrumentan con sensores de posición, los cuales permiten medir la posición relativa de los vínculos adyacentes.

Tipos de articulaciones

  1. Articulaciones simples (un grado de libertad)

a.1)   Articulaciones Traslacionales: Desplazamiento lineal.

a.1.1) Articulación telescópica: Los ejes que producen el movimiento están alineados.

a.1.2) Articulación transversal: Los dos ejes están en posición transversal.

 

a.2) Articulaciones rotacionales: Desplazamiento angular.

a.2.1) Articulación alineada o pívot: Los ejes producen movimientos                                                         alineados

a.2.2) Articulación Transversal o bisagra: Los dos ejes están en posición transversal

a.3) Articulaciones compuestas: poseen más de un grado de libertad.

 

morf

Figura3: Configuraciones de robots industriales

El número de grados de libertad que posee un manipulador es el número de variables de posición independientes que tendrían que especificarse para poder localizar las piezas del mecanismo. En el caso de robots industriales comunes como un manipulador es generalmente una cadena cinemática abierta y como la posición de cada articulación se define generalmente con una sola variable, el número de articulaciones es igual al número de grados de libertad. El problema de la cinemática directa es calcular la posición y orientación de la trama de la herramienta relativa a la trama base.

 

Cinemática inversa de los manipuladores

El problema se plantea de la siguiente manera: dada la posición y orientación del efector final del manipulador, se calcula todos los conjuntos posibles de ángulos articulares que podrían utilizarse para obtener esta posición y orientación dadas. Este es un problema fundamental en el uso práctico de los manipuladores.

Rutinariamente el problema del cálculo de la cinemática inversa lo hacen sistemas biológicos de una forma muy sencilla ejemplo de esta es la capacidad del cerebro y el sistema nervioso logran realizar movimientos que son rutinarios para nosotros al manipular un objeto con el brazo.

Se puede pensar en ese problema como una asignación de ubicaciones en el espacio cartesiano 3D a “ubicaciones” en el espacio de articulaciones internas del robot.

La necesidad surge naturalmente al momento de especificar un objetivo en coordenadas en el espacio 3D externas. Anteriormente se carecían de algoritmos como este en los robots, simplemente se desplazaba hacia las ubicaciones deseadas que después se registraba como un conjunto de valores de articulación (es decir como una ubicación en el espacio de la articulación) para su posterior reproducción.

2

Figura4: Trama de las articulaciones puede calcularse por cinemática inversa

El problema de la cinemática inversa no es tan simple como el de la cinemática directa. Debido a que las ecuaciones cinemáticas no son lineales, su solución no es siempre sencilla (o incluso posible) en una forma cerrada. Además, surgen preguntas sobre si existe una solución o existen múltiples soluciones. En ocasiones la falta de una solución significa que el manipulador no puede obtener la posición y orientación deseada ya que se encuentran fuera del espacio de trabajo del manipulador.

 

Velocidades, fuerzas estáticas, singularidades.

Además de tratar con problemas de posicionamiento estático, es conveniente analizar los manipuladores en movimiento. Para el análisis de velocidad de un mecanismo es conveniente definir una matriz conocida como el jacobiano del manipulador. El jacobiano especifica la asignación de las velocidades en espacio de articulaciones a las velocidades en espacio cartesiano. Puntos de singularidad son importantes tener en cuenta por los diseñadores y usuarios de los manipuladores.

Explicando más la singularidad del mecanismo, todos los mecanismos están sujetos a estas dificultades, incluyendo los robots, estas condiciones de singularidad no evitan que el brazo de un robot se posicione en cualquier parte dentro de su espacio de trabajo, sin embargo, pueden ocasionar problemas con los movimientos del brazo en su entorno. En este caso surge el siguiente problema: dada una fuerza y un momento de contacto deseados, ¿qué conjunto de momentos de torsión comunes se requiere para generarlas? El uso de la matriz jacobiana del manipulador naturalmente soluciona este problema.

Espacio de trabajo método analítico para obtener expresiones analíticas de las curvas limites o superficies.

  1. Definir la postura del efector final en término de coordenadas generalizadas es decir resolver la cinemática del robot.

Jacobianos se considera diseñar un robot de n grados de libertad (GDL) y las coordenadas articulares están caracterizadas por el siguiente vector q(t) = [q1(t),q2(t),…,qn(t)] si se dispone de esta solución para la cinemática directa entonces se conoce la ecuación             p(t) = f(q(t)) donde f(q(t)) = [x(t), y(t), z(t), Φ(t), θ(t), Ψ (t)] para obtener las ecuaciones cinemáticas se usa el método de DENAVIT-HARTENBERG (matrices de transformación homogénea).

  1. Determinar las curvas (superficies) generadas por las singularidades
  2. Determinar el subset de esas curvas (superficies) para representar el espacio de trabajo.

 

Dinámica

Es amplio campo dedicado al estudio de las fuerzas que se requieren para ocasionar el movimiento. Para poder acelerar el manipulador desde una posición inerte, deslizarlo a una velocidad constante del efector final y finalmente desacelerarlo hasta tener completamente, los actuadores de las articulaciones deben aplicar un conjunto de funciones de momento de torsión. Los movimientos exactos del movimiento de torsión de un actuador dependen de la ruta tomada por el efector final y las propiedades de masa de los vínculos y de la carga útil, de la fricción en las articulaciones etc.

Los usos de las funciones de momento de torsión del actuador son indispensables para controlar el manipulador para que siga la ruta o trayectoria deseada, para su modelación se usan las ecuaciones de dinámicas de movimiento del manipulador.

Levantar un objeto liviano que nuestro cerebro pensaba que era pesado nos da la sensación de un mal cálculo, lo mismo pasa en la modelación de los algoritmos de un robot es conveniente mantener los parámetros ideales asociados a los parámetros dinámicos

Generación de Trayectorias 

Para que el sistema se mueva de acuerdo a los requerimientos de la tarea de una forma suave y controlada, se tiene que mover la articulación según lo especificado por una función en el tiempo de manera que el movimiento del manipulador parezca coordinado. La forma de calcular estas funciones de movimiento es debido a la generación de trayectorias.

La ruta de los movimientos del manipulador se puede plantear también mediante algunas ubicaciones intermedias o puntos vías a través de los cuales pasa el manipulador en su ruta hacia su destino. Trazador es el término usado cuando se pasa por un conjunto de puntos vías. Este conjunto de movimientos en el espacio debe convertirse a un conjunto de movimientos de articulaciones que se denomina generación de trayectorias cartesianas.

 

Diseño y sensores del manipulador

Para la construcción del manipulador se debe analizar la complejidad de la tarea a realizar cuando este interactúe con el objeto, podemos seguir dos enfoques construir un robot especializado para una tarea específica o construir un robot universal que pueda realizar una amplia variedad de tareas. Si se escoge el robot especializado se tendrá que analizar la tarea especificada para no hacer un robot sobrevalorado a las funciones que está sometido a interactuar. El robot universal se tendrá que hacer un estudio completo de las diferentes posiciones que adoptara el manipulador al interactuar con un objeto, seis articulaciones es el número máximo para definirlo universal.

Control de Posición Lineal

control

Figura5: Esquema de control de un Robot

Los manipuladores están equipados con motores de paso a paso o con otros actuadores que pueden ejecutar directamente una trayectoria deseada. La mayoría de los actuadores suministran una fuerza o momento de torsión para ocasionar el movimiento de los vínculos necesitando para este un algoritmo para calcular momentos de torsión que produzcan el movimiento deseado. Una de las principales preocupaciones de un sistema de control de posición son compensar automáticamente los errores de los parámetros del sistema con respecto a los disturbios que tienden a desviar el sistema de la trayectoria deseada. Para lograrlo el algoritmo de control vigila los sensores de posición y velocidad determinando los comandos de momento de torsión para los actuadores

3

Figura6: El Algoritmo de control controla la posición de la trayectoria obteniendo una retroalimentación de los sensores para ejecutar el movimiento.

Control de fuerza

Un manipulador se ve en la tarea de manipular objetos estos pueden ser sólidos, blandos o frágiles por lo tanto se debe controlar también la fuerza con la que el manipulador ejecuta la acción cuando este se vea obligado a interactuar a tareas del mundo real. El control de la fuerza es complementario al control de posición, si la situación es orientar el manipulador a un punto determinado el control de la fuerza no implica problema ya que se supone que el área estará despejada y para el manipulador no es conveniente tomar en cuenta este factor. Cuando el robot este posicionado en el punto de operación es necesario que cuando este interactúe con el objeto o pieza no aplique fuerza excesiva al manipularlo. Por lo tanto, es necesario diseñar un control mixto o hibrido en donde ciertas direcciones se controlen mediante el control de posiciones y las direcciones restantes (Manipulación) se controlen mediante el control de Fuerza. Si se quiere indicar a un robot el lavado de una ventana donde el manipulador se tiene que posicionar y después moverse de un lado a otro aplicando una fuerza perpendicular hacia el vidrio entonces es indispensable que este no aplique demasiada fuerza al objeto. En conclusión, el objeto se ve sometido a una fuerza por el manipulador, pero el manipulador se ve sometido a un juego de posiciones en el espacio de trabajo.

Programación

4

Figura7: Tipos de Programación de Robots

Los robots se caracterizan por el tipo de automatización ya sea fija (dedicada) y flexibles. De cualquier forma, se debe programar los movimientos del manipulador a través del uso de sensores y entre otras técnicas de control. Los sistemas robóticos más comunes tienen una programación donde el usuario señala un punto especial del extremo del manipulador del robot denominado punto operacional (TCP Tool Center Point) Las rutas se van construyendo mediante las especificaciones de secuencia de puntos vías. El robot seguirá esta ruta donde también se puede indicar las diferentes velocidades para diferentes intervalos de los puntos vías (TCP) con todos estos parámetros el algoritmo de generación de trayectorias debe planear todos los detalles del movimiento: Perfiles de velocidad de las articulaciones, El tiempo de duración del movimiento entre otros.

 

Programación fuera de línea y simulación

Es un entorno de programación de robots no directa, usando generalmente gráficos computacionales que describen la orientación y posición del robot, sin necesidad de acceder al robot haciendo de este un dispositivo en la industria más versátil ya que no se necesita detener la producción para establecer trayectorias del manipulador.

5

Figura8: Programación fuera de linea Simulador CAD

 

 

 

Sistemas electrónicos embebidos tendencia con gran visión

Posted on Updated on

Como estudiante de ingeniería electrónica es de vital importancia conocer las tendencias futuristas de diversos sistemas electrónicos que es lo que marcara el mercado y que podemos hacer como estudiantes para desarrollar las habilidades que nos demandara la amplia carrera de la ingeniería electrónica en este articulo se describirá una de las visiones que ya esta en pañales pero con un gran auge de crecimiento en la industria electrónica, grandes empresas como Microsoft, Apple e Intel lo denominan el Internet de la Cosas (IoT) .
embedded_solution_04

¿Que es un sistema Embebido?

Un sistema embebido son un conjunto de dispositivos integrados en un producto con el fin de controlar una o varias funciones, con recursos tecnológicos dedicados donde se pretende aprovechar al máximo la utilidad del sistema, estos se encargan de ser “transparentes para el usuario” permitiendo generar confianza al usarse, estos sistemas que integran hardware y software y comunicaciones son diseñados en diversas tecnologías existentes como microprocesadores, FPGA, microcontroladores o PLC’s de acuerdo al nivel, requerimientos y complejidad del sistema.

Según el tipo de Tecnologia se busca

  • Confiabilidad y seguridad
  • Arquitecturas de referencia
  • Conectividad
  • Ciclo de vida de desarrollo de sistemas embebidos

¿Hacia donde se dirige el desarrollo de sistemas embebidos?

Diversos dispositivos electrónicos nos rodean y estamos en constante contacto con ellos los cuales poseen procesamiento lógicos importantes como lo es un sistema embebido tales dispositivos como smartphones, tabletas o portátiles estos cuentan con funciones para administar el uso de WiFi  bluetooth, gps etc. A medida que avanza la búsqueda de optimizar muchas funciones en un dispositivo estos a su vez se vuelven mas complejos.

Monitoreo, prevención de fallas, mejoras de seguridad procesamiento de audio e imágenes, comunicación inalámbrica y señales como entradas  para mediciones precisas o salidas a actuadores que todos a su vez cuentan con sistemas muy precisos y dedicados requieren de la atención de cualquier ingeniero electrónico donde se debe cultivar una constante actualización de las múltiples tendencias tecnológicas de la actualidad.

National Instruments resalta los detalles más sobresalientes de los Sistemas Embedded por parte de la compañía, otorgando información sobre los retos más apremiantes a los que se enfrentan los grupos de diseño encargados de desarrollar sistemas de control y monitorización embebidos.

Captura

Dr. James Truchard, CEO y co-fundador de National Instruments, quien explica:

“Nuestros clientes están trabajando para solucionar los problemas más difíciles de ingeniería que enfrenta la sociedad, tales como los 14 grandes retos que National Instruments ha identificado mediante la Academia Nacional de Ingenierías. Esos retos incluyen tareas monumentales como ingeniería-inversa del cerebro humano, adquisición de energía desde fusión, mejores medicinas, restauración de infraestructura urbana y suministro global de acceso al agua limpia.”, comentó el Dr. T.”

En su intento por reforzar la demanda de mayores soluciones para los ingenieros diseñadores de aplicaciones embebidas, el fabricante de Microcontroladores (MCUs) dio a conocer la tienda su nueva tienda en línea “Gallery.Atmel.com” enfocada a la venta de Apps para embebidos compatibles con arquitectura Atmel.

portada2

Los constantes retos técnicos a los que se enfrentan los ingenieros diseñadores de sistemas embebidos, son cada dia mas complejos lo cual nos deja la pregunta o la espina como futuros profesionales de la electrónica que es indispensable profundizar el el uso de plataformas o herramientas que nos permitan integrar sistemas de uso productivo y eficiente

Cada vez es más importante el software de desarrollo para aplicaciones embebidas, sobre todo en el diseño de dispositivos como smartphones o controles industriales, y  desafortunadamente las soluciones de las herramientas actuales aun no cuentan con los elementos completos que demandan los ingenieros, es decir, hasta ahora son pocos o nulos los software que ofrecen una funcionalidad idónea para el desarrollo de aplicaciones embebidas que eviten la compra de otras herramientas para realizar otras operaciones del proyecto Si se desea desarrollar una aplicación inteligente para un proceso ya sea usando programacion android para una comunicación con un smarthphone o un programa en visual studio que nos permite recepcionar datos en nuestro computador.

21911_efg_lv_dev_web_series

La empresa National Instruments nos ofrece una amplia gama de equipos ya desarrollados por la compañia que conjunto con su programa LabView nos permite conectar diferentes variables de medicion ahorrandonos el proceso de Hardaware y comunicación entre los dispositivos despues que se obtienen los datos se puede jugar con las variables obtenidadas recepcionandolas en el computador donde el software de labview con su programación gráfica nos simplifica mucho permitiendonos crear codigo para compartir los datos HTML en un pagina web, guardarlos en un archivo excel o la opcion de ser mostrados en el computador donde el usuario pueda interactuar con el sistema, todas esta utilidades  tienen una gran confiabilidad pero son muy caros limitandonos con el precio.

Ejemplos de sistema simple embedded usando Diferentes tecnologias

  1. Uso de microcontroladores con comunicacion USB (Microchip PIC18F4550) y recepcionar los datos en el software de Labview.
  2. Modelación de sistemas embebidos con Matlab.
  3. Uso de comunicaciones via bluetooh.
  4. Comunicacion via ethernet para compartir datos de mediciones en la Web.

De acuerdo al nivel de complejidad se deberan ir usando diferente herramientas que nos permitan modelar eficazmente un sistema embebido

cuanto-gana-un-ingeniero-electronico-570x330

Como futuro ingeniero es indispensable usar muchas alternativas que nos permitan ser competitivos en el mercado ya sea generar soluciones mas baratas que me permitan obtener el mismo resultado que al comprar un sistema ya dedicado que en ocasiones es sobrevalorado ya que ciertos requerimientos del problema se quedan chicos al potencial del sistemadedicado que se compra, un ejemplo es usar la NiDaq Rio de National Instruments para medir la temperatura y el requerimiento unico de porque lo  estoy usando es para mandar los datos via Web, aumentadonos los costos y bajando nuestra competitividad en el mercado, es por tal razon que es de vital importancia estar en constante actulizacion PROD_Ingenieria-Sistemas-Electroidentificar en el mercado que dispositivo me resuelve y cumple con mis requerimientos para mi modelacion del  sistema que me permita obtener un sistema confiable y que me permita como vendedor de soluciones dedicadas obtener mas ganancias, cada dia la industria electronica nos ofrece algo nuevo, ¿que estamos haciendo para identificarlos? es la pregunta clave que marcara nuestra competitividad.