Class PAPFController.LongitudinalObstacle

java.lang.Object
org.team1126.lib.math.PAPFController.Obstacle
org.team1126.lib.math.PAPFController.LongitudinalObstacle
Enclosing class:
PAPFController

public static final class PAPFController.LongitudinalObstacle extends PAPFController.Obstacle
An infinite line that pushes parallel to the X axis, to constrain forwards/backwards field-relative movement.
  • Constructor Details

    • LongitudinalObstacle

      public LongitudinalObstacle(double x, double strength, double range)
      Creates a longitudinal obstacle.
      Parameters:
      x - The X coordinate of the line.
      strength - The strength of the obstacle's force. Positive values represent a repulsive potential (pushes away), negative values represent an attractive potential (pulls towards).
      range - The range of the obstacle's potential, in meters.
    • LongitudinalObstacle

      public LongitudinalObstacle(double x, double strength, double range, PAPFController.ForceHeuristic heuristic)
      Creates a longitudinal obstacle.
      Parameters:
      x - The X coordinate of the line.
      strength - The strength of the obstacle's force. Positive values represent a repulsive potential (pushes away), negative values represent an attractive potential (pulls towards).
      range - The range of the obstacle's potential, in meters.
      heuristic - A heuristic for transforming the obstacle's force profile.
  • Method Details

    • applyForce

      public void applyForce(double x, double y, org.team1126.lib.math.PAPFController.NetForce netForce)
      Description copied from class: PAPFController.Obstacle
      Applies the force generated by the obstacle to the provided accumulator, based on the robot's current position and goal.
      Specified by:
      applyForce in class PAPFController.Obstacle
      Parameters:
      x - The robot's current X position on the field.
      y - The robot's current Y position on the field.
      netForce - The force accumulator to apply the force to.