API Overview

Available APIs

API

Brief

flexiv::rdk::Device

Interface with the robot device(s).

flexiv::rdk::FileIO

Interface for file transfer with the robot. The robot must be put into IDLE mode when transferring files.

flexiv::rdk::Gripper

Interface with the robot gripper.

flexiv::rdk::Model

Interface to access certain robot kinematics and dynamics data.

flexiv::rdk::Robot

Main interface with the robot, containing several function categories and background services.

flexiv::rdk::Scheduler

Real-time scheduler that can simultaneously run multiple periodic tasks. Parameters for each task are configured independently.

flexiv::rdk::Tool

Interface to online update and interact with the robot tools. All changes made to the robot tool system will take effect immediately without needing to reboot. However, the robot must be put into IDLE mode when making these changes.

Access by OS and programming language

The supported OS and programming languages can form various OS-language combinations like Linux-C++, Windows-Python, etc. In RDK, API access varies by such combination: Linux-C++ and macOS-C++ have full access to all APIs, while the other combinations have partial access as listed below:

API

Unix-C++

Windows-C++

Any-Python

flexiv::rdk::Device

Full

Full

Full

flexiv::rdk::FileIO

Full

Full

Full

flexiv::rdk::Gripper

Full

Full

Full

flexiv::rdk::Model

Full

Full

Full

flexiv::rdk::Robot

Full

Full

Partial (exclusion: functions marked as “Real-time”)

flexiv::rdk::Scheduler

Full

None

None

flexiv::rdk::Tool

Full

Full

Full

Besides APIs, access to data structures and enums also varies by the OS-language combination:

Data Structures / Enums

Unix-C++

Windows-C++

Any-Python

flexiv::rdk::RobotInfo

Full

Full

Full

flexiv::rdk::RobotStates

Full

Full

Full

flexiv::rdk::PlanInfo

Full

Full

Full

flexiv::rdk::GripperStates

Full

Full

Full

flexiv::rdk::ToolParams

Full

Full

Full

flexiv::rdk::Mode

Full

Full

Partial (exclusion: real-time modes)

Note

Unix means Linux and macOS.

API documentation

The complete and detailed API documentation of the latest release can be found at https://rdk.flexiv.com/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 <previous_release_tag>
doxygen doc/Doxyfile.in

The generated API documentation is under flexiv_rdk/doc/html/ directory. Open any html file with your browser to view it.