diff --git a/README.md b/README.md index c17a5d2b..b13a85d6 100644 --- a/README.md +++ b/README.md @@ -6,27 +6,39 @@ We provide an end-to-end mobile mapping framework that does not require any inst - **HDMapping_Pose_GRAPH_SLAM** to create city-level maps. - **HDMapping_Georeferencing** (GNSS-RTK, Control Points, Ground Control Points, TLS, ALS). +[![Build with bundled libraries on Ubuntu](https://github.com/MapsHD/HDMapping/actions/workflows/cmake-linux.yml/badge.svg?branch=main)](https://github.com/MapsHD/HDMapping/actions/workflows/cmake-linux.yml) +[![Build on Windows](https://github.com/MapsHD/HDMapping/actions/workflows/windows.yml/badge.svg?branch=main)](https://github.com/MapsHD/HDMapping/actions/workflows/windows.yml) +[![Build on macOS](https://github.com/MapsHD/HDMapping/actions/workflows/macos.yml/badge.svg?branch=main)](https://github.com/MapsHD/HDMapping/actions/workflows/macos.yml) +[![Build Debian package](https://github.com/MapsHD/HDMapping/actions/workflows/cmake-linux-deb.yml/badge.svg?branch=main)](https://github.com/MapsHD/HDMapping/actions/workflows/cmake-linux-deb.yml) +[![Build Python Bindings on Linux](https://github.com/MapsHD/HDMapping/actions/workflows/python-bindings-linux.yml/badge.svg?branch=main)](https://github.com/MapsHD/HDMapping/actions/workflows/python-bindings-linux.yml) +[![Build Python Bindings on Windows](https://github.com/MapsHD/HDMapping/actions/workflows/python-bindings-windows.yml/badge.svg?branch=main)](https://github.com/MapsHD/HDMapping/actions/workflows/python-bindings-windows.yml) + + # PROJECT ONBOARDING VIDEOS - OPENING MEASUREMENT SEASON 2026 -- Contact email: januszbedkowski@gmail.com +- Contact email: januszbedkowski [at] gmail [dot] com + -[![MANDEYE-D](https://img.youtube.com/vi/ntF8kO8r8MM/default.jpg)](https://youtu.be/ntF8kO8r8MM) -[![MANDEYE-PRO](https://img.youtube.com/vi/Is4IvLiTCyw/default.jpg)](https://youtu.be/Is4IvLiTCyw) -[![USER FREINDLY SOFTWARE](https://img.youtube.com/vi/rJST0zhNVwc/default.jpg)](https://youtu.be/rJST0zhNVwc) +| | | | +|:--:|:--:|:--:| +| [](https://youtu.be/ntF8kO8r8MM) | [](https://youtu.be/Is4IvLiTCyw) | [](https://youtu.be/rJST0zhNVwc) | +| **MANDEYE-D**
▶ [Watch on YouTube](https://youtu.be/ntF8kO8r8MM) | **MANDEYE-PRO**
▶ [Watch on YouTube](https://youtu.be/Is4IvLiTCyw) | **User-friendly software**
▶ [Watch on YouTube](https://youtu.be/rJST0zhNVwc) | -# MANDEYE is action +# MANDEYE in action -[![MANDEYE-K9](https://img.youtube.com/vi/7a_o7ACH0-M/default.jpg)](https://youtu.be/7a_o7ACH0-M) -[![MANDEYE-MR (Caver)](https://img.youtube.com/vi/Bu9kDF5y39s/default.jpg)](https://youtu.be/Bu9kDF5y39s) -[![MANDEYE-MR (Precise Forestry)](https://img.youtube.com/vi/i6Xg_vPuqrY/default.jpg)](https://youtu.be/i6Xg_vPuqrY) +| | | | +|:--:|:--:|:--:| +| [](https://youtu.be/7a_o7ACH0-M) | [](https://youtu.be/Bu9kDF5y39s) | [](https://youtu.be/i6Xg_vPuqrY) | +| **MANDEYE-K9**
▶ [Watch on YouTube](https://youtu.be/7a_o7ACH0-M) | **MANDEYE-MR — caving**
▶ [Watch on YouTube](https://youtu.be/Bu9kDF5y39s) | **MANDEYE-MR — forestry**
▶ [Watch on YouTube](https://youtu.be/i6Xg_vPuqrY) | Our MANDEYE is designed for freedom in motion. You can also climb and crawl in most challenging scenarios. + # Workflow ![workflow](images/workflow.png) To cite benchmark suite please use as follows: -``` +```bibtex @article{BEDKOWSKI2026102822, title = {MapsHD: A benchmark suite for LiDAR odometry frameworks}, journal = {SoftwareX}, @@ -44,7 +56,7 @@ abstract = {This paper describes a software toolbox for LiDAR (Light Detection a Mobile mapping system: hardware and software are elaborated in the following paper: -``` +```bibtex @article{BEDKOWSKI2024101618, title = {Open source, open hardware hand-held mobile mapping system for large scale surveys}, journal = {SoftwareX}, @@ -62,7 +74,7 @@ Mobile mapping system: hardware and software are elaborated in the following pap Terrestrial Laser Scanner data registration is elaborated in following paper: -``` +```bibtex @article{BEDKOWSKI2023113199, title = {Benchmark of multi-view Terrestrial Laser Scanning Point Cloud data registration algorithms}, journal = {Measurement}, @@ -80,7 +92,7 @@ Terrestrial Laser Scanner data registration is elaborated in following paper: The **HDMapping** optimization framework is implemented from scratch https://github.com/JanuszBedkowski/observation_equations using the Eigen library, thus there is no need to install any additional libraries such as **Ceres**, **g2o**, **GTSAM**, **manif**, **Sophus**, etc. More information can be found in: -``` +```bibtex @book{DBLP:series/cir/Bedkowski22, author = {Janusz Bedkowski}, title = {Large-Scale Simultaneous Localization and Mapping}, @@ -98,14 +110,14 @@ More information can be found in: # Documentation -```Documentation data structure -/ -├── Applications [[link]](https://github.com/MapsHD/HDMapping/tree/main/documentation/Applications) -├── Benchmarks -├── CompatibleCommunityProjects -├── Hardware -├── InstallationGuide -├── KnowledgeBase -├── Tools -└── VIDEOs -``` +- [Applications](./documentation/Applications/README.md) +- [Benchmarks](./documentation/Benchmarks/) +- [CompatibleCommunityProjects](./documentation/CompatibleCommunityProjects/README.md) +- [Hardware](./documentation/HARDWARE/README.md) +- [Build and Installation](./documentation/InstallationGuide/README.md) +- [KnowledgeBase](./documentation/KnowledgeBase/README.md) +- [Tools](./documentation/Tools/README.md) +- [Videos](./documentation/VIDEOs/README.md) + + + diff --git a/doc/~$Mandeye Slides.pptx b/doc/~$Mandeye Slides.pptx deleted file mode 100644 index 2ee12210..00000000 Binary files a/doc/~$Mandeye Slides.pptx and /dev/null differ diff --git a/docs/CMAKE_CONFIGURATION.md b/docs/CMAKE_CONFIGURATION.md deleted file mode 100644 index 8c858842..00000000 --- a/docs/CMAKE_CONFIGURATION.md +++ /dev/null @@ -1,145 +0,0 @@ -# CMake Configuration Helper for HDMapping - -## Quick Reference - -### CPU Optimization Options -```bash -# Option 1: Auto-detect (Recommended) -cmake -DCMAKE_BUILD_TYPE=Release .. - -# Option 2: Force AMD optimizations -cmake -DCMAKE_BUILD_TYPE=Release -DHD_CPU_OPTIMIZATION=AMD .. - -# Option 3: Force Intel optimizations -cmake -DCMAKE_BUILD_TYPE=Release -DHD_CPU_OPTIMIZATION=INTEL .. - -# Option 4: Generic compatibility -cmake -DCMAKE_BUILD_TYPE=Release -DHD_CPU_OPTIMIZATION=GENERIC .. -``` - -### Build Type Options -```bash -# Release build (optimized) -cmake -DCMAKE_BUILD_TYPE=Release .. - -# Debug build (with debug symbols) -cmake -DCMAKE_BUILD_TYPE=Debug .. - -# Release with debug info -cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo .. -``` - -### Library Options -```bash -# Use bundled libraries (default, recommended) -cmake -DCMAKE_BUILD_TYPE=Release .. - -# Use system libraries (for Debian packages) -cmake -DCMAKE_BUILD_TYPE=Release \ - -DBUILD_WITH_BUNDLED_FREEGLUT=OFF \ - -DBUILD_WITH_BUNDLED_EIGEN=OFF \ - -DBUILD_WITH_BUNDLED_LIBLASZIP=OFF .. -``` - -### Python Bindings -```bash -# Enable Python bindings -cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_WITH_PYBIND=ON .. -``` - -### Complete Configuration Examples - -#### Development Build (AMD CPU) -```bash -mkdir build-dev -cd build-dev -cmake -DCMAKE_BUILD_TYPE=Debug \ - -DHD_CPU_OPTIMIZATION=AMD \ - -DBUILD_WITH_PYBIND=ON .. -cmake --build . --config Debug -``` - -#### Production Build (Auto-optimized) -```bash -mkdir build-release -cd build-release -cmake -DCMAKE_BUILD_TYPE=Release \ - -DHD_CPU_OPTIMIZATION=AUTO .. -cmake --build . --config Release -``` - -#### Distribution Package (Generic) -```bash -mkdir build-package -cd build-package -cmake -DCMAKE_BUILD_TYPE=Release \ - -DHD_CPU_OPTIMIZATION=GENERIC \ - -DBUILD_WITH_BUNDLED_FREEGLUT=OFF \ - -DBUILD_WITH_BUNDLED_EIGEN=OFF \ - -DBUILD_WITH_BUNDLED_LIBLASZIP=OFF .. -cmake --build . --config Release -make pack -``` - -## Available CMake Variables - -| Variable | Default | Options | Description | -|----------|---------|---------|-------------| -| `CMAKE_BUILD_TYPE` | Release | Debug, Release, RelWithDebInfo | Build configuration | -| `HD_CPU_OPTIMIZATION` | AUTO | AUTO, AMD, INTEL, GENERIC | CPU optimization strategy | -| `BUILD_WITH_BUNDLED_FREEGLUT` | ON | ON, OFF | Use bundled FreeGLUT library | -| `BUILD_WITH_BUNDLED_EIGEN` | ON | ON, OFF | Use bundled Eigen library | -| `BUILD_WITH_BUNDLED_LIBLASZIP` | ON | ON, OFF | Use bundled LASzip library | -| `BUILD_WITH_PYBIND` | OFF | ON, OFF | Enable Python bindings | - -## Troubleshooting - -### CMake Cache Issues -```bash -# Clear CMake cache and reconfigure -rm -rf CMakeCache.txt CMakeFiles/ -cmake -DCMAKE_BUILD_TYPE=Release .. -``` - -### Check Current Configuration -```bash -# View all CMake variables -cmake -LA . - -# View only HDMapping variables -cmake -LA . | grep -E "(HD_|BUILD_WITH_|BUILD_WITH_PYBIND)" -``` - -### Build Errors -1. **Optimization-related errors:** Try `HD_CPU_OPTIMIZATION=GENERIC` -2. **Library linking errors:** Use bundled libraries (default) -3. **Compiler compatibility:** Use supported compiler versions - -## Platform-Specific Notes - -### Windows (Visual Studio) -```cmd -# Configure for Visual Studio 2022 -cmake -G "Visual Studio 17 2022" -DCMAKE_BUILD_TYPE=Release .. - -# Build -cmake --build . --config Release -``` - -### Linux (GCC/Clang) -```bash -# Configure with specific compiler -cmake -DCMAKE_CXX_COMPILER=g++-11 -DCMAKE_BUILD_TYPE=Release .. - -# Build with parallel jobs -cmake --build . -- -j$(nproc) -``` - -### macOS (Xcode/Clang) -```bash -# Configure for Xcode -cmake -G Xcode -DCMAKE_BUILD_TYPE=Release .. - -# Build -cmake --build . --config Release -```