Table des matières:

Comment écrire une transmission simple pour FRC (Java): 12 étapes (avec photos)
Comment écrire une transmission simple pour FRC (Java): 12 étapes (avec photos)

Vidéo: Comment écrire une transmission simple pour FRC (Java): 12 étapes (avec photos)

Vidéo: Comment écrire une transmission simple pour FRC (Java): 12 étapes (avec photos)
Vidéo: Programmer en Java #05 : Ecrire Un premier programme java 2024, Juillet
Anonim
Comment écrire une transmission simple pour FRC (Java)
Comment écrire une transmission simple pour FRC (Java)

Il s'agit d'un tutoriel sur la façon de créer une transmission simple pour un robot FRC. Ce tutoriel suppose que vous connaissez les bases de Java, Eclipse et que vous avez déjà installé wpilib, ainsi que les bibliothèques CTRE.

Étape 1:

Image
Image

Ouvrir l'éclipse

Étape 2: Créer un nouveau projet de robot

Créer un nouveau projet de robot
Créer un nouveau projet de robot
Créer un nouveau projet de robot
Créer un nouveau projet de robot
Créer un nouveau projet de robot
Créer un nouveau projet de robot
Créer un nouveau projet de robot
Créer un nouveau projet de robot
  1. Cliquez avec le bouton droit sur l'explorateur de packages, cliquez sur nouveau, puis sur autre.
  2. Faites défiler jusqu'à ce que vous voyiez WPILib Robot Java Development (si vous ne le voyez pas, vous n'avez pas installé les ressources wpilib.)
  3. Cliquez sur Robot Java Project
  4. Ensuite, remplissez le nom du projet et cliquez sur le type de projet de robot basé sur des commandes. (Le package doit déjà être rempli et identique au monde de la simulation.)

Étape 3: Créer/Remplir RobotMap

Créer/Remplir RobotMap
Créer/Remplir RobotMap
Créer/Remplir RobotMap
Créer/Remplir RobotMap

Créez des variables finales qui contiennent le nombre des différents ports de talon

Étape 4: Supprimer l'exemple de commande et l'exemple de sous-système

Supprimer l'exemple de commande et l'exemple de sous-système
Supprimer l'exemple de commande et l'exemple de sous-système
Supprimer l'exemple de commande et l'exemple de sous-système
Supprimer l'exemple de commande et l'exemple de sous-système

Étape 5: Créer DriveTrainSubSystem

Créer un sous-système DriveTrain
Créer un sous-système DriveTrain
Créer un sous-système DriveTrain
Créer un sous-système DriveTrain
Créer un sous-système DriveTrain
Créer un sous-système DriveTrain
  1. Créez un nouveau constructeur dans le sous-système de transmission nouvellement créé. Créez ensuite des objets CANTalon qui correspondent aux serres de la transmission.
  2. Créer un RobotDrive appelé Drive
  3. Instanciez ces objets dans le constructeur (assurez-vous d'utiliser les valeurs des serres que nous avons créées dans la carte du robot). Pour le Robot Drive, nous utiliserons le constructeur qui utilise 4 contrôleurs de moteur (RobotDrive (SpeedController frontLeftMotor, SpeedController rearLeftMotor, SpeedController frontRightMotor, SpeedController rearRightMotor))
  4. Créez ensuite une méthode arcadeDrive() avec deux variables d'entrée où x est en avant et en arrière et y est à droite et à gauche. À l'intérieur, vous appellerez drive.arcade avec les valeurs d'avance et de rotation
  5. Modifiez ensuite initDefaultCommand() pour qu'il contienne la ligne setDefaultCommand(new DriveTrainCommand());.
  6. Ne vous inquiétez pas encore de toutes les erreurs.

Étape 6: créez la commande DriveTrain

Créer la commande DriveTrain
Créer la commande DriveTrain
Créer la commande DriveTrain
Créer la commande DriveTrain
Créer la commande DriveTrain
Créer la commande DriveTrain
Créer la commande DriveTrain
Créer la commande DriveTrain
  1. Commencez d'abord par aller dans le menu que nous avons utilisé pour créer le sous-système et le robot se projette lui-même (c'est la dernière fois que je montrerai cette étape réelle dans les prochaines étapes, je dirai juste pour faire une commande ou pour faire un sous-système et vous supposerez qu'il se trouve dans ce menu.) Cliquez sur commande et remplissez le nom de la classe avec DriveTrainCommand (si vous modifiez les noms de ces fichiers, vous ne pouvez pas les avoir identiques).
  2. Dans la nouvelle DriveTrainCommand, vous verrez qu'il existe 6 méthodes, l'une étant le constructeur et les 5 autres faisant partie du code que le robot appellera lorsque la commande est en cours d'exécution. Nous savons ce que fait le constructeur, alors expliquons Initialize, execute, isFinished, end et interrupted. Initialize est appelé une fois à chaque appel de la commande, la méthode execute est appelée en continu jusqu'à la fin de la commande, ce qui est dû au fait que est terminé lorsque la méthode isFinished renvoie true la commande s'arrêtera de s'exécuter, la méthode end est appelée une fois après isFinished méthode est appelée, et l'interruption est appelée lorsque les ressources de commandes sont utilisées par une autre commande et la commande se terminera (sans appeler la méthode end).
  3. Tout d'abord, dans DriveTrainCommand dans le constructeur, vous devez ajouter la ligne require(requires(Robot. DriveTrainSub)) notez que DriveTrainSub n'est pas le même que le nom du sous-système et que c'est volontaire.

Étape 7: Passer au robot

Aller au robot
Aller au robot
Aller au robot
Aller au robot
Aller au robot
Aller au robot
Aller au robot
Aller au robot
  1. Ensuite, nous allons passer à la classe Robot
  2. alors nous allons changer la ligne (public static final ExampleSubsystem exampleSubsystem = new ExampleSubsystem ();) en (public static final DriveTrainSubsystem DriveTrainSub = new DriveTrainSubsystem ();) notez que le premier nom après final est le même que le nom du sous-système et le nom après nouveau notez également que le DriveTrainSub est le même que le nom que nous avons mis dans notre dernière étape et qu'il n'est pas le même que le nom du sous-système (vous DEVEZ avoir un nom d'objet (DriveTrainSub) qui n'est pas le même que le sous-système Nom).
  3. Ensuite, importez notre DriveTrainSubSystem.
  4. Ensuite, nous supprimerons la ligne (chooser.addDefault("Default Auto", new ExampleCommand());)
  5. Supprimez ensuite les importations inutilisées.
  6. Ensuite, enregistrez.

Étape 8: Retournez à DriveTrainCommand

Retournez à DriveTrainCommand
Retournez à DriveTrainCommand
  1. import Robot (le deuxième dans l'image)
  2. Puis Enregistrez

Étape 9: Accédez à DriveTrainSub

Aller à DriveTrainSub
Aller à DriveTrainSub
  1. Importer la commande DriveTrain
  2. Ensuite, enregistrez.

Étape 10: Ensuite, nous allons créer le code OI

Ensuite, nous allons créer le code OI
Ensuite, nous allons créer le code OI
  1. Allez sur OI.
  2. Créez un nouvel objet joystick public avec le port 0.
  3. Et supprimez les importations inutilisées.
  4. Sauvegarder.

Étape 11: Accédez à DriveTrainCommand

Aller à DriveTrainCommand
Aller à DriveTrainCommand
  1. Accédez à DriveTrainCommand.
  2. Maintenant, nous allons faire la partie qui prend les joysticks et les appliquer pour déplacer le robot. À l'intérieur de l'exécution (car il s'exécute en permanence), ajoutez la ligne (Robot. DriveTrainSub.arcadeDrive(Robot.oi. Driver.getRawAxis(1), Robot.oi. Driver.getRawAxis(4));) où nous appelons l'arcadeDrive dans notre sous-système avec les valeurs de Robot.io. Driver.getRawAxis(1) qui renvoie la valeur du joystick et où 1 est l'axe de l'axe y de gauche et de même pour la deuxième valeur sauf que 4 est l'axe x de droite. cela signifierait donc que le manche gauche irait en avant et en arrière et le manche droit irait à droite et à gauche. (si vous le souhaitez, vous pouvez revenir à RobotMap et créer de nouvelles valeurs pour l'axe du joystick, puis les appeler avec RobotMap.(nom de l'axe) et n'oubliez pas de les rendre définitives si vous procédez ainsi.)
  3. Supprimez ensuite toutes les importations inutilisées de l'ensemble du projet.

Étape 12: Enfin, compilez et téléchargez le code sur le robot

Conseillé: