Skip to content

Python Notebooks - #6

Merged
y0shi merged 1 commit into
developmentfrom
AI_Vision
Feb 5, 2026
Merged

Python Notebooks#6
y0shi merged 1 commit into
developmentfrom
AI_Vision

Conversation

@bunny2027

Copy link
Copy Markdown

No description provided.

@github-actions

github-actions Bot commented Feb 5, 2026

Copy link
Copy Markdown

AI Code Review

Hey team! This PR introduces some interesting files related to vision, which is a fantastic area to explore for our robot!

Positive Highlights

  • It's great to see initiatives to explore vision processing and machine learning (like with the TensorFlow notebook)! This kind of research is really valuable for future robot capabilities.
  • You've correctly placed the camconfig.java file within the frc.robot.subsystems.Vision package, which is a good start for organizing vision-related Java code.

Suggestions

Here are a few suggestions to help integrate these changes smoothly and follow our team's guidelines:

Code Organization and Build System

  • File: src/main/java/frc/robot/subsystems/Vision/Training Notebooks/tensorflow_datasets.ipynb
    • Suggestion: This file is a Python Jupyter Notebook (.ipynb). Our src/main/java directory is specifically for Java source code that gets compiled into the robot program. Placing Python notebooks here will cause issues with our Gradle build system, as it won't know how to handle them as Java files.
    • Why it matters: Keeping non-Java files out of src/main/java ensures our build process runs correctly and efficiently.
    • Recommendation: Consider creating a separate, top-level directory (e.g., vision_training_notebooks/ or docs/vision/) in the root of our repository for these kinds of research and training notebooks. This keeps them accessible for learning without interfering with the robot's Java codebase.

Java Naming Conventions

  • File: src/main/java/frc/robot/subsystems/Vision/camconfig.java
    • Suggestion: Our Java standards suggest using PascalCase for class names. This means that camconfig should be named CamConfig.
    • Why it matters: Consistent naming makes our code much easier to read and understand for everyone on the team, especially as the project grows. It's a small change that makes a big difference in maintainability!
    • Recommendation: Please rename the file and the class declaration to CamConfig.java.

Questions

  • File: src/main/java/frc/robot/subsystems/Vision/camconfig.java
    • Could you share a little more about what you envision for the CamConfig class? Is it going to hold constants for camera IDs, resolution settings, or perhaps methods for configuring a camera? Knowing its intended purpose will help us ensure it aligns with our architecture standards!

Keep up the great work exploring new avenues for the robot! Learning and experimenting like this is how we grow as a team.


This review was automatically generated by AI. Please use your judgment and feel free to discuss any suggestions!

@github-actions

github-actions Bot commented Feb 5, 2026

Copy link
Copy Markdown

⚠️ Code Formatting Issues Detected

The following formatting violations were found:

The following files had format violations:
      src/main/java/frc/robot/RobotContainer.java
          @@ -7,7 +7,6 @@
           import·edu.wpi.first.wpilibj2.command.Command;
           import·edu.wpi.first.wpilibj2.command.button.CommandXboxController;
           import·edu.wpi.first.wpilibj2.command.button.Trigger;
          -
           import·frc.robot.subsystems.drive.DriveConstants;
           import·frc.robot.subsystems.drive.DrivetrainSubsystem;
           
          @@ -39,22 +38,31 @@
           ···*·PS4}·controllers·or·{@link·edu.wpi.first.wpilibj2.command.button.CommandJoystick·Flight
           ···*·joysticks}.
           ···*/
          -··private·void·configureBindings()·{
          -···
          -··}
          +··private·void·configureBindings()·{}
           
          -··//Subsystem·Default·Commands
          -··private·void·configureSubsystemDefaultCommands(){
          +··//·Subsystem·Default·Commands
          +··private·void·configureSubsystemDefaultCommands()·{
           
           ····drivetrain.setDefaultCommand(
          -······//·Drivetrain·will·execute·this·command·periodically
          -······drivetrain.applyRequest(()·->
          -········DriveConstants.DEFAULT_DRIVE_REQUEST.withVelocityX(-1·*·Math.copySign(Math.pow(joystick.getLeftY(),2),·joystick.getLeftY())·*·DriveConstants.MAX_DRIVE_SPEED)·//·Drive·forward·with·negative·Y·(forward)
          -··········.withVelocityY(-1·*·Math.copySign(Math.pow(joystick.getLeftX(),·2),·joystick.getLeftX())·*·DriveConstants.MAX_DRIVE_SPEED)·//·Drive·left·with·negative·X·(left)
          -··········.withRotationalRate(-1·*·Math.copySign(Math.pow(joystick.getRightX(),·2),·joystick.getRightX())·*·DriveConstants.MAX_ANGULAR_SPEED)·//·Drive·counterclockwise·with·negative·X·(left)
          -········)
          -····);
          -
          +········//·Drivetrain·will·execute·this·command·periodically
          +········drivetrain.applyRequest(
          +············()·->
          +················DriveConstants.DEFAULT_DRIVE_REQUEST
          +····················.withVelocityX(
          +························-1
          +····························*·Math.copySign(Math.pow(joystick.getLeftY(),·2),·joystick.getLeftY())
          +····························*·DriveConstants
          +································.MAX_DRIVE_SPEED)·//·Drive·forward·with·negative·Y·(forward)
          +····················.withVelocityY(
          +························-1
          +····························*·Math.copySign(Math.pow(joystick.getLeftX(),·2),·joystick.getLeftX())
          +····························*·DriveConstants.MAX_DRIVE_SPEED)·//·Drive·left·with·negative·X·(left)
          +····················.withRotationalRate(
          +························-1
          +····························*·Math.copySign(Math.pow(joystick.getRightX(),·2),·joystick.getRightX())
          +····························*·DriveConstants
          +································.MAX_ANGULAR_SPEED)·//·Drive·counterclockwise·with·negative·X·(left)
      ... (4 more lines that didn't fit)
  Violations also present in:
      src/main/java/frc/robot/statemachines/DriveState.java
      src/main/java/frc/robot/subsystems/Vision/camconfig.java
      src/main/java/frc/robot/subsystems/drive/DriveConstants.java
      src/main/java/frc/robot/subsystems/drive/DrivetrainSubsystem.java
      src/main/java/frc/robot/subsystems/vision/CameraConstants.java
  Run './gradlew

To fix these issues locally:

./gradlew spotlessApply

Then commit and push the changes.

@y0shi
y0shi merged commit e778c14 into development Feb 5, 2026
2 checks passed
@y0shi
y0shi deleted the AI_Vision branch February 5, 2026 01:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants