dionysos-dev / Dionysos.jl

MIT License
40 stars 16 forks source link

WIP-mobile-robot-unicycle #354

Open johnaoga opened 2 months ago

johnaoga commented 2 months ago

This is a new benchmark inspired by this work of Antoine Girard

Preview https://dionysos-dev.github.io/Dionysos.jl/previews/PR354

blegat commented 1 month ago

The failure should be fixed by https://github.com/JuliaIntervals/IntervalLinearAlgebra.jl/pull/135

blegat commented 1 month ago

You can rebase on master to fix the documentation build so that we can see the preview

blegat commented 1 month ago

We can see now that the controller says that it succeeded but there is not trajectory displayed at the end: https://dionysos-dev.github.io/Dionysos.jl/previews/PR354/generated/Path%20planning%20sgmpc/ Anyone has an idea what's wrong ?

adrienbanse commented 1 month ago

@blegat @johnaoga The trajectory is only one point in the target set

Dionysos.System.Control_trajectory{SVector{3, Float64}, Any}(Dionysos.System.Trajectory{SVector{3, Float64}}(SVector{3, Float64}[[0.5, 0.5, 0.0]]), Dionysos.System.Trajectory{Any}(Any[]))

Screenshot 2024-06-19 at 09 48 28

johnaoga commented 1 month ago

Thank you @adrienbanse for the investigation.

But, That's exactly what surprises me, since the starting point is set to be (0.5, -1.5), I would have expected to have at least 2 points in the trajectory, the starting point and the point (0.5, 0.5).

@adrienbanse @blegat But from your perspective do you think its answer is okay or it maybe a bug from the algorithm? In which case I could explore that direction

adrienbanse commented 1 month ago

@johnaoga The initial state is in the target set so the controller directly stops So I set x0 = SVector(1.1, -1.6, 0.0), but then the state is uncontrollable

adrienbanse commented 1 month ago

@blegat @JulienCalbert Any idea why the example throws compute_controller_reach! terminated without covering init set ? Seems related to nondeterminism in the automaton..

adrienbanse commented 3 weeks ago

The example probably fails because of the self-loops in the automation. To mitigate this, let's try

adrienbanse commented 3 weeks ago

@johnaoga The example is fixed, let's try to clean as much as possible the code and the presentation before merging

Screenshot 2024-06-28 at 11 47 57

johnaoga commented 3 weeks ago

thank you @adrienbanse, i will clean (if still necessary) and add comments