Tabla de contenido:

Cómo escribir una transmisión simple para FRC (Java): 12 pasos (con imágenes)
Cómo escribir una transmisión simple para FRC (Java): 12 pasos (con imágenes)

Video: Cómo escribir una transmisión simple para FRC (Java): 12 pasos (con imágenes)

Video: Cómo escribir una transmisión simple para FRC (Java): 12 pasos (con imágenes)
Video: pov: sabes el contexto 🌚☠️ ⚠️ #shorts #viral 2024, Mes de julio
Anonim
Cómo escribir una transmisión simple para FRC (Java)
Cómo escribir una transmisión simple para FRC (Java)

Este es un tutorial sobre cómo hacer una transmisión simple para un robot FRC. Este tutorial asume que conoce los conceptos básicos de java, eclipse y que ya tiene wpilib instalado, así como las bibliotecas CTRE.

Paso 1:

Imagen
Imagen

Eclipse abierto

Paso 2: cree un nuevo proyecto de robot

Crear un nuevo proyecto de robot
Crear un nuevo proyecto de robot
Crear un nuevo proyecto de robot
Crear un nuevo proyecto de robot
Crear un nuevo proyecto de robot
Crear un nuevo proyecto de robot
Crear un nuevo proyecto de robot
Crear un nuevo proyecto de robot
  1. Haga clic con el botón derecho en el explorador de paquetes, haga clic en nuevo y luego en otro.
  2. Desplácese hacia abajo hasta que vea WPILib Robot Java Development (si no lo ve, no tiene los recursos de wpilib instalados).
  3. Haga clic en Robot Java Project
  4. Luego, complete el nombre del proyecto y haga clic en el tipo de proyecto de robot basado en comandos (el paquete ya debería estar completo y lo mismo con el mundo de simulación).

Paso 3: Crear / completar RobotMap

Crear / completar RobotMap
Crear / completar RobotMap
Crear / completar RobotMap
Crear / completar RobotMap

Cree variables finales que contengan el número de los diferentes puertos de garra

Paso 4: Eliminar comando de ejemplo y subsistema de ejemplo

Eliminar comando de ejemplo y subsistema de ejemplo
Eliminar comando de ejemplo y subsistema de ejemplo
Eliminar comando de ejemplo y subsistema de ejemplo
Eliminar comando de ejemplo y subsistema de ejemplo

Paso 5: crear DriveTrainSubSystem

Crear DriveTrainSubSystem
Crear DriveTrainSubSystem
Crear DriveTrainSubSystem
Crear DriveTrainSubSystem
Crear DriveTrainSubSystem
Crear DriveTrainSubSystem
  1. Cree un nuevo constructor en el subsistema de transmisión recién creado. Luego crea objetos CANTalon que correspondan a las garras del tren motriz.
  2. Cree un RobotDrive llamado Drive
  3. Cree una instancia de estos objetos en el constructor (asegúrese de utilizar los valores de las garras que creamos en el mapa del robot). Para el Robot Drive usaremos el constructor que usa 4 controladores de motor (RobotDrive (SpeedController frontLeftMotor, SpeedController rearLeftMotor, SpeedController frontRightMotor, SpeedController rearRightMotor))
  4. Luego cree un método arcadeDrive () con dos variables de entrada donde x es hacia adelante y hacia atrás e y es derecha e izquierda. En el interior, llamará a drive.arcade con los valores de avance y rotación
  5. Luego cambie initDefaultCommand () para que contenga la línea setDefaultCommand (new DriveTrainCommand ());.
  6. No se preocupe por todos los errores todavía.

Paso 6: Cree el DriveTrainCommand

Crear el DriveTrainCommand
Crear el DriveTrainCommand
Crear el DriveTrainCommand
Crear el DriveTrainCommand
Crear el DriveTrainCommand
Crear el DriveTrainCommand
Crear el DriveTrainCommand
Crear el DriveTrainCommand
  1. Primero comience yendo al menú que hemos usado para crear el subsistema y el robot se proyecta a sí mismo (esta es la última vez que mostraré este paso real en los pasos futuros que diré solo para hacer un comando o para hacer un subsistema y asumirá que está en este menú.) Haga clic en el comando y complete el nombre de la clase con DriveTrainCommand (si cambia los nombres de estos archivos, no puede hacer que sean iguales).
  2. En el nuevo DriveTrainCommand, verá que hay 6 métodos, uno es el constructor y los otros 5 son partes del código que el robot llamará cuando se ejecute el comando. Sabemos lo que hace el constructor, así que expliquemos Initialize, execute, isFinished, end e interrumpido. Initialize se llama una vez cada vez que se llama al comando, el método de ejecución se llama continuamente hasta que el comando finaliza, lo que se debe a que finaliza cuando el método isFinished devuelve verdadero, el comando dejará de ejecutarse, el método end se llama una vez después de isFinished se llama al método, y el interrumpido se llama cuando los recursos de los comandos están siendo utilizados por otro comando y el comando finalizará (sin llamar al método end).
  3. Primero, en DriveTrainCommand en el constructor, debe agregar la línea require (requiere (Robot. DriveTrainSub)) y observe que DriveTrainSub no es el mismo que el nombre del subsistema y que es a propósito.

Paso 7: saltar al robot

Saltar al robot
Saltar al robot
Saltar al robot
Saltar al robot
Saltar al robot
Saltar al robot
Saltar al robot
Saltar al robot
  1. A continuación, vamos a saltar a la clase de robots.
  2. luego vamos a cambiar la línea (public static final ExampleSubsystem exampleSubsystem = new ExampleSubsystem ();) a (public static final DriveTrainSubsystem DriveTrainSub = new DriveTrainSubsystem ();) observe que el primer nombre después de final es el mismo que el nombre del subsistema y el nombre después de nuevo también observe que DriveTrainSub es el mismo que el nombre que pusimos en nuestro último paso y que no es el mismo que el nombre del subsistema (DEBE tener un nombre de objeto (DriveTrainSub) que no sea el mismo que el del subsistema nombre).
  3. Luego importe nuestro DriveTrainSubSystem.
  4. A continuación, eliminaremos la línea (chooser.addDefault ("Default Auto", new ExampleCommand ());)
  5. Luego elimine las importaciones no utilizadas.
  6. Entonces guarda.

Paso 8: Regrese a DriveTrainCommand

Volver a DriveTrainCommand
Volver a DriveTrainCommand
  1. import Robot (el segundo en la imagen)
  2. Luego guardar

Paso 9: Vaya a DriveTrainSub

Ir a DriveTrainSub
Ir a DriveTrainSub
  1. Importar DriveTrainCommand
  2. Entonces guarda.

Paso 10: A continuación, crearemos el código OI

A continuación, crearemos el código OI
A continuación, crearemos el código OI
  1. Vaya a OI.
  2. Cree un nuevo objeto de joystick público con el puerto 0.
  3. Y elimine las importaciones no utilizadas.
  4. Ahorrar.

Paso 11: Vaya a DriveTrainCommand

Ir a DriveTrainCommand
Ir a DriveTrainCommand
  1. Vaya a DriveTrainCommand.
  2. Ahora haremos la parte que tomamos los joysticks y los aplicamos para mover el robot. Dentro de la ejecución (porque se ejecuta constantemente) agregue la línea (Robot. DriveTrainSub.arcadeDrive (Robot.oi. Driver.getRawAxis (1), Robot.oi. Driver.getRawAxis (4));) donde llamamos arcadeDrive en nuestro subsistema con los valores de Robot.io. Driver.getRawAxis (1) que devuelve el valor del joystick y donde 1 es el eje del eje y izquierdo y lo mismo para el segundo valor excepto que 4 es el eje x derecho. por lo que esto significaría que el joystick izquierdo iría hacia adelante y hacia atrás y el joystick derecho iría hacia la derecha y la izquierda. (si lo desea, puede volver al RobotMap y crear nuevos valores para el eje del joystick, luego llamarlos con RobotMap. (nombre del eje) y no olvide hacerlos definitivos si lo hace de esta manera).
  3. A continuación, elimine las importaciones no utilizadas de todo el proyecto.

Paso 12: finalmente compile y cargue el código en el robot

Recomendado: