Robótica Educativa Clase I: Introducción y Ensamble Etapa I.

Post on 25-Jan-2016

220 views 0 download

Transcript of Robótica Educativa Clase I: Introducción y Ensamble Etapa I.

Robótica EducativaClase I: Introducción y Ensamble Etapa I

¿Qué es la Robótica?

¿Qué es la Robótica?

La Robótica es una disciplina dedicada al desarrollo de robots programados para realizar acciones o trabajos que el hombre no puede lograr o que afecten su seguridad.La robótica combina tres diversas disciplinas:La MecánicaLa Electrónica La Informática

Historia de la RobóticaLa palabra Robot proviene de la palabra checa "robota" que significa "servidumbre" o "labor forzada". La utilizó el novelista checo Karel Capek en su libro "RUR Rossum's Universal Robots" en el año 1921.

Historia

La palabra Robótica también proviene de la ciencia ficción, y apareció por primera vez en el libro "Yo, Robot" del matemático y novelista Isaac Asimov en el año de 1942.

Historia

El primer robot, según la época moderna fue creado por Grey Walters, en la decada de los 40, 1942. Y lo llamó "Elsie la Tortuga" (Machina speculatrix).

Historia

Posteriormente el Instituto de Investigación de la Universidad de Stanford, en California en 1960 desarrolló a "Shakey" que era una caja inestable con ruedas, que utilizaba memoria y razonamiento lógico para resolver problemas y navegar en su entorno.

Clasificación

• Poli articulados• Móviles• Androides• Zoomórficos• Híbridos

Componentes de un Robot

Estructura mecánica Sensores Unidad de control

Actuadores Fuente de alimentación

La Robótica en el Cine

Ciencia y Tecnología

Ciencia

La ciencia surge cuando el hombre busca descubrir y conocer a través de la observación y el razonamiento la estructura de un objeto o de un fenómeno, sus relaciones, sus incidencias en la naturaleza y en la cultura. Teniendo una visión objetiva y reflexiva de las cosas.

Tecnología

La tecnología es la ciencia aplicada. Es una consecuencia del diseño, concepción y fabricación de herramientas, métodos, instrumentos, dispositivos, etc. Necesarios para el desarrollo social.

Ensamble InnobotActividad: Identifica cada uno de los componentes de un robot durante el ensamble del Robot Innobot

Inserta las piezas Soporte Motor #3 (SM3) en los agujeros de la Plataforma (PF) como lo ilustra la Figura.

Ya con los Soporte Motor #3 (SM3) asegurados, debes poner los componentes Motorreductor (GM) sujetándolo con los tornillos #1/4 (también puedes usar el tornillo #6).

Ensamble del Innobot

Para ensamblar los Soporte #11 (S11) en la Plataforma (PF), primero debes insertar los tornillos #6 en los orificios del Soporte #11 (S11), en tanto hayas puesto los tornillos en los soportes. Insertarlos en la Plataforma (PF), como lo ilustra la Figura.

Insertar los tornillos #15 atravesando las piezas Soporte Lateral Motor (LMS), también debes atravesar los Soportes #11 (S11) y fijarlos con sus respectivas tuercas T3. Finalmente apretar las tuercas T3, para garantizar simetría y rigidez en el robot.

Ahora inserta los tornillos #6 en los Soportes #11 (S11) en los orificios que la Figura indica y realizar la respectiva sujeción con la tuerca T3.

Insertar los Ejes 35mm (AX35) en los Engranajes #24 (G24), atravesar las piezas Soporte Lateral Motor (LMS) y asegurar con las piezas Separador Eje (AS), como la Figura lo ilustra.

Inserta los tornillos #15 en las piezas Soporte Lateral Motor (LMS), después coloca dos Separadores Circulares (CS) en cada lado y posterior a esto atravesar con los tornillos #15 las otras piezas Soporte Lateral Motor (LMS). Realizar la sujeción con la tuerca T3, como la Figura lo muestra.

Insertar los tornillos #15 atravesando las piezas Soporte Lateral Motor (LMS) y fíjar con sus respectivas tuercas T3 como lo ilustra la Figura.

Para darle movilidad a nuestro robot, colocaremos las llantas en los Ejes 35mm (AX35) donde la Figura lo indica.

Colocar la Unidad de Control, insertando los tornillos #20 en los agujeros de esta y para darle separación usar Postes #12 (P12). más adelante te explicaremos cómo funciona la Unidad de Control.

Ensamble del Innobot

Colocar el Porta Baterías (HB), usando tornillos #10 y realizar la sujeción con tuercas T3.

¿Qué es programación?Te has preguntado ¿Cómo entienden los Robots?

Bill GatesMicrosoft

Steve JobsApple

Mark ZuckerbergFacebook

Larry Page y Serguéi BrinGoogle

¿Qué es la programación?

¿Qué es un lenguaje de Programación?• La manera como los robots

comprenden instrucciones al igual que los seres humanos es a través de un lenguaje o idioma.

• Cada lenguaje tiene su propia estructura, por lo que debemos aprender a usar el lenguaje de los robots.

• Los robots entienden instrucciones paso, esto se conoce como algoritmos.

¿Qué es un Algoritmo?

• Un algoritmo es una lista de pasos o instrucciones para resolver un problema o realizar un acción.

• Ejemplos:• Un manual de instrucciones de un

electrodoméstico.• Una serie órdenes que da un jefe a

un empleado.• Un programa computacional para

indicar a un computador qué pasos específicos debe seguir para desarrollar una tarea.

Actividad

• Pygbot esta atrapado y quiere encontrar la salida, ayúdalo dándole las instrucciones necesarias. Pygbot solo entiende estas tres instrucciones.

• Avanzar.• Girar a la Derecha• Girar a la Izquierda• ¡Enumera todos los pasos que

necesita para salir!• Paso 1. Avanzar 8 pasos.• Paso 2. ¿?

Actividad

Calentando Motores

• Conecta las baterías y el motor derecho a la Tarjeta Innobot como se ilustra en la figura.

Precaución

• Precaución: tener precaución cuando se desaprieten los tornillos del puerto de motores, volver a apretar nuevamente los tornillos incluso si no se están utilizando, se podrían salir muy fácilmente.

Programando el Robot• Para programar nuestros robot debemos dar instrucciones a la Unidad

de Control haciendo uso del Computador.

Identifica la Unidad de Control

Interfaz de Programación Innobot IDE

Interfaz de Programación Innobot IDE

Hola Mundo! Tu primer código.

Reescribe este programa en la interfaz de programación. Luego haz clic en el botón Verificar.

void setup(){

 motorOn(M1, FORWARD);

}

void loop(){

}

Conectar Unidad de Control vía USB

Conecta

USB

Verifica el puerto USB y Carga el programa

Finalmente en el botón Cargar

¿Qué está pasando?

¿Gira hacia el lado contrario?

!Hasta el infinito y más allá¡ Intercambia los cables negro y rojo del motor

Conecta el motor Izquierdo

Hasta el infinito y más allá!

void setup(){

  motorOn(M1, FORWARD); motorOn(M2, FORWARD);

}

void loop(){

}

Carga el programa.¿Qué hace el robot?

Hasta el infinito y más allá!

C++ y la Sintáxis¿Qué significa void setup () o void loop ()? ¿Porqué escribir corchetes, paréntesis, llaves, puntos y comas?

Setup = Configuración

La función void setup() se usa para establecer las configuraciones iniciales de nuestro robot. Por ejemplo, si deseamos que los puertos sean de entrada o salida.Esta función se ejecutará una única vez cuando se conecte la energía a la tarjeta de control de Innobot o cuando se oprima el pulsador de reinicio.

Cuidado con la sintaxisForma Incorrecta

Descripción

setup() Si omites void el compilador te arroja un error.

voidsetup() Las palabras void y setup deben estar separadas por un espacio.

void setup Si omites los paréntesis () el compilador te arroja un error.

void Setup() C++ identifica minúsculas y mayúsculas:setup() no es igual a Setup()

.

Loop = BucleLa función void loop() se usa para realizar una tarea una y otra vez hasta que se desconecte la energía, loop en inglés se conoce como bucle. Ejemplos. Revisar un sensor una y otra vez, por ejemplo para evadir obstáculos.Esperar comunicación de algún mando de control.El loop es la parte activa del robot, porque allí está alojado el programa principal del robot

Llaves { }Has notado que void setup() y void loop() comienzan con una llave { , y luego terminan con otra llave }Esto significa que el robot ejecutara todo los se encuentra entre ellas.

void setup(){…todas configuraciones aquí…}void loop(){…todo el código principal aquí…}

El punto y coma ;

¿Has notado que la mayoría de las instrucciones terminan en punta y coma?

El punto y coma ; denota el fin de una instrucción, para continuar con la siguiente, si omites el punto y coma el

robot no sabrás donde termina la instrucción.

;

Los paréntesis ()Se usan para ingresar los parámetros.Por ejemplo: motorOn(M1, FORWARD); tiene 2 parámetros: el motor M2 y la dirección de giro ADELANTE (FORWARD en inglés).

delay(1000); tiene sólo 1 parámetro: el tiempo de espera, en este caso 1000 milisegundos.

motorOn()DescripciónPermite encender cualquiera de los motores conectados a la tarjeta hacia adelante (FORWARD) o hacia atrás (REVERSE)

SintaxismotorOn(M1, FORWARD);

ParámetroMotor: 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).

DevuelveN/A: Esta función no devuelve ningún valor.

motorOff()DescripciónPermite apagar cualquiera de los motores conectados a la tarjeta.

SintaxismotorOff(M1);

ParámetroMotor: 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 la conectamos, en donde se muestra cual es motor a la que queda asociado desde la programación.

DevuelveN/A: Esta función no devuelve ningún valor.

motorSpeed()DescripciónPermite cambiar la velocidad de cualquiera de los motores conectados a la tarjeta.

SintaxismotorSpeed(M1,80);

ParámetroMotor: Es el número del motor que queremos modificar. 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.

Velocidad: Es la velocidad que queremos configurar de 0 a 100, siendo 0 la mínima velocidad y 100 la máxima velocidad.

DevuelveN/A: Esta función no devuelve ningún valor.

Reto Ahora podrías escribir un código que el robot realice las siguientes figuras:

¿Cómo se realizarías un círculo con el robot?

Próxima ClaseAprenderemos como comenzar a Programar nuestro Innobot, es decir, vamos a darle instrucciones para que realice lo que deseamos. Luego nos introduciremos al maravilloso mundo de los sensores.