-
Notifications
You must be signed in to change notification settings - Fork 2
Design: Graph DataLevels
Copyright (c) 2024 NavAbility(TM) all rights reserved.
Also see the data design: https://github.com/JuliaRobotics/Caesar.jl/wiki/Data-Design-for-Caesar-RoME-IIF
-
Skeleton Variable/Factor
old design wiki Summary Variable/Factor
-
DFG Variable/Factor
(Legacy PackedVariable or PackedFactor) -
Compute Variable/Factor
-- fully derivable from DFG{Variable/Factor} with preference for JuliaLang.
Note, only ComputeVariable / ComputeFactor
is fully hydrated for computations, and is totally derived from DFG Variable/Factor
-- with preference for JuliaLang compute. Reverse engineering Compute DataLevel
in other languages is not supported by NavAbility at this time; not impossible but also not worth it.
IMPORTANT DataLevel
s Skeleton, Summary, DFG are 99% consistent across all languages and serializations, but there are exceptions:
- E.g. JuliaLang uses
label::Symbol
everywhere, vs. Python useslabel: string
everywhere
For performance per technology, GQL queries return vectors yet DFG internally use Dicts. Special dispatches are needed to converge to dicts in the DFGs (aka SDKs) to dicts keyed by label for known satellites:
- BlobEntries
- PPEs
- SolverData