Team 3476 Introduces: AutoBuilder

Hi everyone! Over the past year I’ve been working on a GUI to make making autos easier and quicker. It differentiates itself in that it allows you to write code to execute any method in your robot code from within the autonomous GUI.

If you’ve stumbled onto this project before this post, I’ve made some significant changes that adds support for command based robots, and have compiled the robot side code into a convenient library to reduce the amount of code that you need to write on the robot.

Features

  1. Fast, intuitive GUI for designing robot autos.
  2. Supports holonomic (swerve/mecanum) & differential drivebases.
  3. Built in scripting blocks allow you to execute robot code via reflection.
  4. Iterate without deploying. This tool uses networktables to upload your autonomous to the robot so you can quickly iterate without slowing down. Deploys usually take 2-3s
  5. See how long your auto will take before you deploy. We’re using the same trajectory and path planner that your robot uses. What you see is what you will get!
  6. Real-time feedback. The path that your robot drives will be visible in the GUI. Use this to see where things are going wrong and quickly fix them.

If you’re interested in learning more or want to get started on using this tool with your robot visit our wiki. If your robot can already drive autonomous paths, implementing this library into your code should take less than an hour.

Download: Building and Downloading this project · varun7654/AutoBuilder Wiki · GitHub

If you have any questions, need help, or have feedback feel free to ask below or on github discussions.

51 Likes

OMG, We LOVE AutoBuilder and made extensive use of it to achieve a 5 ball auton this season, THANK YOU for all your hard work on this lovely tool.

2 Likes

New Year, new season, and a ton of new updates!

For the past half year, I’ve been continuing to work on the AutoBuilder, and here are some of the new features:

  • Commands can now be executed by the Command Scheduler by simply typing out their name in a script block
    • Includes support for commands in anonymous classes. See here for how this works.
    • Add the @RequireWait annotation to tell the AutoBuilder to wait for a command to finish executing before continuing through the rest of the auto.
      image
  • A new settings menu with an intuitive GUI for editing constraints
  • The Autonomous timeline is now resizable
    2023-01-04 15-10-23_1
  • Autos are now saved in the msgpack format and load ~40% faster.
  • Autosave!
  • Colorful Syntax Highlighting!
  • Pressing alt will show the position of the mouse on the field
  • Add numerous other improvements and bug fixes

And as always, the latest release is on GitHub, with the robot-side library on my maven. The docs have also been updated for all the new features.

3 Likes

This is really amazing! Question though. How do we change the field’s image to the current years game?

You can see how it was done in a previous commit: update field image to 2022 layout · FRC3476/AutoBuilder@2eb375d · GitHub

I’ll do a release later today or tomorrow with the new field images!

1 Like

You can actually now change the field image by placing a file name field.png in the AutoBuilder’s config directory. You’ll then need to set some config values to tell the GUI how to render the field properly

Just released a new version that updates the default field images to the 2023 field. Release AutoBuilder v2.2.1 · FRC3476/AutoBuilder (github.com)

You will need to update some config values in the settings menu if you’ve previously used an older version of the AutoBuilder to ensure that your field image renders correctly!

Make sure, under your app config, that you have the following values set

  • Point Scale Factor: 159.83
  • Origin X: -598.0
  • Origin Y: -1080.0

Oh ok. Thank you so much. This GUI is really an amazing feature to have

1 Like

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.