计划执行与检查节点
executing-plans
按既定实施计划完成工作,保持过程检查和反馈。
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.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
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.
~/.openclaw/skills/peaq-robotics so all agents on the host see it.<workspace>/skills/peaq-robotics.peaq-robotics.skill file.https://github.com/peaqnetwork/peaq-robotics-ros2 into ~/peaq-robotics-ros2). This auto-copies peaq_robot.example.yaml to peaq_robot.yaml, pins mainnet WSS, and auto-runs colcon build --symlink-install:{baseDir}/scripts/peaq_ros2.sh installPEAQ_ROS2_REPO_URL=... and/or PEAQ_ROS2_REPO_REF=...{baseDir}/scripts/peaq_ros2.sh install --update{baseDir}/scripts/peaq_ros2.sh install --skip-buildRequires: ROS 2 + colcon on the host (the installer sources ROS_SETUP, default /opt/ros/humble/setup.bash).
Network pinning + fallback:
PEAQ_ROS2_NETWORK_PRIMARY (default wss://quicknode3.peaq.xyz)PEAQ_ROS2_NETWORK_FALLBACKS (CSV, default wss://quicknode1.peaq.xyz,wss://quicknode2.peaq.xyz,wss://peaq.api.onfinality.io/public-ws,wss://peaq-rpc.publicnode.com)core-configure will auto-retry and switch networks if the primary fails.PEAQ_ROS2_PIN_NETWORK=0 to leave the config network untouched.Wallet path:
PEAQ_ROS2_WALLET_PATH (optional) to set wallet.path during install. Defaults to ~/.peaq_robot/wallet.json.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.
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.
peaq_ros2_examples/config/peaq_robot.yaml).{baseDir}/scripts/peaq_ros2.sh core-start{baseDir}/scripts/peaq_ros2.sh core-configure{baseDir}/scripts/peaq_ros2.sh core-activate{baseDir}/scripts/peaq_ros2.sh core-address{baseDir}/scripts/peaq_ros2.sh core-didPEAQ_ROS2_ROOT and PEAQ_ROS2_CONFIG_YAML via skills config.{baseDir}/scripts/peaq_ros2.sh core-address and ask the bootstrap agent to fund it.{baseDir}/scripts/peaq_ros2.sh did-create '{"type":"robot"}'.~/.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.
peaq-robotics funding request:
address: <PASTE_CORE_ADDRESS>
reason: initial DID creation + storage/access ops
amount: <AMOUNT> PEAQ
Use the funded agent to transfer PEAQ to a new agent address:
{baseDir}/scripts/peaq_ros2.sh balance [address]{baseDir}/scripts/peaq_ros2.sh fund <to_address> <amount>{baseDir}/scripts/peaq_ros2.sh fund-request [amount] [reason]{baseDir}/scripts/peaq_ros2.sh fund-request-send <funder_agent_id> [amount] [reason]Notes:
fund uses the local agent wallet from wallet.path in config.--planck to send raw planck units.storage.mode missing or pinata.jwt empty).peaq-robotics fund-request: address=<ADDRESS> amount=<AMOUNT> PEAQ reason="DID + storage init"
If you know the funder agent id, use OpenClaw’s agent-to-agent tool to send the request line:
{baseDir}/scripts/peaq_ros2.sh fund-request [amount] [reason]sessions_send to 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]
Agents can talk via OpenClaw sessions:
openclaw agents add <agent-id> --workspace <dir> --non-interactiveopenclaw agent --agent <agent-id> --message "<your message>"Use this to send the fund-request line to your funding agent.
Use identity cards to make DIDs actionable as agent contact records (name, roles, endpoints). These are embedded in the DID document during creation.
{baseDir}/scripts/peaq_ros2.sh identity-card-json [name] [roles_csv] [endpoints_json] [metadata_json]{baseDir}/scripts/peaq_ros2.sh identity-card-did-create [name] [roles_csv] [endpoints_json] [metadata_json]{baseDir}/scripts/peaq_ros2.sh identity-card-did-readSchema (identity card JSON):
{
"schema": "peaq.identityCard.v1",
"name": "Agent Name",
"roles": ["funder", "operator"],
"endpoints": {"openclaw": {"agentId": "funder"}},
"metadata": { "any": "extra fields" }
}
Notes:
name defaults to the OpenClaw agent id (if available), else hostname.{baseDir}/scripts/peaq_ros2.sh core-start{baseDir}/scripts/peaq_ros2.sh core-configure{baseDir}/scripts/peaq_ros2.sh core-activateRun fund-request separately once the core is active.
{baseDir}/scripts/peaq_ros2.sh storage-start{baseDir}/scripts/peaq_ros2.sh events-start{baseDir}/scripts/peaq_ros2.sh tether-start (requires tether config + npm install in peaq_ros2_tether/js){baseDir}/scripts/peaq_ros2.sh humanoid-startUse the helper script subcommands for the common service calls:
{"type":"robot"} if omitted): {baseDir}/scripts/peaq_ros2.sh did-create{baseDir}/scripts/peaq_ros2.sh did-create '{"type":"robot"}'{baseDir}/scripts/peaq_ros2.sh did-create @/path/to/did_doc.json{baseDir}/scripts/peaq_ros2.sh did-read{baseDir}/scripts/peaq_ros2.sh store-add sensor_data '{"temp":25.5}' FAST{baseDir}/scripts/peaq_ros2.sh store-read sensor_data{baseDir}/scripts/peaq_ros2.sh access-create-role operator 'Robot operator'Notes:
did-create treats JSON with DID fields (id, controller, services, verificationMethods, etc.) as a full DID document.services entry (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.
ROS_DOMAIN_ID per environment to avoid collisions.references/peaq_ros2_services.md