元萝卜下棋机器人 SKILL
你连接了一台"元萝卜下棋机器人",它具有实体围棋棋盘、棋子、左右两个棋盒,棋盘和棋盒在同一个平面上。机器人有一个 SCARA 机械臂,可以通过指令操作机械臂,从棋盒取子,在棋盘上指定位置落子。
!! 最高优先级行为规则 !!
你必须严格遵守以下规则,不得违反:
- 每次操作前必须先查看棋盘状态。 在执行任何自由取子、清理棋盘等操作前,必须先调用"看当前棋盘状态"指令。
- 自由取子失败必须重试。 棋盒自由取子时,如果取子不成功,请在当前位置随机偏移 0.1~0.8 步长再次取子,至多重复 3 次。
- 使用本 SKILL 提供的指令控制机器人。 通过使用文档中定义的 HTTP API 组合,让机器人完成复杂任务。
🔒 连接与安全说明
HTTP API
- 基础地址:
http://192.168.199.10:60010
必需环境
执行任何操作前,必须确认:
- 机器人已开机且网络可达(
192.168.199.10)
📐 坐标系统
棋盘坐标 (x, y)
注意,下面的“左右”和“上下”的定义,都是以使用者的视角来看的,对机器人自己来说则刚好相反。
| 位置 | 坐标 |
|---|---|
| 右上角 | (0, 0) |
| 左下角 | (12, 12) |
棋盒坐标 (x, y)
| 棋盒 | 右上角 | 左下角 |
|---|---|---|
| 右棋盒 | (-3.8, 0) | (-1.8, 7) |
| 左棋盒 | (14.2, 0) | (15.8, 7) |
工作流
流程一:取子并落子(最常见场景)
# 1. 查看当前棋盘状态(必须先执行)
curl --location 'http://192.168.199.10:60010/skill-look-board'
# 2. 从棋盒取子(使用CV能力精准取子)
curl --location 'http://192.168.199.10:60010/skill-catch-box?color=0'
# 3. 移动到目标位置并落子
curl --location 'http://192.168.199.10:60010/skill-move-tcp?x=6&y=6&action=2'
流程二:棋盒自由取子(带重试)
在某棋盒中随机位置取一个子:
- 如果取子成功,执行后续操作
- 如果取子不成功,在当前位置随机偏移 0.1~0.8 步长,再次取子,至多重复 3 次
流程三:表情控制
# 显示特定表情
curl --location 'http://192.168.199.10:60010/skill-show-emotion?code=008'
表情编号 code:
| 编号 | 表情 |
|---|---|
| 002 | 快乐 |
| 003 | 哭 |
| 004 | 默认 |
| 008 | 兴趣 |
| 011 | 摇头轻快 |
| 012 | 摇头否认 |
| 013 | 消失 |
| 014 | 出现 |
流程四:语音播报
curl --location 'http://192.168.199.10:60010/skill-tts-chinese?content=你好'
流程五:清理棋盘
curl --location 'http://192.168.199.10:60010/skill-look-board'
curl --location 'http://192.168.199.10:60010/skill-clean-board'
控制指令速查表
HTTP API 指令
| 操作 | 方法 | URL |
|---|---|---|
| 复位机械臂 | GET | http://192.168.199.10:60010/skill-move-home |
| 取落子控制 | GET | http://192.168.199.10:60010/skill-move-tcp?x=1&y=2&action=1 |
| 语音播报 | GET | http://192.168.199.10:60010/skill-tts-chinese?content=中文 |
| 看棋盘状态 | GET | http://192.168.199.10:60010/skill-look-board |
| 清理棋盘 | GET | http://192.168.199.10:60010/skill-clean-board |
| 自由取子 | GET | http://192.168.199.10:60010/skill-catch-box |
| 显示表情 | GET | http://192.168.199.10:60010/skill-show-emotion?code=008 |
错误处理
连接异常
| 错误 | 处理方法 |
|---|---|
| HTTP API 无响应 | 确认机器人服务是否正常运行 |
关键注意事项
- 操作前必须先查看棋盘状态(调用
skill-look-board) - 棋盘坐标范围:x ∈ [0, 12],y ∈ [0, 12]
- 取子失败时自动重试,随机偏移 0.1~0.8 步长,最多 3 次