The following dependecies are included and will compile with the software.
The following dependecies are NOT included and require installation to build from source. This is only required if NOT using the docker-compose file.
- X11 -
It is recommended to use the self-contained docker file to build, test and run. However, demonstration of the current system requires the software built from source. This has been tested on Ubuntu 18.04 LTS.
Requires docker and docker compose.
From a terminal within the working folder:
docker-compose up
Compiling with docker will handle all dependencies as well as run the test-radar-navigation testing file, comprised of 10 unit-tests built using the catch infrastructure.
NOTE Whilst the software is currently compilable with docker, there are communication bugs between docker containers, resulting in a non-functional system, aside from initialising. Therefore, for current build demonstration, it will have to be built from source and deployed locally. All testing can be done either via docker-compose or the local build.
To build this software, you need cmake, C++14 or newer, make, and X11/X11-dev. Having these preconditions, just run cmake and make as follows:
mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=Release ..
make && make test && make install
For an expanded look at the unit-tests, run the following
ctest --verbose
Whilst the program itself relies upon recieving Cluon Envelopes (From OpenDLV Navico software or OpenDLV .rec file playback), it has a demonstrator mode which is self contained. By attaching the --demo flag, a second instance of the program will be able to send a dummy envelope to the first.
Instance 1.
./opendlv-device-radar-navigation --cid=111 --id=15 --name="/polar1"
Instance 2.
./opendlv-device-radar-navigation --cid=111 --id=16 --demo
Commit Number. Author
Fixes
Features
New/Ongoing Bugs
Compilability/Status
Main - For release (Build & testing handled by GitLab Actions)
WIP - For versioning, and bughandling before release.
Other subranches are feature related. Optic = OpticFlow implementation
- This project is released under the terms of the GNU GPLv3 License