{"id":47001744,"url":"https://github.com/flexivrobotics/flexiv_rdk","last_synced_at":"2026-04-06T21:00:42.590Z","repository":{"id":41634236,"uuid":"404589375","full_name":"flexivrobotics/flexiv_rdk","owner":"flexivrobotics","description":"Robotic Development Kit (RDK) for Flexiv robots. Supports C++ and Python. Compatible with Linux, macOS, Windows, and QNX.","archived":false,"fork":false,"pushed_at":"2026-04-01T23:38:29.000Z","size":5152,"stargazers_count":122,"open_issues_count":4,"forks_count":22,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-04-02T09:23:32.407Z","etag":null,"topics":["adaptive-robots","cpp","flexiv","force-control","linux","macos","python","qnx","real-time","robotics","sdk","windows"],"latest_commit_sha":null,"homepage":"https://www.flexiv.com/software/rdk","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/flexivrobotics.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-09-09T04:50:35.000Z","updated_at":"2026-04-01T21:48:15.000Z","dependencies_parsed_at":"2023-02-09T08:45:14.906Z","dependency_job_id":"f6b13638-b740-4cdd-be88-0d9c17de1304","html_url":"https://github.com/flexivrobotics/flexiv_rdk","commit_stats":null,"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"purl":"pkg:github/flexivrobotics/flexiv_rdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flexivrobotics%2Fflexiv_rdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flexivrobotics%2Fflexiv_rdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flexivrobotics%2Fflexiv_rdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flexivrobotics%2Fflexiv_rdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flexivrobotics","download_url":"https://codeload.github.com/flexivrobotics/flexiv_rdk/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flexivrobotics%2Fflexiv_rdk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31489427,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-06T17:22:55.647Z","status":"ssl_error","status_checked_at":"2026-04-06T17:22:54.741Z","response_time":112,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["adaptive-robots","cpp","flexiv","force-control","linux","macos","python","qnx","real-time","robotics","sdk","windows"],"created_at":"2026-03-11T19:10:02.837Z","updated_at":"2026-04-06T21:00:42.583Z","avatar_url":"https://github.com/flexivrobotics.png","language":"C++","readme":"# Flexiv RDK\n\n![CMake Badge](https://github.com/flexivrobotics/flexiv_rdk/actions/workflows/cmake.yml/badge.svg)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0.html)\n\nFlexiv 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.\n\n## References\n\n[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).\n\n## LLM Guidance\n\nFor AI-assisted code generation in this repository, see [llms.txt](llms.txt).\n\n## Environment Compatibility\n\n| **OS**                | **Platform**    | **C++ compiler kit** | **Python interpreter** |\n| --------------------- | --------------- | -------------------- | ---------------------- |\n| Linux (Ubuntu 22.04+) | x86_64, aarch64 | GCC   v11.4+         | 3.10, 3.12, 3.13       |\n| macOS 12+             | arm64           | Clang v14.0+         | 3.10, 3.12             |\n| Windows 10+           | x86_64          | MSVC  v14.2+         | 3.10, 3.12             |\n| QNX 8.0.3+            | x86_64, aarch64 | QCC   v12.2+         | Not supported          |\n\n## Important Notice\n\nBefore 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.\n\n## Quick Start - Python\n\n### Install the Python package\n\nOn all supported platforms, the Python package of RDK and its dependencies for a specific Python version can be installed using the `pip` module:\n\n    python3.x -m pip install numpy spdlog flexivrdk\n\nNote: replace `3.x` with a specific Python version.\n\n### Use the installed Python package\n\nAfter 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:\n\n    python3.x\n    import flexivrdk\n    robot = flexivrdk.Robot(\"Rizon4-123456\")\n\nThe 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.\n\n### Run example Python scripts\n\nTo run an example Python script in this repo:\n\n    cd flexiv_rdk/example_py\n    python3.x \u003cexample-name\u003e.py \u003crobot-sn\u003e\n\nFor example:\n\n    python3.10 ./basics1_display_robot_states.py Rizon4-123456\n\n## Quick Start - C++\n\n### Prepare build tools\n\n#### Linux\n\n1. Install compiler kit using package manager:\n\n       sudo apt install build-essential\n\n2. Install CMake using package manager:\n\n       sudo apt install cmake\n\n#### macOS\n\n1. Install compiler kit using `xcode` tool:\n\n       xcode-select \n\n   This will invoke the installation of Xcode Command Line Tools, then follow the prompted window to finish the installation.\n\n2. Install CMake using package manager:\n\n       brew install cmake\n\n#### Windows\n\n1. 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:\n   * MSVC ... C++ x64/x86 build tools (Latest)\n   * C++ CMake tools for Windows\n   * Windows 10 SDK or Windows 11 SDK, depending on your actual Windows version\n2. 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.\n3. 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.\n\n#### QNX\n\n1. Prepare a host computer with Ubuntu 22.04 or higher.\n2. 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.\n3. Install CMake on the host computer using package manager:\n\n       sudo apt install cmake\n\n### Install the C++ library\n\nThe following steps are mostly the same on all supported platforms, with some variations.\n\n1. 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.\n2. In a new Terminal, run the provided script to compile and install all dependencies to the installation directory chosen in step 1:\n\n       cd flexiv_rdk/thirdparty\n\n   On non-QNX:\n\n       bash build_and_install_dependencies.sh ~/rdk_install\n\n   On QNX:\n\n       source \u003cqnx-sdp-dir\u003e/qnxsdp-env.sh\n       bash build_and_install_dependencies.sh ~/rdk_install $(nproc) \u003cpath-to-qnx-toolchain-file\u003e\n\n   Note: the QNX toolchain files are located under `flexiv_rdk/cmake` directory, with one for x86_64 target and one for aarch64 target.\n\n3. In the same Terminal, configure the `flexiv_rdk` CMake project:\n\n       cd flexiv_rdk\n       mkdir build \u0026\u0026 cd build\n\n   On non-QNX:\n\n       cmake .. -DCMAKE_INSTALL_PREFIX=~/rdk_install\n\n   On QNX:\n\n       cmake .. -DCMAKE_INSTALL_PREFIX=~/rdk_install -DCMAKE_TOOLCHAIN_FILE=\u003cpath-to-qnx-toolchain-file\u003e\n\n   Note: `-D` followed by `CMAKE_INSTALL_PREFIX` sets the absolute path of the installation directory, which should be the one chosen in step 1.\n\n4. Install `flexiv_rdk` C++ library to `CMAKE_INSTALL_PREFIX` path, which may or may not be globally discoverable by CMake depending on the location:\n\n       cd flexiv_rdk/build\n       cmake --build . --target install --config Release\n\n### Use the installed C++ library\n\nAfter 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:\n\n    cd flexiv_rdk/example\n    mkdir build \u0026\u0026 cd build\n\nOn non-QNX:\n\n    cmake .. -DCMAKE_PREFIX_PATH=~/rdk_install\n    cmake --build . --config Release -j 4\n\nOn QNX:\n\n    cmake .. -DCMAKE_PREFIX_PATH=~/rdk_install -DCMAKE_TOOLCHAIN_FILE=\u003cpath-to-qnx-toolchain-file\u003e\n    cmake --build . --config Release -j 4\n\nNote: `-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.\n\n### Run example C++ programs\n\nTo run an example C++ program compiled during the previous step:\n\n    cd flexiv_rdk/example/build\n\nOn Linux and macOS:\n\n    LD_LIBRARY_PATH=~/rdk_install/lib ./\u003cexample-name\u003e \u003crobot-sn\u003e\n\nOn Windows (Command Prompt):\n\n    set PATH=%USERPROFILE%\\rdk_install\\bin;%PATH%\n    Release\\\u003cexample-name\u003e.exe \u003crobot-sn\u003e\n\nNote:\n\n1. Replace `\u003crobot-sn\u003e` with the actual serial number of the robot, for example `Rizon4-123456`.\n2. `LD_LIBRARY_PATH` or `PATH` is used to specify where the shared libraries of the dependencies are installed.\n3. Root privilege is required if the real-time scheduler API `flexiv::rdk::Scheduler` is used in the program.\n\n## API Documentation\n\nThe 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:\n\n    sudo apt install doxygen-latex graphviz\n    cd flexiv_rdk\n    git checkout \u003cprevious_release_tag\u003e\n    doxygen doc/Doxyfile.in\n\nOpen any html file under `flexiv_rdk/doc/html/` with your browser to view the doc.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflexivrobotics%2Fflexiv_rdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflexivrobotics%2Fflexiv_rdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflexivrobotics%2Fflexiv_rdk/lists"}