You are on page 1of 11

Metodologa para programar Robots

A continuacin, lo que se presenta es una metodologa inicial para plantear soluciones a problemas de programacin con equipos Lego. La metodologa contiene 4 Fases:

- Antes de usar el entorno de programacin: A. Identificacin y comprensin del problema. Qu se pide hacer? Cul es el resultado esperado? B. Plantear pasos de solucin al problema. Identificar posibles soluciones, seleccionar una y disear algoritmo para llevar a cabo esa solucin. Qu pasos/procesos debo realizar para resolver el problema? C. Transferir los pasos en seudocgido del programa. - Usando el entorno de programacin: D. Generar el cdigo del programa, ejecutar y validar cada paso. Comentar adecuadamente el programa.

Fase I: Identificacin y comprensin del problema. Presentacin del problema:


Como ejemplo, se tomar un reto del Inter-Escolar de Robtica Educativa. Reto 05: Buscando productos. Enunciado: El robot debe desplazarse hacia el frente de la Zona de produccin. All se encontrar con una ficha en el suelo, la cual debe reconocer e identificar su color. Luego, deber avanzar para buscar y encontrar un producto que debe transportar a una zona especfica segn el color que identific en la ficha. Comprendiendo el problema:

Se toma como referencia, el punto donde el robot se encuentra justo al frente de la Ficha, a unos cuanto centmetros delante de la misma. La misin es que el robot identifique la ficha (cuyo color ser al azar), reconozca qu color est mostrando (azul o negro); contine su camino para reconocer el objeto y luego desplazarlo segn el color de la ficha que reconoci (si fue azul, a la derecha; si fue negro, a la izquierda). Debe desplazar el objeto hasta tocar el borde negro de la Zona de descarga.

r-?

Zonas de descarga

Objeto a desplazar Ficha de color Ingreso del robot

Fase II: Convertir el problema en Pasos de solucin.


Planteando el problema en algoritmo

PASO 1

PASO 2

PASO 3

PASO 4

Avanzo hasta encontrar color diferente de blanco: Azul o Negro.

PREGUNTO, qu color estoy leyendo? Si el color es diferente de blanco (fondo de la pista), pregunto es Azul o Negro? GUARDO el color que le.

Avanzo hasta encontrar el objeto y Agarrarlo.

PREGUNTO, qu color guard anteriormente? Giro de acuerdo al color guardado: Azul -> Derecha. Negro -> Izquierda. Avanzo, llevando el objeto hasta llegar a la Zona de Descarga respectiva.

Estos cuatro (04) pasos plantean una solucin al problema. Lo primero es revisar los pasos con detenimiento y verificar que efectivamente, solucionen el problema planteado. Comprubalo t mismo, una y otra vez, antes de continuar.
[Esto es un ejemplo: pudieran plantearse otros pasos, puede variar la forma de solucin]

Momento C: Transferir los pasos en seudocdigo del programa.


En nuestro caso, el programa es el NXT Programing 2.0, por eso hablaremos de Bloques

PASO 1 Bloque MOVER. Avanza Ilimitado. Bloque ESPERAR POR LUZ. Menor que (<) ValorComp aracin1 Bloque MOVER. Detener.

PASO 2 Nota: corrijo; ya que se detuvo en el borde de la ficha, requiero que est casi en el medio de la ficha, para que color. MOVER, Avanzar X grados, lento. BIFURCACIN Sensor Luz. Mayor que (>) (ValorComparacin2). No est leyendo blanco, sino entre Azul y Negro Calcular el ValorComparacin2. (Mximo: Azul, Mnimo; Negro) Lect-Sensor > ValorComparacin2 ? Verdadero -> Guardo en VARIABLE Azul. Falso -> Guardo en VARIABLE, Negro.

PASO 4

PASO 3
Avanzo hasta encontrar el objeto y Agarrarlo

PREGUNTO, qu color guard anteriormente? Giro de acuerdo al color guardado: Azul -> Derecha. Negro -> Izquierda. Avanzo, llevando el objeto, hasta llegar al borde de la Zona de Descarga.

Sensar (con el Sensor de LUZ) cada color para saber su valor: (ejemplo) BLANCO: 51 / AZUL: 45 / NEGRO: 35 Cmo s que el robot sali del color blanco y que debajo est la ficha de color Azul o Negro? Comparo los valores, el Blanco es el mayor, por tanto, busco un nmero (ValorComparacin1) menor que Blanco, pero mayor que Azul; y a su vez, mayor que Negro. Para calcular el ValorComparacin, en este caso, Mximo Blanco, Mnimo Azul. Valor Comparacin = ValorMnimo + ( ValorMximo ValorMnimo ) 2

Momento C: Transferir los pasos en seudocdigo del programa.


Planteando el seudocdigo y el algoritmo en flujograma

Lectura menor a 40?

Avanzando mientras lea blanco: > 50

Valor mayor que 40

Valor menor que 40

Lectura de colores: BLANCO: 51 AZUL: 45 NEGRO: 35

Momento D: Generar el cdigo, ejecutar y validar.


Elaboro el cdigo, lo pruebo, valido y comento.

Reforzando los pasos segn GUTIRREZ, A. (2009) 1

2 Momentos y 5 pasos para desarrollar programacin.

Fuente: GUTIERREZ, A. (2009)

a b
c d e

Reforzando los pasos segn LPEZ, J. (2009)


Etapas para resolver problemas. POLYA, G. (1057)

3 Elementos claves antes de programar.


Fuente: GUTIERREZ, A. (2009)

Etapas a desarrollar en la fase de anlisis de un problema (entenderlo) LPEZ, J. (2009)

Etapas para elaborar el programa. LPEZ, J. (2009)

LPEZ GARCA, Juan Carlos, (2009). Algoritmos y programacin.

http://www.eduteka.org/GuiaAlgoritmos.php

Reforzando los pasos segn LPEZ, J. (2009)

Lavarse los dientes.

Ejemplos de Algoritmos.
Fuente: GUTIERREZ, A. (2009)

Algoritmo de Euclides para hallar el Mximo Comn Divisor de dos nmeros enteros positivos

Cambiar una bombilla

LPEZ GARCA, Juan Carlos, (2009). Algoritmos y programacin.

http://www.eduteka.org/GuiaAlgoritmos.php

Reforzando los pasos segn LPEZ, J. (2009)


Ejemplos de Algoritmos.
Fuente: GUTIERREZ, A. (2009)

Algoritmo para calcular el rea de cualquier tringulo rectngulo

LPEZ GARCA, Juan Carlos, (2009). Algoritmos y programacin.

http://www.eduteka.org/GuiaAlgoritmos.php

Reforzando los pasos segn LPEZ, J. (2009)

En trminos generales, un Algoritmo debe ser: Realizable: El algortmico debe terminar despus de una cantidad finita de pasos. Se dice que un algoritmo es inaplicable cuando se ejecuta con un conjunto de datos iniciales y el proceso resulta infinito o durante la ejecucin se encuentra con un obstculo insuperable sin arrojar un resultado. Comprensible: Debe ser claro lo que hace, de forma que quien ejecute los pasos (ser humano o mquina) sepa qu, cmo y cundo hacerlo. Debe existir un procedimiento que determine el proceso de ejecucin. Preciso: El orden de ejecucin de las instrucciones debe estar perfectamente indicado. Cuando se ejecuta varias veces, con los mismos datos iniciales, el resultado debe ser el mismo siempre. La precisin implica determinismo. No se pueden expresar trminos ambiguos en un algoritmo.

LPEZ GARCA, Juan Carlos, (2009). Algoritmos y programacin.

http://www.eduteka.org/GuiaAlgoritmos.php

You might also like