NXT Ballbot nació el verano de 2008 como reto y propuesta a un proyecto de fin de Master de la Universidad de Alcalá de Henares.
Se define como un robot péndulo invertido de dos ejes desarrollado con tecnología LEGO MINDSTORMS, un kit de desarrollo de prototipos técnicos.
El reto inicial es problema de imaginación:
Utilizar LEGO NXT MINDSTORMS como plataforma de desarrollo fue una decisión de partida, pues no existía solución con esta tecnología al problema y se deseaba llevar al límite dicho entorno de desarrollo. Si bien ello parecía ser en principio una restricción, más adelante demostró ser la clave, ya que el espacio de soluciones también quedaba acotado.
El problema central no es un problema de ingeniería de control, ya que el problema del Péndulo Invertido es un problema clásico que se resuelve como práctica obligada en las ingenierías. El problema central consistía en construir un modelado físico que soportase la solución teórica.
Si bien el desarrollo parece complejo una vez finalizado, tengo que destacar que el proceso constructivo progresivo fue la clave del éxito en este caso, ya que en un despiece del sistema se observa que el mismo se construye capa a capa sobre sistemas más simples, hasta llegar a un bastidor básico de control que sostiene la esfera presionada sobre las cabezas tractoras de los servomotores.
La tecnología Hitechnics GyroSensor ha hecho posible, mediante un giróscopo de estado sólido, disponer de la herramienta ideal para estimar el giro del sistema, pudiendo realizar hasta 100 medidas por segundo, que permiten corregir el desplazamiento por desequilibrio con la eficiencia adecuada. El problema de trabajar con un giróscopo es que éste mide la velocidad de giro del sistema y ésto no es suficiente, pues para establecer el modelo de control de nuestro Ballbot es necesario estimar la posición absoluta. El procesado digital de los datos del giróscopo permiten integrar el valor de este y a partir de ahí determinar la posición real del sistema, así como su velocidad de giro. (Nota: Cualquiera que desee enfrentarse al problema NXT Ballbot, deberá resolver previamente un sistema TwoWheels, para controlar los problemas derivados del ruido térmico del giróscopo).
Una vez resuelto el problema de estabilidad de la plataforma surge un problema adicional que se presenta en el momento en que se desea proceder al guiado de trayectorias y es que el sistema, en términos vectoriales, dispone de una medida de posición (x,y), pero no de un rumbo y por lo tanto desconoce si está sufriendo una rotación del eje central del sistema derivado de fricciones irregulares o de una simple corriente de aire. La solución a este segundo problema se puede obtener mediante una medida de rotación central, pero utilizar para ésta la tecnología giroscópica no es válida ya que la velocidad de giro que puede medir el giróscopo de HiTechnics no puede realizar medidas fiables por debajo de 1º/s, y son estos pequeños problemas apenas indetectables pero acumulables los que introducen un error de trayectoria. Así pues es necesario recurrir a una medida absoluta externa. En nuestro caso se ha utilizado un compás de estado sólido, que devuelve el grado de orientación respecto al norte magnético de la tierra.
Finalmente el proceso de guiado externo se realiza mediante un proceso de comunicación PC-NXT basado en la tecnología Bluetooth que implementa el NXT y cualquier dispositivo externo. El protocolo de comunicaciones BT NXT es un estándar serie, muy fácilmente programable y es posible desarrollar dicho mecanismo desde dispositivos Smartphone. En nuestro caso se ha decidido realizar una aplicación en Visual Basic que se ejecuta en un PC y nos permite haciendo uso del ratón, trazar trayectorias complejas, mediante serie de puntos que NXT Ballbot persigue. El desplazamiento del robot devuelve en tiempo real a la aplicación de guiado la posición absoluta y de esta forma trazamos en pantalla su posición.
La simulación del modelo en Espacio de Estados: Pulsar aquí.
Otros proyectos: Pulsar aquí
No hay comentarios:
Publicar un comentario