Redesigns service architecture to be more maintainable by splitting the large Compose file into multiple smaller files.
New CLI tool gnc to simplify management of services. The tool is a wrapper around docker compose that removes the need to pick the right combination of Compose overrides on supported platforms.
Introduces physical separation to networking between simulation host and companion computer to make deployment on companion computer easier.
Updated documentation, especially around HIL simulation as we now have better separation in networking and are also attempting to support running GISNav without GPU (see note on VO below).
Implements visual odometry (VO) to bridge gaps in deep matching (e.g. featureless terrain or slow matching when running without GPU)
Some optimizations around caching of keypoints to improve performance: shallow (VO) and deep matching share the same keypoints (SIFT) to enable reuse. Does not yet cache precomputed keypoints for reference map rasters in the onboard GIS but makes it easier to do that in the future to further increase performance. SIFT has wide support and seems to have better rotational invariance than the old DISK features so we need to rotate the map less frequently. Introduces MultiThreadedExecutor to remove the bottleneck of running deep matching and shallow matching (VO) on the same CPU core if running on CPU (e.g. Raspberry Pi).
gnc
to simplify management of services. The tool is a wrapper arounddocker compose
that removes the need to pick the right combination of Compose overrides on supported platforms.MultiThreadedExecutor
to remove the bottleneck of running deep matching and shallow matching (VO) on the same CPU core if running on CPU (e.g. Raspberry Pi).