Documentation Index Fetch the complete documentation index at: https://docs.roboticks.io/llms.txt
Use this file to discover all available pages before exploring further.
Installation
Requirements
C++17 compiler : GCC 7+ or Clang 5+
CMake : 3.16 or later
Docker : For building compositions (optional)
Quick Install
Using Makefile (Recommended)
# Clone the SDK
git clone https://github.com/roboticks-io/roboticks-sdk.git
cd roboticks-sdk
# Build all packages and modules
make all
# Install to local directory (no sudo needed)
make install
The make install command installs libraries to ./install/ - no root permissions required.
Build Targets
make packages # Build core packages only
make modules # Build all modules
make all # Build everything
make install # Install to ./install/
make clean # Clean build artifacts
make help # Show all available targets
Manual Build
Build All Packages
cd packages
mkdir build && cd build
cmake ..
make -j$( nproc )
# Install system-wide (optional, requires sudo)
sudo make install
sudo ldconfig
Build a Single Module
cd modules/HelloWorldModule
mkdir build && cd build
cmake ..
make -j$( nproc )
Verify Installation
# Check if packages are installed
ls install/lib/
# Run the HelloWorld example
./modules/HelloWorldModule/build/HelloWorldModule
Expected output:
[INFO] HelloWorldTask created
[INFO] Initializing...
[INFO] Starting...
[INFO] Published: Hello World! (count: 1)
[INFO] Published: Hello World! (count: 2)
...
Docker Development
For containerized development:
# Build and run HelloWorld composition
docker compose up -d --build
# View logs
docker compose logs -f
# Stop
docker compose down
Development Workflow with Docker
# 1. Make code changes
vim modules/HelloWorldModule/src/HelloWorldTask.cpp
# 2. Rebuild and restart
docker compose up -d --build
# 3. Watch logs
docker compose logs -f roboticks-hello-world
IDE Setup
VS Code
Create .vscode/c_cpp_properties.json:
{
"configurations" : [
{
"name" : "Linux" ,
"includePath" : [
"${workspaceFolder}/**" ,
"${workspaceFolder}/install/include" ,
"${workspaceFolder}/packages/*/include"
],
"defines" : [],
"compilerPath" : "/usr/bin/g++" ,
"cppStandard" : "c++17" ,
"intelliSenseMode" : "linux-gcc-x64"
}
]
}
Open the SDK directory as a CMake project
Set CMake options: -DCMAKE_PREFIX_PATH=./install
Build All target
Troubleshooting
CMake can't find packages
Make sure packages are installed: make install
export CMAKE_PREFIX_PATH = $( pwd )/ install
Run ldconfig after installing: sudo ldconfig
# Or add to library path
export LD_LIBRARY_PATH = $( pwd )/ install / lib : $LD_LIBRARY_PATH
Check your compiler version: g++ --version # Need GCC 7+
clang++ --version # Need Clang 5+
Next Steps
Creating Modules Learn how to create your first module