Package com.crossbotics.ftchelper.finders


package com.crossbotics.ftchelper.finders
  • Classes
    Class
    Description
    Finds the camera offset for aiming: where the target sits in the camera's view when the LAUNCHER points straight at it.
    The math behind the Characterizer: from a log of power, battery voltage and speed, it finds the motor's feedforward numbers (see control/Feedforward): power = kS x sign(speed) + kV x speed + kA x acceleration (+ kG for a lift).
    One fit.
    Measures how the real robot moves, so the simulator (and your code) can use real numbers: for the drivetrain, each lift or arm, and each flywheel, it finds the feedforward numbers (kS = power to start moving, kV = power per speed, kA = power per speeding-up, kG = power to hold a lift) and how fast a flywheel coasts down.
    A lift, arm or flywheel to measure.
    A list on the Driver Station to choose from with the D-pad (for example every servo in the configuration).
    Finds the autonomous drive numbers in RobotSettings.auto(): the wheel size and (mecanum) the strafe correction.
    The arithmetic behind the finders, kept apart so it can be tested on a laptop.
    The shared frame of every finder: INIT, a loop that never waits, the "copy into your code" lines, saving them to the results file, and stopping everything at the end (even after an error).
    What a finder found, as lines of code ready to copy.
    Finds a flywheel's speed-control numbers.
    Finds a launcher hood's calibration for Tunables.Hood: the servo position (or encoder ticks) at its two hard stops (posA, posB), and if you measure them, the hood's angle there (angleA, angleB) and at points in between (a calibration table, for a linkage that is not a straight line).
    Finds a motor mechanism's numbers (a lift, an arm, a turret): its limits in encoder counts, the positions you want, and its top speed.
    Checks and measures the odometry of the robot in five files (lesson 7): which way each pod counts, how far it measures, and where the pods sit (the offsets).
    The Piece Tuner: shows what each PieceSensor of your robot reads, and measures the numbers it needs.
    Finds a servo's numbers: its safe ends (limits) and the positions you want (open, closed, ...).
    The good shots saved in the shot tuner: distance, speed and (if there is a hood) hood angle, with how many went in and the flywheel speed really measured at the shots.
    The distance averaged over the last ShotPoints.DistanceAverage.WINDOW_SEC seconds of fresh readings, so one noisy camera frame does not go into the table.
    One saved point: the shot, and what the tuner saw while testing it.
    Hits and shots at each speed (and hood angle) tried at ONE spot, the way teams tune: shoot 3-5 at a speed, mark each HIT or MISS, try the next speed, and keep the speed with the best hit ratio (hits / shots: 3 in out of 4 = 3/4).
    The Shot Tuner's shots at one spot: each shot fired waits to be marked HIT or MISS, and keeps the speed, hood angle and distance it was FIRED with (not what the screen says when you mark it).
    Builds the shot table: the flywheel speed (and hood angle) for each distance.