Curso Robot c

November 18, 2017 | Author: Ingrid Zepeda | Category: Computer Program, Programming Language, Technology, Robot, Computer Programming
Share Embed Donate


Short Description

Download Curso Robot c...

Description

ROBOT C CLUB DE ROBOTICA

OBJETIVO En este curso se planea transmitir conocimientos teóricos y prácticos acerca del uso y funcionamiento de un robot a través del robot Vex Cortex el cual, es un conjunto de piezas que trabajan y se comunican por medio del lenguaje de programación Robot C para establecer en los participantes una capacidad de análisis y diseño de soluciones a problemas reales realizando retos de movimiento, velocidad y sensibilidad.

INTRODUCCION ¿QUE ES VEX? El Sistema de Diseño de Robótica VEX ofrece a los estudiantes una plataforma interesante para aprender sobre zonas ricas en oportunidades de carrera de la ciencia, tecnología, ingeniería y matemáticas (STEM). Estos son sólo algunos de los muchos campos de los estudiantes pueden explorar mediante la creación de VEX con la tecnología robótica. Más allá de los principios de la ciencia y la ingeniería, un proyecto de Robótica VEX fomenta el trabajo en equipo, liderazgo y resolución de problemas entre los grupos. También permite a los educadores personalizar fácilmente los proyectos para alcanzar el nivel de habilidades de los estudiantes. La asequible plataforma VEX se está expandiendo rápidamente y ahora se encuentra en las escuelas secundarias, escuelas preparatorias y los laboratorios universitarios de todo el mundo. Los aficionados a la robótica también aprecian las capacidades avanzadas del sistema de VEX. RobotC es un potente lenguaje textual de programación basado en el lenguaje C con un entorno de ventanas para escribir y depurar programas, que ofrece un depurador completo en tiempo real.

¿ROBOT C? RobotC es una solución para varias plataformas, en especial para CORTEX, NXT y RCX de LEGO, que permite a los estudiantes el aprendizaje del tipo de programación basado en C para aplicaciones educativas y profesionales. RobotC ha sido desarrollado por la Academia de Robótica de la Universidad Carnegie Mellon de Pittsburg (Pensilvania, EUA).

ROBOT C CLUB DE ROBOTICA

(SPA): SIENTE, PLANEA, ACTÚA Siente, planea, actúa fue uno de los primaros procesos de control de robots comúnmente abreviado SPA. Hoy son conceptos fundamentales para recordarnos las 3 capacidades críticas que todos los robots deben tener para operar efectivamente: Siente El robot necesita la habilidad de sentir cosas importantes a su alrededor, como la presencia de obstáculos o ayudantes de navegación. ¿Qué información necesita tu robot acerca de su alrededor, y como va a recolectar esa información? Planea El robot necesita tomar los datos sentidos e imaginar cómo responder apropiadamente a ellos, basado en la estrategia existente. ¿Tienes alguna estrategia? ¿Determina tu robot la respuesta apropiada basada en esta estrategia y los datos sentidos? Actúa Finalmente el robot debe realizar las acciones que el plan nombra. ¿Has construido tu robot para que haga lo que necesita hacer, físicamente? ¿Hace lo que se le dice cuando se los dices?

EL ROL DEL ROBOT Y DEL PROGRAMADOR Crear un robot con éxito requiere un esfuerzo de equipo entero humanos y máquinas. 

El robot sigue las instrucciones que se le dan y lleva a cabo el plan.



El programador humano identifica la tarea y planea una solución, después le explica el robot lo que necesita hacer para alcanzar el objetivo.

El trabajo del programador es identificar el problema que el robot debe resolver, crear un plan para resolverlo, y convertir ese plan en un programa que el robot pueda comprender. El robot ejecutará el programa y seguirá las instrucciones para realizar la tarea. El plan será simplemente la secuencia de comportamientos que el robot necesita seguir. El programa será estos comportamientos traducidos en el lenguaje de programación. El robot puede seguir solamente su programa ya que este no puede pensar por sí mismo, así como el robot no puede ser más fuerte de cómo es construido, tampoco puede ser más inteligente que el programa que el programador humano le dio. Tú,

ROBOT C CLUB DE ROBOTICA como programador serás responsable de planear y describir exactamente lo que el robot necesita para realizar su tarea. Escribir los comportamientos que el robot deberá realizar en inglés, es la mejor forma de iniciar la construcción de un buen pseudocodigo. Esto te permite revisar fácilmente los comportamientos y su organización cuando te preparas para traducirlos en códigos del programa.

PSEUDOCODIGO Y DIAGRAMAS DE FLUJO PSEUDOCÓDIGO El pseudocódigo es una anotación a mano para programar que utiliza una combinación de estructuras de programación informales y descripciones verbales del código. El Énfasis es colocado en la expresión del comportamiento o resultado de cada parte del código en vez de la correcta sintaxis (pero de cualquier manera necesita ser razonable). En general, el pseudocódigo es utilizado para delimitar un programa antes de traducirlo a la sintaxis apropiada (código). Esto ayuda en el inicio de la planeación de un programa, al crear un contenido y una secuencia lógica del código. Un beneficio adicional es que como el pseudocódigo no necesita utilizar una sintaxis específica puedes traducirlo en diferentes lenguajes de programación y por lo consiguiente es de una manera universal. Este captura la lógica y la fluidez de una solución sin necesidad de las estrictas reglas sintácticas.

DIAGRAMA DE FLUJO Los diagramas de flujo son representaciones visuales de flujo de un programa. Un diagrama de flujo normalmente utiliza una combinación de bloques y flechas para representar acciones y secuencias. Los bloques típicamente representan acciones, mientras que el orden en el cual las acciones ocurren se representa utilizando flechas que apuntan de un enunciado a otro. A veces de un bloque pueden salir muchas flechas, representando un paso donde una definición debe ser tomada acerca de qué camino seguir. 

Inicio Y Fin: Son símbolos que son representados con rectángulos redondeados, usualmente contienen la palabra ” inicio” o “fin”, pero pueden ser más

ROBOT C CLUB DE ROBOTICA específicas como por ejemplo “potencia del robot apagada” o “parar todos los motores”.



Acciones: Son representadas como rectángulos y actúan como comandos básicos: “wait1Msec (1000)”; “increment line count by 1” O “motor full ahead”.



Decisiones: Son representadas como diamantes. Estos típicamente contienen preguntas de YES/NO. De los bloques de decisiones salen 2 o más flechas, representando los diferentes caminos que pueden seguirse, dependiendo de la delimitación de la decisión. Las flechas deben ser siempre etiquetadas de adecuadamente.

EJERCICIO: Pensemos que tenemos un robot con una base que trabaja con dos motores y un sensor al frente. Ahora bien, debemos hacer que nuestro robot avance hacia adelante hasta que tope con algún obstáculo, hagamos el plan…

Pseudocodigo: 1. 2. 3. 4. 5. 6.

Sensor enabled (activar sensor). Start motors (hacia adelante). Qustion: ¿El sensor ha sido presionado o activado? Answer Yes: Stop motors Answer No: mantener ambos motores activos y regresar al paso 3. End.

ROBOT C CLUB DE ROBOTICA Diagrama de flujo

Ahora que ya hemos aprendido a diseñar un buen pseudocodigo y un diagrama de flujo, lo que queda es aprender a traducir los comportamientos de pseudocodigo en inglés a lenguaje de programación de ROBOTC.

REGLAS LEXICAS Las órdenes al robot se escriben como texto en la pantalla del ordenador, se procesan por el compilador de RobotC para obtener un archivo en lenguaje máquina y después se cargan en el robot, en el que se pueden ejecutar. El texto que se escribe como parte de un programa se llama código. El código de un programa en RobotC consiste en una serie de piezas (tokens) ordenadas secuencialmente. Cada pieza está integrada por letras, números, signos de puntuación o símbolos matemáticos. Gráficamente se puede expresar como sigue:

ROBOT C CLUB DE ROBOTICA

El lenguaje C (y, por tanto, RobotC, que es un derivado suyo) diferencia entre mayúsculas y minúsculas, por lo que hay que prestar atención cuando se escribe un programa. Así, por ejemplo, “wait” se reconoce como una pieza del lenguaje, pero “Wait” no se reconoce como tal.

SIGNOS DE PUNTUACIÓN ROBOTC es un lenguaje de programación basado en texto.

Los comandos para el robot son escritos primero en la pantalla, después son procesados por el recopilador de ROBOTC en archivo de lenguaje de máquinas que el robot comprende. Finalmente, son cargados en el robot, donde pueden ser ejecutados.

1.

Código del programa

Comandos para el robot escritos como texto.

El texto escrito como parte de un programa es denominado “código”. Escribes los códigos como normalmente escribes texto. Ten en cuenta siempre que la capitalización es importante para la computadora. Reemplazar una letra minúscula con una mayúscula (o una mayúscula por una minúscula) va a causar que el robot se confunda.

Se emplean varios signos de puntuación para diferentes cometidos: ; Fin de instrucción ( ) [ ] Inicio y fin de parámetros { } Inicio y fin de estructuras de control

ESPACIOS EN BLANCO El espacio en blanco (espacios, tabuladores y saltos de línea) se usa para separar piezas y para hacer los programas más legibles. Con tal de que se distingan las piezas, no tiene

ROBOT C CLUB DE ROBOTICA efecto en el programa añadir o suprimir espacios en blanco. Por ejemplo, las siguientes líneas de código tienen el mismo significado:

x=2; x=2;

Algunos de los operadores de C++ están formados por múltiples caracteres. Para preservar estas piezas no se debe insertar espacio en blanco entre ellos. En el ejemplo siguiente, la primera línea usa un operador de cambio a la derecha (“>>”), pero en la segunda línea el espacio añadido hace que los símbolos “>” se interpreten como dos elementos separados y en consecuencia se genere un error.

x = 1 >> 4; //dar a x el valor de 1 desplazado a la derecha 4 bits x = 1 > > 4; // error

El uso de espacios, tabulaciones y líneas ayuda al programador a leer el código con mayor facilidad. Es muy recomendable hacer un buen uso de los espacios en blanco en un programa.

INSTRUCCIONES Una instrucción (orden, sentencia o declaración) es una orden directa al robot. Por ejemplo, la instrucción motor[motorC] = 100; indica al robot que ponga en marcha el motor conectado al puerto C al 100 % de potencia. Las instrucciones son ejecutadas de izquierda a derecha y de arriba abajo. RobotC reconoce las diferentes instrucciones porque la gran mayoría acaban en “ ; “, pero no porque estén en diferentes líneas. Los dos siguientes trozos de código son exactamente iguales para RobotC, pero el segundo es prácticamente ilegible para un programador humano.

ROBOT C CLUB DE ROBOTICA

COMENTARIOS Comentar un programa significa utilizar el texto descriptivo para explicar las porciones de código. El compilador y el robot ignoran los comentarios cuando ejecutan un programa, permitiéndole al programador dejar notas importantes en un formato sin códigos, a lado de la misma codificación del programa. Este es considerado un estilo de programación, porque reduce la confusión después cuando alguien más (o inclusive tú) necesite leer los códigos. Hay 2 maneras de marcar una sección del texto como comentario en lugar de un código. (Figura 51) Tipo Una sola línea Muchas líneas

Anotación inicial // /*

anotación final (none) */

Abajo hay un ejemplo de un programa con comentarios de una sola línea y de varias líneas. El texto comentado se vuelve verde. (Figura 52)

ROBOT C CLUB DE ROBOTICA Comentando un código Comentar a veces deshabilita temporalmente el código en un programa sin borrarlo. En el programa de abajo, el programador ha codificado para correr derecho y girar a la derecha. Sin embargo, para probar solo la primera parte del programa, el programador convirtió el segundo comportamiento en comentario, para que el robot lo ignore. Cuando el programador haya terminado de probar el primer comportamiento, él o ella removerá las marcas de comentario // para re-habilitar el segundo comportamiento del programa. (Figura 53)

COLOREADO DE CÓDIGO El texto escrito como parte de un programa es denominado “código”. Escribes los códigos como normalmente escribes texto. Ten en cuenta siempre que la capitalización es importante para la computadora. Reemplazar una letra minúscula con una mayúscula (o una mayúscula por una minúscula) va a causar que el robot se confunda.

Figura 2-> la capitalización Capitalización (prestar atención a mayúsculas vs. minúsculas) es importante en ROBOTC.

Cuando estés escribiendo, ROBOTC tratara de ayudarte coloreando las palabras que reconoce. Si una palabra aparece en un color diferente, esto significa que ROBOTC la reconoce como una palabra importante en el lenguaje de programación.

ROBOT C CLUB DE ROBOTICA

Figura 3-> coloreando el código ROBOTC coloreas automáticamente las palabras claves que reconoce.

Compara este comando de “tarea” con correcta capitalización con una versión de incorrecta capitalización en el ejemplo anterior. La correcta es reconocida como un comando y se pone de color azul. RobotC colorea automáticamente las palabras, símbolos y signos que reconoce como propios del lenguaje:

IDENTIFICADORES Y PALABRAS RESERVADAS Se usan los identificadores para nombres de tarea, variables y funciones. El primer carácter de un identificador debe ser una letra mayúscula o minúscula o el guion bajo (“_”). Los caracteres restantes pueden ser letras, números y el guion bajo. Se reserva un número potencial de identificadores para uso del propio lenguaje RobotC. Estas palabras se denominan palabras reservadas y no se pueden usar como identificadores. Algunas de ellas son las siguientes:

ROBOT C CLUB DE ROBOTICA

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF