universidad de guayaquilrepositorio.ug.edu.ec/bitstream/redug/6546/1/tesiscompleta -493.pdf ·...
Post on 30-Sep-2018
236 Views
Preview:
TRANSCRIPT
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERÍA EN SISTEMAS
COMPUTACIONALES
DESARROLLO DE ROBOT INTELIGENTE EN AMBIENTE
VIRTUAL CON DEFINICIÓN DE ÓRDENES ESCRITAS.
PROPUESTA BASADA EN
HERRAMIENTAS
OPEN SOURCE
TESIS DE GRADO
Previa a la obtención del Título de
INGENIERO EN SISTEMAS COMPUTACIONALES
AUTOR: MAURO VINICIO ECHEVERRÍA CHUGULÍ
TUTORA: ING. KATYA FAGGIONI
GUAYAQUIL – ECUADOR
2014
REPOSITORIO NACIONAL EN CIENCIAS Y TECNOLOGÍA
FICHA DE REGISTRO DE TESIS
TÍTULO “Desarrollo de robot inteligente en ambiente virtual con definición de órdenes escritas. Propuesta
basada en herramientas Open Source.
REVISORES:
INSTITUCIÓN: Universidad De Guayaquil FACULTAD: Ciencias Matemáticas Y Físicas
CARRERA: Ingeniería En Sistemas Computacionales
FECHA DE PUBLICACIÓN: Enero del 2014 N° DE PÁGS.: 125
ÁREA TEMÁTICA: Inteligencia Artificial
PALABRAS CLAVES: Robot Virtual, Ambiente Virtual, Texto a Voz
RESUMEN: Robot inteligente, que se desenvuelve en ambiente virtual, a través de ordenes escritas. Basándose en herramientas
libres.
N° DE REGISTRO(en base de datos): N° DE CLASIFICACIÓN:
Nº
DIRECCIÓN URL (tesis en la web):
ADJUNTO PDF X SI NO
CONTACTO CON AUTOR:
MAURO VINICIO ECHEVERRÍA CHUGULÍ Teléfono:
0987675086 E-mail:
maurovinicio.echeverria@gmail.com
CONTACTO DE LA INSTITUCIÓN Nombre:
Teléfono:
III
APROBACIÓN DEL TUTOR
En mi calidad de Tutor del trabajo de investigación, “DESARROLLO DE ROBOT
INTELIGENTE EN AMBIENTE VIRTUAL CON DEFINICIÓN DE ÓRDENES
ESCRITAS. PROPUESTA BASADA EN HERRAMIENTAS OPEN SOURCE“.
Elaborado por el Sr. MAURO VINICIO ECHEVERRÍA CHUGULÍ, egresado de
la Carrera de Ingeniería en Sistemas Computacionales, Facultad de Ciencias
Matemáticas y Físicas de la Universidad de Guayaquil, previo a la obtención del
Título de Ingeniero en Sistemas, me permito declarar que luego de haber orientado,
estudiado y revisado, la apruebo en todas sus partes.
Atentamente
_______________________________
Ing. Katya Faggioni
TUTORA
IV
DEDICATORIA
El término de este proyecto se lo dedico a
Dios, a la Virgen María, a mis padres Elena
Chugulí y Mauro Echeverría, a mi esposa
Mery Reina, a mis hermanos Andrés,
Marielena y mi Dome que es mi gran luz e
inspiración. Ellos con su guía y amor
supieron darme fuerza para culminar mi
carrera profesional.
V
AGRADECIMIENTO
Quiero empezar agradeciendo a Dios por
haberme bendecido con unos padres de gran
corazón, a toda mi familia, compañeros,
maestros y en especial a mi esposa, los
cuales siempre estuvieron prestos a
brindarme su apoyo y conocimiento, a la Ing.
Katya Faggioni, persona de gran corazón y
amplia preparación académica, que supo
guiarme en el desarrollo de esta tesis. A la
Facultad de Ciencias Matemáticas y Físicas
la cual me abrió las puertas y me brindo todo
el conocimiento necesario para
desarrollarme como profesional y persona.
VI
TRIBUNAL DE GRADO
_________________________ _______________________
Ing. Fernando Abad Montero, Ing. Julio César Castro
DECANO DE LA FACULTAD DIRECTOR
CIENCIAS MATEMÁTICAS Y CISC, CIN
FÍSICAS
________________________ _______________________
Ing. Katya Faggioni. Ing. Israel Ortega Oyaga
DIRECTOR DE TESIS PROFESOR DEL ÁREA - TRIBUNAL
_______________________
Abg. Candy González Romero
SECRETARIA
VII
DECLARACIÓN EXPRESA
“La responsabilidad del contenido de esta Tesis
de Grado, me corresponden exclusivamente; y
el patrimonio intelectual de la misma a la
UNIVERSIDAD DE GUAYAQUIL”
________________________________
MAURO ECHEVERRÍA CHUGULÍ
VIII
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERÍA EN SISTEMAS
COMPUTACIONALES
DESARROLLO DE ROBOT INTELIGENTE EN AMBIENTE
VIRTUAL CON DEFINICIÓN DE ÓRDENES ESCRITAS.
PROPUESTA BASADA EN
HERRAMIENTAS
OPEN SOURCE
Proyecto de trabajo de grado que se presenta como requisito para optar por el
título de INGENIERO EN SISTEMAS COMPUTACIONALES.
Autor: Mauro Vinicio Echeverría Chugulí
C.I.0919664854
Tutora: Ing. Katya Faggioni
Guayaquil, Enero del 2014
IX
CERTIFICADO DE ACEPTACIÓN DEL TUTOR
En mi calidad de Tutor del Curso de Fin de Carrera, nombrado por el Departamento
de Graduación y la Dirección de la Carrera de Ingeniería en Sistemas
Computacionales de la Universidad de Guayaquil,
CERTIFICO:
Que he analizado el Proyecto de Grado presentado por el egresado
MAURO VINICIO ECHEVERRÍA CHUGULÍ, como requisito previo para optar
por el título de Ingeniero cuyo problema es:
DESARROLLO DE ROBOT INTELIGENTE EN AMBIENTE
VIRTUAL CON DEFINICIÓN DE ÓRDENES ESCRITAS.
PROPUESTA BASADA EN HERRAMIENTAS OPEN SOURCE.
Considero aprobado el trabajo en su totalidad.
Presentado por:
___________________________ _________________________
Mauro Vinicio Echeverría Chugulí Cédula de ciudadanía N°
Tutora: ____________________________
Ing. Katya Faggioni
Guayaquil, Enero del 2014
X
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERÍA EN SISTEMAS
COMPUTACIONALES
Autorización para Publicación de Tesis en Formato Digital
1. Identificación de la Tesis
Nombre Alumno: Mauro Vinicio Echeverría Chugulí
Dirección: Duran, Cdla. El Dorado. Mz. I Villa. 516 Calle. 4ta
Teléfono: 0987675086 E-mail:
maurovinicio.echeverria@gmail.com
Facultad: Ciencias Matemáticas y Físicas
Carrera: Carrera de Ingeniería en Sistemas Computacionales
Título al que opta: Ingeniero en Sistemas Computacionales
Profesor guía: Ing. Katya Faggioni
Título de la Tesis: Desarrollo de robot inteligente en ambiente virtual con
definición de órdenes escritas. Propuestas basada en herramientas Open Source.
Temas Tesis: (Palabras claves 5 a 8 )
Robot Virtual, Ambiente Virtual, Texto a Voz
2. Autorización de Publicación de Versión Electrónica de la Tesis A través de este medio autorizo a la Biblioteca de la Universidad de Guayaquil y a
la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica de
esta tesis.
Publicación electrónica:
Inmediata X Después de 1 año
Firma Alumno:
3. Forma de envío: El texto de la Tesis debe ser enviado en formato Word, como archivo .Doc. O .RTF
y .Puf para PC. Las imágenes que la acompañen pueden ser: .gif, .jpg o .TIFF.
DVDROM CDROM X
XI
ÍNDICE GENERAL
APROBACIÓN DEL TUTOR III
DEDICATORIA IV
AGRADECIMIENTO V
CARTA DE ACEPTACIÓN DEL TUTOR IX
ÍNDICE GENERAL XI
ÍNDICE DE CUADROS XV
ÍNDICE DE GRÁFICOS XVI
RESUMEN XIX
ABSTRACT XX
INTRODUCCIÓN 1
CAPÍTULO 1.- EL PROBLEMA
PLANTEAMIENTO DEL PROBLEMA 4
Ubicación del Problema en un contexto 4
Situación Conflicto Nudos Críticos 5
Causas del problema, Consecuencias 6
Delimitación del Problema 7
Formulación del Problema 8
Evaluación del Problema 8
Objetivos 10
Alcances del problema 11
Módulos 16
XII
Justificación e importancia 17
CAPÍTULO 2.- MARCO TEÓRICO
ANTECEDENTES DEL ESTUDIO 19
FUNDAMENTACIÓN TEÓRICA 20
Inteligencia Artificial 21
Ambientes Virtuales 25
Robótica 27
Robots en Ambientes Virtuales 34
Robots de Aprendizaje 37
Microsoft Windows 38
Microsoft Windows Server 2003 39
Microsoft Windows Seven 41
Open Source 43
VozMe 48
Librería JQuery 48
AJAX 49
PHP 51
MySQL 54
FUNDAMENTACIÓN LEGAL 58
Decreto Presidencial 1014 58
Estatuto Orgánico de la Universidad de Guayaquil 59
Ley orgánica de Educación Superior 59
PREGUNTAS A CONTESTARSE 60
XIII
VARIABLES DE LA INVESTIGACIÓN 60
Variables Independientes 60
Variables Dependientes 61
DEFINICIONES CONCEPTUALES 61
CAPÍTULO 3.- METODOLOGÍA
MODALIDAD DE LA INVESTIGACIÓN 65
TIPO DE INVESTIGACIÓN 66
POBLACIÓN Y MUESTRA 67
Población 67
Muestra 68
OPERACIONALIZACIÓN DE VARIABLES 70
INSTRUMENTOS DE LA INVESTIGACIÓN 71
Registro de observación 71
Guion de entrevista 72
Cuestionario 72
Internet 72
PROCEDIMIENTOS DE LA INVESTIGACIÓN 73
RECOLECCIÓN DE LA INFORMACIÓN 76
La Entrevista 76
La Observación 76
La Encuesta 77
PROCESAMIENTO Y ANÁLISIS 77
Pregunta 1 78
XIV
Pregunta 2 79
Pregunta 3 80
Pregunta 4 81
Pregunta 5 83
Pregunta 6 84
Pregunta 7 85
CRITERIOS PARA LA ELABORACIÓN DE LA PROPUESTA 87
CRITERIOS DE VALIDACIÓN DE LA PROPUESTA 87
CAPÍTULO 4.- MARCO ADMINISTRATIVO
CRONOGRAMA 88
PRESUPUESTO 90
CAPÍTULO 5.- CONCLUSIONES Y RECOMENDACIONES
CONCLUSIONES 91
RECOMENDACIONES 92
BIBLIOGRAFÍA
LIBROS 93
CITAS BIBLIOGRÁFICAS 94
PUBLICACIONES 95
DIRECCIONES WEB 95
ANEXO 1
ENTREVISTA 100
ANEXO 2
ENCUESTA 103
XV
ÍNDICE DE CUADROS
CUADRO 1
Personas que conforman la muestra 67
CUADRO 2
Resumen de muestra establecida 69
CUADRO 3
Cálculo de porcentaje para la muestra de personas
que tienen con computadoras con acceso a internet 69
CUADRO 4
Operacionalización de variables 70
CUADRO 5
Pregunta 1 78
CUADRO 6
Pregunta 2 79
CUADRO 7
Pregunta 3 81
CUADRO 8
Pregunta 4 82
CUADRO 9
Pregunta 5 83
CUADRO 10
Pregunta 6 84
CUADRO 11
Pregunta 7 86
CUADRO 12
Detalles de ingresos del proyecto 90
CUADRO 13
Detalles de egresos del proyecto 90
XVI
ÍNDICE DE GRÁFICOS
GRÁFICO 1
Poliarticulados 29
GRÁFICO 2
Móviles 30
GRÁFICO 3
Androides 31
GRÁFICO 4
Zoomórficos 32
GRÁFICO 5
Híbridos 33
GRÁFICO 6
Ambiente Virtual 36
GRÁFICO 7
Ejecución de código PHP 52
GRÁFICO 8
Clúster de MySQL 57
GRÁFICO 9
Cálculo de la muestra para personas que tienen
computadoras con acceso a internet 68
GRÁFICO 10
Pregunta 1 79
GRÁFICO 11
Pregunta 2 80
GRÁFICO 12
Pregunta 3 81
GRÁFICO 13
Pregunta 4 82
GRÁFICO 14
Pregunta 5 83
XVII
GRÁFICO 15
Pregunta 6 85
GRÁFICO 16
Pregunta 7 86
GRÁFICO 17
Actividades del proyecto 88
GRÁFICO 18
Tiempo del proyecto 89
XVIII
ABREVIATURAS
GPL Licencia Pública General
HTML Lenguaje de marca de Salida de Híper texto
HTTP Protocolo de Transferencia de Hipertexto
ING. Ingeniero
PHP Preprocesador de Hipertexto
SNMP Protocolo Simple de Administración de Red
SIP Protocolo de Inicio de Sesión
SDP Protocolo de Descripción de Sesión
TCP Protocolo de Transferencia de Archivos
URL Localizador de Fuente Uniforme
UG Universidad de Guayaquil
WMI Instrumentación Administrativa de Windows
XIX
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERÍA EN SISTEMAS
COMPUTACIONALES
DESARROLLO DE ROBOT INTELIGENTE EN AMBIENTE
VIRTUAL CON DEFINICIÓN DE ÓRDENES ESCRITAS.
PROPUESTA BASADA EN
HERRAMIENTAS
OPEN SOURCE
RESUMEN
El proyecto tiene como finalidad, interactuar con un robot inteligente en una
habitación virtual, a través de una página web, por medio de órdenes escritas
definidas, enviadas por el usuario. El robot se encontrará en dicha habitación,
junto a una serie de objetos predefinidos, listos para ser buscados, tomados o
ubicados por el robot en una mesa o silla que se encontrará en la habitación,
dependiendo la orden del usuario. El robot tendrá la facultad de identificar colores,
tamaños, moverse en distintas direcciones, y saber si un objeto se encuentra o no
en la habitación, dicha interacción le permitirá al robot almacenar estas acciones
en su base de conocimientos, para usarlos en una futura orden. Finalizada la orden,
responderá la resolución en forma de texto y audio, para que el usuario la pueda
entender. Este proyecto está desarrollado sobre una plataforma Windows, usando
aplicaciones Open Source.
XX
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERÍA EN SISTEMAS
COMPUTACIONALES
DESARROLLO DE ROBOT INTELIGENTE EN AMBIENTE
VIRTUAL CON DEFINICIÓN DE ÓRDENES ESCRITAS.
PROPUESTA BASADA EN
HERRAMIENTAS
OPEN SOURCE
ABSTRACT
The project is intended to interact with an intelligent robot in a virtual room, through
a website, through defined written orders sent by the user. The robot will be in that
room, along with a number of predefined objects, ready to be searched, taken by
the robot and placed on a table or chair that will be in the room, depending on user
command. The robot has the option to identify colors, sizes, move in different
directions, and find out if an object is in the room or not, this interaction will allow
the robot to store the following in their knowledge base, for use on a future order.
After the order, respond resolution in text and audio, so that the user can understand.
This project is developed on a Windows platform, using Open Source applications.
1
INTRODUCCIÓN
Actualmente son innumerables las áreas en las que se emplea la realidad virtual con
motivo de investigación, entretenimiento, educación y salud.
Estos ambientes virtuales buscan que la interacción con el usuario final, sea lo más
natural posible, dando así la facilidad para que el usuario entienda, procese y acceda
a toda la gama de herramienta y beneficios que da la realidad virtual con ayuda de
la inteligencia artificial. Además busca ayudar a personas con discapacidad, para
que puedan hacer uso del ambiente web utilizando su lenguaje natural como medio
de comunicación.
El objetivo de este proyecto, es manejar un robot inteligente en un ambiente virtual,
a través de comandos de texto debidamente definidos en una base de conocimientos,
para luego interpretarlos y así interactuar con el ambiente virtual de forma que el
usuario lo maneje de manera fácil, sin que tenga un conocimiento avanzado de las
herramientas a usar.
Al final de cumplir todos los objetivos. El ambiente virtual estará representado por
una habitación, donde se encuentran varios objetos dentro de ella, y un robot tendrá
que interactuar con cada uno de ellos, realizando acciones como tomar, dirigirse,
ubicar y buscar objetos. Además el robot estará en la capacidad de aprender del
medio distinguiendo tamaños, objetos y órdenes.
2
El robot obedecerá a comandos de texto definidos como: “ROBOT” busca (articulo)
o camina hacia (dirección). Una vez que el robot encuentre su objetivo este
responderá con voz sintética, por ejemplo “ROBOT: ENCONTRÓ OBJETO”.
El desarrollo de esta tesis ayudará a que los nuevos ambientes virtuales acojan esta
forma más natural de interactuar con el usuario, con el fin de sobrepasar la frontera
del hombre y máquina.
El proyecto consta de cuatro capítulos, estos son: El problema, Marco Teórico,
Metodología, Marco Administrativo, Conclusiones y Recomendaciones. Capítulo
I, II, III, IV, V respectivamente.
En el capítulo I, identificaremos el problema del cual parte el presente proyecto,
debido al desconocimiento de la integración de las diferentes herramientas, creación
de ambientes web, el uso apropiado de la plataforma de Windows y el aprendizaje
gradual del ambiente (Inteligencia Artificial).
En el capítulo II, se investigarán los elementos teóricos relevantes para saber que
herramientas usar, dirigido a la economización de recursos y tiempo de ejecución
mínimo del proyecto, como integrarlas de manera eficiente. Con el fin de cumplir
cabalmente con los objetivos del mismo. Para esto se apoyará en la
conceptualización de cada una de ellas.
3
En el capítulo III, se indagará el tipo investigación, las técnicas y los
procedimientos que serán utilizados para llevar a cabo la indagación y futura
solución de problema. Basándose en el procedimiento y análisis de la operatividad
de las variables e instrumentos de la investigación.
En el capítulo IV, se establecerá con cuanto de capital cuenta el proyecto para su
ejecución, el cronograma, en donde indicará la fecha de inicio y termino del mismo,
con qué recursos se llevará a cabo la investigación, para poder concluir el proyecto
de manera exitosa.
En el capítulo V, se podrá apreciar la conclusión de proyecto, saber si se pudo o no
resolver el problema que dio nacimiento a esta tesis. Se podrá observar las
recomendaciones que se dan para que en un futuro se pueda mejorar o guiar por
otros pasos la ejecución de este proyecto.
4
CAPÍTULO I
EL PROBLEMA
PLANTEAMIENTO DEL PROBLEMA
UBICACIÓN DEL PROBLEMA EN UN CONTEXTO
Hoy en día existen muchos ambientes virtuales que permiten realizar diversas
actividades tales como: educación, entretenimiento, salud o investigación.
Ayudando de gran manera a aprender o entender las diversas situaciones que se nos
presentan día a día.
Actualmente se trata de orientar todos estos conocimientos a un ambiente WEB,
esto conlleva a que los usuarios no tengan que instalar ningún aplicativo en su
computador, haciendo que este tenga características mínimas y con una conexión a
internet podría tener acceso a todos estos beneficios tecnológicos.
Los problemas que se presenta en los ambientes virtuales son: el poder comunicar
las diferentes herramientas, el uso e integración de estas herramientas al ambiente
virtual, el desarrollo de la aplicación web, el uso apropiado de los sistemas
operativos, el reconocimiento de lenguaje natural, el aprendizaje del sistema de
manera gradual (Inteligencia Artificial) y su base de conocimiento, sobrepasando
5
estos inconvenientes el usuario final podrá interactuar de manera sencilla, intuitiva
y sin tener un conocimiento avanzado de las herramientas integradas.
El factor económico es otro de los motivos por la cual no se puede dar un avance
significativo a esta investigación, ya que si no se tienen los recursos y a la vez no
se conoce de la plataforma del sistemas operativo, conllevará a un gasto innecesario
en el presupuesto del proyecto y evitará su respectiva integración y futuro
funcionamiento del ambiente virtual.
El propósito del desarrollo de este proyecto, es resolver este problema integrando
dichas herramientas de manera eficiente, utilizando la plataforma de Windows, para
que el usuario final pueda expresarse de manera natural con el ambiente virtual y
así obtener una mayor experiencia y conocimiento del uso de estas herramientas.
SITUACIÓN CONFLICTO NUDOS CRÍTICOS
Actualmente existen aplicaciones virtuales con notables limitaciones ya sea en la
inteligencia artificial, la conversión de texto a voz, ambientación de dichos sitios e
interacción con el usuario. Por otra parte, el usuario debe tener un conocimiento
básico y porque no decirlo avanzado de computadoras.
Esto se debe a que no existían aplicaciones que permitan mejorar el performance
de usuario en la virtualización.
6
Hoy en día existen muchas aplicaciones que al integrarlas van a ayudan a solventar
estas falencias y así convertir la estadía del usuario en la virtualización, en una
verdadera experiencia agradable y novedosa, utilizando su propio lenguaje natural.
CAUSAS Y CONSECUENCIAS DEL PROBLEMA
CAUSAS
El uso inadecuado y manejo de la plataforma Windows, la cual se utilizará para
la realización del proyecto.
La falta de conocimiento para realizar la integración de las herramientas en un
mismo aplicativo, con el fin de que el usuario final interactúe con este de
manera sencilla.
El desconocimiento de los aplicativos a usarse en dicha plataforma.
El poco uso del reconocimiento de lenguaje natural de texto, para interactuar
con un ambiente virtual.
El no saber realizar la conversión de texto a voz en un ambiente web, para que
el usuario pueda entender las acciones del robot realice en el ambiente virtual.
La dificultad para que un robot en un ambiente virtual aprenda a conocer e
interactuar con los objetos de una lista ya predefinida.
El no poder almacenar de manera adecuada el conocimiento adquirido.
El no poseer ambientes web que sean amigables con el usuario final.
La necesidad de un conocimiento avanzado de las herramientas a usar para la
interacción con el ambiente virtual.
7
El factor económico, es otro de los motivos por el cual se impide realizar este
proyecto.
CONSECUENCIAS
Incorrecto funcionamientos de lo aplicativos a usar, dentro de la plataforma.
Problemas en la experiencia del entorno virtual por una incorrecta
comunicación de los aplicativos.
Programación inadecuada en aplicaciones.
Usuario debe emplear comandos complejos para comunicarse con el ambiente
virtual.
Usuario no escucha la respuesta del robot, al término de una orden.
No hay un proceso de aprendizaje por parte del robot en el ambiente virtual.
Perdida de información o experiencia adquirida, por el mal almacenamiento de
esta.
El usuario pierde interés por el ambiente web, al tener una interfaz.
Gasto innecesario del presupuesto del proyecto.
DELIMITACIÓN DEL PROBLEMA
Campo: Inteligencia Artificial
Área: Ambientes Virtuales
Aspecto: Robot Inteligente
Tema: Desarrollo de robot inteligente en ambiente virtual con definición de
órdenes escritas. Propuesta basada en herramientas Open Source.
8
FORMULACIÓN DEL PROBLEMA
La falta de conocimiento al usar herramientas de reconocimiento y conversión de
texto, el uso inadecuado de la inteligencia artificial para hacer que interactúe
correctamente el robot en el ambiente virtual y el no conocer la manera correcta de
integrar las herramientas a usarse en una misma plataforma, como lo es el sistema
operativo Windows y su distribución Seven. Han hecho que no se puedan
desarrollar aplicaciones que tengan todas estas funciones en un mismo ambiente
web.
Esto conlleva a que el usuario deba interactuar con las herramientas de manera
individual, alargando el tiempo de productividad y experiencia con el ambiente.
EVALUACIÓN DEL PROBLEMA
Delimitado: El no poder comunicar las diferentes herramientas, la dificultad de
integrar las herramientas al ambiente web, el no poder desarrollar de la aplicación
web de manera correcta, el uso inapropiado de aplicaciones y plataformas, el
reconocimiento de lenguaje natural de texto y su debida conversión a sonido para
que el usuario pueda entender las acciones del robot en el ambiente virtual, el
aprendizaje de experiencias gracias a la ayuda de la inteligencia artificial y el
utilizar una base de conocimiento para almacenar las experiencias adquiridas.
9
Son un problema para que el usuario final pueda interactuar de manera sencilla,
intuitiva y sin tener un conocimiento avanzado de las herramientas integradas y que
esta tesis busca resolver.
Evidente: En la actualidad, la computación y la robótica apuntan a un mismo fin,
la búsqueda para que la interacción entre la máquina y el hombre sea imperceptible.
Es una necesidad de la sociedad contar con un agente o máquina que realice los
trabajos rutinarios, cotidianos o que con llevan un riesgo para el ser humano.
Esto con lleva a que el maquina o ambiente debería reconocer el lenguaje natural
de las personas con las que interactúa, parque que así pueda tener una comunicación
fluida con este y pueda concretar las ordenes establecidas por el usuario.
Relevante: Con este proyecto se logrará dar un gran aporte a la sociedad en especial
el dirigido a las personas con discapacidad, instituciones y universidades que
trabajan con la inteligencia artificial, base de conocimientos, órdenes escritas y
ambientes virtuales.
Estos pequeños pasos ayudaran para en un futuro cercano podamos crear robots y
ambientes reactivos, que tengan por objetivo la simplificación de actividades en las
que el humano no puede intervenir por la limitaciones físicas e intelectuales.
Ayudando así a realizar actividades rutinarias, cotidianas o incluso que representen
un riesgo para la vida humana.
10
Original: Por tratarse de un tema que está en boga en la actualidad, llama mucho
la atención, la posibilidad de interactuar con un robot inteligente a través de un
ambiente virtual. En la cual el usuario podrá dar órdenes escritas utilizando su
propio lenguaje natural. A través de estas órdenes el robot virtual podrá ejecutar las
órdenes dadas y así poder mover, ubicar y tomar objetos que se encuentren en una
habitación.
Esto se lo conseguirá integrando aplicaciones, que cumplan a cabalidad con los
objetivos planteados, dentro de un mismo ambiente, donde el usuario no tendrá que
tener conocimiento avanzado de estas, ya que el sitio será amigable, llamativo y de
fácil uso.
Factible: En la actualidad, se tiene en el mercado muchas herramientas pagadas y
libres. La opción elegida para el desarrollo de esta tesis, es el uso de la plataforma
Windows, por su estabilidad, fiabilidad y su fácil manejo, las hacen factibles para
su uso de este proyecto. Entre las herramientas a usar se encuentran el sistema
operativo Windows con su distribución Seven versión Ultimate, PHP, MySql,
VozMe, JAVA, AJAX.
Gracias a estas herramientas se puede resolver este problema de manera eficiente e
integrarlas en el ambiente virtual para el fácil uso e interacción del usuario final.
OBJETIVOS
OBJETIVOS GENERALES
11
Analizar las diferentes opciones de herramientas de interpretación, integradas en
una misma plataforma, permitiendo la conversión de texto a voz, y medios de
aprendizaje en un ambiente virtual.
Desarrollar e Implementar una propuesta de robot inteligente que interactúe en un
ambiente virtual por medio de órdenes escritas.
OBJETIVOS ESPECÍFICOS
Diseñar un ambiente virtual de aprendizaje, que será accesible desde una
página WEB.
Analizar las herramientas y aplicativos que permitan una correcta
integración en un ambiente web.
Integrar las herramientas de texto y conversor de texto a voz, en el ambiente
web.
Diseñar una página web en PHP y con su base de datos en MySql, este
servirá como repositorio de la base de conocimientos.
Desarrollar una base de conocimientos, que contenga los nuevos objetos
aprendidos.
ALCANCE DEL PROBLEMA
Emplear el protocolo TCP/IP.
Implementar un modelo Cliente – Servidor.
12
Permitir al usuario crear su cuenta personal, con procesos de seguridad,
integridad y confidencialidad.
Permitir cambio de contraseña de usuario en caso de pérdida.
Usuarios deberán ingresar su correo y contraseña para interactuar con el
robot virtual.
La página deberá a través de un audio, explicar cómo utilizar el ambiente
web y las órdenes que el usuario le podrá dar al robot.
El usuario podrá elegir de una lista de objetos prediseñados, solamente 6
objetos, estos pueden ser cualquiera, en el orden que el usuario desee y
podrán ser repetidos.
KABUTO tendrá que realizar las siguientes funciones por medio de la
elección del combo o selector.
Tomar objetos
Ubicar objetos
Buscar objetos
Ir hacia alguna dirección (atrás, adelante, arriba y abajo)
Detenerse
Saludar
Despedirse
KABUTO, podrá realizar acciones tales como:
Validar tamaños y colores definidos por el sistema.
Verificar si no hay objetos.
13
Verificar si encuentra un objeto diferente al que se le envió
a buscar.
Verificar si ya tomo algún objeto.
Los objetos a interactuar con KABUTO, serán los siguientes:
Florero (Incluido rosas)
Celular (Un solo modelo y forma)
Radio (Un solo modelo y forma)
Pelotas pequeñas y grandes (Color azul y roja)
Mesa simple
Silla simple
Formas geométricas (Cuadrado, triangulo, rombo)
Colores (amarillo, azul y rojo).
Se establece como objetos prediseñados, a los objetos que se desarrollaron
en la ejecución de esta tesis, estos son:
florero
celular
radio
pelota pequeña amarilla
pelota pequeña azul
pelota pequeña roja
pelota grande amarilla
pelota grande azul
pelota grande roja
14
cuadrado amarillo
cuadrado azul
cuadrado rojo
triangulo amarillo
triangulo azul
triangulo rojo
rombo amarillo
rombo azul
rombo rojo
Solo con estos objetos podrá interactuar el usuario final en el ambiente web. El
usuario no podrá incluir al ambiente objetos que no estén antes definidos.
Permitir al usuario incorporar objetos nuevos ya diseñados, que no estén en
la base de conocimientos del robot.
El usuario podrá elegir de un combo, toda la gama de ordenes predefinidas,
que aceptara el ambiente para su debido funcionamiento.
El usuario podrá elegir órdenes predefinidas, para dar a KABUTO,
mediante una gramática definida. Tales como:
Kabuto busca (artículo).
Kabuto toma (articulo).
Kabuto ubica (articulo) en silla o mesa
Kabuto ir hacia (dirección).
Kabuto saluda
Kabuto despídete
15
Kabuto detente
El ambiente virtual reconocerá la orden dada, y de ser recibida de manera
correcta, se ejecutara.
Para recibir una respuesta por parte del ambiente web. Se enviará un texto
con la resolución del mismo a VozMe, para que esta se convierta a audio y
sea escuchado por el usuario final.
Se guardará en la base de datos el historial de la selección de objetos que
haga el usuario al inicio del juego.
En el ambiente virtual KABUTO podrá recibir una orden a la vez, y cuando
la concluya podrá recibir otra orden.
Para recibir una orden KABUTO deberá estar en el centro de la habitación.
Para poder ubicar algún objeto ya sea en la silla o en la mesa, KABUTO
debió haber tomado dicho objeto.
Si KABUTO ubicó algún el objeto en la silla o mesa y recibe alguna otra
orden, el objeto regresará a su posición inicial de manera inmediata, con el
fin que el usuario pueda poner otro objeto en ese sitio.
KABUTO solo podrá tener un objeto a la vez, si desea tomar otro objeto,
este deberá dejar el otro objeto.
KABUTO solo conocerá un objeto al inicio del juego, el resto de objetos
serán desconocidos para el robot, en su base de conocimientos.
Permitir al ambiente virtual, el aprendizaje si el robot no conociese el objeto
de la orden dada.
Si la respuesta es positiva, el objeto se guardara en la base de conocimientos.
16
Si la respuesta es negativa, se le indicara al usuario que indique otra orden
para continuar con el juego.
En la página se mostrara los objetos con los que KABUTO, ya cuenta en su
base de conocimientos.
La aplicación constará de 4 módulos, que consisten en lo siguiente:
Descripción funcionalidades módulos:
Módulo de ambiente web:
En este módulo se diseñara el ambiente en donde el usuario podrá crear su
cuenta de usuario, esta será de uso confidencial para la página, además su
contraseña será cifrada para evitar el hurto de identidades.
El usuario podrá ver a las personas con las que ha interactuado el robot,
como también ver el número de visitas que ha tenido la página.
Módulo de ambiente virtual:
En este módulo se diseñará una habitación en 3D, donde el robot va a
interactuar con objetos tales como pelota, celular, florero, pelotas y formas
geométricas de diferentes tamaños y colores. Cabe recalcar que la
habitación y el robot ya estarán definidos por parte del sistema y que el
usuario podrá interactuar únicamente con los objetos, seleccionándolos o
descartándolos para la interacción con el robot en el ambiente virtual.
Módulo de reconocimiento de texto:
17
VozMe será la herramienta que servirá para convertir un texto definido a
voz. Estos se integraran al ambiente virtual a través de una página web
desarrollada en PHP.
Módulo de sistema de aprendizaje:
En este módulo, el sistema aprendizaje recibirá la información de texto, esta se
validara en la base de conocimiento. Y de no conocerse esta se guardara en la
misma, como parte de su aprendizaje.
JUSTIFICACIÓN E IMPORTANCIA
El desarrollo del ambiente virtual, para que un robot inteligente interactúe de
manera adecuada ante órdenes escritas definidas, a través de la plataforma de
Windows, usando aplicaciones open Source.
Tiene como aporte principal, que el usuario no deba tener una experiencia previa
de las herramientas a tratar ya que este usará su propio lenguaje natural para la
interacción con el robot virtual. Las ordenes están predefinidas y son muy sencillas
tales como: kabuto busca (articulo) o kabuto ir hacia (dirección).
Al final del desarrollo de este proyecto, nos daremos cuenta que al integrar las
herramientas de manera correcta, se podrá usar el lenguaje natural de las personas
para comunicarnos con el robot inteligente en un ambiente virtual.
18
Al tomar como base el desarrollo de esta tesis, se podrá dar un gran aporte
académico a escuelas, colegios, universidades, y a apersonas con discapacidad. En
fin a una gran gama de instituciones que deseen aprender a interactuar y a usar estas
herramientas de manera fácil y más que todo, utilizando el lenguaje natural del ser
humano, para comunicarse o entender las acciones el robot inteligente en la
ambiente virtual web, desarrollado en una plataforma Windows con ayuda de
aplicaciones Open Source.
También ayudará a proyectos actuales que usan aplicaciones de inteligencia
artificial y el lenguaje natural. Estos proyectos o investigaciones se encuentran en
ejecución y utilizan en menor y mayor cantidad estas herramientas para su
desarrollo, a continuación se mencionará estos proyectos y su finalidad.
19
CAPÍTULO II
MARCO TEÓRICO
ANTECEDENTES DEL ESTUDIO
Esta tesis se fundamentó en el hecho de tener una aplicación web, en el cual se
desarrolle un ambiente virtual, capaz de integrar las herramientas óptimas y
necesarias para el funcionamiento de este y así el usuario pueda comunicarse, a
través de su lenguaje natural.
En el mercado existen aplicaciones con funciones semejantes al aplicativo a
desarrollarse por medio de la integración de herramientas de texto, las cuales
sirvieron para orientar al desarrollo de este proyecto.
Estas aplicaciones se las detalla a continuación:
SitePal: Es un servicio en línea que permite crear un avatar que dialoga con otros
usuario, integrando su propia voz o el uso integrado de texto a voz, además permite
la personalización de sus avatares en tanto a forma y fondo de la imagen.
Festival: Ofrece un marco general para la construcción de sistemas de síntesis de
voz. Festival es multi-lenguaje (actualmente Inglés (británico y americano), y
español), aunque Inglés es el más avanzado. Otros grupos liberan nuevos idiomas
para el sistema. Y herramientas completas y documentación para construir nuevas
20
voces están disponibles a través del proyecto FestVox de Carnegie Mellon
(http://festvox.org).
Idox: Aplicación inteligente que incorpora un robot virtual que dialoga con un
usuario a través de una caja de texto con el fin de realizar ciertas acciones y aprender
de la conversación con el usuario.
A diferencia de la aplicación que voy realizar, este programa no obedece a órdenes
habladas por el usuario y no interactúa con objetos a su alrededor.
FUNDAMENTACIÓN TEÓRICA
Al adentrarnos en los fundamentos teóricos que permitieron sustentar esta tesis.
Analizaremos y explicaremos aspectos importantes como es la inteligencia
artificial, ambientes virtuales, la robótica, el sistema operativo y las diferentes
aplicaciones usadas para la elaboración de la misma.
De manera adicional y respecto a la robótica debemos entender, de que para que un
robot sea inteligente considerando su complejidad, composición o elaboración.
Este deberá estar diseñado para afrontar diferentes tipos de problemas o eventos,
para así poder aprender, captar y asimilar los conocimientos del medio que lo rodea,
con el fin de solucionar un problema. De manera consecuente el robot deberá
almacenar esta experiencia, para en un futuro saber cómo solucionarla de manera
adecuada.
21
Sin embargo no todos los robots son inteligentes o tienen la capacidad de
aprendizaje. Esto se debe a que fueron diseñados para algo más específico y
puntual. Y no tienen la necesidad de aprender del medio que los rodea, tan solo
cumplir con la rutina para el cual fueron creados.
Lo contrario sucede en la elaboración de este proyecto. Ya que tiene por propósito
desarrollar un robot inteligente en un ambiente virtual, con la capacidad de aprender
del medio que lo rodea. Adicional a esto, el robot virtual, estará en la capacidad de
almacenar dicho aprendizaje y usarlo en futuras experiencias con el usuario final.
A continuación se procederá a fundamentar de manera teórica, todos los conceptos
y aplicaciones usadas para la elaboración de este proyecto.
Inteligencia artificial
Warren McCulloch y Walter Pitts (1943) han sido reconocidos como los autores
del primer trabajo de inteligencia artificial (IA). Partieron de tres fuentes:
conocimientos sobre la filosofía básica y funcionamiento de las neuronas en el
cerebro, el análisis formal de la lógica proposicional de Russell y Whitehead y la
teoría de la computación de Turing. Propusieron un modelo constituido por
neuronas artificiales, en el que cada una de ellas se caracteriza por estar activada o
desactivada.
22
Donald Hebb (1949) propuso y demostró una sencilla regla de actualización para
modificar las intensidades de las conexiones entre neuronas. Su regla, ahora
llamada de aprendizaje Hebbiano o de Hebb, aún sigue vigente en la actualidad.
Los investigadores de Carnegi Tech, Allen Newell y Herbert Simon, acapararon la
atención. Si bien Minsky, Claude Shannon y Nathaniel también tenían algunas ideas
y programas para aplicaciones determinadas, Newell y Simon contaban ya con un
programa de razonamiento llamado el Teórico Lógico (TL).
Simón (2004) afirmaba: “Hemos inventado un programa de computación capaz
de pensar de manera no numérica, con lo que quedado resuelto el venerable
problema de la dualidad de mente y cuerpo” (página 20).
El ultimo taller efectuado por estos investigadores, llego a un consenso de adoptar
el nombre propuesto por McCarthy para este campo, “Inteligencia artificial”,
llamado también IA.
Existen diferentes conceptos de la inteligencia artificial, las cuales detallaremos a
continuación.
Rama de las Ciencias de la Computación que estudia el software y hardware
necesarios para simular el comportamiento y comprensión humanos.
(McCarthy, 1992).
Rama de la ciencia de la computación que se ocupa de la automatización
de la conducta inteligente. (Stubblefied, 1993).
23
Arte de crear maquinas con capacidad de realizar funciones que realizadas
por personas requieren de inteligencia. (Kurzweil, 1990)
Estudio de cómo lograr que las computadoras realicen tareas que, por el
momento, los humanos hacen mejor. (Rich, Knight, 1991).
Campo de estudio que se enfoca a la explicación y emulación de la
conducta inteligente en función de procesos computacionales. (Schalkoff,
1990).
El objetivo principal de la inteligencia artificial es simular la inteligencia humana
en una máquina creando robots que sean conscientes y con sentimientos reales,
similares a los humanos. La dificultad más importante es la simulación de la
conciencia, cualidad humana que hace que nos demos cuenta de nuestra propia
existencia.
Con el avance del hardware y software en la década de los ochentas la investigación
en inteligencia artificial pretendía simular capacidades humanas como la visión o
el razonamiento.
En el año 1900 el prestigioso matemático alemán David Hilbert propuso una serie
de problemas, cuya resolución se consideraba clave para el avance de las
matemáticas y la ciencia en general, este problema fue el que motivó a Turing a
proponer la famosa máquina que lleva su nombre.
La máquina de Turing
24
Alan Turing fue un matemático británico especializado en criptografía que jugó un
papel importante dentro del grupo que descifró los códigos secretos alemanes
durante la Segunda Guerra Mundial. Turing concibe su máquina como una
descripción idealizada de la actividad que llevaban a cabo los contables realizando
tediosos y rutinarios cálculos con lápiz y papel ayudados a veces de tablas
trigonométricas o de logaritmos. Hasta el advenimiento de los ordenadores este
cálculo numérico contable empleaba a miles de personas en bancos, administración
pública y en muchas otras empresas, era una actividad muy común en aquellos días;
el mismo Turing lo indica en una de sus publicaciones “si a una persona se le facilita
papel, lápiz y goma de borrar y se le somete a una disciplina estricta, dicha persona
se convierte en lo que se denomina una máquina universal”.
Wittgenstein fue más radical, si cabe, a la hora de referirse a las máquinas de
Turing: “Estas máquinas son humanos que calculan.”
Una máquina de Turing es un modelo formal de ordenador, un concepto teórico de
computación que formaliza el concepto de algoritmo. Más adelante se dará una
definición más formal de algoritmo, de momento puede servir, la siguiente
definición: un algoritmo es todo procedimiento que realiza una tarea determinada
en un número finito de pasos. Una máquina de Turing consiste en una cinta de
longitud infinita, dividida en celdillas, donde cada una contiene una letra de un
alfabeto o está en blanco. El alfabeto consiste en un conjunto finito de símbolos,
incluido el espacio en blanco. La máquina tiene un cabezal para leer los símbolos
en las celdillas y escribir nuevos símbolos que sustituyan a los existentes cuando
25
corresponda; cuando el cabezal ha terminado de leer o escribir en una celdilla se
mueve a la derecha o a la izquierda de esa celdilla, una sola posición cada vez, salvo
que se llegue al estado de parada. La máquina tiene un número finito de estados, y
se dice que siempre se encuentra en cierto estado. Un programa consiste en una lista
de instrucciones, cada instrucción le indicará a la máquina una computación a
realizar; es decir, una serie de acciones, dados un estado actual y un símbolo
determinado bajo el cabezal, la instrucción le indicará qué símbolo debe ser escrito
en la cinta, y si el cabezal debe moverse un paso a la izquierda o uno a la derecha.
Una instrucción viene definida por una quíntupla como la siguiente: (estado inicial,
valor inicial, nuevo estado, nuevo valor, movimiento)
La cinta se utiliza para almacenar datos, pero también se puede utilizar para guardar
una serie de instrucciones (pequeños programas o subprogramas). En este último
caso se dice que la máquina de Turing emula a otra, la que se encuentra en la cinta,
este tipo de máquina se conoce con el nombre de máquina universal. Una
observación crucial es que se demuestra que solo hay un número contable de
máquinas de Turing. Entendiendo por conjunto contable aquel que es finito o se
puede poner en correspondencia uno a uno con el conjunto de los números
naturales.
Ambientes Virtuales
Los ambientes virtuales, son el medio a través de cual se realizan simulaciones o
recreaciones de actividades humanas, esto lo hacemos con el propósito de llevarlas
26
a un ambiente controlado y analizarlas con mayor profundidad. Permitiendo que en
este medio virtual de prueba puedan ponerse a trabajar diferentes alteraciones del
mismo llevando un estudio completo de la simulación deseada.
Las características principales del ambiente virtual son la inmersión. El cual da la
sensación al usuario de encontrarse dentro de un mundo tridimensional. Otra
característica es la de la existencia de un punto de referencia. El cual permite
determinar la ubicación y posición de observación de usuario dentro de un ambiente
virtual. Adicional existe la navegación y la manipulación. El cual permite al usuario
cambiar su posición de observación y transformación del ambiente virtual,
respectivamente.
Cuán importante es el desarrollo de este tipo de ambientes que ha ayudado mucho
a áreas de medicina, transporte, enfermedades psicológicas, etc. Un ejemplo era los
ambientes virtuales para automóviles. Los cuales permitían incorporar
conocimientos teóricos y aplicaciones necesarias para conseguir destreza a la hora
de conducir un vehículo. Esto permitía una reducción significativa en la tasa de
accidentes de tránsito.
Otro ejemplo es el procedimientos de enfermería y de actos médicos puede
ejecutarse en el marco de los ambientes virtuales antes de su ejecución en pacientes
reales. De esta forma, el comprensible error que se describe durante el proceso de
aprendizaje no ocasiona daños potencialmente graves en enfermos reales y puede
ser corregido durante la enseñanza. La interacción con otros profesionales en
formación a través de estas plataformas constituye un interesante valor agregado
que no puede dejar de ser considerado.
27
La tendencia de los ambientes virtuales en la actualidad, se está encaminando a los
ambientes virtuales de aprendizaje en sus siglas AVA. Lo cual busca tener un
espacio físico donde las nuevas tecnologías tales como los sistemas Satelitales, el
Internet, los multimedia, y la televisión interactiva entre otros. Se potencialice
rebasando al entorno escolar tradicional que favorece al conocimiento y a la
apropiación de contenidos, experiencias y procesos pedagógico-comunicacionales.
Estos están conformados por el espacio, el estudiante, el asesor, los contenidos
educativos, la evaluación y los medios de información y comunicación.
La UNESCO (1998) en su informe mundial de la educación, señala:
“Que los entornos de aprendizaje virtuales constituyen una forma
totalmente nueva de tecnología educativa y ofrece una compleja
serie de oportunidades y tareas a las instituciones de enseñanza de
todo el mundo. El entorno de aprendizaje virtual lo define como un
programa informático interactivo de carácter pedagógico que
posee una capacidad de comunicación integrada, es decir, que está
asociado a nuevas tecnologías. "
Robótica
La robótica es la descendencia de la tecnología que se dedica al diseño,
construcción, operación, disposición estructural, manufactura y aplicación de
los robots. La robótica combina diversas disciplinas como son: la mecánica,
28
la electrónica, la informática, la inteligencia artificial, la ingeniería de control y
la física.
No hay solución posible. Cuando se habla de robótica con alguien, casi se puede
ver en los ojos del interlocutor la imagen e C3PO hablando sin parar cuatrocientos
idiomas a la vez y corriendo de un lado para otro delante o detrás del Jedi de turno.
Aunque las películas y novelas de ciencias ficción han logrado que la robótica
comience a interesar a una cantidad cada vez más numerosa de personas, por
desgracia la robótica actual dista mucho de haber evolucionado hasta el punto que
se nos mostraba en la trilogía de "La guerra de las galaxias".
En este proyecto vamos a intentar dar un repaso a la situación actual de la robótica,
así como a analizar los distintos componentes de un robot y los diferentes tipos de
robot que se pueden encontrar en la actualidad.
Según su estructura
La estructura, es definida por el tipo de configuración general del Robot, puede ser
metamórfica. El concepto de metamorfismo, de reciente aparición, se ha
introducido para incrementar la flexibilidad funcional de un Robot a través del
cambio de su configuración por el propio Robot.
El metamorfismo admite diversos niveles, desde los más elementales (cambio de
herramienta o de efecto terminal), hasta los más complejos como el cambio o
alteración de algunos de sus elementos o subsistemas estructurales. Los dispositivos
y mecanismos que pueden agruparse bajo la denominación genérica del Robot, tal
como se ha indicado, son muy diversos y es por tanto difícil establecer una
29
clasificación coherente de los mismos que resista un análisis crítico y riguroso. La
subdivisión de los Robots, con base en su arquitectura, se hace en los siguientes
grupos: Poliarticulados, móviles, androides, zoomórficos e híbridos.
Poliarticulados
En este grupo se encuentran los Robots de muy diversa forma y configuración, cuya
característica común es la de ser básicamente sedentarios (aunque
excepcionalmente pueden ser guiados para efectuar desplazamientos limitados) y
estar estructurados para mover sus elementos terminales en un determinado espacio
de trabajo según uno o más sistemas de coordenadas, y con un número limitado de
grados de libertad. En este grupo, se encuentran los manipuladores, los Robots
industriales, los Robots cartesianos y se emplean cuando es preciso abarcar una
zona de trabajo relativamente amplia o alargada, actuar sobre objetos con un plano
de simetría vertical o reducir el espacio ocupado en el suelo.
Gráfico 1
Poliarticulados
Elaboración: Ricardo Rojas
Fuente: http://iniciandonosenlarobotica.com/
30
Móviles
Son Robots con gran capacidad de desplazamiento, basados en carros o plataformas
de un sistema locomotor de tipo rodante. Siguen su camino por telemando o
guiándose por la información recibida de su entorno a través de sus sensores. Estos
Robots aseguran el transporte de piezas de un punto a otro de una cadena de
fabricación. Guiados mediante pistas materializadas a través de la radiación
electromagnética de circuitos empotrados en el suelo, o a través de bandas
detectadas fotoeléctricamente, pueden incluso llegar a sortear obstáculos y están
dotados de un nivel relativamente elevado de inteligencia.
Gráfico 2
Móviles
Elaboración: Ricardo Rojas
Fuente: http://iniciandonosenlarobotica.com/
Androides
Son Robots que intentan reproducir total o parcialmente la forma y el
comportamiento cinemático del ser humano. Actualmente, los androides son
31
todavía dispositivos muy poco evolucionados y sin utilidad práctica, y destinados,
fundamentalmente, al estudio y experimentación. Uno de los aspectos más
complejos de estos Robots, y sobre el que se centra la mayoría de los trabajos, es el
de la locomoción bípeda. En este caso, el principal problema es controlar dinámica
y coordinadamente en el tiempo real el proceso y mantener simultáneamente el
equilibrio del Robot.
Gráfico 3
Androides
Elaboración: Ricardo Rojas
Fuente: http://iniciandonosenlarobotica.com/
Zoomórficos
Los Robots zoomórficos, que considerados en sentido no restrictivo podrían incluir
también a los androides, constituyen una clase caracterizada principalmente por sus
sistemas de locomoción que imitan a los diversos seres vivos. A pesar de la
disparidad morfológica de sus posibles sistemas de locomoción es conveniente
agrupar a los Robots zoomórficos en dos categorías principales: caminadores y no
32
caminadores. El grupo de los Robots zoomórficos no caminadores está muy poco
evolucionado. Los experimentos efectuados en Japón basados en segmentos
cilíndricos biselados acoplados axialmente entre sí y dotados de un movimiento
relativo de rotación. Los Robots zoomórficos caminadores multípedos son muy
numerosos y están siendo objeto de experimentos en diversos laboratorios con
vistas al desarrollo posterior de verdaderos vehículos terrenos, piloteados o
autónomos, capaces de evolucionar en superficies muy accidentadas. Las
aplicaciones de estos Robots serán interesantes en el campo de la exploración
espacial y en el estudio de los volcanes.
Gráfico 4
Zoomórficos
Elaboración: Ricardo Rojas
Fuente: http://iniciandonosenlarobotica.com/
Híbridos
Corresponden a aquellos de difícil clasificación, cuya estructura se sitúa en
combinación con alguna de las anteriores ya expuestas, bien sea por conjunción o
33
por yuxtaposición. Por ejemplo, un dispositivo segmentado articulado y con ruedas,
es al mismo tiempo, uno de los atributos de los Robots móviles y de los Robots
zoomórficos.
Gráfico 5
Híbridos
Elaboración: Ricardo Rojas
Fuente: http://iniciandonosenlarobotica.com/
Generaciones en la Robótica
La que a continuación se presenta es la clasificación más común:
1ª Generación.
Manipuladores. Son sistemas mecánicos multifuncionales con un sencillo sistema
de control, bien manual, de secuencia fija o de secuencia variable.
2ª Generación.
34
Robots de aprendizaje. Repiten una secuencia de movimientos que ha sido
ejecutada previamente por un operador humano. El modo de hacerlo es a través de
un dispositivo mecánico. El operador realiza los movimientos requeridos mientras
el robot le sigue y los memoriza.
3ª Generación.
Robots con control sensorizado. El controlador es una computadora que ejecuta
las órdenes de un programa y las envía al manipulador para que realice los
movimientos necesarios.
4ª Generación.
Robots inteligentes. Son similares a los anteriores, pero además poseen sensores
que envían información a la computadora de control sobre el estado del proceso.
Esto permite una toma inteligente de decisiones y el control del proceso en tiempo
real.
Robots en Ambientes Virtuales
Se entiende por ambiente virtual, al espacio no físico, donde las nuevas tecnologías
tales como el internet, los sistemas multimedia, la radio y la televisión, interactúan
entre sí; para potenciar al entorno estudiantil, favoreciendo al entendimiento de
nuevos contenidos académicos, análisis, reflexión en base a experiencias y procesos
pedagógico.
35
La UNESCO (1998) en su informe mundial de la educación, señala:
“Crear nuevos entornos pedagógicos, que van desde los servicios de
educación a distancia hasta los establecimientos y sistemas
"virtuales" de enseñanza superior, capaces de salvar las distancias
y establecer sistemas de educación de alta calidad, favoreciendo así
el progreso social y económico y la democratización así como otras
prioridades sociales importantes; empero, han de asegurarse de
que el funcionamiento de estos complejos educativos virtuales,
creados a partir de redes regionales continentales o globales, tenga
lugar en un contexto respetuoso de las identidades culturales y
sociales” (artículo 12:b).
“Teniendo en cuentas las nuevas posibilidades abiertas por el uso
de las tecnologías de la información y la comunicación, es
importante observar que ante todo son los establecimientos de
educación superior los que utilizan esas tecnologías para
modernizar su trabajo en lugar de que éstas transformen a
establecimientos reales en entidades virtuales” (artículo 12:g).
Las tecnologías virtuales continúan su desarrollo, lo que ha creado nuevas formas
de trabajos para su mejora y de interacción entre los usuarios, su uso educativo se
ve reflejado en nuevos proyectos, para así crean ambientes virtuales innovadores
que aporten, nuevas experiencias de aprendizaje.
36
Gráfico 6
Ambiente Virtual
Elaboración: DARPA
Fuente: http://www.darpa.mil/
Esto depende mucho del estudiante o persona interesada ya que el aprendizaje, es
un proceso individual y el conjunto de información almacenada mediante la
experiencia, hará que aproveche al máximo la finalidad del ambiente virtual.
Por tal motivo la educación presencial y con más razón la educación a distancia son
factores tecnológicos, que deben ser atendidos de manera especial en el desarrollo
del ambiente virtual y se espera que a través de ellos se potencialicen distintas
formas de desarrollar actividades de aprendizaje por cuenta propia, de estudio
independiente o de autoformación.
De manera general, el estudio independiente lleva consigo la responsabilidad de la
propia formación por parte del alumno o persona interesada. Por otro lado las
37
tecnologías, tienen un papel fundamental en las comunidades de aprendizaje
siempre y cuando se interactúe entre sí.
Robots basados en el comportamiento
Lo que busca este proyecto es aplicar un principio de modularidad diferente
facilitando así el desarrollo incremental de la inteligencia del sistema,
descomponiendo el comportamiento en un conjunto de comportamientos simples.
Cada comportamiento resolverá alguna tarea y se lo podrá observar de manera
externa, esto dará al robot un nivel de competencia de determinado y si él se
encuentra con nuevos comportamientos el aumentara el nivel de competencia
automáticamente.
Robots de aprendizaje
Es un enorme campo de estudio multidisciplinario, que se apoya en estudios sobre
la ingeniería mecánica, eléctrica, electrónica e informática y ciencias como la
física, anatomía, psicología, biología, zoología, etología y muchas más.
Se refiere a sistemas automáticos de alta complejidad estas son controladas por
mecanismos electrónicos e informáticos, los cuales tienen características de
autonomía, fiabilidad, versatilidad y movilidad.
Estos robots se sitúan en su entorno y a través de sistemas sensoriales adecuados,
pueden percibir lo que los rodea, estos adoptan comportamientos para así razonar,
evolucionar y en un futuro, actuar como seres vivos.
38
Moriello (2005):
Para definirla formalmente usaremos la definición de Moriello (2005):
“En esencia, los robots de aprendizaje autónomos son sistemas
dinámicos que consisten en un controlador electrónico acoplado a
un cuerpo mecánico. Así, estas máquinas necesitan de adecuados
sistemas sensoriales, para percibir el entorno en donde se
desenvuelven, de una precisa estructura mecánica adaptable, a fin
de disponer de una cierta destreza física de locomoción y
manipulación, de complejos sistemas efectores, para ejecutar las
tareas asignadas y de sofisticados sistemas de control, para llevar a
cabo acciones correctivas cuando sea necesario” (página 172).
Los primeros robots de aprendizaje fueron desarrollados en distintos países como
Estados Unidos, Rusia, China alrededor de los años 90. A partir de esto los
científicos no se han visto conformes y día a día tratar de mejorar en sus
investigaciones, a través de todas las ciencias que se involucran para su
mejoramiento.
Microsoft Windows
Es el nombre de una familia de sistemas operativos desarrollados por Microsoft
desde 1981, año en que el proyecto se denominaba Interface Manager.
39
Anunciado en 1983, Microsoft comercializó por primera vez el entorno operativo
denominado Windows en noviembre de 1985 como complemento para MS-DOS,
en respuesta al creciente interés del mercado en una interfaz gráfica de usuario.
Microsoft Windows llegó a dominar el mercado de ordenadores personales del
mundo, superando a Mac OS, el cual había sido introducido previamente a
Windows. En octubre de 2009, Windows tenía aproximadamente el 91% de la cuota
de mercado de sistemas operativos en equipos cliente que acceden a Internet. Las
versiones más recientes de Windows son Windows 8 para equipos de escritorio,
Windows Server 2008 R2 para servidores y Windows Phone 8 para dispositivos
móviles.
Microsoft Windows Server 2003
La familiar de Windows Server 2003 incluye los siguientes productos:
Windows Server 2003, Standard Edition: Es un sistema operativo de red confiable
que proporciona soluciones empresariales de una forma rápida y sencilla.
Admite el uso compartido de archivos e impresoras, ofrece una conectividad segura
a internet y permite la implementación centralizada de aplicaciones de escritorio.
Windows Server, Enterprise Edition: Creado para cubrir las necesidades generales
de la empresa de todo tipo. Es la plataforma elegida para aplicaciones, servidor Web
e infraestructura, que proporciona una elevada confiabilidad, rendimiento y valor
empresarial de gran nivel. Admite hasta ocho procesadores, proporciona funciones
40
empresariales, como la organización de clústeres de ocho nodos, y admite hasta 32
Gb de memoria.
Windows Server, Datacenter Edition: Creado para aplicaciones empresariales de
altos niveles de escalabilidad y disponibilidad. Admite SMP de hasta 32 vías y 64
GB de memoria RAM. Proporciona organización de clústeres de ocho nodos y
servicios de equilibrio en la carga como funciones estándar. Disponible para
plataformas de 64 bits, capaces de soportar 32 procesadores y 128 GB de memoria
RAM.
Windows Server, Web Edition: Creado para proporcionar funciones de servidor y
alojamiento de aplicaciones web, páginas web, servidores web XML y
especialmente como servidor web de IIS 6.0. Proporciona una plataforma de
desarrollo que utiliza tecnología ASP.NET, una parte clave de .NET Framework.
Beneficios
Más eficiencia. Los beneficios que su compañía IT extrae al extender
conectividad y control se dividen en tres áreas: Soluciones de servidor para
oficinas, administración de identidades y accesos, administración y
configuración de capacidades de almacenamiento.
Las nuevas funciones permiten que la empresa reduzca costes en materia de
configuración y flujo de información, a través y más allá de la misma
compañía.
41
Escala de rendimiento. Todas las ediciones R2 se encuentran disponibles
como versiones x64. x64 permite ejecutar aplicaciones de 32-bit y 64-bits y
posibilita un cambio gradual a la informática de 64-bits mientras preserva
las inversiones actuales en aplicaciones de 32-bit.
Windows Server 2003 R2 fue construido sobre Windows Server 2003 SP1
para fortalecer los parámetros de seguridad, aumentar la confiabilidad, y
simplificar la administración de tal manera que sea posible ayudar a los
clientes de todas las industrias.
Plataforma robusta. La profunda integración con Microsoft .NET permite
un nivel sin precedentes de integración de software a partir del uso de los
servicios web de XML. Los servicios web de XML construyen aplicaciones
sólidas, discretas que se conectan entre sí y con otras aplicaciones más
grandes a través de Internet. Esto también proporciona la posibilidad de
crear aplicaciones de identidad y soporte para aplicaciones UNIX.
Mejoras en la productividad de los trabajadores de la información. Con los
Servicios de Microsoft Windows SharePoint, usted obtiene una solución
para la colaboración entre trabajadores de la información.
Microsoft Windows Seven
Es el sistema operativo que se usó para la elaboración de este proyecto, una de las
principales características para haber decidido usar esta plataforma, es su
estabilidad ante saturación de procesos, y el reinicio de aplicaciones. Además la
42
compatibilidad de herramientas al momento de su instalación. A continuación la
descripción de este sistema operativo.
De la manufactura de Microsoft Windows, es una plataforma diseñada para
hogares, oficinas, portátiles o notebook.
A diferencia del gran salto arquitectónico y de características que sufrió su
antecesor Windows Vista con respecto a Windows XP, Windows 7 fue concebido
como una actualización incremental y focalizada de Vista y su núcleo NT 6.0, lo
que permitió mantener cierto grado de compatibilidad con aplicaciones y hardware.
Sin embargo, entre las metas de desarrollo para Windows 7 se dio importancia a
mejorar su interfaz para volverla más accesible al usuario e incluir nuevas
características que permitieran hacer tareas de una manera más fácil y rápida, al
mismo tiempo que se realizarían esfuerzos para lograr un sistema más ligero,
estable y rápido.
Incluye varias características nuevas, como mejoras en el reconocimiento de
escritura a mano, soporte para discos duros virtuales, rendimiento mejorado
en procesadores multinúcleo, mejor rendimiento de arranque, y mejoras en
el núcleo.
Añade soporte para sistemas que utilizan múltiples tarjetas gráficas de proveedores
distintos (heterogeneous multi-adapter o multi-GPU), una nueva versión
de Windows Media Center y un gadget, y aplicaciones como Paint, Wordpad y la
calculadora rediseñadas. Se añadieron varios elementos al Panel de control, como
43
un asistente para calibrar el color de la pantalla, un calibrador de texto ClearType,
Solución de problemas, Ubicación y otros sensores, Administrador de credenciales,
iconos en el área de notificación, entre otros. El Centro de Seguridad de Windows
se llama aquí Centro de actividades, y se integraron en él las categorías de seguridad
y el mantenimiento del equipo.
La barra de tareas fue rediseñada, es más ancha, y los botones de las ventanas ya no
traen texto, sino únicamente el icono de la aplicación. Estos cambios se hacen para
mejorar el desempeño en sistemas de pantalla táctil. Estos iconos se han integrado
con la barra de inicio rápido, usada en versiones anteriores de Windows, y las
ventanas abiertas se muestran agrupadas en un único icono de aplicación con un
borde, que indica que están abiertas. Los accesos directos sin abrir no tienen un
borde.
Una característica llamada Jump lists, guarda una lista de los archivos abiertos
recientemente. Haciendo clic derecho a cualquier aplicación de la barra de tareas
aparece una jump list, donde se pueden hacer tareas sencillas según la aplicación.
Open Source
Es el término con el que se conoce al software distribuido y desarrollado libremente.
El código abierto tiene un punto de vista más orientado a los beneficios prácticos
de compartir el código que a las cuestiones éticas y morales las cuales destacan en
el llamado software libre.
44
Su uso nació por primera vez en 1998 de la mano de algunos usuarios de la
comunidad del software libre, tratando de usarlo como reemplazo al ambiguo
nombre original en inglés del software libre (free software). Lo cual implica, para
el caso que nos ocupa, "software que podemos leer, modificar y redistribuir
gratuitamente" (software gratuito) y, además, software libre, según la acepción
española de libertad.
El término código abierto continúa siendo ambivalente, puesto que se usa en la
actualidad por parte de programadores que no ofrecen software libre pero, en
cambio, sí ofrecen el código fuente de los programas para su revisión o
modificación previamente autorizada por parte de sus pares académicos.
En internet, los programadores pueden leer, modificar y redistribuir el código fuente
de un programa. Este evoluciona, se desarrolla y mejora adaptándose a sus
necesidades, corrigendo sus errores, mayor a la aplicada en el desarrollo de software
convencional o cerrado, dando como resultado la producción de un mejor software.
Debido a los altos estándares mundiales se ha determinado que un código Open
Source debe tener las siguientes características:
La redistribución libre: La licencia no debe restringir a nadie vender o
entregar el software como un componente de una distribución mayor que
contiene programas de diferentes fuentes.
Código fuente: El programa debe incluir el código fuente, y debe permitir
la distribución de código fuente, así como en forma compilada. Si alguna
45
forma de un producto no se distribuye con el código fuente, debe haber un
medio bien publicitada de obtener el código fuente por no más de un costo
razonable de reproducción preferentemente, descarga a través de Internet
sin cargo.
Trabajos derivados: La licencia debe permitir modificaciones y trabajos
derivados y debe permitir que estos se distribuyan bajo los mismos términos
que la licencia del software original.
Integridad del código fuente del autor: La licencia puede restringir el
código fuente sea distribuido en forma modificada sólo si la licencia permite
la distribución de "archivos parches" con el código fuente con el fin de
modificar el programa en tiempo de compilación.
No discriminación contra personas o grupos: La licencia no debe
discriminar a ninguna persona o grupo de personas.
No discriminación en función de la finalidad perseguida: La licencia no
debe restringir a nadie que haga uso del programa en un campo específico
de actividad.
Distribución de la licencia: Los derechos asociados al programa deben
aplicarse a todos aquellos a quienes se redistribuya el programa, sin
necesidad de pedir una licencia adicional para estas fiestas.
La licencia no debe ser específica de un producto: Los derechos
asociados al programa no deben depender de formar parte del programa de
distribución de software en particular. Si el programa es extraído de esa
46
distribución y usado o distribuido dentro de los términos de la licencia del
programa, todas las partes en las que el programa se redistribuya deben tener
los mismos derechos que los que se otorgan en conjunto con la distribución
de software original.
Licencia no debe restringir otro software: La licencia no debe imponer
restricciones sobre otro software que se distribuye junto con el software
licenciado.
Licencia debe ser tecnológicamente neutral: Ninguna disposición de la
licencia puede basarse en una tecnología o el estilo de interfaz.
La definición de código abierto
Introducción
El código abierto no significa sólo acceso al código fuente. Los términos de
distribución de software de código abierto deben cumplir con los siguientes
criterios:
La redistribución libre
La licencia no debe restringir a nadie vender o entregar el software como un
componente de una distribución mayor que contiene programas de diferentes
fuentes.
Código Fuente
47
El programa debe incluir el código fuente, y debe permitir la distribución de código
fuente, así como en forma compilada. El código fuente debe ser la forma preferida
en la cual un programador modificará el programa. Código fuente deliberadamente
ofuscado no está permitido.
Trabajos derivados
La licencia debe permitir modificaciones y trabajos derivados y debe permitir que
estos se distribuyan bajo los mismos términos que la licencia del software original.
Integridad del código fuente del autor
La licencia debe permitir explícitamente la distribución de software de código
fuente modificada. La licencia puede requerir que los trabajos derivados lleven un
nombre o número de versión del software original.
No discriminación contra personas o grupos
La licencia no debe discriminar a ninguna persona o grupo de personas.
No discriminación en función de la finalidad perseguida
La licencia no debe restringir a nadie que haga uso del programa en un campo
específico de actividad.
Distribución de la licencia
48
Los derechos asociados al programa deben aplicarse a todos aquellos a quienes se
redistribuya el programa, sin necesidad de pedir una licencia adicional para estas
fiestas.
La licencia no debe ser específica de un producto
Si el programa es extraído de esa distribución y usado o distribuido dentro de los
términos de la licencia del programa, todas las partes en las que el programa se
redistribuya deben tener los mismos derechos que los que se otorgan en conjunto
con la distribución de software original.
Licencia no debe restringir otro software
La licencia no debe imponer restricciones sobre otro software que se distribuye
junto con el software licenciado.
Licencia debe ser tecnológicamente neutral
Ninguna disposición de la licencia puede basarse en una tecnología o el estilo de
interfaz.
VozME
Aplicativo Web gratuito, el cual permite convertir un texto recibido a voz sintética,
utilizando acceso a internet. Este es el aplicativo usado para que el robot en el
ambiente virtual pueda dar a conocer su resolución en manera de audio, hacia el
usuario final.
Librería JQUERY
49
Es la librería JavaScript que ha irrumpido con más fuerza como alternativa a
Prototype. Su autor original es John Resig, aunque como sucede con todas las
librerías exitosas, actualmente recibe contribuciones de decenas de programadores.
jQuery también ha sido programada de forma muy eficiente y su versión
comprimida apenas ocupa 20 KB.
jQuery comparte con Prototype muchas ideas e incluso dispone de funciones con el
mismo nombre. Sin embargo, su diseño interno tiene algunas diferencias drásticas
respecto a Prototype, sobre todo el "encadenamiento" de llamadas a métodos.
Se puede decir que como aplicativo, jQuery es software libre y de código abierto,
posee un doble licenciamiento bajo la Licencia MIT y la Licencia Pública General
de GNU v2, permitiendo su uso en proyectos libres y privativos. jQuery, al igual
que otras bibliotecas, ofrece una serie de funcionalidades basadas en JavaScript que
de otra manera requerirían de mucho más código, es decir, con las funciones propias
de esta biblioteca se logran grandes resultados en menos tiempo y espacio.
AJAX
En febrero de 2005, Jesse James Garret de Adaptive Path, LLC, publico un artículo
online titulado “Ajax: Un nuevo método de aproximación a alas aplicaciones Web”.
En este ensayo, Garrett explicaba sus creencias sobre el acercamiento de la brecha
abierta entre la web y las aplicaciones de escritorio tradicionales. Citaba las nuevas
tecnologías y varios de los proyectos de Google como ejemplos de modelos de
cómo se estaban utilizando en la web los modelos de interactividad tradicionales de
los entornos de escritorio.
50
Debido a esto, comenzaron a suceder verdaderas avalanchas de artículos sobre
Ajax, ejemplos de códigos y foros de debate a lo largo de toda la web. Los
desarrolladores empezaron a crear sus propias bitácoras sobre el tema, numerosas
revistas empezaron a escribir sobre él y las empresas empezaban a utilizar sus
productos a esta nueva tecnología.
Acrónimo de Asynchronous JavaScript And XML (JavaScript asíncrono y XML),
es una técnica de desarrollo web para crear aplicaciones interactivas o RIA (Rich
Internet Applications). Estas aplicaciones se ejecutan en el cliente, es decir, en
el navegador de los usuarios mientras se mantiene la comunicación asíncrona con
el servidor en segundo plano. De esta forma es posible realizar cambios sobre las
páginas sin necesidad de recargarlas, lo que significa aumentar la interactividad,
velocidad y usabilidad en las aplicaciones.
Ajax es una tecnología asíncrona, en el sentido de que los datos adicionales se
requieren al servidor y se cargan en segundo plano sin interferir con la visualización
ni el comportamiento de la página. JavaScript es el lenguaje interpretado (scripting
language) en el que normalmente se efectúan las funciones de llamada de Ajax
mientras que el acceso a los datos se realiza mediante XMLHttpRequest, objeto
disponible en los navegadores actuales. En cualquier caso, no es necesario que el
contenido asíncrono esté formateado en XML.
51
Ajax es una técnica válida para múltiples plataformas y utilizable en muchos
sistemas operativos y navegadores, dado que está basado en estándares abiertos
como JavaScript y Document Object Model (DOM).
PHP
Es un lenguaje de programación interpretado, diseñado originalmente para la
creación de páginas web dinámicas. Se usa principalmente para la interpretación
del lado del servidor (server-side scripting) pero actualmente puede ser utilizado
desde una interfaz de línea de comandos o en la creación de otros tipos de
programas incluyendo aplicaciones con interfaz gráfica usando las
bibliotecas Qt o GTK+.
Sus siglas corresponde a Hypertext Pre-processor (inicialmente PHP Tools,
o, Personal Home Page Tools). Fue creado originalmente por Rasmus Lerdorf en
1994; sin embargo la implementación principal de PHP es producida ahora por The
PHP Group.
Puede ser desplegado en la mayoría de los servidores web y en casi todos los
sistemas operativos y plataformas sin costo alguno.
El gran parecido que posee PHP con los lenguajes más comunes de programación
estructurada, como C y Perl, permiten a la mayoría de los programadores crear
aplicaciones complejas con una curva de aprendizaje muy corta. También les
permite involucrarse con aplicaciones de contenido dinámico sin tener que aprender
todo un nuevo grupo de funciones.
52
Aunque todo en su diseño está orientado a facilitar la creación de sitios webs, es
posible crear aplicaciones con una interfaz gráfica para el usuario, utilizando la
extensión PHP-Qt o PHP-GTK.
Cuando el cliente hace una petición al servidor para que le envíe una página web,
el servidor ejecuta el intérprete de PHP. Éste procesa el script solicitado que
generará el contenido de manera. El resultado es enviado por el intérprete al
servidor, quien a su vez se lo envía al cliente. Mediante extensiones es también
posible la generación de archivos PDF, Flash, así como imágenes en diferentes
formatos.
Gráfico 7
Ejecución de código PHP
Elaboración: Miguel Ángel Álvarez
Fuente: http://www.desarrolloweb.com/articulos/392.php
Permite la conexión a diferentes tipos de servidores de bases de datos tales
53
como MySQL, PostgreSQL, Oracle, ODBC, DB2, Microsoft SQL
Server, Firebird y SQLite.
CARACTERÍSTICAS DE PHP
Ventajas
Alto rendimiento
Facilidad de aprendizaje
Es un lenguaje multiplataforma.
Orientado al desarrollo de aplicaciones web dinámicas con acceso a
información almacenada en una base de datos.
El código fuente escrito en PHP es invisible al navegador web y al cliente
ya que es el servidor el que se encarga de ejecutar el código y enviar su
resultado HTML al navegador.
Capacidad de conexión con la mayoría de los motores de base de datos que
se utilizan en la actualidad, destaca su conectividad con
MySQL y PostgreSQL.
Capacidad de expandir su potencial utilizando módulos (llamados ext's o
extensiones).
Posee una amplia documentación en su sitio web oficial, entre la cual se
destaca que todas las funciones del sistema están explicadas y
ejemplificadas en un único archivo de ayuda.
54
Es libre, por lo que se presenta como una alternativa de fácil acceso para
todos.
Permite aplicar técnicas de programación orientada a objetos.
Biblioteca nativa de funciones sumamente amplia e incluida.
No requiere definición de tipos de variables aunque sus variables se pueden
evaluar también por el tipo que estén manejando en tiempo de ejecución.
Tiene manejo de excepciones (desde PHP5).
Inconvenientes
Como es un lenguaje que se interpreta en ejecución, para ciertos usos puede resultar
un inconveniente que el código fuente no pueda ser ocultado. La ofuscación es una
técnica que puede dificultar la lectura del código pero no la impide y, en ciertos
casos, representa un costo en tiempos de ejecución.
MYSQL
Es un sistema de gestión de bases de datos relacional, multihilo y multiusuario.
SQL (Lenguaje de Consulta Estructurado) fue comercializado por primera vez
en 1981 por IBM, el cual fue presentado a ANSI y desde entonces ha sido
considerado como un estándar para las bases de datos relacionales.
César Pérez indica en su libro MySQL para Windows y Linux (2004).
55
“MySQL es un sistema cliente servidor de administración de base de datos
relacionales, diseñados para el trabajo tanto en los sistemas operativos
Windows como en los sistemas Unix/Linux.” (Página 3).
Conjuntamente, determinadas sentencias MySQL pueden ser embebidas en código
PHP y HTML para diseñar aplicaciones Web dinámicas que incorporan la
información de las tablas de MySQL a páginas Web.
Desde 1986, el estándar SQL ha aparecido en diferentes versiones como por
ejemplo: SQL:92, SQL:99, SQL:2003. MySQL es una idea originaria de la empresa
Open Source MySQL AB establecida inicialmente en Suecia en 1995 y cuyos
fundadores son David Axmark, Allan Larsson, y Michael "Monty" Widenius. El
objetivo que persigue esta empresa consiste en que MySQL cumpla el
estándar SQL, pero sin sacrificar velocidad, fiabilidad o usabilidad.
Michael "Monty" Widenius en la década de los 90 trató de usar mSQL para conectar
las tablas usando rutinas de bajo nivel ISAM, sin embargo, mSQL no era rápido y
flexible para sus necesidades. Esto lo llevó a crear una API SQL
denominada MySQL para bases de datos muy similar a la de mSQL pero más
portable. El nombre de MySQL procede de la combinación de My, hija del
cofundador Michael "Monty" Widenius, con el acrónimo SQL (según la
56
documentación de la última versión en inglés). Por otra parte, el directorio base y
muchas de las bibliotecas usadas por los desarrolladores tenían el prefijo My.
El nombre del delfín de MySQL es Sakila y fue seleccionado por los fundadores de
MySQL AB en el concurso “Name the Dolphin”. Este nombre fue enviado por
Ambrose Twebaze, un desarrollador de software de código abierto africano,
derivado del idioma SiSwate, el idioma local de Swazilandia y corresponde al
nombre de una ciudad en Arusha, Tanzania, cerca de Uganda la ciudad origen de
Ambrose.
MySQL es muy utilizado en aplicaciones web, como Drupal o phpBB, en
plataformas (Linux/Windows-Apache-MySQL-PHP/Perl/Python), y por
herramientas de seguimiento de errores como Bugzilla. Su popularidad como
aplicación web está muy ligada a PHP, que a menudo aparece en combinación con
MySQL. MySQL es una base de datos muy rápida en la lectura cuando utiliza el
motor no transaccional MyISAM, pero puede provocar problemas de integridad en
entornos de alta concurrencia en la modificación. En aplicaciones web hay baja
concurrencia en la modificación de datos y en cambio el entorno es intensivo en
lectura de datos, lo que hace a MySQL ideal para este tipo de aplicaciones.
Arquitectura básica de un clúster: Un clúster MySQL integra un
servidor MySQL estándar y un motor de almacenamiento en memoria llamado
NDB clúster, funcionando en un conjunto de una o más computadoras. Cada una
57
de estas computadoras ejecutando uno o más procesos, que pueden consistir en
procesos de MySQL server, nodos de almacenamiento de datos, servidor
administrador del clúster, o programas especializados para acceder a los datos.
Las tablas de la base de datos se almacenan utilizando el motor NDB en los nodos
de almacenamiento. La manera de acceder a los datos almacenados en el clúster es
a través de cualquiera de los nodos MySQL. Los nodos de datos funcionan
utilizando un esquema de espejado, permitiendo soportar sin impacto la caída de
nodos individuales de datos dentro de clúster. Estas transacciones deben cumplir
con el esquema transaccional, tal y como si estuvieran trabajando directamente con
un servidor no clusterizado de MySQL.
Gráfico 8
Clúster de MySQL
Elaboración: Sun Microsystems
Fuente: http://www.oracle.com/us/sun/index.html
58
FUNDAMENTACIÓN LEGAL
DECRETO PRESIDENCIAL 1014
SOBRE EL USO DEL SOFTWARE LIBRE
Art. 1: Establecer como política pública para las entidades de administración
Pública central la utilización del Software Libre en sus sistemas y equipamientos
informáticos.
Art. 2: Se entiende por software libre, a los programas de computación que se
pueden utilizar y distribuir sin restricción alguna, que permitan el acceso a los
códigos fuentes y que sus aplicaciones puedan ser mejoradas.
Estos programas de computación tienen las siguientes libertades:
a) Utilización de programa con cualquier propósito de uso común.
b) Distribución de copias sin restricción alguna.
c) Estudio y modificación de programa (Requisito: código fuente disponible)
d) Publicación del programa mejorado (Requisito: código fuente disponible
Art. 3: Las entidades de la administración pública central previa a la instalación del
software libre en sus equipos, deberán verificar la existencia de capacidad técnica
que brinde el soporte necesario para este tipo de software.
59
Art. 4: Se faculta la utilización de software propietario (no libre) únicamente
cuando no exista una solución de software libre que supla las necesidades
requeridas, o cuando esté en riesgo de seguridad nacional, o cuando el proyecto
informático se encuentre en un punto de no retorno.
ESTATUTO ORGÁNICO DE LA UNIVERSIDAD DE GUAYAQUIL
VISIÓN, MISIÓN Y AFINES
Artículo 3 (Literal g): Fomentar y ejecutar programas de investigación, de carácter
científico y tecnológico, que coadyuven al mejoramiento y protección del
ambiente y promuevan el desarrollo sustentable nacional.
LEY ORGÁNICA DE EDUCACIÓN SUPERIOR
DE LA TIPOLOGÍA DE INSTITUCIONES, Y RÉGIMEN ACADÉMICO
Art. 136 : Tesis Digitalizadas.- Todas las instituciones de educación superior
estarán obligadas a entregar las tesis que se elaboren para la obtención de títulos
académicos de grado y posgrado en formato digital para ser integradas al Sistema
Nacional de Información de la Educación Superior del Ecuador para su difusión
pública respetando los derechos de autor.
60
PREGUNTAS A CONTESTARSE
Para este estudio se planea las siguientes preguntas:
¿Con la utilización de herramientas para la plataforma de Windows Seven y el
reconocimiento de órdenes de texto, se podrán aplicar en el aprendizaje de un
robot inteligente en un ambiente virtual?
¿El robot inteligente podrá interactuar con las diferentes herramientas con las
que conforma en ambiente virtual?
VARIABLES DE LA INVESTIGACIÓN
Al estar redactado de una manera clara y sencilla y al identificar el problema de
manera correcta, se puede apreciar las variables con total facilidad.
VARIABLE INDEPENDIENTE
Definición de órdenes escritas, propuesta basada en herramientas Open
Source
Es un problema que se lo puede solucionar a través del desarrollo de un ambiente
web, integrando las herramientas VozMe, con ayuda del lenguaje de programación
para desarrollo de páginas web PHP, una base de datos MySQL, la cual servirá
como base de conocimiento. Permitirá la comunicación con el usuario utilizando su
61
lenguaje natural, convirtiendo el texto a voz, para que así el usuario pueda entender
las acciones del robot en el ambiente virtual.
VARIABLE DEPENDIENTE
Robot inteligente en ambiente virtual
A través del desarrollo de un robot en un ambiente virtual, el cual obedezca órdenes
escritas, ayudándose de una base de conocimientos propias del ambiente. Este podrá
aprender de objetos predefinidos, este a su vez comunicará al usuario la solución de
la misma.
DEFINICIONES CONCEPTUALES
Aplicación Web: Aplicaciones que los usuarios pueden utilizar accediendo a un
servidor web a través de Internet o de una intranet mediante un navegador. En otras
palabras, es una aplicación software que se codifica en un lenguaje soportado por
los navegadores web en la que se confía la ejecución al navegador.
Back End: Es la parte que procesa la entrada desde el front-end.
Base de Datos: Una base de datos es una colección de información organizada de
forma que un programa de ordenador pueda seleccionar rápidamente los fragmentos
de datos que necesite. Una base de datos es un sistema de archivos electrónico.
62
Clúster: Conjuntos o conglomerados de computadoras construidos mediante la
utilización de componentes de hardware comunes y que se comportan como si
fuesen una única computadora.
Front End: Es la parte del software que interactúa con el o los usuarios.
JQUERY: Es la librería JavaScript que ha irrumpido con más fuerza como
alternativa a Prototype. Su autor original es John Resig, aunque como sucede con
todas las librerías exitosas, actualmente recibe contribuciones de decenas de
programadores. jQuery también ha sido programada de forma muy eficiente y su
versión comprimida apenas ocupa 20 KB.
Lenguaje VRML: Es un lenguaje de modelado de mundos virtuales en tres
dimensiones. Este se empleará para diseñar la habitación virtual y todos sus
componentes incluidos el robot.
Motor de inferencia: Es un programa de control cuya función es seleccionar las
reglas posibles para satisfacer el problema, y para ello se vale de ciertas estrategias
de control sistemáticas. Las cuales evalúan la situación o el problema y recorren el
grupo de reglas para llegar a solucionar estas.
63
MySql: Sistema de gestión de bases de datos relacional, multihilo y multiusuario.
SQL (Lenguaje de Consulta Estructurado).
PHP: Es un acrónimo recursivo que significa PHP Hypertext Pre-
processor (inicialmente PHP Tools, o, Personal Home Page Tools).
Qt (Biblioteca): Multiplataforma ampliamente usada para desarrollar aplicaciones
con una interfaz gráfica y no gráfica. Utilizada como herramienta de línea de
comandos y consolas para servidores.
Render: Puede ser llamado renderizar o renderear. El término renderizar también
es usado para describir el efecto de la edición de videos para producir una salida
final de video, puede ser este en formato 3D
Término usado para representar, el proceso de generar una imagen o vídeo mediante
un modelo. Este término técnico es utilizado por los animadores o productores
audiovisuales y en programas de diseño en 3D.
Robots reactivos: Robots inteligentes que poseen sensores que identifican objetos,
controlan cambios, construyen mapas, exploran y evitan obstáculos para así actuar
de manera adecuada en su medio ambiente.
Sistema: Del latín systema. Conjunto de características física o no físicas, que
64
tienen relación entre si y están localizadas en un cierto ambiente. Los sistemas no
pueden vivir aislados, y estos a su vez tendrán factores externos que lo rodean.
Unesco: Organización de las Naciones Unidas para la Educación, la Ciencia y la
Cultura. Organismo especializado de las Naciones Unidas. Se dedica a orientar a
los pueblos en una gestión más eficaz de su propio desarrollo, a través de
los recursos naturales y los valores culturales, y con la finalidad de modernizar y
hacer progresar a las naciones del mundo, sin que por ello se pierdan la identidad y
la diversidad cultural.
VozMe: Aplicativo Web gratuito, el cual permite convertir un texto recibido a voz
sintética. La página oficial del mismo es la siguiente:
http://vozme.com/index.php?lang=es
VRML: Sus sigla en inglés Virtual Reality Modeling Language (Lenguaje para
Modelado de Realidad Virtual). El ambiente virtual se diseñara en tercera
dimensión 3D y para el desarrollo del ambiente virtual su empleará una librería de
JAVA llamada JQUERY la cual es una biblioteca de JavaScript rápida y concisa
que simplifica el recorrido documento HTML, manejo de eventos, animación, y las
interacciones Ajax para el desarrollo web rápido.
65
CAPÍTULO III
METODOLOGÍA
MODALIDAD DE LA INVESTIGACIÓN
Este proyecto es considerado factible, debido a que cumple con los objetivos
establecidos al inicio de proyecto, satisfaciendo las necesidades de los usuarios para
conocer un aplicativo que les permita interactuar con un ambiente web y la
integración de las herramientas libres en el ambiente, a través de la investigación,
elaboración, y desarrollo del proyecto.
Para ello se hizo la investigación del problema la cual incluye un trabajo de campo,
antecedentes del estudio, su fundamentación teórica, legal, e hipótesis cuyas
preguntas permiten saber el rumbo de la investigación y las cuales son:
¿Con la implementación de herramientas Open Source para el reconocimiento de
órdenes de texto, se podrán aplicar en el aprendizaje de un robot inteligente en un
ambiente virtual?
¿El robot inteligente podrá interactuar con las diferentes herramientas con las que
conforma en ambiente virtual?
Estas preguntas nacieron de la necesidad de interactuar con las diferentes
herramientas con las que estará diseñado el ambiente web y virtual sin perder de
vista el uso de aplicaciones adecuadas para el cumplimiento de los objetivos del
66
proyecto. Actualmente en el mercado ya se cuentan con estas aplicaciones y de los
recursos necesarios, para la realización de este proyecto.
Para cumplir con estos objetivos nos valdremos de una gran base bibliográfica y
direcciones web de confiabilidad, que nos servirá de plataforma para toda la
investigación a realizar. Por otra parte se realizará entrevistas a profesionales del
campo, en áreas relacionadas con sistemas, aplicaciones web y redes; para así
obtener, sus opiniones, recomendaciones, comentarios y criterios profesionales
sobre las mejores rutas o uso de aplicaciones a usarse en el desarrollo del mismo.
Con la valiosa información obtenida de la entrevista realizada a los profesionales,
se podrá realizar una encuesta en donde obtendremos datos como: cuantas personas
han usado una aplicación web, un ambiente virtual, cuantas saben el uso de
aplicaciones libres, para así dar un mejor uso de la aplicación a implementar.
Las herramientas principales que usaremos para la interacción del usuario con el
ambiente virtual será: VozMe, la cual es una herramienta libre usada para convertir
texto a voz.
TIPO DE INVESTIGACIÓN
El desarrollo de este proyecto se basará en el tipo de investigación explicativa, ya
que analizaremos, estableceremos y explicaremos los diferentes problemas que se
suscitan en el desarrollo del mismo. Como por ejemplo el poco conocimiento de las
herramientas a usar y la integración de las mismas en un mismo ambiente.
Para así cumplir a cabalidad con los objetivos planteados en base a unas variables
67
e hipótesis establecidas con anterioridad, con el fin de aclarar conceptos y
dimensiones del proyecto.
POBLACIÓN Y MUESTRA
POBLACIÓN
Según la información proporcionada por la página web: Ecuador en cifras. Se tomó
las cifras de Ecuador, de la provincia del Guayas, y de la zona urbana.
Adicionalmente se logró obtener información de cuatro tipos: Acceso a internet,
Tenencia de computadoras, uso de internet y el uso de computadoras.
CUADRO 1
PERSONAS QUE CONFORMAN LA MUESTRA
EN LA CIUDAD GUAYAQUIL
POBLACIÓN DEL ECUADOR 14.483.499
Personas que tienen acceso a internet 75.960
Instrucción superior según título obtenido según ocupación 10.164
TOTAL 86.124
Elaboración: Mauro Echeverría
Fuente: http://www.ecuadorencifras.com/cifras-inec/main.html
68
MUESTRA
Para la determinación la muestra a utilizar nos basamos en la fórmula de la
universidad libertador de Venezuela Cirterplan, arrojando los siguientes resultados:
Fórmula Utilizada:
Al reemplazar los valores del total de nuestra poblacion en la formula antes
indicada, y realizando los calculos especificados en la imagen, se obtiene que el
valor de la muestra es de 277 personas.
Gráfico 9
CÁLCULO DE LA MUESTRA PARA PERSONAS QUE TIENEN
COMPUTADORAS CON ACCESO A INTERNET
Elaboración: Mauro Echeverría
Fuente: Investigación
69
Acontinuacion se podra apreciar un resumen del total de la poblacion, el error de
estimacion que fue del 6%, y al final la muestra que va a ser usada en el proceso de
encuesta.
CUADRO 2
RESUMEN DE MUESTRA ESTABLECIDA
Elaboración: Mauro Echeverría
Fuente: Investigación
CUADRO 3
CÁLCULO DE PORCENTAJES PARA LA MUESTRA DE PERSONAS
QUE TIENEN COMPUTADORAS CON ACCESO A INTERNET
DETALLE % MUESTRA
Personas que tienen acceso a internet 88.20 244
Profesionales y expertos 11.80 33
TOTAL 100 277
Elaboración: Mauro Echeverría
Fuente: Investigación
Para nuestro proyecto se ha elegido las personas que tienen acceso a internet y el
otro aspecto que es, personas que tienen computadoras. Los motivos por los cuales
Tamaño de la población (m) 86.124
Error de estimación (e) 6%
Tamaño de la muestra (n) 277
70
fueron tomados estos valores, es que antes de que las personas tengan un ambiente
virtual deben tener una computadora con acceso a internet. Como resultado nos da
un tamaño de la muestra de 277 personas. Y el porcentaje de error fue del 6% debido
a que el tamaño de la población es muy alto.
OPERACIONALIZACIÓN DE VARIABLES
CUADRO 4
MATRIZ DE OPERACIONALIZACIÓN DE VARIABLES
Variables Dimensiones Indicadores
Técnicas y/o
Instrumentos
Variable
Independiente
Definición de
órdenes escritas,
propuesta basada en
herramientas Open
Source
Herramientas
Open Source
El 92% de la muestra acepta
la propuesta, del uso de
convertidor de texto a voz,
en ambientes web.
El 78% de personas que
conforman la muestra, están
de acuerdo en el uso de
herramientas Open Source.
Observación.
Entrevista a
profesionales
Encuesta a
estudiantes.
71
Variable
Dependiente
Robot Inteligente en
ambiente virtual
Inteligencia
Artificial.
Robótica.
El 88% de la muestra, podrá
usar páginas de ambientes
virtuales inteligentes.
El 84% de personas, están de
acuerdo que se realicen
ambientes virtuales web.
Se usará técnicas de
observación,
entrevista para
profesionales y
encuesta para la
muestra de la
población.
Elaboración: Mauro Echeverría
Fuente: Investigación
INSTRUMENTOS DE LA INVESTIGACIÓN
Son las técnicas que constituyen los procedimientos concretos que el investigador
utiliza para lograr información, estos puedes ser globales y generales.
Para esto nos valdremos del criterio de expertos, con el fin de poder garantizar la
confiabilidad de los instrumento de investigación.
Los instrumentos que use para la elaboración de este proyecto son los siguientes:
Registro de observación:
Al utilizar este instrumento de investigación, podremos analizar loa factores que
influyen al correcto avance del proyecto, además podremos supervisar los objetivos
72
a corto y largo plazo con el fin de no sobrepasar el tiempo máximo de entrega del
proyecto.
Guión de entrevista:
Las preguntas a efectuarse a los profesionales del campo en el cual se desenvuelve
el proyecto deben ser preguntar claras, concisas, algunas abiertas y otras cerradas
dependiendo del caso. Para así extraer la mayor información posible del profesional
a entrevistar.
Cuestionarios:
Estas preguntas deben de ser construidas de igual manera que en la guía de la
entrevista, con la diferencia que estas deben ser en su mayoría cerradas, para tener
una mayor facilidad al conteo de sus valores estadísticos.
Internet:
Herramienta indispensable y necesaria en la actualidad, usada para fines educativos,
investigativos y de entretenimiento.
Para este proyecto el internet, fue un instrumento muy indispensable, ya que el
visitar paginas oficiales de las herramientas Open Source con las que va a trabajar
el aplicativo, pudimos obtener información valiosa como:
Su historia, avances tecnológicos, datos técnicos, definiciones y características del
mismo.
73
PROCEDIMIENTOS DE LA INVESTIGACIÓN
Para nuestro proyecto sobre el desarrollo de un sitio web con tecnología TTS (Text
to Speech), orientado a personas con problemas leves de visión y audición, se siguió
los siguientes puntos:
El problema
Ubicación del problema en un contexto.- En este tema se investigará la
situación actual del problema identificando síntomas y causas.
Situación conflictos nudos críticos.- Determinaremos de donde surge, y
expresa el problema, así como las razones que justifican la vigencia del
mismo.
Causas y consecuencias.- Se determinará las causas que motivan el
problema y las consecuencias o proyecciones del mismo.
Delimitación del problema.- Expresaremos el problema en términos de
Campo, Área, Aspecto y Tema.
Planteamiento del problema.- Formularemos el problema en forma de
pregunta, validando el ámbito geológico, tiempo, espacio.
Interrogantes de la investigación.- Se evaluaran aspectos, que permitirán
justificar el problema.
Objetivos de la Investigación.- En este tema se va a constituir el propósito
del estudio.
74
Alcances del problema.- Se establecerá las fronteras del proyecto, lo que
no se entregara, y que partes del mismo se verán afectadas.
Justificación o importancia de la investigación.- Se expondrá las razones,
causas, argumentos que tuvo para realizar esta investigación, desde el
punto de vista científico.
Marco teórico
Antecedentes del estudio.- En este punto se relacionará el estudio con otras
investigaciones.
Fundamentación teórica.- Se realizará una exposición fundamentada en la
más amplia bibliografía consultada, procurando que esta sea actualizada.
Fundamentación legal.- Se citará estatutos, acuerdos, reglamentos,
especialmente para proyectos especiales y factibles, que tienen relación al
tema de investigación.
Variables de la investigación.- Se verificará la modalidad de trabajo,
planteando las variables que se hallan en estudio.
Definiciones conceptuales.- Se establecerá los términos básicos de estudio,
para que sean entendidos de manera adecuada.
Metodología
75
Diseño de Investigación (Tipo de Investigación).- Se describirá el tipo de
investigación a realizar, indicando sus respectivas características.
Población y Muestra.- Se definirá la población en la que realizará la
investigación; describiendo sus características.
Instrumentos de recolección de datos.- Se expresará cómo se determinó el
subconjunto de la población, a quiénes aplicará los instrumentos para la
obtención de la información.
Operacionalización de variables, dimensiones e indicadores.- Se definirá
de manera conceptual, porcentual y estadístico las variables de la
investigación.
Instrumentos de la investigación.- Se definirá instrumento para la obtención
de datos, describiendo cada uno de ellos.
Procedimiento de la Investigación.- Se explicará secuencialmente el orden
que se seguirá para desarrollar la investigación.
Criterios para la elaboración de la propuesta.- Se describirá el criterio y
estrategia que se utilizará para validar el módulo o propuesta.
Recolección de información.- Se definirá que técnicas se utilizarán para
obtener la información que exige la investigación; describiendo las
actividades que tiene que cumplir para recoger los datos.
Análisis de la información recolectada.- Se analizaran los resultados
describiendo, interpretando los datos numéricos o gráficos que se disponen
en los cuadros estadísticos resultantes del procesamiento de datos.
76
RECOLECCIÓN DE LA INFORMACIÓN
Para poder obtener la información necesaria se utilizaran las siguientes técnicas:
Entrevista:
Es considerada un diálogo intencional, una conversación personal que el
entrevistador establece con el sujeto invitado o investigado, con el propósito de
obtener información de diferentes índoles. Se debe tener una lista de preguntas
sencillas ya diseñadas que causen en la persona entrevistada un ambiente de
confianza y comunicación amena.
A través de este instrumento de investigación efectuada a los profesionales, se podrá
obtener información precisa, oportuna y adecuada del sistema, para así realizar las
mejoras respectivas, donde el beneficiado será, el usuario final.
La entrevista será dirigida a profesionales en el área de informática, sistemas y
conocimiento en el área de inteligencia artificial, redes neuronales artificiales y
probabilidad.
Observación:
La observación consiste en la percepción ordenada y dirigida, para poder captar los
aspectos más significativos de los objetos, hechos y realidades sociales que se
desarrollan normalmente en el medio investigativo. Estos proporcionan
información valiosa y necesaria para plantear nuevos problemas, formular
hipótesis, para su posterior comprobación.
77
Encuesta:
Técnica que al igual que la observación está destinada a recopilar información;
recordando no tomarlas como igual si no como complementarias. El encargado de
la encuesta, realizara un cuestionario correctamente definido por él y los
profesionales entrevistados en pasos anteriores, para así obtener información que
ayude al avance del diseño de la aplicación.
El cuestionario es un conjunto de preguntas, preparado cuidadosamente, sobre los
hechos y aspectos que interesan en una investigación, para que sea contestado por
la población o su muestra.
Esta será orientada a alumnos, profesores y profesionales de las áreas de sistemas,
informática, mecánica.
PROCESAMIENTO Y ANÁLISIS
Para poder evaluar y analizar de manera correcta los datos obtenidos con la
entrevista efectuada a profesionales, la encuesta realizada a personas que usarán y
que usaron los sistemas y demás datos obtenidos en el transcurso de esta
investigación, se efectuaran los siguientes pasos:
Revisión de los instrumentos aplicados
Tabulación de datos con relación a cada uno de los Ítems
Diseño y elaboración de cuadros estadístico con los resultados anteriores.
Elaboración de gráficos
78
El presente trabajo de Tesis de Grado, basado en la investigación que se realizó para
conocer y plantear una alternativa de solución al problema planteado
“DESARROLLO DE ROBOT INTELIGENTE EN AMBIENTE VIRTUAL CON
DEFINICIÓN DE ÓRDENES ESCRITAS. PROPUESTA BASADA EN
HERRAMIENTAS OPEN SOURCE” se basó en la aplicación de una encuesta a
personas que tienen computadoras y acceso a internet, para la recolección de datos.
Para el proceso de tabulación de los datos, se utilizó el aplicativo de office, EXCEL,
mediante el cual se logró el ingreso y procesamiento de los datos recabados en la
aplicación de la encuesta para manejar indicadores suficientes, que justifiquen la
investigación, los mismos que se expresan en cuadros estadísticos, gráficos y
analíticamente a continuación.
PREGUNTA 1
¿Cuál es su conocimiento respecto a robótica o inteligencia artificial?
a) Conozco a profundidad sobre el tema y he participado en varios proyectos relacionados.
b) Conozco del tema no tan a profundidad, pero, me interesa aprender.
c) He escuchado del tema, y me llama la atención.
d) No conozco en absoluto sobre el tema.
CUADRO 5
PREGUNTA 1
Pregunta % Literales
a b c d
1 6% 54% 36% 5% 100%
Elaboración: Mauro Echeverría
Fuente: Resultados de la encuesta
79
Gráfico 10
Elaboración: Mauro Echeverría
Fuente: Resultados de la encuesta
Una gran parte de los encuestados han por lo menos escuchado o tienen
conocimiento de lo que es la robótica o inteligencia artificial. Esto se debe a que lo
han escuchado por medios de comunicación y es su vida estudiantil.
PREGUNTA 2
¿Qué opina sobre dar órdenes mediante texto a un robot en un ambiente
virtual, utilizando lenguaje común?
a) Me parece un proyecto interesante, y me gustaría participar.
b) Me parece una idea interesante, pero, necesito más información.
c) No me parece tan interesante la idea, pero, podría ver cómo funciona.
d) La propuesta no me llama la atención
CUADRO 6
PREGUNTA 2
L - a6%
L - b53%
L - c36%
L - d5%
PREGUNTA 1
80
Pregunta a b c d
2 10% 67% 22% 1% 100%
Elaboración: Mauro Echeverría
Fuente: Resultados de la encuesta
Gráfico 11
Elaboración: Mauro Echeverría
Fuente: Resultados de la encuesta
La gran parte de los encuestados, indican que les parece interesante el hecho de dar
órdenes a través de texto a un robot, sin embargo indican que como no conocen la
página, no se lo imagina cómo será su funcionamiento.
PREGUNTA 3
¿Tiene usted conocimiento del termino Open Source?
a) Conozco a profundidad sobre el tema y he participado en varios proyectos relacionados.
b) Conozco del tema no tan a profundidad, pero, me interesa aprender.
c) He escuchado del tema, y me llama la atención.
d) No conozco en absoluto sobre el tema.
L - b10%
L - c67%
L - d22%
1%
PREGUNTA 2
81
CUADRO 7
PREGUNTA 3
Pregunta L - a L - b L - c L - d
3 2% 5% 78% 15% 100%
Elaboración: Mauro Echeverría
Fuente: Resultados de la encuesta
Gráfico 12
Elaboración: Mauro Echeverría
Fuente: Resultados de la encuesta
Gran parte de los encuestados, no conocían del término Open Source. Esto se debe
a la poca utilización de estas herramientas. Se les explico su significado, y al
momento mencionaron que les parecía muy interesante este tipo de herramientas.
PREGUNTA 4
L - a2%
L - b5%
L - c78%
L - d15%
PREGUNTA 3
82
¿Estaría usted de acuerdo que se utilice con más frecuencia la Inteligencia
Artificial para el desarrollo de ambientes web virtuales?
a) Estoy de acuerdo, me parece un proyecto interesante.
b) Me parece una idea interesante, pero, necesito más información.
c) No me parece tan interesante la idea, pero, podría ver cómo funciona.
d) La propuesta no me llama la atención
CUADRO 8
PREGUNTA 4
Pregunta L - a L - b L - c L - d
4 2% 47% 35% 16% 100%
Elaboración: Mauro Echeverría
Fuente: Resultados de la encuesta
Gráfico 13
Elaboración: Mauro Echeverría
Fuente: Resultados de la encuesta
L - a2%
L - b47%
L - c35%
L - d16%
PREGUNTA 4
83
Gran parte de los encuestados, dividieron sus pareceres respecto a la inteligencia
artificial en ambientes web, debido al poco conocimiento de estos. Incluso una parte
considerable, opto por indicar que no le parecía interesante dicha propuesta.
PREGUNTA 5
5¿Está usted de acuerdo que se usen herramientas Open Source para el
desarrollo de un robot inteligente en un ambiente virtual?
a) Estoy de acuerdo en el uso de estas herramientas en el desarrollo de ambientes web
b) Me parece una idea interesante, pero, necesito más información.
c) No me parece tan interesante la idea, pero, podría ver cómo funciona.
d) La propuesta no me llama la atención
CUADRO 9
PREGUNTA 5
Pregunta L - a L - b L - c L - d
5 84% 9% 6% 1% 100%
Elaboración: Mauro Echeverría
Fuente: Resultados de la encuesta
Gráfico 14
84
Elaboración: Mauro Echeverría
Fuente: Resultados de la encuesta
La mayor parte de los encuestados, está de acuerdo que se deben usar este tipo de
herramientas libres. Sin embargo hubo una pequeña parte de los encuestados que
no estaba de acuerdo.
PREGUNTA 6
¿Está usted de acuerdo que en la actualidad, la mayor parte de aplicaciones
sean desarrolladas en ambientes Web?
a) Estoy de acuerdo, que la mayor parte de aplicaciones sean en ambientes web.
b) Me parece una idea interesante, pero, necesito más información.
c) No me parece tan interesante la idea, pero, podría ver cómo funciona.
d) La propuesta no me llama la atención
CUADRO 10
PREGUNTA 6
L - a84%
L - b9%
L - c6%
L - d1%
PREGUNTA 5
85
Pregunta L - a L - b L - c L - d
6 90% 6% 2% 2% 100%
Elaboración: Mauro Echeverría
Fuente: Resultados de la encuesta
Gráfico 15
Elaboración: Mauro Echeverría
Fuente: Resultados de la encuesta
Tenemos más del 90% de aceptación para el uso de aplicaciones web. Los
encuestados indicaron que es más fácil acceder de esa manera.
PREGUNTA 7
¿Cree usted que las aplicaciones web en las que el usuario final interactúe,
deban tener como propiedades: La conversión de texto a voz?
a) Estoy de acuerdo, me parece interesante este tipo de propiedades en ambientes web.
b) Me parece una idea interesante, pero, necesito más información.
c) No me parece tan interesante la idea, pero, podría ver cómo funciona.
d) La propuesta no me llama la atención
L - a90%
L - b6%
L - c2%
L - d2%
PREGUNTA 6
86
CUADRO 11
PREGUNTA 7
Pregunta L - a L - b L - c L - d
7 92% 5% 3% 0% 100%
Elaboración: Mauro Echeverría
Fuente: Resultados de la encuesta
Gráfico 16
Elaboración: Mauro Echeverría
Fuente: Resultados de la encuesta
Para esta pregunta se observa una aceptación de más del 90% de las personas que
aceptan que se use este tipo de características, ya que se usa el lenguaje natural para
entender las acciones del ambiente web.
L - a92%
L - b5%
L - c3%
L - d0%
PREGUNTA 7
87
CRITERIOS PARA LA ELABORACIÓN DE LA PROPUESTA
Para la elaboración de esta propuesta se contará con una correcta fundamentación
teórica y legal, con sus variables definidas y enmarcadas en un tiempo debidamente
establecido en cuanto a los objetivos a cumplir. Por otro lado será diseñado con
actuales herramientas, para que así el usuario interactué con un robot inteligente en
un ambiente virtual.
CRITERIOS DE VALIDACIÓN DE LA PROPUESTA
Para poder garantizar la confiabilidad de los instrumentos, para este proyecto nos
valdremos del internet, herramienta indispensable y necesaria en la actualidad,
usada para fines educativos e investigativos. Nos valdremos de la entrevista y
encuestas realizadas a una muestra debidamente filtrada en el campo en el que se
desenvuelve la propuesta. Adicionalmente nos apoyaremos en el juicio de los
expertos, los cuales con sus conocimientos sabrán guiarnos en el rumbo correcto de
la investigación de este proyecto.
Los expertos consultados serán ingenieros de la Universidad de Guayaquil de la
Carrera de Ingeniería en Sistemas Computacionales de la facultad de Física y
Matemáticas.
88
CAPÍTULO IV
MARCO ADMINISTRATIVO
CRONOGRAMA
Gráfico 17
Actividades del Proyecto
Elaboración: Mauro Echeverría
Fuente: Análisis de actividades a desarrolla
89
Gráfico 18
Tiempo del Proyecto
Fuente: Mauro Echeverría
Elaboración: Análisis de actividades a desarrollar
90
PRESUPUESTO
CUADRO 12
DETALLE DE INGRESOS DEL PROYECTO
CUADRO 13
DETALLE DE EGRESOS DEL PROYECTO
INGRESOS DÓLARES
Financiamiento Externo o Financiamiento propio 885.00
TOTAL……………………………………… 885.00
EGRESOS DÓLARES
Suministros de oficina y computación 400.00
Fotocopias 40.00
Libros y documentos 20.00
Computadora y servicios de Internet 350.00
Transporte 25.00
Empastado, anillado de tesis de grado 50.00
TOTAL……………………………………… 885.00
91
CAPITULO V
CONCLUSIONES Y RECOMENDACIONES
CONCLUSIONES
La utilización de tecnología TTS (Text to Speech), un ambiente virtual
implementado en una página web, el uso de órdenes de texto como medio de
comunicación con el ambiente virtual y realizado sobre una plataforma Windows,
permite concluir lo siguiente:
1. Un gran porcentaje de las encuestas muestran que las personas no poseen
un conocimiento solido sobre dichos ambientes y las herramientas que en
ella están implicadas. Por tal motivo la ejecución de este proyecto,
permitirá, que adquieran dicho conocimiento usando su lenguaje natural
como medio de comunicación y a la vez, no se requiera de conocimiento
avanzado del mismo.
2. De acuerdo a las encuestas, se concluye que el uso de ambientes reactivos y
ambientes virtuales está en crecimiento. Y las personas muestra interés en
saber cómo funciona y que fin tiene.
3. Se concluye que es factible la integración de todas las herramientas en un
mismo ambiente web. Al realizarlo se cumplieron todos los objetivos, entre
los más importantes, un ambiente virtual, un robot capaz de aprender del
ambiente que lo rodea y el entendimiento del usuario final escuchando un
audio con la resolución de la misma.
92
4. El uso de aplicaciones libre, permitieron un ahorro significativo en el
presupuesto del proyecto.
RECOMENDACIONES
1. Es recomendable para la persona que va a administrar el sitio Web, que tenga
sólidos conocimientos en lenguajes de programación como PHP, JAVA, AJAX,
Base de Datos MySql.
2. Por otro lado, se recomienda al usuario final tener dispositivos de salida, como
parlantes, para que pueda escuchar de manera adecuada las respuestas que da
kabuto al concluir una orden dada. Estos deben estar configurados en la
maquina donde los vayan a usar.
3. Recomiendo el uso del proyecto, en las aulas de clases de inteligencia artificial.
Con el fin de afianzar sus conocimientos, apertura de nuevos campos
académicos y el usos de distintas herramientas para las ejecución de la mima.
93
BIBLIOGRAFÍA
LIBROS
Gill, Villaverde, Tejedor, Yague (Madrid, 2006), Creación de sitios web con
PHP 5, Derechos reservados 2006, Edición por McGraw – Hill/Interamericana de
España, S.A.U.
McGraw-Hill Osborne (Madrid, 2001), Linux, Guía de instalación y
administración, derechos reservados 2001, Ediciones por McGraw –
Hill/Interamericana de España.
Pérez, Cesar (México, 2004), MySQL para Windows y Linux, derechos
reservados 2004, Ediciones ALFAOMEGA México, D.F, RA-MA Madrid,
España.
Russell S.J. Norvig P. (Madrid, 2004), Inteligencia Artificial un Nuevo enfoque,
segunda edición, derechos reservados Pearson Educación S.A., 1240 páginas.
Goldstein R. Incompleteness (New York 2005), Introducción a la Teoría de
Autómatas. The Prof. and paradox of Kurt Gödel. (2005) Atlas
94
Barrow J. D. (Reino Unido 1998), The Limits of Science and the Science of
Limits. Oxford University Press 1998. (Traducción al castellano en Gedisa 1999)
William Stallings (Madrid, 2004), Comunicaciones y redes de computadores,
derechos reservados Pearson Educación S.A., 896 páginas.
Fundamento de la robótica Autor: Barrientos (Editorial McGraw-Hill),
(México, 2008), Fundamentos de rebotica, tipos y ejemplos, derechos reservados
Editorial McGraw-Hill, 759 páginas.
CITAS BIBLIOGRÁFICAS
Gómez, Jaén Alejandro (8 de Enero 2007). Adaptación del sistema Texto a Voz
“Festival” al Catalán. Escuela Universitaria de Ingeniería Técnica Industrial de
Terrassa. Universidad Politécnica de Cataluña. Cataluña-España. (Capítulo 4 – Pág.
21).
Herb Simon (New York, 1957), A Behavioral Model of Rational Choice, página
20.
Moriello Sergio (Buenos Aires, 2006), Inteligencia Natural y Sintética, Derechos
reservados 2006, Edición Nueva Librería, 288 páginas.
95
McGraw-Hill Osborne (Madrid, 2001), Linux, Guía de instalación y
administración, derechos reservados 2001, Ediciones por McGraw –
Hill/Interamericana de España. (Capitulo 1 - Página 6)
Pérez, Cesar (México, 2004), MySQL para Windows y Linux, derechos
reservados 2004, Ediciones ALFAOMEGA México, D.F, RA-MA Madrid,
España. (Capitulo 1 - Página 3)
PUBLICACIONES
Ambientes virtuales de aprendizaje: Definición, experiencias y avances
tecnológicos, extraídos desde:
http://investigacion.ilce.edu.mx/panel_control/doc/c37ambientes.pdf
Gómez, Jaén Alejandro (8 de Enero 2007). Adaptación del sistema Texto a Voz
“Festival” al Catalán. Escuela Universitaria de Ingeniería Técnica Industrial de
Terrassa. Universidad Politécnica de Cataluña. Cataluña-España. (Capítulo 3 - 4 –
Pág. 7-22).
http://upcommons.upc.edu/pfc/bitstream/2099.1/4369/1/Alejandro%20Ja%C3%A
9n%20G%C3%B3mez.pdf
DIRECCIONES WEB
96
AlanTuring
Scanneos de escritos, que tratan sobre sus propuestas en Inteligencia Artificial
www.AlanTuring.net/intelligent_machinery
Librerias Jquery
Definición y características de librería para desarrollo de ambiente 3D
http://jquery.com/
Criterios de código abierto
Términos de distribución de software de código abierto deben cumplir:
http://www.opensource.org/docs/osd
Decreto presidencial 1014
Sobre el uso del software
http://www.movimientos.org/imagen/Ecuador%20Decreto%201014%20software
%20libre.pdf
Estatuto orgánico de la Universidad de Guayaquil
Visión, misión y afines. Artículo 3, literal g.
http://www.ug.edu.ec/Varios/PROYECTO%20DE%20ESTATUTO%20ORGANI
CO%20UG-COMISI%C3%93N.pdf
Idox
97
Aplicativo inteligente que interactúa con usuario. El programa se lo puede
descargar por el siguiente link:
http://idox.uptodown.com/descargar
Ley Orgánica de Educación Superior
Art. 136: Tesis Digitalizadas
http://asambleanacional.gov.ec/blogs/mao_moreno/2010/04/26/articulos-del-109-
al-156-de-la-ley-organica-de-educacion-superior/
MySQL Clusters
Arquitectura, conceptos y nodos extraídos desde:
http://www.mysql.com/
Open Source
Historia, cronología y movimientos de código abierto, extraídos desde sitio:
http://opensource.org/
Robot basado en comportamiento
Diferentes tipos de proyectos basados en comportamientos, robótica
Neuroevolutiva y arquitecturas cognitivas. Extraídos desde sitio web:
http://bibliotecnica.upc.es/factoria/arxius/158/inici.htm
98
Robots Inteligentes
Entorno, adaptación de comportamientos, razonamientos, evolución de robots
inteligentes:
http://www.tendencias21.net/Los-Robots-Inteligentes-Autonomos-son-la-nueva-
generacion_a744.html
Sitepal
Servicio que crear un avatar hablando en nombre de su sitio web y potenciar su
comunicación en línea:
http://www.sitepal.com/
Unix
Concept, historia y versiones del Sistema Operativo Unix, extraído desde:
http://www.unix.org/
Ubuntu
Historia, definiciones y características, extraído desde:
http://www.ubuntu.com/
Unesco
Declaración mundial sobre la educación superior y marco de acción prioritaria para
el cambio y el desarrollo de la educación superior:
http://www.unesco.org/education/educprog/wche/declaration_spa.htm
99
Voz Me
Página web que permite convertir de texto a voz:
http://vozme.com/index.php?lang=es
AVA
Ambientes virtuales de aprendizaje
http://investigacion.ilce.edu.mx/panel_control/doc/c37ambientes.pdf
101
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS CARRERA
DE INGENIERÍA EN SISTEMAS COMPUTACIONALES
Entrevista a profesionales
Nombre del Profesional: LSI. Mayra Fernández
Profesión: Coordinadora de Plataforma - Recapt
Dirección de Trabajo: Urdesa Norte – Parque Empresarial Colon
Teléfono: 04-2136425
1.- ¿Cree usted que las herramientas tecnológicas usadas en esta tesis, son
adecuadas para que se desarrolle con los más altos niveles de calidad y
confiabilidad?
No conozco mucho de las aplicaciones usadas en la tesis. Pero basta que sean Open
Source para que sean buenas. Además usan normas de calidad para su desarrollo,
por tal motivo son confiables.
2.- ¿Cree usted que el desarrollo de un robot inteligente en un ambiente virtual
con definición de ordenes escritas, usando herramientas VozMe, cumple con
el propósito de facilitar al usuario final la interacción con el ambiente usando
su lenguaje natural?
Por supuesto, muy pocas páginas web permiten usar su lenguaje como medio de
comunicación. Deberían de diseñarse con mayor frecuencia páginas como esta.
3.- ¿Le parece a usted que la integración de dichas herramientas dentro de una
misma plataforma, es una pieza fundamental para la realización del proyecto?
Claro que sí, La mayoría de aplicativos son usados en la plataforma Windows, Así
que sería muy interesante ver dicha integración en el ambiente Linux
4.- ¿Cree usted que proyectos como este solo deben usar herramientas Open
Source como plataforma de desarrollo?
Si, sin duda las herramientas Open Source tienen esa característica, son seguras,
confiables. Incluso en la empresa Recapt usamos Aplicativos Open Source.
102
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS CARRERA
DE INGENIERÍA EN SISTEMAS COMPUTACIONALES
Entrevista a profesionales
Nombre del Profesional: Ing. Zeljko Knezevic Nuques
Profesión: Gerente de Sistemas - Recapt
Dirección de Trabajo: Samborondón - Desarrollador
Teléfono: 095599340
1.- ¿Cree usted que las herramientas tecnológicas usadas en esta tesis son
adecuadas, para que esta de desarrolle con los más altos niveles de calidad y
confiabilidad?
Si las he usado en Asterisk, y son fácilmente integrables, y de buena confiabilidad.
2.- ¿Cree usted que el desarrollo de un robot inteligente en un ambiente virtual
con definición de ordenes escritas, usando herramientas VozMe, cumple con
el propósito de facilitar al usuario final la interacción con el ambiente usando
su lenguaje natural?
Si, Paginas como estas deberían ser desarrolladas en el ámbito comercial y así
ayudar a personas con problemas de discapacidad por ejemplo.
3.- ¿Le parece a usted que la integración de dichas herramientas dentro de una
misma plataforma, es una pieza fundamental para la realización del proyecto?
Se dé integraciones, y hacerlo no es sencillo, Es una pieza importante de todo
proyecto que usa ambientes Linux.
4.- ¿Cree usted que proyectos como este solo deben usar herramientas Open
Source como plataforma de desarrollo?
De hecho deberían usar, en este gobierno ya es una ley que todas las empresas usen
herramientas libres. Incluso todos los servidores, switch que uso están configurados
en Linux.
104
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS CARRERA
DE INGENIERÍA EN SISTEMAS COMPUTACIONALES
Encuesta
Edad
Sexo Masculino
Femenino
1.- ¿Cuál es su conocimiento respecto a robótica o inteligencia artificial?
a) Conozco a profundidad sobre el tema y he participado en varios proyectos relacionados.
b) Conozco del tema no tan a profundidad, pero, me interesa aprender.
c) He escuchado del tema, y me llama la atención.
d) No conozco en absoluto sobre el tema.
2.- ¿Qué opina sobre dar órdenes mediante texto a un robot en un ambiente
virtual, utilizando lenguaje común?
a) Me parece un proyecto interesante, y me gustaría participar.
b) Me parece una idea interesante, pero, necesito más información.
c) No me parece tan interesante la idea, pero, podría ver cómo funciona.
d) La propuesta no me llama la atención
3.- ¿Tiene usted conocimiento del termino Open Source?
a) Conozco a profundidad sobre el tema y he participado en varios proyectos relacionados.
b) Conozco del tema no tan a profundidad, pero, me interesa aprender.
c) He escuchado del tema, y me llama la atención.
d) No conozco en absoluto sobre el tema.
4.- ¿Estaría usted de acuerdo que se utilice con más frecuencia la Inteligencia
Artificial para el desarrollo de ambientes web virtuales?
a) Estoy de acuerdo, me parece un proyecto interesante.
b) Me parece una idea interesante, pero, necesito más información.
c) No me parece tan interesante la idea, pero, podría ver cómo funciona.
d) La propuesta no me llama la atención
105
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS CARRERA
DE INGENIERÍA EN SISTEMAS COMPUTACIONALES
Encuesta
5.- ¿Está usted de acuerdo que se usen herramientas Open Source para el
desarrollo de un robot inteligente en un ambiente virtual?
a) Estoy de acuerdo en el uso de estas herramientas en el desarrollo de ambientes web
b) Me parece una idea interesante, pero, necesito más información.
c) No me parece tan interesante la idea, pero, podría ver cómo funciona.
d) La propuesta no me llama la atención
6.- ¿Está usted de acuerdo que en la actualidad, la mayor parte de aplicaciones
sean desarrolladas en ambientes Web?
a) Estoy de acuerdo, que la mayor parte de aplicaciones sean en ambientes web.
b) Me parece una idea interesante, pero, necesito más información.
c) No me parece tan interesante la idea, pero, podría ver cómo funciona.
d) La propuesta no me llama la atención
7.- ¿Cree usted que las aplicaciones web en las que el usuario final interactúe,
deban tener como propiedades: La conversión de texto a voz?
a) Estoy de acuerdo, me parece interesante este tipo de propiedades en ambientes web.
b) Me parece una idea interesante, pero, necesito más información.
c) No me parece tan interesante la idea, pero, podría ver cómo funciona.
d) La propuesta no me llama la atención
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERÍA EN SISTEMAS
COMPUTACIONALES
DESARROLLO DE ROBOT INTELIGENTE EN AMBIENTE
VIRTUAL CON DEFINICIÓN DE ÓRDENES ESCRITAS.
PROPUESTA BASADA EN
HERRAMIENTAS
OPEN SOURCE
MANUAL TÉCNICO Y DE USUARIO
Previa a la obtención del Título de
INGENIERO EN SISTEMAS COMPUTACIONALES
AUTOR: MAURO VINICIO ECHEVERRÍA CHUGULÍ
TUTORA: ING. KATYA FAGGIONI
GUAYAQUIL – ECUADOR
2014
ÍNDICE
1.- Manual Técnico….…………………………………………… 1
2.- Requerimiento de Software……………………………...…… 2
3.- Página Web………………………………………………..….. 3
4.- Base de datos…………………………………………….……. 4
5.- Modelo Entidad Relación…………………………………..…. 5
6.- Diccionario de Datos…………………………………….……. 6
7.- Consideraciones……………………………………………….. 8
7.1.- Órdenes…………………………………………….…. 8
7.2.- Preguntas……………………………………………… 9
7.3.- Comandos………………………………………..…… 10
8.- Manual de Usuario……………………………………….……. 12
9.- Introducción……………………………………………...……. 13
10.- Pantalla Principal……………………………………..……… 14
11.- Acerca de………………………………………………..…… 15
12.- Contáctenos…………………………………………….……. 16
13.- Registro de Usuario………………………………………...... 16
14.- Contraseña olvidada………………………………………….. 18
15.- Inicio de Sesión…………………………………………….… 20
16.- Página de Interacción……………....……………………….… 22
16.1.- Menú de Selección de Órdenes…………….…...……. 23
16.2.- Base de Conocimiento………..…………….…...……. 23
16.3.- Área para lectura de salida de orden………………….. 24
16.4.- Reproductor de voz…………………………………… 24
16.5.- Ambiente Virtual…………………...………………… 25
2
REQUERIMIENTO DE SOFTWARE
SERVIDOR WEB
Windows 7 Service pack 1
Xampp control panel versión 2.5
Java virtual machine versión “1.7.0_15”
Dreamweave. (Editor de PHP)
NetBeans IDE versión 7.2.1 en adelante. (Editor de Java)
EQUIPO DE USUARIO
Windows 7 Service pack 1
Adobe Reader X
Adobe Flash
Navegador Google Chrome versión 32.0.1700.76 m en adelante
3
PÁGINA WEB
Una vez instalado el servidor web xampp, ubicar la ruta donde se encuentra
instalado y copiar la carpeta del proyecto dentro de la carpeta \xampp\htdocs.
Luego, debe dirigirse a esta ruta: C:\xampp\php\php.ini, debe abrir este archivo y
buscar esta sentencia: php_curl.dll.
Elaboración: Mauro Echeverría
Fuente: Investigación
Actualmente usted debería tener la sentencia de esta manera.
;extension=php_curl.dll
Usted debe quitar el punto y como del inicio de sentencia, este debería quedar así.
extension=php_curl.dll
Luego guarda el documento php.ini y proceda a reiniciar la máquina para que se
ejecuten los cambios realizados.
4
BASE DE DATOS
Ingresamos al administrador de MySql en la aplicación de panel de control del
servidor web xampp. Por defecto los servicios de Apache y MySql, se inician cada
vez que se prende el computador.
Elaboración: Mauro Echeverría
Fuente: Investigación
Creamos la base de datos con el nombre: maurodb
Elaboración: Mauro Echeverría
Fuente: Investigación
Luego importamos la base de datos, nos ubicamos en la ruta donde se encuentra
nuestro archivo de base maurodb.sql y lo seleccionamos, presionamos continuar
y nuestra base de datos estará lista para ser usada.
5
De ser correcta la importación. Se crearán de manera automática las tablas
necesarias para el buen funcionamiento del ambiente virtual.
Elaboración: Mauro Echeverría
Fuente: Investigación
MODELO ENTIDAD RELACIÓN
Fuente: Mauro Echeverría
Elaboración: MySql – Modelo Entidad Relación
6
DICCIONARIO DE DATOS
Tabla usuarios.
Tabla que guarda los usuarios registrados en la página.
Campo Tipo Nulo Descripción
cod_usuario smallint(5) No Identificador de la tabla
status varchar(1) No Estado del usuario
nombres varchar(50) No Nombres del usuario
apellidos varchar(50) No Apellidos del usuario
email varchar(10) No Correo electrónico del usuario
sexo varchar(50) No Sexo del usuario
fecha_naci varchar(30) No Fecha de nacimiento del usuario
nacionalidad varchar(15) No Nacionalidad del usuario
nick varchar(15) No Comodín único de usuario
contrasena varchar(200) No Valor encriptado que sirve para logearse
Tabla comentarios.
Tabla que guarda los comentarios, emitido por los usuarios.
Campo Tipo Nulo Descripción
cod_comentario smallint(5) No Identificador de la tabla
status_com varchar(1) No Estado del comentario
com_nombre varchar(15) No Nombre de la persona que comenta
com_email varchar(50) No Email de la persona que comenta
com_comentario varchar(200) No Comentario dejado por usuario
Tabla objetos.
Tabla que guarda los objetos que se selecciona, cada vez que se genera el
ambiente virtual.
Campo Tipo Nulo Descripción
cod_objetos smallint(5) No Identificador de la tabla
uno varchar(50) No Objeto seleccionado en combo uno
dos varchar(50) No Objeto seleccionado en combo dos
tres varchar(50) No Objeto seleccionado en combo tres
cuatro varchar(50) No Objeto seleccionado en combo cuatro
cinco varchar(50) No Objeto seleccionado en combo cinco
7
seis varchar(50) No Objeto seleccionado en combo seis
fechahora timestamp No Fecha en la que se realizó la selección
Tabla órdenes.
Tabla que guarda las órdenes que se dan al ambiente virtual.
Campo Tipo Nulo Descripción
cod_ordenes smallint(5) No Identificador de la tabla
ordenes varchar() No Orden que se da a ambiente virtual
fechahora varchar(30) No Fecha en la que se realizó la selección
Tabla conocimiento.
Tabla en la cual se va guardando la nueva base de conocimiento del robot virtual,
de acuerdo a los objetos y órdenes que se le dé.
Campo Tipo Nulo Descripción
cod_cono smallint(5) No Identificador de la tabla
cod varchar(50) No Orden que se da a ambiente virtual
fechahora varchar(30) No Fecha en la que se realizó la selección
Tabla primeras.
Tabla que guarda la primera parte las preguntas para el aprendizaje del robot
virtual.
Campo Tipo Nulo Descripción
id int(3) No Identificador de la tabla
primeras varchar(100) No Preguntas primera parte
Tabla segundas.
Tabla que guarda la segunda y última parte las preguntas para el aprendizaje del
robot virtual.
Campo Tipo Nulo Descripción
id int(5) No Identificador de la tabla
segundas int(5) No Preguntas segunda parte
relacion varchar(500) No Relación con primeras preguntas
8
CONSIDERACIONES
Hay ciertas consideraciones que se deben tomar al momento de que se instale el
ambiente web en otro sitio. Estas son las órdenes que puede recibir el robot,
preguntas de aprendizaje y comandos claves que son recibidas por PHP.
Órdenes
Estas son las órdenes que se pueden dar al robot virtual en el ambiente web. Estas
se pueden elegir, a través de combo para así evitar errores de carácter tipográfico.
kabuto busca florero kabuto ubica pelota pequeña amarilla en mesa
kabuto busca celular kabuto ubica pelota pequeña azul en mesa
kabuto busca radio kabuto ubica pelota pequeña roja en mesa
kabuto busca pelota pequeña amarilla kabuto ubica pelota grande amarilla en mesa
kabuto busca pelota pequeña azul kabuto ubica pelota grande azul en mesa
kabuto busca pelota pequeña roja kabuto ubica pelota grande roja en mesa
kabuto busca pelota grande amarilla kabuto ubica cuadrado amarillo en mesa
kabuto busca pelota grande azul kabuto ubica cuadrado azul en mesa
kabuto busca pelota grande roja kabuto ubica cuadrado rojo en mesa
kabuto busca cuadrado amarillo kabuto ubica triangulo amarillo en mesa
kabuto busca cuadrado azul kabuto ubica triangulo azul en mesa
kabuto busca cuadrado rojo kabuto ubica triangulo rojo en mesa
kabuto busca triangulo amarillo kabuto ubica rombo amarillo en mesa
kabuto busca triangulo azul kabuto ubica rombo azul en mesa
kabuto busca triangulo rojo kabuto ubica rombo rojo en mesa
kabuto busca rombo amarillo kabuto ubica florero en silla
kabuto busca rombo azul kabuto ubica celular en silla
kabuto busca rombo rojo kabuto ubica radio en silla
kabuto toma florero kabuto ubica pelota pequeña amarilla en silla
kabuto toma celular kabuto ubica pelota pequeña azul en silla
kabuto toma radio kabuto ubica pelota pequeña roja en silla
kabuto toma pelota pequeña amarilla kabuto ubica pelota grande amarilla en silla
kabuto toma pelota pequeña azul kabuto ubica pelota grande azul en silla
kabuto toma pelota pequeña roja kabuto ubica pelota grande roja en silla
kabuto toma pelota grande amarilla kabuto ubica cuadrado amarillo en silla
9
kabuto toma pelota grande azul kabuto ubica cuadrado azul en silla
kabuto toma pelota grande roja kabuto ubica cuadrado rojo en silla
kabuto toma cuadrado amarillo kabuto ubica triangulo amarillo en silla
kabuto toma cuadrado azul kabuto ubica triangulo azul en silla
kabuto toma cuadrado rojo kabuto ubica triangulo rojo en silla
kabuto toma triangulo amarillo kabuto ubica rombo amarillo en silla
kabuto toma triangulo azul kabuto ubica rombo azul en silla
kabuto toma triangulo rojo kabuto ubica rombo rojo en silla
kabuto toma rombo amarillo kabuto ir hacia adelante
kabuto toma rombo azul kabuto ir hacia atrás
kabuto toma rombo rojo kabuto ir hacia derecha
kabuto ubica florero en mesa kabuto ir hacia izquierda
kabuto ubica celular en mesa kabuto detente
kabuto ubica radio en mesa kabuto saluda
kabuto despídete kabuto ir a inicio
Peguntas de Aprendizaje
Estas son las preguntas con las cuales el robot llena su base de conocimientos.
Estas se activan cuando el usuario, ha elegido un objeto y este no se encuentra en
su base de conocimiento.
PREGUNTAS
PRIMARIAS SEGUNDARIAS
El objeto es de cerámica? El objeto es una adorno que usa flores?
El objeto es hecho de plástico y
puede rebotar?
El objeto es pequeño y amarillo?
El objeto es pequeño y azul?
El objeto es pequeño y rojo?
El objeto es grande y amarillo?
El objeto es grande y azul?
El objeto es grande y rojo?
El objeto es hecho de plástico y
funciona con electricidad? El objeto sirve para comunicarse vía voz?
El objeto sirve para escuchar música?
El objeto tiene 4 lados y sus
ángulos son rectos?
El objeto es de color amarillo?
El objeto es de color azul?
El objeto es de color rojo?
El objeto tiene 4 lados y sus El objeto es de color amarillo?
10
diagonales son perpendiculares? El objeto es de color azul?
El objeto es de color rojo?
El objeto tiene 3 lados y la suma
de sus ángulos es 180 grados?
El objeto es de color amarillo?
El objeto es de color azul?
El objeto es de color rojo?
Comandos
Estos son los comandos que son utilizados en el ambiente web, internamente, PHP
y la base de conocimiento interactúan con estos. Dando así la posibilidad de que el
robot pueda aprender.
Detalle Buscar Tomar Ubicar
Mesa
Ubicar
Silla
florero busflo tomflo ubimesflo ubisillflo
celular buscel tomcel ubimescel ubisillcel
radio busrad tomrad ubimesrad ubisillrad
pelota_pequena_amarilla busppam tomppam ubimesppam ubisillppam
pelota_pequena_azul busppaz tomppaz ubimesppaz ubisillppaz
pelota_pequena_roja busppr tomppr ubimesppr ubisillppr
pelota_grande_amarilla buspgam tompgam ubimespgam ubisillpgam
pelota_grande_azul buspgaz tompgaz ubimespgaz ubisillpgaz
pelota_grande_roja buspgr tompgr ubimespgr ubisillpgr
cuadrado_amarillo buscam tomcam ubimescam ubisillcam
cuadrado_azul buscaz tomcaz ubimescaz ubisillcaz
cuadrado_rojo buscro tomcro ubimescro ubisillcro
triangulo_amarillo bustam tomtam ubimestam ubisilltam
triangulo_azul bustaz tomtaz ubimestaz ubisilltaz
triangulo_rojo bustro tomtro ubimestro ubisilltro
rombo_amarillo busram tomram ubimesram ubisillram
rombo_azul busraz tomraz ubimesraz ubisillraz
rombo_rojo busrro tomrro ubimesrro ubisillrro
Estos son otros tipos de comandos, que el robot ya tiene en su base de
conocimiento.
11
Saludar hola
Despedirse god
Afirmar afir
Negar niega
Adelante ade
Atras atra
Derecha dere
Izquierda izqui
Alto alto
Inicio ini
13
INTRODUCCIÓN
Actualmente son innumerables las áreas en las que se emplea la realidad virtual
con motivo de investigación, entretenimiento, educación y salud.
Estos ambientes virtuales buscan que la interacción con el usuario final, sea lo
más natural posible, dando así la facilidad para que el usuario entienda, procese y
acceda a toda la gama de herramienta y beneficios que da la realidad virtual con
ayuda de la inteligencia artificial. Además busca ayudar a personas con
discapacidad, para que puedan hacer uso del ambiente web utilizando su lenguaje
natural como medio de comunicación.
El objetivo de este proyecto, es manejar un robot inteligente en un ambiente
virtual, a través de comandos de texto debidamente definidos en una base de
conocimientos, para luego interpretarlos y así interactuar con el ambiente virtual
de forma que el usuario lo maneje de manera fácil, sin que tenga un conocimiento
avanzado de las herramientas a usar.
Al final de cumplir todos los objetivos. El ambiente virtual estará representado por
una habitación, donde se encuentran varios objetos, el robot tendrá que interactuar
con cada uno de ello, realizando acciones como tomar, dirigirse, ubicar y buscar
objetos. Además el robot estará en la capacidad de aprender del medio
distinguiendo tamaños, objetos y órdenes.
14
Para poder entender mejor lo antes dicho, Se lo guiará paso a paso, en el manejo
adecuado del ambiente virtual, a través de este manual de usuario.
PANTALLA PRINCIPAL
Accece al explorador web, y proceda a colocar en el menú de direcciones, esta
dirección. http://localhost/WebKabuto/php/login.php
Al iniciar la aplicación aparecerá la pantalla principal con varias opciones a las
cuales los usuarios podrán acceder de manera sencilla.
Elaboración: Mauro Echeverría
Fuente: Investigación
Abra un menú de opciones, en donde el usuario podrá escoger a su elección. Estos
son: home, acerca de, contáctenos, home, cerrar sesión y atrás.
15
Elaboración: Mauro Echeverría
Fuente: Investigación
El botón de Home, permitirá al usuario regresar a la pantalla iniciar y así poder
aprender el modo de operación del juego.
EL botón de Cerrar Sesión, hará salir por completo al usuario del ambiente virtual.
Si desea ingresar de nuevo al ambiente. Este deberá registrarse de nuevo.
ACERCA DE
Esta opción de la pantalla principal, permite visualizar una breve descripción de lo
que trata el sistema web vocacional, e información de contacto del administrador.
Elaboración: Mauro Echeverría
Fuente: Investigación
16
CONTÁCTENOS
Esta opción, que también la encontramos en el menú de la pantalla principal,
permite a los usuarios enviar sus consultas y comentarios que tengan acerca de la
aplicación, al usuario administrador.
Elaboración: Mauro Echeverría
Fuente: Investigación
REGISTRO DE USUARIOS
En la pantalla principal se cuenta con un link de registro de usuarios, al
seleccionar el mismo, se muestran la opción de registrarse, con las que se pueden
registrar los usuarios para acceder a los servicios de la aplicación.
17
Elaboración: Mauro Echeverría
Fuente: Investigación
A continuación, usted podrá llenar el formulario con datos básicos, estos servirán
para personalizar, el ingreso al juego.
Elaboración: Mauro Echeverría
Fuente: Investigación
Este campo de Nick, servirá para en un futuro poder recobrar la clave en caso de
pérdida. Más adelante se indicara el proceso para poder recobrar la misma, en
caso de pérdida.
18
Elaboración: Mauro Echeverría
Fuente: Investigación
El botón guardar, nos permite guardar la información de los datos que han sido
llenados por el usuario, en la base de datos antes. Posteriormente se mostrara un
mensaje de Guardado con Éxito.
Elaboración: Mauro Echeverría
Fuente: Investigación
CONTRASEÑA OLVIDADA
En esta sección, el usuario podrá recuperar su contraseña, y es requisito que el
usuario para autenticarse, debe introducir en los campos, su Nick y correo
19
electrónico. Es decir que el usuario, debe tener a mano estos registros. Para así
recobrar la clave.
Elaboración: Mauro Echeverría
Fuente: Investigación
Si el usuario, introduje de manera correcta su Nick, y contraseña. Este podrá
poner su nueva contraseña, tal y como lo muestra la imagen
Elaboración: Mauro Echeverría
Fuente: Investigación
De coincidir las contraseñas, al usuario le aparecerá un mensaje indicando que
estas han sido actualizadas.
El usuario ya podrá ingresar con esta nueva clave, al ambiente web.
20
Elaboración: Mauro Echeverría
Fuente: Investigación
INICIO DE SESIÓN
En la pantalla principal de la aplicación, se encuentra una sección para inicio de
sesión de los usuarios ya registrados, en la cual el usuario postulante o empresa,
deberá ingresar su Correo y Clave previamente registradas.
Elaboración: Mauro Echeverría
Fuente: Investigación
Este tendrá acceso a la pantalla de aprendizaje del ambiente y otra en donde podrá
seleccionar los objetos, que van al ambiente virtual. El usuario, en todo momento
21
podrá verificar su correo electrónico durante la interacción con el robot en el
ambiente virtual.
Elaboración: Mauro Echeverría
Fuente: Investigación
La pantalla de aprendizaje, ensena al usuario a través de audios ya predefinidos, el
modo de usar la aplicación, condiciones y restricciones.
Elaboración: Mauro Echeverría
Fuente: Investigación
Al dar clic en siguiente y dirigirse a la siguiente pantalla, el usuario, podrá elegir
entre seis objetos. Estos podrán ser repetidos, en el orden que el usuario desee.
22
Elaboración: Mauro Echeverría
Fuente: Investigación
PAGINA DE INTERACCIÓN
Se procederá a generar un ambiente, con los objetos antes seleccionados. A
continuación, podrá ver el ambiente de manera general.
Elaboración: Mauro Echeverría
Fuente: Investigación
El ambiente se divide en 5 partes. Se detallará a continuación las funcionalidades
de cada uno.
23
Menú de Selección de Órdenes
En este combo de elección, usted podrá seleccionar la orden a ejecutar, y una vez
procesada, esta será enviada al ambiente virtual, base de conocimiento y
convertidor de voz a texto.
Elaboración: Mauro Echeverría
Fuente: Investigación
Base de conocimiento
En esta área se mostrará los distintos objetos que el robot conozca, de aprender un
nuevo objeto, este será añadido a su base de conocimientos y este a su vez será
mostrador en esta área.
Elaboración: Mauro Echeverría
Fuente: Investigación
24
Elaboración: Mauro Echeverría
Fuente: Investigación
Área para lectura de salida de orden
En esta área se podrá apreciar lo que el robot está diciendo, es decir, su podrá ver
y escuchar lo que el robot está ejecutando en el ambiente.
Elaboración: Mauro Echeverría
Fuente: Investigación
Reproductor de voz
Este en un reproductor, por el cual se podrá escuchar lo que el robot está
ejecutando en el ambiente virtual. Si el usuario podrá volver a reproducir el
sonido, ya que este tiene opciones de reproducción, stop y pausa.
Elaboración: Mauro Echeverría
Fuente: Investigación
25
Ambiente Virtual
Este es el ambiente en donde el robot se desenvolverá, tiene atrás suyo una
estantería en donde se posan los objetos seleccionados por el usuario, a sus lados,
una mesa y silla, estas servirán para que el robot ubique los objetos en cada una de
ella. Se recuerda al usuario que el robot debe estar al inicio del ambiente, para que
ejecute las distintas órdenes, excepto cuando haya tomado el objeto.
Para reiniciar el juego, usted tendrá un botón dentro del ambiente, con este usted
podrá ubicar al objeto, en el inicio de la habitación.
Elaboración: Mauro Echeverría
Fuente: Investigación
top related