Skip to content

v2.3.0

Choose a tag to compare

@johan162 johan162 released this 12 Aug 09:18
· 35 commits to master since this release

Release Notes for v2.3.0 (since v2.2.0)

Summary

This release focus on speed improvement and enhanced output image together with some minor internal code cleanup.

✨ New Feature

  • Spatial index. Introduction of Quad-trees as spatial index to improve efficency of collision detection.
    This significantly reduces the number of collision checks needed, often with >> 50%. This feature have the following control options:
    • --use-quad-tree <True/False> Use a spatial index based on quad-trees to speed up obstacle collision detection (DEFAULT: True).
    • --min-qnode-size <VALUE> Set minimum quad-tree node size in multiples of cutter radius (DEFAULT: 8)
    • --show-quad-tree <True/False> Show quad-tree in the output image (DEFAULT: False)
    • --save-quad-tree <True/False> Save quad-tree to file with the same name as the map-file but with "_index.json" appended to the basename (DEFAULT: False)

🚀 Improvements

  • Added simulation time and coverage percentage in output image.
    These labels are shown in the upper left corner of the image. The font data for image labels are embedded in the program to avoid any dependecy complications. This adds the option
    • show_image_label Show the coverage and sim-time in the upper left corner. (DEFAULT: True)
  • Higher default animation speedup. The default speedup factor is now 25

🐛 Bug Fixes

  • No known bugs

🛠 Build system

  • Added target font in makefile to create font data
  • Added script scripts/gen_font_data.sh to automatically download DejaVu font family if needed and create necessary Rust data files. Used in the Makefile
  • Added scc target in Makefile to generate complexity analysis to be included in documentation
  • Updated Cargo.toml dependencies to latest versions

📚 Documentation

  • Added scc program complexity analysis in README

Full Changelog: v2.2.0...v2.3.0