Class ElevatorSim

    • Constructor Detail

      • ElevatorSim

        public ElevatorSim​(LinearSystem<N2,​N1,​N1> plant,
                           DCMotor gearbox,
                           double gearing,
                           double drumRadiusMeters,
                           double minHeightMeters,
                           double maxHeightMeters)
        Creates a simulated elevator mechanism.
        Parameters:
        plant - The linear system that represents the elevator.
        gearbox - The type of and number of motors in the elevator gearbox.
        gearing - The gearing of the elevator (numbers greater than 1 represent reductions).
        drumRadiusMeters - The radius of the drum that the elevator spool is wrapped around.
        minHeightMeters - The min allowable height of the elevator.
        maxHeightMeters - The max allowable height of the elevator.
      • ElevatorSim

        public ElevatorSim​(LinearSystem<N2,​N1,​N1> plant,
                           DCMotor gearbox,
                           double gearing,
                           double drumRadiusMeters,
                           double minHeightMeters,
                           double maxHeightMeters,
                           Matrix<N1,​N1> measurementStdDevs)
        Creates a simulated elevator mechanism.
        Parameters:
        plant - The linear system that represents the elevator.
        gearbox - The type of and number of motors in the elevator gearbox.
        gearing - The gearing of the elevator (numbers greater than 1 represent reductions).
        drumRadiusMeters - The radius of the drum that the elevator spool is wrapped around.
        minHeightMeters - The min allowable height of the elevator.
        maxHeightMeters - The max allowable height of the elevator.
        measurementStdDevs - The standard deviations of the measurements.
      • ElevatorSim

        public ElevatorSim​(DCMotor gearbox,
                           double gearing,
                           double carriageMassKg,
                           double drumRadiusMeters,
                           double minHeightMeters,
                           double maxHeightMeters)
        Creates a simulated elevator mechanism.
        Parameters:
        gearbox - The type of and number of motors in the elevator gearbox.
        gearing - The gearing of the elevator (numbers greater than 1 represent reductions).
        carriageMassKg - The mass of the elevator carriage.
        drumRadiusMeters - The radius of the drum that the elevator spool is wrapped around.
        minHeightMeters - The min allowable height of the elevator.
        maxHeightMeters - The max allowable height of the elevator.
      • ElevatorSim

        public ElevatorSim​(DCMotor gearbox,
                           double gearing,
                           double carriageMassKg,
                           double drumRadiusMeters,
                           double minHeightMeters,
                           double maxHeightMeters,
                           Matrix<N1,​N1> measurementStdDevs)
        Creates a simulated elevator mechanism.
        Parameters:
        gearbox - The type of and number of motors in the elevator gearbox.
        gearing - The gearing of the elevator (numbers greater than 1 represent reductions).
        carriageMassKg - The mass of the elevator carriage.
        drumRadiusMeters - The radius of the drum that the elevator spool is wrapped around.
        minHeightMeters - The min allowable height of the elevator.
        maxHeightMeters - The max allowable height of the elevator.
        measurementStdDevs - The standard deviations of the measurements.
    • Method Detail

      • wouldHitLowerLimit

        public boolean wouldHitLowerLimit​(double elevatorHeightMeters)
        Returns whether the elevator would hit the lower limit.
        Parameters:
        elevatorHeightMeters - The elevator height.
        Returns:
        Whether the elevator would hit the lower limit.
      • wouldHitUpperLimit

        public boolean wouldHitUpperLimit​(double elevatorHeightMeters)
        Returns whether the elevator would hit the upper limit.
        Parameters:
        elevatorHeightMeters - The elevator height.
        Returns:
        Whether the elevator would hit the upper limit.
      • hasHitLowerLimit

        public boolean hasHitLowerLimit()
        Returns whether the elevator has hit the lower limit.
        Returns:
        Whether the elevator has hit the lower limit.
      • hasHitUpperLimit

        public boolean hasHitUpperLimit()
        Returns whether the elevator has hit the upper limit.
        Returns:
        Whether the elevator has hit the upper limit.
      • getPositionMeters

        public double getPositionMeters()
        Returns the position of the elevator.
        Returns:
        The position of the elevator.
      • getVelocityMetersPerSecond

        public double getVelocityMetersPerSecond()
        Returns the velocity of the elevator.
        Returns:
        The velocity of the elevator.
      • setInputVoltage

        public void setInputVoltage​(double volts)
        Sets the input voltage for the elevator.
        Parameters:
        volts - The input voltage.
      • updateX

        protected Matrix<N2,​N1updateX​(Matrix<N2,​N1> currentXhat,
                                              Matrix<N1,​N1> u,
                                              double dtSeconds)
        Updates the state of the elevator.
        Overrides:
        updateX in class LinearSystemSim<N2,​N1,​N1>
        Parameters:
        currentXhat - The current state estimate.
        u - The system inputs (voltage).
        dtSeconds - The time difference between controller updates.
        Returns:
        The new state.