JuliaRobotics / Caesar.jl

Robust robotic localization and mapping, together with NavAbility(TM). Reach out to info@wherewhen.ai for help.
https://www.wherewhen.ai
MIT License
186 stars 31 forks source link

Test CSM debug tools (overcome missing deprecations) #667

Open dehann opened 3 years ago

dehann commented 3 years ago

EDIT: part of the problem is we removing Graphs.jl which removes drawing utils, so basically we just need an end-to-end test of IIF.animateCSMSideBySide with all the necessary deprecations. The types and names are all slightly changed, so yes just a solid round of deprecations required all round here.


More breaking type changes between Caesar / IIF / FSM that were not properly deprecated. The type has been changed to NamedTuple:

julia> typeof(hists)
Dict{Int64,Array{NamedTuple{(:timestamp, :id, :f, :csmc),Tuple{Dates.DateTime,Int64,Function,CliqStateMachineContainer}},1}}

Some of the debug tools from Caesar call upstream through IIF into FSM

https://github.com/JuliaRobotics/IncrementalInference.jl/blob/4e9f088f336618377aa8481ee9068c72f1f41f17/src/TreeDebugTools.jl#L757

But FSM wants the old Tuple type:

function animateStateMachineHistoryIntervalCompound(hists::Dict{Symbol, Vector{Tuple{DateTime, Int, <: Function, T}}};

As well as Dict of either Int or Symbol.

We should add animateCSM the tests to make sure this does not happen again. I ask for help on getting broader test coverage please, especially if type changes are made.

cc @Affie

dehann commented 3 years ago

xref JuliaRobotics/IncrementalInference.jl#1053 and JuliaRobotics/IncrementalInference.jl#443