martes, 4 de enero de 2011

NXT Ballbot Remote Control

Ballbot NXT was born the summer of 2008 as a challenge and a project proposal to Master of the University of Alcala de Henares, Madrid, Spain.

This robot is defined as a two-axis inverted pendulum technology developed with LEGO MINDSTORMS, a prototyping kit technicians, initially thought to make toys.

The challenge at baseline was a problem of imagination:
Using LEGO MINDSTORMS NXT as a development platform was a decision of departure, since there was no solution to the problem with this technology and wanted to push the boundaries of the development environment. While this appeared to be in principle a restriction later proved to be key, because the solution space was also limited.

The central problem is not a control engineering problem, as the inverted pendulum problem is a classic problem that is resolved as required in engineering practice. The central problem was to build a physical model that supports the theoretical solution.
While the development seems complex once completed, I have to note that the progressive construction process was the key to success in this case as a cutting system shows that it is built layer by layer on simpler systems, to reach a basic frame that holds the ball control on the tractor down the servo.



GyroSensor Hitechnics technology has made possible by a solid state gyro, have the ideal tool for estimating the rotation system, which can carry up to 100 measurements per second, that correct the imbalance displacement with adequate efficiency. The problem of working with a gyro is that it measures the speed of the system and this is not sufficient to establish the model for control of our Ballbot is necessary to estimate the absolute position. The digital data processing of the gyroscope can integrate the value of this and from that determine the actual position of the system and its speed. (Note: Anyone wishing to address the problem NXT Ballbot must resolve before TwoWheels system to control the problems of thermal noise and drift of the gyroscope).
After solving the problem of stability of the platform is an additional problem that occurs in the time it is desired to guided paths and the system in terms vector, provides a measure of position (x, y ), but not a course and therefore not known if there is a rotation central axis of the friction system derived from irregular or a simple air flow.
The solution to this second problem can be obtained through a central rotation measure, but uses gyroscopic technology it is invalid because the speed that can measure the rate gyroscope HiTechnics can not make reliable measurements below 1 ° / s, and it is these small problems but accumulated detectable only those who put a path error. Thus it is necessary to have an external absolute measure. In our case we used a solid state compass, which returns the degree of orientation to the Earth's magnetic north.

Finally, the external guidance process is done through a communication process based on PC-NXT Bluetooth technology that implements the NXT and any external device. The communication protocol is a standard BT NXT series, easily programmable and can develop such a mechanism from Smartphone devices. In our case it was decided to make a Visual Basic application running on a PC and allows us to make use of the mouse, draw complex paths by number of points that NXT Ballbot pursued. The displacement of the robot returns in real time to guide the implementation of the absolute position and thus draw on the screen position.

More projects here

LQR Simulation with MsExcel: click here.

NXT Ballbot: Pendulo invertido sobre una esfera

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í