-
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
Reachability using Taylor model flowpipes for nonlinear ODEs #82
Comments
The thesis of Chen! You should also put the link to Flow* code which implements this thesis. |
Taylor models were recently implemented in CORA with a detailed description in this ARCH18 paper. |
Thanks for the link. In Julia, Taylor models are implemented in JuliaIntervals/TaylorModels.jl and there's the related package JuliaDiff/TaylorSeries.jl. |
These are some further interesting links
I highly recommend Joldes' thesis. |
In JuliaReach/Reachability.jl#537 we added the TMJets continuous post. The flowpipe is represented as a collection of hyperrectangles, and the algorithm is defined in Eventually, it may be more convenient to just write the reachability algorithm in this repo (for extensions, eg. to do flowpipe-invariant intersections in the loop). Examples of use are in this notebook
I think that we can close this issue, but before i would like to store the research literature links somewhere visible, maybe in the Reachability docs. |
Sorry for the late comment on this... Can you comment about the time for each computation? |
If the modes are of the form If you check again the BenchsHybrid notebook you'll see updated plots and times. At the moment the three algorithms are in the same order ~0.5-1.0sec for a time horizon of 12sec, which gives 3 jumps. Note also that some time is spent on the discrete post, which is the same function for all three. Another benchmark would be to compare the behavior without jumps. Incidentally for the bouncing ball model with @taylorize function bball!(t, x, dx)
dx[1] = x[2]
dx[2] = -1.0 + 0.0001*x[1] # here 0.0 * x[1] doesn't work, see below
return dx
end i cannot pass |
OTOH the circle model, also 2D, see BenchsNLN notebook, takes ~10ms for BFFPSV and ~600ms for TMJets. It would be interesting to profile the bouncing ball to see how the time distribute between discretizaiton, continuous post and discrete post. |
Please do so. I think it should be opened in TaylorIntegration.jl since |
I've checking what is happening here. I think the following explains the issue: The equations of motion correspond to constant acceleration, so they are solved (exactly!) with a polynomial of degree 2 in t. If you use We haven't come with a way to automatically consider previous coefficients, but I am thinking about this now. @mforets Could you check that things behave "properly" if you set |
Thanks for having a close look into it. Actually with
|
I'll check it in more detail... |
Papers:
for Non-linear Hybrid Systems. Chen, Abraham, Sankaranarayanan
of Non-linear Hybrid Systems. Chen, Abraham, Sankaranarayanan.
Theses:
Implementations:
Julia packages:
The text was updated successfully, but these errors were encountered: