El Segway es el primer aparato de transporte impulsado eléctricamente que mantiene su propio equilibrio. Con unas dimensiones inferiores al tamaño promedio de un cuerpo adulto y la habilidad de imitar el equilibrio humano, el Segway usa el mismo espacio que un peatón y puede ir a cualquier sitio por donde una persona puede andar. Este vehículo permite ir más lejos, moverse más rápido y aumentar la cantidad de peso que puede cargar por los sitios por donde se anda normalmente.
Segway: versión comercial
Segway en LEGO
Podemos encontrar varias implementaciones realizadas con LEGO que resuelven el problema de estabilidad.
#define SENSOR_3_THRESHOLD 49 // Valor a medir experimentalmente #define SENSOR_1_THRESHOLD 45 // Valor a medir experimentalmente task main () { SetSensor(SENSOR_1, SENSOR_LIGHT); SetSensor(SENSOR_3, SENSOR_LIGHT); SetPower(OUT_A+OUT_C, OUT_FULL); until(false) { if (SENSOR_1 >= SENSOR_1_THRESHOLD) { OnFwd(OUT_A); OnRev(OUT_C); Wait(1); } if (SENSOR_3 >= SENSOR_3_THRESHOLD) { OnRev(OUT_A); OnFwd(OUT_C); } } }
Podemos deducir la inclinación del robot a través del sensor de luminosidad teniendo en cuenta que existe una relación entre luminosidad y ángulo: partiendo de una posición de equilibrio se toma la medida de referencia de luminosidad. Si el robot se cae hacia el lado del sensor, es decir, se acerca el sensor al suelo, crece el valor de luminosidad y de este valor inferimos el ángulo. Para ajustar los parámetros es necesario raelizar una calibración previa. Debido a que el sistema es no lineal y la variación de la respuesta obtenida no es la misma dependiendo si el robot cae hacia uno u otro lado, se han dispuesto dos sensores, uno a cada lado del robot, y para el cálculo de la inclinación se hace uso de la lectura del sensor cuya luminosidad es mayor. Para que este sistema funcione debemos trabajar en unas condiciones de iluminación controladas, a la par que la superficie debe ser lo más homogénea posible. Es posible trabajar en condiciones distintas si implementamos un sistema adaptativo. Por ejemplo, si la lectura de ambos sensores crece, podemos encontrarnos en un sistema en el que la iluminación del entorno está aumentando o la superficie sobre la que nos movemos es más clara, por lo que deberemos de adaptar los umbrales de trabajo a esta nueva situación.
El programa fue escrito en NBC y para el desarrollo hizo uso de BricxCC.
Philo proporciona el código fuente del modelo.
Basándose en los modelos anteriores de Steve Hassenplug y de Philippe Hurbain, Ryo Watanabe creó en el 2007 una nueva versión basada en el NXT y haciendo uso del giróscopo. En su página documenta con todo detalle desde la estructura hasta la obtención de las ecuaciones que caracterizan al modelo.