By Marcelo Fornaso
  Second Generation Self Balancing Vehicle
Vehículo Autobalanceado de Segunda Generación


TILTO es un vehículo eléctrico unipersonal del tipo "Péndulo Invertido", con equilibrio automático en dos direcciones simultáneas.

La idea se me ocurrió a mediados de 2010 y tardó unos meses en materializarse, un poco porque en ese momento estaba lejos del país (en Etiopía) y otro poco porque decidí redactar una Solicitud de Patente de Invención (por las dudas...) y esto me llevó unos meses.
TILTO is an electric unipersonal vehicle of the "Inverted Pendulum" type, balancing automatically in two directions simultaneously.

The idea came to me in mid-2010 and it took several months to materialize, partly because at that time I was far from home (in Ethiopia) and partly because I decided to write a Patent Application (just in case ...) and it took me a few months.

Cómo surgió la idea del TILTO?
Para ir MUY al principio: Ya en charlas con amigos, hace tiempo, había discutido la idea de fabricar una mountainboard con "ruedas inclinables".
Esta idea de las ruedas inclinables fue motivo de burla estuvo presente en varias otras ideas, pero en algún momento se me ocurrió aplicarla a un Segway.
El Segway es un objeto de deseo para cualquier tecnófilo, y aunque no sea la solución universal  para el transporte de personas (según sus fabricantes), resulta útil para paseos cortos (probé uno en París) y hasta quizá para ir de casa a la oficina (a 15 cuadras).
Un problema que encuentro en el Segway es que al desplazarse a velocidad relativamente elevada (en comparación con un peatón), en curvas sin peralte o inclinación produce fuerzas laterales sobre el conductor, que tienden a "sacarlo" del vehículo.
Esto hace que el conductor se deba inclinar bastante para evitar caerse, y esto resulta incómodo y hasta inseguro, porque la plataforma se encuentra horizontal cuando el terreno es llano.
Aún a bajas velocidades, si el terreno tiene pendiente hacia un lateral, la plataforma donde se para el conductor queda inclinada y es incómoda y/o insegura.
How did I get the idea of TILTO?
Going VERY early: In talks with friends of mine, long ago, I had discussed the idea of making a mountainboard with "tilting wheels".
The tilting wheels idea was mocked was present in several other ideas, but at some point it occurred to me to apply it to a Segway.
The Segway is an object of desire for any technophile, and although it's not the universal solution for the transport of persons (according to its makers), it is useful for short trips (I tried one in Paris) and perhaps even to go from home to the office (15 blocks).

One problem I find with the Segway is that when running at relatively high speed (compared with a pedestrian), in flat or not banked curves there are lateral forces acting on the driver, which try to take him away from the vehicle.

This causes that the driver must lean laterally enough to avoid falling, and this state is uncomfortable and even dangerous, because the platform keeps horizontal when the terrain is flat.
Even at low speeds, if the terrain is sloping to one side, the platform where the driver stands gets inclined and is uncomfortable and/or unsafe.

La solución que se me ocurrió para este problema es una plataforma que se incline, y ruedas también inclinables!

Pero la idea más importante no es que el aparato se incline hacia los lados, sino agregar otro sistema inercial completo que permita controlar la inclinación hacia los laterales, impidiendo que el vehículo y su conductor se caigan.

El Segway no puede caer hacia los lados (en condiciones normales) porque es mecánicamente rígido en esa dirección y su centro de gravedad está sobre su base de apoyo, pero el Tilto sí puede caer hacia los lados (es inclinable), entonces le agregué un segundo sistema de control, para controlar ese efecto.

El resultado de este segundo sistema de control es que si el vehículo está avanzando en línea recta y el conductor se inclina hacia la derecha, por ejemplo, se producirá la aceleración de la rueda izquierda y desaceleración proporcional de la rueda derecha (de manera de mantener la velocidad del Tilto constante) y de esta forma las ruedas y el punto de apoyo del vehículo se desplazarán hacia la derecha, modificando la trayectoria general del Tilto en ese sentido y volviéndolo  a la posición vertical (como haríamos en una bicicleta para mantener el equilibrio, pero el Tilto dobla solo!)
Funcionará???

Para ser más breve, como ya dije me pasé varios meses redactando la Solicitud de Patente de Invención, que fue presentada en diciembre de 2010 y se puede descargar desde este LINK.

The solution I envisioned to solve this problem is a tilting platform, and wheels that also tilt!


But the most important idea is not that the device can tilt sideways, but to add another full inertial system that allows controlling the tilt towards the sides, preventing the vehicle and its driver from falling.

The Segway can not fall to the side (under normal conditions) because it is mechanically rigid in that direction and its center of gravity is over its base of support, but the Tilto does can fall to the sides (it's tilt-able), hence I added a second control system to control this effect.


The result of this second control system is that if the vehicle is moving in a straight line and the driver leans to the right, for example, it produces the left wheel to accelerate and the right wheel to decelerate proportionally (in order to maintain Tilto's speed constant) and so the wheels and the vehicle's base will move to the right, changing the overall Tilto's trajectory in that direction and making it to go back to the vertical state (as we would do on a bike for keeping balance , but the Tilto turns by itself!)
Will it work???


To be brief, as I already said I spent several months drafting the Patent Application, that was filed in December 2010 and can be downloaded from this LINK.

El próximo paso fue comenzar a escribir el software.
Para ello estudié muchos proyectos similares y tuve que refrescar mis conocimientos de programación.
También tuve que actualizar todos los programas utilizados para programar, compilar, simular, etc., y prácticamente tuve que volver a aprender a usar microcontroladores.

El resultado fue un programa extenso, escrito en C para un microprocesador 16F877 de la familia PIC (ya son obsoletos, pero tenía un par en un cajón viejo...).

Descarté el Filtro Kalman y en su lugar utilicé Filtros Complementarios para fusionar los datos de los acelerómetros y de los giróscopos, para obtener los ángulos reales de inclinación, libres de ruido (casi).

Luego un algoritmo PID (Proporcional, Integral más Derivada) produce las señales PWM (Modulación por Ancho de Pulso) para ser enviadas a los controladores de potencia de los motores.

Cuando el software estuvo razonablemente listo compré una IMU (Unidad de Medición Inercial) de 5 grados de libertad (3 acelerómetros + 2 giróscopos) y la monté junto con el microprocesador, en una plaqueta marrón de mala calidad, como se ve en los videos:
The next step was to start writing the software.

For that I studied tons of simmilar projects and had to refresh my coding competence.
I had also to update all the software used to write, compile, simulate, etc., and practically had to learn again to use embedded microprocessors.


The result was a long piece of software, coded in C for a 16F877 microprocesor from the PIC family (they are obsolete, but I had a couple in an old drawer...).

I disregarded the Kalman Filter in favor of Complementary Filters to fusion the accelerators and gyroscopes data, to get the actual tilting angles, free from noise (kind of).


Then a PID (Proportional, Integral, Derivative)
algorithm produce the PWM (Pulse Width Modulation) signals to be sent to the motor drivers.

When the software was ready enough I bought a 5 degree of freedom (3 accelerometers + 2 gyros) IMU (Inertial Measurement unit) and mounted it together with the microprocessor on a crappy brown perf board, as can be seen in the videos:


Sí, es cierto que en el último video se nota un retardo en la respuesta, pero eso se debe a la falta de ajuste de las constantes del software y ya está solucionado. Yes, it is true that in the last video it shows a delayed response, but that is due to the lack of adjustment of the software's constants and is already fixed.

Contento con el funcionamiento del "cerebro" pasé al diseño y construcción de los módulos controladores de potencia de los motores.

El diseño se hizo desde cero, utilizando componentes que se pudieran conseguir en mi ciudad (Buenos Aires, Argentina), y sobredimensionando las prestaciones para tener un margen de seguridad de funcionamiento.

El resultado fueron dos circuitos de switching, en dos placas caseras llenas de transistores MOSFET de potencia, capaces de manejar casi 10 veces la corriente necesaria.
Happy with the performance of the "brain" I went to the design and construction of the motor driver modules.

The design is made ​​from scratch, using components that could be available in my city (Buenos Aires, Argentina), and oversizing the ratings to have an operational  safety margin.


The result were two switching circuits, in two homemade boards full of MOSFET power transistors, capable of handling nearly 10 times the current actually needed.



Cuando los módulos de potencia estuvieron probados ("casi" sin quemar nada en las pruebas), salí a comprar fierros.

Trabajé un poco en el taller de mi amigo Nicolás y otro poco en mi departamento, y en poco tiempo tuve armada una estructura sencilla y comencé las primeras pruebas del Tilto:
When the power drivers were tested ("almost" without producing magic smoke during the tests), I went to buy the hardware.

I worked a little in the workshop of my friend Nicolás and a little more in my apartment, and before long I built a simple structure and started the first Tilto's tests:

En este punto se me presentó el problema más difícil: Los motores eléctricos (donados por mi nuevo amigo Gustavo) son de segunda mano y un poco gastados, y tienen mucho juego mecánico en los engranajes de las cajas reductoras. Esto produce una zona muerta en la que el sistema no tiene control y produce fuertes sacudones que desestabilizan todo el aparato.

Estuve una semana completa pensando y probando posibles soluciones mecánicas, hasta que una mañana me desperté con una solución sencilla, por software.

Funcionó bastante bien, y por fin pude montar la bestia Tilto!
At this point I faced the most difficult problem: The electric motors (donated by my new friend Gustavo) are previously owned and a little worn, and have too much backlash in the gears of the gear boxes. This produces a dead zone where the system has no control and provokes strong shocks that destabilize the entire unit.


I spent an entire week thinking and testing  mechanical solutions, until one morning I woke up with a simple software based solution.


It worked pretty well, and I finally mounted the  Tilto beast!

Finalmente, el pasado domingo 12 de junio de 2011 el Tilto tuvo su primer prueba en la calle, que resultó inesperadamente asombrosamente bien, lo que después de tanto esfuerzo me dió mucha alegría.
Finally, on Sunday June 12, 2011, the Tilto had its first street test, which was unexpectedly surprisingly good, that after so much effort gave me lots of happiness.

Esta fue solo la primera prueba del Tilto y todavía hay muchísimo para mejorar, pero la idea que se me ocurrió hace más de un año está funcionando.

Gracias por su visita!

Marcelo Fornaso
This was only the first test of Tilto and there is still too much to improve, but the idea I thought over a year ago is now working.

Thanks for visiting!

Marcelo Fornaso

BLOG:  http://tiltandgo.blogspot.com


 
  PLEASE, HELP ME CONTINUE DEVELOPING TILTO