Skip to content
/ Blitz Public

Blitz is advanced software for modeling autonomous routine trajectories for VEX Robotics Competitions.

License

Notifications You must be signed in to change notification settings

Vlarkus/Blitz

Repository files navigation

Blitz Logo

Blitz

Complex Made Simple

Version 1.0.0


Introduction

Blitz is advanced software for modeling autonomous routine trajectories for VEX Robotics Competitions. It simplifies the complex process of trajectory planning by providing intuitive tools for generating and editing various splines. With Blitz, teams can efficiently design and fine-tune their robot's autonomous routines.

Blitz's Philosophy: simplicity in usage & complexity in customization.


How To Use

See the YouTube tutorial videos to get started with Blitz:


Installation Instructions

To install Blitz on your system, please follow these steps:

  1. Install Java

    Make sure you have the Java Development Kit (JDK) installed (recommended version: 21+). You can download it from Oracle's official website or use an open-source alternative like OpenJDK.

  2. Install Gradle

    Blitz uses Gradle for building the project (recommended version: 8.8). Download and install Gradle from the official website.

  3. Clone the Project

    Open your terminal and run the following commands:

    git clone https://github.com/Vlarkus/Blitz.git
    cd blitz
  4. Build the Project

    Use Gradle to build Blitz:

    gradle build
  5. Run Blitz

    After building, go to app/src/main/java/blitz/Main.java and run the file. Alternatively, you can use Gradle to run Blitz:

    gradle run

Report / Suggest

We value your feedback! If you encounter any issues or have suggestions for improvements, please:


Known Issues

Currently, we are aware of the following issues:

  • Laggy Spline Behavior: Certain spline types may cause noticeable lag upon editing.
  • Inconsistent Load of Custom Fields: Custom fields may not always load properly through the View/Change Field menu.
  • Jittering on Max Zoom Out: Panning on a max zoom out may cause jittering.

We are actively working to resolve these problems. Stay updated by checking our Issues page.


Future Implementations & Improvements

Here is a list of features and improvements we plan to implement in the near future:

  • Path Following Visualization: Visualize robot paths with a configurable box when hovering over a path segment.
  • Advanced Trajectory Planner: Addition of a trajectory planner menu to allow the user modify selected trajectory by changing speed and time of the robot on different segments with keyframes.
  • View Modes: Choose to visualize trajectories with the regard to their speed, time, curvature, or none.
  • Settings: Addition of a settings window to configure visual, calculational, default, and other features within the program.
  • Action History: Addition of UNDO and REDO functionality.
  • Units: Choose other measuring systems when editing trajectories (currently the only choice is inches).
  • Configurable Coordinate Systems: Choose the origin and the absolute orientation on the field.
  • Copy / Merge Tool: Addition of a copy / merge window that creates a new trajectory from selected control points of multiple trajectories in the specified order.
  • Canvas Panel Optimization: Optimize structural and rendering functionality of the Canvas Panel to eliminate lag.
  • Curve Calculations Optimization: Optimize the calculations used for curve generation.
  • Multi-Select Position Editing within One Trajectory: Edit position of multiple control points within the same trajectory.
  • More Export Options: Support for more formats.
  • Support for Holonomic Drive Systems: Adaptation of the functionality to model trajectories for holonomic drive systems.

How to Contribute

We welcome contributions from the community! Here's how you can contribute:

  1. Fork the Repository

    Click the "Fork" button at the top-right corner of the repository page.

  2. Clone Your Fork

    git clone https://github.com/your-username/blitz.git
    cd blitz
  3. Create a New Branch

    git checkout -b feature/your-feature-name
  4. Make Your Changes

    Implement your feature or bug fix.

  5. Commit Your Changes

    git add .
    git commit -m "Add your feature"
  6. Push to Your Fork

    git push origin feature/your-feature-name
  7. Submit a Pull Request

    Go to your fork on GitHub and click the "New Pull Request" button.


License

Blitz is distributed under the Apache License, Version 2.0. See the LICENSE file for more information.


About

Blitz is advanced software for modeling autonomous routine trajectories for VEX Robotics Competitions.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages