Programación de un Robot FRC (2 / 9 paso)

Paso 2: Pasar el código por defecto

Ahora permite llegar a la diversión, la parte de la programación actual. Haga doble clic en MyRobot.cpp en el explorador del proyecto. Delante de usted ahora es un programa de trabajo que el robot en modo arcade durante el período de teleoperados. Vamos rápidamente a través del código para entender lo que está sucediendo hasta ahora.

Esta línea añade todas las funciones WPILib y las clases en el código. Necesita estas si quieres hacer algo útil con tu robot. Además de la inclusión de WPILib, esto convenientemente también incluirá string.h y iostream.

Esto comienza la clase llamada RobotDemo. Puede cambiar 'RobotDemo' a otra cosa, pero basta con asegurarse de que cada instancia de 'RobotDemo' en el archivo se cambia a su nombre de nuevo. Los dos puntos significa que IterativeRobot es una clase de padre de RobotDemo y RobotDemo hereda todos los métodos de IterativeRobot. Esto será importante más adelante.

Esto define dos variables privadas: myRobot y palillo. myRobot contiene todas las funciones para la conducción de tu robot y la variable de palo obviamente mantiene las funciones para la entrada de lectura de la palanca de mando.

Esto establece un tiempo de expiración en segundos para los motores de la clase RobotDrive. Si perro guardián del motor no se alimenta durante este tiempo, asumirá que programa de la robusteza se ha congelado y detendrá automáticamente los motores. 0.1 segundos debe ser mucho tiempo, pero si está ejecutando procesamiento de visión o alguna otra tarea intensiva de cpu y los motores son parar cuando no se supone que sea, intente aumentar la fecha de caducidad.

Establece el tiempo entre llamadas a funciones periódicas en segundos. Si ponen a cero, sincroniza con los datos de control de la estación de controlador (que termina por llamar a la función de cada 0,02 segundos aproximadamente). Si no se llama a esta función, por defecto 0.0, así que esta línea es de inútil.

Esta es una lista de inicialización. Como sugiere el comentario, debe inicializar en el orden que usted declaró. Los parámetros para myRobot son: número de puerto para tu robot izquierdo del motor seguido por el número de puerto para el motor derecho de la robusteza. Esto asume que usted está usando jaguares como controladores de motores. El parámetro para el palillo es el número de joystick. ¿Puedes ver lo que es ir a la? ficha de la DriverStation y mirar la posición del joystick en la lista. El número de joystick por defecto es 1.

Una función que llama a WPILib cuando el robot se enciende, se sólo llama una vez, lo que es un lugar seguro para inicializar las variables y asignar memoria dinámica.

Estas funciones se llaman automáticamente por WPILib cada vez que se cambia el modo de robot, ya sea por la estación del conductor o el FMS (sistema de mensajería de campo) se llama a la función de inicio con el nombre de la nueva modalidad. Generalmente autónomo todo el código está escrito en la función AutonomousInit.

DisabledInit no sigue las reglas de las otras funciones de inicialización de modo. DisabledInit se llama solo la primera vez que el robot está deshabilitado. Esto es más probable porque el robot se desactivará solamente una vez durante un juego real.

Estas funciones se llamará cerca de 50 veces por segundo mientras que en el modo apropiado (a menos que usted llama esto -> SetPeriod() con un parámetro que no sea 0.02 o 0, en cuyo caso las funciones periódicas se llamará (1/período) veces por segundo).

Una nota importante acerca de init y funciones periódicas: las funciones periódicas para un modo de no ejecutar a menos que la función de inicialización haya finalizado. Por ejemplo, si tienes algo como esto:

Tu robot generará continuamente que le gustan los perros, y aun cuando en modo autónomo durante mucho tiempo no generará el hecho de que los gatos son mejores. Código de larga duración en sus funciones de inicialización puede no ser obvia este, pero siempre es un tema importante cuidado al programar tu robot.

Este soporte cierra la clase RobotDemo. Al final de una clase es una de las pocas situaciones donde necesita un punto y coma después de después de un soporte. No se olvide esto.

Esto debe ser siempre la última línea de código en el archivo MyRobot.cpp. Es una macro que está definida en RobotBase.h y dice el resto de la WPILib que la clase RobotDemo es la clase que debería utilizar para llamar a las funciones init, funciones periódicas, etc.. Sin esta línea, probablemente obtendrá un error de código de Robot No cuando implementarlo para el cRIO.

Artículos Relacionados

EXTREMA presión circuitos programable Robot!

EXTREMA presión circuitos programable Robot!

En este Instructable usted aprenderá cómo construir un Robot programable presión extrema de circuitos. En primer lugar, usted aprenderá cómo instalar al Editor de programación de PICAXE (el PICAXE es el microcontrolador, o cerebro de computadora para
Robot musical MIDI Melodyian

Robot musical MIDI Melodyian

Saludos tierra! Este Instructable le mostrará cómo construir su propio Melodyian - un robot basado en Arduino, 3D imprimibles que puede moverse, iluminar y hacer música! Es también un robot de MIDI y puede controlarse a través de MIDI inalámbricament
Mini robot insecto

Mini robot insecto

este es mi primer instructable y yo no soy hablante nativa de inglés, así que por favor me avisan si hay algo no suficientemente clara. Estoy usando el sistema de unidad métrica.Bueno, qué es el Bot de insectos. ¿Realmente no es un insecto porque sól
Construir un Robot autónomo de Wall-E

Construir un Robot autónomo de Wall-E

Hola! Después pide una kabillion, aquí tienes! Este robot está ejecutando el EZ-B disponible en http://www.ez-robot.comPrimero una pequeña introducción, ver el vide: http://www.youtube.com/watch?v=OJiMUzJHYFkComencé con el juguete titulado "Wall-E in
Arduino controlado Servo Robot (serbio)

Arduino controlado Servo Robot (serbio)

¿qué mejor manera de empezar a experimentar con micro-controladores de código abierto ( Arduino ) y construyendo tu propio abra robot fuente ( CC (SA-de))?¿Qué hacer con el serbio?(aquí) - Cómo conectar su servio al internet y la unidad sobre un Skyp
Araña de Terra: Robot de reparación autónoma

Araña de Terra: Robot de reparación autónoma

Este proyecto fue diseñado y construido por los estudiantes en el programa de arquitectura en la Universidad de California de los artes; Manali Chitré (MAAD), Anh Vu (BArch) y Mallory Van Ness (marzo). El curso de estudio se llamó máquinas de arquite
4WD barato objeto Robot evitando mediante cuatro sensores de proximidad infrarrojos...

4WD barato objeto Robot evitando mediante cuatro sensores de proximidad infrarrojos...

Este es un básico barato cuatro motores, cuatro sensores, objeto programable 8051 evitando robot usando breadboad. Este robot puede utilizarse también como una línea que sigue el robot simplemente cambiando el programa. He instalado dos baterías para
Cómo llegar en robótica, programación, Arduino electrónica

Cómo llegar en robótica, programación, Arduino electrónica

Integrar todos los campos STEM de robótica y hacer siempre cada cabrito loco. Puede ayudar a los niños a obtener experiencia práctica en mecánica, electrónica, Ciencias de sistema y equipo de control.Sin embargo, todos los robots en el mercado parece
Cómo crear un sistema neumático para Robots (F.I.R.S.T)

Cómo crear un sistema neumático para Robots (F.I.R.S.T)

Se trata de un instructable sobre todo para los próximos años de miembros del equipo de Scarlett Robotics (4733), sin embargo; también se aplicará a los equipos de robótica primeros primer o segundo año que nunca han usado neumática, o a cualquier pe
Guían de principiantes para construir robots Arduino con Bluetooth y Android

Guían de principiantes para construir robots Arduino con Bluetooth y Android

en este tutorial vamos a construir un robot Arduino que puede controlarse vía bluetooth con un teléfono/tablet Android. Esta es una guía de los principiantes que se va a ir brevemente sobre el proceso de cableado y programación de tu robot.Paso 1: Co
Bases del sistema de control

Bases del sistema de control

en el primer concurso de robótica, el sistema de control del robot es único porque los equipos tienen una lista de las piezas que deben utilizar para alimentar y controlar su robot.  Hay variación en cómo equipos usan partes permitidas, pero en su nú
Adaptador de 90 grados para VexPro VersaPlanetary caja de engranajes para la robótica primera

Adaptador de 90 grados para VexPro VersaPlanetary caja de engranajes para la robótica primera

El equipo de robótica de las abejas asesinas desarrolló esta solución en el 2015 y ahora nos gustaría compartir con todos de la primera comunidad de robótica.El sistema de caja de engranajes de VersaPlanetary VexPro es uno de los componentes más flex
Scooter eléctrico todo terreno

Scooter eléctrico todo terreno

al principio del año escolar 2011/2012, equipo de robótica de la escuela decidió finalmente desmantelar algunos viejos robots FRC que habían ido recogiendo polvo por seis o siete años. No tuvimos sirve para todas las partes que quitó los robots, así
Proyectos PICAXE #1: Hacer rápido circuito impreso módulos

Proyectos PICAXE #1: Hacer rápido circuito impreso módulos

módulos experimentales de circuitos se pueden hacer rápidamente y fácilmente. Tienen la ventaja de ser dos veces más rápido de construir que un circuito personalizado. También son fáciles de probar en un protoboard. Los módulos detallados aquí son lo