MinimaxAdaptiveControl.evaluate
MinimaxAdaptiveControl.observe
MinimaxAdaptiveControl.observe
MinimaxAdaptiveControl.simulate!
MinimaxAdaptiveControl.update
MinimaxAdaptiveControl.update
MinimaxAdaptiveControl.update!
MinimaxAdaptiveControl.update!
MinimaxAdaptiveControl.evaluate
— Methodevaluate(v::AbstractPerformanceMetric{T}) where T<:Real
Evaluate the value of a performance metric.
Arguments
v::AbstractPerformanceMetric{T}
: The performance metric to be evaluated.
Returns
T
: The value of the performance metric.
MinimaxAdaptiveControl.observe
— Methodobserve(plant::SSPlant{T}, measurementDisturbance::AbstractVector{T}) where T<:Real
Observe the output of a state-space plant given measurement disturbances.
Arguments
plant::SSPlant{T}
: The state-space plant.measurementDisturbance::AbstractVector{T}
: The measurement disturbance vector.
Returns
Vector{T}
: The observed output vector.
MinimaxAdaptiveControl.observe
— Methodobserve(plant::OFPlant{T}, measurementDisturbance::AbstractVector{T}) where T<:Real
Observe the output of an output-feedback plant given measurement disturbances.
Arguments
plant::OFPlant{T}
: The output-feedback plant.measurementDisturbance::AbstractVector{T}
: The measurement disturbance vector.
Returns
Vector{T}
: The observed output vector.
Example
MinimaxAdaptiveControl.simulate!
— Functionsimulate!(states::AbstractMatrix{T}, outputs::AbstractMatrix{T}, controls::AbstractMatrix{T},
processDisturbances::AbstractMatrix{T}, measurementDisturbances::AbstractMatrix{T},
metricResults::AbstractMatrix{X}, metrics::AbstractVector{M}, plant::AbstractPlant{T},
controller::AbstractController{T}, duration::N) where T<:Real where N<:Integer where M <: AbstractPerformanceMetric where X
Simulate the control system for a given duration, updating states, outputs, controls, and metrics.
Arguments
states::AbstractMatrix{T}
: Matrix to store the state vectors over time.outputs::AbstractMatrix{T}
: Matrix to store the output vectors over time.controls::AbstractMatrix{T}
: Matrix to store the control vectors over time.processDisturbances::AbstractMatrix{T}
: Matrix of process disturbance vectors.measurementDisturbances::AbstractMatrix{T}
: Matrix of measurement disturbance vectors.metricResults::AbstractMatrix{X}
: Matrix to store metric evaluation results.metrics::AbstractVector{M}
: Vector of performance metrics to be evaluated.plant::AbstractPlant{T}
: The plant model being controlled.controller::AbstractController{T}
: The controller used to control the plant.duration::N
: The duration for which the simulation runs.
Description
This function simulates the control system over the specified duration. It updates the plant states, controller, and performance metrics at each time step.
Example
MinimaxAdaptiveControl.update!
— Methodupdate!(plant::SSPlant{T}, controls::AbstractVector{T}, processDisturbances::AbstractVector{T}) where T<:Real
Update the state of a state-space plant given control inputs and process disturbances.
Arguments
plant::SSPlant{T}
: The state-space plant to be updated.controls::AbstractVector{T}
: The control input vector.processDisturbances::AbstractVector{T}
: The process disturbance vector.
Returns
Vector{T}
: The updated state vector.
MinimaxAdaptiveControl.update!
— Methodupdate!(plant::OFPlant{T}, controls::AbstractVector{T}, processDisturbances::AbstractVector{T}) where T<:Real
Update the state of an output-feedback plant given control inputs and process disturbances.
Arguments
plant::OFPlant{T}
: The output-feedback plant to be updated.controls::AbstractVector{T}
: The control input vector.processDisturbances::AbstractVector{T}
: The process disturbance vector.
Returns
Vector{T}
: The updated state vector.
MinimaxAdaptiveControl.update
— Methodupdate(id::InducedlpGain{T, N}, input::AbstractVector{T}, output::AbstractVector{T}) where T<:Real where N<:Integer
Update the induced l_p gain metric with new input and output data.
Arguments
id::InducedlpGain{T, N}
: The induced l_p gain metric to be updated.input::AbstractVector{T}
: The input vector.output::AbstractVector{T}
: The output vector.
Returns
InducedlpGain{T, N}
: The updated induced l_p gain metric.
MinimaxAdaptiveControl.update
— Methodupdate(v::ValueFunction{T}, input::AbstractVector{T}, output::AbstractVector{T}) where T<:Real
Update the value function with new input and output data.
Arguments
v::ValueFunction{T}
: The value function to be updated.input::AbstractVector{T}
: The input vector.output::AbstractVector{T}
: The output vector.
Returns
ValueFunction{T}
: The updated value function.