You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Ra and Rb are from type RechabilityAnalysis.Reachsolution Is this possible to intersect both reach sets?
I tried something like this
ℛ=[ℛₐ.F.Xk[i].X∩ℛᵦ.F.Xk[i].X for i in1:length(ℛₐ.F.Xk)] #this does not work
𝒫ℛₐ=project(ℛₐ , [1, 2])
𝒫ℛᵦ=project(ℛᵦ , [1, 2])
𝒫ℛ=𝒫ℛₐ∩𝒫ℛᵦ
𝒫ℛ=[𝒫ℛₐ.Xk[i].X∩𝒫ℛᵦ.Xk[i].X for i in1:length(𝒫ℛₐ.Xk)]
The text was updated successfully, but these errors were encountered:
This seems to not be supported out of the box. But your workaround works for me, including
ℛ=[ℛₐ.F.Xk[i].X∩ℛᵦ.F.Xk[i].X for i in 1:length(ℛₐ.F.Xk)] #this does not work
The problem is that you then lose all other information stored in the ReachSets/ReachSolution. I agree that it would be nice to support this as an operation on the ReachSolution in the library.
There are other things to note here:
The operation ∩ is interpreted as a lazy intersection (see JuliaReach/LazySets.jl for details), which is why you get a result quickly. If you want to instead compute the concrete intersection (expensive in general), you can do ℛ = intersection.(ℛₐ, ℛᵦ) (note the . for broadcasting). Interestingly, this is supported. But doing this is expensive in higher dimensions.
The reachable set used by GLGM06 is represented by (a sequence of) zonotopes. For these an intersection can be computed (however, in general this can be expensive). For nonlinear systems we currently only support Taylor models and their intersection is not supported. But you can obtain conservative overapproximations.
Ra and Rb are from type RechabilityAnalysis.Reachsolution Is this possible to intersect both reach sets?
I tried something like this
The text was updated successfully, but these errors were encountered: