“Enseñanza-aprendizaje constructivista a través de la Robótica
Transcripción
“Enseñanza-aprendizaje constructivista a través de la Robótica
Project TERECoP 128959-CP-1-2006-1-GRC21 “Enseñanza-aprendizaje constructivista a través de la Robótica Educativa” Guía Didáctica EL ROBOT COMO OBJETO DE CONOCIMIENTO TEMA 1 EL ROBOT MÁS SIMPLE: UN ROBOT “LINEAL” Curso promovido por: El proyecto Europeo Comenious TERECoP (UPNA partner) El CAP de Pamplona del Departamento de Educación del Gobierno de Navarra CEIN Centro Europeo de Innovación Empresarial de Navarra ARLEGUI, J., PINA, A., MORO, M,. -1- Project TERECoP 128959-CP-1-2006-1-GRC21 EL ROBOT COMO OBJETO DE CONOCIMIENTO Proponemos e iniciamos en los próximos capítulos una secuencia “constructiva” (de la parte del profesor) para estudiar el comportamiento básico de un robot, partiendo de los ensamblajes más simples de robots de las técnicas más elementales que ésos ejecutan… Aunque ordenaremos realizar al robot acciones físicas (desplazamientos, giros, …) nuestro interés primario no será “usar” al robot para conocer los aspectos físicos del entorno (dado que todavía no sabemos siquiera cómo “hablarle”, por el contrario, en estas etapas iniciales estamos más interesados en explorar los términos básicos de su lenguaje, eso sí, de un modo funcional, haciendo que haga con ellos acciones simples pero con significado en el entorno (desplazamientos y giros simples, etc). Iniciamos, pues, lo que denominaremos una “secuencia de estudio e indagación” (por temas y secuencias de problemas) del robot LEGO MINSTORMS “como objeto de conocimiento”: 5.- TEMA 1: EL ROBOT MÁS SIMPLE: UN ROBOT “LINEAL” problema-tipo procedimiento en procedimiento en pseudo-código LEGO NXT-G 0 ¿cómo ensamblar “buenos” robots lineales…? 1 ¿cómo ordenar a un robot simple que se desplace hacia adelante durante un cierto intervalo t de tiempo…? avanza_un_tiempo (power, t) 2 ¿cómo ordenar a un robot simple que se desplace hacia adelante a lo largo de una cierta distancia angular φ (de sus ruedas) …? avanza_una_distancia_angular ¿Cómo podemos convertir los valores de velocidad “v” [ cm/s] en valores de “power” ¿ avanza_un_tiempo (v, t) 3 MOTOR (power, time) MOTOR (power, degrees) (power, φ) OPERACIÓN (v)->power MOT OR (pow er, time) 4 ¿cómo podemos, además, convertir los valores de distancia lineal “x”[ cm] a valores de giro angular “φ” ¿ avanza_una_distancia (v, x) OPERACIÓN (v)->power OPERACIÓN (x)--> φ -2- Project TERECoP 128959-CP-1-2006-1-GRC21 MOTOR (power, degrees) 5 ¿cómo ordenar a un robot simple que se desplace hacia adelante a lo largo de una cierta distancia d durante un tiempo t…? avanza_x_en_t ¿cómo podemos ordenar un desplazamiento grande como una secuencia de desplazamientos pequeños…? avanza_paso_a_paso 7 ¿cómo realizar sucesivos pequeños desplazamientos en el tiempo pero que sean cada vez más grandes en longitud? acelera (t) 8 ¿cómo combinar el desplazamiento con otra actividad ¿ avanza_y_pita (x, t) 6 (x,t) OPERACIÖN (x,t) powe r MOT OR(p ower, time) MOTOR en BUCLE (v,D) -3- MOTOR+SONIDO en BUCLE Project TERECoP 128959-CP-1-2006-1-GRC21 5.0.- PROBLEMA 0: ¿CÓMO ENSAMBLAR “BUENOS” ROBOTS LINEALES …? a) OBJETIVOS: • Que los alumnos sean capaces, a partir de las piezas de la caja LEGO Minstorms (y eventualmente de la caja complementaria LEGO Education), de ensamblar robots simples de un solo motor • imitando en un primer momento alguno de los robots-ejemplo presentados haciendo uso de la aplicación de diseño de robots LEGO DIGITAL DESIGNER • y comparar los diversos robots construidos en la clase (u otros robots que se les puedan presentar, procedentes de otros proyectos) pudiendo evaluarlos conociendo y aplicando criterios de rigidez, estabilidad, simplicidad y estética. b) SABERES A ADQUIRIR Y SABERES PREVIOS: • • Las técnicas básicas de ensamblaje de las piezas LEGO Mindstorms: - Ensamblaje en paralelo de las vigas con clavijas (con o sin fricción) - Ensamblaje transversal de vigas con piezas de cruce - Ejes, anillos de fricción, ruedas, etc Las leyes mecánicas básicas sobre: - Rigidez (como un sólido rígido) - Estabilidad (del centro de masas) - Rozamiento y adherencia (rodadura) • Criterios de simplicidad y estética • La aplicación LEGO DIGITAL DESIGNER (LDD en lo que sigue) , a nivel de usuario básico. Saberes previos: Se requiere únicamente una habilidad motora básica para el ensamblaje de las piezas y un reconocimiento previo de los distintos tipos de piezas (las más usuales) que vienen en las cajas de LEGO (puede resultar conveniente el desmontar un robot previo y recolocar clasificando las piezas en las cajas…) c) FORMULACIÓN, POR EL PROFESOR, DE UN PROBLEMA-TIPO ¿Podemos, viendo los ejemplos de la aplicación LDD y el/los robot/s que nos muestra el profesor, construir un robot lo más simple posible? Condiciones: debe llevar un solo motor y debe ser una construcción sencilla, pero rígida y estable. Debe ser, además, “bonito” y simple de construcción… d) ACCIONES EXPLORATORIAS DE LOS ALUMNOS Y FORMULACIÓN DE SOLUCIONES En esta etapa, los grupos de alumnos, con ayuda del profesor, pero a partir de sus propias iniciativas, van construyendo sus respectivos robots… Para la mayoría de los alumnos este momento será el de su primer contacto con el equipo constructivo LEGO Mindstorms. Es por ello razonable que el profesor les -4- Project TERECoP 128959-CP-1-2006-1-GRC21 muestre (personalmente o a través del LDD) las técnicas básicas de ensamblaje: - ensamblaje longitudinal de vigas mediante clavijas, - ensamblaje transversal de vigas, - ensamblaje de ejes con anillos y ruedas,… Luego se pasa a la construcción del robot completo. Para ello, los alumnos pueden, observar la construcción de un robot simple en LDD, copiándola total o parcialmente… Aunque se debe insistir en que “son más interesantes las construcciones personales” para estimular la confianza en la exploración constructiva desde esta primera etapa… y para obtener robots variados y poder extraer de ellos criterios de estabilidad, rigidez, etc. en la siguiente etapa. Las acciones constructivas de los alumnos pueden dar origen a robots como los de las figuras… e) GENERALIZACIÓN DE LAS SOLUCIONESLOCALES Y FORMULACIÓN DE SABERES: Los “outputs” interesantes de esta Unidad no son las soluciones “locales” que cada alumno crea, sino los que salen del trabajo colectivo de esta etapa, en la que se debe discutir cuáles son las características del “robot ideal”, desde los diferentes aspectos que ya se habían solicitado en la pregunta inicial. El profesor debe proponer someter a los robots a “pruebas de calidad” . La discusión y la aplicación dichas pruebas por los alumnos debe ser la ocasión de llegar a formulaciones consensuadas sobre las características ideales de un robot; esto es, sobre los valores más convenientes que deben tomar ciertos atributos. Veamos algún ejemplo: F2 F1 >>F2 N N F1 R1 R2 Mg Mg -5- Estabilidad: La prueba sería tirar con un dinamómetro de cada coche, desde la altura que corresponde a la parte superior el mismo, y observar la fuerza F necesaria para volcarlo. En la figura adjunta se representan las fuerzas F1 y F2 necesarias para iniciar el vuelo de ambos robots. Project TERECoP 128959-CP-1-2006-1-GRC21 Los dos robots son de igual masa pero de distintas dimensiones espaciales (el robot 1 es ancho y bajo; el robot 2 es estrecho y alto). Experimentalmente se puede observar en ambos robots el mismo peso Mg y la misma fuerza N de aguante del suelo, pero el robot 1 requiere un fuerza F1 mucho mayor que la fuerza F2 que requiere el robot 2 para iniciar el vuelco en ambos casos. Rigidez: Cuanto mayor sea la tensión a la que están sometidas las piezas (principalmente clavijas y ejes) debido a las fuerzas externas que actúan habitualmente sobre el robot (la gravead, las cargas que debe levantar, etc), menor será la rigidez del mismo. La figura adjunta muestra la diferencia de tensiones brazo, contiguos o sobre las caso… en las clavijas, que ensamblan un cuando éstas se colocan en agujeros en agujeros alternos… La tensión mismas es mucho mayor en el primer Como prueba de rigidez puede ser suficiente aplicar una fuerza externa vertical hacia abajo sobre el robot (empujando con un dedo, por ejemplo) y observar si cede alguna parte de su estructura (si las ruedas se comban, por ejemplo…) Algunos saberes que pueden formularse al final de esta unidad: Con la ayuda del profesor, los alumnos pueden comparar sus diferentes robots y formular algunas hipótesis del estilo de las siguientes (que podrían ser verificadas posteriormente construyendo robots “buenos” y “malos” según estos criterios…) : a. En relación con la simplicidad: - “Cuanto menos piezas tiene un robot, más sencillo es…”, “Cuanto menos clavijas tiene un robot, más sencillo es…”, “Canto más simétrico es un robot, más sencillo es…” b. En relación con la rigidez: - Cuanto menos cede un robot a las pequeñas fuerzas externas que se le hacen, más rígido es…” “Cuanto mayor es la distancia entre las clavijas que unen dos vigas, más rígida es la unión de ambas…” c. En relación con la estabilidad: - “Cuanto más separadas están las ruedas en los ejes, mejor es la estabilidad…” “Cuanto más bajo es el robot (sobre todo, cuanto más bajos están los elementos que más pesan), mejor es la estabilidad…” d. En relación con la rodadura: - “Cuanto más peso se carga sobre el eje del motor, mejor es el agarre y da rodadura…” -6- Project TERECoP 128959-CP-1-2006-1-GRC21 5.1.- PROBLEMA 1: ¿cómo ordenar a un robot simple que se desplace hacia adelante durante un cierto intervalo t de tiempo…? 1.- Objetivos: • Que los alumnos sean capaces de escribir y de usar un procedimiento tipo comando que desplace linealmente un robot durante un intervalo de tiempo t y con una potencia dada 2.- Saberes a adquirir y saberes previos requeridos: Saberes previos: - ninguno sobre procedimientos NXT-G (en esta unidad se introduce el primero), - los de la unidad anterior: la construcción de un robot lineal, - conocimiento básico del entorno de programación NXT-G: edición, comunicación con el robot, cómo bajar programas, etc El procedimiento avanza_un_tiempo (power, t) : -7- Project TERECoP 128959-CP-1-2006-1-GRC21 5.2.- PROBLEMA 2: ¿cómo ordenar a un robot simple que se desplace hacia adelante a lo largo de una cierta distancia angular φ (de sus ruedas) …? 1.- Objetivos: • Que los alumnos sean capaces de escribir y de usar un procedimiento tipo comando que desplace linealmente un robot durante un giro de φ grados del motor y con una determinada potencia. 2.- Saberes a adquirir y saberes previos requeridos: Saberes previos: - Problema 1, - los de la unidad anterior: la construcción de un robot lineal, - conocimiento básico del entorno de programación NXT-G: edición, comunicación con el robot, cómo bajar programas, etc El procedimiento avanza_una_distancia_angular (power, φ ) : -8- Project TERECoP 128959-CP-1-2006-1-GRC21 5.3.- PROBLEMA 3: ¿Cómo podemos convertir los valores de velocidad “v” [ cm/s] en valores de “power” ¿ 1.- Objetivos: • Que los alumnos sean capaces de escribir un procedimiento tipo función que convierta un valor v de velocidad, dado en cm/s, en el equivalente valor del parámetro power • Y que sean capaces de usarlo en un procedimiento comando avanza_un_tiempo (v, t ), donde la velocidad se expresa en cm/s 2.- Exploraciones a realizar: POWER (%) 0 10 20 30 40 50 DISTANCE TIME SPEED (cm) (S) (m/sec) 0 35 82 126 174 217 10 10 10 10 10 10 THEORETICAL SPEED (=k * power) 0 3,5 8,2 12,6 17,4 21,7 0 4,2 8,4 12,6 16,8 21 k= 0,42 Observamos experimentalmente las distancias a la que se desplazan distintos robots con distintos valores de power durante un mismo tiempo, y calculamos sus velocidades. Generalizando estos casos vemos que: Vx = 0,42 * power -9- Project TERECoP 128959-CP-1-2006-1-GRC21 3.- Saberes a adquirir y saberes previos requeridos: Saberes previos: - Problemas 1, 2 de este Tema Saberes experimentales: - Vx = 0,42 * power Saberes de programación: El procedimiento avanza_un_tiempo (v, t ) : - 10 - Project TERECoP 128959-CP-1-2006-1-GRC21 5.4.- PROBLEMA 4: ¿cómo podemos, además, convertir los valores de distancia lineal “x”[ cm] a valores de giro angular “φ” ¿ 1.- Objetivos: • Que los alumnos sean capaces de escribir un procedimiento tipo función que convierta un valor x de distancia, dado en cm, en el equivalente valor del parámetro “grados” (distancia angular) • Y que sean capaces de usarlo en un procedimiento comando avanza_una_distancia (v, x ), donde la velocidad se expresa en cm/s y la distancia en cm. 2.- Exploraciones a realizar: rotation 0 1 2 3 4 5 6 exp distance 0,0 26,0 52,0 77,3 102,5 128,7 153,8 theor distance 0,0 25,6 51,3 76,9 102,5 128,2 153,8 R= 4,08 Igual que en el problema anterior, se “experimenta” hasta hallar que hay una relación efectiva entre la distancia expresada (en este caso) en num. de rotaciones y la distancia en cm, y que la relación puede expresarse como: X = 2*PI*R* grados/360 3.- Saberes a adquirir y saberes previos requeridos: Saberes previos: - Problemas 1, 2, 3 de este Tema Saberes experimentales: - Relación entre longitud recorrida y ángulo girado en un movimiento circular de desplazamiento Saberes de programación: - 11 - Project TERECoP 128959-CP-1-2006-1-GRC21 El procedimiento avanza_un_tiempo (v, t ) : - 12 - Project TERECoP 128959-CP-1-2006-1-GRC21 - 13 -