# ORB_SLAM3 data processor and the networking pipeline. When downloading to your local machine in CMakeLists.txt file change the paths: 1. ORB_SLAM3_DIR 2. OSC_DIR 3. OpenCV_DIR 4. Boost_INCLUDE_DIR 5. Pangolin_DIR 6. Eigen3_DIR ## Prerequisites 1. Install cmake: https://cmake.org/download/ 2. Install Gstreamer. Download and follow the instructions guideline from DriveCast. Follow the rules of installation STRICTLY. 3. Install OSCPack_1_1_0: http://www.rossbencina.com/code/oscpack 4. Install vcpkg: https://vcpkg.io/en/getting-started.html 5. Install Visual Studio 2019. Install the version of Windows SDK 10.0.20348.0 6. Download and build Prerequisites for the changed ORB_SLAM3 library and the ORB_SLAM3 library itself from here: ## Build OscPack: 1. In the extracted folder: `mkdir build && cd build` 2. `cmake ..` 3. Open `TestOscPack.sln` project in Visual Studio. Edit Preferences ONLY of oscpack. Change buld type to `Release` 4. Change: General -> Configuration Type -> Static Library (.lib) 5. Also: Advanced -> Target File Extension -> .lib 6. Build oscpack, OscReceiveTest, SimpleReceive, SimpleSend, OscSendTests ## Build ORB_SLAM3 - Instructions are here: https://git.drivecast.tech/PodmogilnyjIvan/ORB_SLAM3 - Save the path to your `vcpkg.cmake` file, you'll need it later. - Don't forget to write `vcpkg integrate all` to use vcpkg in Visual Studio projects. ## Build MyGst 1. In `CMakeLists.txt` file - Under `OSC BEGIN` section define your `OSC_DIR` - Under `ORB_SLAM3 BEGIN` section define directories for all of the libraries mentioned in the file. - Under `OpenCV BEGIN` section in `set(OpenCV_DIR XXX)` instead of XXX define your directory. 2. `mkdir build && cd build` 3. `cmake -DCMAKE_TOOLCHAIN_FILE=C:/Users/ivan/Source/Repos/ORB_SLAM3/Thirdparty/Pangolin/vcpkg/scripts/buildsystems/vcpkg.cmake ..` Instead of my path, you have to paste your path to `vcpkg.cmake` 4. Open Visual Studio 16 2019 with Administrative (IMPORTANT!) privilege and open the project 5. For `gst_get_ndi` project: Preferences -> Linker -> Input -> Additional Dependencies. Delete Release/ORB_SLAM3.lib if you see this. 6. You need to build `gst_get_ndi` and `my_ndi_source` projects. Before building, edit the Preferences of these two projects... - C/C++ -> Code Generation -> Runtime Library -> MT - The path `Boost_DIR/stage/lib` paste to Linker -> General -> Additional Library Directories 7. Change Preferences of oscpack project: - C/C++ -> Code Generation -> Runtime Library -> MT 8. Build `gst_get_ndi` and `my_ndi_source` ## Running Along with the library, .cmd and .bat scripts are provided. Put them in the `Project_DIR/build/Release` directory. Project_DIR stands for the MyGst project itself. 1. In cmd 1, in `oscpack_DIR/build/Release` directory: run `OscReceiveTest.exe` 2. In cmd 2, in the `Project_DIR/build/Release` directory: run `set-env.bat`, then Run `run_source.cmd` 3. In cmd 3, in the `Project_DIR/build/Release` directory: run `set-env.bat`, then Run `run_gst_loopthrough_capture.cmd` You should now be able to see RoboRace video, and in cmd_1 you should be able to see the receiving of the processed data.