diseno~ e implementaci on de un sistema de balanceo de una...

123
Dise˜ no e Implementaci´on de un Sistema de Balanceo de una Bola Sobre un Plano Juan Felipe Reyes Ortiz Diego Ochoa Polan´ ıa Universidad Distrital Francisco Jos´ e de Caldas Facultad de Ingenier´ ıa Proyecto Curricular de Ingenier´ ıa Electr´ onica Bogot´ a D.C. 2016

Upload: others

Post on 30-Apr-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

Diseno e Implementacion de un Sistema de Balanceo de una BolaSobre un Plano

Juan Felipe Reyes Ortiz

Diego Ochoa Polanıa

Universidad Distrital Francisco Jose de Caldas

Facultad de Ingenierıa

Proyecto Curricular de Ingenierıa Electronica

Bogota D.C.

2016

Page 2: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano
Page 3: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

Diseno e Implementacion de un Sistema de Balanceo de una BolaSobre un Plano

Juan Felipe Reyes Ortiz Codigo: 20082005036

Diego Ochoa Polanıa Codigo: 20082005091

Trabajo de grado para optar al tıtulo de:

Ingeniero Electronico en la modalidad de investigacion

Directora:

Diana Marcela Ovalle Martınez. PhD.

Lınea de Investigacion:

Senales y Control

Grupo de Investigacion:

IDEAS

Universidad Distrital Francisco Jose de Caldas

Facultad de Ingenierıa

Proyecto Curricular de Ingenierıa Electronica

Bogota D.C.

2016

Page 4: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano
Page 5: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

”No son los golpes ni las caıdas las que hacen

fracasar al hombre; sino su falta de voluntad

para levantarse y seguir adelante”.

Anonimo

Page 6: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano
Page 7: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

Agradecimientos

Queremos expresar nuestros mas sinceros agradecimientos a Dios, a nuestras familias sin

las cuales no hubiera sido posible culminar este ciclo de nuestras vidas, a nuestra directora

Dra. Diana Marcela Ovalle por la paciencia, el apoyo y la orientacion que a lo largo de

estos anos nos brindo para poder terminar de manera exitosa con este proceso, al Msc. Luis

Camilo Jimenez, quien a lo largo del esta aventura nos acompano en muchos fines de semana

brindandonos la mejor asesorıa posible para completar el modelo del sistema. Y a todas las

personas que de una u otra forma nos apoyaron para sacar adelante esta travesıa.

A todos gracias.

Page 8: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano
Page 9: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

Resumen

El presente documento permite al lector apreciar los principales elementos para el diseno

e implementacion de un sistema de balanceo de una bola sobre un plano, cuyo sistema de

sensado se basa en una camara web, partiendo por la explicacion de los distintos mecanis-

mos planeados por los autores de este documento, continuando con la explicacion fısica del

modelo, el desarrollo del prototipo, y el diseno de los controladores, para arribar al ultimo

capıtulo donde se unen cada una de las etapas desarrolladas anteriormente para producir un

sistema funcional. El documento termina con una seccion de conclusiones y trabajos futuros

basados en el prototipo.

Page 10: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano
Page 11: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

Contenido

Resumen IX

Lista de Figuras XIII

Lista de Tablas 1

Introduccion 3

1. Generalidades 5

1.1. Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2.1. Objetivo general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2.2. Objetivos especıficos . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.3. Aportes y Reconocimientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2. Diseno y Construccion 7

2.1. Diseno Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.2. Sistema Impulsado por Vigas Radiales . . . . . . . . . . . . . . . . . . . . . 7

2.2.1. Mecanismo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.2.2. Ventajas y Desventajas . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.3. Sistema Impulsado por Pinones . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.3.1. Mecanismo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.3.2. Ventajas y Desventajas . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.4. Sistema Rotulado(Implementacion Fısica) . . . . . . . . . . . . . . . . . . . 12

2.4.1. Mecanismo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.4.2. Ventajas y Desventajas . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3. Modelo Analıtico 17

3.1. Modelo de referencia y Condiciones Iniciales . . . . . . . . . . . . . . . . . . 17

3.2. Analisis Fısico de la Bola . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.3. Estado de Reposo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.4. Traslacion de la bola . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Page 12: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

xii CONTENIDO

3.4.1. Planos de Referencia . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.4.2. Analisis Traslacional de la Bola . . . . . . . . . . . . . . . . . . . . . 21

3.4.3. Analisis Rotacional de la Bola . . . . . . . . . . . . . . . . . . . . . . 22

3.4.4. Relacion entre Rotacion y traslacion de la Bola . . . . . . . . . . . . 27

3.5. Analisis Por Energıa y Ecuaciones de Lagrange . . . . . . . . . . . . . . . . 29

4. Sensado e Interfaces Grafica 35

4.1. Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4.2. Set Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.3. Interface Grafica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

4.3.1. Inicializacion de la Interface . . . . . . . . . . . . . . . . . . . . . . . 40

4.3.2. Inicializacion de los elementos . . . . . . . . . . . . . . . . . . . . . . 41

4.3.3. Retorno de Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4.3.4. Callbacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

4.3.5. Comunicacion entre Simulink - Interface Grafica . . . . . . . . . . . . 48

5. Diseno de los Controladores 53

5.1. Controlador Difuso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

5.1.1. Descripcion Linguıstica . . . . . . . . . . . . . . . . . . . . . . . . . . 53

5.1.2. Reglas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

5.1.3. Funciones de Pertenencia . . . . . . . . . . . . . . . . . . . . . . . . . 55

5.2. Controlador de Realimentacion de Estados . . . . . . . . . . . . . . . . . . . 56

5.2.1. Regulador de Estados . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

5.2.2. Seguidor de Estados . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

6. Estimacion de Parametros y Resultados 91

6.1. Estimacion de parametros . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

6.2. Simulaciones de los Controladores . . . . . . . . . . . . . . . . . . . . . . . . 93

6.2.1. Control por Regulacion de Estados . . . . . . . . . . . . . . . . . . . 93

6.2.2. Seguidor de Estados . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

6.2.3. Resultados Implementacion Real del Sistema . . . . . . . . . . . . . . 95

6.2.4. Resultados Implementacion Real del Controlador por Realimentacion

de Estados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

6.2.5. Validacion entrada salida Modelo estimado Vs Modelo Real . . . . . 98

6.2.6. Resultados Reales del Controlador Difuso . . . . . . . . . . . . . . . . 99

6.2.7. Costos de implementacion . . . . . . . . . . . . . . . . . . . . . . . . 103

Page 13: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

Lista de Figuras

2-1. Plano y Distribucion de Guias . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2-2. Sistema de Guıas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2-3. Montaje Simulado de Mecanica Disco-Viga . . . . . . . . . . . . . . . . . . . 9

2-4. Plano de 3 ejes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2-5. Movimiento Pinones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2-6. Interaccion Pinones - Tornillo Sinfın . . . . . . . . . . . . . . . . . . . . . . 11

2-7. Sistema de Acople Plano Tornillos . . . . . . . . . . . . . . . . . . . . . . . 12

2-8. Montaje Sistema Simulacion . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2-9. Pivote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2-10.Parte Superior Rotula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2-11.Parte Inferior Rotula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2-12.Motor Futaba3005 y Base . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2-13.Sistema Real . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2-14.Sistema Real . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3-1. Sistema de Referencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3-2. Sistema en estado de reposo . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3-3. Rotacion del plano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3-4. Analisis de Fuerzas para la bola en el eje x . . . . . . . . . . . . . . . . . . . 21

3-5. Torques de Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3-6. Analisis del Radio de la Normal . . . . . . . . . . . . . . . . . . . . . . . . . 24

3-7. Analisis Espacial de P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3-8. Relacion Velocidad Angular - Lineal . . . . . . . . . . . . . . . . . . . . . . . 28

3-9. Analisis Espacial de los Movimientos la Bola . . . . . . . . . . . . . . . . . . 29

4-1. Elementos del Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4-2. Interface Grafica Segmentada . . . . . . . . . . . . . . . . . . . . . . . . . . 39

5-1. Funciones de Pertenencia para el error en X . . . . . . . . . . . . . . . . . . 56

5-2. Funciones de Pertenencia para la variacion del error en X . . . . . . . . . . 57

5-3. Salida del Controlador en X . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

5-4. Funciones de Pertenencia para el error en Y . . . . . . . . . . . . . . . . . . 57

Page 14: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

xiv LISTA DE FIGURAS

5-5. Funciones de Pertenencia para la variacion del error en Y . . . . . . . . . . 57

5-6. Salida del Controlador en Y . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

5-7. Regulador de Estados Implementado en Matlab . . . . . . . . . . . . . . . . . 71

5-8. Vector de Regulacion de Estados Implementado en Matlab . . . . . . . . . . 72

5-9. Implementacion del regulador . . . . . . . . . . . . . . . . . . . . . . . . . . 89

5-10.Implementacion del regulador K . . . . . . . . . . . . . . . . . . . . . . . . . 89

5-11.Implementacion del regulador K ampliada . . . . . . . . . . . . . . . . . . . 90

6-1. Medicion del Sistema en el eje X . . . . . . . . . . . . . . . . . . . . . . . . 91

6-2. Medicion del Sistema en el eje Y . . . . . . . . . . . . . . . . . . . . . . . . 92

6-3. Esquema de Simulacion por el Controlador por Regulacion . . . . . . . . . . 93

6-4. Resultado Simulacion del Regulador . . . . . . . . . . . . . . . . . . . . . . . 94

6-5. Esquema de Simulacion por el Controlador por Seguimiento . . . . . . . . . 94

6-6. Resultado Simulacion del Seguidor . . . . . . . . . . . . . . . . . . . . . . . 95

6-7. Resultado Implementacion del Regulador en el eje X . . . . . . . . . . . . . 96

6-8. Resultado Implementacion del Regulador en el eje Y . . . . . . . . . . . . . 96

6-9. Resultado Implementacion del Seguidor en el eje X . . . . . . . . . . . . . . 97

6-10.Resultado Implementacion del Seguidor en el eje Y . . . . . . . . . . . . . . 97

6-11.Comparacion Respuesta Real Vs Estimada eje X . . . . . . . . . . . . . . . . 98

6-12.Comparacion Respuesta Real Vs Estimada eje Y . . . . . . . . . . . . . . . . 99

6-13.Respuesta del Sistema Real en el Eje X . . . . . . . . . . . . . . . . . . . . . 100

6-14.Respuesta del Sistema Real en el Eje Y . . . . . . . . . . . . . . . . . . . . . 100

6-15.Respuesta del Sistema Real en el Eje X . . . . . . . . . . . . . . . . . . . . . 101

6-16.Respuesta del Sistema Real en el Eje Y . . . . . . . . . . . . . . . . . . . . . 101

6-17.Grafico de Superficie Resultante . . . . . . . . . . . . . . . . . . . . . . . . . 102

6-18.Grafico Colores Reglas en el eje X . . . . . . . . . . . . . . . . . . . . . . . 102

6-19.Grafico Colores Reglas en el eje Y . . . . . . . . . . . . . . . . . . . . . . . 102

Page 15: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

Lista de Tablas

5-1. Rangos del Error y Descripcion linguıstica Asociada. . . . . . . . . . . . . . 54

5-2. Valor Linguıstico del Error. . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

5-3. Valor Linguıstico Derivada del Error. . . . . . . . . . . . . . . . . . . . . . . 55

5-4. Descripcion Linguıstica X y Rangos de Salida. . . . . . . . . . . . . . . . . . 55

5-5. Tabulacion Salida X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

5-6. Tabulacion Salida Y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

6-1. Costos de implementacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

Page 16: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano
Page 17: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

Introduccion

En ingenierıa se tiene la posibilidad de encontrar una gran variedad de plantas y sistemas a

partir de los cuales se puede analizar, desarrollar y construir distintos modelos matematicos

y fısicos. Con base en estos se pueden realizar distintas aplicaciones, en una gran variedad

de campos. Uno de estos campos es el que tiene que ver con el diseno de sistemas de con-

trol y automatizacion, donde lo que se busca es obtener una respuesta final deseada, tras la

aplicacion de alguna tecnica o estrategia disenada para cumplir dicho objetivo.

Es por esta razon que surgen las siguientes preguntas ¿Cual es la diferencia entre el com-

portamiento fısico del prototipo de sistema de balanceo de una bola sobre un plano y los

resultados obtenidos en la simulacion del modelo matematico encontrado? ¿Cuales son las

diferencias en la aplicacion de dos tecnicas de control a esta planta? ¿Que posibilidades

academicas ofrece el desarrollo de un sistema no lineal?

Es por esto que a lo largo de este documento lo que se buscara dar respuesta a las preguntas

anteriormente formuladas, mediante la explicacion del proceso realizado para la construccion

un sistema de balanceo de una bola sobre un plano cuyo sistema de sensado se basa en una

camara web.

En el capıtulo uno se realiza el planteamiento del problema y los objetivos de este documento.

En el segundo capıtulo se explican los pasos que se siguieron para llegar al construccion fısica

resultante. En el tercer capıtulo se realizo el planteamiento de las ecuaciones del sistema por

dos metodos distintos. En el cuarto se explica a grandes rasgos como se realizo la integracion

entre Matlab, la camara web y los actuadores. En el quinto se explica el diseno de los

controladores. En el sexto capıtulo se muestran los resultados obtenidos en la simulacion y

en la implementacion de los controladores. Por ultimo se presentan algunas conclusiones y

trabajos futuros relacionados con la implementacion del sistema.

Page 18: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano
Page 19: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

Capıtulo 1

Generalidades

1.1. Planteamiento del problema

En ingenierıa electronica se tiene la posibilidad de encontrar una gran variedad de plantas

y sistemas a partir de los cuales se puede analizar, desarrollar y construir distintos modelos

matematicos y fısicos. Con base en estos, se pueden realizar distintas aplicaciones en una

gran variedad de campos. Uno de estos campos es el que tiene que ver con el diseno de

sistemas de control y automatizacion, donde lo que se busca es obtener una respuesta final

deseada, tras la implementacion de alguna tecnica o estrategia disenada para cumplir dicho

objetivo. Una planta que ofrece la posibilidad de aplicar estas estrategias es un sistema de

balanceo de una bola en un plano, el cual permite estudiar distintos comportamientos en el

mismo.

Por esta razon, se desea encontrar respuesta a las siguientes preguntas ¿Cual es la diferencia

entre el comportamiento fısico del prototipo de sistema de balanceo de una bola sobre un

plano y los resultados obtenidos en la simulacion de un modelo matematico encontrado?

¿Cuales son las diferencias en la implementacion de un controlador difuso y controlador por

regulacion de estados a esta planta? ¿Que posibilidades academicas ofrece el desarrollo de

este sistema?

1.2. Objetivos

1.2.1. Objetivo general

Disenar e implementar un sistema fısico de balanceo de una bola sobre un plano, utilizando

una camara web como sensor.

1.2.2. Objetivos especıficos

1.2.1 Disenar y realizar la construccion fısica del sistema propuesto.

Page 20: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

6 1 Generalidades

1.2.2 Obtener un modelo analıtico del sistema de balanceo de una bola sobre un plano.

1.2.3. Realizar un procesamiento digital de la imagen obtenida mediante una camara web

para determinar la posicion de la bola en el plano.

1.2.4. Obtener una estimacion de los parametros del modelo analıtico de la planta.

1.2.5. Disenar e implementar un controlador difuso y controlador por regulacion de estados

para estabilizar la bola en el plano.

1.2.6. Comparar los comportamientos teorico y real del sistema, ası como los comportamien-

tos con cada estrategia de control.

1.3. Aportes y Reconocimientos

Prototipos. Se implemento un sistema de balanceo de una bola sobre un plano el

cual emplea una camara web como sensor, este sistema permite probar dos tecnicas

de control, las cuales estan implementadas por medio de una interfaz en Matlab. Es

importante aclarar que la tecnica de control que se emplea durante la simulacion es

seleccionada por pantalla.

Software. Se implemento una interfaz grafica en Matlab que permite configurar los

perifericos tales como: la camara y el microcontrolador.Tambien, visualizar la posicion

de la bola en el plano y elegir un controlador.

Page 21: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

Capıtulo 2

Diseno y Construccion

2.1. Diseno Sistema

Durante esta etapa, se plantearon distintos mecanismos para generar el movimiento del plano

en dos dimensiones, de los cuales se seleccionaron tres mecanismos los cuales se implemen-

taron total o parcialmente.

Si bien los tres sistemas seleccionados tienen el mismo objetivo, cada uno de estos posee

particularidades intrınsecas al mecanismo motriz. A continuacion, se explicaran los meca-

nismos seleccionados, las caracterısticas de los mecanismos, el proceso realizado durante la

simulacion y/o implementacion, la razon por la cual fue seleccionado o no, y las ventajas y

desventajas de esta cada uno de los mecanismos.

2.2. Sistema Impulsado por Vigas Radiales

2.2.1. Mecanismo

Este sistema consiste en un plano orientado por un sistema de guıas. Esto da como resultado

que el sistema planteado tenga 4 puntos de contacto distribuidos de la siguiente manera: un

punto semifijo ubicado en una de las diagonales del plano, en el otro extremo de esa diagonal,

una guıa que se encarga de que el plano no rote al inclinarse, y dos puntos moviles ubicados

en medio de los ejes x, y, donde se acoplan los actuadores del sistema. En la Figura 2-1, se

puede apreciar el plano con la respectiva distribucion.

En este sistema se disenaron e implementaron una a una las piezas del mismo; el plano fue la

primera pieza en ser disenada y se muestra en la Figura 2-1, luego se ideo la forma en como

se debıa sostener el plano en una posicion semifija, para tal fin se construyo un sistema de

guıas en una de las diagonales del plano. Por ultimo, se diseno el acople entre los actuadores

y el plano, en la Figura 2-2 se puede apreciar el diseno planteado para cada una de las partes

mencionadas anteriormente.

Page 22: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

8 2 Diseno y Construccion

Figura 2-1: Plano y Distribucion de Guias

Figura 2-2: Sistema de Guıas

Ası mismo, para este primer sistema, la mecanica planteada fue un sistema de vigas y discos

que conjuntamente se encargan de inclinar el plano. El funcionamiento viene dado por la

interaccion entre el disco, el plano y la viga, ya que la viga esta sujeta al plano en la parte

Page 23: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

2.2 Sistema Impulsado por Vigas Radiales 9

superior y en la parte inferior esta sujeta al disco. Es importante aclarar que en este caso

la viga no es rıgida, si no que en cierto punto esta posee una articulacion con el objetivo de

facilitar el movimiento en la Figura 2-2, se puede apreciar el acople entre el plano y la viga.

Por otro lado, en la Figura 2-4, se puede apreciar tanto el disco como la viga. Por ultimo,

es importante mencionar que para este montaje se seleccionaron motores DC para mover el

sistema.

Figura 2-3: Montaje Simulado de Mecanica Disco-Viga

2.2.2. Ventajas y Desventajas

La ventaja de este sistema radica en que posee un posicion inicial fija dada por la

ubicacion de las guıas.

Si bien el sistema de guıas representa una ventaja, tambien es una desventaja puesto

que el numero de interacciones o uniones entre el plano y los demas elementos (guıas,

acoples,...)es mayor que en los otros sistemas, lo cual aumenta el nivel de dificultad

a la hora de implementar el sistema, ya que cada punto debe estar posicionado mi-

limetricamente para que no se presenten interferencias o bloqueos entre elementos.

Otra de las desventajas radica en los acoples entre las vigas y el plano. Como se aprecio

en la Figura 2-2, no son uniones fijas, al contrario son uniones libres las cuales a su vez

generan que la viga se movieran en cualquier direccion, estos movimientos, producen

efectos no deseados sobre el sistema tales como, bloqueos, efectos de palanca entre el

disco y la viga, y entre el plano y la viga, entre otros. Debido a esto este mecanismo

se descarto.

Page 24: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

10 2 Diseno y Construccion

2.3. Sistema Impulsado por Pinones

2.3.1. Mecanismo

Para este sistema se implemento un mecanismo de tres puntos de apoyo, mediante el cual se

realiza el movimiento en tres dimensiones del plano, de estos tres puntos el punto central es

un punto fijo el cual actua como pivote, mientras que los dos restantes son puntos moviles

los cuales interactuan con el sistema de actuadores, en la Figura 2-8 se puede apreciar la

disposicion de los tres puntos en plano.

Figura 2-4: Plano de 3 ejes

La principal caracterıstica de este sistema es el mecanismo para inclinar en una u otra

direccion el plano, el cual esta compuesto por un juego de pinones a 90, un tonillo sinfın y

un motor DC para cada punto movil. El funcionamiento de este prototipo se basa en que a

medida que el motor gira este induce el movimiento de los pinones (ver Figura 2-5 ) y al

mismo tiempo esto provoca el movimiento del tornillo sinfın, el cual se encuentra ubicado en

el centro del pinon a 90, dando como resultado el desplazamiento del tornillo hacia arriba o

abajo (ver Figura 2-6), lo que provoca la inclinacion del plano con respecto a punto fijo.

2.3.2. Ventajas y Desventajas

La principal ventaja de este mecanismo, es el alto grado de precision con le que se puede

posicionar el plano, ya que la inclinacion de este viene dada en funcion del numero de

pasos que avanza o retrocede el tornillo.

Page 25: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

2.3 Sistema Impulsado por Pinones 11

Figura 2-5: Movimiento Pinones

Figura 2-6: Interaccion Pinones - Tornillo Sinfın

Por otra parte la principal desventaja de este sistema es la construccion del mecanismo,

ya que tanto los pinones como las piezas necesarias para sostener estos son demasiado

complejas y costosas.

Otra desventaja de este sistema el alto numero de piezas que se deben mover para

Page 26: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

12 2 Diseno y Construccion

generar la inclinacion del plano, lo cual incrementa la dificultad del movimiento.Por

estas razones este sistema se descarto.

2.4. Sistema Rotulado(Implementacion Fısica)

2.4.1. Mecanismo

En el tercer sistema, se cambiaron los actuadores, ya que se paso de motores DC a servo-

motores, los cuales se acoplan con unas barras que cumplen la misma funcion que las vigas

del primer sistema, pero sin la articulacion, ası mismo se rediseno el sistema de acople entre

las vigas y el plano, ya que se paso de un sistema de movimiento libre (acoples del primer

sistema) a un sistema rotular de movimiento restringido, el cual se puede apreciar en la

Figura 2-7.

Tapa Rotula

Base Rotula

Pivote

Figura 2-7: Sistema de Acople Plano Tornillos

Estos acoples ademas de ser mas sencillos, tambien cuentan con una union fija al plano, lo

que elimina efectos no deseados en el sistema como rotaciones y bloqueos presentes en los

dos anteriores sistemas.

Page 27: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

2.4 Sistema Rotulado(Implementacion Fısica) 13

Este sistema se simulo por computador. En la Figura 2-8, se puede apreciar el resultado

final de la simulacion realizada. Sin embargo, en esta simulacion los motores son la unica

parte que no se recreo acorde a la realidad, ya que en esta simulacion estos emulan mas a un

motor DC que a un servomotor. A continuacion, se explicaran uno a uno los componentes

del sistema y su funcion a causa de que este es el sistema que se implemento en fısico. La

primer pieza que se diseno fue el pivote puesto que es el punto fijo del sistema y al mismo

tiempo sobre este va a descansar la mayor parte el peso del sistema.

Figura 2-8: Montaje Sistema Simulacion

Figura 2-9: Pivote

Este pivote en fısico se implemento mediante una esfera de 19mm de diametro y un torni-

llo de 25cm de longitud al cual fue soldado, a su vez dentro de la estructura del sistema.

Page 28: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

14 2 Diseno y Construccion

Ademas, existen dos pivotes mas los cuales se emplean para transmitir el movimiento entre

los motores y el plano. Es importante aclarar, que estos dos pivotes adicionales no funcionan

como tal ya que no son fijos sino que se desplazan a medida que los motores se mueven.

Estos fueron construidos con esferas de 20mm y barrajes de aeromodelismo, lo cuales se

consiguieron en conjunto con los servomotores y sus accesorios.

Dentro de este mecanismo, es importante aclarar que si bien los pivotes son la base tanto del

sostenimiento del sistema a una posicion deseada, estos no servirıan sin el sistema de rotulas.

Este sistema al igual que los pivotes se heredo del sistema de pinones y la explicacion y el

funcionamiento de estos se encuentra en las seccion 2.3. Sin embargo, en esta seccion se va

a tratar un poco mas en detalle con cada una de las piezas con las cuales se formo la rotula

de cada una de los acoples. Las rotulas estan compuestas por dos piezas, como se pueden

apreciar en las Figuras 2-10 y 2-11 y como se explico en la seccion 2.3. Estas encierran al

pivote mostrado en la Figura 2-9.

Figura 2-10: Parte Superior Rotula

Figura 2-11: Parte Inferior Rotula

Page 29: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

2.4 Sistema Rotulado(Implementacion Fısica) 15

Para completar el sistema, se emplearon dos motores FUTABA3005 de aeromodelismo y

se diseno una base para estos como se puede apreciar en la Figura 2-12 y un plano de

35cmx35cm.

Figura 2-12: Motor Futaba3005 y Base

Para la implementacion fısica, las rotulas, y las bases de los motores se fabricaron en una im-

presora 3D, los pivotes se fabricaron mediante barrajes de aeromodelismo soldados a esferas

de aluminio de 19mm de diametro. El plano se construyo con dos acrılicos de 35cmx35cmx2

, el acople entre los motores y los pivotes se realizo con piezas de aeromodelismo. Finalmente,

dado que el sensor del sistema es una camara web, se eligio una camara web Logitech de

4megapixeles.En las Figuras 2-13 y 2-14 se puede apreciar el resultado de la implementacion:

Figura 2-13: Sistema Real

2.4.2. Ventajas y Desventajas

La principal ventaja de este sistema, es que al realizar el montaje y la interaccion entre

las distintas piezas es bastante fluida. Con respecto al sistema de pinones, el costo

Page 30: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

16 2 Diseno y Construccion

Figura 2-14: Sistema Real

de construccion con su correspondiente implementacion y consecucion de las piezas

necesarias es bastante inferior.

• La principal desventaja de este sistema radica en la construccion de las piezas

ya que si el tamano de los componentes de la rotula no es el correcto, esta no

actuarıa correctamente de modo que imposibilitarıa el correcto funcionamiento.

• Otra de las desventajas de este sistema, es que si no se tiene la posibilidad de

mandar a hacer las piezas necesarias para el montaje, debido a su difıcil adquisi-

cion en el mercado ya que las rotulas son piezas disenadas exclusivamente para el

sistema.

Page 31: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

Capıtulo 3

Modelo Analıtico

3.1. Modelo de referencia y Condiciones Iniciales

Si bien dentro de la academia el problema del plano inclinado y la bola es comunmente

tratado en cursos de fısica Newtoniana, no es comun ver estudios de este mismo problema

llevado a un sistema tridimensional ya que generalmente este tipo de problemas resultan no

tener soluciones simples. Por el contrario, resultan en soluciones complejas o sin solucion. Sin

embargo, a lo largo este capıtulo se tratara de realizar el planteamiento del clasico problema

del plano inclinado y la bola, pero en esta ocasion el analisis se realizara para un sistema de

plano inclinado y bola tridimensional. Para poder realizar este analisis se establecieron las

siguientes condiciones:

1. El plano inclinado tendra 2 grados de libertad, lo cual a su vez se traduce en que pueden

existir inclinaciones del plano tanto en el eje x como en el eje y(estos desplazamientos

se mediran con respecto al eje de referencia), [2].

2. Las rotaciones del plano cumpliran con la condicion sin β ≈ β, es decir que las rota-

ciones del plano seran en angulos pequenos entre 0 y 5 grados aproximadamente, [2].

3. La bola no se deslizara sobre la superficie del plano, [2].

Con esta condiciones dadas, simplemente resta plantear el sistema de referencia, el cual se

puede apreciar en la Figura 3-1, la cual a su vez posee las siguientes notaciones; el punto o′

sera el punto de referencia (0, 0) del sistema y esta ubicado en el centro del plano, x,y,z son

los ejes coordenados sobre los cuales se realizara el analisis del sistema, βx sera el angulo de

rotacion asociado al eje x y βy sera el angulo de rotacion asociado al eje y, [4].

Con el sistema de referencia y su notacion claramente establecidos, es posible iniciar con el

analisis formal del sistema. Para esto, se iniciara por estudiar la dinamica de la bola sobre

el plano, y una vez se complete esta parte, se incluira la dinamica del plano en el modelo.

Page 32: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

18 3 Modelo Analıtico

βx

βy

Eje z

Plano

Figura 3-1: Sistema de Referencia

3.2. Analisis Fısico de la Bola

Para el analisis de la bola sobre el plano, se deben tener en cuenta dos estados, el estado

de reposo, que es aquel que se presenta cuando el plano no tiene ninguna inclinacion, y un

estado inercial, que es aquel que se presenta cuando el plano se inclina, bien sea un angulo

(βx, βy o alguna combinacion de estas dos).

3.3. Estado de Reposo

Si bien habran momentos en que se presente el estado de reposo, este no resulta interesante a

la hora de describir el comportamiento del sistema porque en este estado, solamente actuan

el peso y la fuerza de sustentacion (Fuerza normal). Como se puede apreciar en la Figura

3-2, mas aun, este estado no genera movimiento de la bola que es lo que se desea controlar.

De igual forma, en la Figura 3-2 es posible ver como la bola se encuentra en estado de

reposo mientras no se aplique ninguna fuerza externa sobre el plano, con lo cual la bola se

mantendra en equilibrio energetico, de la siguiente manera:

~W + ~N = m~a

Sin embargo puesto que la bola se encuentra en reposo, aceleracion es igual a cero, con lo

cual se tiene que:

W = mg y N = −W = −mg.

Page 33: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

3.4 Traslacion de la bola 19

Planomg

CM

Figura 3-2: Sistema en estado de reposo

3.4. Traslacion de la bola

3.4.1. Planos de Referencia

Antes de iniciar el estudio del comportamiento del sistema a nivel fısico, es importante acla-

rar la definicion de los angulos βx, βy y Θ ya que a lo largo de este documento estos angulos

seran empleados para el desarrollo del modelo. Suponiendo que un momento dado el plano

se inclina un angulo α sobre el eje x, entonces, en ese momento el plano posee un inclinacion

α con respecto al sistema fijo de referencia, y dado que la normal del plano es perpendicular

al plano esta tambien se inclina un angulo α con respecto al sistema fijo; este angulo α que

se inclino el plano de ahora en adelante sera llamado βx, ası mismo, si el plano en vez de

inclinarse un angulo α en x se inclinase un angulo τ en el eje y, el angulo que se inclina

el plano en el eje coordenado yz sera el angulo que de ahora en adelante se llamara βy, de

momento se nombro de manera individual los angulos producidos al inclinarse el plano en x

o y. Sin embargo, en el caso de que la inclinacion del plano sea producto de una inclinacion

tanto en βx como en βy, el nombre dado al angulo de inclinacion del plano sera llamado Θ.

Si bien βx y βy se pueden determinar directamente, dado que son la inclinacion en un eje del

plano, en el caso de Θ no es ası, ya que este corresponde a la inclinacion del plano cuando

βx y βy aparecen de manera simultanea en el plano, por lo tanto se puede decir que Θ es

funcion de βx y βy. Para hallar Θ supongamos que en un instante de tiempo t el plano se

inclina un angulo βx(Ver el recuadro 1 de la Figura 3-3), y posteriormente se inclina un

angulo βy(Ver el recuadro 2 de la Figura 3-3), si se analiza los recuadros 1 y 2 se puede ver

Page 34: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

20 3 Modelo Analıtico

que la normal del plano ( ~Np), se desplaza desde el punto A al punto B cuando esta gira en

βx y ası mismo cuando el plano gira en βy, la normal del plano ( ~Np) se desplaza desde B a C,

entonces si se desea calcular Θ en funcion del desplazamiento de la normal del plano ( ~Np),

se puede decir que la distancia total recorrida de la normal corresponde a la hipotenusa del

triangulo formado por los puntos (A,B,C), con lo cual se tiene que:

CA =

√AB

2+ BC

2(3-1)

o’

A

B

C

Eje x

Eje y

Eje z

βxβy

1 2

3

o’

A

C

N

Np

Plano xz Plano yz

o’

A

B

βx NNp

Eje x

Eje z

PLANOβx

C

o’

B

NNp

Eje y

Eje z

PLANO

βy

βy

Movimiento Resultante

Figura 3-3: Rotacion del plano

Ası mismo CA,AB,BC se pueden escribir en funcion de los angulos βx, βy y Θ de la siguiente

manera:

AB =∣∣∣ ~Np

∣∣∣ sin(βx)

BC =∣∣∣ ~Np

∣∣∣ sin(βy)

CA =∣∣∣ ~Np

∣∣∣ sin(Θ)

Reemplazando en (3-1), se obtiene que:

sin(Θ) =√sin(βx)2 + sin(βy)2

Page 35: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

3.4 Traslacion de la bola 21

Por ultimo, dado que como se menciono al inicio del documento el analisis se realizara sobre

angulos pequenos y la ecuacion final es:

Θ =√β2x + β2

y (3-2)

De esta forma βx, βy y Θ, quedan totalmente determinados.

3.4.2. Analisis Traslacional de la Bola

Con lo anterior en mente, se iniciara el analisis a partir del modelo en una dimension y a

medida que las ecuaciones vayan apareciendo se iran extrapolando a las 3 dimensiones. De

esta manera, se partira por el planteamiento clasico del plano inclinado y la bola con base

en la Figura 3-4. Ası mismo, en esta primera parte no se incluira la rotacion de la esfera, ya

que este analisis se llevara a cabo en la siguiente seccion de este capitulo.

o’βy

βy

f

Figura 3-4: Analisis de Fuerzas para la bola en el eje x

Para el analisis se asumira que la bola estara ubicada en punto p del plano, y ası mismo este

se encuentra inclinado en un angulo βx o βy o Θ dependiendo la situacion y el planteamiento

realizado. Dicho esto, se procede a plantear la ecuacion de equilibrio energetico teniendo ası:

mb~g + ~N + ~f = mb~a (3-3)

Dado que se realizara el analisis a nivel vectorial, se tomara uno a uno los terminos de la

ecuacion (3-3) se expresaran en terminos de magnitud y direccion. Dicho esto, para la fuerza

de friccion se obtiene que:

~f = f

(−~v|v|

)= f(−v) = −f ~v

|~v|(3-4)

Page 36: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

22 3 Modelo Analıtico

Para la fuerza normal de la bola, esta se expresara como ~N = Nn, donde n es la direccion

de la normal con respecto al plano inclinado, ası mismo, el peso de bola se expresara como

~g = gg, donde g es la direccion de la gravedad, es decir, −k y g es la magnitud de la grave-

dad.

Finalmente, para dejar todo en terminos de la velocidad de la bola, se reemplaza la acelera-

cion (~a) en terminos de la velocidad (~v).

~a =d~v

dt

Con lo cual, si se realizan los respectivos reemplazos en (3-3), esta se puede expresar como:

−f ~v|~v|

+Nn+mbgg = mbd~v

dt(3-5)

(3-5) determina el movimiento de traslacion de la bola. Sin embargo, en esta ecuacion no se

esta contemplando el hecho de que la bola esta rotando con respecto al centro de masa a me-

dida que esta avanza sobre el plano, por lo cual a continuacion se calculara el comportamiento

de la bola al rotar, y al finalizar este analisis se ligaran ambos movimientos.

3.4.3. Analisis Rotacional de la Bola

Puesto que la dinamica de la bola no se limita a trasladarse de un punto a otro sin rotar, esta

dinamica se debe incluir en el planteamiento del modelo. Para realizar este planteamiento

se inicia con el analisis de los torques que actuan sobre la bola. Para realizar este calculo,

se tomara como base la Figura 3-5, ya que en esta se pueden observar los distintos radios

existentes entre el punto fijo del sistema o eje de referencia (o′) y la posicion, en un instante

particular, de la bola sobre el plano.

El torque esta dado por la expresion ~T = ~r × ~F . Por consiguiente, se procedera a calcular

los torques para cada una de las fuerzas que actuan sobre el sistema, [8]. En este caso, el

radio del centro de masa sera el mismo que el radio de la gravedad, con lo cual el torque de

la gravedad se puede expresar como:

~Tg = ~rCM ×m~g

Sin embargo, el radio del centro de masa se puede descomponer como el radio de la normal

mas el radio de la bola con lo cual se transforma en:

~Tg = (~rN +Rr)×m~g. (3-6)

Page 37: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

3.4 Traslacion de la bola 23

o’βy

βy

R

rn rf, rCM

mg

Figura 3-5: Torques de Sistema

Para la fuerza normal se tiene:

~TN = ~rN × ~N. (3-7)

Por ultimo, para la fuerza de friccion se tiene que va a estar dada por:

~Tf = ~rf × ~f. (3-8)

Puesto que ~f se hallo en la ecuacion 3-4 haciendo el reemplazo en 3-8 se obtiene:

~Tf = ~rf ×−f~v

|~v|.

~Tf =−f|~v|

(~rf × ~v).

Por ultimo dado que el radio de la normal y el radio de la friccion es el mismo, se obtiene:

~Tf =−f|~v|

(~rN × ~v). (3-9)

Ahora si sumamos los torques obtenidos en cada una de las ecuaciones obtenemos:

~T = ~rN × ~N +

(~−f|~v|

)~rN × ~v + (~rN +Rr)×m~g. (3-10)

Page 38: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

24 3 Modelo Analıtico

Ahora, a causa de que el torque es equivalente a la inercia por la velocidad angular, tenemos

lo siguiente:

Id~w

dt= ~rN × ~N +

(~−f|~v|

)~rN × ~v + (~rN +Rr)×m~g. (3-11)

En este punto, se debe realizar el calculo de los torques. Para esto, se realiza el calculo del

valor de los radios, y particularmente el radio del punto de referencia al punto de contacto

P de la bola, [8], debido a que los demas radios se pueden expresar en funcion de este. Para

esto, se tomara como punto de partida la Figura 3-6.

o’βy

βy

R

rN

rCM

mg

P

Figura 3-6: Analisis del Radio de la Normal

Dado que P es un punto en un espacio tridimensional, este tendra componentes en r, θ y φ,

como se puede apreciar en la Figura 3-7. Si se hace el analisis vectorial del P punto en el

espacio, tendremos:

~r = r sin θ cos φi + r sin θ sinφj + r cos θk. (3-12)

De igual forma, la direccion normal viene dada por la expresion:

n = sin Θ = sin θ cos φi + sin θ sin φj + cos θk. (3-13)

En este caso θ y φ son los valores de los angulos en θ y φ para la normal del plano. Con

la ecuacion 3-12, se puede iniciar el reemplazo en cada una de las ecuaciones de torques.

Iniciamos con la ecuacion de torque para la gravedad:

Page 39: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

3.4 Traslacion de la bola 25

r

P

φ θ

Eje x

Eje z

n

Figura 3-7: Analisis Espacial de P

~Tg = ~rN ×mgg +Rn×mgg.

Planteando el primer producto cruz, se tiene:

~rN ×mgg =

∣∣∣∣∣∣∣i j k

r sin θ cosφ r sin θ sinφ r cos θ

0 0 mg

∣∣∣∣∣∣∣~rN ×mgg = rmg sin θ sin φi−mgr sin θ cosφj

~rN ×mgg = rmg(sin θ sin φi− sin θ cosφj)

Para el segundo producto cruz se tiene:

Rn×mgg =

∣∣∣∣∣∣∣i j k

R sin θ cos φ R sin θ sin φ R cos θ

0 0 mg

∣∣∣∣∣∣∣Rn×mgg = mgR sin θ sin φi−mgR sin θ cos φj

Rn×mgg = mgR(sin θ sin φi−mgR sin θ cos φj)

Con lo cual se obtiene finalmente el valor de torque de la gravedad ( ~Tg),

~Tg = rmg(sin θ sin φi− sin θ cosφj) +mgR(sin θ sin φi−mgR sin θ cos φj) (3-14)

Page 40: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

26 3 Modelo Analıtico

Ahora pasamos al torque de la normal,

~TN = ~r × ~N = (~r × n)N

~r × n =

∣∣∣∣∣∣∣i j k

r sin θcosφ r sin θ sinφ r cos θ

sin θ cos φ sin θ sin φ cos θ

∣∣∣∣∣∣∣~r × n = r sin θ sinφ cos θi + r cos θ sin θ cos φj + r sin θcosφ sin θ sin φk · · ·· · · − r cos θ sin θ sin φi− r sin θcosφ cos θj− r sin θ sinφ sin θ cos φk.

Finalmente el torque de la normal obtenido es:

~TN = N(r sin θ sinφ cos θi + r cos θ sin θ cos φj + r sin θcosφ sin θ sin φk · · ·· · · − r cos θ sin θ sin φi− r sin θcosφ cos θj− r sin θ sinφ sin θ cos φk).

(3-15)

Por ultimo, se procede a calcular el torque de la friccion(Tf ) con base en la ecuacion 3-9. Sin

embargo, antes de poder realizar el producto cruz de ~rN × ~v, es necesario realizar el calculo

de la velocidad, por lo cual tenemos:

~v =d

dt(~rCM) =

d

dt(~r + ~R) =

d

dt(~r +Rn) =

d

dt(~r) +

d

dt(Rn). (3-16)

Ahora, se procede a realizar las distintas derivadas:

d

dt(~r) =

d

dt(r sin θ cos φi + r sin θ sinφj + r cos θk).

ddt

(~r) = (r sin θ cosφ+ r cos θθ cosφ+ r sin θ(− sinφ)φ)i · · ·· · ·+ (r sin θ sinφ+ r cos θθ sinφ+ r sin θ(− cosφφ))j · · ·

· · ·+ (r cos θ + r(− sin θθ))k

d

dt(n) =

d

dt(sin θ cos φi + sin θ sin φj + cos θk)

ddt

(n) = (cos θ˙θ cos φ+ sin θ(− sin φ

˙φ))i · · ·

· · · (cos θ˙θ sin φ+ sin θ cos φ

˙φ)j− sin θk

~v = (r sin θ cosφ+ r cos θθ cosφ+ r sin θ(− sinφ)φ)i · · ·· · ·+ (r sin θ sinφ+ r cos θθ sinφ+ r sin θ(− cosφφ))j · · ·

· · ·+ (r cos θ + r(− sin θθ))k + (cos θ˙θ cos φ+ sin θ(− sin φ

˙φ))i · · ·

· · · (cos θ˙θ sin φ+ sin θ cos φ

˙φ)j− sin θk

(3-17)

En la ecuacion 3-17 se encontro la velocidad con lo cual se puede proceder a realizar el

producto cruz de la ecuacion 3-9.

~rN × ~v =

Page 41: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

3.4 Traslacion de la bola 27

∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣

i j k

· · · · · · · · ·r sin θcosφ r sin θ sinφ r cos θ

· · · · · · · · ·r sin θ cosφ+ r cos θθ cosφ · · · r sin θ sinφ+ r cos θθ sinφ · · · r cos θ · · ·

· · · − r sin θ sinφφ+ cos θ˙θ cos φ · · · · · · − r sin θ cosφφ+ cos θ

˙θ sin φ · · · · · · − r sin θθ · · ·

· · · − sin θ sin φ˙φ · · ·+ sin θ cos φ

˙φ · · · − sin θ

∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣~rN × ~v = (r sin θ sinφ)(r cos θ − r sin θθ − sin θ)i + (r cos θ)(r sin θ cosφ+ r cos θθ cosφ · · ·

· · · − r sin θ sinφφ+ cos θ˙θ cos φ− sin θ sin φ

˙φ)j + (r sin θcosφ)(r sin θ sinφ+ · · ·

· · ·+ r cos θθ sinφ− r sin θ cosφφ+ cos θ˙θ sin φ+ sin θ cos φ

˙φ)k− (r cos θ)(r sin θ sinφ+ · · ·

· · ·+ r cos θθ sinφ− r sin θ cosφφ+ cos θ˙θ sin φ+ sin θ cos φ

˙φ)i− (r sin θcosφ)(r cos θ − · · ·

· · · − r sin θθ − sin θ)j− (r sin θ sinφ)(r sin θ cosφ+ r cos θθ cosφ− r sin θ sinφφ+ · · ·· · ·+ cos θ

˙θ cos φ− sin θ sin φ

˙φ)k.

Tras desarrollar los productos y simplificar los terminos comunes se obtiene:

~rN × ~v = (r2 sin θ cos θ cosφφ− r2θ sinφ− r sin θ sinφ sin θ − r cos θ cos θ˙θ sin φ− · · ·

· · · − rcosθ sin θ cos φ˙φ)i + (r cos θ cos θ

˙θ sin φ+ r2θ sinφ+ r sin θ cosφ sin θ − · · ·

· · · − r2 sin θ cos θ sinφφ− r cos θ sin θ sin φ˙φ)j + (2r2(sin θ)2(sinφ)2φ− r2φ(sin θ)2 + · · ·

· · ·+ r sin θ cosφ sin θ cos φ˙φ+ r sin θ cosφ sin θ sin φ

˙φ)k.

(3-18)

Por ultimo, para obtener el valor del torque de la friccion, resta multiplicar la ecuacion

obtenida en 3-18 por −f|~v| ,donde |~v| es la magnitud de la velocidad.

~Tf = −f|~v| ((r

2 sin θ cos θ cosφφ− r2θ sinφ− r sin θ sinφ sin θ − r cos θ cos θ˙θ sin φ− · · ·

· · · − rcosθ sin θ cos φ˙φ)i + (r cos θ cos θ

˙θ sin φ+ r2θ sinφ+ r sin θ cosφ sin θ − · · ·

· · · − r2 sin θ cos θ sinφφ− r cos θ sin θ sin φ˙φ)j + (2r2(sin θ)2(sinφ)2φ− r2φ(sin θ)2 + · · ·

· · ·+ r sin θ cosφ sin θ cos φ˙φ+ r sin θ cosφ sin θ sin φ

˙φ)k).

(3-19)

3.4.4. Relacion entre Rotacion y traslacion de la Bola

En este punto del analisis, las ecuaciones de rotacion y de traslacion de la bola estan total-

mente determinadas. Por lo tanto, se debe relacionar los dos movimientos entre si y al mismo

tiempo las variables que poseen relacion entre si. Para relacionar los dos movimientos, se par-

te de la Figura 3-8. En esta se pueden apreciar las dos velocidades implıcitas en la Figura, la

primera, velocidad lineal, esta dada por el desplazamiento lineal de la bola, es decir, cuanto

avanza la bola en un tiempo t, dado que es una bola la distancia que recorre es proporcional

Page 42: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

28 3 Modelo Analıtico

al arco recorrido de la bola. Por otro lado, la velocidad angular esta determinada por la va-

riacion angular de la bola, en la Figura 3-8 esta variacion angular se denomino dχ, con lo cual:

Figura 3-8: Relacion Velocidad Angular - Lineal

~w =dχ

dt.

Es importante mencionar que dχ, tiene implıcita en si desplazamientos tanto en θ como en

φ, y viene dada por la expresion:

dt= R

dtdθ +R sin θ

dtφ (3-20)

donde dθ denota que este desplazamiento es en direccion de θ.

Ası mismo φ denota que este desplazamiento es en direccion de φ.

Para mayor claridad de como se obtiene esta velocidad angular, se puede tomar como refe-

rencia la Figura 3-9, donde se puede apreciar con mayor claridad estas componentes para la

rotacion de la bola.

En el caso de la velocidad lineal como ya se menciono anteriormente, esta determinada por

el cambio en la posicion de la bola, con lo cual:

~v =d~l

dt,

Page 43: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

3.5 Analisis Por Energıa y Ecuaciones de Lagrange 29

φ

ρρ’

θ

r

r’

Eje x

Eje z

P

φ dφ

ρ

ρ’

i

j

j

k

θ

dθ r

r’

xy

yz

Figura 3-9: Analisis Espacial de los Movimientos la Bola

donde d~l es desplazamiento lineal de la bola. Dado que d~l se puede expresar es proporcional

al arco recorrido la velocidad lineal se puede escribir ası:

~v =d~l

dt= ~R

dt+ ~R sin θ

dt. (3-21)

Si bien en este punto se podrıa decir que el analisis esta casi completo, ya que resta igualar

o reemplazar las ecuaciones de velocidad lineal en las de velocidad angular o viceversa, la

complejidad resultante del planteamiento de cada una de estas no permite llevar a cabo el

reemplazo de una manera sencilla. Por el contrario, se deben hacer demasiados reemplazos y

aproximaciones para tratar de realizar este proceso, lo cual puede llevar a que el modelamien-

to pierda en exactitud. Debido a esto, algunas partes de lo planteado en las dos anteriores

secciones del documento se empleara como base para plantear el sistema mediante energıas.cos(p) sin(t)+R (cos(pn) cos(tn)−sin(pn) sin(tn))+r cos(p) cos(t)−r sin(p) sin(t)√

|v|2sin(p) sin(t)+R (cos(pn) sin(tn)+cos(tn) sin(pn))+r cos(p) sin(t)+r cos(t) sin(p)√

|v|2

−R sin(tn)−cos(t)+r sin(t)√|v|2

(3-22)

3.5. Analisis Por Energıa y Ecuaciones de Lagrange

Se asumen las siguiente simplificaciones:

Page 44: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

30 3 Modelo Analıtico

la esfera no se deslizara sobre el plano

la esfera es completamente simetrica y homogenea

Todas las fricciones se asumen despreciables

La esfera y el plano estan en contacto todo el tiempo

Las ecuaciones de Euler Lagrange del sistema esfera y plano son de la forma :

d

dt

(∂L

∂qi

)− ∂L

∂qi= Qi. (3-23)

Donde L es el Lagrangiano y L = K−U , siendo K la energıa cinetica, U la energıa potencial.

Qi es la fuerza compuesta actuando en la coordenada particular y qi es cada una de las

coordenadas generalizadas utilizadas para modelar el sistema y analogas a los grados de

libertad del sistema. Lo anterior dado que la posicion de la esfera puede ser expresada en

funcion de sus coordenadas x, y en el plano y el plano solo podra tener inclinacion respecto

al eje x, (βx) y al eje y, (βy). El centro del plano es asumido como el punto (0, 0).

Teniendo en cuenta lo anterior, podemos considerar la energıa cinetica de la bola como una

combinacion de la energıa rotacional y traslacional de la misma.

Kb =1

2mbv

2b +

1

2IbΩ

2b . (3-24)

donde mb es la masa de la esfera,Ib es la inercia de la esfera, v2 es la velocidad lineal de la bola

y Ω es la velocidad rotacional de la esfera. Se define la velocidad traslacional y rotacional en

cada una de los componentes de movimiento de la esfera sobre el plano, [9]:

v2b = x2 + y2 (3-25)

Ω2 = ω2x + ω2

y. (3-26)

donde x es la velocidad lineal de la esfera en el plano x y y es la velocidad lineal de la esfera en

el plano y. Ademas, se establecen relaciones entre las velocidades rotacionales en los planos

x y y ωx y ωy respectivamente, con las velocidades lineales en cada plano. Entonces

ωx =x

r(3-27)

ωy =y

r. (3-28)

lo que implica que:

Ω2 =x2

r2+y2

r2. (3-29)

Por lo tanto, la energıa cinetica de la bola quedarıa definida como:

Page 45: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

3.5 Analisis Por Energıa y Ecuaciones de Lagrange 31

Kb = 12mb (x2 + x2) + 1

2Ibr2

(x2 + x2).

Kb =1

2

(mb +

Ibr2

)(x2 + y2

). (3-30)

la energıa cinetica del plano, considerando la bola como una masa puntual ubicada en (x, y),

consiste en la energıa rotacional del plano respecto a su centro de masa

Kp =1

2(Ip + Ib)

(β2x + β2

y

)+

1

2mb (xβx + yβy)

2 . (3-31)

donde βx es la inclinacion respecto al eje x y βy es la inclinacion respecto al eje y. Por lo que

βx y βx son las velocidades rotacionales del plano. La energıa potencial de la esfera relativa

al plano horizontal en el centro del plano (x = 0y = 0) puede ser calculada como:

Ub = mbgH = mbg (x sin βx + y sin βy) . (3-32)

Por lo que el Lagrangiano del sistema sera:

L = Kb +Kp − Ub

donde Kb viene de (3-30) Kp de (3-31) y Ub de (3-32). Entonces, el Lagrangiano dependera de

las cuatro coordenadas generalizadas x, y, βx, βy.

d

dt

(∂L

∂x

)− ∂L

∂x= 0

d

dt

(∂L

∂y

)− ∂L

∂y= 0

d

dt

(∂L

∂βx

)− ∂L

∂βx= τx

d

dt

(∂L

∂βy

)− ∂L

∂βy= τy

Page 46: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

32 3 Modelo Analıtico

Ahora se procedera a desarrollar cada una de las ecuaciones.

∂L

∂x=

(mb +

Ibr2

)x

d

dt

(∂L

∂x

)=

(mb +

Ibr2

)x

∂L

∂x= mb

(xβx + yβy

)βx −mbg sin βx

∂L

∂y=

(mb +

Ibr2

)y

d

dt

(∂L

∂y

)=

(mb +

Ibr2

)y

∂L

∂y= mb

(xβx + yβy

)βy −mbg sin βy

∂L

∂βx= (Ip + Ib) βx +mbx

2βx +mbxyβy

d

dt

(∂L

∂βx

)= (Ip + Ib) βx + 2mbxβxx+mbx

2βx +mbxyβy +mbxyβy +mbxyβy

∂L

∂βx= −mbgx cos βx

∂L

∂βy= (Ip + Ib) βy +mby

2βy +mbxyβx

d

dt

(∂L

∂βy

)= (Ip + Ib) βy + +mbxyβx+mbxyβx+mbxyβx+ 2mbyyβy +mby

2βy

∂L

∂βy= −mbgy cos βy

Ahora, se procede a reemplazar los resultados en las ecuaciones de movimiento en cada una

de las coordenadas generalizadas, [9].(mb +

Ibr2

)x−mb

(xβx + yβy

)βx +mbg sin βx = 0. (3-33)

(mb +

Ibr2

)y −mb

(xβx + yβy

)βy +mbg sin βy = 0 (3-34)

(Ip + Ib) βx + 2mbxβxx+mbx2βx+

mbxyβy +mbxyβy +mbxyβy +mbgx cos βx = τx(3-35)

(Ip + Ib) βy + +mbxyβx+mbxyβx+

mbxyβx+ 2mbyyβy +mby2βy +mbgy cos βy = τy.

(3-36)

Page 47: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

3.5 Analisis Por Energıa y Ecuaciones de Lagrange 33

Una vez se tiene las ecuaciones del movimiento, definiremos las variables de estado del

sistema.

x = x1 x = x2 βx = x3 βx = x4 u1 = τx

y = x5 y = x6 βy = x7 βy = x8 u2 = τy .

Por lo cual, se procede a escribir el modelo del sistema con sus variables de estado , tomando

la siguiente notacion para simplificar la escritura de las ecuaciones, [2].

E =mb

mb + Ib/r2bF =

mb

Ib + Ip +mbx21G =

mb

Ib + Ip +mbx25.

x1 = x2 (3-37)

x2 =(x1x

24 + x5x4x8 − g sinx3

)E (3-38)

x3 = x4 (3-39)

x4 = (−2x1x2x4 − x2x5x8 − x1x6x8 − x1x5x8 − gx1 cosx3)F+τx

Ib + Ip +mbx21(3-40)

x5 = x6 (3-41)

x6 =(x1x4x8 + x5x

28 − g sinx7

)E (3-42)

x7 = x8 (3-43)

x8 = (−2x5x6x8 − x2x5x4 − x1x6x4 − x1x5x4 − gx5 cosx7)G+τy

Ib + Ip +mbx25(3-44)

Page 48: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano
Page 49: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

Capıtulo 4

Sensado e Interfaces Grafica

En el transcurso de este capıtulo, se explicara como se realizo el sensado de la posicion de la

esfera sobre el plano y la forma mediante la cual se realizo la integracion del sensado con los

demas elementos del sistema (Figura 4-1). Finalmente, es importante aclarar que tanto los

fragmentos de codigo, como las figuras mostradas a lo largo de este capıtulo corresponden

desarrollos implementados en Matlab.

Figura 4-1: Elementos del Sistema

4.1. Sensor

El sensado de la posicion de la esfera sobre el plano se desarrollo un Script para realizar este

proceso. A continuacion, se muestran cada una de las secciones implementadas dentro del

script y se explica su funcion dentro de este; la primer parte del Script es la encargada de

establecer la conexion entre Matlab y la camara web conectada al computador, en el Script

4.1 se puede apreciar el fragmento del codigo donde se realiza este proceso. Sin embargo,

Page 50: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

36 4 Sensado e Interfaces Grafica

en este Script esta incluida la adaptacion del codigo para que funcione en conjunto con las

demas partes del sistema, es decir, el codigo implementado dentro de la interface grafica, [7].

Script 4.1: Inicializacion camara web en Matlab

1 % se crea objeto de video

2 handles.video = videoinput(’winvideo ’, handles.idDevicecamara , handles.

resSel);

3 % Se definen las propiedades del objeto video

4 handles.video.ReturnedColorSpace = ’rgb’;

5 handles.video.Timeout = 1;

6 triggerconfig(handles.video ,’manual ’);

7 handles.video.FramesPerTrigger = Inf; % Captura imagenes hasta que se

detiene manualmente la camara

8 set(handles.startEndpshBton ,’String ’,’Finalizar Simulacion ’); %

Actualizacion de valor en la interface

9 guidata(hObject , handles);

10 % Se inicia el video

11 start(handles.video);

12 % Ajuste propiedades para visualizacion Interface

13 vidRes = get(handles.video , ’VideoResolution ’);

14 nBands = get(handles.video , ’NumberOfBands ’);

15 hImage = image(zeros(vidRes (2), vidRes (1), nBands), ’Parent ’,handles.

axes1);

16 % Se muestra en la interface

17 preview(handles.video ,hImage);

Dentro de este Script es necesario aclarar las variables handles.idDevicecamara , hand-

les.resSel y handles.axes1, ya que son elementos que hacen parte de la interfaz grafica

desarrollada o informacion obtenida a traves de esta. En la Figura 4-2, se puede apreciar

la interfaz desarrollada en el panel 1 se encuentran los parametros iniciales del sistema y

es precisamente de este donde se heredan algunos de los valores de estas variables. En el

caso de handles.idDevicecamara, corresponde al valor seleccionado en la segunda lista

que aparece en la interfaz, y mas especıficamente a la identificacion dentro de Matlab de la

camara web seleccionada. handles.resSel corresponde al valor de la resolucion seleccionada

en la tercer lista del primer panel. Por ultimo, handles.axes1 corresponde a la grafica donde

se muestra la imagen dentro de la interfaz, que en este caso corresponde a la primera grafica

del panel 3.

Tras capturar la imagen obtenida de la camara o en este caso el vıdeo, lo que se debe hacer

es procesar el vıdeo o imagen obtenida para determinar la posicion de la bola sobre el plano.

De esta forma en el Script 4.2, se puede apreciar la manera mediante la cual se procesan uno

a uno los frames o imagenes obtenidas mediante la camara.

Page 51: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

4.2 Set Point 37

Script 4.2: Procesamiento Video

1 data1=getsnapshot(handles.video); % Captura una imagen del video

2 data=imcomplement(data1); % Realiza el complemento de la imagen

3 diff_im = imsubtract(data (:,:,3), rgb2gray(data)); % Extrae color verde

imagen capturada

4 x1 = medfilt2(diff_im , [3 3]); % Elimina ruido

5 x = im2bw(x1 ,0.1); % Convierte la imagen blanco y negro

6 axes(handles.axes2);

7 imshow (~x); % Muestra la imagen

8 handles.stats = regionprops(x,’BoundingBox ’, ’Centroid ’); %Calcula el

centro de la imagen resultante tras los filtros

9 handles.bb = handles.stats (1).BoundingBox; % Calcula posicion objeto

detectado

10 handles.bc = handles.stats (1).Centroid; % Calcula el centro del objeto

detectado

11 rectangle(’Position ’,handles.bb,’EdgeColor ’,’r’,’LineWidth ’ ,2) % Rodea el

objeto con una rectangulo rojo

12 handles.bx = (round(handles.bc(1))) -80; % Obtiene la posicion del objeto

en x con respecto al sistema de referencia

13 handles.by = 60-( round(handles.bc(2))); % Obtiene la posicion del objeto

en y con respecto al sistema de referencia

14 if(num2str(handles.bx))

15 set(handles.edit3 ,’String ’, handles.bx); % Publica la posicion en X

en la interface

16 else

17 set(handles.edit3 ,’String ’, 0);

18 end

19 if(num2str(handles.by))

20 set(handles.edit4 ,’String ’, handles.by); % Publica la posicion en Y en

la interface

21 else

22 set(handles.edit4 ,’String ’, 0);

23 end

4.2. Set Point

El set point se captura mediante la interfaz grafica desarrollada y corresponde a los valores

pasados en el primer panel de la seccion 4 de la Figura 4-2. En el Script 4.3, se puede apreciar

el metodo mediante la cual se captura el valor de x, para la captura de y se realiza el mismo

proceso con el origen del valor de y como unico cambio.

Script 4.3: Captura Set Point

1 function edit1_Callback(hObject , eventdata , handles)

2 % hObject handle to edit1 (see GCBO)

3 % eventdata reserved - to be defined in a future version of MATLAB

Page 52: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

38 4 Sensado e Interfaces Grafica

4 % handles structure with handles and user data (see GUIDATA)

5

6 % Hints: get(hObject ,’String ’) returns contents of edit1 as text

7 % str2double(get(hObject ,’String ’)) returns contents of edit1 as a

double

8

9 val = get(hObject ,’String ’); % Captura el valor escrito en el campo de X

10

11 ud =get(gcbf ,’UserData ’); % Obtiene la informacion almacenada en UserData

de la interface

12 if str2num(val) % Evalua si el set point desado es numerico

13 ud.editfield = str2num(val);

14 else % Si no es numero por defecto coloca 0

15 ud.editfield = 0;

16 end

17 set(gcbf ,’UserData ’,ud) ; % Actualiza userdata

Si bien en este punto se podrıa entrar a analizar el funcionamiento del procesamiento de la

informacion obtenida en las primeras secciones del capitulo, antes de eso se hara un repaso

de los demas componentes de la interfaz grafica y su funcionalidad.

4.3. Interface Grafica

El objetivo de la interfaz grafica es juntar en un solo entorno los distintos datos y funcio-

nalidades necesarias para el correcto funcionamiento del sistema completo. De esta forma,

dentro de esta se lleva a cabo la integracion de los modulos de la Figura 4-1, y los medios

de comunicacion necesario para la interaccion entre los distintos elementos.

Cuando se crea una interfaz grafica dentro de Matlab, se generan dos archivos, en este caso

los archivos generados fueron planoBola.m y planoBola.fig, los cuales corresponden al

codigo que se ejecuta al realizar alguna accion sobre la interfaz y a la interfaz misma, [7].

Puesto que la interfaz grafica corresponde a la Figura 4-2,nos toca aclarar que informacion se

dispuso en cada uno de los cuadrantes enmarcados en esta figura. Sin embargo, en el caso de

planoBola.m se explicara a mayor profundidad algunas secciones del codigo fundamentales

para correcto funcionamiento del sistema.

En la Figura 4-2, se muestra la interfaz implementada dividida en 4 cuadrantes distribuidos

de la siguientes manera: el primer cuadrante, corresponde a la informacion inicial requerida

para que el sistema arranque, la cual a su vez se distribuye ası, en el primer listbox se pide

el puerto serial a traves del cual se envıa la informacion al micro-controlador (Arduino Uno)

que a su vez esta conectado a los servomotores. En el segundo listbox, se pide seleccionar la

camara web mediante la cual se realiza el sensado de la posicion de bola sobre el plano. En

Page 53: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

4.3 Interface Grafica 39

Figura 4-2: Interface Grafica Segmentada

el tercer listbox, se pide la informacion de la resolucion con la cual la camara web realizara

la captura de la imagen.

El segundo cuadrante, corresponde al panel mediante el cual se puede especificar con cual

tecnica de control se desea que el sistema opere. En este caso, las tecnicas implementadas

dentro del sistema son un control de logica difusa (control fuzzy) y un control proporcional-

derivativo-integral (PID), ya que estas tecnicas actuan bajo una logica particular, esta

sera explicada en el capitulo 5.

En el tercer cuadrante, se ubico la informacion entregada por la camara web en dos graficas.

En la primera, se puede visualizar la captura original de la camara web, mientras que en la

segunda grafica se puede apreciar la trayectoria que describe la bola sobre el plano mientras

este se encuentra en accion.

Por ultimo en el cuarto cuadrante, se encuentra tanto informacion de entrada como de

salida, distribuida ası, de entrada se tiene el panel llamado set point donde se fija el set

point del sistema, mientras que los paneles posicion actual esfera y salida controlador son

la entrada y salida del controlador respectivamente. Por ultimo, es importante mencionar

que dentro de la interfaz se implemento tambien un boton de inicio y fin de los elementos

externos (puerto serial y camara web ) y un boton tipo checkbox, el cual aparece una vez se

Page 54: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

40 4 Sensado e Interfaces Grafica

inicializa los elementos externos, el cual inicia el procesamiento de las imagenes obtenidas

por la camara. Con esto se completarıa el detalle grafico de la interfaz con lo cual se puede

proceder con la explicacion del codigo implementado.

4.3.1. Inicializacion de la Interface

La inicializacion de la interfaz se realiza mediante codigo auto-generado por Matlab, el cual

se genera de manera automatica cuando se crea una nueva Figura (interface grafica). En el

script 4.4, se puede apreciar el codigo que se genero de manera automatica cuando se creo la

figura. Adicionalmente, este codigo (funcion) generada toma el mismo nombre que el nombre

del la interfaz grafica que se crea. Sin embargo, cambia la extension de .fig a .m, y en caso

de que alguno de los dos no exista la interfaz o el codigo generado no funcionara.

Script 4.4: Inicializacion de la Interface

1 function varargout = planoBola(varargin)

2 % PLANOBOLA MATLAB code for planoBola.fig

3 % PLANOBOLA , by itself , creates a new PLANOBOLA or raises the

existing

4 % singleton *.

5

6 %

7 % H = PLANOBOLA returns the handle to a new PLANOBOLA or the handle

to

8 % the existing singleton *.

9 %

10 % PLANOBOLA(’CALLBACK ’,hObject ,eventData ,handles ,...) calls the local

11 % function named CALLBACK in PLANOBOLA.M with the given input

arguments.

12 %

13 % PLANOBOLA(’Property ’,’Value ’ ,...) creates a new PLANOBOLA or raises

the

14 % existing singleton *. Starting from the left , property value pairs

are

15 % applied to the GUI before planoBola_OpeningFcn gets called. An

16 % unrecognized property name or invalid value makes property

application

17 % stop. All inputs are passed to planoBola_OpeningFcn via varargin.

18 %

19 % *See GUI Options on GUIDE ’s Tools menu. Choose "GUI allows only

one

20 % instance to run (singleton)".

21 %

22 % See also: GUIDE , GUIDATA , GUIHANDLES

23

24 % Edit the above text to modify the response to help planoBola

Page 55: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

4.3 Interface Grafica 41

25

26 % Last Modified by GUIDE v2.5 18-Apr -2016 18:21:33

27

28 % Begin initialization code - DO NOT EDIT

29 gui_Singleton = 1;

30 gui_State = struct(’gui_Name ’, mfilename , ...

31 ’gui_Singleton ’, gui_Singleton , ...

32 ’gui_OpeningFcn ’, @planoBola_OpeningFcn , ...

33 ’gui_OutputFcn ’, @planoBola_OutputFcn , ...

34 ’gui_LayoutFcn ’, [] , ...

35 ’gui_Callback ’, []);

36 if nargin && ischar(varargin 1)

37 gui_State.gui_Callback = str2func(varargin 1);

38 end

39

40 if nargout

41 [varargout 1: nargout ] = gui_mainfcn(gui_State , varargin :);

42 else

43 gui_mainfcn(gui_State , varargin :);

44 end

45 % End initialization code - DO NOT EDIT

4.3.2. Inicializacion de los elementos

En este caso, la inicializacion de los objetos se realiza en tres etapas, la primera que es la

mostrada en el Script 4.5, donde se cargan los valores de los puertos seriales disponibles y

las camaras web disponibles. Sin embargo, la resolucion se actualiza una vez se escoge la

camara ya que depende de esta.

Script 4.5: Inicializacion de listbox

1 % --- Executes just before planoBola is made visible.

2 function planoBola_OpeningFcn(hObject , eventdata , handles , varargin)

3 % This function has no output args , see OutputFcn.

4 % hObject handle to figure

5 % eventdata reserved - to be defined in a future version of MATLAB

6 % handles structure with handles and user data (see GUIDATA)

7 % varargin command line arguments to planoBola (see VARARGIN)

8 % Choose default command line output for planoBola

9 handles.output = hObject;

10 handles.puertos = scanports (); %Se escanean los puertos seriales

disponibles

11 handles.nPuertos = length(handles.puertos); %Se calcula la cantidad de

seriales encontrados

12 %% Muestra los puertos Seriales disponible

13 set(handles.serialListBox , ’String ’, ...

14 [’Seleccione Puerto ’ ; handles.puertos ]);

Page 56: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

42 4 Sensado e Interfaces Grafica

15 set(handles.serialListBox , ’Value’,handles.nPuertos); % Se publican los

puertos seriales encontrados en el serialListBox

16

17 %% Se inicia con el escaneo de web cams presentes en el PC

18 idCamaras = imaqhwinfo(’winvideo ’,’DeviceIDs ’); % se calcula el numero de

elementos disponibles

19 handles.nCamaras = length(idCamaras); %Se calcula la cantidad de camaras

disponibles

20 infoCamara = imaqhwinfo(’winvideo ’,’DeviceInfo ’);

21 x = struct(’nombres ’,infoCamara.DeviceName );

22 y = struct2cell(x’);

23 %% Muestra las camaras disponibles para captura de video

24 set(handles.camaraListBox , ’String ’, ...

25 [’Seleccione Camara ’ ; y’]);

26 set(handles.camaraListBox , ’Value’,handles.nCamaras); % Se publican las

camaras disponibles

27

28 %% Muestra los formatos disponibles de captura de video

29 set(handles.resolucionListBox , ’String ’, ...

30 ’Seleccione Resolucion Camara ’ ); %; camaraFormatos ’

31 set(handles.resolucionListBox , ’Value’, 1); %Se publica las resoluciones

disponbles para las camaras.

32 % Update handles structure

33 guidata(hObject , handles);

La segunda etapa ocurre una vez se selecciona la camara web y ocurre como un evento al

seleccionar la camara web en el segundo listbox. En el Script 4.6, se puede apreciar la forma

mediante la cual se actualizan los valores de las resoluciones de la camara. En el tercer

listbox, tras seleccionar una camara web en el segundo listbox, ası mismo cuenta con un

control de error en caso de que la resolucion seleccionada no sea valida.

Script 4.6: Inicializacion Resoluciones

1 % --- Executes on selection change in camaraListBox.

2 function camaraListBox_Callback(hObject , eventdata , handles)

3 % hObject handle to camaraListBox (see GCBO)

4 % eventdata reserved - to be defined in a future version of MATLAB

5 % handles structure with handles and user data (see GUIDATA)

6

7 % Hints: contents = cellstr(get(hObject ,’String ’)) returns camaraListBox

contents as cell array

8 % contentsget(hObject ,’Value ’) returns selected item from

camaraListBox

9 numCamara = get(handles.camaraListBox , ’Value ’);

10 if numCamara == 1

11 errordlg(’Error al seleccionar resolucion ’);

12 else

Page 57: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

4.3 Interface Grafica 43

13 %%Captura camara Seleccionada

14 try

15 handles.camList = get(handles.camaraListBox , ’String ’);

16 handles.camSel = handles.camListnumCamara ;

17 idCamaras = imaqhwinfo(’winvideo ’,’DeviceIDs ’);

18 handles.nCamaras = length(idCamaras);

19 i=1;

20 infoCamara = imaqhwinfo(’winvideo ’,i);

21 handles.nombreCamara = infoCamara.DeviceName;

22 if(strcmp(handles.nombreCamara ,handles.camSel)==1)

23 handles.idDevicecamara = infoCamara.DeviceID;

24 handles.suportFormat = infoCamara.SupportedFormats;

25 handles.cantResol = length(handles.suportFormat);

26 set(handles.resolucionListBox , ’String ’, ...

27 [’Seleccione Camara ’ ; handles.suportFormat ’]);

28 set(handles.resolucionListBox , ’Value’,handles.cantResol);

29 guidata(hObject , handles);

30 else

31 i=i+1;

32 infoCamara = imaqhwinfo(’winvideo ’,i);

33 handles.nombreCamara = infoCamara.DeviceName;

34 handles.idDevicecamara = infoCamara.DeviceID;

35 handles.suportFormat = infoCamara.SupportedFormats;

36 handles.cantResol = length(handles.suportFormat);

37 set(handles.resolucionListBox , ’String ’, ...

38 [’Seleccione Camara ’ ; handles.suportFormat ’]);

39 set(handles.resolucionListBox , ’Value’,handles.cantResol);

40 guidata(hObject , handles); %update view

41 end

42 catch

43 errordlg(’Error al seleccionar resolucion ’);

44 end

45 end

La tercera etapa ocurre cuando se pulsa el boton iniciar simulacion de la interfaz grafica.

Para entender mejor como funciona, la interaccion entre el usuario y el codigo que esta

implementado en el boton se puede saltar directamente a al subseccion 4.3.4, donde se

explica a profundidad el codigo implementado dentro del boton. Por lo pronto es importante

aclarar que en esta etapa lo que realiza es el establecimiento de la comunicacion entre Matlab

y los perifericos (El microcontrolador y La camara web).

4.3.3. Retorno de Variables

Esta seccion del codigo al igual que las primera siempre aparecen en una interfaz de Matlab, y

hace parte de la estructura basica de cualquier interfaz generada en Matlab. Particularmente

en esta seccion, se definen los retornos que se van a realizar desde la interfaz hacia el comando

Page 58: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

44 4 Sensado e Interfaces Grafica

de linea de Matlab. En este caso, no se definio ningun retorno por lo cual se dejan los

parametros por defecto que asigna Matlab.

Script 4.7: Retorno de Variables

1 % --- Outputs from this function are returned to the command line.

2 function varargout = pruebaFinal_OutputFcn(hObject , eventdata , handles)

3 % varargout cell array for returning output args (see VARARGOUT);

4 % hObject handle to figure

5 % eventdata reserved - to be defined in a future version of MATLAB

6 % handles structure with handles and user data (see GUIDATA)

7 % Get default command line output from handles structure

8 handles.output = hObject;

9 varargout 1 = handles.output;

4.3.4. Callbacks

Un Callback es el metodo mediante el cual se asigna una accion/reaccion a una interac-

cion entre el usuario y la interfaz grafica en Matlab, dicha interaccion, se puede llevar a

cabo mediante botones, barras de desplazamiento, cuadros de texto, entre otros. Ası mis-

mo, estas interacciones generalmente producen un resultado visible dentro del sistema, en

este caso se tiene que dentro de la interfaz se creo un boton, el cual se nombro se nombro

startEndpshBton, este se encarga de activar o desactivar todos lo perifericos del sistema. Sin

embargo, en esta etapa aun no realiza la captura y procesamiento de los datos del sistema.

Script 4.8: Inicio/Fin Simulacion

1 % --- Executes on button press in startEndpshBton.

2 function startEndpshBton_Callback(hObject , eventdata , handles)

3 % hObject handle to startEndpshBton (see GCBO)

4 % eventdata reserved - to be defined in a future version of MATLAB

5 % handles structure with handles and user data (see GUIDATA)

6 mystring = get(hObject ,’String ’);

7 if strcmp(mystring ,’Iniciar Simulacion ’);

8 %% Inicializa la comunicacion Serial

9 serPortn = get(handles.serialListBox , ’Value ’);

10 if serPortn == 1

11 errordlg(’Select valid COM port’);

12 set(handles.startEndpshBton ,’String ’,’Iniciar Simulacion ’);

13 else

14 serList = get(handles.serialListBox ,’String ’);

15 serPort = serListserPortn ;

16 handles.s = serial(serPort);

17 set(handles.s,’DataBits ’ ,8);

18 set(handles.s,’StopBits ’ ,1);

19 set(handles.s,’BaudRate ’ ,9600);

Page 59: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

4.3 Interface Grafica 45

20 set(handles.s,’Parity ’,’none’);

21 guidata(hObject , handles);

22 try

23 fopen(handles.s);

24 guidata(hObject , handles);

25 catch

26 errordlg(’No se pudo establecer comunicacion con el puerto

Serial seleccionado ’);

27 end

28

29 end

30 %% Termina la inicializacion del la comunicacion Serial

31 %% Inicia Seleccion camara

32 numCamara = get(handles.camaraListBox , ’Value ’);

33 if numCamara == 1

34 errordlg(’Seleccione Camara Valida ’);

35 set(handles.startEndpshBton ,’String ’,’Iniciar Simulacion ’);

36 else

37 %%Captura camara Seleccionada

38 try

39 handles.camList = get(handles.camaraListBox , ’String ’);

40 handles.camSel = handles.camListnumCamara ;

41 idCamaras = imaqhwinfo(’winvideo ’,’DeviceIDs ’);

42 handles.nCamaras = length(idCamaras);

43 i = 1;

44 infoCamara = imaqhwinfo(’winvideo ’,i);

45 handles.nombreCamara = infoCamara.DeviceName;

46 if (strcmp(handles.camSel ,handles.nombreCamara) == 1)

47 handles.idDevicecamara = infoCamara.DeviceID;

48 guidata(hObject , handles);

49 else

50 i=i+1;

51 infoCamara = imaqhwinfo(’winvideo ’,i);

52 handles.idDevicecamara = infoCamara.DeviceID;

53 guidata(hObject , handles);

54

55 end

56 %% Termina seleccion de la camara

57 %% Inicia captura resolucion camara

58 handles.numResolucion = get(handles.resolucionListBox , ’Value’

);

59 if handles.numResolucion == 1

60 errordlg(’Seleccione Resolucion Valida ’);

61 set(handles.startEndpshBton ,’String ’,’Iniciar Simulacion ’)

;

62 else

63 try

64 handles.resList = get(handles.resolucionListBox , ’

Page 60: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

46 4 Sensado e Interfaces Grafica

String ’);

65 handles.resSel = handles.resListhandles.numResolucion

;

66 guidata(hObject , handles);

67 %% Termina captura resolucion camara seleccionada

68 %% Se crea el objeto video

69 handles.video = videoinput(’winvideo ’, handles.

idDevicecamara , handles.resSel);

70 handles.video.ReturnedColorSpace = ’rgb’;

71 handles.video.Timeout = 1;

72 %handles.video.ROIPosition = [18 0 120 120];

73 triggerconfig(handles.video ,’manual ’);

74 handles.video.FramesPerTrigger = Inf; % Capture frames

until we manually stop it

75 set(handles.startEndpshBton ,’String ’,’Finalizar

Simulacion ’);

76 guidata(hObject , handles);

77 %% Se inicia el video

78 start(handles.video);

79 vidRes = get(handles.video , ’VideoResolution ’);

80 nBands = get(handles.video , ’NumberOfBands ’);

81 hImage = image(zeros(vidRes (2), vidRes (1), nBands), ’

Parent ’,handles.axes1);

82 preview(handles.video ,hImage);

83 guidata(hObject , handles);

84 h=findobj(’Tag’,’capturaChkBox ’);

85 set(h,’Visible ’,’on’);

86 guidata(hObject , handles); %update view

87 %% Termina inicializacion video

88 catch

89 stop(handles.video);

90 closepreview(handles.video);

91 set(handles.startEndpshBton ,’String ’,’Iniciar

Simulacion ’);

92 guidata(hObject , handles);

93 end

94 end

95 catch

96 errordlg(’Error al iniciar la simulacion no se conecto algun

elemento necesario para la simulacion ’);

97 end

98 end

99

100 elseif strcmp(mystring ,’Finalizar Simulacion ’)

101

102 stop(handles.video);

103 closepreview(handles.video);

104 set(handles.startEndpshBton ,’String ’,’Iniciar Simulacion ’);

Page 61: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

4.3 Interface Grafica 47

105 guidata(hObject , handles);

106

107 else

108 warning(’Unrecognized string for startEndpshBton_Callback ’)

109 end

Si bien el funcionamiento de boton startEndpshBton parece complejo, dentro del Script 4.8

la seccion comprendida entre las lineas 64 y 83 se explico en los Scripts 4.1 y 4.2. Por otra

parte, en el segmento comprendido entre las lineas 15 y 28 se realiza la inicializacion del

puerto serial. Por ultimo, antes de iniciar el puerto serial existe una validacion de los valores

seleccionados en cada uno de los listbox, de tal manera, que en caso de que se seleccione

un valor invalido este muestra un mensaje en pantalla pidiendo una seleccion valida con el

objetivo de poder inicial los perifericos.

Dentro de los callbacks, tambien se implementaron dos botones mas, los cuales son visibles

en la interfaz grafica, y un checkbox que aparece una vez se inician los perifericos, es decir,

cuando se pulsa el boton de inicio de la simulacion. En el caso de los botones, uno se encarga

de escribir la puerto serial informacion en el puerto serial para que esta sea tomada por el

microcontrolador. En el Script 4.10, se puede apreciar el codigo que se implemento, y ya

que este es invisible al usuario este se ejecuta de manera automatica mediante un funcion de

Simulink, el otro boton invisible es el encargado capturar y procesar las imagenes obtenidas

a traves de la camara web, de tal manera que dentro del flujo del programa esta pueda ser

utilizada. En el Script 4.9, se puede apreciar el codigo mediante el cual se realiza este proceso.

Por ultimo, el checkbox funciona de tal manera que este se vuelve visible en el momento en

que el usuario ya configuro los perifericos del sistema y pulsa el boton de inicio de simulacion.

Es importante mencionar que en el momento en que se pulsa checkbox, es en ese instante de

tiempo que los dos botones invisibles inician a trabajar dentro del flujo del programa.

Script 4.9: Captura y Procesamiento Datos Camara

1 % --- Executes on button press in capturaPosActualPushBtn.

2 function capturaPosActualPushBtn_Callback(hObject , eventdata , handles)

3 % hObject handle to capturaPosActualPushBtn (see GCBO)

4 % eventdata reserved - to be defined in a future version of MATLAB

5 % handles structure with handles and user data (see GUIDATA)

6

7 data1=getsnapshot(handles.video);

8 data=imcomplement(data1);

9 diff_im = imsubtract(data (:,:,3), rgb2gray(data));

10 x1 = medfilt2(diff_im , [3 3]);

11 x = im2bw(x1 ,0.1); %original amarillo

12 axes(handles.axes2);

13 imshow (~x);

14 handles.stats = regionprops(x,’BoundingBox ’, ’Centroid ’);

Page 62: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

48 4 Sensado e Interfaces Grafica

15 handles.bb = handles.stats (1).BoundingBox; %stats (1)

16 handles.bc = handles.stats (1).Centroid;

17 rectangle(’Position ’,handles.bb,’EdgeColor ’,’r’,’LineWidth ’ ,2)

18 handles.bx = (round(handles.bc(1))) -80;

19 handles.by = 60-( round(handles.bc(2)));

20 if(num2str(handles.bx))

21 set(handles.edit3 ,’String ’, handles.bx);

22 else

23 set(handles.edit3 ,’String ’, 0);

24 end

25 if(num2str(handles.by))

26 set(handles.edit4 ,’String ’, handles.by);

27 else

28 set(handles.edit4 ,’String ’, 0);

29 end

30

31 guidata(hObject , handles); %update view

Script 4.10: Escritura Puerto Serial

1 % --- Executes on button press in escribeSeriaPushBtn.

2 function escribeSeriaPushBtn_Callback(hObject , ~, handles)

3 % hObject handle to escribeSeriaPushBtn (see GCBO)

4 % eventdata reserved - to be defined in a future version of MATLAB

5 % handles structure with handles and user data (see GUIDATA)

6 %%Captura los valores que retorna el controlador y los escribe en el

puerto

7 %%Serial y en el edit9

8 handles.val1 = get(handles.edit5 ,’String ’); %returns contents of edit1 as

a double

9 handles.val2 = get(handles.edit6 ,’String ’); %returns contents of edit1 as

a double

10 handles.p1=strcat(handles.val1 ,’a’);

11 handles.p2=strcat(handles.p1 ,handles.val2);

12 fprintf(handles.s,’ %s’,handles.p2); % se envia un dato de tipo entero sin

signo de 8 bits , por el objeto ps

13 guidata(hObject , handles); %update view

14 %%Termina de escribir

Ademas de los callbacks, los cuales se explicaron en esta parte del capıtulo, tambien es ne-

cesario explicar el metodo empleado para establecer la comunicacion entre la interfaz grafica

de Matlab(GUI) y Simulink, ya que en Simulink donde se implementaron los controladores.

4.3.5. Comunicacion entre Simulink - Interface Grafica

Dentro de la interfaz grafica interactuan directamente con Simulink, el set point, la posicion

en x y y de la bola sobre el plano y la salida de los controladores, es decir los cuadrantes 2

Page 63: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

4.3 Interface Grafica 49

y 4 de la Figura 4-2. Por ejemplo, en el caso de la seleccion del controlador, en el momento

que se selecciona un tipo de control u el otro, en Simulink se realiza un cambio de la posicion

de los manual switchs del sistema, lo cual a su vez enruta el procesamiento de los datos de

entrada por el tipo de control seleccionado.

La comunicacion entre Simulink y la interfaz grafica se realiza de dos maneras. Una consiste

en actualizar directamente la informacion deseada en lo campos deseados de la interfaz, y

se realiza mediante el llamado del elemento de la interfaz directamente en el codigo de un

bloque S-Function de Matlab. En el Script 4.11, se puede apreciar el llamado mediante este

metodo. En el segundo metodo el cual a su vez es el principal, fue desarrollado en base a

ejemplos de Mathworks, y se encarga de establecer la comunicacion entre los elementos de

Simulink y la interfaz grafica. Este se encarga de transmitir la informacion devuelta por los

controladores, el control seleccionado y las demas interacciones que se pueden realizar en la

interfaz. En el Script 4.12, se puede apreciar el codigo entero, el cual a su vez se encuentra

subdividido en 4 etapas, la primera etapa es un case-when con multiples opciones, el cual se

ocupa de capturar los valores de entrada de las funciones que se implementaron a lo largo

del codigo, y retorna error en caso de que algo este mal inicializado. La segunda etapa,

es la encargada de definir la cantidad de datos tanto de entrada como de salida que seran

transmitidos entre la interfaz y Simulink. La tercera etapa, se encarga de actualizar los datos

enviados desde Simulink en la interfaz grafica. La ultima, es la encargada de actualizar los

datos de la interfaz en Simulink.

Script 4.11: Actualizacion directa

1 function varargout = updateGUIp(varargin)

2 %create a run time object that can return the value of the gain block ’s

3 %output and then put the value in a string.

4 rto = get_param(’planoBola_Sim/Gain’,’RuntimeObject ’);

5 str = num2str(rto.OutputPort (1).Data);

Script 4.12: Actualizacion indirecta

1 % Nitin Skandan , 11-Aug -2011

2 % This function collects data from the GUI and passes to the model

3 % The editable portions are commented with %-NS - way

4 function [sys ,x0,str ,ts] = planoBola_sf(t,x,u,flag ,Ts)

5 switch flag ,

6 case 0,

7 [sys ,x0,str ,ts]= mdlInitializeSizes(Ts);

8 case 2,

9 sys=mdlUpdate(t,x,u,Ts);

10 case 3,

11 sys = mdlOutputs(t,x,u); % Calculate outputs (t,x,u)

12 case 1, 4, 9 ,

Page 64: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

50 4 Sensado e Interfaces Grafica

13 sys = [0 0 0 0];

14 otherwise

15 error ([’Unhandled flag = ’,num2str(flag)]);

16 end

17

18

19 function [sys ,x0,str ,ts]= mdlInitializeSizes(Ts)

20

21 % call simsizes for a sizes structure , fill it in and convert to a sizes

array.

22 sizes = simsizes;

23

24 sizes.NumContStates = 0;

25 sizes.NumDiscStates = 1;

26 sizes.NumOutputs = 4; %-NS Specify the number of outputs

27 sizes.NumInputs = 2; %-NS Specify the number of inputs

28 sizes.DirFeedthrough = 0;

29 sizes.NumSampleTimes = 1;

30

31 sys = simsizes(sizes);

32 x0 = [0];

33 str = [];

34 ts = [Ts 0];

35 % create the figure , if necessary

36 planoBola;

37 % end mdlInitializeSizes

38

39 function sys=mdlUpdate(t,x,u,Ts)

40 fig = get_param(gcbh ,’UserData ’);

41 sys=x;

42 if ishandle(fig), %

43 if strcmp(get(fig ,’Visible ’),’on’),

44 chnd = findobj(’Tag’,’edit5’); % get handle to editbox

45 str = floor(u(1));

46 set(chnd , ’String ’, num2str(str)) ; %set value of editbox

47 chnd = findobj(’Tag’,’edit6’); % get handle to editbox

48 str2 = floor(u(2));

49 set(chnd , ’String ’, num2str(str2)) ; %set value of editbox

50 end

51 end

52

53 function sys = mdlOutputs(t,x,u)

54 fig = get_param(gcbh ,’UserData ’) ;

55 if ishandle(fig),

56 ud = get(fig ,’UserData ’) ;

57 sys = [ud.radioBtn ud.editfield1 ud.editfield ud.chkbox ];

58 else

59 sys = [0 0 0 0] ;

Page 65: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

4.3 Interface Grafica 51

60 end

En este punto resta explicar el diseno y motivo de la seleccion de los controladores imple-

mentados en simulink. Dicha tarea se realizara en el siguiente capıtulo. Adicionalmente, el

100 % del codigo implementado para realizar las distintas acciones en el sistema se encuentra

en el apendice A.

Page 66: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano
Page 67: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

Capıtulo 5

Diseno de los Controladores

Dentro del diseno de controladores, se deben tener en cuenta el comportamiento del siste-

ma, las variables tanto de entrada como de salida del sistema, su comportamiento ante una

determinada entrada, entre otros. Esto a su vez implica, que se deben identificar los pro-

blemas fısicos de la planta y el comportamiento de estos, [3]. A lo largo de este capıtulo se

explicara el proceso realizado para el diseno de un controlador difuso y un controlador por

realimentacion de estados.

5.1. Controlador Difuso

En un sistema de control, generalmente se parte del modelo del sistema para aplicar la

tecnica de control sobre este. Sin embargo, en el caso de un controlador difuso esto no es

necesario, ya que el este se basa en una serie de reglas, que dependen del comportamiento

del sistema y al evaluar estas, se obtiene un respuesta acorde a las necesidades del sistema.

Teniendo en cuenta esto, el controlador difuso del sistema disenado, se debe fundamentar en

los movimientos de los ejes del plano y la posicion de la bola sobre este. Ası mismo, ya que

lo que se pretende es realizar un controlador difuso en base a la posicion de la bola sobre el

plano, se definieron una serie de reglas para el diseno de este.

5.1.1. Descripcion Linguıstica

La descripcion linguıstica del sistema, se trata de definir los rangos tanto de las entradas

como de la salida en palabras, es decir, si se hablase de la altura de las personas divida en 3

rangos, esta division se podrıa realizar ası, personas altas o medianas o bajas; para el sistema

de plano se realizo esta misma distribucion, teniendo en cuenta la distancia desde el origen

al punto maximo y mınimo del plano, tanto en x como en y. De esta forma se realizo la

siguiente distribucion:

Con la descripcion definida, podemos asumir un valor linguıstico, mediante el cual se definiran

las distintas reglas de control, [6]; por lo cual se opto por realizar la siguiente definicion para

el error de la bola:

Page 68: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

54 5 Diseno de los Controladores

Rango Valor(px) Descripcion linguıstica

-40 a -30 graN

-30 a -16 medN

-16 a -1 peqN

-1 a 1 cero

1 a 16 peqP

16 a 30 medP

30 a 40 graP

Tabla 5-1: Rangos del Error y Descripcion linguıstica Asociada.

Descripcion linguıstica Valor Linguıstico

graN -3

medN -2

peqN -1

cero 0

peqP 1

medP 2

graP 3

Tabla 5-2: Valor Linguıstico del Error.

Para el cambio en el error, se establecio la notacion apreciada en la tabla 5-3, mientras que

la notacion y rangos establecidos para la salida del sistema fue la mostrada en la tabla 5-4.

Es importante aclarar que estos rangos han sido definidos de esta manera, de acuerdo al

comportamiento de la bola sobre el plano en cada una de las dimensiones de este. Ası mismo,

la salida posee estos rangos debido al funcionamiento de los motores ya que estos van a estar

desplazandose entre angulos de 0 y 90 grados.

5.1.2. Reglas

Una vez puntualizadas las diferentes descripciones linguısticas y su valor, se deben definir

ciertas reglas mediante las cuales se pueda delimitar la salida de cada uno de los motores. La

asignacion de estas reglas se hizo con base a la observacion del comportamiento del sistema,

las cuales permiten realizar el desplazamiento de los motores en una proporcion acorde al

error de la bola con respecto a la referencia y la velocidad con que esta se desplaza.

A continuacion, se muestra en forma tabular, cada uno de los valores linguısticos del error

de posicion de la bola, la variacion del error y la salida que debe tener para cada de las

situaciones que se pueden presentar. En la tabla 5-5, se pueden apreciar las reglas para el

Page 69: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

5.1 Controlador Difuso 55

Descripcion linguıstica Valor Linguıstico

dgraN -3

dmedN -2

dpeqN -1

cero 0

dpeqP 1

dmedP 2

dgraP 3

Tabla 5-3: Valor Linguıstico Derivada del Error.

Descripcion linguıstica Valor Linguıstico Valor Real

graNeg -3 0 a 12

medNeg -2 12 a 30

peqNeg -1 30 a 44

cero 0 44 a 46

peqPos 1 46 a 60

medPos 2 60 a 78

graPos 3 78 a 90

Tabla 5-4: Descripcion Linguıstica X y Rangos de Salida.

movimiento en el eje x, mientras que en la tabla 5-6 se pueden apreciar las reglas para el

movimiento en el eje y

5.1.3. Funciones de Pertenencia

Con estas dos tablas y utilizando el toolbox de logica difusa de Matlab, se escribieron las

reglas de los controladores para cada uno de los ejes del plano. Dentro de la parametrizacion

del toolbox, se establecio que cada funcion de pertenencia tendrıa como forma una gaussia-

na,la cual estarıa acorde a los rangos establecidos en las diferentes descripciones linguısticas

realizadas en el diseno del controlador.

Finalmente, las funciones de pertenencia obtenidas para cada uno de los ejes son:

Page 70: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

56 5 Diseno de los Controladores

Errorx

DeltaErrx-3 -2 -1 0 1 2 3

-3 -3 -3 -3 -3 -2 -1 0

-2 -3 -3 -3 -2 -1 0 1

-1 -3 -3 -2 -1 0 1 2

0 -3 -2 -1 0 1 2 3

1 -2 -1 0 1 2 3 3

2 -1 0 1 2 3 3 3

3 0 1 2 3 3 3 3

Tabla 5-5: Tabulacion Salida X

Errory

DeltaErry-3 -2 -1 0 1 2 3

-3 3 3 3 3 2 1 0

-2 3 3 3 2 1 0 -1

-1 3 3 2 1 0 -1 -2

0 3 2 1 0 -1 -2 -3

1 2 1 0 -1 -2 -3 -3

2 1 0 -1 -2 -3 -3 -3

3 0 -1 -2 -3 -3 -3 -3

Tabla 5-6: Tabulacion Salida Y

Figura 5-1: Funciones de Pertenencia para el error en X

5.2. Controlador de Realimentacion de Estados

Para realizar el diseno del controlador mediante el metodo de realimentacion de estados,

se partira del modelo hallado en la seccion 3.5 del capıtulo 3; si bien en el capıtulo 3.5, se

hallaron las variables de estado del sistema, en dicha seccion no se realizo la linealizacion

Page 71: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

5.2 Controlador de Realimentacion de Estados 57

Figura 5-2: Funciones de Pertenencia para la variacion del error en X

Figura 5-3: Salida del Controlador en X

Figura 5-4: Funciones de Pertenencia para el error en Y

Figura 5-5: Funciones de Pertenencia para la variacion del error en Y

Page 72: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

58 5 Diseno de los Controladores

Figura 5-6: Salida del Controlador en Y

del sistema, proceso que es necesario para realizar el diseno del controlador. Por lo tanto, se

procedera a realizar la linealizacion de este. Para esto, se iniciara calculando los puntos de

equilibrio del sistema, [1]. Para llevar a cabo esto, se deben igualar las derivadas de mayor

orden a cero y ası encontrar los puntos de equilibrio.

x1 = x2 = 0 (5-1)

x2 =(x1x

24 + x5x4x8 − g sinx3

)E (5-2)

x3 = x4 = 0 (5-3)

x4 = (−2x1x2x4 − x2x5x8 − x1x6x8 − x1x5x8 − gx1 cosx3)F +τx

Ib + Ip +mbx21(5-4)

x5 = x6 = 0 (5-5)

x6 =(x1x4x8 + x5x

28 − g sinx7

)E (5-6)

x7 = x8 = 0 (5-7)

x8 = (−x1x5x4 − gx5 cosx7)G+τy

Ib + Ip +mbx25(5-8)

Con lo cual se obtiene que x2, x4, x6, x8 = 0, ası mismo si se reemplazan estos valores en

(5− 2) y (5− 6) se obtiene:

g sinx3E = 0⇒ x3 = 0

−g sinx7E = 0⇒ x7 = 0

Es importante aclarar que en las ecuaciones de x3 y x7, la solucion es nπ. Sin embargo, se

elige que la variable tenga ese valor debido a la dinamica del plano.Por ultimo, para (5− 4)

y (5− 8) se tiene lo siguientes:

x4 = (−2x1x2x4 − x2x5x8 − x1x6x8 − x1x5x8 − gx1 cosx3)F +τx

Ib + Ip +mbx21= 0

Ahora se reemplazan las variables halladas anteriormente, por lo que la expresion se reduce a:

Page 73: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

5.2 Controlador de Realimentacion de Estados 59

x4 = (−x1x5x8 − gx1 cosx3)F +τx

Ib + Ip +mbx21(5-9)

Ası mismo, dado que en x4 aparece x8 este se debe reemplazar para posteriormente realizar

el respectivo reemplazo en (5− 9).

x8 = (−x1x5x4 − gx5 cosx7)G+τy

Ib + Ip +mbx25(5-10)

Se reemplaza (5− 10) en (5− 9):

x4 = −Fx1x5[−x1x5x4G− gx5 cosx7G+

τyIb + Ip +mbx25

]−gx1 cosx3F +

τxIb + Ip +mbx21

(5-11)

Haciendo el manejo algebraico correspondiente se obtiene:

x4 =FGgx1x

25 cosx7

1− FGx21x25− Fx1x5τy

(Ib + Ip +mbx25) (1− FGx21x25)− gx1 cosx3F

1− FGx21x25+

τx(Ib + Ip +mbx21) (1− FGx21x25)

(5-12)

De esta forma en 5-12, se puede concluir que el sistema se encuentra en equilibrio cuando

todas sus variables son iguales a cero. Por lo tanto, el sistema se puede simplificar alrededor

de estas soluciones. El proceso para x8 es similar al mostrado para x4.

Por ultimo, se calcularan las derivadas parciales de las ecuaciones de estado con respecto a

cada uno de las variables de estado y se evaluaran en el punto de equilibrio.

Page 74: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

60 5 Diseno de los Controladores

x1 = x2 = F1

∂F1

∂ (x1, x3, x4, x5, x6, x7, x8)= 0

∂F1

∂x2= 1x2 =

(x1x

24 + x5x4x8 − g sinx3

)E = F2

∂F2

∂ (x1, x2, x4,x5,x6,x7,x8)= 0

∂F2

∂x3= −g cosx3E = −gE =

−gmb

mb + Ib/r2b(5-13)

x3 = x4 = F3

∂F3

∂ (x1, x2, x3, x5, x6, x7, x8)= 0

∂F3

∂x4= 1 (5-14)

x4 = (−2x1x2x4 − x2x5x8 − x1x6x8 − x1x5x8 − gx1 cosx3)F+τx

Ib + Ip +mbx21= F4

∂F4

∂x1= −gF =

−gmb

Ip + Ib(5-15)

∂F4

∂ (x2, x3, x4, x5, x6, x7, x8)= 0

x5 = x6 = F5

∂F5

∂ (x1, x2, x3, x4, x5, x7, x8)= 0

∂F5

∂x6= 1 (5-16)

x6 =(x1x4x8 + x5x

28 − g sinx7

)E = F6

∂F6

∂x1, x2, x3, x4, x5, x6, x8= 0

∂F6

∂x7= −g cosx7E = −gE =

−gmb

mb + Ib/r2b(5-17)

x7 = x8 = F7

∂F7

∂x1, x2, x3, x4, x5, x6, x7= 0

∂F7

∂x8= 1 (5-18)

Page 75: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

5.2 Controlador de Realimentacion de Estados 61

x8 = (−2x5x6x8 − x2x5x4 − x1x6x4 − x1x5x4 − gx5 cosx7)G

+τy

Ib + Ip +mbx25= F8

∂F8

∂x1, x2, x3, x4, x6, x7, x8= 0

∂F8

∂x5= −gG =

−gmb

Ip + Ib(5-19)

Una vez calculadas las derivadas, se puede reemplazar los valores de los distintos parame-

tros de la planta que son conocidos, ası mismo, lo ponemos de la forma x = Ax + Bu y

y = Cx+Du. Con esto, procederemos a la escritura de cada una de las matrices. Con estas

matrices, las cuales reflejan la representacion de cada una de las variables de estado, se inicia

el diseno del controlador.Las matrices del sistema linealizado son:

A =

0 1,0 0 0 0 0 0 0

0 0 −7,0 0 0 0 0 0

0 0 0 1,0 0 0 0 0

−7,679 0 0 0 0 0 0 0

0 0 0 0 0 1,0 0 0

0 0 0 0 0 0 −7,0 0

0 0 0 0 0 0 0 1,0

0 0 0 0 −7,679 0 0 0

B =

0 0

0 0

0 0

195,9 0

0 0

0 0

0 0

0 195,9

C =

(1 0 0 0 0 0 0 0

0 0 0 0 1 0 0 0

)

D =

(0 0

0 0

)

Una vez determinadas las matrices de estado del sistema, se procede a mirar la estabilidad,

[1]. Para esto, debemos conocer cada uno de los eigenvalores de la matriz A en lazo abierto. Es

Page 76: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

62 5 Diseno de los Controladores

decir, los polos del sistema. Los calculos se hicieron con ayuda computacional y los resultados

fueron:

P =

[−2,707 −2,707 −2,707i −2,707i 2,707 2,707 2,707i

2,707i

]

Una vez hecho esto, podemos concluir que el sistema no es estable, porque solo hay dos polos

que se ubican en el semiplano izquierdo.

5.2.1. Regulador de Estados

Para disenar un controlador por regulacion de estados, es necesario determinar si el sistema es

controlable. Para hallar la controlabilidad de un sistema multi-entrada se realiza el siguiente

proceso, [1]:

Mc =[B AB A2B A3B A4B A5B A6B

]Donde:

AB =

0 0

0 0

195,9 0

0 0

0 0

0 0

0 195,9

0 0

A2B =

0 0

−1371,0 0

0 0

0 0

0 0

0 −1371,0

0 0

0 0

Page 77: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

5.2 Controlador de Realimentacion de Estados 63

A3B =

−1371,0 0

0 0

0 0

0 0

0 −1371,0

0 0

0 0

0 0

A4B =

0 0

0 0

0 0

10533,0 0

0 0

0 0

0 0

0 10533,0

A5B =

0 0

0 0

10533,0 0

0 0

0 0

0 0

0 10533,0

0 0

A6B =

0 0

−73711,0 0

0 0

0 0

0 0

0 −73711,0

0 0

0 0

Finalmente, se halla el rango de la matriz M para determinar si el sistema es controlable o

no. Dado que el rango de M dio 8, el sistema es totalmente controlable. Esto indica que los

polos del sistema se pueden estabilizar a traves de un vector de realimentacion de estados,

bien sea mediante un seguidor de estados o regulador.

Page 78: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

64 5 Diseno de los Controladores

Para el diseno del regulador se deben ubicar los polos en un lugar deseado.Estos se fijan

segun la respuesta deseada. Los polos deseados son:

Pd =[−5,153 −7,300 −9,447 −11,59 −13,74 −15,88 −18,03 −5,449

]

Una vez elegidos los polos deseados, se forman las matrices deseadas con cada eigenvalor, de

la forma [A− αi ∗ I|B], [1].

Para cada uno de los polos escogidos, se forma su correspondiente matriz agrandada:

S1 =

1,391 1,0 0 0 0 0 0 0 0 0

0 1,391 −7,0 0 0 0 0 0 0 0

0 0 1,391 1,0 0 0 0 0 0 0

−4,085 0 0 1,391 0 0 0 0 104,2 0

0 0 0 0 1,391 1,0 0 0 0 0

0 0 0 0 0 1,391 −7,0 0 0 0

0 0 0 0 0 0 1,391 1,0 0 0

0 0 0 0 −4,085 0 0 1,391 0 104,2

S2 =

1,971 1,0 0 0 0 0 0 0 0 0

0 1,971 −7,0 0 0 0 0 0 0 0

0 0 1,971 1,0 0 0 0 0 0 0

−4,085 0 0 1,971 0 0 0 0 104,2 0

0 0 0 0 1,971 1,0 0 0 0 0

0 0 0 0 0 1,971 −7,0 0 0 0

0 0 0 0 0 0 1,971 1,0 0 0

0 0 0 0 −4,085 0 0 1,971 0 104,2

S3 =

2,551 1,0 0 0 0 0 0 0 0 0

0 2,551 −7,0 0 0 0 0 0 0 0

0 0 2,551 1,0 0 0 0 0 0 0

−4,085 0 0 2,551 0 0 0 0 104,2 0

0 0 0 0 2,551 1,0 0 0 0 0

0 0 0 0 0 2,551 −7,0 0 0 0

0 0 0 0 0 0 2,551 1,0 0 0

0 0 0 0 −4,085 0 0 2,551 0 104,2

Page 79: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

5.2 Controlador de Realimentacion de Estados 65

S4 =

3,13 1,0 0 0 0 0 0 0 0 0

0 3,13 −7,0 0 0 0 0 0 0 0

0 0 3,13 1,0 0 0 0 0 0 0

−4,085 0 0 3,13 0 0 0 0 104,2 0

0 0 0 0 3,13 1,0 0 0 0 0

0 0 0 0 0 3,13 −7,0 0 0 0

0 0 0 0 0 0 3,13 1,0 0 0

0 0 0 0 −4,085 0 0 3,13 0 104,2

S5 =

3,71 1,0 0 0 0 0 0 0 0 0

0 3,71 −7,0 0 0 0 0 0 0 0

0 0 3,71 1,0 0 0 0 0 0 0

−4,085 0 0 3,71 0 0 0 0 104,2 0

0 0 0 0 3,71 1,0 0 0 0 0

0 0 0 0 0 3,71 −7,0 0 0 0

0 0 0 0 0 0 3,71 1,0 0 0

0 0 0 0 −4,085 0 0 3,71 0 104,2

S6 =

4,29 1,0 0 0 0 0 0 0 0 0

0 4,29 −7,0 0 0 0 0 0 0 0

0 0 4,29 1,0 0 0 0 0 0 0

−4,085 0 0 4,29 0 0 0 0 104,2 0

0 0 0 0 4,29 1,0 0 0 0 0

0 0 0 0 0 4,29 −7,0 0 0 0

0 0 0 0 0 0 4,29 1,0 0 0

0 0 0 0 −4,085 0 0 4,29 0 104,2

S7 =

4,87 1,0 0 0 0 0 0 0 0 0

0 4,87 −7,0 0 0 0 0 0 0 0

0 0 4,87 1,0 0 0 0 0 0 0

−4,085 0 0 4,87 0 0 0 0 104,2 0

0 0 0 0 4,87 1,0 0 0 0 0

0 0 0 0 0 4,87 −7,0 0 0 0

0 0 0 0 0 0 4,87 1,0 0 0

0 0 0 0 −4,085 0 0 4,87 0 104,2

Page 80: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

66 5 Diseno de los Controladores

S8 =

5,449 1,0 0 0 0 0 0 0 0 0

0 5,449 −7,0 0 0 0 0 0 0 0

0 0 5,449 1,0 0 0 0 0 0 0

−4,085 0 0 5,449 0 0 0 0 104,2 0

0 0 0 0 5,449 1,0 0 0 0 0

0 0 0 0 0 5,449 −7,0 0 0 0

0 0 0 0 0 0 5,449 1,0 0 0

0 0 0 0 −4,085 0 0 5,449 0 104,2

Para continuar con el procedimiento, se debe calcular la forma normal hermitiana de cada

una de las matrices. Esto se hace por medio de ayuda computacional, [1, 7]. Las matrices

resultantes son:

hs1 =

1,0 0 0 0 0 0 0 0 −29,36 0

0 1,0 0 0 0 0 0 0 40,84 0

0 0 1,0 0 0 0 0 0 8,118 0

0 0 0 1,0 0 0 0 0 −11,29 0

0 0 0 0 1,0 0 0 0 0 −29,36

0 0 0 0 0 1,0 0 0 0 40,84

0 0 0 0 0 0 1,0 0 0 8,118

0 0 0 0 0 0 0 1,0 0 −11,29

hs2 =

1,0 0 0 0 0 0 0 0 −54,03 0

0 1,0 0 0 0 0 0 0 106,5 0

0 0 1,0 0 0 0 0 0 29,98 0

0 0 0 1,0 0 0 0 0 −59,1 0

0 0 0 0 1,0 0 0 0 0 −54,03

0 0 0 0 0 1,0 0 0 0 106,5

0 0 0 0 0 0 1,0 0 0 29,98

0 0 0 0 0 0 0 1,0 0 −59,1

hs3 =

1,0 0 0 0 0 0 0 0 53,1 0

0 1,0 0 0 0 0 0 0 −135,4 0

0 0 1,0 0 0 0 0 0 −49,36 0

0 0 0 1,0 0 0 0 0 125,9 0

0 0 0 0 1,0 0 0 0 0 53,1

0 0 0 0 0 1,0 0 0 0 −135,4

0 0 0 0 0 0 1,0 0 0 −49,36

0 0 0 0 0 0 0 1,0 0 125,9

Page 81: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

5.2 Controlador de Realimentacion de Estados 67

hs4 =

1,0 0 0 0 0 0 0 0 53,1 0

0 1,0 0 0 0 0 0 0 −135,4 0

0 0 1,0 0 0 0 0 0 −49,36 0

0 0 0 1,0 0 0 0 0 125,9 0

0 0 0 0 1,0 0 0 0 0 53,1

0 0 0 0 0 1,0 0 0 0 −135,4

0 0 0 0 0 0 1,0 0 0 −49,36

0 0 0 0 0 0 0 1,0 0 125,9

hs5 =

1 0 0 0 0 0 0 0 4,534 0

0 1 0 0 0 0 0 0 −16,82 0

0 0 1 0 0 0 0 0 −8,916 0

0 0 0 1 0 0 0 0 33,08 0

0 0 0 0 1 0 0 0 0 4,534

0 0 0 0 0 1 0 0 0 −16,82

0 0 0 0 0 0 1 0 0 −8,916

0 0 0 0 0 0 0 1 0 33,08

hs6 =

1,0 0 0 0 0 0 0 0 2,352 0

0 1,0 0 0 0 0 0 0 −10,09 0

0 0 1,0 0 0 0 0 0 −6,185 0

0 0 0 1,0 0 0 0 0 26,53 0

0 0 0 0 1,0 0 0 0 0 2,352

0 0 0 0 0 1,0 0 0 0 −10,09

0 0 0 0 0 0 1,0 0 0 −6,185

0 0 0 0 0 0 0 1,0 0 26,53

hs7 =

1,0 0 0 0 0 0 0 0 1,367 0

0 1,0 0 0 0 0 0 0 −6,656 0

0 0 1,0 0 0 0 0 0 −4,63 0

0 0 0 1,0 0 0 0 0 22,55 0

0 0 0 0 1,0 0 0 0 0 1,367

0 0 0 0 0 1,0 0 0 0 −6,656

0 0 0 0 0 0 1,0 0 0 −4,63

0 0 0 0 0 0 0 1,0 0 22,55

Page 82: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

68 5 Diseno de los Controladores

hs8 =

1,0 0 0 0 0 0 0 0 0,855 0

0 1,0 0 0 0 0 0 0 −4,659 0

0 0 1,0 0 0 0 0 0 −3,627 0

0 0 0 1,0 0 0 0 0 19,76 0

0 0 0 0 1,0 0 0 0 0 0,855

0 0 0 0 0 1,0 0 0 0 −4,659

0 0 0 0 0 0 1,0 0 0 −3,627

0 0 0 0 0 0 0 1,0 0 19,76

Posteriormente, se deben volver cuadradas cada una de las matrices hermitianas para escoger

los vectores que permitan formar el espacio nulo.Por lo tanto, se rellena con ceros las filas

restantes de cada una de las matrices y luego, se deben reemplazar los elementos nulos de la

diagonal por -1. Dicho proceso se hizo en cada una de las matrices.

hsc1 =

1,0 0 0 0 0 0 0 0 −29,36 0

0 1,0 0 0 0 0 0 0 40,84 0

0 0 1,0 0 0 0 0 0 8,118 0

0 0 0 1,0 0 0 0 0 −11,29 0

0 0 0 0 1,0 0 0 0 0 −29,36

0 0 0 0 0 1,0 0 0 0 40,84

0 0 0 0 0 0 1,0 0 0 8,118

0 0 0 0 0 0 0 1,0 0 −11,29

0 0 0 0 0 0 0 0 −1,0 0

0 0 0 0 0 0 0 0 0 −1,0

hsc2 =

1,0 0 0 0 0 0 0 0 −54,03 0

0 1,0 0 0 0 0 0 0 106,5 0

0 0 1,0 0 0 0 0 0 29,98 0

0 0 0 1,0 0 0 0 0 −59,1 0

0 0 0 0 1,0 0 0 0 0 −54,03

0 0 0 0 0 1,0 0 0 0 106,5

0 0 0 0 0 0 1,0 0 0 29,98

0 0 0 0 0 0 0 1,0 0 −59,1

0 0 0 0 0 0 0 0 −1,0 0

0 0 0 0 0 0 0 0 0 −1,0

Page 83: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

5.2 Controlador de Realimentacion de Estados 69

hsc3 =

1,0 0 0 0 0 0 0 0 53,1 0

0 1,0 0 0 0 0 0 0 −135,4 0

0 0 1,0 0 0 0 0 0 −49,36 0

0 0 0 1,0 0 0 0 0 125,9 0

0 0 0 0 1,0 0 0 0 0 53,1

0 0 0 0 0 1,0 0 0 0 −135,4

0 0 0 0 0 0 1,0 0 0 −49,36

0 0 0 0 0 0 0 1,0 0 125,9

0 0 0 0 0 0 0 0 −1,0 0

0 0 0 0 0 0 0 0 0 −1,0

hsc4 =

1,0 0 0 0 0 0 0 0 10,82 0

0 1,0 0 0 0 0 0 0 −33,86 0

0 0 1,0 0 0 0 0 0 −15,14 0

0 0 0 1,0 0 0 0 0 47,4 0

0 0 0 0 1,0 0 0 0 0 10,82

0 0 0 0 0 1,0 0 0 0 −33,86

0 0 0 0 0 0 1,0 0 0 −15,14

0 0 0 0 0 0 0 1,0 0 47,4

0 0 0 0 0 0 0 0 −1,0 0

0 0 0 0 0 0 0 0 0 −1,0

hsc5 =

1,0 0 0 0 0 0 0 0 4,534 0

0 1,0 0 0 0 0 0 0 −16,82 0

0 0 1,0 0 0 0 0 0 −8,916 0

0 0 0 1,0 0 0 0 0 33,08 0

0 0 0 0 1,0 0 0 0 0 4,534

0 0 0 0 0 1,0 0 0 0 −16,82

0 0 0 0 0 0 1,0 0 0 −8,916

0 0 0 0 0 0 0 1,0 0 33,08

0 0 0 0 0 0 0 0 −1,0 0

0 0 0 0 0 0 0 0 0 −1,0

Page 84: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

70 5 Diseno de los Controladores

hsc6 =

1,0 0 0 0 0 0 0 0 2,352 0

0 1,0 0 0 0 0 0 0 −10,09 0

0 0 1,0 0 0 0 0 0 −6,185 0

0 0 0 1,0 0 0 0 0 26,53 0

0 0 0 0 1,0 0 0 0 0 2,352

0 0 0 0 0 1,0 0 0 0 −10,09

0 0 0 0 0 0 1,0 0 0 −6,185

0 0 0 0 0 0 0 1,0 0 26,53

0 0 0 0 0 0 0 0 −1,0 0

0 0 0 0 0 0 0 0 0 −1,0

hsc7 =

1,0 0 0 0 0 0 0 0 1,367 0

0 1,0 0 0 0 0 0 0 −6,656 0

0 0 1,0 0 0 0 0 0 −4,63 0

0 0 0 1,0 0 0 0 0 22,55 0

0 0 0 0 1,0 0 0 0 0 1,367

0 0 0 0 0 1,0 0 0 0 −6,656

0 0 0 0 0 0 1,0 0 0 −4,63

0 0 0 0 0 0 0 1,0 0 22,55

0 0 0 0 0 0 0 0 −1,0 0

0 0 0 0 0 0 0 0 0 −1,0

hsc8 =

1,0 0 0 0 0 0 0 0 0,855 0

0 1,0 0 0 0 0 0 0 −4,659 0

0 0 1,0 0 0 0 0 0 −3,627 0

0 0 0 1,0 0 0 0 0 19,76 0

0 0 0 0 1,0 0 0 0 0 0,855

0 0 0 0 0 1,0 0 0 0 −4,659

0 0 0 0 0 0 1,0 0 0 −3,627

0 0 0 0 0 0 0 1,0 0 19,76

0 0 0 0 0 0 0 0 −1,0 0

0 0 0 0 0 0 0 0 0 −1,0

Los vectores columna elegidos para formar el espacio nulo, son aquellos que en la diagonal

principal tienen un -1 ,es decir, las columnas 9 y 10 en cada una de las matrices hermitianas

cuadradas, con el objetivo de formar las matrices Q y V, [1].

Page 85: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

5.2 Controlador de Realimentacion de Estados 71

V =

−58,71 −27,01 159,3 21,63 13,6 2,352 1,367 0,4275

81,69 53,24 −406,3 −67,72 −50,46 −10,09 −6,656 −2,329

16,24 14,99 −148,1 −30,28 −26,75 −6,185 −4,63 −1,813

−22,59 −29,55 377,7 94,8 99,23 26,53 22,55 9,882

−14,68 −108,1 106,2 32,45 9,068 1,176 2,734 0,855

20,42 213,0 −270,9 −101,6 −33,64 −5,046 −13,31 −4,659

4,059 59,97 −98,71 −45,43 −17,83 −3,092 −9,26 −3,627

−5,647 −118,2 251,8 142,2 66,16 13,27 45,09 19,76

Q =

(−2,0 −0,5 −3,0 −2,0 −3,0 −1,0 −1,0 −0,5

−0,5 −2,0 −2,0 −3,0 −2,0 −0,5 −2,0 −1,0

)

Por ultimo, el vector de realimentacion de estados se halla mediante la ecuacion K = QV −1.

El resultado es:

K =

(0,0761 0,07893 −0,3777 −0,1026 0,09413 0,09756 −0,2221 −0,02286

−0,08159 −0,09202 0,223 0,02414 0,3097 0,3232 −0,939 −0,1608

)

A continuacion, se mostrara la implementacion realizada del controlador:

Figura 5-7: Regulador de Estados Implementado en Matlab

Page 86: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

72 5 Diseno de los Controladores

Figura 5-8: Vector de Regulacion de Estados Implementado en Matlab

5.2.2. Seguidor de Estados

Para realizar un sistema de seguimiento con el vector de realimentacion de estado, el pro-

cedimiento es similar al anteriormente mostrado, [1]. Sin embargo, ya que el sistema debe

seguir una referencia se debe realizar un nuevo calculo, mediante la escritura de las matrices

aumentadas, las cuales vienen dadas por las siguientes expresiones:

A =

[A 0

−E 0

]

B =

[B

0

]

C =[C 0

]

Reemplazando las respectivas matrices en A,B,C y teniendo en cuenta que E = C, se obtie-

Page 87: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

5.2 Controlador de Realimentacion de Estados 73

ne: A =

0 1,0 0 0 0 0 0 0 0 0

0 0 −7,0 0 0 0 0 0 0 0

0 0 0 1,0 0 0 0 0 0 0

−12,56 0 0 0 0 0 0 0 0 0

0 0 0 0 0 1,0 0 0 0 0

0 0 0 0 0 0 −7,0 0 0 0

0 0 0 0 0 0 0 1,0 0 0

0 0 0 0 −12,56 0 0 0 0 0

−1,0 0 0 0 0 0 0 0 0 0

0 0 0 0 −1,0 0 0 0 0 0

B =

0 0

0 0

0 0

51,28 0

0 0

0 0

0 0

0 51,28

0 0

0 0

C =

(1,0 0 0 0 0 0 0 0 0 0

0 0 0 0 1,0 0 0 0 0 0

)

D =

(0 0

0 0

)

Con estos ajustes, se procede a discretizar las nuevas matrices para efectuar el desarrollo

del vector de estados K que me permite hacer seguimiento a un punto de referencia. Estas

nuevas matrices son:

Page 88: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

74 5 Diseno de los Controladores

Adis =

1,002 0,1501 −0,07876 −0,003938 0 0 0 0

0 0

0,04947 1,002 −1,05 −0,07876 0 0 0 0

0 0

−0,1413 −0,007067 1,002 0,1501 0 0 0 0

0 0

−1,885 −0,1413 0,04947 1,002 0 0 0 0

0 0

0 0 0 0 1,002 0,1501 −0,07876 −0,003938

0 0

0 0 0 0 0,04947 1,002 −1,05 −0,07876

0 0

0 0 0 0 −0,1413 −0,007067 1,002 0,1501

0 0

0 0 0 0 −1,885 −0,1413 0,04947 1,002

0 0

−0,1501 −0,01125 0,003938 0,0001477 0 0 0 0

1,0 0

0 0 0 0 −0,1501 −0,01125 0,003938 0,0001477

0 1,0

∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣

∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

1,0 0

0 1,0

Page 89: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

5.2 Controlador de Realimentacion de Estados 75

Bdis =

−0,007572 0

−0,2019 0

0,5769 0

7,694 0

0 −0,007572

0 −0,2019

0 0,5769

0 7,694

0,0002271 0

0 0,0002271

Cdis =

(1,0 0 0 0 0 0 0 0 0 0

0 0 0 0 1,0 0 0 0 0 0

)

Ddis =

(0 0

0 0

)

A continuacion, se eligen los polos deseados para el seguidor,

Pd =[−20,4 −20,5 −20,6 −20,7 −20,8 −21,9 −21 −21,1 21,2 21,3

]Posteriormente, se discretizan mediante la expresion, e−alphai∗ts , donde alphai son los valores

de los polos deseados y ts es el tiempo de muestreo escogido para el diseno, en este caso

0,15seg, reemplazando se obtiene que los polos deseados discretos son:

Pdd =[

0,047 0,046 0,045 0,045 0,044 0,0370,043 0,042 0,042 0,041]

Luego, se forman las matrices aumentadas de la misma forma que se hizo en el regulador,

de lo cual se obtiene:

Rd1 =

1,049 0,1501 −0,07876 −0,003938 0 0 0

0,04947 1,049 −1,05 −0,07876 0 0 0

−0,1413 −0,007067 1,049 0,1501 0 0 0

−1,885 −0,1413 0,04947 1,049 0 0 0

0 0 0 0 1,049 0,1501 −0,07876

0 0 0 0 0,04947 1,049 −1,05

0 0 0 0 −0,1413 −0,007067 1,049

0 0 0 0 −1,885 −0,1413 0,04947

−0,1501 −0,01125 0,003938 0,0001477 0 0 0

0 0 0 0 −0,1501 −0,01125 0,003938

∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣

Page 90: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

76 5 Diseno de los Controladores∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣

0 0 0 −0,007572 0

0 0 0 −0,2019 0

0 0 0 0,5769 0

0 0 0 7,694 0

−0,003938 0 0 0 −0,007572

−0,07876 0 0 0 −0,2019

0,1501 0 0 0 0,5769

1,049 0 0 0 7,694

0 1,047 0 0,0002271 0

0,0001477 0 1,047 0 0,0002271

Rd2 =

1,048 0,1501 −0,07876 −0,003938 0 0 0

0,04947 1,048 −1,05 −0,07876 0 0 0

−0,1413 −0,007067 1,048 0,1501 0 0 0

−1,885 −0,1413 0,04947 1,048 0 0 0

0 0 0 0 1,048 0,1501 −0,07876

0 0 0 0 0,04947 1,048 −1,05

0 0 0 0 −0,1413 −0,007067 1,048

0 0 0 0 −1,885 −0,1413 0,04947

−0,1501 −0,01125 0,003938 0,0001477 0 0 0

0 0 0 0 −0,1501 −0,01125 0,003938

∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣

0 0 0 −0,007572 0

0 0 0 −0,2019 0

0 0 0 0,5769 0

0 0 0 7,694 0

−0,003938 0 0 0 −0,007572

−0,07876 0 0 0 −0,2019

0,1501 0 0 0 0,5769

1,048 0 0 0 7,694

0 1,046 0 0,0002271 0

0,0001477 0 1,046 0 0,0002271

Page 91: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

5.2 Controlador de Realimentacion de Estados 77

Rd3 =

1,047 0,1501 −0,07876 −0,003938 0 0 0

0,04947 1,047 −1,05 −0,07876 0 0 0

−0,1413 −0,007067 1,047 0,1501 0 0 0

−1,885 −0,1413 0,04947 1,047 0 0 0

0 0 0 0 1,047 0,1501 −0,07876

0 0 0 0 0,04947 1,047 −1,05

0 0 0 0 −0,1413 −0,007067 1,047

0 0 0 0 −1,885 −0,1413 0,04947

−0,1501 −0,01125 0,003938 0,0001477 0 0 0

0 0 0 0 −0,1501 −0,01125 0,003938

∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣

0 0 0 −0,007572 0

0 0 0 −0,2019 0

0 0 0 0,5769 0

0 0 0 7,694 0

−0,003938 0 0 0 −0,007572

−0,07876 0 0 0 −0,2019

0,1501 0 0 0 0,5769

1,047 0 0 0 7,694

0 1,046 0 0,0002271 0

0,0001477 0 1,046 0 0,0002271

Rd4 =

1,047 0,1501 −0,07876 −0,003938 0 0 0

0,04947 1,047 −1,05 −0,07876 0 0 0

−0,1413 −0,007067 1,047 0,1501 0 0 0

−1,885 −0,1413 0,04947 1,047 0 0 0

0 0 0 0 1,047 0,1501 −0,07876

0 0 0 0 0,04947 1,047 −1,05

0 0 0 0 −0,1413 −0,007067 1,047

0 0 0 0 −1,885 −0,1413 0,04947

−0,1501 −0,01125 0,003938 0,0001477 0 0 0

0 0 0 0 −0,1501 −0,01125 0,003938

∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣

0 0 0 −0,007572 0

0 0 0 −0,2019 0

0 0 0 0,5769 0

0 0 0 7,694 0

−0,003938 0 0 0 −0,007572

−0,07876 0 0 0 −0,2019

0,1501 0 0 0 0,5769

1,047 0 0 0 7,694

0 1,045 0 0,0002271 0

0,0001477 0 1,045 0 0,0002271

Page 92: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

78 5 Diseno de los Controladores

Rd5 =

1,046 0,1501 −0,07876 −0,003938 0 0 0

0,04947 1,046 −1,05 −0,07876 0 0 0

−0,1413 −0,007067 1,046 0,1501 0 0 0

−1,885 −0,1413 0,04947 1,046 0 0 0

0 0 0 0 1,046 0,1501 −0,07876

0 0 0 0 0,04947 1,046 −1,05

0 0 0 0 −0,1413 −0,007067 1,046

0 0 0 0 −1,885 −0,1413 0,04947

−0,1501 −0,01125 0,003938 0,0001477 0 0 0

0 0 0 0 −0,1501 −0,01125 0,003938

∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣

0 0 0 −0,007572 0

0 0 0 −0,2019 0

0 0 0 0,5769 0

0 0 0 7,694 0

−0,003938 0 0 0 −0,007572

−0,07876 0 0 0 −0,2019

0,1501 0 0 0 0,5769

1,046 0 0 0 7,694

0 1,044 0 0,0002271 0

0,0001477 0 1,044 0 0,0002271

Rd6 =

1,039 0,1501 −0,07876 −0,003938 0 0 0

0,04947 1,039 −1,05 −0,07876 0 0 0

−0,1413 −0,007067 1,039 0,1501 0 0 0

−1,885 −0,1413 0,04947 1,039 0 0 0

0 0 0 0 1,039 0,1501 −0,07876

0 0 0 0 0,04947 1,039 −1,05

0 0 0 0 −0,1413 −0,007067 1,039

0 0 0 0 −1,885 −0,1413 0,04947

−0,1501 −0,01125 0,003938 0,0001477 0 0 0

0 0 0 0 −0,1501 −0,01125 0,003938

∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣

0 0 0 −0,007572 0

0 0 0 −0,2019 0

0 0 0 0,5769 0

0 0 0 7,694 0

−0,003938 0 0 0 −0,007572

−0,07876 0 0 0 −0,2019

0,1501 0 0 0 0,5769

1,039 0 0 0 7,694

0 1,037 0 0,0002271 0

0,0001477 0 1,037 0 0,0002271

Page 93: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

5.2 Controlador de Realimentacion de Estados 79

Rd7 =

1,045 0,1501 −0,07876 −0,003938 0 0 0

0,04947 1,045 −1,05 −0,07876 0 0 0

−0,1413 −0,007067 1,045 0,1501 0 0 0

−1,885 −0,1413 0,04947 1,045 0 0 0

0 0 0 0 1,045 0,1501 −0,07876

0 0 0 0 0,04947 1,045 −1,05

0 0 0 0 −0,1413 −0,007067 1,045

0 0 0 0 −1,885 −0,1413 0,04947

−0,1501 −0,01125 0,003938 0,0001477 0 0 0

0 0 0 0 −0,1501 −0,01125 0,003938

∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣

0 0 0 −0,007572 0

0 0 0 −0,2019 0

0 0 0 0,5769 0

0 0 0 7,694 0

−0,003938 0 0 0 −0,007572

−0,07876 0 0 0 −0,2019

0,1501 0 0 0 0,5769

1,045 0 0 0 7,694

0 1,043 0 0,0002271 0

0,0001477 0 1,043 0 0,0002271

Rd8 =

1,044 0,1501 −0,07876 −0,003938 0 0 0

0,04947 1,044 −1,05 −0,07876 0 0 0

−0,1413 −0,007067 1,044 0,1501 0 0 0

−1,885 −0,1413 0,04947 1,044 0 0 0

0 0 0 0 1,044 0,1501 −0,07876

0 0 0 0 0,04947 1,044 −1,05

0 0 0 0 −0,1413 −0,007067 1,044

0 0 0 0 −1,885 −0,1413 0,04947

−0,1501 −0,01125 0,003938 0,0001477 0 0 0

0 0 0 0 −0,1501 −0,01125 0,003938

∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣

0 0 0 −0,007572 0

0 0 0 −0,2019 0

0 0 0 0,5769 0

0 0 0 7,694 0

−0,003938 0 0 0 −0,007572

−0,07876 0 0 0 −0,2019

0,1501 0 0 0 0,5769

1,044 0 0 0 7,694

0 1,042 0 0,0002271 0

0,0001477 0 1,042 0 0,0002271

Page 94: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

80 5 Diseno de los Controladores

R9 =

1,043 0,1501 −0,07876 −0,003938 0 0 0

0,04947 1,043 −1,05 −0,07876 0 0 0

−0,1413 −0,007067 1,043 0,1501 0 0 0

−1,885 −0,1413 0,04947 1,043 0 0 0

0 0 0 0 1,043 0,1501 −0,07876

0 0 0 0 0,04947 1,043 −1,05

0 0 0 0 −0,1413 −0,007067 1,043

0 0 0 0 −1,885 −0,1413 0,04947

−0,1501 −0,01125 0,003938 0,0001477 0 0 0

0 0 0 0 −0,1501 −0,01125 0,003938

∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣

0 0 0 −0,007572 0

0 0 0 −0,2019 0

0 0 0 0,5769 0

0 0 0 7,694 0

−0,003938 0 0 0 −0,007572

−0,07876 0 0 0 −0,2019

0,1501 0 0 0 0,5769

1,043 0 0 0 7,694

0 1,042 0 0,0002271 0

0,0001477 0 1,042 0 0,0002271

Rd10 =

1,043 0,1501 −0,07876 −0,003938 0 0 0

0,04947 1,043 −1,05 −0,07876 0 0 0

−0,1413 −0,007067 1,043 0,1501 0 0 0

−1,885 −0,1413 0,04947 1,043 0 0 0

0 0 0 0 1,043 0,1501 −0,07876

0 0 0 0 0,04947 1,043 −1,05

0 0 0 0 −0,1413 −0,007067 1,043

0 0 0 0 −1,885 −0,1413 0,04947

−0,1501 −0,01125 0,003938 0,0001477 0 0 0

0 0 0 0 −0,1501 −0,01125 0,003938

∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣

0 0 0 −0,007572 0

0 0 0 −0,2019 0

0 0 0 0,5769 0

0 0 0 7,694 0

−0,003938 0 0 0 −0,007572

−0,07876 0 0 0 −0,2019

0,1501 0 0 0 0,5769

1,043 0 0 0 7,694

0 1,041 0 0,0002271 0

0,0001477 0 1,041 0 0,0002271

Page 95: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

5.2 Controlador de Realimentacion de Estados 81

Siguiendo el procedimiento, se debe calcular las matrices normales hermitianas con cada uno

de las matrices aumentadas. Esto fue realizado con ayuda computacional y el resultado es:

hRd1 =

1,0 0 0 0 0 0 0 0 0 0 0,003204 0

0 1,0 0 0 0 0 0 0 0 0 −0,1433 0

0 0 1,0 0 0 0 0 0 0 0 −0,5016 0

0 0 0 1,0 0 0 0 0 0 0 7,347 0

0 0 0 0 1,0 0 0 0 0 0 0 0,003204

0 0 0 0 0 1,0 0 0 0 0 0 −0,1433

0 0 0 0 0 0 1,0 0 0 0 0 −0,5016

0 0 0 0 0 0 0 1,0 0 0 0 7,347

0 0 0 0 0 0 0 0 1,0 0 −1,384 · 10−5 0

0 0 0 0 0 0 0 0 0 1,0 0 −1,384 · 10−5

hRd2 =

1,0 0 0 0 0 0 0 0 0 0 0,003256 0

0 1,0 0 0 0 0 0 0 0 0 −0,1441 0

0 0 1,0 0 0 0 0 0 0 0 −0,5027 0

0 0 0 1,0 0 0 0 0 0 0 7,352 0

0 0 0 0 1,0 0 0 0 0 0 0 0,003256

0 0 0 0 0 1,0 0 0 0 0 0 −0,1441

0 0 0 0 0 0 1,0 0 0 0 0 −0,5027

0 0 0 0 0 0 0 1,0 0 0 0 7,352

0 0 0 0 0 0 0 0 1,0 0 −1,136 · 10−5 0

0 0 0 0 0 0 0 0 0 1,0 0 −1,136 · 10−5

hRd3 =

1,0 0 0 0 0 0 0 0 0 0 0,003308 0

0 1,0 0 0 0 0 0 0 0 0 −0,1449 0

0 0 1,0 0 0 0 0 0 0 0 −0,5037 0

0 0 0 1,0 0 0 0 0 0 0 7,357 0

0 0 0 0 1,0 0 0 0 0 0 0 0,003308

0 0 0 0 0 1,0 0 0 0 0 0 −0,1449

0 0 0 0 0 0 1,0 0 0 0 0 −0,5037

0 0 0 0 0 0 0 1,0 0 0 0 7,357

0 0 0 0 0 0 0 0 1,0 0 −8,88 · 10−6 0

0 0 0 0 0 0 0 0 0 1,0 0 −8,88 · 10−6

Page 96: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

82 5 Diseno de los Controladores

hRd4 =

1,0 0 0 0 0 0 0 0 0 0 0,003308 0

0 1,0 0 0 0 0 0 0 0 0 −0,1449 0

0 0 1,0 0 0 0 0 0 0 0 −0,5037 0

0 0 0 1,0 0 0 0 0 0 0 7,357 0

0 0 0 0 1,0 0 0 0 0 0 0 0,003308

0 0 0 0 0 1,0 0 0 0 0 0 −0,1449

0 0 0 0 0 0 1,0 0 0 0 0 −0,5037

0 0 0 0 0 0 0 1,0 0 0 0 7,357

0 0 0 0 0 0 0 0 1,0 0 −8,88 · 10−6 0

0 0 0 0 0 0 0 0 0 1,0 0 −8,88 · 10−6

hRd5 =

1 0 0 0 0 0 0 0 0 0 0,003411 0

0 1 0 0 0 0 0 0 0 0 −0,1464 0

0 0 1 0 0 0 0 0 0 0 −0,5057 0

0 0 0 1 0 0 0 0 0 0 7,366 0

0 0 0 0 1 0 0 0 0 0 0 0,003411

0 0 0 0 0 1 0 0 0 0 0 −0,1464

0 0 0 0 0 0 1 0 0 0 0 −0,5057

0 0 0 0 0 0 0 1 0 0 0 7,366

0 0 0 0 0 0 0 0 1 0 −3,958 · 10−6 0

0 0 0 0 0 0 0 0 0 1 0 −3,958 · 10−6

hRd6 =

1,0 0 0 0 0 0 0 0 0 0 0,003944 0

0 1,0 0 0 0 0 0 0 0 0 −0,154 0

0 0 1,0 0 0 0 0 0 0 0 −0,5159 0

0 0 0 1,0 0 0 0 0 0 0 7,414 0

0 0 0 0 1,0 0 0 0 0 0 0 0,003944

0 0 0 0 0 1,0 0 0 0 0 0 −0,154

0 0 0 0 0 0 1,0 0 0 0 0 −0,5159

0 0 0 0 0 0 0 1,0 0 0 0 7,414

0 0 0 0 0 0 0 0 1,0 0 2,224 · 10−5 0

0 0 0 0 0 0 0 0 0 1,0 0 2,224 · 10−5

Page 97: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

5.2 Controlador de Realimentacion de Estados 83

hRd7 =

1,0 0 0 0 0 0 0 0 0 0 0,003512 0

0 1,0 0 0 0 0 0 0 0 0 −0,1478 0

0 0 1,0 0 0 0 0 0 0 0 −0,5077 0

0 0 0 1,0 0 0 0 0 0 0 7,376 0

0 0 0 0 1,0 0 0 0 0 0 0 0,003512

0 0 0 0 0 1,0 0 0 0 0 0 −0,1478

0 0 0 0 0 0 1,0 0 0 0 0 −0,5077

0 0 0 0 0 0 0 1,0 0 0 0 7,376

0 0 0 0 0 0 0 0 1,0 0 9,202 · 10−7 0

0 0 0 0 0 0 0 0 0 1,0 0 9,202 · 10−7

hRd8 =

1,0 0 0 0 0 0 0 0 0 0 0,003562 0

0 1,0 0 0 0 0 0 0 0 0 −0,1485 0

0 0 1,0 0 0 0 0 0 0 0 −0,5086 0

0 0 0 1,0 0 0 0 0 0 0 7,38 0

0 0 0 0 1,0 0 0 0 0 0 0 0,003562

0 0 0 0 0 1,0 0 0 0 0 0 −0,1485

0 0 0 0 0 0 1,0 0 0 0 0 −0,5086

0 0 0 0 0 0 0 1,0 0 0 0 7,38

0 0 0 0 0 0 0 0 1,0 0 3,342 · 10−6 0

0 0 0 0 0 0 0 0 0 1,0 0 3,342 · 10−6

hRd9 =

1,0 0 0 0 0 0 0 0 0 0 0,003612 0

0 1,0 0 0 0 0 0 0 0 0 −0,1492 0

0 0 1,0 0 0 0 0 0 0 0 −0,5096 0

0 0 0 1,0 0 0 0 0 0 0 7,385 0

0 0 0 0 1,0 0 0 0 0 0 0 0,003612

0 0 0 0 0 1,0 0 0 0 0 0 −0,1492

0 0 0 0 0 0 1,0 0 0 0 0 −0,5096

0 0 0 0 0 0 0 1,0 0 0 0 7,385

0 0 0 0 0 0 0 0 1,0 0 5,751 · 10−6 0

0 0 0 0 0 0 0 0 0 1,0 0 5,751 · 10−6

Page 98: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

84 5 Diseno de los Controladores

hRdc10 =

1,0 0 0 0 0 0 0 0 0 0 0,003661 0

0 1,0 0 0 0 0 0 0 0 0 −0,1499 0

0 0 1,0 0 0 0 0 0 0 0 −0,5105 0

0 0 0 1,0 0 0 0 0 0 0 7,389 0

0 0 0 0 1,0 0 0 0 0 0 0 0,003661

0 0 0 0 0 1,0 0 0 0 0 0 −0,1499

0 0 0 0 0 0 1,0 0 0 0 0 −0,5105

0 0 0 0 0 0 0 1,0 0 0 0 7,389

0 0 0 0 0 0 0 0 1,0 0 8,147 · 10−6 0

0 0 0 0 0 0 0 0 0 1,0 0 8,147 · 10−6

Con estas matrices se deben escoger los vectores que me permitan formar el espacio nu-

lo.Para lograr esto, las matrices deben ser cuadradas, [1]. Por lo tanto, se rellena con ceros

las filas faltantes de cada una de las matrices. Luego, se debe sustituir por -1 los elementos

correspondientes a la diagonal principal. .

hRdc1 =

1,0 0 0 0 0 0 0 0 0 0 0,003204 0

0 1,0 0 0 0 0 0 0 0 0 −0,1433 0

0 0 1,0 0 0 0 0 0 0 0 −0,5016 0

0 0 0 1,0 0 0 0 0 0 0 7,347 0

0 0 0 0 1,0 0 0 0 0 0 0 0,003204

0 0 0 0 0 1,0 0 0 0 0 0 −0,1433

0 0 0 0 0 0 1,0 0 0 0 0 −0,5016

0 0 0 0 0 0 0 1,0 0 0 0 7,347

0 0 0 0 0 0 0 0 1,0 0 −1,384 · 10−5 0

0 0 0 0 0 0 0 0 0 1,0 0 −1,384 · 10−5

0 0 0 0 0 0 0 0 0 0 −1,0 0

0 0 0 0 0 0 0 0 0 0 0 −1,0

Page 99: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

5.2 Controlador de Realimentacion de Estados 85

hRdc2 =

1,0 0 0 0 0 0 0 0 0 0 0,003256 0

0 1,0 0 0 0 0 0 0 0 0 −0,1441 0

0 0 1,0 0 0 0 0 0 0 0 −0,5027 0

0 0 0 1,0 0 0 0 0 0 0 7,352 0

0 0 0 0 1,0 0 0 0 0 0 0 0,003256

0 0 0 0 0 1,0 0 0 0 0 0 −0,1441

0 0 0 0 0 0 1,0 0 0 0 0 −0,5027

0 0 0 0 0 0 0 1,0 0 0 0 7,352

0 0 0 0 0 0 0 0 1,0 0 −1,136 · 10−5 0

0 0 0 0 0 0 0 0 0 1,0 0 −1,136 · 10−5

0 0 0 0 0 0 0 0 0 0 −1,0 0

0 0 0 0 0 0 0 0 0 0 0 −1,0

hRdc3 =

1,0 0 0 0 0 0 0 0 0 0 0,003308 0

0 1,0 0 0 0 0 0 0 0 0 −0,1449 0

0 0 1,0 0 0 0 0 0 0 0 −0,5037 0

0 0 0 1,0 0 0 0 0 0 0 7,357 0

0 0 0 0 1,0 0 0 0 0 0 0 0,003308

0 0 0 0 0 1,0 0 0 0 0 0 −0,1449

0 0 0 0 0 0 1,0 0 0 0 0 −0,5037

0 0 0 0 0 0 0 1,0 0 0 0 7,357

0 0 0 0 0 0 0 0 1,0 0 −8,88 · 10−6 0

0 0 0 0 0 0 0 0 0 1,0 0 −8,88 · 10−6

0 0 0 0 0 0 0 0 0 0 −1,0 0

0 0 0 0 0 0 0 0 0 0 0 −1,0

hRdc4 =

1,0 0 0 0 0 0 0 0 0 0 0,00336 0

0 1,0 0 0 0 0 0 0 0 0 −0,1456 0

0 0 1,0 0 0 0 0 0 0 0 −0,5047 0

0 0 0 1,0 0 0 0 0 0 0 7,361 0

0 0 0 0 1,0 0 0 0 0 0 0 0,00336

0 0 0 0 0 1,0 0 0 0 0 0 −0,1456

0 0 0 0 0 0 1,0 0 0 0 0 −0,5047

0 0 0 0 0 0 0 1,0 0 0 0 7,361

0 0 0 0 0 0 0 0 1,0 0 −6,414 · 10−6 0

0 0 0 0 0 0 0 0 0 1,0 0 −6,414 · 10−6

0 0 0 0 0 0 0 0 0 0 −1,0 0

0 0 0 0 0 0 0 0 0 0 0 −1,0

Page 100: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

86 5 Diseno de los Controladores

hRdc5 =

1,0 0 0 0 0 0 0 0 0 0 0,003411 0

0 1,0 0 0 0 0 0 0 0 0 −0,1464 0

0 0 1,0 0 0 0 0 0 0 0 −0,5057 0

0 0 0 1,0 0 0 0 0 0 0 7,366 0

0 0 0 0 1,0 0 0 0 0 0 0 0,003411

0 0 0 0 0 1,0 0 0 0 0 0 −0,1464

0 0 0 0 0 0 1,0 0 0 0 0 −0,5057

0 0 0 0 0 0 0 1,0 0 0 0 7,366

0 0 0 0 0 0 0 0 1,0 0 −3,958 · 10−6 0

0 0 0 0 0 0 0 0 0 1,0 0 −3,958 · 10−6

0 0 0 0 0 0 0 0 0 0 −1,0 0

0 0 0 0 0 0 0 0 0 0 0 −1,0

hRdc6 =

1,0 0 0 0 0 0 0 0 0 0 0,003944 0

0 1,0 0 0 0 0 0 0 0 0 −0,154 0

0 0 1,0 0 0 0 0 0 0 0 −0,5159 0

0 0 0 1,0 0 0 0 0 0 0 7,414 0

0 0 0 0 1,0 0 0 0 0 0 0 0,003944

0 0 0 0 0 1,0 0 0 0 0 0 −0,154

0 0 0 0 0 0 1,0 0 0 0 0 −0,5159

0 0 0 0 0 0 0 1,0 0 0 0 7,414

0 0 0 0 0 0 0 0 1,0 0 2,224 · 10−5 0

0 0 0 0 0 0 0 0 0 1,0 0 2,224 · 10−5

0 0 0 0 0 0 0 0 0 0 −1,0 0

0 0 0 0 0 0 0 0 0 0 0 −1,0

hRdc7 =

1,0 0 0 0 0 0 0 0 0 0 0,003512 0

0 1,0 0 0 0 0 0 0 0 0 −0,1478 0

0 0 1,0 0 0 0 0 0 0 0 −0,5077 0

0 0 0 1,0 0 0 0 0 0 0 7,376 0

0 0 0 0 1,0 0 0 0 0 0 0 0,003512

0 0 0 0 0 1,0 0 0 0 0 0 −0,1478

0 0 0 0 0 0 1,0 0 0 0 0 −0,5077

0 0 0 0 0 0 0 1,0 0 0 0 7,376

0 0 0 0 0 0 0 0 1,0 0 9,202 · 10−7 0

0 0 0 0 0 0 0 0 0 1,0 0 9,202 · 10−7

0 0 0 0 0 0 0 0 0 0 −1,0 0

0 0 0 0 0 0 0 0 0 0 0 −1,0

Page 101: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

5.2 Controlador de Realimentacion de Estados 87

hRdc8 =

1,0 0 0 0 0 0 0 0 0 0 0,003562 0

0 1,0 0 0 0 0 0 0 0 0 −0,1485 0

0 0 1,0 0 0 0 0 0 0 0 −0,5086 0

0 0 0 1,0 0 0 0 0 0 0 7,38 0

0 0 0 0 1,0 0 0 0 0 0 0 0,003562

0 0 0 0 0 1,0 0 0 0 0 0 −0,1485

0 0 0 0 0 0 1,0 0 0 0 0 −0,5086

0 0 0 0 0 0 0 1,0 0 0 0 7,38

0 0 0 0 0 0 0 0 1,0 0 3,342 · 10−6 0

0 0 0 0 0 0 0 0 0 1,0 0 3,342 · 10−6

0 0 0 0 0 0 0 0 0 0 −1,0 0

0 0 0 0 0 0 0 0 0 0 0 −1,0

hRdc9 =

1,0 0 0 0 0 0 0 0 0 0 0,003612 0

0 1,0 0 0 0 0 0 0 0 0 −0,1492 0

0 0 1,0 0 0 0 0 0 0 0 −0,5096 0

0 0 0 1,0 0 0 0 0 0 0 7,385 0

0 0 0 0 1,0 0 0 0 0 0 0 0,003612

0 0 0 0 0 1,0 0 0 0 0 0 −0,1492

0 0 0 0 0 0 1,0 0 0 0 0 −0,5096

0 0 0 0 0 0 0 1,0 0 0 0 7,385

0 0 0 0 0 0 0 0 1,0 0 5,751 · 10−6 0

0 0 0 0 0 0 0 0 0 1,0 0 5,751 · 10−6

0 0 0 0 0 0 0 0 0 0 −1,0 0

0 0 0 0 0 0 0 0 0 0 0 −1,0

hRdc10 =

1,0 0 0 0 0 0 0 0 0 0 0,003661 0

0 1,0 0 0 0 0 0 0 0 0 −0,1499 0

0 0 1,0 0 0 0 0 0 0 0 −0,5105 0

0 0 0 1,0 0 0 0 0 0 0 7,389 0

0 0 0 0 1,0 0 0 0 0 0 0 0,003661

0 0 0 0 0 1,0 0 0 0 0 0 −0,1499

0 0 0 0 0 0 1,0 0 0 0 0 −0,5105

0 0 0 0 0 0 0 1,0 0 0 0 7,389

0 0 0 0 0 0 0 0 1,0 0 8,147 · 10−6 0

0 0 0 0 0 0 0 0 0 1,0 0 8,147 · 10−6

0 0 0 0 0 0 0 0 0 0 −1,0 0

0 0 0 0 0 0 0 0 0 0 0 −1,0

Page 102: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

88 5 Diseno de los Controladores

Para finalizar, los vectores columna que se eligen para formar el espacio nulo, son aquellos

que en la diagonal principal tienen un -1, es decir las columnas 9 y 10 de cada una de las

matrices. Esto con el fin de obtener las matrices Q y V, [1].

V =

0,001602 0,001628 0,009925 0,00672 0,01023 0,003944

−0,07167 −0,07205 −0,4346 −0,2912 −0,4391 −0,154

−0,2508 −0,2513 −1,511 −1,009 −1,517 −0,5159

3,673 3,676 22,07 14,72 22,1 7,414

0,006407 0,006513 0,006617 0,01008 0,006823 0,001972

−0,2867 −0,2882 −0,2897 −0,4368 −0,2927 −0,07699

−1,003 −1,005 −1,007 −1,514 −1,011 −0,2579

14,69 14,7 14,71 22,08 14,73 3,707

−6,922 · 10−6 −5,679 · 10−6 −2,664 · 10−5 −1,283 · 10−5 −1,187 · 10−5 2,224 · 10−5

−2,769 · 10−5 −2,271 · 10−5 −1,776 · 10−5 −1,924 · 10−5 −7,916 · 10−6 1,112 · 10−5

∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣

0,003512 0,001781 0,007223 0,01098

−0,1478 −0,07427 −0,2985 −0,4498

−0,5077 −0,2543 −1,019 −1,531

7,376 3,69 14,77 22,17

0,007025 0,003562 0,01083 0,03294

−0,2956 −0,1485 −0,4477 −1,35

−1,015 −0,5086 −1,529 −4,594

14,75 7,38 22,15 66,5

9,202 · 10−7 1,671 · 10−6 1,15 · 10−5 2,444 · 10−5

1,84 · 10−6 3,342 · 10−6 1,725 · 10−5 7,332 · 10−5

Q =

(−0,5 −0,5 −3,0 −2,0 −3,0 −1,0 −1,0 −0,5 −2,0 −3,0

−2,0 −2,0 −2,0 −3,0 −2,0 −0,5 −2,0 −1,0 −3,0 −9,0

)

El vector de seguimiento con la realimentacion de estado se calcula con K = QV −1. El

resultado es:

Kbar =

(19,178 3,828 −3,404 −0,3022 0,03105 0,0038 −0,001 −0,00006

−0,1028 −0,01278 0,0061 0,0002 19,3068 3,844 −3,411 −0,3025

∣∣∣∣∣∣∣∣ −45,122 −0,113

0,3726 −45,588

)

La implementacion de dicho controlador se muestra en la siguiente figura:

Page 103: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

5.2 Controlador de Realimentacion de Estados 89

Figura 5-9: Implementacion del regulador

Figura 5-10: Implementacion del regulador K

Page 104: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

90 5 Diseno de los Controladores

Figura 5-11: Implementacion del regulador K ampliada

Page 105: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

Capıtulo 6

Estimacion de Parametros y Resultados

6.1. Estimacion de parametros

Para la estimacion de los parametros del sistema, se tomaron datos de la entrada y la

salida del sistema, con el objetivo de realizar la estimacion con la ayuda de una herramienta

computacional, en este caso el toolbox de Matlab de Ident, [5], el cual permite realizar este

proceso de distintas forma. Para realizar la identificacion se tomaron los datos de salida

(Posicion de la bola en el plano) a una entrada sinusoidal, como se puede apreciar en la

Figura 6-1 para el eje x y en la Figura 6-2 para el eje y.

Figura 6-1: Medicion del Sistema en el eje X

Posteriormente, mediante el Toolbox de matlab se estimaron las matrices de estado para las

Figuras 6-1 y 6-2, obteniendo como resultado los siguientes valores:

Page 106: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

92 6 Estimacion de Parametros y Resultados

Figura 6-2: Medicion del Sistema en el eje Y

Aest =

−0,6947 −0,1062 10,87 −1,905 −3,233 −2,601 9,307 6,59

1,025 −0,5681 0,3702 14,06 −1,056 −3,225 −4,237 −7,991

−8,76 0,3791 −11,08 2,717 44,74 10,93 −75,4 −53,18

0,4867 −9,551 1,699 −25,91 23,99 53,24 54,18 70,27

−5,249 2,469 −28,86 5,236 −336,5 −604,7 510,3 325,6

−1,188 −0,1567 1,141 −6,804 154,0 −253,3 486,5 100,4

4,092 −1,723 12,03 −4,834 218,0 93,22 −544,9 −64,49

2,988 1,73 10,94 21,4 −17,44 118,6 −395,2 −298,5

Best =

−0,1061 0,09149

0,05406 −0,04081

0,1172 −0,03343

−0,2046 0,07228

0,3233 0,3613

0,2277 0,2977

0,09666 0,1829

−0,1918 0,1133

Cest =

(408,9 −375,0 −0,9293 4,312 6,23 −1,481 −18,4 −16,84

440,9 243,4 −2,06 −1,617 10,05 5,992 −10,59 −1,058

)

Page 107: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

6.2 Simulaciones de los Controladores 93

Dest =

(0 0

0 0

)Es importante aclarar, que los valores obtenidos en las matrices de estado, seran empleados

para realizar la validacion de los resultados de las simulaciones y posteriormente, poder llevar

a cabo una comparacion contra los de la vida real.

6.2. Simulaciones de los Controladores

6.2.1. Control por Regulacion de Estados

Para realizar la simulacion, se empleo el toolbox de matlab Simulink, donde mediante el uso

de algunas de sus herramientas se llevo a cabo la simulacion. En este caso se emplearon las

matrices calculadas en el capıtulo 5, y la K hallada para el regulador de estados, como datos

de entrada para el correcto funcionamiento de la simulacion. En la Figura 6-3, se puede

apreciar el diagrama implementado en el Toolbox:

Figura 6-3: Esquema de Simulacion por el Controlador por Regulacion

Mientras que en la Figura 6-4, se puede apreciar la respuesta del sistema. Ya que en dicha

figura se puede observar como ante unas condiciones iniciales del sistema diferentes de cero,

este responde de tal manera que lleva los valores distintos de cero a cero en este caso, las

posicion en x y en y.

Page 108: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

94 6 Estimacion de Parametros y Resultados

Figura 6-4: Resultado Simulacion del Regulador

6.2.2. Seguidor de Estados

En este caso, fue necesario emplear las matrices obtenidas mediante el toolbox, para realizar

la simulacion del sistema, en la Figura 6-5, se puede apreciar el esquema implementado

para tal fin, ası mismo en la Figura 6-6 se pueden apreciar los resultados obtenidos de la

simulacion:

Figura 6-5: Esquema de Simulacion por el Controlador por Seguimiento

Como se puede apreciar, la respuesta para cada uno de los ejes difiere y posee un error

que es mınimo. El error presentado en cada uno de los ejes es diferente, dandonos 0,6 cm

Page 109: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

6.2 Simulaciones de los Controladores 95

Figura 6-6: Resultado Simulacion del Seguidor

y en el eje Y es de 0,88 cm en el eje X. Esto nos indica un error en pixeles de 1,95 y 2,86

respectivamente. Tambien, se pueden apreciar las diferentes oscilaciones de la posicion de

la esfera en el sistema para llegar al Set-point, lo cual se asemeja al comportamiento del

sistema implementado.

6.2.3. Resultados Implementacion Real del Sistema

Como se muestra en la Figura 6-7, al inicio de la grafıca el valor de esta es cero, lo cual

podrıa llevar a pensar que el sistema ya actuo, sin embargo, lo que sucede es que mientras se

abre la interfaz y se realiza configuracion inicial de esta, el sistema no captura datos a traves

de los perifericos del sistema, por lo cual a partir de 1,5seg se ve la respuesta del controlador.

Como se puede observar, la implementacion posee oscilaciones mas pronunciadas y un tiempo

de establecimiento un poco mayor que en la simulacion, Figura 6-4, ya que existen factores

externos que afectan su desempeno, como lo son la construccion del sistema, la bola, la

iluminacion, las sobras producidas por los cambios de luz entre otros.

Algo muy parecido ocurre en el comportamiento del sistema en el eje Y con respecto a la

Figura 6-4.

Page 110: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

96 6 Estimacion de Parametros y Resultados

0 1 2 3 4 5 6 7−60

−50

−40

−30

−20

−10

0

10

20

30

40Respuesta Sistema Regulador en el eje X

Tiempo

Pos

icio

n (p

x)

Figura 6-7: Resultado Implementacion del Regulador en el eje X

0 1 2 3 4 5 6 7−30

−20

−10

0

10

20

30Respuesta Sistema con Regulación en el eje Y

Tiempo

Pos

icio

n (p

x)

Figura 6-8: Resultado Implementacion del Regulador en el eje Y

6.2.4. Resultados Implementacion Real del Controlador por Re-

alimentacion de Estados

En la Figura 6-9, por las mismas razones que se han dicho con anterioridad, se aprecia

un tiempo en el que el controlador no provoca ningun cambio en el sistema. Pero en el

Page 111: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

6.2 Simulaciones de los Controladores 97

0 1 2 3 4 5 6−40

−30

−20

−10

0

10

20

30

40

50

60Respuesta Sistema con Seguimiento en el eje X

Tiempo

Pos

icio

n (p

x)

Figura 6-9: Resultado Implementacion del Seguidor en el eje X

momento en que este actua, y debido a que la posicion inicial de la bola esta muy alejada del

Set-point deseado en X el controlador provoca un cambio brusco en la posicion de la bola

pero a medida que se aproxima van reduciendo la accion del controlador hasta que llega a

estabilizarlo en la referencia, que en este caso, a 20 pixeles en x con respecto al origen del

plano.

0 1 2 3 4 5 6−40

−30

−20

−10

0

10

20

30

40

50

60Respuesta Sistema con Seguimiento en el eje Y

Tiempo

Pos

icio

n (p

x)

Figura 6-10: Resultado Implementacion del Seguidor en el eje Y

Misma situacion ocurre en el caso del eje Y , ya que se puede apreciar como al inicio de la

Page 112: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

98 6 Estimacion de Parametros y Resultados

accion, esta presenta un cambio fuerte mientras que a medida que se acerca al Set-Point esta

disminuye. Llevando a estabilizar la bola en el punto deseado, en este caso 18.

6.2.5. Validacion entrada salida Modelo estimado Vs Modelo Real

Resta validar el la respuesta del sistema real contra la respuesta del sistema estimado, para

esto se realizara la comparacion de la respuesta de la respuesta de ambos sistemas frente

a una entrada sinusoidal. En este caso en las Figuras 6-11, y 6-12, se puede apreciar la

respuesta del sistema tanto en el eje x como en el ejey, donde las graficas de color azul

corresponde al valor estimado, mientras que las graficas de color negro a las mediciones

reales.

Figura 6-11: Comparacion Respuesta Real Vs Estimada eje X

Si bien en las Figuras 6-11 y 6-12, se puede apreciar cierta diferencia entre las graficas, esto

se debe a que en el caso de las graficas reales estas presentan una saturacion al valor maximo

del area del plano, mientras que las estimadas siguen creciendo sin tener en cuenta el area

maxima del plano, lo cual se podrıa asumir como un comportamiento natural en caso de que

el plano tuviese una mayor superficie.

Page 113: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

6.2 Simulaciones de los Controladores 99

Figura 6-12: Comparacion Respuesta Real Vs Estimada eje Y

6.2.6. Resultados Reales del Controlador Difuso

En las Figuras 6-13 y 6-14, se puede apreciar al comportamiento del sistema real, cuando se

elige como set-point el origen del sistema, es decir, el punto (0,0) del plano. Las oscilaciones

en la grafica al inicio son mas fuertes debido a que la accion de control que se debe realizar

para llegar al punto deseado es mayor, que cuando la bola se acerca al punto deseado.

Ası mismo, se puede apreciar como las oscilaciones en el eje x al cabo de 3,5seg son mayores

que en el eje y.

Por otra parte en las Figuras 6-15 y 6-16, se puede apreciar el comportamiento del sistema

cuando el punto deseado es distinto al origen del plano, con lo cual el comportamiento del

sistema se modifica de tal manera que la bola llegue al punto deseado.

Mientras que en la Figura 6-17, se muestra la grafica de superficie de las reglas del contro-

lador difuso. La cual se puede interpretar con ayuda de las graficas de colores de las Figuras

6-18 y 6-19, donde cada color tiene una correspondencia, con las reglas aplicadas en el

diseno del controlador. Por ultimo se puede apreciar como el comportamiento del eje x es

inverso al del eje y, lo cual se debe a la ubicacio de los motores en la construccion fısica.

Page 114: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

100 6 Estimacion de Parametros y Resultados

0 0.5 1 1.5 2 2.5 3 3.5−10

−5

0

5

10

15

20

25

30Respuesta Real Controlador Difuso en el eje X

Tiempo

Pos

icio

n (p

x)

Figura 6-13: Respuesta del Sistema Real en el Eje X

0 0.5 1 1.5 2 2.5 3 3.5−5

0

5

10

15

20Respuesta Real Controlador Difuso en el eje Y

Tiempo

Pos

icio

n (p

x)

Figura 6-14: Respuesta del Sistema Real en el Eje Y

Page 115: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

6.2 Simulaciones de los Controladores 101

0 1 2 3 4 5 6 7 80

5

10

15

20

25

30

35Respuesta Real Controlador Difuso en el eje X

Tiempo

Pos

icio

n (p

x)

Figura 6-15: Respuesta del Sistema Real en el Eje X

0 1 2 3 4 5 6 7 80

5

10

15

20

25

30

35

40Respuesta Real Controlador Difuso en el eje Y

Tiempo

Pos

icio

n (p

x)

Figura 6-16: Respuesta del Sistema Real en el Eje Y

Page 116: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

102 6 Estimacion de Parametros y Resultados

Figura 6-17: Grafico de Superficie Resultante

Figura 6-18: Grafico Colores Reglas en el eje X

Figura 6-19: Grafico Colores Reglas en el eje Y

Page 117: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

6.2 Simulaciones de los Controladores 103

6.2.7. Costos de implementacion

El Costo total de implementacion del prototipo incluyendo las pruebas de los otros mecanis-

mos fue de 436500 pesos. Mientras que para construir una replica el valor aproximado seria

de 246500 pesos.

Tabla 6-1: Costos de implementacionMateriales Costo

Servomotores 70000

Paneles laterales 16000

Estructura de madera 45000

Rotulas 25500

Arduino 30000

Base de motores y pivote 8000

Barras de aeromodelismo 32000

Plano 20000

Otras pruebas de diseno 190000

Page 118: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano
Page 119: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

Conclusiones y Trabajos Futuros

Conclusiones

Si bien el planteamiento del modelo del sistema se puede abordar por distintos metodos,

a lo largo de este trabajo se logro evidenciar que realizar el planteamiento a traves de la

fısica newtoniana resulta mucho mas complejo que realizar el planteamiento por medio

de las ecuaciones de Lagrange, ya que el nivel de abstraccion en las ecuaciones de

Lagrange es mucho mayor que el caso de la fisica newtoniana, reduciendo la cantidad

de calculos necesarios para obtener el modelo.

La precision en un controlador difuso depende de la cantidad de reglas y parametros

de entrada que se toman, ya que a mayor cantidad de reglas los intervalos de control

son mas pequenos, permitiendo realizar un control mas preciso y suave, lo cual a su

vez se refleja en el movimiento del plano. Sin embargo, se debe tener en cuenta que a

mayor cantidad de reglas, mas grande es el costo computacional, lo cual a su vez se

refleja en el desmejoramiento del rendimiento y la respuesta del sistema.

El controlador por realimentacion de estados posee un comportamiento mas suave que

el controlador difuso, ya que dentro del diseno del controlador la cantidad de variables

controladas es mayor, puesto que en controlador por regulacion de estados se tienen en

cuenta las ocho variables de estado del sistema, mientras que en el caso del controlador

difuso solamente se tiene en cuenta el error de posicion y la variacion del error para

cada uno de los ejes.

La implementacion de un controlador difuso se puede realizar con base en el comporta-

miento del sistema implementado, y no depende directamente de un modelo analıtico,

ya que a traves del estudio de la relacion entrada-salida del sistema se pueden estable-

cer las reglas del sistema para que este se comporte acorde a lo deseado. Mientras que

para disenar un controlador por realimentacion de estados es necesaria la obtencion

del modelo analıtico para posteriormente realizar el calculo de la constante de reali-

mentacion de estados, lo cual requiere un mayor conocimiento del comportamiento del

sistema y su dinamica. Esto implica que la rapidez con la cual se pueden iniciar las

pruebas y el afinamiento de los controladores es mayor en el caso del controlador difuso

frente al de realimentacion de estados.

Page 120: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

106 6 Estimacion de Parametros y Resultados

Al realizar la comparacion entre los resultados obtenidos y las simulaciones, se puede

observar que en las simulaciones la respuesta del sistema es siempre mas rapida que en

el sistema construido, aproximadamente un 60 %, ya que en las simulaciones el tiempo

de establecimiento oscilo entre 1 y 1.5 segundos en el caso del regulador mientras que

en el caso de la vida real oscilo entre 2.5 y 3 segundos, mientras que en el caso del

seguidor los tiempos oscilaron entre 10 y 12 segundos mientras que en la vida real el

tiempo de establecimiento fue alrededor de 15 segundos. Ya que en las simulaciones

no se contempla el desempeno del sensor, ni el tiempo de envio y recepcion entre la

interfaz grafica, el controlador y los actuadores.

Trabajos Futuros

En el presente capıtulo se proponen algunas aplicaciones y mejoras que se pueden desarrollar

a partir del trabajo presentado.

Estudiar Comportamiento del Sistema a Distintas Bolas

La posibilidad en este campo radica, en que si bien la solucion implementada se hizo con

una bola de squash, resultarıa interesante estudiar el comportamiento del sistema frente a

diferentes bolas, por ejemplo ¿Que pasarıa si la bola es un ping-pong o si fuera una pelota

de tenis o una pelota que no mantiene su forma?, asi mismo se puede estudiar el comporta-

miento cuando la bola cambia de color e inclusive de forma.

Comparacion de Tecnicas de Control Adicionales

La posibilidad de desarrollo en este campo radica en el hecho de que al mismo sistema se le

pueden aplicar tecnicas de control, distintas a las que se aplican en el presente trabajo. Lo

cual posibilitarıa una comparacion de las respuestas de cada una de estas, y con esto lograr

determinar la mejor tecnica para el sistema implementado. Esto a su vez permitirıa apreciar

de mejor forma las ventajas o desventajas que puede presentar una tecnica de control apli-

cada a un sistema frente a otra.

Mejora en el Procesamiento

En la tercera y ultima propuesta, se propone mejorar el procesamiento digital de imagen,

con el objetivo de reducir los efectos de elementos externos al sistema como pueden ser la

luz. En este caso, se debe tener en cuenta que esto podrıa implicar el desarrollo de nuevos

Page 121: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

6.2 Simulaciones de los Controladores 107

algoritmos de deteccion mejorando la velocidad de procesamiento en el sistema ya que esto

afecta directamente el desempeno del sistema.

Page 122: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano
Page 123: Diseno~ e Implementaci on de un Sistema de Balanceo de una ...repository.udistrital.edu.co/bitstream/11349/3920/1/Tesis_UD.pdf · un sistema de balanceo de una bola sobre un plano

Bibliografıa

[1] d’Azzo, J. J., and Houpis, C. D. Linear control system analysis and design: conven-

tional and modern. McGraw-Hill Higher Education, 1995.

[2] Fu, S., Sui, Z., Wang, H., and Tian, Y. Controllability of the nonlinear underac-

tuated ball and plate system. In Proc. Int. Conf. Mechatronics and Automation (Aug.

2009), pp. 1179–1183.

[3] Harris, J. An introduction to fuzzy logic applications, vol. 23. Springer Science &

Business Media, 2001.

[4] Liu, D., Tian, Y., and Duan, H. Ball and plate control system based on sliding mode

control with uncertain items observe compensation. In Proc. IEEE Int. Conf. Intelligent

Computing and Intelligent Systems ICIS 2009 (Nov. 2009), vol. 2, pp. 216–221.

[5] Lyshevski, S. E. Engineering and scientific computations using MATLAB. John Wiley

& Sons, 2005.

[6] Passino, K. M. In Biomimicry for Optimization, Control, and Automation. Springer,

Jan. 2005.

[7] Rodrıguez, M. G. Introduccion rapida a Matlab y Simulink para ciencia e ingenierıa.

Ediciones Dıaz de Santos, 2003.

[8] Symon, K. R., and Almarza, A. Y. Mecanica. Aguilar, 1977.

[9] Wang, H., Tian, Y., Ding, C., Gu, Q., and Guo, F. Output regulation of the

ball and plate system with a nonlinear velocity observer. In Proc. 7th World Congress

Intelligent Control and Automation WCICA 2008 (June 2008), pp. 2164–2169.