1 nov 2016

Pruebas de Identificación de motor DC, Parte B2: utilizando Redes Neuronales FeedForward

   
1.    Red Neuronal Feedforward
Todas las simulaciones se realizaron, utilizando el toolbox de redes neuronales de Matlab©.
Para la primera simulación se utilizó una red neuronal con una capa oculta y dos neuronas, como se muestra en la siguiente imagen.

Como entrada a la red se utilizó el voltaje de armadura (Va), con la que se deseaba modelar el comportamiento de la velocidad angular del motor (w).

Para la fase de entrenamiento de la red, se manejó el 70 % de los datos, como algoritmo de entrenamiento se utilizó el de Levenberg-Marquardt.  Para la fase de validación se utilizó el 15% de los datos.

Como se puede ver en la siguiente figura, los resultados no son adecuados sobre todo en la fase inicial (arranque del motor).



Resultados similares se obtuvieron al cambiar el algoritmo de entrenamiento a Bayes Regularization y con el Scaled Conjugate Gradient.

Progresivamente se aumentó el número de neuronas en la capa oculta hasta llegar a un valor de 100, sin visualizar una mejora apreciable en el comportamiento en la fase inicial; en la siguiente figura se muestra el valor de. los errores cuadráticos medios (MSE),


El siguiente modelo involucró como entradas, además del voltaje de armadura (Va), a la corriente de armadura (Ia). En la figura se muestra el resultado obtenido para este modelo, con dos neuronas en la capa oculta.



Como se puede visualizar, aunque el error en la etapa estable es pequeño, el modelo no alcanza a modelar el comportamiento en la fase de arranque del motor, incidiendo este en el valor de los errores cuadráticos medios (MSE),


Se realizaron simulaciones hasta con 100 neuronas en la capa oculta; el mejor comportamiento se obtuvo para el modelo con 20 neuronas, sin embargo, sigue este presentando el error en el arranque, comportamiento no aceptable para el modelo; en la imagen se puede ver el resultado de los errores cuadráticos medios (MSE).


Las Redes Neuronales feedforward utilizadas no fueron apropiadas para modelar completamente el comportamiento del motor DC; ya que estas fueron incapaces de reproducir el comportamiento en el arranque del motor. Más allá del arranque, el modelado con redes neuronales feedforward es bastante adecuado, si se incluyen como entrada al modelo el voltaje y la corriente de armadura.


Este post está asociado a la secuencia: 
  1. Modelo de motor DC,
  2. Modelo de motor DC en Simulink,
  3. Pruebas de Identificación de motor DC –Parte A: Simulación del motor

GT 2016     @ProyectoGio

27 oct 2016

Redes Neuronales - lo básico

El primer método a utilizar para identificar el motor DC, serán las redes neuronales. Para contextualizar el trabajo de identificación que se va a desarrollar mas adelante, primero se presentarán de manera general algunas nociones de redes neuronales (Adaptado de [1])
En la siguiente figura se muestra el modelo de una neurona con una sola entrada. (las figuras son tomadas de [1])

En este modelo, una entrada escalar p es multiplicada por el escalar w (weight w), el valor resultante de esta operación es enviado al sumador; al mismo tiempo la otra entrada es multiplicada por un valor offset o sesgo (bias b) y el resultado enviado también al sumador. La salida del sumador (n) pasa a una función de transferencia o señal de activación (f) que produce la salida de la neurona, un escalar (a).
La salida de la neurona es calculada como: a = f(wp+b). La salida real dependerá de la función de transferencia f que se seleccione. Algunas de las funciones mas utilizadas son: Hard Limit (hardlim), Linear (purelin), Log-Sigmoid (logsig), Hyperbolic Tangent Sigmoid (tansig).
Típicamente una neurona tiene múltiples entradas, en la siguiente figura se muestra el modelo de una neurona con R entradas.
En este caso la salida de la neurona es calculada como: a = f(Wp+b). Donde W es la matriz de importancia y p es el vector de entradas.
En la siguiente figura se muestra la misma neurona, pero utilizando una notación abreviada.

Habitualmente una sola neurona, aun teniendo muchas entradas, puede no ser suficiente; se podrían necesitar varias trabajando en paralelo, esto se conoce como capa (layer). En la siguiente figura se presenta una red de una única capa con S neuronas, observe que cada una de las R entradas está conectada a cada una de las neuronas y que la matriz de importancia tiene ahora S filas.

Una red puede tener varias capas; cada capa tiene su propia matriz de importancia W, su propio vector de sesgos b, un vector de entrada a la red n y su propio vector de salida a. La siguiente figura es la representación de una red de tres capas.

La representación simplificada de esta red se muestra a continuación.

Nota: El tema de redes neuronales es muy amplio y no se pretende ni se puede abarcar aquí; si se desea conocer más, un buen libro que recomiendo para empezar  es [1], el cual se tomó como base para este resumen-sinopsis.

El primer método identificación a evaluar (aplicado al motor Dc) corresponde al uso de redes neuronales sin retroalimentación (feed-forward), se iniciará con redes neuronales de varias capas y una entrada; paulatinamente se incrementarán el número de neuronas por capa, y el número de capas. En cada caso se visualizará su efectividad en modelar el comportamiento del motor, la particularidad y los resultados obtenidos serán presentados en un próximo post.

Este post está asociado a la secuencia: 
  1. Modelo de motor DC,
  2. Modelo de motor DC en Simulink,
  3. Pruebas de Identificación de motor DC –Parte A: Simulación del motor


Bibliografía
[1]    M. T. Hagan, H. B. Demuth, and M. H. Beale, “Neural Network Design,” pp. 1–1012, 1995.


GT 2016     @ProyectoGio

Pruebas de Identificación de motor DC – Parte A: Simulación del motor


El objetivo es evaluar diferentes técnicas de identificación aplicadas a un motor DC. Para simular el comportamiento del motor se utilizó un modelo generado en Simulink; los parámetros del motor utilizados en las simulaciones son:
L = 0,0052 H
Ke = 0,1 V/rad/s
R = 2 Ohm
J = 1,520x10-4 kg.m2
b = 0,01 N.m/rad/s
km = 0,1 N.m/A

Como ya se mencionó en el modelo del motor DC en Simulink, la señal de entrada es el voltaje de armadura Va; se utilizó una función escalón (Step) con un valor de 30, a la que se le agregó una señal de ruido aleatorio para simular el comportamiento real una fuente de voltaje.
Los parámetros utilizados en la simulación se muestran en la siguiente figura

Como el objetivo es realizar pruebas de identificación, a la salida del modelo se “midieron” la corriente de armadura Ia y la velocidad angular w
En el archivo generado al ejecutar el modelo, se tienen en su orden los siguientes parámetros: tiempo, voltaje de armadura(Va), corriente de armadura(Ia) y velocidad angular (w). En función del tiempo de simulación y el tiempo de muestreo, se tienen 301 datos para cada variable.

En las siguientes imágenes se muestra el comportamiento de la corriente y la velocidad angular.


Descargar el archivo de datos (DC_ParId.mat) AQUÍ.

GT 2016     @ProyectoGio

26 oct 2016

Modelo de motor DC en Simulink

Con las ecuaciones 1 y 2 se pueden construir modelos computacionales para simular el comportamiento del motor:


En concordancia con el modelo matemático del motor DC, en el modelo en Simulink, las entradas son el voltaje de armadura Va y el torque debido a la carga externa TL; este modelo entrega a la salida, la velocidad angular w, la corriente de armadura ia, el torque debido a la fricción Tf, el torque del motor Tm, y también se ha incluido una señal de ruido, señales que son presentadas visualmente y además grabadas en el archivo DC_ParId.mat.

Dentro del bloque DC Motor, se han incluido las dos ecuaciones matemáticas que gobiernan el comportamiento del motor DC, cada una en un módulo diferente.

El modulo mecánico es
En este módulo se ingresan y se pueden variar los parámetros J, b y Km.

El módulo eléctrico es
En este módulo se ingresan y se pueden variar los parámetros L, Ke y R.

Descargar el modelo para Simulink (MotorDC_IdentParamGTorres.slx)  AQUÍ



GT 2016     @ProyectoGio

Modelo matemático de motor DC


La dinámica de un motor DC puede ser representada mediante dos ecuaciones: una que involucra el comportamiento mecánico (ecuación 1) y la otra que involucra el comportamiento eléctrico del motor (ecuación 2). 
**En la ecuación 1 se ha incluido una componente que cuantifica la fricción viscosa.


Donde,
J es la inercia del motor, km es la constante de torque del motor, ia es la corriente de armadura, b es el coeficiente de fricción viscosa, w es la velocidad angular del motor, TL es el torque de la carga mecánica (externa), Vin es el voltaje de armadura, Ra es la resistencia en el bobinado de la armadura, La es la inductancia de la armadura y ke es la constante de velocidad del motor.

De esta manera, kmia es el torque del motor (torque electromagnético),  kew = Vemf es la fuerza contra-electromotriz, bw es la fricción viscosa, mientras que el torque requerido para acelerar el motor (sin carga) esta dado por J(dw/dt).

Si se quiere, el torque de la carga mecánica puede ser expresado explícitamente para incluir el momento de inercia de la carga (ecuación 3)

Donde,
JL es la inercia de la carga y bL es el coeficiente de fricción viscosa en el lado de la carga.


Con las ecuaciones 1 y 2 se pueden construir modelos computacionales para simular el comportamiento del motor; este es un modelo para Simulink:

    
GT 2016     @ProyectoGio

8 jul 2016

Razones para estudiar Ingeniería Mecánica

Como profesor de Ingeniería, en repetidas ocasiones pregunto a mis estudiantes de los primeros semestres las razones por las que decidieron estudiar Ingeniería Mecánica; algunas veces recibo respuestas muy concretas, sin embargo, en numerosas ocasiones no hay una respuesta clara.


Cada ingeniero tiene sus propias experiencias personales, esas pequeñas cosas que les gusta de su trabajo, mucho dependerá también de la industria, el tipo de trabajo y los gustos personales de cada ingeniero. A continuación, voy a presentar de manera general algunas de las razones que me impulsaron y que podrían también animar a muchos jóvenes a elegir esta carrera como su opción de vida profesional futura.

Más allá de hablar de un plan de estudios que puede incluir, entre otros, cursos como: física, química, cálculo, ecuaciones diferenciales, estática, dinámica, ciencia de los materiales, mecánica de fluidos, diseño de máquinas, neumática, hidráulica, programación de computadoras, etc.; y que durante la carrera se pueden utilizar herramientas tipo CAD-CAE (Ingeniería Asistida por Computadora), FEA (Finite Element Analysis), CAM (Computer Aided Manufacturing), CFD (Computational Fluid Dynamics); expondré estas seis razones, tal vez más comprensibles y enamoradoras:

1.    Aprender cómo funcionan las cosas mecánicas:
Como ingeniero mecánico, experimentará cómo funcionan las cosas; usted aprenderá que incluso los sistemas y dispositivos más complejos pueden dividirse en componentes más simples, y será capaz de averiguar cómo trabaja cada uno de ellos, cómo interactúan y cómo aislar y solucionar problemas cuando algo no funcione.

2.    Ayudar a crear el futuro, en lugar de reaccionar ante el
Los ingenieros son responsables de muchas de las tecnologías emergentes que están dando forma al futuro. Mientras que los trabajadores de otros campos se ven obligados a adaptarse a las nuevas tecnologías y un entorno cambiante, los ingenieros mecánicos están en la primera línea, en el diseño y la creación de nuevas soluciones a los problemas del mundo.

3.    Siempre habrá un desafiado
Como ingeniero mecánico se enfrentará con problemas que requieren habilidades especializadas: usted tendrá que encontrar soluciones a los nuevos retos técnicos y de negocio, tendrá que hacer uso de todas las habilidades y los recursos a su disposición. Eso puede significar que a veces tenga que construir conjuntos de habilidades completamente nuevos,  a partir de cero.

4.    Conseguir un trabajo bien pagado
De acuerdo con Collegechoice.net, la Ingeniería Mecánica es una de las 50 carreras que más paga para los nuevos graduados. Un ingeniero mecánico con cinco años de experiencia puede ganar hasta $ 96k en los EE.UU. y Europa. (De acuerdo con Salary.com).

5.    Hay un puesto para ingenieros mecánicos en casi todas las industrias
Hay ingenieros mecánicos detrás de todo lo que usamos y disfrutamos, incluso las industrias que no son conocidos por fabricar o vender dispositivos mecánicos emplean ingenieros; por ejemplo, todas las compañías de bienes de consumo contratan a ingenieros mecánicos para el envasado y el diseño del producto, también hay ingenieros mecánicos. planificando, diseñando y montando proyectos de calefacción, ventilación y aire acondicionado en edificios residenciales, comerciales e industriales. Las posibilidades son infinitas.

6.    Estar a la vanguardia de una fuerza laboral moderna y en evolución
Atrás han quedado los días en que un equipo de ingenieros estaba conformado por un grupo homogéneo de hombres de la empresa, que han trabajado en el mismo trabajo durante cuarenta años. Los ingenieros modernos son un grupo diverso, el número de mujeres en puestos técnicos está en constante aumento y las presiones de la nueva tecnología y la globalización, han dado lugar a una fuerza de trabajo flexible con una multitud de aptitudes, condiciones, experiencia e ideas; el resultado: Mucha más la innovación en todos los niveles.


Seguramente hay muchas más y posiblemente más fuertes razones para convertirse en un ingeniero mecánico, esta lista es solo una pequeña muestra; si le preguntan a otro Ingeniero Mecánico, seguramente apasionadamente reforzará mi apreciación y ampliará esta lista con muchos más detalles. 

GT 2016     @ProyectoGio
GT 2016     @ProyectoGio

6 jul 2016

La “satisfacción” del diseño del juguete sexual.

Los que hemos diseñado alguna vez, sabemos que existe una metodología de diseño y que, en este proceso, la base para un buen diseño es establecer de la mejor manera las necesidades de los clientes, a partir de este conocimiento se desarrolla un trabajo de pensamiento creativo que unido a la experiencia acumulada y al trabajo en equipo, llevan a una solución tecnológica que se adapta a las necesidades de estos clientes.


Las necesidades de los clientes son diversas, hoy existen y seguirán existiendo o apareciendo muchas mas no satisfechas. En el escrito The Joy of Sex Toy Design,  Mel Anninger hace una breve inmersión en el mundo de los juguetes y dispositivos sexuales y a la tarea de diseñar algo completamente nuevo y diferente. A pesar de ser un escrito muy básico, lo que quiero mostrar al compartirlo es que, existen necesidades en todos los ámbitos y que los ingenieros debemos estar atentos para convertir esas necesidades en soluciones: El mercado (clientes) se encuentra en constante evolución, y la ingeniería y las soluciones de diseño día a día tienen que ser fluidas y responder a estos nuevos desafíos.


Advertencia: En el artículo se utilizan algunos términos sexuales para referencia y descripción de la temática base para el diseño particular; se recomienda dejar de lado por un momento sus creencias personales sobre el tema.



GT 2016     @ProyectoGio

4 may 2016

Exactitud y precisión no son los mismo!




Los términos Precisión y Exactitud, suelen ser confundidos al momento de analizar los resultados de una calibración, las especificaciones de un instrumento o, en robótica, el desempeño de un robot manipulador. Aquí doy una resumida descripción de estos términos y su diferencia.

La exactitud en términos generales se define como la proximidad entre el valor medido y el valor “verdadero” del parámetro a medir. La exactitud no es una magnitud y no se expresa numéricamente, por lo tanto, una medición es más exacta cuanto más pequeño sea el error en la medición.

Por su parte, la precisión depende de la distribución de los resultados y no está relacionada con el valor “verdadero” del parámetro a medir. Es la proximidad entre las indicaciones o los valores medidos obtenidos en mediciones repetidas de un mismo objeto, bajo las mismas condiciones. Esta suele expresarse numéricamente mediante medidas de dispersión tales como la desviación estándar o la varianza.



 Imagen tomada de: http://www.caletec.com/blog/6sigma/exactitud-precision-y-sesgo-de-los-sistemas-de-medida/

En la imagen se puede ver gráficamente y de manera general la diferencia entre exactitud y precisión. Para la interpretación suponga que se están realizando disparos sobre una diana, y que el centro de dicha diana es el valor verdadero o de referencia.


Si se tuviera que seleccionar un robot manipulador que se utilizaría para colocar piezas para una operación de ensamblaje, y que en función del dinero disponible solo se tuvieran dos opciones de compra, que sería mejor?: a) tener baja exactitud y alta precisión o b) tener alta exactitud y baja precisión.
 GT 2016     @ProyectoGio