agentleFS
D-RoboticsD-Robotics/dsh-plugin-rdk/skills/rdk-device-skills/rdk-ecosystem/SKILL.md

rdk-ecosystem

Skill1 starsChanged 3 months agoApache-2.0View on GitHub

RDK product-line awareness and buying/selection judgment — which board to buy (X3/X5/Ultra/S100/S100P/S600), whether a given model (YOLO / LLM / VLM) will actually run, how RDK compares to Jetson / Raspberry Pi / RK3588, calibrating LLM/VLM expectations, and where the official ecosystem entry points live (product pages, Model Zoo, NodeHub, forum). Use whenever someone is choosing or comparing boards or asking "can it run X". 触发词:买哪块板、选型、X3 还是 X5、S100 还是 S600、能不能跑 DeepSeek、能不能跑 Qwen、能不能跑 7B、RDK 和 Jetson/树莓派/RK3588 哪个好、跨平台对比、端侧大模型期待、VLM 能跑吗、Model Zoo、NodeHub 在哪、官方资料入口。Routing — cross-platform comparison anchored on RDK (RDK vs X) stays here; single-platform specs/toolchain → jetson-knowledge / rpi-knowledge / rk-knowledge; hardware-subsystem facts → rdk-hardware; on-board model deployment → rdk-device; how LLM/VLM actually runs on-board → rdk-llm-deployment; locate a GitHub repo / source → rdk-source-map; pin down a doc-site chapter / authoritative URL → rdk-doc-finder; one command syntax → rdk-command-manual.

  • Deletes or force-pushes
  • Installs packages

2 other projects use a version of this, 2 of them edited.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

11 rules. About 0 are common, 6 are distinctive, and 5 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈6

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  • could be automatic: a setting could enforce it
  1. Distinctive:

    Pricing: treat any price as a reference range only — actual quotes come from the live Taobao/JD listing or official channel.

    line 40
  2. Very specific:

    Practical advice: if a user wants "an AI chat robot" but bought an X5, recommend a hybrid — cloud API (OpenAI-compatible / Qwen / DeepSeek …

    line 74
  3. Distinctive:

    When asked "RDK vs Jetson / Raspberry Pi / RK3588 — which is better", do not just say "RDK is better." First ask: use case (ROS2 robot?

    line 78
  4. Distinctive:

    When sourcing facts, prefer in this order:

    line 108
  5. Very specific:

    If the three disagree, trust the board.

    line 113
  6. Distinctive:

    When answering from this skill, follow these rules — never fabricate facts, commands, or file paths:

    line 144
  7. Distinctive:

    No fabrication when tools are missing: If a script or reference doesn't exist, say "not found" — don't invent from memory.

    line 147
  8. Very specific:

    Preserve null/false/empty on failure: If a probe returns null or false, report that — don't substitute a plausible value.

    line 148
  9. Very specific:

    No substitution off-platform: If off_platform: true, say "probe didn't run on an RDK board" — don't guess what it would have returned.

    line 149
  10. Distinctive:

    Acknowledge sandbox limits: If you can't run a command, say so — don't pretend you did.

    line 151
  11. Very specific:

    Read-only boundary: Never modify the system — no dd, mkfs, rm -rf, apt install, reboot, or GPIO output without explicit user confirmation.

    line 152

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

RDK Ecosystem & Board Selection

Help a user pick the right RDK board, judge whether a model will actually run on it, position RDK honestly against Jetson / Raspberry Pi / RK3588, and find the official entry points. The single most common failure is over-promising LLM — telling someone an X5 can "run DeepSeek" smoothly. Calibrate expectations against the official benchmark numbers below, then route the build to the deployment skills.

Sources: D-Robotics official docs (rdk_x_doc, rdk_s_doc, tros_doc, model_zoo_doc) and competitor official docs (NVIDIA, Raspberry Pi). Every benchmark and spec in this skill is grounded in those sources; provenance is noted inline.

The rule that matters most

"Can run" ≠ "usable." A board that technically loads a 7B model at 6.7 TPS is not a usable chat experience. Always quote the official TPS / fps, then say plainly whether it is smooth, tolerable, or a toy. Never let a user buy an X5 expecting a 7B local chatbot — that is the most damaging wrong answer in this whole skill.

Board selection cheat-sheet

Official specs (rdk_x_doc / rdk_s_doc hardware-introduction pages). All artifacts are cross-architecture incompatible — .bin (X-series) and .hbm (S-series) never interchange.

BoardGenComputeCPU / MCURAMArtifactBest for
X31Bernoulli2 BPU (~5 TOPS INT8)4× A531/2GB.binTeaching, light detection, GPIO/ROS2 intro
X52Bayes-e BPU (~10 TOPS INT8)8× A554/8GB.binRobot-vision mainstay; small LLM ≤2B + 1-2B VLM
Ultra2+Bayes BPU (~96 TOPS)8× A55—.binHigh-compute industrial; individuals prefer X5/S100
S10031× Nash-e BPU, 80 TOPS6× A78AE / 4× R52+12GB.hbmEmbodied AI; 1.5-3B LLM/VLM + MCU real-time control
S100P31× Nash-m BPU, 128 TOPS6× A78AE / 4× R52+24GB.hbmS100 + larger models, multi-GMSL camera
S6003+4× Nash BPU, 560 TOPS18× A78AE / 6× R52+32/64GB.hbmTop compute; smooth 7-8B LLM, dual-arm, 2× 10GbE

One-line picks:

  1. Student / teaching / budget-sensitive → X3 (know the light-model ceiling).
  2. Robot vision / SLAM / YOLO / small LLM / ROS2 main dev → X5 8GB (covers ~90% of individual developers; most community samples, fewest pitfalls).
  3. Embodied AI + 1.5-3B LLM/VLM + real-time joint control → S100 (12GB).
  4. Larger models or multi-GMSL camera → S100P (24GB).
  5. Top compute (560 TOPS) / smooth 7-8B local LLM / dual-arm / 2× 10GbE → S600 (32/64GB; Ubuntu 24.04 + TROS Jazzy, package paths differ from the Humble line).

When the user has not said which board / has no device connected: ask one clarifying question ("which board do you have — X3/X5/S100/S600?") before answering. Do not default to an X5 template. If a device is connected, trust the boardPlatform / board_id field.

Pricing: treat any price as a reference range only — actual quotes come from the live Taobao/JD listing or official channel. Never present a remembered price as exact.

"Can it run X" — the judgment table

WorkloadX3X5S100 / S100PS600
LLM chat❌⚠️ ≤2B quantized✅ 1.5-3B smooth; 7B runs but slow✅ smooth 7-8B
YOLO v5/v8v5s only✅ realtime mainstay✅ high-fps + YOLO-World✅
DOSOD open-vocab—~12 fps~45 fps (S100)✅
Multi-camera / GMSL (auto-grade)——✅ (with expansion board)✅
Real-time joint / kHz motor loopLinux RT thread (jitter)Linux RT thread (jitter)✅ hard-RT in MCU domain (R52+)✅ hard-RT (6× R52+)

DOSOD figures from tros_doc hobot_dosod.md: DOSOD-l on X5 = 12 fps, on S100 = 44.89 fps. The MCU-domain real-time path is the S-series differentiator — X-series can only do Linux RT threads with jitter.

LLM / VLM expectation calibration (the over-promise trap)

Decode TPS from model_zoo_doc official benchmarks. The S100 row is measured on S100P; S600 is a separate page. Quote these, don't hand-wave.

BoardLevel it can runOfficial measuredRecommendation
X3❌ LLM basically unusable2GB RAM won't hold itUse a cloud API
X5 4GB≤1B quantizedsingle-digit TPS, "toy"Demo / teaching; runs 1B VLM
X5 8GB≤2B + 1-2B VLMInternVL2.5-1B decode ≈51.6 ms/tokenOffline chat, voice helper, light multimodal
S100 / S100P1.5-3B smooth; 7B runs but slow1.5B q4≈39.5 / q8≈27 TPS; 7B q8≈6.7 TPS (7.4GB); Qwen2.5-Omni-3B≈14 TPS1.5-3B on-device chat + multimodal; 7B only "runs"
S600 (32/64GB, 560 TOPS)7-8B smoothQwen3-8B w4≈31.4 TPS; 4B w4≈45.8; 1.7B≈75; DeepSeek-R1-Distill-1.5B w4≈92.4First choice for on-device large-model chat

Three LLM routes on RDK (route the actual build to rdk-llm-deployment):

  • tros-humble-hobot-llamacpp — current main path for X5/S100, llama.cpp + GGUF with a BPU-quantized image/feature path. Model ecosystem is large; you configure models yourself.
  • tros-humble-hobot-llm — older path, mainly for X3 4GB. One apt install, but limited model choice; don't default to it on X5/S100.
  • Native Ollama / llama.cpp (user installs) — runs any GGUF, but CPU-only, the BPU is not used at all. On X5 a 7B model is slower than a desktop CPU. This is the #1 misconception.
  • S600 LLM is different — it uses the D-Robotics_LLM_S600 SDK (oellm_runtime / libxlm.so), NOT hobot_llamacpp. Don't tell an S600 user to apt-install hobot_llamacpp for LLM.

VLM is now official on X5 (was "X5 can't run VLM" — that is stale). hobot_llamacpp ships BPU-quantized InternVL2.5-1B, InternVL3-1B/2B, SmolVLM2-256M/500M: .bin image encoder + GGUF on X5; .hbm encoder on S100/S100P. The official S100 VLM list tops out at InternVL3-2B — do not claim S100 runs InternVL3-8B (not in the doc).

Practical advice: if a user wants "an AI chat robot" but bought an X5, recommend a hybrid — cloud API (OpenAI-compatible / Qwen / DeepSeek API) for the LLM + on-board TTS/STT/wake-word. Far better experience than forcing a 7B on-device.

Cross-platform comparison discipline

When asked "RDK vs Jetson / Raspberry Pi / RK3588 — which is better", do not just say "RDK is better." First ask: use case (ROS2 robot? LLM? pure vision?) + budget + English vs Chinese docs preference. Then position objectively.

AxisRDK X5Jetson Orin Nano (Super)RPi 5 + AI HAT+Orange Pi 5 Plus (RK3588)
AI compute~10 TOPS INT8 (BPU)67 TOPS INT8 sparse (was 40 pre-2024-12 software boost)Hailo-8L 13 / Hailo-8 26 TOPS~6 TOPS (RK3588 NPU)
CPU8× A556× A78AE @1.7GHzBCM2712 4× A76 @2.4GHz4× A76 + 4× A55
Model backend.bin (Bayes-e)TensorRT / ONNX (CUDA)Hailo .hef / IMX500 .rpkRKNN .rknn
ROS2Pre-installed TROS (Humble)install ROS2 yourselfinstall yourselfinstall yourself
Toolchain maturityHorizon OE stable, Chinese docs completemost mature (TensorRT), English-firstHailo Model Zoo, Englishrknn-toolkit2 open, version churn
SuitsChinese devs + ROS2 robots + valuelarge LLM / CUDA porting / English workflow"full Pi ecosystem + add AI"raw compute / tinkering
Not forpure CUDA porting / running .pt directlybudget-tight Chinese studentsROS2-heavy projectswant out-of-box

Jetson Orin Nano Super figures: NVIDIA developer blog (67 TOPS sparse, 6-core A78AE, 1024 CUDA). Raspberry Pi AI HAT+: raspberrypi.com (13/26 TOPS).

Honest comparison framing:

  • X5 TOPS vs Jetson GFLOPS/TOPS are different units — X5's 10 TOPS is INT8 BPU; the old Jetson Nano's 472 GFLOPS is FP16 general compute. Don't directly equate the numbers. Pick by use case and ecosystem, not one figure.
  • Admit RDK's weak spots: pure CUDA porting, large local LLM (>7B), and deep English resources lag Jetson; Linux-desktop ecosystem and HAT count lag Raspberry Pi.
  • RDK's objective emphasis (state as fact, not praise): pre-installed TROS(ROS2), on-board CAN/MIPI, 40-pin (X-series), robot-oriented BPU toolchain, Chinese docs.
  • Positioning one-liners: X5 ≈ entry-to-mid range alongside Jetson Nano / Orin Nano (different unit, pick by use case); S100 ≈ "Orin-NX-class domestic embodied-AI platform" (NOT a Jetson Orin drop-in — architecture differs a lot); RDK vs RPi5+AI HAT+ → pick by "out-of-box ROS2 vs Pi ecosystem breadth"; RDK vs RK3588 → "robot/TROS toolchain vs general-purpose SBC compute (RKNN)".
  • Shared pitfalls (true on all platforms, useful to explain): .pt won't run on the NPU directly, ONNX export needs a vendor fork, the calibration dataset decides accuracy.
  • Uncertain / contested (e.g. exact FPS): say "depends on the model and version — pair the official comparison page with your own test." Never treat one blog's number as authoritative.

S-series official showcase (feasibility evidence, not build tutorials)

From rdk_s_doc 06_Application_case (community showcase list, each entry links to developer.d-robotics.cc/forumDetail/...). Use these to answer "can a board like S100 really do embodied / robotics, any benchmarks":

  • Quadruped (Unitree Go2 reproducing CoRL2022 Walk These Ways multi-gait); humanoid "little Pi" + voice (locomotion transfer keeping 99.9% quant accuracy, 0.6ms inference, MDTC voice wake); low-speed vehicle BEV (multi-task 60FPS / 17ms / ≈0.8% NDS loss); fully open-source dual-arm LeRobot (ACT autonomous laundry folding, full kit <¥5000, 46ms to generate 50 action steps); TRON1 biped (locomotion transfer 99.99% accuracy, ~1h deploy).
  • These are "can it run / is there a benchmark" evidence, not steps. Reproduce LeRobot/ACT → rdk-embodied-lerobot; voice/LLM → rdk-llm-deployment; ROS2/nav → rdk-ros. X-series (X5) full build-level case studies (AMR, CNN line-follower) live in rdk-ros's app-cases reference.

Official resource three-tier priority

When sourcing facts, prefer in this order:

  1. On the board itself — apt show tros-humble-<pkg> / dpkg -l | grep <pkg> / ros2 pkg prefix <pkg> is always ground truth.
  2. Official docs — the site split (2026): X-series → rdk_x_doc, S-series → rdk_s_doc, TROS → tros_doc, Model Zoo → model_zoo_doc, Studio → rdk_studio_doc, accessories → accessories_doc. To pin the exact chapter/URL, use rdk-doc-finder.
  3. GitHub source — github.com/D-Robotics/<repo> (use rdk-source-map to locate the repo).

If the three disagree, trust the board; treat doc/GitHub differences as a "possibly different version" hint to the user. Community cases → developer.d-robotics.cc/forum.

Worked examples

Example 1 — "RDK X5 能跑 DeepSeek 吗?" First ask which DeepSeek — 1.5B / 7B / 14B+ differ enormously. Then: "X5 8GB can run a 1.5B quantized model but slowly (demo-grade). 7B is not realistic on X5. If you want smooth 7-8B on-device, that's S600 (Qwen3-8B w4 ≈ 31 TPS). And important: native Ollama/llama.cpp on X5 runs CPU-only — the BPU is idle, so it's slower than a desktop. To use the BPU go through hobot_llamacpp. If you just want an AI chatbot, a cloud API + on-board STT/TTS beats forcing 7B locally." Route the build to rdk-llm-deployment.

Example 2 — "我该买 X5 还是 S100?" Ask the use case. "If it's robot vision + ROS2 + YOLO + small LLM ≤2B, X5 8GB is the value pick. If you need 1.5-3B LLM/VLM on-device AND real-time joint/motor control (hard-RT in the MCU domain) or multi-GMSL cameras, that's S100 — its R52+ MCU domain does hard real-time that X5 can only approximate with jittery Linux RT threads."

Example 3 — "RDK 和 Jetson Orin Nano 比哪个好?" Don't pick blindly. "Different units: X5 is 10 TOPS INT8 on a BPU for quantized detection models; Orin Nano Super is 67 TOPS sparse with full CUDA. If your workflow is CUDA/TensorRT porting and English docs, Jetson wins. If it's Chinese-doc ROS2 robotics with TROS pre-installed and on-board CAN/MIPI at lower cost, X5 fits better. Tell me your use case + budget + doc-language preference and I'll narrow it."

Example 4 — "S100 能跑 InternVL3-8B 做多模态吗?" "The official hobot_llamacpp VLM list for S100 tops out at InternVL3-2B (.hbm encoder) — InternVL3-8B isn't in the doc, so don't count on it. For VLM, X5 and S100 both run InternVL2.5-1B / InternVL3-1B/2B / SmolVLM2. If you need bigger multimodal models, that's where S600's 32/64GB headroom comes in." Route to rdk-llm-deployment.

Common pitfalls

❌ Don't✅ Do
Tell an X5 user it runs DeepSeek 7B smoothlyQuote TPS; say X5≤2B, smooth 7-8B = S600
Claim S100 runs InternVL3-8BOfficial S100 VLM list tops at InternVL3-2B
Say "Ollama on X5 uses the NPU"Native Ollama/llama.cpp is CPU-only; use hobot_llamacpp for BPU
Tell an S600 user to apt-install hobot_llamacpp for LLMS600 LLM = D-Robotics_LLM_S600 SDK (oellm_runtime)
Equate X5 TOPS with Jetson GFLOPSDifferent units; pick by use case + ecosystem
Just say "RDK is better"Ask use case + budget + doc-language, then position honestly
Default to an X5 template when board unknownAsk which board first
Present a remembered price as exactPrice is a reference range; check live listing

Anti-hallucination guardrails

When answering from this skill, follow these rules — never fabricate facts, commands, or file paths:

  1. Report only observed data. Quote what scripts/commands actually return, not what you remember. If the probe says board_id: X5, answer for X5 — even if the user insists it's an S100.
  2. No fabrication when tools are missing. If a script or reference doesn't exist, say "not found" — don't invent from memory. Route to the appropriate skill or doc instead.
  3. Preserve null/false/empty on failure. If a probe returns null or false, report that — don't substitute a plausible value. Empty output is data, not an error to "fix".
  4. No substitution off-platform. If off_platform: true, say "probe didn't run on an RDK board" — don't guess what it would have returned. Ask for on-board logs.
  5. No hand-editing JSON. Scripts emit structured JSON; never hand-craft output. If the contract says {ok,off_platform,reason,fields}, that's what goes to the user.
  6. Acknowledge sandbox limits. If you can't run a command, say so — don't pretend you did. Offer the command for the user to run.
  7. Read-only boundary. Never modify the system — no dd, mkfs, rm -rf, apt install, reboot, or GPIO output without explicit user confirmation.

Reference map

Read thisWhen
hardware-notes.mdFull board-generation positioning, the cross-platform comparison table with provenance, and the LLM/VLM calibration deep-dive
official-docs.mdOfficial doc/resource index by topic (getting-started, Studio, vision, ROS, toolchain, LLM, hardware, ecosystem) — pair with rdk-doc-finder for exact chapter URLs

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.