雷达防撞预警 — 调用树莓派上 ROS2 节点的雷达预警服务。当用户说"雷达防撞预警"、"开启雷达监控"、"检查障碍物"等时使用。通过 rosbridge WebSocket 向树莓派发送 ROS2 Service 请求,获取最近障碍物距离并给出预警。依赖 Node.js 18+(内置 WebSocket,无需安装任何包)。
在 ~/.openclaw/workspace/TOOLS.md 中添加树莓派的IP地址:
markdown
或通过环境变量传入:
bash
export RADAR_HOST=192.168.137.100 # 树莓派IP
export RADAR_PORT=8080 # rosbridge端口(默认)
OpenClaw(本机)
└── skill: callradarservice.js
└── rosbridge WebSocket(ws://<树莓派IP>:8080)
└── 树莓派 rosbridge_server
└── ROS2服务: /radarcollisionwarning(std_srvs/Trigger)
└── radarcollisionwarning_node
└── 订阅 /scan(LaserScan)← 乐动激光雷达
rosbridge WebSocket端口: 8080
ROS2服务名称: /radarcollisionwarning
碰撞阈值: 默认0.05米(5厘米),调用时可用-t/--threshold覆盖
依赖: Node.js 18+(globalThis.WebSocket为内置,无需安装任何包)
当用户说雷达防撞预警、检查障碍物距离、开启雷达监控时,调用:
bash
node ~/.openclaw/workspace/skills/radar-collision-warning/scripts/callradarservice.js
可加参数覆盖阈值(单位:米):
bash
node ~/.openclaw/workspace/skills/radar-collision-warning/scripts/callradarservice.js --threshold 0.10
当用户要求持续监控、实时雷达监控时,在后台启动轮询:
bash
node ~/.openclaw/workspace/skills/radar-collision-warning/scripts/callradarservice.js --monitor --interval 2.0
使用exec工具的background:true模式运行,后台运行时按Ctrl+C或发信号停止。
json
{
success: true,
distance_m: 0.032,
distance_cm: 3.2,
warning: true,
message: ⚠️ 碰撞危险!距离仅3.2厘米,
threshold_m: 0.05
}
或安全状态:
json
{
success: true,
distance_m: 1.234,
distance_cm: 123.4,
warning: false,
message: ✅ 安全,最近障碍物距离1.23米,
threshold_m: 0.05
}
连接失败时:
json
{
success: false,
error: 无法连接到rosbridge服务器,
message: ⚠️ 雷达服务不可用,请检查树莓派是否开机
}
bash
sudo apt install ros-jazzy-rosbridge-suite
在树莓派上创建雷达预警包:
bash
cd ~/ros_ws/src
ros2 pkg create radarpkg --build-type amentpython
bash
bash ~/rosws/startradar_rosbridge.sh
该技能支持在以下平台通过对话安装:
帮我安装 SkillHub 和 radar-collision-warning-1775965035 技能
设置 SkillHub 为我的优先技能安装源,然后帮我安装 radar-collision-warning-1775965035 技能
skillhub install radar-collision-warning-1775965035
文件大小: 7.89 KB | 发布时间: 2026-4-13 11:43