Skip to main content

Getting Started with RFrame

This is the entry point for communication interface and SDK documentation. New users should follow the getting-started sequence; when integrating a specific application, refer directly to the relevant interface list.

1. Getting started with the RFrame SDK​

This release exposes Channel communication and the RFrame CLI for application development. Use HybridChannel / HybridRpcChannel to publish and subscribe to Topic messages and exchange Service requests and responses, with JSON channel configuration loading and C++ / Python examples. Use the CLI for discovery, observation, debugging, recording, and playback. The accompanying guides cover building user code, runtime deployment, and basic integration with AppCore and logging.

The RFrame Architecture Overview introduces the overall platform design and module relationships. The capabilities exposed in this release and their integration methods are defined by this portal's Channel and CLI documentation and accompanying guides.

Read in order:

  1. RFrame Build Guide: deb installation layout (/usr/local/lib), CMake integration with find_package(r-frame), component/target selection, Python wheels, and environment variables.
  2. RFrame Development Guide: AppCore lifecycle, application logging (C++/Python), Channel API, HybridChannel / HybridRpcChannel usage, JSON configuration loading, programmatic configuration, and common questions.
  3. RFrame Deployment Guide: package installation, plugin catalog, and global runtime configuration.
  4. RFrame CLI User Guide: the rframe CLI (bag / topic / service / discovery) for observation, debugging, recording, and playback.

2. Application communication interfaces​

Each list provides JSON configuration, Schemas, and interface semantics. Entries concerning dual-hand configurations in motion control are marked as pending; maintainers must reconcile the overview and appendix before integration.

ReferenceContentsChannels
Navigation InterfacesNavigation topic / service channel configuration8
Core Function InterfacesState machine, battery status, and fault diagnosis topic / service configuration4
Sensor Camera TopicsSensor camera image topic channel configuration10
Sensor FunctionsCamera parameter settings and sensor version query Services; channel JSON, type Schemas, and invocation examples2 (per the interface overview)
Motion Control Interfaces7 feedback Topics, 3 control Topics, and 7 Services; plus 1 pending combined entry for dual-hand configurations whose overview and appendix types still need reconciliation17 + 1 pending

For loading configurations from JSON files, global configuration, or multiple channels in a batch, see §7 of the RFrame Development Guide.

3. RFrame example source code​

Installed examples are located at /opt/robby/RFrameExample/: C++ examples in cpp/ (cpp/hybridchannel, cpp/hybridrpcchannel, cpp/log, etc.), Python examples in python/, and configurations in config/. The JSON channel configuration loading example is cpp/hybridchannel/channel_config_loader_example.cpp. Build each C++ module containing a CMakeLists.txt independently, as described in the RFrame Build Guide. These paths have been checked against the installed package robby-r-frame-example 0.0.0~dev12+20260907201652.