- Notifications
You must be signed in to change notification settings - Fork23
Efficient data-flow library for robotics.
License
stack-of-tasks/dynamic-graph
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This software provides an efficient way to modelize a C++ data-flow.
A dynamic graph data-flow is composed of:
- entities (graph nodes)
- signals (input/output of a graph action)
Output signals can then be plugged into input signals to datatransmission.
An efficient caching mechanism avoid useless data recomputation and asimple built-in language can be used to control the graph actions.
It is released under theBSD-clause 2 license.
Warning: this repository containsGitsubmodules. Please clone this repository using thegit clone --recursive
command. If you already have cloned therepository, you can rungit submodule init && git submodule update
to retrieve the submodules.
To get started with this library, please read theonline Doxygendocumentation.
It can also be generated locally by running themake doc
command. After the package is installed, the documentation will belocated in the$prefix/share/doc/dynamic-graph
directoy where$prefix
is your installation prefix (/usr/local
by default).
Support is provided through issues on the github interface.
The matrix abstract layer depends on several packages whichhave to be available on your machine.
- Libraries:
- Boost (>= 1.40)
- Doxygen
- Eigen3
- pthread
- System tools:
- CMake (>=2.6)
- pkg-config
- usual compilation tools (GCC/G++, make, etc.)If you are using Ubuntu, these tools are gathered in the
build-essential
package.
The manual compilation requires two steps:
- configuration of the build and generation of the build files
- compilation of the sources and installation of the package
dynamic-graph uses CMake to generate build files. It isrecommended to create a separate build directory:
mkdir _build# (1) Create a build directorycd _build# (2) Go to the newly created build directorycmake [options] ..# (3) Generate the build files
Options which can be passed to CMake are detailed in the next section.
make# (4) Compile the packagemaketest# (5) Execute the package testsmake install# (6) Install the package into the prefix (see step 3)
Additional options can be set on the command line through thefollowing command:-D<option>=<value>
.
For instance:cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo ..
will settheCMAKE_BUILD_TYPE
option to the valueRelWithDebInfo
.
Available options are:
CMAKE_BUILD_TYPE
set the build profile that should be used (debug,release, etc.). We recommendRelWithDebInfo
as it will provideperformances while keeping debugging symbols enabled.CMAKE_INSTALL_PREFIX
set the installation prefix (the directorywhere the software will be copied to after it has been compiled).
The test suite can be run from your build directory by running:
maketest
Please open a ticket if some tests are failing on your computer, itshould not be the case.
If you want to contribute, please refer to theCONTRIBUTING.md file
This package authors are credited in theAUTHORS file.
About
Efficient data-flow library for robotics.