Skip to content

Commit ab42390

Browse files
authored
update CalcFactor docs,
addresses: - JuliaRobotics/IncrementalInference.jl#1044
1 parent b36c1b2 commit ab42390

1 file changed

Lines changed: 14 additions & 10 deletions

File tree

docs/src/examples/custom_factor_features.md

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,24 @@ The `cfo` object contains the field `.factor::T` which is the type of the user f
1212

1313
`CalcFactor` was introduced in `IncrementalInference v0.20` to consolidate and standardize a variety of features that had previously been diseparate and unwieldy.
1414

15-
!!! tip
16-
Many factors already exists in `IncrementalInference`, `RoME`, and `Caesar`. Please see their `src` directories for more details.
17-
### Factor Metadata
15+
The MM-iSAMv2 algorithm relies on the Kolmogorov-Criteria as well as uncorrelated factor sampling. This means that when generating fresh samples for a factor, those samples should not depend on values of variables in the graph or independent volatile variables. That said, if you have a non-violating reason for using additional data in the factor sampling or residual calculation process, you can do so via the `cf::CalcFactor` interface.
1816

19-
The MM-iSAMv2 algorithm relies on the Kolmogorov-Criteria as well as uncorrelated factor sampling. This means that when generating fresh samples for a factor, those samples should not depend on values of variables in the graph or independent volatile variables. That said, if you are comfortable or have a valid reason for introducing correlation between the factor sampling process with values inside the factor graph then you can do so via the `cfo.CalcFactor` interface.
20-
21-
At present `cfo` contains three main fields:
22-
- `cfo.factor::MyFactor` the factor object as defined in the `struct` definition,
23-
- `cfo.fullvariables`, which can be used for large data blob retrieval such as used in Terrain Relative Navigation (TRN).
17+
At present `cf` contains three main fields:
18+
- `cf.factor::MyFactor` the factor object as defined in the `struct` definition,
19+
- `cf.fullvariables`, which can be used for large data blob retrieval such as used in Terrain Relative Navigation (TRN).
2420
- Also see [Stashing and Caching](@ref section_stash_and_cache)
25-
- `cfo._sampleIdx` is the index of which computational sample is currently being calculated.
21+
- `cf.cache`, which is user controlled via [`preambleCache`](@ref) function, see [Cache Section](@ref section_stash_and_cache).
22+
- `cf.manifold`, for the manifold the factor operates on.
23+
- `cf._sampleIdx` is the index of which computational sample is currently being calculated.
2624

25+
```@docs
26+
IncrementalInference.CalcFactor
27+
```
28+
29+
!!! tip
30+
Many factors already exists in `IncrementalInference`, `RoME`, and `Caesar`. Please see their `src` directories for more details.
2731

28-
!!! note
32+
!!! warning
2933
The old `.specialSampler` framework has been replaced with the standardized `::CalcFactor` interface. See http://www.github.com/JuliaRobotics/IIF.jl/issues/467 for details.
3034

3135
## Partial Factors

0 commit comments

Comments
 (0)