Guía del Estudiante Sesión 3 - Movimiento Diferencial ¿Qué aprenderemos en esta sesión? Para entender como nuestro robot se va a desplazar por cualquier superficie, debemos aprender la manera en que lo hace, por eso, en esta sesión veremos el movimiento diferencial, realizaremos unos experimentos con el robot y además, recordaremos un tema de gran importancia visto en el módulo de electrónica, los motores. Recordando motores La tarjeta Innobot tiene muchos de los componentes vistos en las sesiones de Electrónica. Como podemos recordar, con ayuda de la electrónica podíamos variar la velocidad de un motor, además de controlar la dirección a la que se iba a mover. Para esta última tarea, utilizábamos un montaje llamado Puente H, ¿lo recuerdas? La tarjeta Innobot tiene integrado varios puente H para controlar la dirección de los motores, todo esto para que se pueda desplazar hacia donde nosotros queramos. El principio del movimiento diferencial requiere que se pueda controlar la dirección de movimiento de más de un motor. Movimiento diferencial F IG. 12.1-V EHÍCULOS CON MOVIMIENTO DIFERENCIAL . F UENTE: [4] Y [3] Para entender cómo funciona el movimiento diferencial, realizaremos la siguiente actividad: "Esta Metodología, y todas sus guías, manuales y componentes, fue desarrollada por PYGMALION (R), quien tiene los derechos de uso, distribución, comercialización y autorización a terceros. Queda prohibida la reproducción parcial o total del presente documento, por medio de cualquier proceso reprográfico, sea fónico, microfilme, mimeográfico, offset, electrónico o por fotocopia. Esta edición y sus características gráficas son propiedad de FUNDACIÓN PARQUE DEL SOFTWARE MEDELLÍN, ParqueSoft Medellín.Todos los derechos Reservados" Capítulo: Movimiento Diferencial El uso del movimiento diferencial, además de encontrarlo en los robots, se puede ver aplicado en diferentes vehículos, en donde se usan para muchas actividades. 1 Guía del Estudiante Actividad 1 El trabajo en equipo es clave en este movimiento, ya que trabajan en conjunto dos motores para llegar a una meta. 1. Vamos a escoger un compañero para realizar este trabajo. 2. Cada uno va a tener el rol de uno de los motores del robot, por lo tanto uno debe ser el motor derecho y el otro el izquierdo. 3. Se debe amarrar el brazo y el pie derecho del motor izquierdo con el brazo izquierdo del motor derecho, y no se pueden soltar. 4. Ambos deben estar alineados uno al lado del otro, y así deben permanecer toda la actividad. Cada uno solo tiene 3 estados, caminar hacia adelante, hacia atrás o detenerse. 5. El facilitador les dará una serie de instrucciones y deben realizarlas como si fueran una sola persona. Ejemplo: Si el facilitador dice, parejas hacia adelante, cada estudiante debe saber que estado debe realizar para que la pareja se mueva hacia adelante como una sola persona. Ahora, entendiendo lo sucedido en la actividad, será más fácil asociar el concepto de movimiento diferencial con la experiencia. Cuando las dos partes donde están las llantas están separadas entre sí y no tienen un eje central si no que cada una tiene un motor independiente de otro, utilizamos esta clase de movimiento para que el vehículo que esta sobre el par de motores pueda desplazarse. "Esta Metodología, y todas sus guías, manuales y componentes, fue desarrollada por PYGMALION (R), quien tiene los derechos de uso, distribución, comercialización y autorización a terceros. Queda prohibida la reproducción parcial o total del presente documento, por medio de cualquier proceso reprográfico, sea fónico, microfilme, mimeográfico, offset, electrónico o por fotocopia. Esta edición y sus características gráficas son propiedad de FUNDACIÓN PARQUE DEL SOFTWARE MEDELLÍN, ParqueSoft Medellín.Todos los derechos Reservados" Capítulo: Movimiento Diferencial Al igual que en la actividad, cada motor solo tiene 3 estados, moverse hacia adelante, moverse hacia atrás o detenerse. Cuando combinamos 2 motores, los estados son más, ya que debemos combinar los estados de cada motor independiente. Llenemos la siguiente tabla, con lo que cada pareja hizo para desplazarse cuando el facilitador lo indicaba: 2 Guía del Estudiante Motor Izquierdo Motor Derecho Estado Hacia adelante Hacia adelante Se desplaza hacia adelante Hacia adelante Hacia atrás (o detenido) Gira hacia la derecha Hacia atrás (o detenido) Hacia adelante Gira hacia la izquierda Hacia atrás Hacia atrás Se desplaza hacia atrás T ABLA. 12.1- M OVIMIENTO D IFERENCIA F UENTE : P YGMALION El movimiento diferencial es una forma de movimiento en la que se interactúa con más de un motor, lo que hace que el vehículo que lo usa pueda realizar giros sobre su propio eje. A diferencia del movimiento que usan los carros, para girar no necesita desplazamiento hacia adelante, sino simplemente cambiar el estado de movimiento de sus motores. Los motores controlarán el movimiento de nuestro robot y lo haremos por medio de la Unidad de Control (la tarjeta Innobot) dándole las ordenes que deseemos a esta para que nuestro robot tenga el movimiento que nosotros queramos, de modo que debemos hacer las conexiones adecuadas para cumplir con dicho fin. "Esta Metodología, y todas sus guías, manuales y componentes, fue desarrollada por PYGMALION (R), quien tiene los derechos de uso, distribución, comercialización y autorización a terceros. Queda prohibida la reproducción parcial o total del presente documento, por medio de cualquier proceso reprográfico, sea fónico, microfilme, mimeográfico, offset, electrónico o por fotocopia. Esta edición y sus características gráficas son propiedad de FUNDACIÓN PARQUE DEL SOFTWARE MEDELLÍN, ParqueSoft Medellín.Todos los derechos Reservados" Capítulo: Movimiento Diferencial En este ejercicio solo usaremos dos salidas para motores para establecer las conexiones, llamadas M1 y M2, notemos que hay cuatro salidas, como la Fig. 12.2 lo ilustra, cuando vayamos a insertar los cables debemos desatornillar con precaución para que los tornillos no se salgan, una vez que los cables estén dentro se debe volver a atornillar, esta práctica la debemos hacer siempre que conectemos cables en nuestra Unidad de Control. 3 Guía del Estudiante F IG. 12.2-C ONEXIÓN DE CABLES EN LA TARJETA I NNOBOT. F UENTE : P YGMALION ® F IG. 12.3-C ONEXIÓN DE CABLES EN LA TARJETA I NNOBOT. F UENTE : P YGMALION ® "Esta Metodología, y todas sus guías, manuales y componentes, fue desarrollada por PYGMALION (R), quien tiene los derechos de uso, distribución, comercialización y autorización a terceros. Queda prohibida la reproducción parcial o total del presente documento, por medio de cualquier proceso reprográfico, sea fónico, microfilme, mimeográfico, offset, electrónico o por fotocopia. Esta edición y sus características gráficas son propiedad de FUNDACIÓN PARQUE DEL SOFTWARE MEDELLÍN, ParqueSoft Medellín.Todos los derechos Reservados" Capítulo: Movimiento Diferencial Las conexiones deben ser como lo muestra la Fig. 12.3 conectando los cables negativos de los motores (cables negros) en las entradas derechas de las borneras y los cables positivos de los motores (cables rojos) en la entrada izquierda de las borneras. M1 es el motor derecho y M2 el motor izquierdo como las Fig. 12.3 lo ilustra. 4 Guía del Estudiante Recordando programación Ahora, vamos a recordar algunos conceptos aprendidos la clase pasada de programación, para aplicarlos en el movimiento diferencial de nuestro robot. Estos conceptos, además de ayudarnos en esta sesión, serán la base para el módulo de robótica. Recordemos el uso de cada una de las siguientes líneas de código y asociémosla con los conceptos aprendidos: void setup(){ . . . } void loop(){ . . . } (3) (4) Recordemos que cada línea tiene un significado: (1) En la configuración inicial o setup se realizan todas las órdenes que configuran el robot para el funcionamiento. Estas órdenes se realizan al iniciar y solo una vez. (2) Finalmente en las instrucciones que se repiten o el loop, se ponen las ordenes que van a modificar constantemente mi robot hasta que se apague. Estas instrucciones se realizan después de las del setup y se repiten infinitas veces. Moviendo el robot "Esta Metodología, y todas sus guías, manuales y componentes, fue desarrollada por PYGMALION (R), quien tiene los derechos de uso, distribución, comercialización y autorización a terceros. Queda prohibida la reproducción parcial o total del presente documento, por medio de cualquier proceso reprográfico, sea fónico, microfilme, mimeográfico, offset, electrónico o por fotocopia. Esta edición y sus características gráficas son propiedad de FUNDACIÓN PARQUE DEL SOFTWARE MEDELLÍN, ParqueSoft Medellín.Todos los derechos Reservados" Capítulo: Movimiento Diferencial Realizaremos nuestro primer programa con movimiento diferencial, pero antes de esto, debemos tener claro algunas funciones de la librería Innobot que nos van a ayudar. 5 Guía del Estudiante Encender los Motores F IG. 12.2-M OTOR ENCENDIDO F UENTE : [1] Ahora conoceremos la primera función para darle órdenes a los motores. Esta función lo que hace es encender el motor hacia adelante o hacia atrás. motorOn() Descripción Esta función me permite encender cualquiera de los motores conectados a la tarjeta hacia adelante (FORWARD) o hacia atrás (REVERSE). Se debe tener en cuenta que a la función se le debe especificar que está dirigida a una variable tipo Innobot. Sintaxis motorOn (Motor,DIRECCION); Parámetro Motor: Es el número del motor que queremos encender. Las posibilidades de este parámetro son M1, M2, M3 o M4. Debemos de tener cuidado al conectar los motores, saber cuál es la bornera donde la conectamos, en donde se muestra cual es motor a la que queda asociado desde la programación. DIRECCION: Es la dirección a la queremos que el motor especificado se mueva. Tenemos 2 posibilidades, hacia adelante (FORWARD) o hacia atrás (REVERSE). "Esta Metodología, y todas sus guías, manuales y componentes, fue desarrollada por PYGMALION (R), quien tiene los derechos de uso, distribución, comercialización y autorización a terceros. Queda prohibida la reproducción parcial o total del presente documento, por medio de cualquier proceso reprográfico, sea fónico, microfilme, mimeográfico, offset, electrónico o por fotocopia. Esta edición y sus características gráficas son propiedad de FUNDACIÓN PARQUE DEL SOFTWARE MEDELLÍN, ParqueSoft Medellín.Todos los derechos Reservados" Capítulo: Movimiento Diferencial Devuelve N/A: Esta función no devuelve ningún valor. 6 Guía del Estudiante Apagar los Motores F IG. 12.3-M OTOR APAGADO F UENTE : [1] Para apagar los motores y poder dejar que nuestro robot interrumpa su movimiento utilizamos otra función: motorOff() Descripción Esta función me permite apagar cualquiera de los motores conectados a la tarjeta. Se debe tener en cuenta que a la función se le debe especificar que está dirigida a una variable tipo Innobot. Sintaxis motorOn (Motor); Parámetro Motor: Es el número del motor que queremos apagar. Las posibilidades de este parámetro son M1, M2, M3 o M4. Debemos de tener cuidado al conectar los motores, saber cuál es la bornera donde lo conectamos, en donde se muestra cual es motor a la que queda asociado desde la programación. Devuelve N/A: Esta función no devuelve ningún valor. Actividad 1 1. Dentro del setup, encender el motor 1 hacia adelante y encender el motor 2 hacia adelante. 2. Realizar un comentario en cualquier parte del programa. 3. Verificar el programa 4. Cargarlo a la tarjeta Innobot "Esta Metodología, y todas sus guías, manuales y componentes, fue desarrollada por PYGMALION (R), quien tiene los derechos de uso, distribución, comercialización y autorización a terceros. Queda prohibida la reproducción parcial o total del presente documento, por medio de cualquier proceso reprográfico, sea fónico, microfilme, mimeográfico, offset, electrónico o por fotocopia. Esta edición y sus características gráficas son propiedad de FUNDACIÓN PARQUE DEL SOFTWARE MEDELLÍN, ParqueSoft Medellín.Todos los derechos Reservados" Capítulo: Movimiento Diferencial Vamos a abrir el Innobot IDE y a realizar las siguientes actividades: 7 Guía del Estudiante Ahora, nuestro robot está moviéndose, pero para el próximo reto, vamos a necesitar que el robot realice unas actividades por tiempos, para lo que necesitaremos una función más. Esperar F IG. 12.4. -E SPERA F UENTE : [2] Esta función es simple en sintaxis y en uso. La función lo que hace es realizar la instrucción inmediatamente anterior durante el tiempo que uno requiera. Luego continúa con las instrucciones que están después, luego de haber pasado el tiempo especificado. delay() Descripción Pausa el programa durante la cantidad de tiempo (en milisegundos) especificada por el parámetro tiempo. Sintaxis delay (Tiempo); Parámetro Tiempo: Es el tiempo que requiero que se pause el programa. El tiempo está dado en milisegundos. Recordar que 1 segundo son 1000 milisegundos. Devuelve N/A: Esta función no devuelve ningún valor. Actividad 2 1. Dentro del setup, encender el motor 1 hacia adelante y encender el motor 2 hacia adelante durante un segundo, y luego apagar los 2 motores durante un segundo. 2. Luego encender motor 1 hacia atrás y motor 2 hacia atrás durante un segundo, y finalmente, apagar de nuevo los 2 motores. 3. Verificar el programa 4. Cargarlo a la tarjeta Innobot "Esta Metodología, y todas sus guías, manuales y componentes, fue desarrollada por PYGMALION (R), quien tiene los derechos de uso, distribución, comercialización y autorización a terceros. Queda prohibida la reproducción parcial o total del presente documento, por medio de cualquier proceso reprográfico, sea fónico, microfilme, mimeográfico, offset, electrónico o por fotocopia. Esta edición y sus características gráficas son propiedad de FUNDACIÓN PARQUE DEL SOFTWARE MEDELLÍN, ParqueSoft Medellín.Todos los derechos Reservados" Capítulo: Movimiento Diferencial Vamos a abrir el Innobot IDE y a realizar las siguientes actividades en un nuevo archivo: 8 Guía del Estudiante Ahora vamos a aplicar movimiento diferencial para realizar la siguiente actividad (Se puede observar la Tabla. 12.1). Actividad 3 Vamos a abrir el Innobot IDE y a realizar las siguientes actividades en un nuevo archivo: 1. Los puntos del 1 al 4 de las actividades anteriores, se deben realizar de forma mecánica para los códigos que vamos a realizar de aquí en adelante. Recordarlos para que la programación coger agilidad programando 2. Vamos a mover nuestro robot hacia adelante durante un segundo 3. Luego girar a la derecha durante medio segundo 4. Moverse de nuevo hacia adelante durante un segundo 5. Girar hacia la izquierda durante medio segundo 6. Detener el robot durante un segundo 7. Mover hacia atrás durante un segundo 8. Detener el carro 9. Esto se debe repetir infinitas veces ¿En dónde debo poner el código? ¿ en setup o el loop? 10. Verificar el programa 11. Cargarlo a la tarjeta Innobot Actividad 4 "Esta Metodología, y todas sus guías, manuales y componentes, fue desarrollada por PYGMALION (R), quien tiene los derechos de uso, distribución, comercialización y autorización a terceros. Queda prohibida la reproducción parcial o total del presente documento, por medio de cualquier proceso reprográfico, sea fónico, microfilme, mimeográfico, offset, electrónico o por fotocopia. Esta edición y sus características gráficas son propiedad de FUNDACIÓN PARQUE DEL SOFTWARE MEDELLÍN, ParqueSoft Medellín.Todos los derechos Reservados" Capítulo: Movimiento Diferencial En esta actividad realizaremos un experimento con los ángulos básicos: 90º, 180º, 270º y 360º. Cada robot, aunque sea similar al del compañero, tiene pequeñas características diferentes, por lo que este reto debe realizarlo cada grupo a conciencia y con su propio robot. La actividad consiste en descubrir cuanto delay le debemos de colocar al robot, para que con un giro hacia la derecha, o hacia la izquierda, genere los ángulos ya descritos. Ejemplo: Para el ángulo de 90º el delay es de 200 milisegundos, el ángulo de 180º es de 400 milisegundos, el de 270º de 9 Guía del Estudiante Ahora, resuelve el siguiente reto: RETO Vamos a utilizar lo aprendido en clase: programación y movimiento diferencial. Es importante que desde ya nos familiaricemos con dos conceptos tan importantes, ya que las próximas sesiones hacen uso de estos todo el tiempo. Vamos a realizar con nuestro robot algunas figuras, así que debemos ser creativos, ya que no se dan instrucciones, ustedes deben realizar el algoritmo (la secuencia de pasos) y luego con este, escribir el código correspondiente. Las figuras pueden ser: Triángulo equilátero Pentágono Rectangular Rombo Hexágono Observen que en el reto anterior hicimos uso de solo 3 instrucciones: motorOn(), motorOff() y delay(). El movimiento de un robot se puede resumir a estas 3 instrucciones, ya que en este caso el robot no toma decisiones por sí solo, ya que se le dan unas órdenes que debe seguir, pero es importante entender cada orden y cada instrucción vista en esta sesión. "Esta Metodología, y todas sus guías, manuales y componentes, fue desarrollada por PYGMALION (R), quien tiene los derechos de uso, distribución, comercialización y autorización a terceros. Queda prohibida la reproducción parcial o total del presente documento, por medio de cualquier proceso reprográfico, sea fónico, microfilme, mimeográfico, offset, electrónico o por fotocopia. Esta edición y sus características gráficas son propiedad de FUNDACIÓN PARQUE DEL SOFTWARE MEDELLÍN, ParqueSoft Medellín.Todos los derechos Reservados" Capítulo: Movimiento Diferencial Cruz 10 Guía del Estudiante Referencias [1] «deviantart,» [En línea]. Available: http://fc04.deviantart.net/fs70/i/2012/332/c/b/on_off_switch_by_tickey-d5mf3es.png. [Último acceso: 03 2015]. [2] «gstatic,» [En línea]. Available: https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcRLF_TbMfyRU3cgCWNRXw_FgcOFEkP0dR1XOXk1wiu8ZVkU19rvQ. [Último acceso: 03 2015]. [3] «clipartlogo,» [En línea]. Available: http://es.clipartlogo.com/image/montacargas_294361.html. [Último acceso: 03 2015]. "Esta Metodología, y todas sus guías, manuales y componentes, fue desarrollada por PYGMALION (R), quien tiene los derechos de uso, distribución, comercialización y autorización a terceros. Queda prohibida la reproducción parcial o total del presente documento, por medio de cualquier proceso reprográfico, sea fónico, microfilme, mimeográfico, offset, electrónico o por fotocopia. Esta edición y sus características gráficas son propiedad de FUNDACIÓN PARQUE DEL SOFTWARE MEDELLÍN, ParqueSoft Medellín.Todos los derechos Reservados" Capítulo: Movimiento Diferencial [4] «clipartlogo,» [En línea]. Available: http://images.clipartlogo.com/files/images/46/462663/tanksilhouette-clip-art_f.jpg. [Último acceso: 03 2015]. 11
© Copyright 2024