Documentation

ASP Documentation.

Ampharos Simple Pathing is still not available for general public, the current ETA is the end of March due to our Nationals Event being held.

This documentation is still not yet complete and missing components under testing (such as Auto Tuning and Tuning in general)

Getting Started

Downloading

You can download ASP from our GitHub page. Versions are available for OnBotJava and Android Studio.

Troubleshooting

You can join our Discord server to get help : ASP Discord

Or ping @jaumthe16th in the FTC official discord.

Tuning

ASP currently supports Mecanum Drive using GoBilda Pinpoint Computer localization.

Drive Train Tuning

Each drive train has its own tuning class. Tuning includes:

  • Translation PID (kPT, kIT, kDT)
  • Heading PID (kPH, kIH, kDH)
  • Distance tolerances (inches & degrees)

Mecanum Tuning Example

 
       
        public class MyMecanumTuning extends ASPMecanumTuning {

            // Translation PID
            double kPT = 0.02;
            double kIT = 0.06;
            double kDT = 0.44;

            // Heading PID
            double kPH = 0.05;
            double kIH = 0.12;
            double kDH = 0.44;

            // Tolerances
            double translationTolerance = 2.3; // inches
            double headingTolerance = 2; // degrees

            // Motor configuration... (Copy from the ASPMecanumTuning in /asp/tuning/ASPMecanumTuning.java)
        }
       
    

Autonomous

Creating an Autonomous with ASP is straightforward once your robot is tuned.

Poses

A Pose represents the robot position on the field: X, Y (in inches), and Heading (degrees).

        ASPPose2D pose1 = new ASPPose2D(0, 0, 5);
        ASPPose2D pose2 = new ASPPose2D(0, 41, 25);
        

Paths

Paths are used by our Drive Trains
A Path in ASP consits of many Poses.

Making a new Path is very easy.

          ASPPose2D myPose1 = new Pose2D(0, 41, 5);

          new ASPPath().add(new ASPPose2D(0, 0, 0))
          .add(new ASPPose2D(0, 15, 0))
          .add(new ASPPose2D(0, 15, 25))
          .add(myPose1);
          

Example

Here is an Example MecanumDriveTrain Autonomous class.

        @Autonomous
        public class MyASPAutonomous extends LinearOpMode {
            ASPLocalizer localizer;
            ASPMecanumDriveTrain drive;

            @Override
            public void runOpMode() {
                // Initializes our Localizer
                localizer = new ASPPinpointLocalizer(
                        hardwareMap,
                        new ASPPose2D(0, 0, 0)
                );

                // Initializes our DriveTrain
                drive = new ASPMecanumDriveTrain(hardwareMap, localizer, new MyASPMecanumTuning());

                // Creates a Path
                drive.paths = new ASPPath().add(new ASPPose2D(0, 0, 0))
                .add(new ASPPose2D(0, 15, 0))
                .add(new ASPPose2D(0, 15, 25))
                .add(new ASPPose2D(0, 0, 0));

                waitForStart();

                while (opModeIsActive()) {
                    drive.update(); // Updates DriveTrain
                    drive.followTarget(); // Follows the path
                }
            }
        }
        

Tools

ASP Path Visualizer

The ASP Path Visualizer helps you create and preview paths visually. You can download it here.