UFO 1.0.0
An Efficient Probabilistic 3D Mapping Framework That Embraces the Unknown
Loading...
Searching...
No Matches
UFO (Unknown Free Occupied)

An Efficient Probabilistic 3D Mapping Framework That Embraces the Unknown.

License Standard

UFO is a high-performance, modular 3D mapping framework designed for modern robotics and computer vision. It provides a robust probabilistic representation of space that explicitly handles free, occupied, and unknown regions, making it ideal for path planning and exploration in complex environments.

Key Features

  • Modern C++23: Leverages the latest language features for maximum performance and readability.
  • Probabilistic Mapping: Accurately represents uncertainty in 3D environments.
  • High Performance: Optimized with SIMD (SSE2, AVX, etc.) and Link Time Optimization (LTO).
  • Modular Architecture: Easy to extend or use individual components like Core, Math, and Utility.
  • Cross-Platform: Supports Linux, macOS, and Windows.

Quick Start

Prerequisites

  • CMake (v3.23 or newer)
  • C++23 Compatible Compiler (GCC 14+, Clang 18+, MSVC 19.40+)
  • Dependencies (automatically fetched if not found):

Build Instructions

# Clone the repository
git clone https://github.com/UnknownFreeOccupied/ufo.git
cd ufo
# Configure and build
cmake -B build -DUFO_DEV_MODE=ON
cmake --build build -j$(nproc)

Running the App

The main ufo utility provides system diagnostics and diagnostic information about the build environment:

./build/apps/ufo --version

Project Structure

  • lib/core: Fundamental types and core mapping logic (Confidence, Semantic, etc.).
  • lib/math: Optimized linear algebra and geometric primitives.
  • lib/utility: Threading, string manipulation, and system helpers.
  • [apps/](apps): Command-line tools and applications.
  • [tests/](tests): Global test suite (Catch2).

Documentation

API documentation can be generated using Doxygen:

cmake -B build -DUFO_BUILD_DOCS=ON
cmake --build build --target Docs

The output will be available in build/docs/html/index.html.

License

UFO is released under the BSD 3-Clause License.