-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Vd/documentation #315
Vd/documentation #315
Changes from 8 commits
bfbb048
b2838a9
00f629a
a953af0
9d37e10
404de36
2bafd38
6122530
8bf5d17
92b38b2
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,14 @@ | ||
# Problem | ||
|
||
This folder contains structures that are used to encode which kind of problem you want to solve. | ||
This folder contains structures that are used to encode which kind of problem you want to solve. Each problem is encoded as a ProblemType. | ||
|
||
```@docs | ||
Dionysos.Problem.ProblemType | ||
``` | ||
|
||
So far, two types of problems have been considered: the reach-avoid optimal control problems and the safety control problems. | ||
|
||
```@docs | ||
Dionysos.Problem.OptimalControlProblem | ||
Dionysos.Problem.SafetyProblem | ||
``` |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,23 +3,36 @@ | |
This folder contains different ways to define systems, for instance to encode a controller. | ||
|
||
## Control system | ||
|
||
Each control system should be implemented as a ControlSystem . | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Space before dot |
||
|
||
```@docs | ||
Dionysos.System.ControlSystem | ||
``` | ||
|
||
So far, we have implemented a few examples of control systems : | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Space before : |
||
|
||
```@docs | ||
Dionysos.System.SimpleSystem | ||
Dionysos.System.ControlSystemGrowth | ||
Dionysos.System.ControlSystemLinearized | ||
Dionysos.System.SimpleSystem | ||
Dionysos.System.EllipsoidalAffineApproximatedSystem | ||
Dionysos.System.AffineApproximationDiscreteSystem | ||
Dionysos.System.SymbolicSystem | ||
``` | ||
|
||
## Controller | ||
So far, the abstraction-based methods that we use define either piece-wise constant or piecewise-affine controllers. | ||
|
||
```@docs | ||
Dionysos.System.ConstantController | ||
Dionysos.System.AffineController | ||
``` | ||
|
||
## SHOULD BE REMOVED | ||
## Trajectories | ||
```@docs | ||
Dionysos.System.DiscreteTrajectory | ||
Dionysos.System.ContinuousTrajectory | ||
Dionysos.System.HybridTrajectory | ||
Dionysos.System.Trajectory | ||
Dionysos.System.Control_trajectory | ||
Dionysos.System.Cost_control_trajectory | ||
``` |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,7 +7,7 @@ end | |
""" | ||
DomainList{N,T,S<:Grid{N,T}} | ||
|
||
Struct for a basic domain based on a `Grid` | ||
Struct for a basic domain based on a `Grid` . | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Space before dot |
||
""" | ||
struct DomainList{N, T, S <: Grid{N, T}} <: DomainType{N, T} | ||
grid::S | ||
|
@@ -17,7 +17,7 @@ end | |
""" | ||
DomainList(grid::S) where {N,S<:Grid{N}} | ||
|
||
Return a new DomainList | ||
Return a new `DomainList`. | ||
""" | ||
function DomainList(grid::S) where {N, S <: Grid{N}} | ||
return DomainList(grid, Set{NTuple{N, Int}}()) | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -113,7 +113,7 @@ end | |
GridEllipsoidalRectangular{N,T} <: Grid{N,T} | ||
|
||
Uniform grid on rectangular space `rect`, centered at `orig` and with steps set by the vector `h`. | ||
Cells are (possibly overlapping) ellipsoids defined at each grid point `c` as `(x-c)'P(x-c) ≤ 1` | ||
Cells are (possibly overlapping) ellipsoids defined at each grid point `c` as `(x-c)'P(x-c) ≤ 1` . | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Space before dot |
||
""" | ||
struct GridEllipsoidalRectangular{N, T} <: Grid{N, T} | ||
orig::SVector{N, T} | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -16,7 +16,7 @@ const PR = DI.Problem | |
""" | ||
Optimizer{T} <: MOI.AbstractOptimizer | ||
|
||
Ellispoids abtraction solver | ||
Abstraction-based solver for which the domain is covered with elippsoidal cells, independently of the control task. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Two p's but one l at eLiPPsoidal |
||
""" | ||
mutable struct Optimizer{T} <: MOI.AbstractOptimizer | ||
concrete_problem::Union{Nothing, PR.OptimalControlProblem} | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -20,7 +20,7 @@ using FillArrays, MathematicalSystems, HybridSystems, JuMP, SemialgebraicSets, P | |
""" | ||
Optimizer{T} <: MOI.AbstractOptimizer | ||
|
||
Bemporad Morari solver | ||
Bemporad Morari solver : Optimal control of hybrid systems via a predictive control scheme using mixed integer quadratic programming (MIQP) online optimization procedures. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Space before : |
||
""" | ||
mutable struct Optimizer{T} <: MOI.AbstractOptimizer | ||
continuous_solver::Any | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -16,7 +16,7 @@ using HybridSystems | |
""" | ||
Optimizer{T} <: MOI.AbstractOptimizer | ||
|
||
Branch and bound solver | ||
Branch and bound solver : Optimal control of hybrid systems via a predictive control scheme combining a branch and bound algorithm that can refine Q-functions using Lagrangian duality. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Space before : |
||
""" | ||
mutable struct Optimizer{T} <: MOI.AbstractOptimizer | ||
continuous_solver::Any | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's a subclass of
AbstractOptimizer
but not an object of this type