astrobee icon indicating copy to clipboard operation
astrobee copied to clipboard

Split Localizer into GraphVIO and GraphLocalizer

Open rsoussan opened this issue 2 years ago • 0 comments

Adds new graph_localizer and graph_vio packages that separately perform VIO and map-based localization. Added new packages to support graph-based optimization (optimizers, graph_optimizer, sliding_window_graph_optimizer, nodes, node_adders, factor_adders) and generalize concepts to avoid code duplication. Added extensive unit test coverage of these packages. Also provided ROS wrapper packages (ros_graph_localizer, ros_graph_vio, ros_pose_extrapolator) for live and offline ussage. Renamed graph_bag to offline_replay and updated it to support split localization architecture. See https://github.com/rsoussan/astrobee/blob/split_localizer/localization/doc/astroloc_library_quickstart.pdf for a quickstart guide with an example simple localizer and documentation on the code structure. Further documentation exists in each package readme and header files for the code.

TODO: finish testing with bags, sim, and granite table. Update other offline tools for architecture. Add support for other modalities (ar tag, depth odom, handrail).

Opening up PR to get feedback on new architecture and design and address any issues, also to allow others to view changes.

rsoussan avatar Apr 17 '23 20:04 rsoussan