Skip to content

CSM Storyboards

Dehann Fourie edited this page Oct 15, 2020 · 5 revisions

Solving for any Tree

Regular Clique Pattern

https://github.com/JuliaRobotics/IncrementalInference.jl/issues/855#issuecomment-701213747

The cliques are scheduled by the repeating pattern:

  • ....
  • send up
  • wait for down
  • do some down stuff
  • send down
  • wait for up
  • do some up stuff
  • ....

Regular Clique Solve (Have Init)

  • status=null
  • cannot MarginalizedRecycle
  • cannot IncrementalRecycle
  • Still status=null
  • should clique do up solve
  • wait until children upsolved
  • get children up messages
  • do up solve (status=upsolved)
  • should clique do down solve
  • wait parent down message
  • do down solve (status=downsolved)
  • exit

Leaf-Init Clique Sequence

  • status=null
  • cannot MarginalizedRecycle
  • cannot IncrementalRecycle
  • Still status=null
  • should clique do up solve
  • No Children
  • clique is not initialized
  • clique is not able to initialize
  • status=needdownmsg
  • wait until siblings have status
  • wait until parent has down init message
  • find/wait sibling init order
  • wait for latest down init from parent
  • do down init
  • do up solve
  • determine if should down solve
  • wait for parent message
  • do down solve
  • exit

Regular Clique Sequence (down init chain)

  • status=null
  • cannot MarginalizedRecycle
  • cannot IncrementalRecycle
  • Still status=null
  • should clique do up solve
  • wait children status
  • do all children need down init
  • cannot initialize clique
  • status=needdowninit
  • wait until siblings have status
  • wait until parent has down init message
  • find/wait sibling init order
  • wait for latest down init from parent
  • do down init
  • wait until children upsolved
  • get children up messages
  • do up solve
  • should clique do down solve
  • wait parent down message
  • do down solve
  • exit