Пример #1
0
 def __init__(self, distance, speed):
     super().__init__()
     self.drive = drive.Drive()
     self.requires(self.drive)
     self.odemetry = odemetry.Odemetry()
     self.speed = speed
     self.distance = distance
Пример #2
0
 def __init__(self, allocentric=False):
     super().__init__()
     self.allocentric = allocentric
     self.drive = drive.Drive()
     self.requires(self.drive)
     self.drive.zeroSensors()
     self.odemetry = odemetry.Odemetry()
Пример #3
0
 def __init__(self, filename):
     super().__init__()
     self.drive = drive.Drive()
     self.odemetry = odemetry.Odemetry()
     self.requires(self.drive)
     self.spline = hs.HermiteSpline(filename=filename)
     self.follower = purepursuit.PurePursuit(self.spline)
     self.follower.computeVelocities()
Пример #4
0
 def __init__(self):
     super().__init__()
     self.drive = drive.Drive()
     self.longarm = longarm.LongArm()
     self.shortarm = shortarm.ShortArm()
     self.odemetry = odemetry.Odemetry()
     self.requires(self.drive)
     self.requires(self.longarm)
     self.requires(self.shortarm)
Пример #5
0
 def __init__(self, controller):
     self.controller = controller
     self.drive = drive.Drive()
     self.odemetry = odemetry.Odemetry()
     self.drivetrain = drivetrains.MecanumDrivetrain(x_wheelbase=units.inchesToFeet(Constants.X_WHEEL_BASE), y_wheelbase=units.inchesToFeet(
         Constants.Y_WHEEL_BASE), speed=units.inchesToFeet(Constants.THEORETICAL_MAX_VELOCITY))
     self.starting_x = units.feetToInches(
         config.config_obj['pyfrc']['robot']['starting_x'])
     self.starting_y = units.feetToInches(
         config.config_obj['pyfrc']['robot']['starting_y'])
Пример #6
0
 def __init__(self, allocentric=False):
     super().__init__()
     self.allocentric = allocentric
     self.drive = drive.Drive()
     self.requires(self.drive)
     self.drive.zeroSensors()
     self.odemetry = odemetry.Odemetry()
     self.multiplier = 1000
     self.last_snap = 0
     self.setInterruptible(True)
Пример #7
0
 def __init__(self, setpoint, relative=False):
     super().__init__()
     self.drive = drive.Drive()
     self.odemetry = odemetry.Odemetry()
     self.requires(self.drive)
     self.setpoint = units.degreesToRadians(setpoint)
     self.relative = relative
     self.timer = wpilib.Timer()
     self.timestamp = 0
     self.last_timestamp = 0
     self.cur_error = 0
Пример #8
0
    def __init__(self, controller):
        self.controller = controller
        self.drive = drive.Drive()
        self.odemetry = odemetry.Odemetry()
        self.drivetrain = drivetrains.TwoMotorDrivetrain(
            x_wheelbase=units.inchesToFeet(Constants.WHEEL_BASE),
            speed=units.inchesToFeet(Constants.THEORETICAL_MAX_VELOCITY))
        self.starting_x = units.feetToInches(
            config.config_obj['pyfrc']['robot']['starting_x'])
        self.starting_y = units.feetToInches(
            config.config_obj['pyfrc']['robot']['starting_y'])

        self.kl_encoder = Constants.DRIVE_ENCODER_TICKS_PER_REVOLUTION_LEFT / \
            Constants.WHEEL_CIRCUMFERENCE
        self.kr_encoder = Constants.DRIVE_ENCODER_TICKS_PER_REVOLUTION_RIGHT / \
            Constants.WHEEL_CIRCUMFERENCE
Пример #9
0
 def __init__(self, setpoint):
     """Turn to setpoint (degrees)."""
     super().__init__()
     self.drive = drive.Drive()
     self.odemetry = odemetry.Odemetry()
     self.requires(self.drive)
     self.setpoint = setpoint
     src = self.odemetry.pidgyro
     self.PID = PIDController(Constants.TURN_TO_ANGLE_KP,
                              Constants.TURN_TO_ANGLE_KI,
                              Constants.TURN_TO_ANGLE_KD, src,
                              self._setMotors)
     self.PID.setInputRange(-180.0, 180.0)
     self.PID.setOutputRange(-0.7, 0.7)
     self.PID.setContinuous(True)
     self.PID.setAbsoluteTolerance(Constants.TURN_TO_ANGLE_TOLERANCE)
     self.PID.setPIDSourceType(PIDController.PIDSourceType.kDisplacement)
Пример #10
0
 def __init__(self, setpoint):
     """Turn to setpoint (degrees)."""
     super().__init__()
     self.drive = drive.Drive()
     self.odemetry = odemetry.Odemetry()
     self.requires(self.drive)
     self.setpoint = setpoint
     src = self.odemetry.pidgyro
     self.PID = PIDController(Constants.TURN_TO_ANGLE_KP,
                              Constants.TURN_TO_ANGLE_KI,
                              Constants.TURN_TO_ANGLE_KD, src,
                              self._setMotors)
     logging.debug(
         "Turn to angle constructed with angle {}".format(setpoint))
     self.PID.setInputRange(-180.0, 180.0)
     self.PID.setOutputRange(-Constants.TURN_TO_ANGLE_MAX_OUTPUT,
                             Constants.TURN_TO_ANGLE_MAX_OUTPUT)
     self.PID.setContinuous(True)
     self.PID.setAbsoluteTolerance(Constants.TURN_TO_ANGLE_TOLERANCE)
     self.PID.setPIDSourceType(PIDController.PIDSourceType.kDisplacement)
Пример #11
0
    def __init__(self, setpoint, relative=False):
        super().__init__()
        self.drive = drive.Drive()
        self.odemetry = odemetry.Odemetry()
        self.requires(self.drive)
        self.setpoint = units.degreesToRadians(setpoint)
        self.kp = Constants.TURN_TO_ANGLE_KP
        self.ki = Constants.TURN_TO_ANGLE_KI
        self.kd = Constants.TURN_TO_ANGLE_KD
        self.error_tolerance = Constants.TURN_TO_ANGLE_TOLERANCE
        self.timeout = Constants.TURN_TO_ANGLE_TIMEOUT
        self.controller = pid.PID(
            self.setpoint, self.kp, self.ki, self.kd, True, -180, 180)
        self.timestamp = 0
        self.last_timestamp = 0
        self.cur_error = 0
        self.relative = relative

        self.timer = wpilib.Timer()
        self.timeout = 1000
Пример #12
0
 def __init__(self):
     super().__init__()
     self.odemetry = odemetry.Odemetry()