Está en la página 1de 52

INSTITUTO TECNOLOGICO JOSE MARIO MOLINA PASQUEL Y HENRÍQUEZ

Título del proyecto:

INTERFAZ NATURAL DE USUARIO Y SISTEMA DE NAVEGACIÓN AUTONOMO


PARA UNA SILLA DE RUEDAS ELECTRICA

Desarrollo del proyecto en:

INSTITUTO TECNOLOGICO SUPERIOR DE JALISCO MARIO MOLINA

Integrantes:

José Antonio Colmenares Meza. No. de control: 11021065

Rubén Omar García Valladares. No. de control: 11021343

Licenciatura en:

Ingeniería Electromecánica

Marzo del 2017, Puerto Vallarta, Jalisco, México.


I. Resumen

El presente trabajo tiene la finalidad de enlazar una interfaz natural de usuario y un sistema de
navegación autónomo a una silla de ruedas convencional con dos modalidades de control:
manual y automático.

Se tiene en cuenta que no todas las personas tienen el mismo tipo o grado de discapacidad, por
esta razón se busca implementar una interfaz de usuario que conlleva diferentes formas de
interacción usuario – máquina, con las que el usuario podrá elegir el modo manual que permite
órdenes directas de control de movimiento de la silla y el modo automático, que solo necesita
el punto o lugar al que se necesita ir y mediante trayectorias predefinidas, el sistema de
navegación autónoma ejecutará los movimientos necesarios para que la silla cumpla con la ruta
deseada.

2
II. Contenido

I. Resumen ........................................................................................................................................... 2
II. Contenido ......................................................................................................................................... 3
III. Índice de cuadros, gráficas y figuras ............................................................................................ 4
IV. Introducción ................................................................................................................................. 6
V. Justificación...................................................................................................................................... 7
VI. Objetivos ...................................................................................................................................... 8
i. General ......................................................................................................................................... 8
ii. Específicos ................................................................................................................................... 8
VII. Caracterización del área en que participó..................................................................................... 9
VIII. Problemas a resolver .................................................................................................................. 10
IX. Alcances y limitaciones .............................................................................................................. 12
X. Fundamento teórico ........................................................................................................................ 13
XI. Procedimiento y descripción de las actividades realizadas ........................................................ 24
XII. Resultados .................................................................................................................................. 39
XIII. Conclusiones y recomendaciones............................................................................................... 44
XIV. Bibliografía ............................................................................................................................ 45
XV. Anexos........................................................................................................................................ 47

3
III. Índice de cuadros, gráficas y figuras

Tabla de Ilustraciones

Ilustración 1 Diagrama de un sistema de motorización de una silla de ruedas. ........................ 14


Ilustración 2 Diagrama de un sistema de control a lazo cerrado. .............................................. 18
Ilustración 3 Diagrama de bloques de un control de lazo abierto. ............................................ 18
Ilustración 4 Diagrama de bloques de un controlador proporcional. ........................................ 19
Ilustración 5 Diagrama para modelo matemático generalizado de un robot móvil diferencial. 20
Ilustración 6 Prototipo virtual realizado en SolidWorks. .......................................................... 24
Ilustración 7 Diagrama de comunicaciones del sistema. ........................................................... 26
Ilustración 8 Prototipo físico instrumentado. ............................................................................ 27
Ilustración 9 Diagrama de bloques del controlador en el software MatLab Simulink. ............. 29
Ilustración 10 Diagrama en MatLab Simulink del control por retroalimentación entrada -
estado.. ....................................................................................................................................... 30
Ilustración 11 Diagrama en MatLab Simulink de control por planitud diferencial................... 30
Ilustración 12 Ubicación experimental del mando joystick…………………………………...39

Tabla de gráficas

Gráfica 1 Arranque suave basado en una curva de Bézier de 3er grado. Fuente: Autores........ 40
Gráfica 2 Paro suave basado en una curva de ........................................................................... 40
Gráfica 3 Simulación del controlador para x=2 y φ = 0°. ......................................................... 41
Gráfica 4 Simulación del controlador para x= 2 y φ =35°. ....................................................... 42
Gráfica 5 Simulación del controlador PARA X= 2 Y Φ =-35°. ................................................ 43
Gráfica 6 Simulación del controlador PARA X= 10 Y Φ =1+sen(wt). .................................... 43

Anexos

Anexo A Cronograma de actividades. Fuente: Autores. ........................................................... 47


Anexo B Características de la placa Arduino MEGA 2560. Fuente: www.Arduino.cc............ 47
Anexo C Características de la placa Arduino Uno. Fuente: www.arduino.cc........................... 48

4
Anexo D Diagrama esquemático de la placa de conexiones. Fuente: Autores. ........................ 48
Anexo E Código fuente para la detección de obstáculos. Fuente: Autores. .............................. 49
Anexo F Código fuente para detección de trayectoria (línea) y control PD. ............................ 50
Anexo G Código para obtención de la curva de Bézier de 3er grado. Fuente: Autores. ........... 51
Anexo H Pantallas de la aplicación WheelChair TecVallarta. Fuente: Autores. ...................... 51

5
IV. Introducción

La Organización Mundial de la Salud (OMS), en un informe sobre las personas con


discapacidad, menciona que más de mil millones de personas viven en todo el mundo con alguna
forma de discapacidad, 200 millones de ellas presentan dificultades en cuanto a su movimiento.
Estas personas tienen muchas limitaciones de accesibilidad a muchos de los servicios que una
persona sin discapacidad podría considerar muy necesarios u obvios.

La discapacidad motora es la dificultad que presentan algunas personas para participar en


actividades propias de la vida cotidiana, que surge como consecuencia de la interacción entre
una dificultad específica para manipular objetos o acceder a diferentes espacios (Mancilla,
Crespo, & Morales, 2012).

En los últimos años la tecnología ha tenido un vertiginoso avance en sus diversas ramas de
estudio, respecto a este proyecto la inteligencia artificial y la robótica, han dado a la humanidad
la realización de tareas de una forma eficaz y autónoma.

Una gran sección de la robótica e inteligencia artificial aplicada a la ayuda para discapacitados
está orientada al desarrollo de las sillas de ruedas inteligentes (Tzafestas, 2001). Estas
innovaciones pretenden elevar la calidad de vida de las personas de tal modo que el usuario de
la silla de ruedas se evite la necesidad de estar controlando cada avance y giro de la silla durante
el recorrido, permitiéndole simplemente sentarse y relajarse mientras se desplaza hacia el lugar
que el usuario manda.

6
V. Justificación

En México uno de los puntos a los que debe enfocarse el área de desarrollo humano y social es
la mejora de la calidad de vida de las personas con discapacidad. La robótica y la inteligencia
artificial brindan la oportunidad de crear productos más eficaces en cuanto a autonomía y confort
para los usuarios.

La persona discapacitada, es aquella que padece, en forma permanente o temporal, una


disminución de sus facultades físicas, mentales o sensoriales. Estas personas están limitadas a
realizar las actividades físicas que desarrolla una persona promedio, por lo que este proyecto
ayudará a las PCD a mejorar el desempeño en cuanto al desplazamiento dentro de algún
establecimiento, en este caso, en el ITSPV.

Para que la persona pueda interactuar de forma eficaz con la silla de ruedas eléctrica se incluirá
una interfaz natural de usuario. Dentro de esta interfaz se encontrarán diversas formas de
interacción hombre - máquina acabando con la monotonía del control clásico de las sillas de
ruedas eléctricas convencionales.

Según (García, 2001), los sistemas de navegación y localización debieran permitir resolver el
problema de la localización dentro de entornos fuerte y regularmente estructurados (hospitales,
edificios de oficinas, etc.) en los que incluso un humano puede desorientarse salvo por la
existencia de detalles exclusivos como colores, carteles, etc.

Los sistemas de navegación por trayectorias predefinidas permiten un desplazamiento autónomo


y eficaz, que solo requiera de una orden para comenzar el recorrido, por lo que atacaría el
problema de la falta de señalamientos y el desconocimiento del lugar por parte del usuario,
además de un uso eficiente de baterías al tener preestablecida la ruta más directa hacia el destino.

7
VI. Objetivos

i. General

Diseñar e implementar un sistema de navegación autónoma por trayectorias predefinidas y una


interfaz natural de usuario para mejorar la movilidad de una persona en una silla de ruedas
eléctrica dentro del ITSPV con dos modos de operación: manual y automático.

ii. Específicos

 Instrumentar una silla de ruedas convencional.


 Desarrollar un sistema de detección de obstáculos.
 Diseñar un sistema de arranque y paro suave de los motores.
 Realizar el modelado matemático de un vehículo de tracción diferencial e implementar
un método de control PID.
 Diseñar un sistema de navegación autónomo aplicando lo anteriormente enlistado.
 Analizar y proponer métodos de interacción hombre – máquina que ayuden a las PCD a
mejorar el uso de una silla de ruedas eléctrica.
 Diseñar una interfaz natural de usuario que integre los métodos propuestos.
 Acoplar el sistema de navegación autónomo con la interfaz natural de usuario.
 Implementar el sistema de navegación autónomo y la interfaz natural de usuario en la
silla de ruedas.

8
VII. Caracterización del área en que participó

El presente proyecto fue desarrollado en el Instituto Tecnológico Superior de Jalisco Mario


Molina, en la División de Electromecánica, con el Lic. Manuel Hernández Castillón como
asesor externo y el M.C. Rodrigo Oliver Delgado Árcega como asesor interno.

En esta área tuvimos la oportunidad de trabajar en conjunto con nuestros asesores y de hacer
uso de las instalaciones para el desarrollo de las etapas del proyecto. Se cuenta con el Taller
Pesado II, donde existen máquinas - herramientas y bancos de trabajo, y con el Laboratorio de
Eléctrica, donde se tienen instrumentos de medición y herramientas de mano para la realización
del proyecto (la zona de pruebas era éste mismo laboratorio).

9
VIII. Problemas a resolver

Una persona con discapacidad (PCD) cuenta con una limitada posibilidad de trasladarse de un
punto a otro dentro de un establecimiento de forma agradable y eficaz; cuando el establecimiento
cuenta con una silla de ruedas eléctrica la posibilidad aumenta, sin embargo, no hay solo un tipo
de discapacidad y cada persona podría tener necesidades diferentes; es aquí donde yace nuestro
primer problema, la monotonía de las sillas de ruedas eléctricas convencionales, que por lo
general cuentan con un solo tipo de interacción usuario - máquina.

De acuerdo con el Instituto Nacional de Estadística y Geografía (INEGI) hasta 2010 había en
México más de 5.7 millones de personas que presentaban algún tipo de discapacidad, siendo la
discapacidad motriz la de mayor valor porcentual con un 58%.

Sin embargo, hay diferentes tipos de discapacidad motriz, por lo que la mayoría de los
establecimientos que cuentan con servicio para discapacitados, en cuanto a desplazamiento se
refiere, entran en dicha “monotonía” al tener solo una forma de interacción hombre – máquina;
por ejemplo: una silla de ruedas eléctrica controlada mediante un joystick no le servirá a
personas con una discapacidad que les impida un movimiento fluido y preciso de sus manos por
lo que un control mediante comandos de voz resolvería el problema.

Por otro lado, el desconocimiento del área por los usuarios o la insuficiencia de señalamientos
provocan una insatisfacción o pérdida de interés hacia el establecimiento por no encontrar el
destino deseado, además de un posible gasto ineficiente de las baterías del vehículo, por lo que
un sistema de navegación autónomo por trayectorias predefinidas ayudaría bastante al usuario
para trasladarse de un punto a otro e indirectamente brinda un uso eficiente de las baterías al
elegir la ruta más directa al destino..

Por esto, tenemos una lista de los problemas a resolver con su respectiva priorización:

1. Monotonía de interacción usuario – máquina.


Es aquí donde la interfaz natural de usuario entra para otorgarle al usuario diferentes
tipos de interacción, las cuales pueda elegir a su conveniencia.

10
2. Eficacia en cuanto a traslado de un punto a otro.
Un sistema de navegación autónomo proporciona un control más fluido del movimiento
de la silla además de realizar el control de los actuadores de forma autónoma, por lo que
solo necesitará una orden del usuario para trasladarse de un punto a otro.

11
IX. Alcances y limitaciones

La finalidad del proyecto consiste en la realización de un prototipo experimental con el que se


puedan hacer pruebas para mejorar los aspectos de control de movimientos de la silla y los
aspectos de interacción usuario - máquina entre la interfaz natural y el usuario.

Las limitaciones del proyecto son las siguientes:

 Este proyecto, para esta que es su primera fase, tendrá como producto final un prototipo
físico experimental, no un producto comercializable.
 Este proyecto solucionará problemas de movilidad y control que enfrenta una PCD en
una silla de ruedas dentro de un establecimiento determinado, sin incluir escaleras ni
espacios demasiado estructurados.
 El sistema de navegación autónoma por trayectorias predefinidas se basará en rutas entre
lugares específicos generalmente a distancias medianas y largas, ya dentro del lugar o
destino el control de la silla de ruedas cambia a modo manual.
 La interfaz natural de usuario contará solo con interacción táctil, manejo de un Joystick
y por comandos de voz.

12
X. Fundamento teórico

Las sillas de ruedas autónomas apoyan de manera significativa al usuario, permitiendo la


evasión de obstáculos, en algunos casos navegación autónoma, entre otros. Según Alcubierre et
al (2005), las sillas de ruedas autónomas son sillas convencionales que se han equipado con
sistemas informáticos y sensores; los sensores captan el entorno y el estado de la silla, éstos
mandan señales al controlador y éste los procesa para la ejecución de tareas especificadas en la
programación.

Si bien este proyecto no utiliza exactamente dicho concepto, “silla de ruedas autónoma” sus
funcionalidades aplican de manera muy directa a él, ya que se instrumentará una silla de ruedas
convencional con un sistema informático y sensorial, por lo que dicho proyecto finalmente
tendrá un producto el cual pueda ser considerado así, como una silla de ruedas autónoma, sin
embargo, esta constará con dos modos de operación, manual y automático.

Los robots móviles, en este caso sillas de ruedas, pueden basarse en diferentes diseños de
plataformas, que se diferencian por los diversos sistemas de tracción que utilizan. El sistema de
tracción diferencial es el que será usado para el prototipo ya que es uno de los más usados;
además, para motorizar una silla de ruedas convencional es el sistema de tracción más fácil de
implementar.

En palabras de Ríos & Bueno (2008), un sistema de tracción diferencial utiliza motores
independientes para cada rueda, pero situados en el mismo eje, además, utiliza ruedas locas o
puntos de sostenimiento para proporcionar estabilidad a la plataforma.

Los autores Brutti et al. (2004), han propuesto un diagrama (Ilustración 1 Diagrama de un
sistema de motorización de una silla de ruedas.de un sistema de motorización de una silla de
ruedas convencional:

13
I LUSTRACIÓN 1 DIAGRAMA DE UN SISTEMA DE MOTORIZACIÓN DE UNA SILLA DE RUEDAS .
F UENTE : (B RUTTI, C UESTA, C ANABELLI , & D ONISI, 2004)

Según el diagrama, la motorización de una silla de ruedas conlleva un sistema de control que
recibe mandos desde un joystick manual y en consecuencia manipula los motores para llevar a
cabo la acción. El sistema de tracción que utilizan en dicho diagrama es el diferencial.

El autor Juan Carlos García (2001) dice que las prestaciones deseables para una silla de ruedas
autónoma son las siguientes:

1. Actuación fácil y de ser posible automática sobre los movimientos de la silla,


obedeciendo en todo caso los deseos del usuario.

2. Si fuera posible, desplazarse entre dos localizaciones especificadas por el usuario sin
necesidad de intervenciones posteriores o correcciones de ruta.

14
3. Desplazamiento a velocidades normales, tomando como velocidad máxima 5-6
Km/H y como mínima 1 Km/H.

4. Seguridad: evitar accidentes cualesquiera, sea por choque contra elementos fijos u
otros móviles o por caídas.

Por otro lado, José Alberto Mancilla et al (2012), se debe hacer un estudio descriptivo de la
problemática de las personas con discapacidades motoras para el desarrollo de un proyecto de
control de una silla de ruedas, esto con el fin de tener una mayor cobertura de las necesidades
de los posibles usuarios de la silla y sugiere la metodología siguiente:

1. Identificar las necesidades del objeto de estudio.


2. Idear y realizar las opciones de solución a las necesidades de los posibles usuarios.
3. Estudiar la tecnología de los dispositivos móviles y a la interconexión vía Bluetooth
entre el dispositivo y el controlador (hardware).
4. Adaptar los accesorios a la silla de ruedas (sensores, baterías, motores, entre otros).
5. Desarrollar el programa de control.

Otro de los puntos importantes del proyecto, es otorgar al usuario, en modo manual pero más
que nada en modo automático, la oportunidad de que el vehículo evite impactar objetos
estacionales (muros, jardineras, entre otros) y objetos temporales (como pueden ser personas,
objetos varios, entre otros).

Los robots móviles que tienen como una de sus funciones detectar obstáculos, en palabras de
Repiso y Sanfeliu (2013), usan una serie de sensores para obtener la información necesaria del
entorno que les rodea para poder interactuar con él.

El funcionamiento básico de los sensores ultrasónicos como medidores de distancia, cuenta con
un receptor que emite un pulso de ultrasonido, el cual rebota sobre un determinado objeto y la
reflexión de ese pulso es detectada por un receptor de ultrasonidos.

Existen factores inherentes tanto a los ultrasonidos como al mundo real, que influyen de una
forma determinante en las medidas realizadas. Por tanto, es necesario un conocimiento de las
diversas fuentes de incertidumbre que afectan a las medidas para poder tratarlas de forma

15
adecuada, minimizando su efecto en el conocimiento del entorno que se desea adquirir (Rincón,
2008).

Una interfaz hombre - máquina es el método con el que el usuario puede comunicarse con una
máquina, normalmente con el objetivo de facilitar el accionamiento de la misma; según
Alcubierre (2005), son las entidades que permiten la comunicación del hombre con el
dispositivo y viceversa, en el caso de personas discapacitadas esta comunicación suele ser
bidireccional.

La interfaz hombre - máquina que se implemente en la silla de ruedas será un punto importante
dentro de este proyecto ya que se busca facilitar la forma de interacción; existen de diferentes
tipos. Las Interfaces Naturales de Usuario (NUI) se enmarcan dentro de éstas técnicas, en la
cual se busca principalmente que sea bastante amigable e intuitiva para que cualquier usuario
sin experiencia pueda entender de una manera sencilla la manera de interacción con la máquina.

En palabras de Aguilar (2013), las NUI “son una filosofía de diseño que permite la creación de
nuevas interfaces de usuario y paradigmas de interacción invisibles para el usuario. Así,
podremos construir interfaces mediante las cuales el usuario utilice el sistema por comandos de
voz, gesticulación, dispositivos móviles, y otros medios que podamos imaginar.”

Prácticamente, una interfaz natural de usuario permite facilitar la interacción del usuario, en este
caso, con una silla de ruedas incluyendo no solo una forma de interacción, si no, varias para que
el control de la silla de ruedas sea versátil y pueda ser utilizada por una cantidad mayor de
personas que tengan discapacidades diferentes.

“De esta manera es como las NUI se han incorporado fácilmente a la vida cotidiana a través de
los dispositivos que manejamos, puesto que no es necesario hacer un curso o leer un manual
para poder interactuar con ellos (Sánchez, 2015).”

Según Ollero Baturone (2001) éstas son las fases que debe llevar el diseño de un sistema de
navegación autónoma para un robot móvil:

16
1. Percepción: consiste en interpretar la información suministrada por los diferentes
sensores la cual puede proporcionar un mapa global del entorno o mediciones
relativas de los obstáculos y otros elementos próximos al robot.

2. Localización: En esta tarea se determina la posición del robot, lo cual puede ser de
forma global o local relativa a posiciones anteriores del robot.

3. Planeación: mediante la información obtenida en los anteriores pasos se establece la


estrategia adecuada para alcanzar el objetivo.

4. Control de movimientos: esta tarea consiste en determinar las acciones a realizar en


los actuadores para seguir la trayectoria deseada. En muchos casos los actuadores
son motores para los cuales se emplean controladores PID (Proporcional, Integral y
Derivativo).

Según José Alberto Mancilla et al (2012), se debe hacer un estudio descriptivo de la


problemática de las personas con discapacidades motoras para el desarrollo de un proyecto de
control de una silla de ruedas, esto con el fin de tener una mayor cobertura de las necesidades
de los posibles usuarios de la silla y sugiere la metodología siguiente:

1. Identificar las necesidades del objeto de estudio.


2. Idear y realizar las opciones de solución a las necesidades de los posibles usuarios.
3. Estudiar la tecnología de los dispositivos móviles y a la interconexión vía Bluetooth
entre el dispositivo y el controlador (hardware).
4. Adaptar los accesorios a la silla de ruedas (sensores, baterías, motores, entre otros).
5. Desarrollar el programa de control.

Para llevar a cabo todos estos procesos, la robótica á recurrido a los sistemas de control, que son
aquellos dedicados a obtener la salida deseada de un sistema o un proceso. Se clasifican
principalmente en sistemas de control en lazo abierto y lazo cerrado. El autor Jacob Vásquez
(2007), en su libro “Teoría de control”, muestra el siguiente modelo (Ilustración 2 Diagrama de
un sistema de control a lazo cerrado. para un sistema de control de lazo cerrado:

17
I LUSTRACIÓN 2 DIAGRAMA DE UN SISTEMA DE CONTROL A LAZO CERRADO.
F UENTE : (V ÁSQUEZ, 2007)

Los sistemas de lazo cerrado son aquellos en los que la señal de salida tiene efecto directo sobre
la acción de control, o sea, que son sistemas de control retroalimentados (Vásquez, 2007).

A diferencia de un control de lazo abierto (Ilustración 3 Diagrama de bloques de un control de


lazo abierto., en el control se mide la salida de la señal para verificar si esta salida tiene el valor
deseado. Vásquez muestra también la definición y el diagrama de un control de lazo abierto:

I LUSTRACIÓN 3 DIAGRAMA DE BLOQUES DE UN CONTROL DE LAZO ABIERTO .


F UENTE : (V ÁSQUEZ, 2007)

Vásquez (2007) dice que los sistemas de control de lazo abierto son sistemas de control en los
que la salida o resultado del proceso no tiene ningún efecto sobre la acción de control, es decir,
en un sistema de control de lazo abierto la salida no se mide (no se retroalimenta) para comparar
con lo que deseamos obtener y así verificar qué tanto nos estamos desviando de ello.

Las ventajas que tiene el control por retroalimentación son:

 Puede controlar sistemas inestables


 Puede compensar perturbaciones
 Puede controlar sistemas incluso si estos tienen errores de modelado

Los controladores se clasifican de acuerdo a las acciones de control como pueden ser:

 De dos posiciones (on/off)

18
 Proporcionales
 Integrales
 Proporcionales-integrales
 Proporcionales-derivativos
 Proporcionales-integrales-derivativos

La acción de control proporcional es la “relación entre la salida del controlador u(t) y la señal
del error e(t)” (Katsuhiko, 1998). Se representa con la siguiente función:

𝑢(𝑡) = 𝐾𝑝 ∗ 𝑒(𝑡) (Ecuación 1)

En donde Kp se considera como la ganancia proporcional.

Según Katsuhiko (1998), cualquiera que sea el mecanismo real y la forma de operación de este,
el controlador proporcional puede considerarse, en esencia, como un amplificador con ganancia
ajustable. Se muestra el diagrama de bloques (Ilustración 4 Diagrama de bloques de un
controlador proporcional. de un controlador proporcional según Katsuhiko (1998):

I LUSTRACIÓN 4 DIAGRAMA DE BLOQUES DE UN CONTROLADOR PROPORCIONAL .


F UENTE : (KATSUHIKO , 1998)

“En un controlador con acción de control integral el valor de la salida del controlador u(t) se
cambia a razón proporcional de la señal de salida del error e(t)” (William, 1999) es decir:

𝑑𝑢(𝑡)
= 𝐾𝑖 ∗ 𝑒(𝑡) (Ecuación 2)
𝑑𝑡

Las acciones de control pueden combinarse para formas aproximaciones más cercanas a cero
del error, cambiando diversos parámetros como velocidad de acción, rango del error, etc.

19
La acción de control proporcional – derivativo o PD se define mediante:

𝑑𝑒(𝑡)
𝑢(𝑡) = 𝐾𝑝 ∗ 𝑒(𝑡) + 𝐾𝑝 ∗ 𝑇𝑑 ∗ (Ecuación 3)
𝑑𝑡

Como ya se ha dicho anteriormente, la tracción del prototipo de silla de ruedas tendrá tracción
diferencia, que a continuación se mostrarán los aspectos básicos que deben considerarse para
el modelado de éste sistema.

Se comienza a partir de un diagrama en un plano xy con un vehículo de donde se toma el


centro de masa (Ilustración 5 Diagrama para modelo matemático generalizado de un robot
móvil diferencial. Fuente: ., el cual es fácilmente identificable en cualquier punto dentro del
modelo.

I LUSTRACIÓN 5 DIAGRAMA PARA MODELO MATEMÁTICO GENERALIZADO DE UN ROBOT MÓVIL


DIFERENCIAL . F UENTE : (C ORONEL , 2013).

El modelo cinemático está dado por:

ẋ = 𝑣 ∗ cos(𝜃)

ẏ = 𝑣 ∗ 𝑠𝑒𝑛(𝜃)

20
𝜃̇ = 𝑤

El modelo cinemático está dado por las ecuaciones anteriores, las variables de interés son v y w
ya que estas son las entradas del sistema. “No obstante, la velocidad lineal del robot y el cambio
de dirección del vehículo se obtienen por el cambio de velocidades angulares izquierda y
derecha, wi y wd, correspondientes a la velocidad de las ruedas.” (Coronel, 2013).

Entonces, es posible modificar las ecuaciones para encontrar la relación entre v y w y las
velocidades angulares wi y wd. En esta configuración se consideran únicamente las dos llantas
delanteras del robot móvil y se supone que sobre cada una actúa una fuerza Fi y Fd que
proporcionan las velocidades lineales del punto de apoyo de las ruedas, vi y vd, respectivamente.

Nótese que el sistema es no lineal, al contener funciones senos y cosenos en el modelo


cinemático, por lo que es necesaria una linealización para desacoplamiento entrada – salida. A
este tipo de linealización se le conoce como linealización entrada-estado.

Un sistema no lineal de grado relativo r caracterizado en términos de campos vectoriales y


derivadas direccionales de Lie esta dado de la forma:

𝑞̇ = 𝑓(𝑞) + 𝑔(𝑞)𝑢

𝑦 = ℎ(𝑞)

Donde “h” es la salida del sistema, “q” es el vector de estados y “u” es la entrada de control.

El procedimiento de linealización exacta comienza derivando respecto al tiempo a “y”


sucesivamente hasta aparecer al menos una entrada de control. Una vez explicita la o las salidas
de control la derivada de más alto orden será entonces el grado relativo del sistema con lo que
debe cumplirse que

𝑦 𝑟 = 𝐿𝑓𝑟 ℎ(𝑞) + 𝐿𝑔 𝐿𝑓𝑟−1 ℎ(𝑞)𝑢

Con 𝐿𝑔 𝐿𝑓𝑟−1 ℎ(𝑞) ≠ 0

Al no depender las r-1 primeras derivadas temporales del control u se debe cumplir

𝑦 = ℎ(𝑞)
𝑦̇ = 𝐿𝑓 ℎ(𝑞)

21
𝑦̈ = 𝐿𝑓2 ℎ(𝑞)

𝑦 𝑟−1 = 𝐿𝑓𝑟−1 ℎ(𝑞)

Cumpliéndose también
𝐿𝑔 ℎ(𝑞) = 0
𝐿𝑔 𝐿𝑓 ℎ(𝑞) = 0

𝐿𝑔 𝐿𝑓𝑟−2 ℎ(𝑞) = 0

El proyecto toma como referencias algunos artículos realizados en el entorno internacional y


nacional, como lo siguientes.

En la Universidad de Zaragoza, España, con el título “Silla de ruedas inteligente controlada por
voz” los autores J. M. Alcubierre, J. Minguez, L. Montesano, L. Montano, O. Saz y E. Lleida,
publicaron un artículo científico en el cual presentan una silla de ruedas que tiene la capacidad
de guiado autónomo y la característica de proporcionar al usuario interactuar con ella mediante
mandos de voz.

La silla inteligente cuenta con sensores que captan el entorno, equipos informáticos que
procesan la información y junto con el reconocimiento de voz, permiten al usuario ordenar
verbalmente el lugar al que se desea ir y la silla ejecuta autónomamente los movimientos
suficientes para llegar al punto deseado.

Este artículo servirá como referencia para éste proyecto ya que se cuenta con dos características
similares: la interacción hombre máquina mediante comandos de voz y el guiado autónomo de
la silla.

De la Universidad Autónoma de Entre Ríos, en Argentina, los investigadores B. Brutti, J. Sattler,


A. Cuesta, R. Canavelli y B. Donisi presentaron en 2004 publican un artículo científico con el
título de “Motorización de sillas de ruedas convencionales”. En la cual el diseño en el que se
basan reduce en un 50% el precio de sillas motorizadas comerciales además de conservar sus
funcionalidades clásicas: plegable y tracción manual.

22
El proyecto se basa en la Fig. 1 mostrada en la parte de marco teórico, en el que mediante un
diagrama dividen las partes a realizar para tener como resultado la motorización de una silla de
ruedas.

Como resultado se obtuvo que el sistema de control, los sensores y la alarma sonora funcionan
correctamente y dentro de las expectativas.

Aunque éste artículo de la Universidad de Entre Ríos utiliza un control manual mediante un
Joystick, para el proyecto se tomara en cuenta ya que nos servirá como base para uno de los
objetivos: la motorización de una silla de ruedas convencional.

Como referencia nacional se encontró un artículo científico que lleva el título “Control de una
silla de ruedas por medio de un dispositivo móvil con Sistema Operativo Android.”. En el que
José Mancilla, Héctor Crespo y Néstor Morales, estudiantes y docentes del Instituto
Tecnológico de Tuxtla Gutiérrez presentan un dispositivo electrónico adaptado a una silla de
ruedas para motorizarla y controlarla por medio de un dispositivo móvil con SO Android.

Como resultado se tuvo que los motores de corriente continua respondieron correctamente a la
manipulación de la interfaz gráfica del dispositivo con SO Android. De ésta investigación se
rescatará la parte de la creación de la interfaz gráfica para dispositivos con SO Android además
de la metodología que se utilizó para la problemática que tienen las personas con discapacidades
motoras para su desplazamiento.

23
XI. Procedimiento y descripción de las actividades realizadas

En base al cronograma de actividades propuesto (Anexo A Cronograma de actividades. Fuente:


Autores.), se realizará una descripción de las actividades que se llevaron a cabo en el periodo
de residencia.

1. Construcción de la silla de ruedas

Debido a que tenemos como finalidad un prototipo experimental se buscó la forma de construir
una silla de ruedas de bajo costo que fuera acorde con las necesidades del proyecto y con los
materiales con los que cuenta para su realización.

Entre los materiales que se utilizaron se tiene tubería de PVC (cedula 80), accesorios de PVC
(conexiónes 90 y T cedula 40), triplay 18mm, tornillería y maquinas herramienta como taladro
y atornillador.

Mediante el uso de SolidoWorks (software de diseño CAD) se diseñó un prototipo virtual


(Ilustración 6 Prototipo virtual realizado en SolidWorks.), para obtener así la cantidad de
materiales necesarios y para realizar los cortes y ensambles a la hora de construir físicamente el
prototipo.

24
I LUSTRACIÓN 6 PROTOTIPO VIRTUAL REALIZADO EN S OLID W ORKS .
F UENTE : AUTORES .

Las medidas de este son de 74 cm largo, 70cm de ancho y 94 cm de altura.

2. Propuesta de interacción usuario – máquina.

Mediante consulta de algunas referencias incluidas en la bibliografía de este documento, se tiene


que, en la mayoría de ellas, se proponen métodos como:

 Comandos de voz.
 Palancas o joysticks.
 Comandos táctiles.
 Sensores de inclinación.

3. Instrumentación de la silla de ruedas.

La instrumentación de la silla se divide en 5 partes: alimentación, actuadores, sensores,


controlador y comunicación.

La parte de energía se divide en 2, alimentación para la parte electrónica y alimentación para


los motores; para la parte electrónica se usa una batería LIPO de 11.1V a 2200 mAh y para los
motores 2 baterías conectadas en serie de 12V a 4 Ah, que dan como resultado 24V a 4Ah.

25
Como actuadores tenemos 2 motor reductores de 20 Kgcm que funcionan con 24V a 1 A para
carga máxima. Debido a que no se tiene su tabla de características, estas se desconocen y solo
se tienen datos aproximados de ellos.

La parte sensorial, cuenta con:

 Dos sensores de distancia ultrasónicos.

Utilizados para detectar obstáculos en la parte frontal de la silla.

 Dos sensores de distancia infrarrojos.

Utilizados para detectar los pulsos del encoder de los motores (para medir la velocidad
y la distancia recorrida).

 Joystick.

Una palanca que cuenta con resistencias variables en cada uno de sus ejes de movimiento
(Eje “x” y eje “y”).

 Barra de sensores de línea (infrarrojos).


o Es una barra de sensores utilizada para la detección de línea en robots móviles.

La parte del controlador conlleva los siguientes dispositivos:

 Arduino Mega 2560 (Características en el Anexo B Características de la placa Arduino


MEGA 2560. Fuente: www.Arduino.cc).

Es el dispositivo central del sistema, recibe señales de los sensores y de los dispositivos
secundarios para ejecutar órdenes a los actuadores del sistema, además de comunicarse
con la interfaz de usuario.

 Arduino Uno R3. (Características en el Anexo C Características de la placa Arduino


Uno. Fuente: www.arduino.cc).

Este dispositivo se encarga de recibir las señales de entrada de los sensores del sistema
detector de obstáculos y enviarlos al Arduino Mega 2560 (dispositivo central).

 Puente H doble.

26
Este dispositivo es el encargado de la etapa de potencia de los motores, para evitar
descargas que puedan ocasionar daños al controlador.

 Placa de circuito impreso central. (Ver Anexo D Diagrama esquemático de la placa de


conexiones. Fuente: Autores.)

Es la placa donde se conectan los sensores y actuadores del sistema, asi como las placas
de desarrollo.

La parte de comunicación (Ilustración 7 Diagrama de comunicaciones del sistema. se basa en:

Arduino Mega 2560


(Controlador)

Interfaz de usuario Arduino Uno R3


(App para dispositivos (Sensores de detección
android) de obstáculos)

I LUSTRACIÓN 7 DIAGRAMA DE COMUNICACIONES DEL SISTEMA .


F UENTE : AUTORES .
En la siguiente
ilustración (Ilustración 8 Prototipo físico instrumentado.) se muestra el prototipo físico
instrumentado:

27
I LUSTRACIÓN 8 PROTOTIPO FÍSICO INSTRUMENTADO .
F UENTE : AUTORES .

4. Detección de obstáculos.

Dicho anteriormente, el funcionamiento básico de los sensores ultrasónicos como medidores de


distancia, se basa en enviar y recibir un pulso ultrasónico, midiendo el tiempo en el que sale y
regresa el pulso, para así, mediante un cálculo, obtener la distancia a la que se encuentra algún
objeto o en este caso, un obstáculo.

En el prototipo se colocan 2 sensores ultrasónicos en la parte frontal de la silla para que lleven
a cabo la función de enviar el pulso ultrasónico y recibir las señales de rebote, y programar en
el Arduino Uno R3 los algoritmos para calcular la distancia a la que se encuentra un obstáculo
(Ver Anexo E Código fuente para la detección de obstáculos. Fuente: Autores.).

En dicho código de programación, se agregaron condiciones para enviar señales mediante


comunicación serial al Arduino Mega 2560, cuando se detecte un obstáculo frente a la silla para
detenerse o iniciar el recorrido de nuevo.

5. Modelado cinemático (Ecuaciones de movimiento) de un robot de tracción


diferencial.

Las ecuaciones de movimiento de un robot diferencial han sido un tema bastante estudiado a lo
largo de los años, en base a las ecuaciones 4, 5 y 6 en el apartado del fundamento teórico,
Coronel (2013), muestra que las ecuaciones de movimiento son las siguientes:

ẋ = 𝑣 ∗ cos(𝜃)

28
ẏ = 𝑣 ∗ 𝑠𝑒𝑛(𝜃)

𝜃̇ = 𝑤

Aún con estas ecuaciones, se necesita desglosar la velocidad v por lo que los autores Ramos,
Morales & Silva (2010) proponen las siguientes ecuaciones de movimiento para un robot móvil
diferencial:

𝑟(𝑤𝑑 +𝑤𝑖 )
ẋ= ∗ cos(𝜑)
2

𝑟(𝑤𝑑 +𝑤𝑖 )
ẏ= ∗ 𝑠𝑒𝑛(𝜑)
2

𝑟(𝑤𝑑 −𝑤𝑖 )
𝜑̇ = 2𝑙

Donde:

wd= velocidad angular de la rueda derecha.

wi= velocidad angular de la rueda izquierda.

x= eje x del plano cartesiano.

y= eje y del plano cartesiano.

φ= ángulo del móvil respecto al eje x.

r= radio de las ruedas.

l= distancia del punto medio a la rueda.

6. Propuesta de un controlador para él robot móvil diferencial.

Una vez obtenidas las ecuaciones de movimiento de un robot móvil tracción diferencial el
siguiente paso es proponer una técnica de control que permita llevar a cabo el seguimiento de
trayectorias deseadas por el usuario.

29
El control presentado en este trabajo es un control jerarquizado de dos niveles, en el cual el
nivel más bajo se utiliza un control por planitud diferencial para cada uno de los motores
mientras el nivel más alto es un control de retroalimentación estática de la salida (control
entrada-estado) encargado de generar los perfiles de velocidad para cada una de las ruedas como
se muestra a continuación (Ilustración 9 Diagrama de bloques del controlador en el software
MatLab Simulink.):

I LUSTRACIÓN 9 DIAGRAMA DE BLOQUES DEL CONTROLADOR EN EL SOFTWARE MAT LAB S IMULINK .


F UENTE : AUTORES .

En la Ilustración 10 Diagrama en MatLab Simulink del control por retroalimentación entrada -


estado. Fuente: Autores., se muestra el control de nivel alto, encargado de generar los perfiles
de velocidad angular del móvil, y en la Ilustración 11 Diagrama en MatLab Simulink de control
por planitud diferencial., se muestra el control de nivel bajo, que se encarga de que la velocidad
angular de las ruedas tienda a la deseada.

30
I LUSTRACIÓN 10 DIAGRAMA EN MATLAB SIMULINK DEL CONTROL POR RETROALIMENTACIÓN ENTRADA -
ESTADO . FUENTE : AUTORES .

I LUSTRACIÓN 11 DIAGRAMA EN MATLAB SIMULINK DE CONTROL POR PLANITUD DIFERENCIAL .


F UENTE : AUTORES .

Ahora bien, con las ecuaciones del modelo cinemático se realiza una selección apropiada de
𝑤𝑖 y 𝑤𝑑 conocidas como las variables de control del vehículo, tal que para cualquier par de
salidas seleccionadas (𝑥, 𝑦), (𝑥, 𝜑) o (𝑦, 𝜑) tienen que asegurar que 𝑥 → 𝑥𝑑 , 𝑦 → 𝑦𝑑 y 𝜑 →
𝜑𝑑 .

31
𝑟
𝑥̇ = (𝑤𝑑 + 𝑤𝑖 )𝑐𝑜𝑠𝜑
𝑙
𝑟
𝑦̇ = (𝑤𝑑 + 𝑤𝑖 )𝑠𝑖𝑛𝜑
𝑟
𝑟
𝜑̇ = (𝑤𝑑 + 𝑤𝑖 )
2𝑙

Como primer paso de la linealización entrada-estado se selecciona un par de salidas (𝑥, 𝑦) que
se derivaran sucesivamente hasta aparecer las entradas de control

𝑦1 ℎ 𝑥
[𝑦 ] = [ 1 ] = [𝑦]
2 ℎ2

𝑦̇ ℎ̇ 𝑥̇
[ 1] = [ 1] = [ ]
𝑦̇ 2 ℎ̇2 𝑦̇

El proceso de derivación se interrumpe en la derivada de primer orden por lo que decimos que
es un sistema no lineal de grado relativo uno, quedando este

𝑟 𝑟
𝑤𝑑 cos 𝜑 cos 𝜑 𝑤
2
𝐷1 (𝜑) [ 𝑤 ] = [ 𝑟 2 𝑑
] [𝑤 ]
𝑖 𝑟 𝑖
sin 𝜑 sin 𝜑
2 2

La matriz 𝐷1 (𝜑) es llamada la matriz de desacoplamiento del sistema. Por lo que queda
representado ahora por

𝑥̇ 𝑤𝑑
[ ] = 𝐷1 (𝜑) [ 𝑤 ]
𝑦̇ 𝑖

El siguiente paso es generar los perfiles de velocidad, para ello se despeja 𝑤𝑑 y 𝑤𝑖

𝑥̇ 𝑤𝑑
[ ] = 𝐷1 (𝜑) [ 𝑤 ]
𝑦̇ 𝑖

𝑥̇ 𝑤𝑑
𝐷1−1 (𝜑) [ ] = [ 𝑤 ]
𝑦̇ 𝑖

32
𝑟 𝑟 −1
cos 𝜑 cos 𝜑 𝑥̇ 𝑤𝑑
2
[𝑟 2 ] [ ] = [
𝑟 𝑦̇ 𝑤𝑖 ]
sin 𝜑 sin 𝜑
2 2

La matriz inversa 𝐷1 (𝜑) presenta una singularidad al ser una matriz de rango igual a uno para
cualquier valor de 𝜑 que tome. Como resultado de esto el desacoplamiento no puede ser llevado
a cabo para este par de salidas planas seleccionadas.

Se toma a continuación a (𝑥, 𝜑) como el nuevo par de salidas planas tal que el control asegure
un seguimiento asintótico de las trayectorias dadas por (𝑥𝑑 , 𝜑𝑑 ). El procedimiento es el mismo
que el utilizado para (𝑥, 𝑦).
𝑦1 ℎ 𝑥
[𝑦 ] = [ 1 ] = [𝜑]
3 ℎ3

𝑟 𝑟
𝑦̇ 1 ̇
ℎ1 𝑥̇ 𝑤𝑑 cos 𝜑 cos 𝜑 𝑤
2
[ ] = [ ] = [ ] = 𝐷2 (𝜑) [ 𝑤 ] = [ 𝑟 2 𝑑
𝑦̇ 3 ℎ̇3 𝜑̇ 𝑖 𝑟 ] [ 𝑤𝑖 ]

2𝑙 2𝑙

La nueva matriz de desacoplamiento es

𝑟 𝑟
cos 𝜑 cos 𝜑
𝐷2 (𝜑) = [2 𝑟 2
𝑟 ]

2𝑙 2𝑙

La matriz 𝐷2 (𝜑) es no singular por lo que el grado relativo del sistema queda bien definido
𝑛𝜋
para cualquier valor de 𝜑 excepto en 𝜑 = ± para n=1.2.3…
2

Se realiza nuevamente el despeje de las variables de control 𝑤𝑑 y 𝑤𝑖 :

𝑥̇ 𝑤𝑑
[ ] = 𝐷2 (𝜑) [ 𝑤 ]
𝜑̇ 𝑖

33
𝑤𝑑 𝑥̇
[ 𝑤 ] = 𝐷2−1 (𝜑) [ ]
𝑖 𝜑̇

𝑟 𝑟 −1

𝑤𝑑 cos 𝜑 cos 𝜑 𝜗1
[ 𝑤 ] = [2 𝑟 2
𝑟 ] [𝜗2 ]
𝑖
2𝑙 2𝑙

Las variables 𝜗1 y 𝜗2 son las variables auxiliares producto de la ley de control para sistemas
no lineales de múltiples entradas y salidas

𝑦
𝐿𝑓1 ℎ1
𝑢 = 𝐷 −1 (𝑞) [ ⋮ ] + 𝐷−1 (𝑞)𝜗
𝑦
𝐿𝑓𝑚 ℎ𝑚

𝜗1 = 𝑥̇ 𝑑 −∝1 (𝑥 − 𝑥𝑑 ) = 𝜗𝑥
𝜗2 = 𝜑̇ 𝑑 −∝2 (𝜑 − 𝜑𝑑 ) = 𝜗𝜑

Las constantes ∝1 y ∝2 son ganancias mayores que cero.

𝑥̇ = 𝑥̇ 𝑑 −∝1 (𝑥 − 𝑥𝑑 )
𝜑̇ = 𝜑̇ 𝑑 −∝2 (𝜑 − 𝜑𝑑 )

𝑒̇𝑥 −∝1 𝑒𝑥 = 0
𝑒̇𝜑 −∝2 𝑒𝜑 = 0

Este control hace que el error tienda a cero siempre y cuando se encuentre bajo las condiciones
iniciales 𝑥(0) = 0 y 𝜑(0) = 0 llevando a cabo el seguimiento de trayectorias (𝑥 → 𝑥𝑑 ) y (𝜑 →
𝜑𝑑 ) cuando 𝑡 → ∞.

Los perfiles de velocidad generados por el control de alto nivel son:

𝜗𝑥 𝑙
𝜗
𝑤𝑑 𝑟𝑐𝑜𝑠𝜑 𝑟 𝜑
[𝑤 ] =
𝑖 𝜗𝑥 𝑙
− 𝜗𝜑
[𝑟𝑐𝑜𝑠𝜑 𝑟 ]

34
𝜗𝑥̇ sin 𝜑 𝜑̇ 𝑙
+ 𝜗𝑥 𝜗̇
𝑤̇ 𝑟𝑐𝑜𝑠𝜑 𝑟𝑐𝑜𝑠 2 𝜑 2𝑟 𝜑
[ 𝑑] =
𝑤̇𝑖 𝜗𝑥̇ sin 𝜑 𝜑̇ 𝑙
+ 𝜗𝑥 − 𝜗𝜑 ̇
[𝑟𝑐𝑜𝑠𝜑 𝑟𝑐𝑜𝑠 2 𝜑 2𝑟 ]

1 𝑙
[𝜗𝑥̈ + (2𝜗𝑥̇ 𝜑̇ + 𝜗𝑥 𝜑̈ ) + tan 𝜑 + (1 + 𝑡𝑎𝑛2 𝜑)𝜗𝑥 𝜑̇ 2 ] 𝜗̈
𝑤̈𝑑 𝑟𝑐𝑜𝑠𝜑 2𝑟 𝜑
[ ]=
𝑤̈𝑖 1 𝑙
[𝜗𝑥̈ + (2𝜗𝑥̇ 𝜑̇ + 𝜗𝑥 𝜑̈ ) + tan 𝜑 + (1 + 𝑡𝑎𝑛2 𝜑)𝜗𝑥 𝜑̇ 2 ] − 𝜗𝜑 ̈
[𝑟𝑐𝑜𝑠𝜑 2𝑟 ]

Con

𝜗𝑥̇ 𝑥̈ −∝1 (𝑥̇ − 𝑥̇ 𝑑 )


[ ̇ ]=[ 𝑑 ]
𝜗𝜑 𝜑̈ 𝑑 −∝2 (𝜑̇ − 𝜑̇ 𝑑 )

𝜗𝑥̈ 𝑥⃛ −∝1 (𝑥⃛ − 𝑥⃛𝑑 )


[ ̈ ]=[ 𝑑 ]
𝜗𝜑 𝜑⃛𝑑 −∝1 (𝜑
⃛−𝜑 ⃛𝑑

Una vez obtenidas las velocidades angulares del móvil 𝑤𝑑 , 𝑤𝑖 y sus derivadas producto de la
parametrización diferencial se diseña el control de bajo nivel para cada uno de los motores del
móvil. El control de bajo nivel consta de dos controles por planitud diferencial similares pero
independientes uno del otro.

Se inicia el diseño del controlador con las ecuaciones del modelo dinámico del motor

𝑑𝐼𝑎
𝐿𝑎 = 𝑉𝑎 − 𝑅𝑎 𝐼𝑎 − 𝑘𝑒 𝜔
𝑑𝑡

𝑑𝜔
𝐽 = 𝑘𝑚 𝐼𝑎 − 𝐵𝜔 − 𝑇𝐿
𝑑𝑡

Donde 𝐿𝑎 , 𝐼𝑎 , 𝑉𝑎 y 𝑅𝑎 son la inductancia, la corriente, el voltaje y la resistencia de armadura


respectivamente, 𝑘𝑒 es la constante eléctrica, 𝑘𝑚 la constante mecánica, 𝐽 es la inercia del

35
rotor y la carga, 𝜔 es la velocidad angular y 𝐵 es la constante de fricción viscosa del motor y
la carga y 𝑇𝐿 el torque de la carga.

Se considera que 𝑘𝑒 = 𝑘𝑚 y 𝑇𝐿 = 0 para llevar el modelo a su forma canónica de Jordan

𝑥̇ = 𝐴𝑥 + 𝐵𝑢
𝑦 = 𝐶𝑥

Quedando así en representación matricial

𝑅𝑎 𝑘
− − 1
𝑑 𝐼𝑎 𝐿𝑎 𝐿𝑎 𝐼𝑎
[ ]= [ ] + [𝐿𝑎 ] 𝑢
𝑑𝑡 𝜔 𝑘 𝐵 𝜔
− 0
[ 𝐽 𝐽]

Para saber si el sistema es controlable se tiene que cumplir que la matriz de controlabilidad de
Kalman 𝜁 = [𝐵 𝐴𝐵 𝐴𝑛−1 𝐵 ] sea de rango completo

1 𝑅𝑎

𝐿𝑎 𝐿𝑎
𝜁=
𝑘
0
[ 𝐽𝐿𝑎 ]

Como 𝑘⁄𝐽𝐿2 ≠ 0 el rango de la matriz es igual a dos.


𝑎

Se toma como salida plana a la velocidad angular del motor, por lo que

𝐹≜ 𝜔
𝐼
𝐹 ≜ (0 1)𝜁 −1 [ 𝑎 ]
𝜔

Sustituyendo F en la ecuación mecánica del motor se tiene que

𝐽𝐹̇ = 𝑘𝐼𝑎 − 𝐵𝐹
𝐽 𝐵
𝐼𝑎 = 𝐹̇ + 𝐹
𝑘 𝑘

Sustituyendo ahora el resultado en la ecuación eléctrica

𝑑 𝐽 𝐵 𝐽 𝐵
𝐿𝑎 ( 𝐹̇ + 𝐹) = 𝑉𝑎 − 𝑅𝑎 ( 𝐹̇ + 𝐹) − 𝑘𝜔
𝑑𝑡 𝑘 𝑘 𝑘 𝑘

36
Obteniendo

𝐽𝐿𝑎 𝐵𝐿𝑎 + 𝐽𝑅𝑎 𝐵𝑅𝑎


𝑉𝑎 = [ ] 𝐹̈ + [ ] 𝐹̇ + [ + 𝑘] 𝐹
𝑘 𝑘 𝑘

Con 𝑢 = 𝑉𝑎 la ley de control para este sistema está dada por

𝐽𝐿𝑎 𝐵𝐿𝑎 + 𝐽𝑅𝑎 𝐵𝑅𝑎


𝑢=[ ] 𝑢𝑎𝑢𝑥 + [ ] 𝐹̇ + [ + 𝑘] 𝐹
𝑘 𝑘 𝑘

𝑢𝑎𝑢𝑥 = 𝐹𝑑̈ − 𝛾2 (𝐹̇ − 𝐹𝑑̇ ) − 𝛾1 (𝐹 − 𝐹𝑑 ) − 𝛾0 ∫(𝐹 − 𝐹𝑑 )

El método empleado para sintonizar las ganancias de este controlador es mediante un


polinomio de Routh por ubicación directa de polos. Para lo cual se requiere hacer un cambio
de dominio de los errores pasándolos del dominio temporal al dominio de Laplace.

⃛=𝐹
𝐹 ⃛𝑑 − 𝛾2 (𝐹̈ − 𝐹𝑑̈ ) − 𝛾1 (𝐹̇ − 𝐹𝑑̇ ) − 𝛾0 (𝐹 − 𝐹𝑑 )

⃛ −𝐹
(𝐹 ⃛𝑑 ) + 𝛾2 (𝐹̈ − 𝐹𝑑̈ ) + 𝛾1 (𝐹̇ − 𝐹𝑑̇ ) + 𝛾0 (𝐹 − 𝐹𝑑 ) = 0

⃛ + 𝛾2 𝐸̈ + 𝛾1 𝐸̇ − 𝛾0 𝐸 = 0
𝐸

𝑆 3 𝐸(𝑠) + 𝛾2 𝑆 2 𝐸(𝑠) + 𝛾1 𝑆𝐸(𝑠) + 𝛾0 𝐸(𝑠) = 0

[𝑆 3 + 𝛾2 𝑆 2 + 𝛾1 𝑆 + 𝛾0 ]𝐸(𝑠) = 0

El polinomio de sintonización es un polinomio Routh de tercer grado de la forma

𝑃𝑑 = 𝑆 3 + (2𝜉𝜔𝑛 +∝)𝑆 2 + (𝜔𝑛2 + 2𝜉𝜔𝑛 )𝑆 + 𝜔𝑛2 𝜉

Donde 𝜉 es el coeficiente de amortiguamiento, 𝜔𝑛 la frecuencia natural del sistema y ∝ una


constante cuyo valor es a criterio de cada diseñador.

𝛾2 = 2𝜉𝜔𝑛 +∝

𝛾1 = 𝜔𝑛2 + 2𝜉𝜔𝑛

𝛾0 = 𝜔𝑛2 𝜉

7. Sistema de navegación autónomo por trayectorias predefinidas.

37
Las trayectorias de prueba se definieron de tal manera que se tiene un punto inicial A y dos
puntos de destino B y C. La zona de pruebas se describe de la siguiente forma, desde el punto
A se marca una línea recta sobre la cual nace una bifurcación para llegar al punto de destino
elegido, ya sea el punto B o el C.

Es aquí donde entra en función la barra de sensores de distancia (infrarrojos) para detectar la
línea que delimita las trayectorias predefinidas. Mediante algoritmos matemáticos, se agregó un
código de programación a la placa Arduino MEGA 2560 (Anexo F Código fuente para detección
de trayectoria (línea) y control PD.), con el que éste podrá detectar la línea que describe la
trayectoria y seguirla de forma autónoma, es decir, sin la necesidad de que el usuario afecte de
manera directa en el control de la velocidad de los motores de la silla.

En la parte de abajo de la silla, se coloca la barra de sensores a una distancia de 1 cm del piso,
distancia óptima recomendada por el fabricante para que funcione de una manera bastante
confiable.

Ya que la silla detecta la trayectoria de manera continua, mediante un control PD, se obtienen
las salidas de control de velocidad y dirección de los motores, que se adaptarán para lograr un
movimiento fluido y suave para ejecutar un seguimiento agradable y seguro para el usuario.

8. Arranque y paro suave.

Un arranque o paro suave otorga comodidad al usuario al no permitir cambios de velocidad


bruscos, para este proyecto, se implementa un algoritmo para calcular la variación de velocidad
de la silla en un intervalo de tiempo determinado tomando como base una curva de Bézier de
3er grado.

En el software de programación y simulación MatLab, se realiza un código en el que se realiza


esta tarea, ver Anexo G Código para obtención de la curva de Bézier de 3er grado. Fuente:
Autores..

38
9. Interfaz de usuario.

En cuanto a la interfaz de usuario, se utilizó una página web para el desarrollo online creada en
el MIT, llamada AppInventor, en la cual se pueden diseñar y crear aplicaciones para dispositivos
con SO Android.

Cuenta con una buena variedad de herramientas y una programación basado en diagramas de
bloques que la hacen bastante intuitiva para el desarrollo de aplicaciones de forma rápida,
aunque bastante básicas.

La aplicación fue llamada “WheelChair TecVallarta”, utiliza la comunicación bluetooth


(programada únicamente para enlazarse con el dispositivo bluetooth que se utiliza en la silla de
ruedas, el RN-42), y mediante la interacción del usuario y la programación de la misma, envía
datos que recibe el controlador central de la silla para ejecutar acciones.

La descripción de la aplicación se basa en 4 “screens” o pantallas:

1) Inicio. Se compone de una ligera descripción del proyecto y da la opción de salir o


avanzar.
2) Elección de modo de operación. En esta pantalla, el usuario debe elegir si desea
controlar la silla de forma manual o autónoma.
3) Elección de mando en operación manual. Si el usuario eligió la operación manual, en
esta pantalla deberá elegir si desea utilizar el joystick (que está instalado en la silla) o
comandos de voz.
4) Operación autónoma. En esta pantalla el usuario puede interactuar con la silla por
comandos táctiles o de voz, para elegir el destino al que se desea trasladar.

En el Anexo H Pantallas de la aplicación WheelChair TecVallarta. Fuente: Autores.se pueden


observar las 4 pantallas que componen la aplicación.

39
XII. Resultados

Como resultados podemos describir los siguientes puntos en base a los objetivos específicos
propuestos al inicio del proyecto:

En cuanto a la instrumentación de la silla, se instalaron los dispositivos suficientes para realizar


pruebas experimentales necesarias para poder definir los resultados obtenidos (Ilustración 8
Prototipo físico instrumentado.); uno de los puntos a destacar, es que el prototipo únicamente
funcionó sin tripulante, debido a que el torque máximo que otorgan los motores no soportaría
tal fuerza, por esa razón, el joystick de mando fue colocado en la parte trasera de arriba de la
silla como se ve en la figura 9 para facilitar las pruebas del prototipo.

I LUSTRACIÓN 12 UBICACIÓN EXPERIMENTAL DEL MANDO JOYSTICK .


F UENTE : AUTORES .

La detección de obstáculos realizada desde el Arduino Uno R3 con el uso de sensores


ultrasónicos, los detecta ya sea estáticos o en movimiento, a una distancia promedio de 1.5m,
enviando una señal al dispositivo central (Arduino MEGA 2560) el cual se encarga de detener
los motores antes de impactarse con el obstáculo, reanudando su movimiento al recibir la señal
de que el camino está libre, cambiar de trayectoria o cambiar de mando autónomo a manual.
Cabe mencionar que la detección de obstáculos funciona únicamente en modo autónomo.

40
Un punto bastante importante para la seguridad y el confort del usuario, es el arranque y el paro
suave de ésta, en el que se obtuvieron buenos resultados, a continuación, se muestran dos
gráficas de la simulación en MatLab del método basado en el seguimiento de una trayectoria de
velocidad utilizando una curva de Bézier de 3er grado (Grafica 1 Arranque suave basado en una
curva de Bézier de 3er grado. Fuente: Autores. y Grafica 2 Paro suave basado en una curva de):

G RAFICA 1 A RRANQUE SUAVE BASADO EN UNA CURVA DE BÉZIER DE


3 ER GRADO . F UENTE : AUTORES .

G RAFICA 2 PARO SUAVE BASADO EN UNA CURVA DE


BÉZIER DE 3ER GRADO . FUENTE : A UTORES .

41
Un resultado secundario, pero no menos importante, es que los motores, al momento de arrancar,
no consumen picos de corriente al arrancar ya que su velocidad es variada para conseguir el
arranque suave, lo que provoca una mayor duración de las baterías. El tiempo de llegada y la
velocidad final pueden ser elegidos a conveniencia, obteniendo buenos resultados al poner t= 3
segundos y la velocidad final a 2.5 km/h.

En simulación en MatLab, el diseño del controlador para el sistema arrojó los siguientes
resultados (Gráficas 3, 4 y 5), en donde las gráficas de la izquierda representan la posición del
carro en el eje x, las del centro el ángulo del móvil y las de la derecha las velocidades angulares
de las ruedas:

G RAFICA 3 S IMULACIÓN DEL CONTROLADOR PARA X =2 Y Φ = 0°.


F UENTE : AUTORES .

En la gráfica anterior se puede observar que las ruedas toman la misma velocidad, esto debido
a que inicialmente el ángulo del móvil era igual a 0°, por lo que el carro se desplazó en línea
recta.

42
En la gráfica siguiente (Gráfica 4), los valores deseados exigen al móvil a realizar un giro hacia
la izquierda; en las gráficas de las velocidades (parte derecha) se aprecia que el motor derecho
incrementa su velocidad mientras que el izquierdo no, con un poco de imaginación, se puede
deducir que, para ejecutar un giro hacia la izquierda, la rueda derecha debe aumentar su
velocidad más que la rueda derecha.

G RAFICA 4 S IMULACIÓN DEL CONTROLADOR PARA X = 2 Y Φ =35°.


F UENTE : AUTORES .

En la Grafica 5 Simulación del controlador PARA X= 2 Y Φ =-35°., se observa un caso contrario


al anterior, donde el sentido de giro ahora es hacia la derecha, provocando que la rueda izquierda
gire más rápido que la derecha y así conseguir el giro deseado.

43
G RAFICA 5 S IMULACIÓN DEL CONTROLADOR PARA X= 2 Y Φ =-35°.
FUENTE: AUTORES.

Por último, en la Grafica 6 Simulación del controlador PARA X= 10 Y Φ =1+sen(wt). se toma


como referencia a φ= 1+sen(wt), simulando una referencia variante a través del tiempo, en
donde se aprecia que el control sigue bastante bien la referencia.

G RAFICA 6 S IMULACIÓN DEL CONTROLADOR PARA X= 10 Y Φ =1+ SEN (WT ).


F UENTE : AUTORES .

44
XIII. Conclusiones y recomendaciones

 El controlador diseñado para este sistema tiene un alto grado de complejidad para ser
ejecutado en microcontroladores de gama baja y probablemente media, y al no contar
con dispositivos de mejor calidad, se imposibilitó la implementación de éste controlador
en la silla de ruedas, pero, se obtuvieron buenos resultados en simulación en el software
MatLab Simulink. Para trabajos futuros, se recomienda la utilización de
microcontroladores más potentes para implementar el control propuesto, con el que
seguramente se obtendrán mejores resultados.
 Mediante un sistema de control a lazo cerrado, se produjo una implementación básica
para el seguimiento de trayectorias (en este caso, una línea física), agregando un
controlador PD buscando una mayor fiabilidad y seguridad para un seguimiento de línea
suave y preciso, obteniendo resultados bastante buenos, en el que el usuario ordena el
destino al cual desea ir (punto B o punto C) y la silla de forma autónoma se traslada
hasta cumplir la orden, controlando las velocidades de los motores sin que el usuario
intervenga directamente
 La aplicación diseñada para dispositivos con SO Android fue desarrollada de manera
simple de tal forma que sea suficiente para esta etapa experimental del proyecto, pero
no resulta una aplicación bastante intuitiva y eficaz si lo que se busca es llevarlo al
público o comercializar.
 La comunicación entre la aplicación y el dispositivo central se logró con bastante
fiabilidad y con seguridad, enviando con éxito los datos necesarios para que la silla
realice sus movimientos en función de lo que el usuario ordene desde la aplicación.
 El prototipo quedará funcionando y a disposición de la academia de electromecánica
para trabajos futuros, con el fin de conseguir mejoras en los aspectos estéticos y
funcionales; tales como los métodos de control, alimentación de la parte electrónica y
de potencia de la silla, las formas de interacción usuario – máquina, etc.

45
XIV. Bibliografía

Aguilar, E. (21 de Marzo de 2013). Plataforma para la interacción con dispositivos de


encelografía. Castilla, Ciudad Real, España.

Alcubierre, J., Minguez, J., Montesano, L., Montano, L., Saz, O., & Lleida, E. (2005). Silla de
ruedas inteligente controlada por voz. Zaragoza: Fundación ONCE.

Baturone, O. (2001). Robótica manipuladores y robots móviles. Marcombo.

Brutti, C., Cuesta, J., Canabelli, A., & Donisi, C. (2004). Motorización de sillas de ruedas
convencionales. Universidad Autónoma de Entre Rios, 1-5.

Coronel, A. (2013). Planeación de trayectorias y control por planitud diferencial de múltiples


robots moviles. Cuernavaca: CENIDET.

García, J. C. (2001). Sistema de posicionamiento y autolocalización para sillas de ruedas


autónomas. Alcalá, España: Universidad de Alcalá.

Katsuhiko, O. (1998). Ingeniería de control moderna. México: PRENTICE-HALL.

Mancilla, J. A., Crespo, H., & Morales, N. (2012). Control de una silla de ruedas por medio de
un dispositivo con Sistema Operativo Android. Revista Tecnológica Digital, 1-13.

Ramos, E., Morales, R., & Silva, R. (2010). Modelado, simulación y construcción de un robot
movil de ruedas tipo diferencial. CIDETEC-IPN, 4.

Repiso, E., & Sanfeliu, A. (2013). Técnicas de detección de obstáculos y seguimiento de


personas usando fusión Lidar y otros sensores. Catalunya: Universidad de Catalunya.

Rincón, J. (2008). Diseño y construcción de dispositvo para la detección de obstáculos.


Bogotá: Universidad de la Salle.

Ríos, L., & Bueno, M. (2008). Modelo matemático para un robot móvil. Redalyc: Sistema de
información científica, 13-18.

Sánchez, C. (2015). Interfaz natural de usuario. ResearchGate, 1.

46
Tzafestas, G. (2001). Research on Autonomous Robotic Wheelchairs in Europe. IEEE
Robotics & Automation Magazine, 4-6.

Vásquez, J. (2007). Teoría de control. Oaxaca: Universidad Tecnológica de Mixteca.

William, L. (1999). Process , modeling, simulation and control for chemical engineers. New
York: McGraw-Hill.

47
XV. Anexos

A NEXO A CRONOGRAMA DE ACTIVIDADES . FUENTE : AUTORES .

A NEXO B CARACTERÍSTICAS DE LA PLACA ARDUINO MEGA 2560. FUENTE : WWW .ARDUINO. CC

48
A NEXO C CARACTERÍSTICAS DE LA PLACA ARDUINO UNO.
F UENTE : WWW.ARDUINO . CC

A NEXO D D IAGRAMA ESQUEMÁTICO DE LA PLACA DE CONEXIONES . FUENTE : AUTORES .

49
A NEXO E C ÓDIGO FUENTE PARA LA DETECCIÓN DE OBSTÁCULOS .
F UENTE : AUTORES .

// Código fuente para detección de línea y control PD para


// seguimiento de trayectorias predefinidas

// Configuracion y variables para QTR-8A


#include <QTRSensors.h> // Librería QTR-A Sensors
#define NumSen // No. de sensores a usar
#define NumMue // No. de muestras por sensor
#define LedOnn QTR_NO_EMITTER_PIN // Control de leds emisores
QTRSensorsAnalog qtr8a((unsigned char[]){0, 1, 2, 3, 4, 5, 6, 7},NumSen,NumMue,LedOnn);
// Variables para control PD
int pwm; int motorSpeed;
int lastE = 0; int error;
double Kp= 0.06; double Kd= 2.0;
int vel= 190; int M2= 120;
int m1Speed; int m2Speed;

// Configuracion de pines de salida al puente H


int a1= 23; int a2= 29;

50
int a3= 31; int a4= 35;
int MI= 3; int MD= 2;
void setup() {
pinMode(a1, OUTPUT); pinMode(a2, OUTPUT);
pinMode(a3, OUTPUT); pinMode(a4, OUTPUT);
pinMode(MD, OUTPUT); pinMode(MI, OUTPUT);
pinMode(13, OUTPUT); digitalWrite(13, HIGH);
// Calibracion automatica de los sensores
for (int i = 0; i < 200; i++) { qtra.calibrate(); }
digitalWrite(13, LOW);
}
void loop() {
unsigned int position = qtra.readLine(sensorValues); // Posicion de la linea
error = (position)-3500;
motorSpeed = Kp * error + Kd * (error - lastError); // Calculo del PD
lastError = error;
m1Speed = vel + motorSpeed;
m2Speed = vel - motorSpeed;
if (m1Speed < 0) { m1Speed = 5; }
if (m2Speed < 0) { m2Speed = 5; }
if (error<0) {
if (error< -3450) {
digitalWrite(a1, HIGH); digitalWrite(a3, HIGH);
digitalWrite(a2, LOW); digitalWrite(a4, LOW);
analogWrite(MI, m1Speed); analogWrite(MD, m2Speed);
}
else {
digitalWrite(a1, HIGH); digitalWrite(a3, LOW);
digitalWrite(a2, LOW); digitalWrite(a4, HIGH);
analogWrite(MI, m1Speed); analogWrite(MD, m2Speed);
}
}
if (error > 0) {
if (error > 3450) {
digitalWrite(a1, LOW); digitalWrite(a3, LOW);
digitalWrite(a2, HIGH); digitalWrite(a4, HIGH);
analogWrite(MI, m1Speed); analogWrite(MD, m2Speed);
}
else {
digitalWrite(a1, HIGH); digitalWrite(a3, LOW);
digitalWrite(a2, LOW); digitalWrite(a4, HIGH);
analogWrite(MI, m1Speed); analogWrite(MD, m2Speed);
}
}
if (error==0) {
digitalWrite(a1, HIGH); digitalWrite(a3, LOW);
digitalWrite(a2, LOW); digitalWrite(a4, HIGH);
analogWrite(MI, vel); analogWrite(MD, vel);
}
}

A NEXO F CÓDIGO FUENTE PARA DETECCIÓN DE TRAYECTORIA ( LÍNEA ) Y CONTROL PD.


F UENTE : AUTORES .

51
A NEXO G CÓDIGO PARA OBTENCIÓN DE LA CURVA DE BÉZIER DE 3ER GRADO. FUENTE : AUTORES .

A NEXO H PANTALLAS DE LA APLICACIÓN W HEELC HAIR TEC VALLARTA . FUENTE : AUTORES .

52