POR:
CERTIFICACIN
ii
DEDICATORIA
A mi abuelito Gerardo, quien fue ejemplo de vida abrindose paso con su trabajo
y tesn inusitados, con aquel trajinar de su presencia infatigable de sol a sol en
tanto en su trabajo con en sus tareas cotidianas; quien sembr mi mente ideales
de grandeza con sus consejos sabios, cuando desde nia escuchaba los relatos
de sus bondades compartidas.
Porque tomada de sus manos inicie el aprendizaje en esta vida, ahora casi todo lo
que soy se lo debo a su ejemplo de tenacidad y valor, todo el esfuerzo y entrega
expuestos en este trabajo es dedicado a la memoria de los dos.
Marianela Elizabeth
iii
AGRADECIMIENTOS
Mi gratitud a los seores Director y Codirector de tesis, que sin su valiosa gua y
apoyo este trabajo no hubiese llegado a feliz trmino.
Marianela Elizabeth
iv
NDICE
INDICE DE CONTENIDOS
Resumen
......
CAPTULO 1
INTRODUCIN
1.1 Tema
1.2 Antecedentes
...
..
1.4 Objetivos
1.5 Alcance
..
...
...
CAPTULO 2
MARCO TERICO
2.1 Introduccin
Qu es el E-learning?
2.2.2
2.2.3
Tipos de aprendizaje
...
. 10
.. 11
2.2.4
.. 13
2.2.5
2.3.2
Laboratorios electrnicos
2.3.3
.. 16
.
.. 16
.. 18
19
..
19
2.4.1
Asistentes personales
20
2.4.2
. 20
2.4.3
. 20
. 22
. .. 22
2.5.2
Tipos de robots
. . 23
2.5.3
Robots mviles
. . 26
2.5.4
2.5.5
31
2.5.6
..
35
37
..
37
Definicin
2.6.2
Objetivos
2.6.3
Aplicaciones
29
38
..
vi
39
41
2.7.1
41
2.7.2
Caractersticas de MSF
..
41
2.7.3
Modelos
..
42
2.7.4
44
..
46
CAPTULO 3
METODOLOGA DEL PROYECTO
3.1.2
Visin de la solucin
3.1.3
3.1.4
3.1.5
Alcance
3.1.6
Lista de riesgos
3.1.7
Esquema de la solucin
3.1.8
Visin aprobada
46
... ... 47
.
49
.
..
50
50
..
51
52
... .
53
54
3.2.1
3.2.2
Diseo conceptual
55
3.2.3
Diseo lgico
..
59
3.2.4
Diseo fsico
...
64
3.2.5
74
vii
54
Cdigo fuente
3.3.2
75
.
75
Parmetros de configuracin
...
92
3.3.3
...
93
3.3.4
Reporte de bugs
3.3.5
Alcance completo
. 95
..
. 96
.. 97
3.4.1
Especificacin de test
.... 97
3.4.2
Consideraciones y restricciones
.... 101
3.4.3
... 102
3.4.4
Release aprobado
. ... 102
3.5.2
Manual de usuario
3.5.3
Siguientes pasos
3.5.4
Deployment completo
..
...
..
103
..
103
.
104
105
. ....
105
CAPTULO 4
CONCLUSIONES, RECOMENDACIONES Y TRABAJOS FUTUROS
4.1 Conclusiones
106
4.2 Recomendaciones
...... 108
....
viii
109
ANEXOS
Anexo A
Diagramas UML
...
...
Diagramas de Secuencia
110
.. 110
...
Diagramas de Clases
112
...
Diagramas de Actividad
..
114
.....
116
... 119
..
119
Contenidos
...
120
.....
125
Sumas de Minkowski
..
125
128
129
..
130
Anexo C
Algoritmos
...
Test de interseccin
...
Algoritmo de Dijsktra
...
.... 133
...
Ingresando al sistema
133
134
El entorno de trabajo
Utilizando el laboratorio virtual
Errores
..
135
143
......
150
153
BIBLIOGRAFA
BIBLIOGRAFA
..
ix
NDICE DE TABLAS
Tabla 3.1
Matriz de tradeoffs
...
...
50
Tabla 3.2
Lista de riesgos
...
52
Tabla 3.3
Tabla 3.4
55
Tabla 3.5
..
56
Tabla 3.6
Tabla 3.7
Tabla 3.8
.. 58
Tabla 3.9
Clase Figura
78
79
54
57
57
.. 80
81
82
..
83
84
86
87
..
89
90
91
... 93
...
94
94
95
...
NDICE DE FIGURAS
Figura 2.1
Robots Androides
..
23
Figura 2.2
Robots Mviles
..
24
Figura 2.3
Robot Mdico
25
Figura 2.4
Robot industrial
...
25
Figura 2.5
Figura 2.6
Planificacin de trayectorias
Figura 2.7
Diagrama de Voronoi
Figura 2.8
Figura 2.9
...
27
. 30
...
...
.....
32
33
..... 34
...
34
35
37
...
44
Esquema de la solucin
53
Figura 3.2
Figura 3.3
Figura 3.4
Figura 3.5
Figura 3.6
Figura 3.7
Figura 3.8
Figura 3.9
Componentes de la solucin
...
xi
...
...
56
58
..
59
...
60
61
...
...
...
62
63
63
67
68
....
69
70
71
...
..
72
73
....
73
...
98
...... 100
.... 101
Figura A.1
......
110
Figura A.2
...
110
Figura A.3
111
Figura A.4
111
Figura A.5
...
112
Figura A.6
112
Figura A.7
113
Figura A.8
...
113
Figura A.9
..
114
......
114
115
... 116
xii
115
... ..
116
.........
117
......
117
......
118
.....
118
..
119
Figura B.1
Figura C.1
Figura C.2
... ..
Figura C.3
xiii
..
...
126
130
RESUMEN
CAPITULO I
INTRODUCCIN
1.1 Tema
1.2 Antecedentes
Los tutores inteligentes, por otro lado, son elementos que tienen como
objetivo principal reproducir el comportamiento de un tutor humano que
puede adaptarse al ritmo de aprendizaje del estudiante.
Por otra parte, los robots han demostrado gran utilidad para realizar trabajo
repetitivo; as mismo, tienen la ventaja de desempear actividades bajo
ambientes agresivos para un ser humano. El costo tan elevado de los
robots impide que muchas instituciones educativas los tengan disponibles
en un laboratorio real.
1.4 Objetivos
Objetivo General
Objetivos Especficos
1.5 Alcance
El uso del kit de robtica Lego Mindstorms es una forma fcil y sencilla para
construir robots, e inclusive viene acompaado de un software de
programacin.
Desarrollar una interfaz de usuario tipo pgina web donde el usuario pueda
acceder a documentacin sobre robtica y programacin.
Captulo II
Marco Terico
2.1 Introduccin
2.2
Interaccin
Hombre-Mquina,
la
Ciencia
Cognitiva,
las
2.2.1 Qu es E-Learning?
para
conectarse
al
Aprendizaje
virtual,
Expandir
su
A grandes rasgos se puede citar las siguientes ventajas y desventajas del Elearning:
Ventajas
Acceso y flexibilidad horaria.
Justo a tiempo (JIT)
10
Reduccin Costos.
Alto grado de interactividad.
Fomenta el desarrollo personal.
Mayor colaboracin y conectividad entre estudiantes
Independencia de la calidad del instructor
Desventajas
Econmica.
Motivacin.
Cultural.
11
Sincrnico
Asincrnico
De AUTOFORMACIN :
Cursos de Autoformacin
Test y Evaluaciones
12
Aprendizaje Colaborativo
Comunicar
Compartir conocimientos
Distribuir conocimientos
Generar Conocimientos
Objetivos de aprendizaje
Calidad de los Contenidos
13
Enfoque instructivo
14
Enfoque constructivo
15
16
e incluso
17
18
Existen dos aproximaciones diferentes a la hora de implementar un elaboratorio: laboratorios virtuales y remotos. En un laboratorio remoto existe
un equipo fsico al cual acceden los estudiantes a travs de un navegador.
En cambio, un laboratorio virtual no tiene ningn referente fsico: los
estudiantes utilizan un simulador que reproduce una situacin real o
implementa una herramienta CAD.
informtico
para
proporcionar
ayuda,
llamados
asistentes
personales.
19
el
gran
potencial
que
tenan
las
aproximaciones
que
20
Artificial (IA), dio lugar a lo que se conoce hoy como Sistemas Tutores
inteligentes (ITS).
21
construir
un
robot
realmente
inteligente,
aunque
existen
22
Androides
23
Mviles
Los robots mviles estn provistos de patas, ruedas u orugas que los
capacitan para desplazarse de acuerdo su programacin.
Fig. 2.2
Robots Mviles
Mdicos
24
Industriales
Teleoperadores
25
2.5.3
Robots Mviles
26
Esto
Sensores
internos
Navegacin
Planeacin
Y
Control
externos
Robot mvil y su
entorno
27
Actuadores
El robot debe poseer algn medio para medir o percibir el entorno en que
opera para anticipar y responder a cambios en el mismo, los sensores
ayudan a la navegacin y a la planeacin. Estos sensores pueden ser
internos o externos para proporcionar estimaciones sobre la posicin del
robot
Navegacin
Planeacin y Control
28
Actuadores
29
su
respectiva
orientacin de A en W, se debe
obtener una
30
31
32
33
34
36
2.6
Geometra computacional
2.6.1 Definicin
elementos
puramente
matemticos
con
cuestiones
37
2.6.2 Objetivos.
38
de
movimientos.
Cinemtica
Dinmica
computacionales.
(11) Control de trfico. Navegacin automtica.
2.6.3 Aplicaciones
39
Todo esto naturalmente pervive, y con fuerza, pero se vive una tercera
generacin de aplicaciones dominada por el procesamiento de informacin
geomtrica y grfica, presente en reas tan diversas como son la medicina,
la cartografa, el control de robots o el diseo artstico. La Geometra
Computacional ha emergido, ciertamente, por la necesidad de dar
respuesta a esta nueva y creciente demanda.
La Informtica Grfica,
El Diseo y Fabricacin Asistida por Ordenador (CAD/CAM),
La Caracterizacin y Reconocimiento Automtico de Formas
(Pattern Recognition),
El Diseo VLSI,
40
La Visin Artificial,
La Cartografa y
La Robtica.
2.7
Metodologa MSF
41
2.7.3 Modelos
42
43
ser
usado
para
desarrollar
software
de
manera
exitosa,
estableciendo el orden en
el cual se deben realizar las actividades. Como puede verse en la Figura
1.12, este modelo consiste en cinco fases distintas, cuyos nombres
dependen del tipo del proyecto en el que se aplica. Cada fase del proceso
de desarrollo culmina con un hito visible, tal como se describe a
continuacin:
Implementacin
Completa
Visin/Alcance
Aprobados
Release
Aprobado
Alcance
Completo
Planes del
Proyecto
Aprobados
44
45
CAPITULO III
METODOLOGA DEL PROYECTO
46
3.1.2
Visin de la solucin
47
48
49
cinemticos y la evitacin de
Restriccin por
Restriccin
Restriccin
optimizar
negociable
aceptada
Recursos
Cronograma
Requerimientos
En la Tabla 3.1 se indica que durante esta Fase, se acept los recursos
con los que se dispona para llevar a cabo el proyecto, mientras que el
cronograma propuesto qued abierto a posibles cambios junto con el
conjunto de requerimientos finales del producto, que pueden aparecer
durante las siguientes fases.
3.1.5 Alcance
de
obstculos
donde
50
el
alumno
puede
modificar
la
51
Condicin/
Falta de
Complejidad de
Limitaciones de la
Descripcin
informacin acerca
los algoritmos
interfaz que
del tema
Consecuencia
controla el robot
Retraso en la
Retraso en la
Limitadas directivas
entrega del
implementacin
para manipular el
producto final
robot mvil
Probabilidad
Alto (3)
Alto(3)
Medio (2)
Impacto
Alto (3)
Alto(3)
Medio (2)
Prioridad
Alta (3)
Alta(3)
Baja (1)
Mitigacin
Identificar las
Asignar ms
Buscar un mejor
personas o
tiempo a la
componente
instituciones
implementacin
encargadas de
proveer
informacin y
establecer
contactos
Riesgo Total
27
27
52
Tutorial
HTML
Laboratorio
Virtual de
Robtica
Mvil
Entorno de programacin
Mvil
Entorno de teleoperacin
53
No. Requerimiento
Descripcin Requerimiento
R1
R2
Imprimir apartados
R3
R4
R5
R6
R7
R8
R9
R10
R11
Ingresar cdigo
R12
Compilar cdigo
R13
Ejecutar cdigo
54
Ubicacin:
Capacitacin:
de
la
teora
fundamentos
Expectativas:
matemticos de la robtica mvil, en particular
de la planeacin de trayectorias.
Escenarios de uso
55
Simulacin
Estudiante
Programacin
Teleoperacin
Nombre
Actores
Estudiante
Funcin
Descripcin
Referencias
R1, R2, R3
Precondicin
56
Nombre
Simulacin
Actores
Estudiante
Funcin
Descripcin
Referencias
Precondicin
Tener
las
bases
tericas
sobre
planificacin
de
trayectorias
Poscondicin Simulacin y/o prctica realizada satisfactoriamente.
Nombre
Teleoperacin
Actores
Estudiante
Funcin
Descripcin
Referencias
Precondicin
57
Nombre
Programacin
Alias
Actores
Estudiante
Funcin
Descripcin
Referencias
Precondicin
Modelo Conceptual
<<subsystem>>
Simulacin
<<subsystem>>
Tutorial
<<subsystem>>
Programacin
<<subsystem>>
Teleoperacin
58
Mdulo Tutorial
ENCABEZADO
MEN
CONTENIDOS
Mecanismos
de acceso
59
Mdulo de Simulacin
Barra de Ttulo
Coordenadas
Entorno de navegacin
Parmetros
Etiquetas
60
Barra de Ttulo
Coordenadas
Informacin
Entorno de navegacin
Parmetros
Tutor Inteligente
Mdulo de Teleoperacin
61
Barra de Ttulo
Coordenadas
Video
Entorno de navegacin
Botones de
navegacin
F
i
g
.
Fig. 3.7 Diseo interfaz de Teleoperacin
Mdulo de Programacin
62
Barra de ttulo
Men
Datos de programa
rea de trabajo
Botones de comando
Componentes de la solucin
Tutorial
MSAgent
COM+
Simulacin
MSAgent API
Teleoperacin
RCXNet
COM+
Programacin
SDK
Lego Mindstorms
App. Windows Forms
63
Torre IR+RCX
Restricciones de tecnologa
64
Descripcin de herramientas
Macromedia Dreamweaver
Es la opcin profesional para la creacin de aplicaciones y sitios Web.
Ofrece una combinacin muy til de herramientas de diseo visual,
funciones de desarrollo de aplicaciones y soporte para la edicin de cdigo.
Todo ello permite crear sitios y aplicaciones atractivos basados en
estndares de forma rpida.
Visual C#.Net
Es
una
herramienta
que
tiene
soporte
RAD
(Rapid
Application
MSAgent
65
Lego MindStorms
66
Pantalla Principal
67
Mdulo Tutorial
68
Mdulo de Simulacin
69
Modo automtico
70
Mdulo de Teleoperacin
Existe otro control picture box que servir para la captura de video.
71
Mdulo de Programacin
72
Arquitectura de la solucin
Torre IR
Laboratorio Virtual
de Robtica Mvil
Estudiante
Mvil
73
74
SUBSISTEMA TUTORIAL
El mapa del sitio y los contenidos del tutorial de robtica mvil se pueden
encontrar en el Anexo B.
Para usar Microsoft Agent, la etiqueta OBJECT del Microsoft Agent Control
debe ser colocada en la pgina. El Agent object ser referido en el script
75
76
SUBSISTEMA SIMULACIN
Clase Figura
Clase Vrtice
Clase Lnea
Clase Polgono
Clase Robot
Clase Nodo
Clase Form1
77
Clase Figura
Descripcin:
Es una clase abstracta que define una figura en el plano de los nmeros
enteros positivos.
PROPIEDADES
Graphics
Color
Color
Matrix
Bool
Lienzo
Color
Colorbg
Matriz
Visible
Figura(lienzo, color,
colorbg)
CONSTRUCTOR
Crea una figura
MTODOS
Dibuja la figura. Mtodo abstracto para ser
redefinido en clases hijas.
Traslada la figura. Mtodo abstracto para
ser redefinido en clases hijas.
Rota la figura. Mtodo abstracto para ser
redefinido en clases hijas.
78
Clase Vrtice
Descripcin:
PROPIEDADES
Hereda propiedades de la clase Figura
PointF
_posicin
CONSTRUCTOR
Vrtice(lienzo, color, colorbg, Crea el vrtice de coordenadas (x,y).
x, y):
MTODOS
Hereda propiedades de la clase Figura
Dibuja el vrtice con el color dado.
Dibujar(color) -> Void
Mtodo redefinido.
Traslada el vrtice al punto (x,y).
Mtodo redefinido.
Rota el vrtice. Mtodo heredado.
ShowLabel()->Void
HideLabel()-> Void
79
Clase Lnea
Descripcin:
Hereda de la clase Figura. Modeliza una lnea en el plano de los nmeros
enteros positivos.
PROPIEDADES
Hereda propiedades de la clase Figura
PointF (Punto Inicial)
P1
PointF (Punto final)
P2
CONSTRUCTOR
Lnea( lienzo, color, colorbg, Crea la lnea p1p2
p1,p2):
MTODOS
Hereda mtodos de la clase Figura
Devuelve el punto medio del
MiddlePoint() -> PointF
segmento.
Dibujar(color) -> Void
Pendiente()->Float
Angulo()-> Double
H()-> Float
80
Clase Polgono
Descripcin:
PROPIEDADES
Hereda propiedades de la clase Figura
Bool
_relleno
ArrayList lista de vrtices (FPoint)
vertices
si es convexo o no, Bool
Convex
Polgono()
CONSTRUCTOR
Crea un polgono con o puntos, convexo y de
direccin positiva
MTODOS
Hereda mtodos de la clase Figura
AgregarVrtice(Vrtice p) Aade el punto p al polgono
-> Bool
Dibuja el polgono con el color dado. Mtodo
Dibujar(brush color) ->
redefinido.
Void
Traslada cada vrtice del polgono en
Trasladar(x,y) -> Void
referencia al punto (x,y). Mtodo redefinido
Rota el polgono. Mtodo heredado.
Rotar(angle) -> Void
IsInside(nPoint p) -> Bool Comprueba si el punto est contenido dentro
del contorno del polgono
Intersects(Lnea L) -> Devuelve TRUE si se intersecan la lnea dda
con el contorno del polgono
Bool
GetAmpliado(Polgono
Aplica las sumas de Minkowski al polgono y
lo amplia de acuerdo al polgono del robot
robot) -> Polgono
Muestra etiquetas con los valores de las
ShowLabels() -> Void
cordenadas.
Oculta las etiquetas con los valores de las
HideLabels() ->
cordenadas.
81
Clase Robot
Descripcin:
Hereda de la clase Figura. Modeliza una robot mvil en el plano de los
nmeros enteros positivos.
PROPIEDADES
Hereda propiedades de la clase Figura
PointF
Posicin
Float
Orientacin
Double
Desplazamiento
GraphicsPath
Robot
GraphicsPath
RobotAux
Timer
Reloj
ArrayList
Camino
IEnumerator
NextPoint
CONSTRUCTOR
Robot( lienzo, color, colorbg, Crea el robot
p1,p2):
MTODOS
Hereda mtodos de la clase Figura
Dibuja el robot mvil con el color dado.
Dibujar(color) -> Void
Mtodo redefinido.
Trasladar(x,y) -> Void
Recorrer()->Void
Reloj_Tick()-> Void
Angulo()-> Float
82
Clase Nodo
Descripcin:
PROPIEDADES
PointF
Double
ArrayList
Nodo
_posicin
Distancialfin
Nodos
Min
CONSTRUCTOR
Crea un grafo
Nodo(PointF P):
MTODOS
Calcula la distancia mnima entre el
nodo origen al nodo destino.
83
Clase Form1
Descripcin:
Es una clase que define las acciones de la interfaz y contiene todos los
objetos (instancias de las dems clases) que componen el problema y
realiza el procedimiento para hallar la solucin.
PROPIEDADES
Graphics
Robot
Polgono
Polgono
ArrayList
ArrayList
Vrtice
Vrtice
Nodo
Nodo
Nodo
Double
Byte
Bool
Int
Int
Agente
Bool
Lienzo
robot
Obstculo
Robot
Obstculos
Ampliados
PuntoInicial
PuntoFinal
Inicio
Final
Nodos
Distancia
Paso
Marcado
mouseX
mouseY
Agent
guiada
Form1(bool guiada):
CONSTRUCTOR
Crea el entorno de simulacin
MTODOS
Panel1_MouseMove() -> Void Muestra las coordenadas (x,y) que el
Mouse seale dentro del espacio de
navegacin del mvil.
Cb_labels_CheckedChanged() Muestra u oculta las etiquetas con
informacin
-> Void
dibujarToolStripMenuItem_Cli Realice las operaciones para dibujar
el grafo de visibilidad.
ck() -> Void
84
Tutor inteligente
se debe
Clase Agent
Descripcin:
Es una clase que define el tutor inteligente que interactuar con el usuario.
PROPIEDADES
AgentServer
IAgentEx
IAgentcharacterEx
Int
AgetSrv
SrvEx
CharacterEx
dwCharID
Agente_Load()
CONSTRUCTOR
Carga y muestra al agente
MTODOS
Agente_Hablar (string texto) - Hace que el agente pronuncie el
> Void
texto dado.
Agente_Animar (string
Agente_Pensar (string
-> Void
86
SUBSISTEMA PROGRAMACIN
Clase Form1
Descripcin:
Es una clase que define el entorno de programacin.
CodeProvider
Compiler
Parameters
Form1()
PROPIEDADES
CSharpCodeProvider
ICodeCompiler
CompilerParameters
CONSTRUCTOR
Inicializa los componentes.
MTODOS
Realiza las operaciones para la
Void
87
SUBSISTEMA TELEOPERACIN
Clase Mvil
Clase Video
Clase Form1
88
Clase Mvil
Descripcin:
PROPIEDADES
Graphics
Brush
Point
GraphicsPath
GraphicasPath
Matrix
Lienzo
bgColor
MovilPos
Robot
RobotAux
TranslateMatrix
CONSTRUCTOR
Crea el robot mvil.
Mvil(lienzo, bgcolor, x,
y)
MTODOS
Dibuja el robot mvil en el espacio de
navegacin.
Oculta el mvil dibujado en el espacio de
navegacin.
Mostrar() -> Void
Girar(single angle) -> Void Hace que el mvil gire el ngulo dado
89
Clase Video
Descripcin:
PROPIEDADES
Int
Int
Int
Short
Int
Int
Hwndc
Ws_child
Ws_visible
Wm_user
Wm_cap_driver_conect
Wm_cap_driver_disconn
ect
Wm_cap_set_preview
Wm_cap_set_previerrate
capCreateCaptureWindo
wA
SendMesage
Int
Int
Public extern static int
Public extern static int
CONSTRUCTOR
Inicializa los componentes.
Video()
MTODOS
Ventana(int
handle)
Bool
travs de un manejador.
90
Clase Form1
Descripcin:
PROPIEDADES
Int
Mvil
Int16
Int16
SpiritNet
WaitTimeTurn
Mv
Direccin
MvilDib
objSpirit
CONSTRUCTOR
Inicializa los componentes.
Form1()
MTODOS
Form1_Load() -> Void
Carga el video
btnDetener_Click
()
Void
Panel1_Paint() -> Void
Panel1_MouseDown()
Void
Panel1_MouseMove()
Void
Arriba_MouseDown()
Void
91
Abajo_MouseDown()
Void
> Void
Void
Izquierda_MouseUp()
Void
Derecha_MouseUp()
Void
la derecha
92
Prueba
Navegacin completa
mbito
Subsistema Tutorial
Procedimiento
Resultados
93
Prueba
Clculos y Algoritmos
mbito
Subsistema Simulacin
1. Analizar
Procedimiento
si
las
frmulas
matemticas
que
Resultados
matemticas,
los
algoritmos
siguen
la
secuencia
Prueba
Validacin de datos
mbito
Subsistema Programacin
1. Verificar
Procedimiento
que
el
subsistema
valida
que
el
cdigo
se
descargue
correctamente al robot.
Resultados
En
este
subsistema
no
se
encontr
inconveniente.
94
ningn
Prueba
mbito
Subsistema Teleoperacin
Procedimiento
Resultados
95
La fase de desarrollo culmina con este hito, en este punto todas las
caractersticas de la solucin estn completas. La solucin esta lista para
pruebas externas de estabilizacin.
96
Entradas
Punto inicial:
(60,80)
Punto Final:
(420,420)
Obstculos:
V1
(60,200)
V2
(300,240)
V3
(180,380)
Salidas Esperadas
Nodos del camino mnimo: (60,80); (325,215); (420,420)
Coste del camino mnimo: 523.35
97
Procedimientos especiales
Proceso
98
60
200
-25
-25
300 240
25
-25
180 380
25
25
60
-25
25
-25
-25
200
35
175
85
175
325
215
325
265
205
405
155
405
35
225
99
Resultados
100
Restricciones:
101
Consideraciones de operacin:
102
Requisitos hardware
Procesador Pentium II
32 Mbytes de memoria RAM
Configuracin grfica de 16 colores
RCX 1.1 con torre IR de conexin usb
103
Requisitos software
Windows 98
Internet Explorer 5
Lego Minstorms SDK 2.0
Microsoft Agent API
Windows XP
Internet Explorer 6
Lego Mindstorms SDK 2.5
104
3.5.3
Siguientes pasos
3.5.4
Deployment completo
105
CAPITULO VI
CONCLUSIONES, RECOMENDACIONES Y
TRABAJOS FUTUROS
6.1 Conclusiones
106
de
aprender
programacin
robtica
mediante
la
107
6.2 Recomendaciones
a travs de un ITS
108
comunicacin.
Una
posible
solucin
sera
disear
una
109
ANEXOS
<<include>>
Impresin
<<extend>>
Revisin de captulos
<<extend>>
Estudiante
(f rom Actors)
Evauacin de conocimientos
Simulacin
<<extend>>
Simulacin Directa
<<extend>>
Estudiante
(f rom Actors)
Simulacin
(from Use-Case Model)
Prctica guiada
Teleoperacin
<<extend>>
Visualizacin robot
<<extend>>
Estudiante
(f rom Actors)
Teleoperacin
(from Use-Case Model)
Ejecucin de movimientos
Programacin
Ingreso de instrucciones
<<extend>>
<<extend>>
Estudiante
(f rom Actors)
Programacin
Compilacin
<<extend>>
Ejecucin
111
Diagramas de Secuencia
Diagrama de secuencia del sistema
GUI
: Es tudiante
Sis tema
Accede a s imulacin
Abrir simulacin
Accede a Teleoperacin
Abrir teleoperacin
Accede a Programacin
Abrir program acin
Contenidos
: Es tudiante
VerTema()
NavegarPorContenido()
Mos trarTema()
Mos trarPgina()
Im primir()
Im pres in()
RelizarEvaluacin()
VerRes ultados ()
Salir()
112
Simulacin
Simulacin
: Estudiante
AbrirSimulacin()
MostrarMen()
EscogerModo()
PedirDatos()
IngresarDatos()
RealizarClculos()
MostrarSimulacin()
Teleoperacin
Teleoperacin
: Estudiante
Abrir()
Video
Mostrar()
iniciar()
EstablecerComunicacin()
ComunicacinOK()
RealizarMovimientos()
Mover()
Salir()
Cerrar()
CerrarComunicacin()
113
Robot
Programacin
Programacin
: Estudiante
IngresarCdigo()
Compilar()
CompilarCdigo()
MostrarErrores()
EjecutarCdigo()
Programa
<<create>>
Salir()
Diagramas de Clases
Subsistema Contenidos
Contenido
*
1
Tema
1
Evaluacin
1..*
114
Simulacin
Figura
1
Interfaz
Simulacin
Vrtice
Lnea
Polgono
1
Agente
*
Nodo
Teleoperacin
Robot
1
Interfaz
Teleoperacin
Video
1
115
Robot
Programacin
Compilador
Interfaz
Programacin
Diagramas de Actividad
Visitar pgina
principal
Programar
Robot
Navegar por
Tutorial
Teleoperar
Robot
Realizar
Simulacin
Cerrar Sistema
116
Pgina de
Inicio
Seguir los
enlaces
Abrir
Pginas
Cerrar Tutorial
Simulacin
Abrir Simulacin
validar datos
Entrar Datos
Prctica Guiada
Simulacin normal
Ingresar Datos
Validar sumas
Aplicar Mtodo de
Grafo de Visibilidad
Calcular Sumas de
Minkowski
Calcular Grafo
de Visiblidad
117
Teleoperacin
Abrir Teleoperacin
verificar adquisicin
Verificar comunicacin
Mostrar video
Establecer comunicacin
con el robot
Mostrar errores
Mover robot
simulado
Mover el robot
real
Cerrar
comunicacin
Cerrar Teleoperacin
Programacin
Abrir Programacin
Validar instrucciones
Ingresar
Cdigo
Validar ejecucin
Compilar
hubo errores
Ejecutar
Mostar errores
no errores
Crear archivo
de salida
Cerrar Programacin
118
Pgina de
Inicio
Visin
General
Introduccin
a la
Robtica
Contenido
Auto
Evaluacin
Robots
Mviles
Contenido
Auto
Evaluacin
Planificacin
de
Trayectorias
Programacin
de
Robots
Contenido
Contenido
Auto
Evaluacin
119
Auto
Evaluacin
Contenidos
Visin General
Bienvenida
Introduccin
Objetivos
Plan de Leccin
Bienvenida
Introduccin
120
Desafo
Autoevaluacin
Retroalimentacin
121
Plan de Leccin
Bienvenida
Introduccin
2.1 Definicin
2.2 Robots Mviles con ruedas
2.2.1 Ruedas
2.2.2 Giro
2.2.3 Arreglos de ruedas
2.2.4 Cinemtica
2.2.5 Forma del Robot
2.3 Robots Mviles con patas
2.3.1
Desafo
Autoevaluacin
Retroalimentacin
122
Plan de Leccin
Bienvenida
Introduccin
1.1 Navegacin
1.1.1 Esquema de la navegacin
1.1.2 Mtodos de planificar un camino
1.2 El problema de la planificacin de trayectorias de robots mviles
1.3 Mtodos Clsicos de Planificacin
1.3.1 Planificacin basada en grafos de visibilidad
1.3.2 Planificacin basada en diagramas de Voronoi
1.3.3 Planificacin basada en el modelado del espacio libre
1.3.4 Planificacin basada en descomposicin de celdas
1.3.5 Planificacin basada en campos de potencial
1.4 Mtodo del Grafo de Visibilidad
1.4.1 Algoritmo de Grafo de Visibilidad
1.4.2 Robot geomtrico
1.5 Ejemplo de planificacin con grafo de visibilidad
1.6 Funciones de deteccin, evitacin y planificacin
1.7 Reaccin directa a informacin de sensores
Desafo
Autoevaluacin
Retroalimentacin
123
Plan de Leccin
Bienvenida
Introduccin
Desafo
Autoevaluacin
Retroalimentacin
124
Q se define como
125
Q se calcula:
, un punto extremo en P
. En un polgono convexo, si se
obtiene una secuencia de puntos extremos que contienen los vrtices del
polgono ordenados exactamente como estn ubicados si se recorre el borde del
polgono en el sentido contrario a las agujas del reloj.
126
Algoritmo:
Entrada: Un polgono convexo P con vrtices v1,...,vn , y un polgono convexo Q
con vrtices w1,...,wm. Se asume que la lista de vrtices estar ordenada
siguiendo el sentido contrario al de las agujas del reloj, siendo v1 y w1 los vrtices
con menor coordenada y.
Salida: La suma de Minkowski de P
1.
2.
v n+1
3.
1;j
v1 ; w m+1
w1
Repetir
4.
5.
6.
entonces i
(i+1)
7.
8.
entonces j
9.
sino i
10.
(i+1)
(j+1)
11.
n+1
12.
m+1
13.
(j+1)
hasta que i = n +1 y j = m +1
Todos los vrtices de los polgonos forman el conjunto de vrtice del grafo.
Las aristas que delimitan los polgonos pertenecen l conjunto de aristas del grafo.
1 Para i = 1, ,n hacer
2
Ir al paso 4
Fin si
Fin para
10
11
Fin para
12
13
Fin para
Fin para
14 Fin para
128
3.
bool Intersects(L,L1)
{
return (cruza(L1) && cruza(L));
}
float Det(P)
{
return (((P1.X * P2.Y) + (P.X * P1.Y) + (P2.X * P.Y)) ((P1.X * P.Y) + (P.X * P2.Y) + (P2.X * P1.Y)));
}
129
4. Algoritmo de DIJKSTRA
Este algoritmo calcula los caminos ms cortos desde un solo origen a cada uno
de los nodos del grafo.
130
En la figura se adjuntan las distancias mnimas del nodo origen 1 a todos los
dems, ordenadas en orden no decreciente. Tambin se incluye el camino que
posee cada longitud mnima, aunque esta informacin no es pedida en el
problema.
El nodo que se elige en cada momento es aquel candidato que est ms cerca
del origen, es decir, las distancias mnimas se van hallando en orden no
decreciente de longitud. En el ejemplo propuesto, primero se obtiene la distancia
mnima (de 10) hasta hasta el nodo 3, despus hasta el nodo 2 (de 15) y as
sucesivamente.
DistanceToFin(Nodo fin)
{
if (_distancetofin != -1)
return _distancetofin;
if (this.Equals(fin))
{
_distancetofin = 0;
return 0;
}
131
if (Nodos.Count == 0)
{
_distancetofin = double.PositiveInfinity;
return _distancetofin;
}
if (Min != null)
{
_distancetofin = minimo + Linea.distance(_Posicion,
Min.Posicion);
return _distancetofin;
}
return double.PositiveInfinity;
}
132
ANEXO D -
MANUAL DE USUARIO
1. Instalando el sistema
1.1 Introduccin
de
trayectorias,
un
entorno
de
programacin
de
133
1.3 Instalacin
2. Ingresando al sistema
134
3. El entorno de trabajo
Ventana principal
Men de Contenido:
135
Botones de desplazamiento e
informacin de pginas
rea de Contenido
Ventana de ingreso
136
Ventana de ingreso
Modo Automtico
137
Coordenadas
Distancia mnima
Parmetros
Etiquetas
Espacio de configuracin
138
rea de informacin
Espacio de visualizacin de
coordenadas
Espacio de recoleccin de
resultados.
139
Men Grafo
Permite aplicar el grafo de visibilidad y calcular el camino mnimo.
Men Polgono
Permite aplicar el algoritmo de sumas de Minkowski para ampliar los
obstculos poligonales.
Men Robot
Permite acceder a la opcin que realiza la simulacin del recorrido del robot
por el camino mnimo.
Ventana principal
140
Barra de Men
rea de trabajo
Botones de comando
Men Archivo
Abrir
Guardar
Salir
Ventana principal
141
Coordenadas
Botones de
inicio y fin
Botones de navegacin
Ventana de Video
Espacio de navegacin
142
resultados de su evaluacin.
143
Para introducir los datos a la simulacin debe usar el ratn, para ello debe
seleccionar el tipo de dato a introducir desde el rea de parmetros.
Para introducir la posicin inicial del mvil
Para introducir la posicin final del mvil
Para introducir los obstculos
Para colocar al robot
Para dibujar un polgono basta con marcar los puntos que lo forman a lo
largo del espacio de configuracin.
Para aadir un punto se har click con el botn izquierdo del ratn
quedando marcada la coordenada del punto en la pantalla. As
procederemos, movindonos por el rea de dibujo hasta que hayamos
aadido el ltimo punto. Ver figura (a).
Pulsando el click con el botn derecho del ratn se concluye con la
introduccin de puntos al polgono, y es en este momento cuando se
rellena de color el polgono resultante. Ver figura (b).
(a)
(b)
144
Una vez ingresados los datos del problema, para obtener la solucin se
pulsa en el botn
145
Tutor inteligente
que se
146
147
dispositivo real.
4. Utilizar los botones de navegacin para dirigir al robot mvil, observe
que el robot simulado realiza exactamente los mismos movimientos en
el entorno de navegacin para ayudarle a su localizacin.
5. Para finalizar debe presionar el botn
para cerrar la
148
149
4.7 Errores
Existen mensajes de error que pueden aparecer durante el uso del sistema.
Los errores que se pueden producir son:
Simulacin
1.
2.
3.
4.
5.
7.
150
8.
9.
Teleoperacin
1.
2.
151
3.
4.
5.
6.
Programacin
2.
3.
4.
152
BIBILIOGRAFIA
ROSENBERG, M. J. (2000). E-Learning: Strategies for Delivering
Knowledge in the Digital Age. New York: McGraw-Hill Professional
Publishing
DAVIES, J.R., GERTNER, A. S., LESH, N., RICH, C., RICKEL, J., SIDNER,
C. L. (2001). Incorporating Tutorial Strategies into an Intelligent Assistant.
Proceedings of Intelligent User Interfaces 2001, January 2001, Santa Fe,
New
Mexico,
USA.
Disponible
electrnicamente
en
http://www.merl.com/projects/collagen/.
Microsoft Corporation;
153
UML.
http://programacion.com/tutoriales/UML/
http://www.dcc.uchile.cl/~psalinas/uml/
154
155
APNDICE
VITA
Informacin
personal
Nombres:
Apellidos:
Nacionalidad:
Cdula Identidad:
Fecha de Nacimiento:
Marianela Elizabeth
Ortiz Beltrn
Ecuatoriana
180321606 - 6
17-05-1979
Educacin
156
___________________________________
MARIANELA ELIZABETH ORTIZ BELTRN
COORDINADOR DE LA CARRERA
___________________________________
ING. RAMIRO DELGADO
157