Files
cv_networking_pipeline/README.md
2021-12-05 14:18:24 -08:00

53 lines
2.9 KiB
Markdown

# ORB_SLAM3 data processor and the networking pipeline.
## 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.