Class RollerAimAtCmd<T extends TagalongSubsystemBase & RollerAugment>

All Implemented Interfaces:
Sendable

Command that continuously points at a target in 2d space. For rotational targeting give robot position as (X, Y) pose For vertical targets give (distance from target, mechanism height)
  • Constructor Details

    • RollerAimAtCmd

      public RollerAimAtCmd(int id, T roller, Supplier<Translation2d> positionSupplier, Translation2d target)
      Minimal constructor with default parameters
      Parameters:
      id - Integer ID of the roller microsystem inside the Tagalong Subsystem
      roller - Tagalong Subsystem containing a roller microsystem
      positionSupplier - Supplies the current robot position position
      target - Unmoving 2-dimensional target location
    • RollerAimAtCmd

      public RollerAimAtCmd(T roller, Supplier<Translation2d> positionSupplier, Translation2d target)
      Minimal constructor with default parameters
      Parameters:
      roller - Tagalong Subsystem containing a roller microsystem
      positionSupplier - Supplies the current robot position position
      target - Unmoving 2-dimensional target location
    • RollerAimAtCmd

      public RollerAimAtCmd(int id, T roller, Supplier<Translation2d> positionSupplier, Translation2d target, boolean holdPositionAfter, double maxVelocityRPS)
      Constructor that creates the command with the below parameters.
      Parameters:
      id - Integer ID of the roller microsystem inside the Tagalong Subsystem
      roller - Tagalong Subsystem containing a roller microsystem
      positionSupplier - Supplies the current robot position position
      target - Unmoving 2-dimensional target location
      holdPositionAfter - If the roller should hold position when the command completes
      maxVelocityRPS - The maximum velocity of the roller, in rotations per second, during this command
    • RollerAimAtCmd

      public RollerAimAtCmd(T roller, Supplier<Translation2d> positionSupplier, Translation2d target, boolean holdPositionAfter, double maxVelocityRPS)
      Constructor that creates the command with the below parameters.
      Parameters:
      roller - Tagalong Subsystem containing a roller microsystem
      positionSupplier - Supplies the current robot position position
      target - Unmoving 2-dimensional target location
      holdPositionAfter - If the roller should hold position when the command completes
      maxVelocityRPS - The maximum velocity of the roller, in rotations per second, during this command
    • RollerAimAtCmd

      public RollerAimAtCmd(int id, T roller, Supplier<Translation2d> positionSupplier, Translation2d target, boolean holdPositionAfter)
      Constructor that creates the command with the below parameters.
      Parameters:
      id - Integer ID of the roller microsystem inside the Tagalong Subsystem
      roller - Tagalong Subsystem containing a roller microsystem
      positionSupplier - Supplies the current robot position position
      target - Unmoving 2-dimensional target location
      holdPositionAfter - If the roller should hold position when the command completes
    • RollerAimAtCmd

      public RollerAimAtCmd(T roller, Supplier<Translation2d> positionSupplier, Translation2d target, boolean holdPositionAfter)
      Constructor that creates the command with the below parameters.
      Parameters:
      roller - Tagalong Subsystem containing a roller microsystem
      positionSupplier - Supplies the current robot position position
      target - Unmoving 2-dimensional target location
      holdPositionAfter - If the roller should hold position when the command completes
  • Method Details

    • positionTransform

      protected static DoubleSupplier positionTransform(Supplier<Translation2d> location, DoubleSupplier rollerPosition, Translation2d target)
      Transform position into an optimal path angle to target, ignores yaw
      Parameters:
      location - Current robot location supplier
      rollerPosition - Roller position supplier
      target - Target to aim at's location
      Returns:
      Optimal path target angle for the roller