peaq-robotics
Control peaq-robotics-ros2 from OpenClaw by starting ROS 2 nodes and calling services (DID create/read, storage add/read, access control, tether USDT). Use when requests mention peaq ROS2, robot DID, blockchain storage, access roles/permissions, tether USDT, or ROS 2 service calls.
- License 许可
- MIT
- 最近更新
- 2026-04-05
- Stars
- ★ 7
- Forks
- 1
01 前言 Front Matter
- name
- peaq-robotics
- description
- Control peaq-robotics-ros2 from OpenClaw by starting ROS 2 nodes and calling services (DID create/read, storage add/read, access control, tether USDT). Use when requests mention peaq ROS2, robot DID, blockchain storage, access roles/permissions, tether USDT, or ROS 2 service calls.
02 资源文件 10
- 参考文档_meta.json282 B
- 参考文档references/peaq_ros2_services.md3.0 KB
- 脚本scripts/lib/config.sh2.7 KB
- 脚本scripts/lib/core.sh3.1 KB
- 脚本scripts/lib/env.sh2.5 KB
- 脚本scripts/lib/install.sh10.8 KB
- 脚本scripts/lib/nodes.sh1.1 KB
- 脚本scripts/lib/utils.sh1.4 KB
- 脚本scripts/lib/wallet.sh1.6 KB
- 脚本scripts/peaq_ros2.sh19.6 KB
03 SKILL.md 正文
Peaq ROS 2 Integration
Overview
Use this skill to make OpenClaw operate a local peaq-robotics-ros2 workspace by starting ROS 2 nodes and calling their services for identity, storage, access control, and tether USDT operations.
Install and share (first step)
- Decide how other agents will install the skill:
- Same host, shared: place this folder at
~/.openclaw/skills/peaq-roboticsso all agents on the host see it. - Per-workspace: place it at
<workspace>/skills/peaq-robotics. - Remote agents: publish to ClawHub/ClawdHub, or ship the packaged
peaq-robotics.skillfile.
- Install the peaq-robotics-ros2 repo (defaults to
https://github.com/peaqnetwork/peaq-robotics-ros2into~/peaq-robotics-ros2). This auto-copiespeaq_robot.example.yamltopeaq_robot.yaml, pins mainnet WSS, and auto-runscolcon build --symlink-install:
{baseDir}/scripts/peaq_ros2.sh install- Optional overrides:
PEAQ_ROS2_REPO_URL=...and/orPEAQ_ROS2_REPO_REF=... - Update an existing clone:
{baseDir}/scripts/peaq_ros2.sh install --update - Skip build if you want to build later:
{baseDir}/scripts/peaq_ros2.sh install --skip-build
Requires: ROS 2 + colcon on the host (the installer sources ROS_SETUP, default /opt/ros/humble/setup.bash).
Network pinning + fallback:
PEAQ_ROS2_NETWORK_PRIMARY(defaultwss://quicknode3.peaq.xyz)PEAQ_ROS2_NETWORK_FALLBACKS(CSV, defaultwss://quicknode1.peaq.xyz,wss://quicknode2.peaq.xyz,wss://peaq.api.onfinality.io/public-ws,wss://peaq-rpc.publicnode.com)core-configurewill auto-retry and switch networks if the primary fails.- Set
PEAQ_ROS2_PIN_NETWORK=0to leave the config network untouched.
Wallet path:
PEAQ_ROS2_WALLET_PATH(optional) to setwallet.pathduring install. Defaults to~/.peaq_robot/wallet.json.
- Configure env vars via OpenClaw skills config so every agent uses the same ROS 2 workspace:
PEAQ_ROS2_ROOT- repo root of peaq-robotics-ros2PEAQ_ROS2_CONFIG_YAML- path to your config fileROS_DOMAIN_ID- optional ROS 2 domain isolationPEAQ_ROS2_LOG_DIR/PEAQ_ROS2_PID_DIR- optional overrides (defaults include-<ROS_DOMAIN_ID>suffix).
Note: when invoked from an OpenClaw workspace (where AGENTS.md/TOOLS.md exist) and PEAQ_ROS2_CONFIG_YAML is not set, the helper auto-creates a per-workspace config at <workspace>/.peaq_robot/peaq_robot.yaml with a workspace-local wallet (<workspace>/.peaq_robot/wallet.json). It also auto-assigns a stable ROS_DOMAIN_ID in the 100–199 range per workspace (overriding the default 0) to avoid collisions.
- Ensure the agent can run host commands (non-sandboxed session or ROS 2 inside the sandbox).
Invite message templates (copy/paste)
ClawHub/ClawdHub install (preferred for remote agents):
clawhub install peaq-robotics && ~/.openclaw/skills/peaq-robotics/scripts/peaq_ros2.sh install
Local shared install (same host):
cp -R /path/to/peaq-robotics ~/.openclaw/skills/peaq-robotics && ~/.openclaw/skills/peaq-robotics/scripts/peaq_ros2.sh install
Restart the OpenClaw session after installing the skill.
Bootstrap agent (funding source)
- Ensure the ROS 2 workspace is built and you have a config YAML (usually
peaq_ros2_examples/config/peaq_robot.yaml). - Start core node and activate it:
{baseDir}/scripts/peaq_ros2.sh core-start{baseDir}/scripts/peaq_ros2.sh core-configure{baseDir}/scripts/peaq_ros2.sh core-activate
- Get wallet address and DID (send address to yourself for funding):
{baseDir}/scripts/peaq_ros2.sh core-address{baseDir}/scripts/peaq_ros2.sh core-did
- Fund this address with peaq tokens. This becomes the funding source for new agents.
New agent onboarding flow
- Install the skill (shared host path, workspace path, or ClawHub/ClawdHub).
- Set
PEAQ_ROS2_ROOTandPEAQ_ROS2_CONFIG_YAMLvia skills config. - Start core node + configure + activate.
- Run
{baseDir}/scripts/peaq_ros2.sh core-addressand ask the bootstrap agent to fund it. - After funding, run
{baseDir}/scripts/peaq_ros2.sh did-create '{"type":"robot"}'.
Core bootstrap (human-friendly)
~/.openclaw/skills/peaq-robotics/scripts/peaq_ros2.sh core-start && \
~/.openclaw/skills/peaq-robotics/scripts/peaq_ros2.sh core-configure && \
~/.openclaw/skills/peaq-robotics/scripts/peaq_ros2.sh core-activate
Use fund-request separately to ask for funds.
Funding request template (copy/paste)
peaq-robotics funding request:
address: <PASTE_CORE_ADDRESS>
reason: initial DID creation + storage/access ops
amount: <AMOUNT> PEAQ
Funding (agent → agent)
Use the funded agent to transfer PEAQ to a new agent address:
- Check balance:
{baseDir}/scripts/peaq_ros2.sh balance [address] - Fund another agent:
{baseDir}/scripts/peaq_ros2.sh fund <to_address> <amount> - Generate a request:
{baseDir}/scripts/peaq_ros2.sh fund-request [amount] [reason] - Auto-send request to a funder agent:
{baseDir}/scripts/peaq_ros2.sh fund-request-send <funder_agent_id> [amount] [reason]
Notes:
funduses the local agent wallet fromwallet.pathin config.- Amount is in PEAQ by default; use
--planckto send raw planck units. - If a fund transfer returns a transient websocket error, the script checks for a balance delta before failing.
- Storage bridge defaults to local IPFS when Pinata is not configured (
storage.modemissing or pinata.jwt empty).
One-line funding request (copy/paste)
peaq-robotics fund-request: address=<ADDRESS> amount=<AMOUNT> PEAQ reason="DID + storage init"
Auto-message the funder (agent → agent)
If you know the funder agent id, use OpenClaw’s agent-to-agent tool to send the request line:
- Generate the line:
{baseDir}/scripts/peaq_ros2.sh fund-request [amount] [reason] - Send it via
sessions_sendto the funder agent.
If you’re running outside the agent runtime, you can also use the helper:
{baseDir}/scripts/peaq_ros2.sh fund-request-send <funder_agent_id> [amount] [reason]
Agent-to-agent messaging (OpenClaw)
Agents can talk via OpenClaw sessions:
- Create another agent:
openclaw agents add <agent-id> --workspace <dir> --non-interactive - Send a message:
openclaw agent --agent <agent-id> --message "<your message>"
Use this to send the fund-request line to your funding agent.
Identity card (DID-linked contact record)
Use identity cards to make DIDs actionable as agent contact records (name, roles, endpoints). These are embedded in the DID document during creation.
- Build JSON (no chain write):
{baseDir}/scripts/peaq_ros2.sh identity-card-json [name] [roles_csv] [endpoints_json] [metadata_json] - Create DID with identity card metadata:
{baseDir}/scripts/peaq_ros2.sh identity-card-did-create [name] [roles_csv] [endpoints_json] [metadata_json] - Read identity card from DID:
{baseDir}/scripts/peaq_ros2.sh identity-card-did-read
Schema (identity card JSON):
{
"schema": "peaq.identityCard.v1",
"name": "Agent Name",
"roles": ["funder", "operator"],
"endpoints": {"openclaw": {"agentId": "funder"}},
"metadata": { "any": "extra fields" }
}
Notes:
namedefaults to the OpenClaw agent id (if available), else hostname.- For existing DIDs, updates are not supported by the ROS2 core service (create-only). Create the identity card during DID creation.
Core workflows
Start nodes (typical)
- Start the core node and activate it:
{baseDir}/scripts/peaq_ros2.sh core-start{baseDir}/scripts/peaq_ros2.sh core-configure{baseDir}/scripts/peaq_ros2.sh core-activate
Run fund-request separately once the core is active.
- Optional nodes:
- Storage bridge:
{baseDir}/scripts/peaq_ros2.sh storage-start - Events node:
{baseDir}/scripts/peaq_ros2.sh events-start - Tether node:
{baseDir}/scripts/peaq_ros2.sh tether-start(requires tether config + npm install inpeaq_ros2_tether/js) - Humanoid bridge:
{baseDir}/scripts/peaq_ros2.sh humanoid-start
Call services
Use the helper script subcommands for the common service calls:
- Create DID (defaults to
{"type":"robot"}if omitted):{baseDir}/scripts/peaq_ros2.sh did-create - Create DID with metadata JSON or full DID doc JSON:
{baseDir}/scripts/peaq_ros2.sh did-create '{"type":"robot"}' - Create DID from file:
{baseDir}/scripts/peaq_ros2.sh did-create @/path/to/did_doc.json - Read DID:
{baseDir}/scripts/peaq_ros2.sh did-read - Store data:
{baseDir}/scripts/peaq_ros2.sh store-add sensor_data '{"temp":25.5}' FAST - Read data:
{baseDir}/scripts/peaq_ros2.sh store-read sensor_data - Access control:
{baseDir}/scripts/peaq_ros2.sh access-create-role operator 'Robot operator'
Notes:
did-createtreats JSON with DID fields (id,controller,services,verificationMethods, etc.) as a full DID document.- Plain metadata JSON is wrapped into a DID
servicesentry (type: peaqMetadata) so it is preserved on-chain.
For full service/parameter mappings and raw ROS 2 topic/service names, read references/peaq_ros2_services.md.
Safety and guardrails
- Confirm before actions that incur on-chain cost or real funds (DID creation, storage writes, access changes, USDT transfers).
- Never pass private keys or mnemonics through ROS 2 services; tether operations use address-only calls.
- If running multiple ROS 2 graphs on one host, set
ROS_DOMAIN_IDper environment to avoid collisions.
References
- Service map:
references/peaq_ros2_services.md
04 同仓库更多 Skills
zyfai
Earn yield on any Ethereum wallet on Base, Arbitrum, and Plasma. Use when a user wants passive DeFi yield on their funds. Deploys a non-custodial subaccount (Safe) linked to their EOA, enables automated yield optimization, and lets them deposit/withdraw anytime.
zerion-api
暂无简介
zerion-api-skill
暂无简介
zerion-api-mcp
暂无简介
yahoo-finance-forex
Fetches real-time FOREX news and market data from Yahoo Finance for major currency pairs (EUR/USD, GBP/USD, USD/JPY, etc.). Analyzes sentiment and provides trading context.
yahoo-finance
This skill should be used when the user asks to "get stock prices", "check stock quotes", "look up earnings", "get financial data", "find trending stocks", or needs stock market data from Yahoo Finance.