How flexivrobotics/flexiv_rdk works
Flexiv RDK is a C++ robotic development kit whose public interfaces also support Python usage. The principal workflow is for an application to connect to a Flexiv robot, inspect its state and readiness, select a control mode, and issue motion or primitive commands. The API also exposes plan execution, real-time control, grippers and other devices, tool configuration, safety settings, and robot dynamics. The implementation is distributed in prebuilt libraries; the sampled source primarily documents public interfaces, so internal transport and dispatch details are not shown.
Main entry points: robot.hpp Robot API · data.hpp Robot data types · mode.hpp Control modes · gripper.hpp Gripper control
Components 19
Robot connection
- Robot API
include/flexiv/rdk/robot.hpp - State and status
include/flexiv/rdk/robot.hpp
Motion control
- Control modes
include/flexiv/rdk/mode.hpp - Primitive execution
include/flexiv/rdk/robot.hpp - Plan execution
include/flexiv/rdk/robot.hpp - RT control
include/flexiv/rdk/robot.hpp - NRT motion
include/flexiv/rdk/robot.hpp
Robot services
- Gripper control
include/flexiv/rdk/gripper.hpp - Device management
include/flexiv/rdk/device.hpp - Tool management
include/flexiv/rdk/tool.hpp - Safety settings
include/flexiv/rdk/safety.hpp - Maintenance
include/flexiv/rdk/maintenance.hpp - Robot file access
include/flexiv/rdk/file_io.hpp
Data and models
- Robot dynamics
include/flexiv/rdk/model.hpp - RT scheduler
include/flexiv/rdk/scheduler.hpp - Work coordinates
include/flexiv/rdk/work_coord.hpp - Robot data types
include/flexiv/rdk/data.hpp
Other components
- User application
- Flexiv robot
Connections 19
- User application → Robot API: creates and commands
- Robot API → Flexiv robot: connects to
- Robot API → State and status: reads state
- State and status → User application: returns status
- User application → Control modes: selects mode
- User application → Primitive execution: executes skills
- User application → Plan execution: runs plans
- User application → RT control: sends RT commands
- User application → NRT motion: sends NRT commands
- User application → Gripper control: controls gripper
- User application → Device management: manages devices
- User application → Tool management: configures tools
- User application → Safety settings: sets limits
- User application → Maintenance: requests service
- User application → Robot file access: accesses files
- User application → Robot dynamics: computes dynamics
- User application → RT scheduler: configures scheduling
- User application → Work coordinates: manages coordinates
- Robot data types → User application: supplies API types