https://github.com/flexivrobotics/flexiv_rdk
Robotic Development Kit (RDK) for Flexiv robots. Supports C++ and Python. Compatible with Linux, macOS, Windows, and QNX.
https://github.com/flexivrobotics/flexiv_rdk
adaptive-robots cpp flexiv force-control linux macos python qnx real-time robotics sdk windows
Last synced: 1 day ago
JSON representation
Robotic Development Kit (RDK) for Flexiv robots. Supports C++ and Python. Compatible with Linux, macOS, Windows, and QNX.
- Host: GitHub
- URL: https://github.com/flexivrobotics/flexiv_rdk
- Owner: flexivrobotics
- License: apache-2.0
- Created: 2021-09-09T04:50:35.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2026-04-01T23:38:29.000Z (7 days ago)
- Last Synced: 2026-04-02T09:23:32.407Z (6 days ago)
- Topics: adaptive-robots, cpp, flexiv, force-control, linux, macos, python, qnx, real-time, robotics, sdk, windows
- Language: C++
- Homepage: https://www.flexiv.com/software/rdk
- Size: 4.91 MB
- Stars: 122
- Watchers: 5
- Forks: 22
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Flexiv RDK

[](https://www.apache.org/licenses/LICENSE-2.0.html)
Flexiv RDK (Robotic Development Kit), a key component of the Flexiv Robotic Software Platform, is a powerful development toolkit that enables the users to create complex and customized robotic applications using APIs that provide both low-level real-time (RT) and high-level non-real-time (NRT) access to Flexiv robots.
## References
[Flexiv RDK Home Page](https://www.flexiv.com/software/rdk) is the main reference. It contains important information including user manual and API documentation. The instructions below serve as a quick reference, and you can find the full documentation at [Flexiv RDK Manual](https://www.flexiv.com/software/rdk/manual).
## LLM Guidance
For AI-assisted code generation in this repository, see [llms.txt](llms.txt).
## Environment Compatibility
| **OS** | **Platform** | **C++ compiler kit** | **Python interpreter** |
| --------------------- | --------------- | -------------------- | ---------------------- |
| Linux (Ubuntu 22.04+) | x86_64, aarch64 | GCC v11.4+ | 3.10, 3.12, 3.13 |
| macOS 12+ | arm64 | Clang v14.0+ | 3.10, 3.12 |
| Windows 10+ | x86_64 | MSVC v14.2+ | 3.10, 3.12 |
| QNX 8.0.3+ | x86_64, aarch64 | QCC v12.2+ | Not supported |
## Important Notice
Before trying to run any RDK program, please make sure to carefully go through the [First Time Setup](https://www.flexiv.com/software/rdk/manual/index.html#first-time-setup) chapter in RDK Manual. Otherwise, you might run into blocking issues.
## Quick Start - Python
### Install the Python package
On all supported platforms, the Python package of RDK and its dependencies for a specific Python version can be installed using the `pip` module:
python3.x -m pip install numpy spdlog flexivrdk
Note: replace `3.x` with a specific Python version.
### Use the installed Python package
After the `flexivrdk` Python package is installed, it can be imported from any Python script. Test with the following commands in a new Terminal, which should start Flexiv RDK:
python3.x
import flexivrdk
robot = flexivrdk.Robot("Rizon4-123456")
The program will start searching for a robot with serial number `Rizon4-123456`, and will exit after a couple of seconds if the specified robot is not found in the local network.
### Run example Python scripts
To run an example Python script in this repo:
cd flexiv_rdk/example_py
python3.x .py
For example:
python3.10 ./basics1_display_robot_states.py Rizon4-123456
## Quick Start - C++
### Prepare build tools
#### Linux
1. Install compiler kit using package manager:
sudo apt install build-essential
2. Install CMake using package manager:
sudo apt install cmake
#### macOS
1. Install compiler kit using `xcode` tool:
xcode-select
This will invoke the installation of Xcode Command Line Tools, then follow the prompted window to finish the installation.
2. Install CMake using package manager:
brew install cmake
#### Windows
1. Install compiler kit: Download and install Microsoft Visual Studio 2019 (MSVC v14.2) or above. Choose "Desktop development with C++" under the *Workloads* tab during installation. You only need to keep the following components for the selected workload:
* MSVC ... C++ x64/x86 build tools (Latest)
* C++ CMake tools for Windows
* Windows 10 SDK or Windows 11 SDK, depending on your actual Windows version
2. Install CMake: Download `cmake-3.x.x-windows-x86_64.msi` from [CMake download page](https://cmake.org/download/) and install the msi file. The minimum required version is 3.16.3. **Add CMake to system PATH** when prompted, so that `cmake` and `cmake-gui` command can be used from Command Prompt or a bash emulator.
3. Install bash emulator: Download and install [Git for Windows](https://git-scm.com/install/windows), which comes with a bash emulator Git Bash. The following steps are to be carried out in this bash emulator.
#### QNX
1. Prepare a host computer with Ubuntu 22.04 or higher.
2. Download and install [QNX SDP 8.0.3](https://blackberry.qnx.com/en/products/foundation-software/qnx-software-development-platform) to the host computer. You'll need a trial or commercial license.
3. Install CMake on the host computer using package manager:
sudo apt install cmake
### Install the C++ library
The following steps are mostly the same on all supported platforms, with some variations.
1. Choose a directory for installing the C++ library of RDK and its dependencies. This directory can be under system path or not, depending on whether you want RDK to be globally discoverable by CMake. For example, a new folder named `rdk_install` under the home directory.
2. In a new Terminal, run the provided script to compile and install all dependencies to the installation directory chosen in step 1:
cd flexiv_rdk/thirdparty
On non-QNX:
bash build_and_install_dependencies.sh ~/rdk_install
On QNX:
source /qnxsdp-env.sh
bash build_and_install_dependencies.sh ~/rdk_install $(nproc)
Note: the QNX toolchain files are located under `flexiv_rdk/cmake` directory, with one for x86_64 target and one for aarch64 target.
3. In the same Terminal, configure the `flexiv_rdk` CMake project:
cd flexiv_rdk
mkdir build && cd build
On non-QNX:
cmake .. -DCMAKE_INSTALL_PREFIX=~/rdk_install
On QNX:
cmake .. -DCMAKE_INSTALL_PREFIX=~/rdk_install -DCMAKE_TOOLCHAIN_FILE=
Note: `-D` followed by `CMAKE_INSTALL_PREFIX` sets the absolute path of the installation directory, which should be the one chosen in step 1.
4. Install `flexiv_rdk` C++ library to `CMAKE_INSTALL_PREFIX` path, which may or may not be globally discoverable by CMake depending on the location:
cd flexiv_rdk/build
cmake --build . --target install --config Release
### Use the installed C++ library
After the library is installed as `flexiv_rdk` CMake target, it can be linked from any other CMake projects. Using the provided `flexiv_rdk-examples` project for instance:
cd flexiv_rdk/example
mkdir build && cd build
On non-QNX:
cmake .. -DCMAKE_PREFIX_PATH=~/rdk_install
cmake --build . --config Release -j 4
On QNX:
cmake .. -DCMAKE_PREFIX_PATH=~/rdk_install -DCMAKE_TOOLCHAIN_FILE=
cmake --build . --config Release -j 4
Note: `-D` followed by `CMAKE_PREFIX_PATH` tells the user project's CMake where to find the installed C++ library. This argument can be skipped if the RDK library and its dependencies are installed to a globally discoverable location.
### Run example C++ programs
To run an example C++ program compiled during the previous step:
cd flexiv_rdk/example/build
On Linux and macOS:
LD_LIBRARY_PATH=~/rdk_install/lib ./
On Windows (Command Prompt):
set PATH=%USERPROFILE%\rdk_install\bin;%PATH%
Release\.exe
Note:
1. Replace `` with the actual serial number of the robot, for example `Rizon4-123456`.
2. `LD_LIBRARY_PATH` or `PATH` is used to specify where the shared libraries of the dependencies are installed.
3. Root privilege is required if the real-time scheduler API `flexiv::rdk::Scheduler` is used in the program.
## API Documentation
The complete and detailed API documentation of the **latest release** can be found at [Flexiv RDK APIs](https://www.flexiv.com/software/rdk/api). The API documentation of a previous release can be generated manually using Doxygen. For example, on Linux:
sudo apt install doxygen-latex graphviz
cd flexiv_rdk
git checkout
doxygen doc/Doxyfile.in
Open any html file under `flexiv_rdk/doc/html/` with your browser to view the doc.