Beruflich Dokumente
Kultur Dokumente
Integrantes:
Licenciatura en:
Ingeniería Electromecánica
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
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
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
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.
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.
7
VI. Objetivos
i. General
ii. Específicos
8
VII. Caracterización del área en que participó
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:
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
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
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:
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:
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.
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).
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.
Los controladores se clasifican de acuerdo a las acciones de control como pueden ser:
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:
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):
“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.
ẋ = 𝑣 ∗ 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.
𝑞̇ = 𝑓(𝑞) + 𝑔(𝑞)𝑢
𝑦 = ℎ(𝑞)
Donde “h” es la salida del sistema, “q” es el vector de estados y “u” es la entrada de control.
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
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.
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
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.
24
I LUSTRACIÓN 6 PROTOTIPO VIRTUAL REALIZADO EN S OLID W ORKS .
F UENTE : AUTORES .
Comandos de voz.
Palancas o joysticks.
Comandos táctiles.
Sensores de inclinación.
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.
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”).
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.
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.
Es la placa donde se conectan los sensores y actuadores del sistema, asi como las placas
de desarrollo.
27
I LUSTRACIÓN 8 PROTOTIPO FÍSICO INSTRUMENTADO .
F UENTE : AUTORES .
4. Detección de obstáculos.
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.).
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:
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.):
30
I LUSTRACIÓN 10 DIAGRAMA EN MATLAB SIMULINK DEL CONTROL POR RETROALIMENTACIÓN ENTRADA -
ESTADO . FUENTE : 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 (𝜑) [ 𝑤 ]
𝑦̇ 𝑖
𝑥̇ 𝑤𝑑
[ ] = 𝐷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𝑙
𝑟 𝑟
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
𝑥̇ 𝑤𝑑
[ ] = 𝐷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 (𝜑 − 𝜑𝑑 ) = 𝜗𝜑
𝑥̇ = 𝑥̇ 𝑑 −∝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 𝑡 → ∞.
𝜗𝑥 𝑙
𝜗
𝑤𝑑 𝑟𝑐𝑜𝑠𝜑 𝑟 𝜑
[𝑤 ] =
𝑖 𝜗𝑥 𝑙
− 𝜗𝜑
[𝑟𝑐𝑜𝑠𝜑 𝑟 ]
34
𝜗𝑥̇ sin 𝜑 𝜑̇ 𝑙
+ 𝜗𝑥 𝜗̇
𝑤̇ 𝑟𝑐𝑜𝑠𝜑 𝑟𝑐𝑜𝑠 2 𝜑 2𝑟 𝜑
[ 𝑑] =
𝑤̇𝑖 𝜗𝑥̇ sin 𝜑 𝜑̇ 𝑙
+ 𝜗𝑥 − 𝜗𝜑 ̇
[𝑟𝑐𝑜𝑠𝜑 𝑟𝑐𝑜𝑠 2 𝜑 2𝑟 ]
1 𝑙
[𝜗𝑥̈ + (2𝜗𝑥̇ 𝜑̇ + 𝜗𝑥 𝜑̈ ) + tan 𝜑 + (1 + 𝑡𝑎𝑛2 𝜑)𝜗𝑥 𝜑̇ 2 ] 𝜗̈
𝑤̈𝑑 𝑟𝑐𝑜𝑠𝜑 2𝑟 𝜑
[ ]=
𝑤̈𝑖 1 𝑙
[𝜗𝑥̈ + (2𝜗𝑥̇ 𝜑̇ + 𝜗𝑥 𝜑̈ ) + tan 𝜑 + (1 + 𝑡𝑎𝑛2 𝜑)𝜗𝑥 𝜑̇ 2 ] − 𝜗𝜑 ̈
[𝑟𝑐𝑜𝑠𝜑 2𝑟 ]
Con
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
𝑑𝐼𝑎
𝐿𝑎 = 𝑉𝑎 − 𝑅𝑎 𝐼𝑎 − 𝑘𝑒 𝜔
𝑑𝑡
𝑑𝜔
𝐽 = 𝑘𝑚 𝐼𝑎 − 𝐵𝜔 − 𝑇𝐿
𝑑𝑡
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.
𝑥̇ = 𝐴𝑥 + 𝐵𝑢
𝑦 = 𝐶𝑥
𝑅𝑎 𝑘
− − 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
[ 𝐽𝐿𝑎 ]
Se toma como salida plana a la velocidad angular del motor, por lo que
𝐹≜ 𝜔
𝐼
𝐹 ≜ (0 1)𝜁 −1 [ 𝑎 ]
𝜔
𝐽𝐹̇ = 𝑘𝐼𝑎 − 𝐵𝐹
𝐽 𝐵
𝐼𝑎 = 𝐹̇ + 𝐹
𝑘 𝑘
𝑑 𝐽 𝐵 𝐽 𝐵
𝐿𝑎 ( 𝐹̇ + 𝐹) = 𝑉𝑎 − 𝑅𝑎 ( 𝐹̇ + 𝐹) − 𝑘𝜔
𝑑𝑡 𝑘 𝑘 𝑘 𝑘
36
Obteniendo
⃛=𝐹
𝐹 ⃛𝑑 − 𝛾2 (𝐹̈ − 𝐹𝑑̈ ) − 𝛾1 (𝐹̇ − 𝐹𝑑̇ ) − 𝛾0 (𝐹 − 𝐹𝑑 )
⃛ −𝐹
(𝐹 ⃛𝑑 ) + 𝛾2 (𝐹̈ − 𝐹𝑑̈ ) + 𝛾1 (𝐹̇ − 𝐹𝑑̇ ) + 𝛾0 (𝐹 − 𝐹𝑑 ) = 0
⃛ + 𝛾2 𝐸̈ + 𝛾1 𝐸̇ − 𝛾0 𝐸 = 0
𝐸
[𝑆 3 + 𝛾2 𝑆 2 + 𝛾1 𝑆 + 𝛾0 ]𝐸(𝑠) = 0
𝛾2 = 2𝜉𝜔𝑛 +∝
𝛾1 = 𝜔𝑛2 + 2𝜉𝜔𝑛
𝛾0 = 𝜔𝑛2 𝜉
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.
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.
39
XII. Resultados
Como resultados podemos describir los siguientes puntos en base a los objetivos específicos
propuestos al inicio del proyecto:
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):
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:
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.
43
G RAFICA 5 S IMULACIÓN DEL CONTROLADOR PARA X= 2 Y Φ =-35°.
FUENTE: 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
Alcubierre, J., Minguez, J., Montesano, L., Montano, L., Saz, O., & Lleida, E. (2005). Silla de
ruedas inteligente controlada por voz. Zaragoza: Fundación ONCE.
Brutti, C., Cuesta, J., Canabelli, A., & Donisi, C. (2004). Motorización de sillas de ruedas
convencionales. Universidad Autónoma de Entre Rios, 1-5.
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.
Ríos, L., & Bueno, M. (2008). Modelo matemático para un robot móvil. Redalyc: Sistema de
información científica, 13-18.
46
Tzafestas, G. (2001). Research on Autonomous Robotic Wheelchairs in Europe. IEEE
Robotics & Automation Magazine, 4-6.
William, L. (1999). Process , modeling, simulation and control for chemical engineers. New
York: McGraw-Hill.
47
XV. Anexos
48
A NEXO C CARACTERÍSTICAS DE LA PLACA ARDUINO UNO.
F UENTE : WWW.ARDUINO . CC
49
A NEXO E C ÓDIGO FUENTE PARA LA DETECCIÓN DE OBSTÁCULOS .
F UENTE : AUTORES .
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);
}
}
51
A NEXO G CÓDIGO PARA OBTENCIÓN DE LA CURVA DE BÉZIER DE 3ER GRADO. FUENTE : AUTORES .
52