RobóticaSuBiré_Bach

Page 1

Manual de Robótica 1 para bachillerato

Introducción a la robotica y a los robots NAO y NXT Ing. Jesús Brito


2


ÍNDICE 1. INTRODUCCIÓN ..................................................................................................... 4 1.1 Definición ......................................................................................................... 5 1.2 Historia ............................................................................................................. 5 1.3 Clasificación ..................................................................................................... 6 1.4 Actividades ....................................................................................................... 8 2. LOS ROBOTS, IMITACIÓN DEL SER HUMANO. ....................................................... 15 2.1 Conociéndonos para conocerlos .................................................................. 15 2.2 Funcionamiento ............................................................................................. 19 2.3 Diferencias insuperables: Inteligencia, voluntad y sentimientos. .......... 20 2.4 Actividades ..................................................................................................... 22 3. ROBOT NAO ......................................................................................................... 27 3.1 ¿Cómo es? ¿Qué puede hacer? .................................................................... 28 3.2 El Software ..................................................................................................... 30 3.3 Programación ................................................................................................. 37 3.4 Actividades ..................................................................................................... 41 4. ROBOT NXT .......................................................................................................... 48 4.1 Características de los elementos ................................................................. 49 4.2 Software ......................................................................................................... 55 4.3 Programación ................................................................................................. 57 4.4 Actividades ..................................................................................................... 64 5. APÉNDICE ............................................................................................................ 68 5.1 Diagrama de Flujo .......................................................................................... 68

3


1. INTRODUCCIÓN La robótica es, por excelencia, la área de la tecnología o rama de la ciencia, que ejemplifica de mejor manera la intención del hombre de “crear a su imagen y semejanza”. En la actualidad conocer que es la robótica, entender como funciona un robot, aprender a construir uno y cómo trabajar con él, es además de interesante y divertido, importante. Conocer qué es la robótica, nos proporciona una idea más clara sobre el futuro tecnológico que nos espera. Nos permite analizar con claridad que tanto de lo que vemos en el cine, televisión e internet, puede ser algún día, o ya es, una realidad. Por ejemplo, actualmente, los robots son parte clave en la producción de los artículos que usamos como: celulares, televisiones, computadoras, carros, etc. Sin embargo, muy poco se parecen a los que vemos en los medios de comunicación. Entender cómo funciona un robot, nos acerca a descubrir otras áreas de la ciencia como la mecánica, la electrónica, la informática, la inteligencia artificial y la anatomía entre otras, además ver la manera en como se aplican y combinan. Construir un robot y trabajar con él, nos permite aprender sobre el cuerpo humano y su funcionamiento, desarrollar habilidades para el procesamiento lógico, motivar la creatividad para lo solución de problemas y despertar el interés por las ciencias. En este curso las preguntas ¿qué es la robótica? y ¿qué es un robot?, tendrán, no solo como respuesta, una definición o concepto que nos ayude conocer y entender, sino que en base a construir y trabajar con los robots, logremos asimilar el concepto, aun poco claro, y dar respuesta a las preguntas desde nuestro hacer.

¿Por qué hoy para ti qué es la robótica y qué es un robot?

4


1.1 Definición

Las palabras robótica y robot son relativamente nuevas. Por eso, es aun difícil encontrar una definición exacta de los conceptos. Sin embargo, para comenzar, necesitamos al menos una base. Las definiciones que a continuación se presenta, serán nuestra base de trabajo. Robótica: ciencia o rama de la tecnología que se dedica al diseño, construcción y aplicación de los robots. Robot: Máquina, dispositivo o entidad mecánica reprogramable, capaz de movimiento, de manejar objetos(o sea, manipular), de percibir su entorno y que muestra un comportamiento “inteligente”. Con estas definiciones y conforme avance el curso, iremos formando, una idea más clara para nosotros, sobre este par de conceptos. 1.2 Historia Hablar de dónde y cuándo surgieron la robótica y los robots no es sencillo. Las palabras surgieron antes que “la ciencia” y que “los dispositivos”, es decir, que la robótica y los robots, pasaron, de la ciencia ficción a la realidad, con una similitud aun muy lejana. El origen Los términos robot y robótica aparecen en la primera mitad del siglo XX. El término robot aparece por primera vez en la obra teatral R.U.R.(Robots Universales Rossum), en 1920, del escritor checo Karel Capek. Y tiene su origen en la palabra checa robota, que significa esclavo o trabajo. El termino robótica, por otra parte, es acuñado entre los año 1938 y 1940 por el escritor y bioquímico de origen ruso, nacionalizado estadounidense, Isaac Asimov.

5


1958 El año del robot y la robótica En base a nuestra definición, marcaremos 1958 como el año en que aparece el primer robot, y se da origen a la ciencia llamada robótica. En 1958 los investigadores George C. Devol y Joseph F. Engelberger desarrollan su robot Unimate. Que consistía en un “Brazo Robótico” capaz de manipular(mover) objetos y soldarlos. Es considerado también como el primer robot comercial e industrial. A partir de entonces, muchas universidad se enfocaron en desarrollar brazos robóticos cada vez más complejos. Y es la industria, quien muestra mayor interés por estos desarrollos, tanto que para 1995 funcionaban ya aproximadamente 700,000 robots en la industria mundial. Donde la gran mayoría de las aplicaciones consistían en labores peligrosas o desagradables para los humanos. Sin embargo no podemos dejar de mencionar que, ya en los años 1930 y 1948, se presentaron algunas maquinas o dispositivos que se encontraron cerca de ser el primer robot dela historia, más la tecnología de su momento no lo permitió. Inclusive, se pueden mencionar a maquinas o dispositivos desde el siglo I a.C. que fueron construidos bajo los mismos principios de lo que es un robot. 1.3 Clasificación Existen diversas clasificaciones para los robots que dependen de diferentes parámetros: movilidad, potencia del software, sensibilidad sensorial entre otros. Por ejemplo cuatro de las más comunes son: • Generacional • Nivel de inteligencia • Nivel de control • Nivel de lenguaje de programación. A continuación se presenta en que consiste la clasificación generacional: 1ª Generación: Manipuladores. Son sistemas mecánicos con un sencillo sistema de control. 2ª Generación: Robots de aprendizaje. Repiten una secuencia de movimientos memorizados, que ha sido ejecutada previamente por un operador humano. 3ª Generación:

6


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 sobre el estado del proceso, permitiéndole tomar una “decisión”.

7


1.4 Actividades ACT#1 “CONOCIENDO LA ROBÓTICA” Es importante que entendamos mejor, a que nos referimos, cuando usamos la palabra robótica. Por ello será importante que conozcamos un poco más sobre lo que engloba o conjunta la palabra. INSTRUCCIONES: Dentro de la introducción se mencionan algunas áreas de la ciencia a las cuales hace nos acerca la robótica. Identifícalas e investiga su significado así como sus aplicaciones. Anótalas, con letra clara y legible, en el recuadro que a continuación se te presenta. Se critico y selecciona solo información que te sea útil, información que entiendas.

8


ACT#2

“ADENTRÁNDONOS EN LA HISTORIA 1”

Aunque como tal, Karel Capek e Isaac Asimov, hicieron su aportación a la robótica desde la literatura, y no con la investigación o desarrollo de dispositivos o maquinas, ninguna cronología sobre el tema los descarta. ¿Por qué? Para comprender mejor te proponemos estos trabajos. 1. INSTRUCCIONES: Investiga sobre qué trata la obra U.R.U. de Karel Capek. Analiza y contesta, con letra clara y legible, lo que se te pide:

1. ¿Cómo eran los robots? 2. ¿De qué estaban hechos? 3. ¿Cuál era su función o para qué los crearon? 4. ¿Qué termina sucediendo con los robots?

9


2. INSTRUCCIONES: Realiza un dibujo sobre los robots de Rossum:

10


3. INSTRUCCIONES: Busca cual fue la aportación más importante que realizó Isaac Asimov a la robotica, a parte de acuñar el termino “robótica”, y responde:

1. ¿Cuál es está aportación? 2. Escribe dicha aportación: 3. ¿Consideras que es realmente importante? (Justifica tu respuesta) 4. ¿En la actualidad tiene alguna aplicación? (Justifica tu respuesta) 5. ¿De dónde es que adquirió tanta importancia o relevancia dicha aportación?

11


ACT#3

“ADENTRÁNDONOS EN LA HISTORIA 2”

Unimate ha sido el robot que hemos considerado como el primero en la historia. Sin embargo, es importante saber un poco más sobre él; como era, que hacia, como lo hacia. INSTRUCCIONES: Realiza en el siguiente recuadro un dibujo sobre el robot. Escribe, con letra clara y legible, para qué se uso y dónde se usó. El dibujo tiene que ser claro y realista.

12


ACT#4

“CAMINANDO EN LA HISTORIA”

Ya hemos mencionado que Unimate es el primer robot en la historia, o al menos, el primero que cumple con nuestra definición. Sin embargo es importante conocer como han evolucionado los robots y hasta donde hemos llegado en su desarrollo. INSTRUCCIONES: Realiza una línea del tiempo sobre la evolución de los robots. Comenzando con el que hemos definido como el primer robot de la historia y culminando con el que encuentres que sea el más avanzado hasta nuestros días. Utiliza imágenes de los robots y realiza una pequeña reseña sobre cada uno de ellos.

13


14


2. LOS ROBOTS, IMITACIÓN DEL SER HUMANO. Los robots han sido pensado, diseñados y construidos, en un principio, para que sean capaces de realizar labores peligrosas para nosotros, los seres humanos, labores, en su mayoría, que habían sido realizadas por nosotros. Es por esto, que se ha buscado que, quien nos sustituya en estas labores, guarde una gran similitud, física, mecánica, funcional e intelectual con nosotros. Esto quiere decir, que se parezca a nosotros o a alguna parte de nosotros, que se mueva como nosotros, que funcione como nosotros y que piense como nosotros. De ahí que, en ocasiones, para hacer referencia a los distintos elementos que componen a un robot, se usen términos como: cuerpo, brazo, codo, muñeca, cerebro. Términos que hoy nos dicen más, como esperamos que sea y se comporte, que lo que realmente es y se comporta dicha parte o elemento del robot. La robótica nos ha venido a mostrar que, es el ser humano, la maquina por excelencia. Un modelo digno de admirar, de buscar imitar, pero de complejidad incomparable, y para muchos, indescifrable e inigualable. Sin embargo, aunque la diferencia entre los robots y nosotros aun es mucha, es a través, de entender como somos y funcionamos, la mejor manera de entender como son y como funcionan los robots. 2.1 Conociéndonos para conocerlos Los cerebros Nuestro cerebro es el órgano más importante del sistema nervioso central y es el centro de control de todo el cuerpo. Controla tanto las actividades voluntarias como las involuntarias, y es el responsable de la complejidad del pensamiento, la memoria, emociones y el lenguaje. Recibe y procesa toda la información que envían nuestros sentidos; tacto, gusto, olfato, vista, oído. Procesa aproximadamente 100,000,000 de instrucciones por segundo y es el órgano que más energía consume; un quino de la energía del cuerpo. El cerebro de los robots, llamado controlador, es también el más importante, porque controla todo el cuerpo del robot y es el encargado, en base a la programación, de simular la “inteligencia” del robot. Además recibe y procesa toda la información que envían los sentidos del robot llamados sensores.

15


El sistema nervioso Nuestro sistema nervioso, compuesto por aproximadamente 70 km de redes nerviosas, es el que mantiene comunicado al cerebro con todo el cuerpo y mediante los sensores y sentidos, nos proporciona información del exterior. Es a través de este sistema, que los diferentes impulsos o señales viajan en el cuerpo hasta el cerebro. Existen diferentes impulsos o señales, tales como los motores y los de dolor. La mayoría de los impulsos viajan a más de 400 km/h, sin embargo, los impulsos de dolor viajan a una menor velocidad, con el propósito de dejarnos reaccionar antes de que el dolor nos lo impida. Inclusive pueden ser nulificados. En el robot, hablar de un sistema nervioso, se limita, a los cables que conectan a los sensores con el controlador. Siendo a través de estos que las señales eléctricas viajan, y viajan todas a una misma velocidad. Sentidos y sensores Cada uno de nuestros sentidos consiste en células especializadas que tienen receptores que reaccionan a estímulos específicos. Estas células están conectadas por medio del sistema nervioso al cerebro. Las sensaciones se detectan en forma primitiva en las células y se integran como sensaciones en el sistema nervioso. A demás poseemos sensores o células especializadas para detectar el dolor y el calor. En cambio, en los robots no podemos hablar de sentidos, porque no se puede hablar de sensaciones. Solo podemos hablar de sensores, los cuales transforman una magnitud física, en una señal eléctrica la cual provee de información al controlador para que pueda realizar la tarea. Existen diferentes tipos de sensores que nos permiten sensar la temperatura, velocidad, distancia, presión, peso, etc. Los Músculos Los músculos están formados por fibras, que son un conjuntos de células motoras. Cuando el cerebro envía impulsos de movimiento, éstos se transmiten a través de los nervios, y estos hacen que las células motoras se superpongan, contrayendo el musculo. Cuando se contraen los músculos, ponen en movimiento las distintas partes del cuerpo mediante los puntos de inserción, que tienen en el sistema óseo, a través del principio de palanca. Cada músculo provoca un movimiento, pero no puede reproducir el movimiento contrario, por lo que para cada uno de ellos hay otro que realiza el movimiento opuesto. Los dispositivos encargados de generar movimiento en un robot reciben el nombre de actuadores y son muy variados. Podemos encontrar como actuadores: pistones

16


neumáticos e hidráulicos, músculos neumáticos, motores y servomotores, etc. Estos al igual que nuestros músculos, se accionan al recibir una señal eléctrica. El esqueleto El esqueleto es una estructura movible compuesta por 206 huesos, de los cuales aproximadamente la mitad se encuentran en las manos y pies. Esta estructura provee de rigidez al cuerpo, sirve como anclaje para los músculos esqueléticos y como caja protectora para los órganos internos del cuerpo. Los huesos que componen el esqueleto son extraordinariamente flexibles y maleables, ya que la mitad de su masa es materia blanda. Son extraordinariamente resistentes a la compresión, tensión y torsión. Y pueden llegar a ser tan duros como el concreto. Para el robot, es la estructura mecánica la encargada de desempeñarse como esqueleto. Esta estructura está formada por una serie de elementos o eslabones unidos mediante articulaciones que permiten el movimiento relativo entre cada dos eslabones consecutivos y la base. La estructura debe dotar de rigidez al robot para lograr movimientos precisos. Corazón, sangre, baterías, electricidad y más. El corazón es un órgano complejo. Cuenta con cuatro cámaras, cuatro válvulas y vasos sanguíneos múltiples para proporcionar sangre al cuerpo. Él, es el que se encarga de enviar nutrientes, oxigeno y energía a cada parte del cuerpo. Dos de las funciones principales de la sangre son: ! !

Transporta a las células elementos nutritivos y oxígeno, y extrae de los mismos productos de desecho. Toma parte importante en la regulación de la temperatura del cuerpo, al enfriar los órganos como el hígado y músculos, donde se produce exceso de calor.

El sistema de alimentación del robot, al igual que nuestro corazón y la sangre, es el encargado de proporcionar la energía necesaria a todo el sistema del robot. El sistema puede estar compuesto únicamente de baterías y proporcionar solo corriente eléctrica o contar también con acumuladores neumáticos y proporcionar aire al sistema y de igual manera para un sistema hidráulico.

17


Venas, arterias, cables y mangueras. La sangre circula por el cuerpo humano a través de vasos de distinta estructura: las arterias y las venas. Las arterias parten del corazón y llevan la sangre hacia la periferia del cuerpo, mientras que las venas son los vasos que sirven para devolver la sangre de la periferia al corazón. Por su parte, los cables y mangueras conducen las diferentes fuentes de energía en el robot. Puede incluirse también las estrellas, cadenas, bandas y poleas que conducen la energía mecánica. Tabla de relación

Humanos Cerebro Músculos Nervios y venas Corazón (Sangre) Esqueleto Sentidos

Robots Controlador Actuadores o Motores Conexiones Fuente y energía Estructura Sensores

*Nota: La diversidad de formas y materiales que pueden tener cada uno de los elementos mencionados es muy variada. Parte importante para definir cual usar, tiene que ver con la aplicación que tendrá el robot y los costos de cada uno.

18


2.2 Funcionamiento El funcionamiento del cuerpo humano, como lo hemos ya mencionado, es realmente complejo y maravilloso. Sin embargo hablaremos de aspectos generales que nos ayudarán a entender como funcionan, aun con grandes limitaciones, los robots. De manera general podemos decir que nuestro funcionamiento se resume en: percepción del entorno y de uno mismo, interpretación de lo percibido, determinación de acciones y realización de acciones. En lo que se parecen a nosotros funcionalmente Tanto nuestro cerebro y como el del robo, reciben o recolectan, toda las señales que generan los sentidos o sensores. Ambos procesan estas señales e interpretan lo que significan. Posteriormente, los dos determinan que hacer en base a la información y mandan señales de acciones a realizar. Así como las fibras nerviosas, los cables que conectan a los sensores del robot, son los medios por los cuales se conducen las señales, que en los dos casos, son señales eléctricas. Los músculos y los actuadores, mediante el esqueleto y la estructura mecánica, generan movimiento en nosotros y en el robot respectivamente. Ambos, el esqueleto y la estructura mecánica, son los encargados de proporcionar rigidez al cuerpo, estabilidad y protección. En lo que somos diferentes funcionalmente Aunque hemos dicho que nuestro cerebro, al igual que el del robot, recolecta y recibe información, nuestro cerebro tiene la gran ventaja de procesar 100,000,00 de señales por segundo, y de procesarlas en diferentes partes de él. Inclusive puede determinar si algunas señal se procesan en una parte distinta a la usual, con el fin de liberar el área y aprovecharla en situaciones de riesgo, para lograr sobrevivir. De la misma manera, las ventajas que tiene nuestro sistema nervioso son muchas: la velocidad con la que viajan las señales, la cantidad de fibras nerviosas, un sistema de alerta de daño o peligro, como lo es el dolor. Nuestros sentidos como la vista y el gusto, son tan complejos, que aun hoy la visión artificial en un robot es torpe y ni hablar de un sensor de gusto.

19


En cuanto a los músculos, la regulación de la fuerza, la velocidad con que está regulación ocurre y el hecho de tener, para todos nuestros músculos, la misma fuente de energía, dotan a nuestro sistema motriz de una gran ventaja. En el esqueleto, sucede lo mismo. Nuestro esqueleto tiene una gran capacidad de movimiento y variedad de movimientos. La relación de rigidez y flexibilidad es única y tiene la capacidad de adaptarse y modificarse, haciendo que las partes de los huesos, más expuestas a tensión, torsión y compresión, sean fortalecidas engrosando el área del hueso. Especial consideración debe de recibir nuestras manos, que son para nosotras, la herramienta más versátil con la que contamos. Mientas en un robot, estos elementos terminales, como las pinzas, son muy torpes. En resumen, estás diferencias aquí expuestas, en conjunto con la compleja relación que existe entre nuestros sistemas, hacen de nosotros una maquina inigualable. Capaces de realizar actividades tan extraordinarias como caminar, subir escaleras, crear arte, tomar un vaso, etc. 2.3 Diferencias insuperables: Inteligencia, voluntad y sentimientos.

Hasta ahora, hemos hablado de aquello en lo que los robots son o no parecidos a nosotros. Sin embargo, nos hemos limitado a solo partes tangibles, materiales, físicas. Donde las diferencias son claras. Pero donde radica la gran diferencia, es en aquello que no podemos ni tocar ni medir, solo percibir. Aquello a lo Fiódor Dostoyevski llamaría “La parte superior del hombre”. La inteligencia La inteligencia, es quizás el concepto, que más interés despierta en los ingenieros desarrolladores de robots. Esto con la finalidad de crear inteligencia artificial para los robots. El concepto de inteligencia, es un término inventado para clasificar y coordinar un gran número de hechos. Surge del observar a quienes intentan realizan tareas, resuelven problemas o aprenden cosas difíciles, que exigen esfuerzo, y dan la impresión de no encontrar dificultad alguna, saliendo adelante de manera destacada. En un principio la robótica hizo uso del la idea general y común de inteligencia, que se resume a un ámbito meramente intelectual. Por ello, fue solo cuestión de tiempo para que se lograse diseñar una inteligencia artificial, lo suficientemente potente, como para jugar ajedrez y ganarle al mejor ajedrecista del mundo Garri Kaspárov, o ganar en el concurso Jeopardy con record perfecto.

20


Sin embargo, día a día, los avances en materia de inteligencia artificial nos muestran que nuestra inteligencia no se limita a un ámbito meramente intelectual, sino que poseemos otros tipos de inteligencia. Los desarrolladores han encontrado en la teoría de “Inteligencias Múltiples” la explicación de sus limitaciones actuales. Por ello han comenzado a buscar desarrollar algunas de las inteligencias descritas por esta teoría, siendo la inteligencia corporal cinestésica, la que más interés despierta. Puesto que la relacionada con el movimiento, que es donde la robótica aun no logra hacer que algún robot camine como nosotros. Pero así como esa, los avances muestran otras limitaciones claras como la del trabajo en equipo. Los robots futbolistas, por ejemplo, aun cuando cuentan con jugas cargadas en su sistema, muestran una enorme torpeza. Ahora bien, ¿Dónde radica la inteligencia? Es aun algo que no tiene explicación, no se puede hablar de un sitio definido. Es por esto, que algunos, ante esta situación, consideran que en la medida en que la composición química de los robots sean similar a la nuestra, en la misma medida la inteligencia del robot será similar a la nuestra. Dicho de otra manera, consideran que nuestra inteligencia es resultado de nuestra composición. Sin embargo, existen muchos otros científicos, que ante esta realidad plantean que los robots están destinado a no ser nunca como nosotros, a no ser inteligentes. Ya que plantean el hecho de el hombre no es solo materia, sino también espíritu. Y que este, quien dota al hombre de la inteligencia que lo hace capaz de realizar las maravillas. La voluntad En la voluntad, el panorama no es distinto. Ya que en general la voluntad se define como “el motor de acción”, el que lleva al ser humano a realizar algo con intensión. Mientras que en un robot, siempre se encuentra obligado a realizar lo que se le ha programado. Esto quiere decir, que en el robot no existe el “querer” hacer las cosas, sino que se limita ha hacer las cosas, una especie de: si puede, lo hace. Ahora bien ¿donde se encuentra la voluntad del hombre? ¿Qué órgano lo origina?. Si estás preguntas no tienen, como lo es y será, como respuesta un lugar material. Los robots están condenados o no lograrlo imitar. Los sentimientos Si no podemos ver y cuantificar los sentimientos, sino solo sus manifestaciones, menos somos capaces de determinar donde se originan o que órgano los origina. Siendo así, que la robótica, solo puede o podrá, simular esto en un robot, pero jamás dotar de ello a un robot.

21


2.4 Actividades

ACT#1

“ELEMENTOS DE UN ROBOT” Seis han sido los elementos que se han mencionado como componentes de un robot. Sus formas y materiales son muy diversos y dependen de la aplicación que tendrá el robot. Sin embargo, en general ¿Cómo son? INSTRUCCIONES: Busca, imprime, recorta y pega dos imágenes que sirvan de ejemplo sobre cada uno de los elementos mencionados y expuestos en la tabla de relación. Adecúate al espacio de trabajo

22


23


ACT#2

“ELEMENTOS TERMINALES”

En los robots estos elementos tienen muchas veces la función de ser una mano para el robot, otras veces solo son herramientas útiles para el trabajo a realizar. Pero ¿qué tan cercanos están los robots a tener una mano como la nuestra? INSTRUCCIONES: En el primer recuadro investiga, imprime, pega y anota que aplicación tienen, 3 tipos diferentes de elementos terminales. A demás, en el segundo recuadro, busca, imprime y pega la mano robótica más avanza, y anota quien la está desarrollando. Adecúate a los espacios asignados.

24


25


ACT#3

“I.A.”

Ya hemos dicho que la inteligencia artificial tiene dos posturas, las cuales las hemos abordado muy tenuemente. INSTRUCCIONES: Investiga en internet sobre las dos posturas de la inteligencia artificial. Y anota en el recuadro una explicación, que tu comprendas, sobre cada una de ellas.

26


3. ROBOT NAO

27


3.1 ¿Cómo es? ¿Qué puede hacer?

El robot nao, es hoy en día el robot humanoide educativo y de investigación más avanzado en el mundo. Es utilizado con fines terapéuticos en niños con autismo y de manera interactiva en niños de preescolar. A continuación se presentan algunas especificaciones técnicas del robot, en otras palabras, que elementos tiene el robot. Especificaciones técnicas:

Procesador ATOM Z530

Memoria cache de 512 KB

Velocidad de Reloj 533 mHz

RAM de 1 GB

Memoria Flash de 2 GB

Micro SDHC de 8 GB

2 bocinas laterales

Sensores:

4 micrófonos en la cabeza.

2 cámaras frontales.

2 infrarrojos (IR), en la parte frontal.

Sonar con 2 emisores y 2 receptores frontales. 12 de contacto: 1 en ambos pies, 3 en ambas manos, uno frontal, 3 en la cabeza. 2 girómetros 1 acelerómetro 36 Encoders 4 de fuerza resistivo en cada pie

Con todo esto, nuestro robot puede “ver” gracias a las cámaras, “escucha” gracias a los micrófonos y “habla” gracias a las bocinas. A demás puede reconocer si está

28


inclinado frontal o lateralmente mediante el girómetro, saber si hay suelo para continuar caminando a través de los sensores de fuerza resistivo, o si ha sido tocado o está tocando algo gracias a los sensores de contacto. Puede detectar objetos a distancia con el sonar y conocer su velocidad al caminar. Estas son solo algunas, a continuación te presentamos algunas derivadas de la que acabamos de mencionar. Capacidades: » Reconocimiento de Objetos NAO tiene la capacidad de reconocer una gran cantidad de objetos. Una vez guardado gracias al software Choregraphe, si lo ve de nuevo, NAO es capaz de reconocerlo y decir lo que es. » Detección y reconocimiento de cara es una de las características de interacción más conocidas. NAO es capaz de detectar y aprender una cara con el fin de reconocerla la próxima vez. REFLEJOS DE MOVIMIENTO NATURAL. » Texto para hablar NAO es capaz de hablar hasta 9 idiomas. Con una “say box" en el Choregraphe, puedes introducir texto y modificar los parámetros de voz como quieras. NAO dirá el texto correctamente, con la puntuacion y la entonación correcta. » Reconocimiento automático de voz El reconocimiento de voz es el corazón de la interacción intuitiva humano-­‐robot. Es por eso que hemos escogido el mejor socio tecnológico, Nuance, para desarrollar un estable y poderoso reconocimiento de voz. NAO es ahora capaz de escucharte desde 2 metros de distancias, reconocer una frase completa o solo algunas palabras en la frase. Resultado: más conversaciones fluidas y naturales. » Detección y localización de sonidos Nuestro medio ambiente esta hecho de sonidos que NAO, como nosotros, es capas de detectar y localizar en el espacio gracias a micrófonos alrededor de su cabeza.

29


3.2 El Software

Hemos dicho ya, que el controlador en base a la programación que contiene, es el encargado de simular la inteligencia en el robot. Pero ¿Qué es un programa? ¿Qué es programar? ¿Cómo se programa? La programación de un robot consisten en cargar, en el controlador del robot, una serie de “instrucciones” llamadas programa, con las cuales el robot es capaz de, en conjunto con todos sus sistemas, realizar una tarea o resolver un problema. Las instrucciones, tienen que ser escritas en algún lenguaje de programación, ya sea de alto o bajo nivel. Sin embargo, para determinar que lenguaje usar, es necesario conocer las especificaciones del robot. En el NAO, La programación se realiza a través de un software llamado Choregraphe. El cual es un software que permite varios tipos de programación; desde una muy sencilla(iconográfica) mediante el uso de las box behavior, hasta una más compleja, manipulando las líneas de código de las box behavior y con ello obteniendo nuevos comportamientos, o inclusive, creando nuevas box behavior. Los leguajes de programación que soporta para modificar las cajas de comportamiento son: C++, Python, .NET, Java y MatLab. Cabe mencionar además, la capacidad del software para crear nuevos movimientos y secuencias de movimientos(coreografías) en el robot, que pueden ser reutilizados. Esto, a través de una interfaz grafica y de principios similares, a los utilizados en los software de animación; posición por posición y frame by frame (cuadro por cuadro). Ahora bien, es necesario un medio por el cual los programas creados, en la computadora, pasen de está, al controlador del robot. En el NAO, los programas creados en el Choregraphe, son programados en él, mediante una conexión computadora-­‐robot través de dos vías, Ethernet o WI-­‐FI (IEE 802.11 b/g). A demás de brindar la opción de realizarlo mediante dispositivo USB.

30


Choregraphe La interfaz grafica del programa resulta muy amigable e intuitiva, ya que los nombres que tienen cada sección o los elementos de programación, junto con los dibujos, son increíblemente descriptibles. Por otra parte se podría decir que la interfaz se encuentra dividida en tres bloques o secciones que son: elementos de programación, área de trabajo y monitoreo. Dicha división depende mucho de las visualizaciones habilitadas que se tengan o tengas, en el programa, y/o del acomodo dado. A continuación, un ejemplo de la visualización más común del programa donde se encuentran habilitadas las visualizaciones “Box libreries”, “Behavior manager”, “Video monitor” y “Robot view” (acomodo de arriba-­‐abajo y de izquierda-­‐derecha):

En la barra superior, como casi en cualquier programa, se encuentra una barra de herramientas con las acciones más usuales: abrir, guardar, nuevo, atrás, adelante. Y algunas, comunes, propias del programa: conectar, iniciar, detener, entre otras.

31


Cajas de comportamiento (Box behavior) Las cajas de comportamiento, o también llamadas box behavior, son los elementos de programación con los que cuenta el Choregraphe. Estas cajas de comportamiento, no son otra cosa, más que un conjunto de líneas de código de programación de alto nivel, condensadas o compiladas en un ícono, con el fin de facilitar la programación del robot. Estas cajas pueden ser de diferentes tipos de acciones en el robot: movimiento, sensado, reconocimiento visual, auditivo, control, comunicación, etc. Dichas cajas se encuentran o se localizan en las librerías, donde las carpetas contenedoras tienen nombres que hace referencia al tipo de cajas que contienen. En algunos casos estas carpetas contenedoras, pueden tener dentro de ellas una o más carpetas contenedoras. Esto con el fin de tener una clasificación y organización más clara. Por ejemplo la carpeta que contiene las cajas de comportamiento referentes al audio, dentro contiene otras dos que dividen a las cajas en las que generan o emiten sonido, y entre las que detectan el sonido. Para hace uso de cualquiera de las cajas, basta con ingresar a la carpeta dando doble clic con el botón derecho y seleccionar el nombre de la caja que deseamos, y arrastrar la selección hecha hasta el área de trabajo. Ejemplo:

32


Una vez arrastrada la selección al área de trabajo, basta con soltar para que aparezca la caja seleccionada.

Además, si prestamos atención, podremos ver que debajo de la librería de las cajas nos aparece un pequeño recuadro donde se nos da una pequeña explicación sobre la caja; que hace y como funciona. Si deseamos saber un poco más, basta con colocar el cursor sobre la caja de comportamiento, dejarlo un instante e inmediatamente después aparece un recuadro amarillo con una explicación más amplia sobre como utilizarla.

33


En la mayoría de las caja de comportamiento, vamos a encontrar que parte de su estructura gráfica la componen unos pequeños cuadros en ambos costados. Estos cuadros reciben el nombre de entradas y salidas (entradas los cuadros del lado izquierdo y salidas los del lado derecho). Existen muchas relaciones de cantidad entre entradas y salidas; 1-­‐0, 1-­‐3, 2-­‐1, 2-­‐2, 2-­‐3 etc, respectivamente. A continuación unos ejemplos:

Sin embargo, existe una caja que no tiene ni entradas ni salidas. Esta caja tiene la única función de proporcionar un espacio en el cual se puede agregar comentarios acerca del programa, dentro del área de trabajo.

El número de entradas y salidas que tiene cada caja de comportamiento, excepto la última mencionada, puede ser cambiado. Esto quiere decir que podemos aumentarlas o disminuirlas, inclusive podemos editarlas. Sin embargo, aunque el proceso para hacerlo es muy sencillo (basta con dar doble clic sobre ellas), hacer que la entra o salida nueva, funcionen correctamente o que la modificación sea, a la hora de ejecutarse el programa, aceptable, no es tan sencillo, y en algunos casos resulta imposible dejar la modificación. 34


Las entradas tienen la función de ser las que reciben la señal que necesita la caja de comportamiento, para ejecutar la acción. Si no recibe tal señal, la caja no realiza la acción que le es propia; sentarse, hablar, reconocer objetos, comparar, etc. Las salidas, por su parte, son las que envían las señales del resultado obtenido, por el robot, de la acción indicada por la caja. Señales que posteriormente, otra u otras cajas necesitarán recibir. Cada entrada y salida tienen dos parámetros llamados “Type” y “Nature”. El primer parámetro, type, define el tipo de señal que puede ser recibido o generado por la entrada o salida respectivamente. Y nature define la reacción que tendrá la caja de comportamiento. Ahora bien, existen cuatro tipos de señales: dynamic, “bang”, number y string. Que son iguales para las entradas y salidas. Cuatro clases de nature para entradas: onEvent, onStart, onStop y ALMemory input. Y solo dos para salidas: onStopped y ponctual. Los nombres que reciben las señales están definidos por su contenido. Una señal de tipo number es aquella que contiene números, valores. Una de tipo string contiene cadenas de caracteres (frase). De tipo bang no contiene información, sino solo un pulso, y una de tipo dynamic es aquella que puede contener cualquiera de los otros tres tipos. Las señales, viajan a través de un conductor, que en apariencia, tiene la forma de ser un cable que conecta las salidas con las entradas.

35


El conector se obtiene dando clic en la salida a conectar y arrastrar el cursor hasta la entrada deseada.

Ahora bien, a una entrada dynamic o bang, se le puede conectar cualquier tipo de salida. Sin embargo, solo la salida dynamic puede ser conectada a cualquier tipo de entrada. Esto quiere decir que las entradas de tipo number y string, solo pueden ser conectadas con salidas de su mismo tipo, o de tipo dynamic. El número de conectores que pueden obtener en un salida es amplio (al menos más de 10). De la misma manera, es el número de conectores que se pueden tener en una entrada.

36


3.3 Programación

La programación del robot es muy sencilla y amigable. Ya que, como pudimos ver en el tema anterior, los elementos de programación son sencillas cajas de comportamiento y conectores. Básicamente, la programación consisten en la buena selección de las cajas de comportamiento, el orden de conexión ente ellas y utilizar las entradas y salidas correctas. Así que generar un buen programa se limita a entender perfectamente el problema a resolver con el robot y una adecuada lógica en la solución del problema. A continuación un par de ejemplos: Programa: Robot camina por un momento.

Este programa ejemplo, es muy sencillo. Tanto que podríamos caer en el erro de pensar que solo se necesita colocar la caja “Walk to” y con ello terminar. Sin embargo, al igual que nosotros, para caminar, el robot necesita estar de pie. Y como el programa debe de funcionar siempre que sea ejecutado, hemos de asegurarnos que el robot antes de caminar está siempre de pie. *Nota: La razón de las cajas “Sit Down” al inicio y al final, de este y de cualquier programa, la puede encontrar en el apartado “Partes clave de todo programa”.

37


Programa: Robot pregunta que hacer. Robot puede pararse, sentarse y decir si es alta o baja su temperatura.

Este ejemplo nos sirve para ver que existen diferentes colores en los conectores y el correcto uso de las entradas y salidas. Cada color significa un tipo de señal, el negro para señales “bang”, o de disparo. El gris para señales dynamic, el amarillo para señales number y el azul para string. Por lo cual, necesitamos prestar atención y ver si podemos o no conectar una entrada con una salida. Ahora, en ambos ejemplos, podemos observar que la primer caja está conectada a una entrada que no forma parte de ninguna caja, y que la ultima o ultimas cajas, están conectadas a una salida que no es parte de ninguna salida. Ambas, la entrada y la salida, son el inicio y el fin de todo programa. Y es está entrada, la que da el pulso inicial a todo el programa. Si ninguna entrada de alguna caja está conectada a la entrada inicio del programa, jamás comienza el programa. Y si no se conecta la ultima caja a la salida que es el final del programa, el programa se mantendrá ejecutando en el robot. Algunas veces, por necesidad de control, puede no ser conectada la entrada inicio del programa, con ninguna caja. Sino generar el pulso inicial dando doble clic en la entrada de la caja de comportamiento. 38


Los tipos de cajas de comportamiento y sus entradas y salidas Algunos de los tipos de cajas que más utilizaremos en el curso serán los siguientes: audio, flow control, motion, sensing, trackers y vision. En las cajas de las carpetas de audio, tenemos dos tipos de cajas: las que indican al robot alguna acción a realizar (decir algún texto, preguntar, localizar algún sonido, etc.) y las que modifican algún parámetro del robot (volumen, idioma). En las primeras, las cajas cuentan con dos entradas, una para iniciar y otra para finalizar el comportamiento. Las segundas cuentan con una sola entrada, que automáticamente realiza la variación del parámetro. Las salidas en todas ellas son muy variadas en cantidad y en tipo. Algunas solo indican que se realizo la variación del parámetro y otras mandan una cadena de caracteres, valores, indicación de fin, etc. En el caso de las cajas contenidas en la carpeta flow control, no podemos hablar de una generalidad. En ellas encontramos de una a dos entradas. Las que cuentan con una entrada, están para recibir en ella un valor, una cadena de caracteres y/o una señal de disparo. Casi todas las que cuentan con dos, son para iniciar o para la acción. Sus salidas, al igual que en el caso de las contenidas en la carpeta de audio, son muy variadas. Las entradas en las cajas de la carpeta de motion, que en general son dos para aquellas que generan movimiento, tienen la finalidad de iniciar o detener dicho movimiento. Las salidas por su parte, que para las mismas cajas también son dos, tienen la finalidad de indicar si se logro realizar dicho movimiento (pararse, sentarse, caminar, etc.) o si fue detenido, y si no fue posible realizarlo después de un número de intentos establecido. Aquellas cajas que solo son para modificar la rigidez o evitar la colisión, solo cuentan con una entrada y una salida; la entrada para iniciar y la salida para indicar que ya se realiza. En sensing, la mayoría de las cajas tienen dos entradas, que al igual, sirven para iniciar o detener la acción indicada. Sus salidas en cambio, una es para indicar si se ha detenido la acción, las otras, que en cantidad pueden variar, son para indicar valores, condiciones o que sensor a sido estimulado. Las cajas de Tracker, cuentan con entradas y salidas de inicio y fin de la acción o comportamiento, y salidas para indicar que se ha detenido. Y otras, para indicar que está sucediendo durante la acción o comportamiento. Y la carpeta de visión cuenta con cajas que tienen dos o una entradas. Algunas son la pareja de inicio y fin del comportamiento y otras solo activan la acción. Las salidas indican que se ha realizado o se realiza la acción y las otras el fin y el estado de la acción.

39


Partes claves en la programación del NAO El siguiente listado son aspectos importantes a recordar siempre que programes al NAO: 1.-­‐ Posición segura: posición estable que tendrá el robot, al inicio y al final, de cada programa. En nuestro caso la posición será sentado. 2.-­‐ Habilitación de servos: Habilita los servomotores antes, y solo antes, de cargar el programa en el controlador. 3.-­‐ Deshabilitación de servos: Al concluir un programa en el robot, siempre deshabilita los servos del NAO. 4.-­‐ Conexión con Computadora-­‐NAO: antes de comenzar a programar, verifica que la conexión existe. La mejor comprobación es viendo que el robot virtual y el real tienen los mismos colores y la misma posición. 5.-­‐ Si no responde el robot: antes de modificar cualquier parte de tu programa, o de reiniciar el robot, comprueba los puntos 2 y 4. *Nota: Los puntos 2 y 3 tienen la finalidad de conservar la batería del robot.

40


3.4 Actividades

ACT#1

“IDENTIFICANDO LAS ENTRADAS Y SALIDAS”

Hemos dicho que parte de una buena programación es usar correctamente las entradas y las salidas. Por eso, es necesario identificar que color y forma tienen las entradas y salidas dependiendo del tipo de señal INSTRUCCIONES: Realiza un dibujo de una entrada o una salida por cada tipo de señal diferente. Identifícalas.

41


ACT#2

“ENLASA”

INSTRUCCIONES: 1. ENLASA las cajas de comportamiento de la imgaen de manera que el programa realice lo dicho en la descripción. Descripción: 1. Robot se sienta. 2. Se para, y camina. 3. Se sienta nuevamente y fin del programa.

42


ACT#3

“COMPLETA Y ENLASA”

INSTRUCCIONES: Lee descripción del programa. COMPLETA la imagen con las cajas de comportamiento faltantes y ENLASALAS de manera que el programa realice lo dicho en la descripción. Descripción: 1. Robot se sienta. 2. Se para y camina. 3. Dice hola y Saludos con la mano (todo al mismo tiempo) 4. Se sienta y fin del programa.

43


ACT#4

“Identificando errores”

Instrucciones: 1. Lee la descripción del programa presente. 2. Señala con un circulo de diferente color los erros presentes en el diagrama. 3. Enuméralos y posteriormente explica por qué consideras que es un error. 4. Haz en el recuadro el dibujo del diagrama correcto. Descripción del programa: Robot permanece sentado hasta que es tocado el sensor frontal de la cabeza. Al ser tocado se para y camina.

Lista de errores:

44


45


ACT#5

“Identificando errores”

Instrucciones: 1. Lee la descripción del programa presente. 2. Señala con un circulo de diferente color los erros presentes en el diagrama. 3. Enuméralos y posteriormente explica por qué consideras que es un error. 4. Haz en tu cuaderno el dibujo del diagrama correcto. Descripción: Robot permanece sentado y activa sensores. Si es tocado el sensor frontal de la cabeza se para y sigue un objeto o a una persona. Si se toca cualquier sensor de la mano izquierda deja de seguir y se termina el programa.

Lista de errores:

46


47


4. ROBOT NXT

48


El robot “NXT”, que será el nombre con el cual nos referiremos al LEGO MINDSTORMES Education NXT 2.0, es el robot educativo con mayor presencia en el mundo. Su versatilidad y gran capacidad lo han colocado rápidamente en el salón de la fama de la robótica. El NXT, es un equipo que brinda la posibilidad de construir diferentes robots. Su diseño está basado en el diseño de piezas de LEGO, por lo cual podemos construir un brazo robótico, un carro, un jugador de pelota, etc. Cuenta con la capacidad de trabajar hasta con cuatro sensores y tres servomotores, teniendo así una buena percepción del entorno y una gran movilidad y buena manipulación de objetos. Además puede reproducir sonidos y establecer comunicación vía Bluetooth con la computadora u ordenador. 4.1 Características de los elementos LEGO MINDSTORMES Education contiene un avanzado ladrillo NXT de 32 bits controlado por ordenador, servomotores interactivos, sensores acústico, ultrasónico, fotosensible y táctil, ladrillos de comunicación Bluetooth, múltiples funciones de descarga y registro de datos. El Software LEGO MINDSTORMS Education NXT basado en íconos está construido sobre el software de LabIEWTM de National Instruments, un estándar de la industria con aplicaciones en muchos campos de la ingeniería y la investigación.

49


El ladrillo NXT es el cerebro del robot. En la parte superior posee tres puertos de salida con etiquetas A, B y C para motores o lámparas y un puerto USB para descargar de la computadora los programas al NXT o cargar datos del NXT a la computadora. En la parte inferior cuenta con cuatro puertos de entrada con etiquetas 1, 2, 3 y 4 para conectar sensores. Los botones en la parte frontal son: Naranja para Encender/Intro, Flechas gris claro para Navegación izquierda y derecha, Gris oscuro para borrar/Regresar. En el costado derecho cuenta con un altavoz para reproducir sonidos que se incluyan en los programas.

En la pantalla vamos encontrar información sobre el nivel de la batería, nombre asignado al NXT, conexión. Así como un menú donde se pude ver los archivos (programas) en el robot, calibrar sensores, obtención de datos, entre otros.

50


El sensor táctil es un interruptor que puede presionarse o liberarse. Suele ser utilizado para cambiar el comportamiento del robot cuando a detectado que a golpeado, chocado o tocado algo o a alguien.

El sensor acústico detecta el nivel de decibeles: la suavidad o intensidad de un sonido. El sensor detecta dB (todos los sonidos existentes) y dBA (sonidos que el oído humano es capaz de oír). Su aplicación se recomienda a 1m de la fuente del sonido. Útil para cambiar el comportamiento del robot en base a variaciones acústicas.

Las lecturas del sensor acústico se muestran en porcentaje [%] de sonido que el sensor es capaz de leer. A modo de comparación, entre 4 y 5 % es similar a una sala en silencio y entre 5 y 10 % es cerca del nivel de alguien hablando a cierta distancia. De 10 a 30 % es una conversación normal o música que se reproduce a un nivel normal y entre 30 y 100 % representa un intervalo desde personas gritando hasta música reproduciéndose a volúmenes altos.

51


El Sensor fotosensible le permite al robot distinguir entre luminosidad y oscuridad, para obtener la lectura de la intensidad de la luminosidad en una habitación y para medir la intensidad de luminosidad sobre superficies de colores.

El sensor ultrasónico le permite al robot ver y reconocer objetos, evitar obstáculos, medir distancias y detectar movimiento.

El sensor utiliza el mismo principio científico que los murciélagos: mide la distancia calculando el tiempo que demora una onda de sonido en golpear un objeto y volver, al igual que un eco. Es capaz de medir distancias de 0 a 2,5 metros con una precisión de +/-­‐ 3 cm. La lectura la puede dar en cm y in.

52


Los tres servomotores interactivos le proporcionan al robot la capacidad de moverse. El bloque Desplazar [Move] automáticamente alinea las velocidades para que el robot se mueva suavemente.

Todos los servomotores interactivos disponen de un sensor de rotación integrado. La retroacción le permite al NXT controlar los movimientos de forma muy precisa. El sensor de rotación integrado mide las rotaciones del motor en grados (precisión de +/-­‐ un grado) o en rotaciones completas.

La configuración de potencia de los bloques Desplazar y Motor en el software le permiten diferentes velocidades para los motores y mover el robot con precisión.

53


54


4.2 Software

Vista general :

La interfaz de usuario del software presenta algunos elementos y secciones. Las más usadas son cinco: área de trabajo, paleta de programación, panel de configuración, ventana NXT y la ventana de ayuda contextual (más la usual barra de herramientas que presentan por lo general todo software).

55


Las secciones y los elementos son las siguientes: 1. Robot Educador 2. Mi portal 3. Barra de herramientas 4. Zona de trabajo 5. Ventana Ayuda contextual 6. Mapa de Zona de trabajo 7. Paleta de programación 8. Panel de configuración 9. Controlador 10. Ventana de Trabajo

56


4.3 Programación

Bloques de programación La programación del NXT se realiza mediante bloques. Los bloques son íconos, que representan de manera gráfica, un conjunto de líneas de código escritas en algún lenguaje de alto nivel. Estos bloques son instrucciones que indican al robot que hacer; mover motores, mostrar algo en la pantalla, usar un sensor. Los bloques están agrupados según la instrucción que indican al robot. Los grupos son: de acción, de sensores, de flujo, de datos y avanzados. Estos grupos, representados por un ícono, se localizan en la paleta de programación, en la pestaña llamada “Paleta completa”, como a continuación se muestran: Acción:

Sensores:

Flujo:

Datos:

57


Avanzados:

(La visualización mostrada se logra colocando el cursor sobre el ícono del grupo)

Para hacer uso de cualquiera de los bloques es necesario dar clic al ícono, arrastrarlo hasta el área de trabajo y colocarlo en la viga de secuencia como se muestra en el ejemplo:

Es importante mencionar que el primer bloque del programa debe de ser colocado en el recuadro de Inicio presente en el área de trabajo.

Cada bloque de programación cuenta con un panel de configuración en el que puede ajustarse la configuración del bloque seleccionado. Cuando se selecciona un 58


bloque que está en la zona de trabajo, su panel de configuración se hace visible y activo en la parte inferior de la pantalla.

Al cambiar los parámetros en cada panel de configuración, puede cambiar la forma en que se comportará un bloque en particular. Por ejemplo, para hacer que el robot se desplace más rápido, puedes cambiar la propiedad de Potencia [Power] en el panel de configuración del bloque Desplazar. Ejemplo: Programa: Robot avanza, se detiene, gira y retrocede.

El programa ha sido creado con bloques de Desplazar. Para detener y retroceder al robot, se modifica la propiedad de Dirección en los bloques dos y cuatro:

(Las flechas indican la modificación)

59


Para lograr que el robot gire, se modifica la propiedad Puerto, seleccionando solo uno de los dos puertos del bloque tres, activando uno de los dos motores (el que está conectado en la salida “C”):

(Las letras indican los puertos seleccionados)

Repetición de acciones En algunas ocasiones necesitamos que una sección del programa, o todo el programa, se repita. Para lograr que el robot repita está secuencia, o cualquier otra, “n” cantidad de veces o indefinidamente, se usa el bloque Bucle:

Ejemplo:

60


Los bloques que realizan la secuencia que se desea repetir, tienen que ser colocados dentro del bloque Bucle. Donde la propiedad Control, que muestra el panel de configuración del bloque, es la que determina cuantas veces, durante cuanto tiempo, indefinidamente o mientras algún sensor se activa, sea repetida la secuencia. Selección de acciones En otras ocasiones se puede buscar que el NXT realice una selección entre dos secuencias de acciones, dependiendo de su entorno. Para lograrlo se utiliza el bloque Bifurcación que divide en dos la viga de secuencia. El bloque, permite seleccionar mediante su panel de configuración, el sensor que detectará el cambio en el entorno; luz, color, ruido, contacto, distancia:

Al seleccionar el sensor, el panel de control y ícono del bloque, cambian según el sensor.

61


Ejemplo: Programa: Robot avanza, si robot detecta algo cercano delante de él, se detiene y retrocede. Sino, continua avanzando.

En este caso el sensor a utilizar en el bloque es el sensor ultrasónico. El bloque, modifica su barra lateral izquierda con íconos (la flor y la montaña) colocados a un costado de las dos nuevas vigas de secuencia. Ambos indican las dos condiciones posibles; cercanía o lejanía. En la viga superior se coloca lo que el robot debe hacer cuando detecta algo cercano a el y en la viga inferior lo que el robot debe hacer cuando no ha nada cercano a el. Anidamiento En programación se conoce con el nombre de anidamiento a la acción de colocar un una condición o un bucle, dentro de otra condición o bucle. En nuestro caso el anidamiento se dará cuando coloquemos un bloque de Bifurcación dentro de otro o cuando coloquemos un bloque Bucle dentro de otro.

62


El controlador Una vez creado un programa haciendo uso de los bloques y conectado el NXT a la computadora a través del cable USB o vía Bluetooth, es el controlador, el encargado de establecer la comunicación desde la computadora hacia el ladrillo del NXT.

63


4.4 Actividades ACT#1 “INTERFAZ DE USUARIO” Saber para que se sirve cada parte de la interfaz de usuario, nos ayudar a realizar una buena programación. Ya que podemos obtener información sobre cada bloque e incluso ejemplos de uso. INSTRUCCIONES: En base al pdf que te ha proporcionado tu maestro, enlista y explica cada una de las secciones de la interfaz de usuario antes mencionadas.

64


65


ACT#2

“LOS BLOQUES DE PROGRAMACIÓN” Los bloques de programación están agrupados en cinco bloques, dependiendo de la acción que realizan. Identificar que tipo de bloque está en cada uno, nos ayudara a encontrar el bloque más adecuado a nuestro programa. INSTRUCCIONES: Selecciona tres bloques de cada uno de los grupos. Realiza su dibujo y escribe para que sirve.

66


67


5. APÉNDICE 5.1 Diagrama de Flujo

Un Diagrama de Flujo representa la esquematización gráfica de un algoritmo, el cual muestra gráficamente los pasos o procesos a seguir para alcanzar la solución de un problema. Su correcta construcción es sumamente importante porque, a partir del mismo se escribe un programa en algún Lenguaje de Programación. Si el Diagrama de Flujo está completo y correcto el paso del mismo a un Lenguaje de Programación es relativamente simple y directo. Es importante resaltar que el Diagrama de Flujo muestra lugares de origen y destino de los datos, transformaciones a las que son sometidos los datos, lugares en los que se almacenan los datos dentro del sistema, los canales por donde circulan los datos. Además de esto podemos decir que este es una representación reticular de un sistema, el cual lo contempla en términos de sus componentes indicando el enlace entre los mismos. Un diagrama de flujo consta de un conjunto de símbolos con diferentes significados susceptibles de ser conectados entre si. En todo diagrama de flujo podemos encontrar los siguientes elementos: a) Inicio de proceso. b) Especificación de la alimentación de datos para efectuar el proceso. c) Acciones aplicables a los datos. d) Obtención de resultados. e) Fin del proceso. Para cada una de estas actividades existen símbolos específicos que denotan los elementos o acciones que se tomarán en el proceso. Nota: Éstos han sido normalizados por el Instituto Norteamericano de Normalización (ANSI).

68


Símbolos

Reglas Básicas 1. Todos los símbolos han de estar conectados. 2. A un símbolo de proceso pueden llegarle varias líneas 3. A un símbolo de decisión pueden llegarle varias líneas, pero sólo saldrán dos. 4. A un símbolo de inicio nunca le llegan líneas. 5. De un símbolo de fin no parte ninguna línea.

69


Diagrama de flujo Genérico

70


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.