雷达防撞预警 Skill
name: radar-collision-warning
by 33-code · published 2026-04-01
$ claw add gh:33-code/33-code-radar-collision-warning---
name: radar-collision-warning
description: 雷达防撞预警 — 调用树莓派上 ROS2 节点的雷达预警服务。当用户说"雷达防撞预警"、"开启雷达监控"、"检查障碍物"等时使用。通过 rosbridge WebSocket 向树莓派发送 ROS2 Service 请求,获取最近障碍物距离并给出预警。依赖 Node.js 18+(内置 WebSocket,无需安装任何包)。
metadata: {"openclaw": {"emoji": "📡", "requires": {"bins": ["node"]}}}
---
# 雷达防撞预警 Skill
配置
在 `~/.openclaw/workspace/TOOLS.md` 中添加树莓派的 IP 地址:
### 雷达预警
- 树莓派 IP: <你的树莓派IP>
- rosbridge 端口: 8080(默认)或通过环境变量传入:
export RADAR_HOST=192.168.137.100 # 树莓派 IP
export RADAR_PORT=8080 # rosbridge 端口(默认)架构概览
OpenClaw (本机)
└── skill: call_radar_service.js
└── rosbridge WebSocket (ws://<树莓派IP>:8080)
└── 树莓派 rosbridge_server
└── ROS2 Service: /radar_collision_warning (std_srvs/Trigger)
└── radar_collision_warning_node
└── 订阅 /scan (LaserScan) ← 乐动激光雷达**rosbridge WebSocket 端口**: `8080`
**ROS2 Service 名称**: `/radar_collision_warning`
**碰撞阈值**: 默认 0.05m(5cm),调用时可用 `-t/--threshold` 覆盖
使用方式
**依赖**: Node.js 18+(`globalThis.WebSocket` 为内置,无需安装任何包)
单次查询
当用户说"雷达防撞预警"、"检查障碍物距离"、"开启雷达监控"时,调用:
node ~/.openclaw/workspace/skills/radar-collision-warning/scripts/call_radar_service.js可加参数覆盖阈值(单位:米):
node ~/.openclaw/workspace/skills/radar-collision-warning/scripts/call_radar_service.js --threshold 0.10持续监控模式
当用户要求"持续监控"、"实时雷达监控"时,在 **后台** 启动轮询:
node ~/.openclaw/workspace/skills/radar-collision-warning/scripts/call_radar_service.js --monitor --interval 2.0使用 `exec` 工具的 `background:true` 模式运行,后台运行时按 Ctrl+C 或发信号停止。
返回格式(JSON stdout)
{
"success": true,
"distance_m": 0.032,
"distance_cm": 3.2,
"warning": true,
"message": "⚠️ 碰撞危险!距离仅 3.2cm",
"threshold_m": 0.05
}或安全状态:
{
"success": true,
"distance_m": 1.234,
"distance_cm": 123.4,
"warning": false,
"message": "✅ 安全,最近障碍物距离 1.23m",
"threshold_m": 0.05
}连接失败时:
{
"success": false,
"error": "无法连接到 rosbridge 服务器",
"message": "⚠️ 雷达服务不可用,请检查树莓派是否开机"
}树莓派侧准备(首次配置时参考)
1. 安装 rosbridge
sudo apt install ros-jazzy-rosbridge-suite2. ROS2 包配置
在树莓派上创建雷达预警包:
cd ~/ros_ws/src
ros2 pkg create radar_pkg --build-type ament_python
# 将 radar_collision_warning_node.py 复制到:
# ~/ros_ws/src/radar_pkg/radar_pkg/
# 添加 setup.py 入口点:
# 'radar_collision_warning_node = radar_pkg.radar_collision_warning_node:main'
cd ~/ros_ws && colcon build && source install/setup.bash3. 一键启动
bash ~/ros_ws/start_radar_rosbridge.sh返回值解读
More tools from the same signal band
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
Sign plugins, rotate agent credentials without losing identity, and publicly attest to plugin behavior with verifiable claims and authenticated transfers.
The philosophical layer for AI agents. Maps behavior to Spinoza's 48 affects, calculates persistence scores, and generates geometric self-reports. Give your...