UNIVERSIDAD DE GUAYAQUILrepositorio.ug.edu.ec/bitstream/redug/6546/1/TesisCompleta -493.pdf ·...

154
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

Transcript of UNIVERSIDAD DE GUAYAQUILrepositorio.ug.edu.ec/bitstream/redug/6546/1/TesisCompleta -493.pdf ·...

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:

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:

[email protected]

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:

[email protected]

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

100

ANEXO 1

ENTREVISTA

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.

103

ANEXO 2

ENCUESTA

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

1

MANUAL TÉCNICO

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

12

MANUAL USUARIO

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