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:
- RFrame Build Guide: deb installation layout (
/usr/local/lib), CMake integration withfind_package(r-frame), component/target selection, Python wheels, and environment variables. - RFrame Development Guide: AppCore lifecycle, application logging (C++/Python), Channel API, HybridChannel / HybridRpcChannel usage, JSON configuration loading, programmatic configuration, and common questions.
- RFrame Deployment Guide: package installation, plugin catalog, and global runtime configuration.
- RFrame CLI User Guide: the
rframeCLI (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.
| Reference | Contents | Channels |
|---|---|---|
| Navigation Interfaces | Navigation topic / service channel configuration | 8 |
| Core Function Interfaces | State machine, battery status, and fault diagnosis topic / service configuration | 4 |
| Sensor Camera Topics | Sensor camera image topic channel configuration | 10 |
| Sensor Functions | Camera parameter settings and sensor version query Services; channel JSON, type Schemas, and invocation examples | 2 (per the interface overview) |
| Motion Control Interfaces | 7 feedback Topics, 3 control Topics, and 7 Services; plus 1 pending combined entry for dual-hand configurations whose overview and appendix types still need reconciliation | 17 + 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.