用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/MIUAV/vibe-coding-ros2 --skill perception命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
基于 SOC 职业分类
| name | perception |
| description | 机械臂感知系统 - 视觉引导、深度感知、力矩感知、触觉反馈 |
| argument-hint | 机械臂感知 OR 视觉引导 OR 力矩感知 OR 触觉 |
| user-invocable | true |
用于配置和开发机械臂的感知系统
当需要以下帮助时使用此技能:
manipulator_perception:
# 相机
camera:
type: realsense / zed / azure_kinect
topics: [/rgb/image, /depth/image]
# 力矩传感器
ft_sensor:
type: ati / robotiq / builtin
topics: [/ft_sensor/data]
# 触觉数组
tactile:
type: biomimetic / gelSight
topics: [/tactile/array]
class ManipulatorVision:
def __init__(self):
self.camera = RGBCamera('/rgb/image')
self.depth = DepthCamera('/depth/image')
self.detector = YOLODetector('grasp_pose.onnx')
def detect_grasp_pose(self):
"""检测抓取姿态"""
rgb = self.camera.get_image()
depth = self.depth.get_image()
# 检测物体
boxes = self.detector.detect(rgb)
# 计算3D位置
grasp_poses = []
for box in boxes:
center = box.center
z = depth[center.y, center.x]
pos_3d = self.depth.pixel_to_3d(center, z)
grasp_poses.append((pos_3d, box.label))
return grasp_poses
class ForcePerception:
def __init__(self):
self.ft_sensor = ForceTorqueSensor('/ft_sensor/data')
self.filter = LowPassFilter(30.0) # 30Hz
def get_task_wrench(self):
"""获取任务空间力/力矩"""
raw = self.ft_sensor.get_wrench()
return self.filter.filter(raw)
def detect_collision(self, threshold=10.0):
"""碰撞检测"""
wrench = self.get_task_wrench()
return np.linalg.norm(wrench[:3]) > threshold
./manipulator/localization/SKILL.md - 定位系统./manipulator/motion-control/SKILL.md - 运动控制./manipulator/skill-planning/SKILL.md - 技能规划