miércoles, 5 de enero de 2011

NXT Ballbot Simulation with Microsoft Excel

Las herramientas de simulación son muy eficientes a la hora de diseñar sistemas en ingeniería, ya que nos permiten preveer las características que debe tener nuestro sistema para resolver el reto de diseño, reduciendo costes y tiempo en la construcción de prototipos.

En nuestro caso, hablando de Ballbot o TwoWheels es importante saber qué potencia necesitan nuestros motores para mantener estable el robot, o al contrario, a partir de la potencia de los mismos saber cuál es el la pendiente máxima que puede escalar.

Habitualmente esta actividad se realiza mediante herramientas específicas de diseño para ingeniería, como Matlab o Simulink, pero en este caso he decidido realizar dicha simulación con Microsoft Excel, especialmente por la facilidad de programación y por la oportunidad que ello presenta ya que en cualquier equipo con MSOffice se encuentra dicha herramienta disponible.


Ni qué decir tiene que MsExcel es una herramienta de cálculo de propósito general, donde su principal fuerte es la capacidad de realizar actualización de resultados en tiempo real, ofreciendo un resultado visual instantáneo. Este es uno de los motivos por los que también resulta útil para la simulación, ya que nos permite realizar "optimización en tiempo real" ajustando los parámetros manualmente y disponer del resultado de inmediato.

Es de destacar que en este proyecto no se necesita tener conocimientos de programación, ya que la resolución de las ecuaciones diferenciales se pueden realizar sobre una hoja de cálculo directamente, implementando un método RungeKutta de 4º (RK4) orden (el mismo que utiliza Matlab o Simulink de forma oculta), pero con la ventaja de poder introducir señales externas como ruido o impulsos durante la resolución de las mismas, ya que tenemos acceso fila a fila a la resolución del RK4.

Otra utilidad que he aprovechado de MsExcel en este proyecto y me gustaría destacar es el cálculo matricial, que muestro en la representación de la página principal, donde se expresa en "Espacio de Estados" la resolución del problema con las matrices A,B,C y D.

Dejo a vuestra disposición el algoritmo utilizado en este ejemplo: Descargar NXTBallbotSimulacion.xls.

Otros proyectos: Pulsar aquí.

No hay comentarios:

Publicar un comentario