拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

自动捡羽毛球机器人2—调研2

自动捡羽毛球机器人2—调研2

我们现在就把它收敛成一个可以开始画 CAD、买零件、做样机的 V1 版本。我建议第一版先冻结目标:机器人能够在羽毛球场上自主找到散落羽毛球,低损伤拾取,把任意姿态的球自动调整成统一方向,最后按正常羽毛球筒里的方式嵌套排列,容量 48 个球。

1. V1 整机先这样定

我建议整车控制在:

参数V1 建议值
整机宽550–580 mm
整机长680–750 mm
整机高≤550 mm
前端有效捡球宽度420–450 mm
车轮直径90–100 mm
最大速度0.4 m/s
正常找球速度0.25–0.30 m/s
最后进球速度0.08–0.15 m/s
储球量4 × 12 = 48 个
整机重量目标12–18 kg
电池24/25.6 V,10 Ah
目标续航约 1.5–2.5 h

高度控制在 550 mm 左右,后面基本可以直接从羽毛球网下通过,不需要把场地硬拆成两半。

整体结构我会按这个布局:

俯视图 机器人前进方向 ↑ ┌────────────────────────┐ │ 远距离相机 │ │ │ ↘↘↘ │ │ ↙↙↙ 左侧软刷 │ 430mm拾球口 │ 右侧软刷 \ │ ↓ │ / \ │ 柔性拾球滚轮 │ / └──┤========================├───┘ │ 斜输送带 │ │ ↓ │ │ 单球分离机构 │ │ ↓ │ │ 双皮带自动定向机构 │ │ ↓ │ │ 落球漏斗 │ │ │ O │ AI板 / STM32 │ O 驱动轮│ │驱动轮 │ │ │ ○ ○ │ │ ○ ○ 4个储球筒 │ │ 转盘 │ └────────────────────────┘ 后部

这里最重要的是:球从前往后一直单向流动,不要设计复杂的机械臂搬运路径。


2. 拾球机构:这一块先追求“不伤球”

我建议不要直接照搬高速叶轮。

第一版做成:

两侧聚拢软刷 + 中央柔性滚轮 + 低位输送带。

前面两侧各一个直径大约90–110 mm的圆柱软刷,向内旋转,把离中心线 15~20 cm 的羽毛球慢慢扫到中间。

刷毛建议:

TPU 柔性条、硅胶条,或者非常软的尼龙毛。

转速第一版不要快:

80~150 rpm。

例如 100 mm 直径、120 rpm,刷尖线速度大约只有 0.63 m/s,不至于像高速飞轮一样抽羽毛。

中央再放一个:

宽 360~400 mm、直径约 90 mm 的柔性拾球滚轮。

表面不是硬胶,而是:

\ | / \ | / \|/ \|/ --------O-----O-------- 软TPU拨片

拨片碰到羽毛球以后把球“拨”进后面的斜输送带。

我建议最低处离地:

8~12 mm。

另外做两个很小的随动轮控制前端高度,避免机架一晃,拾球机构刮到场地胶。


3. 第一版输送带不要太宽

羽毛球本身最大外径只有 58–68 mm,而球头直径 25–28 mm,这是 BWF 规则给出的尺寸。(羽毛球网)

所以内部通道没有必要做到很宽。

建议:

参数建议
输送带宽160–180 mm
有效长度300–350 mm
倾角25–30°
运行速度0.08–0.15 m/s
表面TPU/PU防滑纹
两边挡板高度50–70 mm

这里最好使用低速减速电机,不需要什么大功率电机。

大约:

24 V、30~60 W、60~120 rpm 减速电机

就够了。


4. 一个非常重要的东西:单球化

实际使用时一定会出现:

○ ○ ○

两个甚至三个羽毛球同时进入。

如果直接扔进整理机构,很容易堵。

所以斜输送带结束以后,我建议加一个非常简单的:

软胶星轮 / 闸门。

变成:

输送过来的球 ○ ○ ○ ↓ ──○── ↑ 软胶星轮 ↓ 一次只允许一个

星轮每检测到后级空闲,旋转一个固定角度,释放一只羽毛球。

这里甚至不需要闭环伺服。

一个普通舵机或者小步进电机就够。

这会让后面的可靠性高很多。


5. 自动调整羽毛球方向,是 V1 最值得做好的结构

这一块我会采用已有方案验证过的基本原理,但具体结构重新设计。

已有自动捡球方案采用的是两条平行橡胶输送带,带间距小于羽毛裙最大直径,使羽毛裙被支撑,而球头在重力作用下自然向下。(谷歌专利)

我们把它做得更容易调:

正视图 羽毛裙 Ø58~68 \ / \ / ─────────\ /───────── 左软带 V 右软带 | ● 球头 Ø25~28 ↓ 重力

不要把间距写死。

我建议做成:

30~40 mm 连续可调。

第一轮实验直接测试:

30 / 32 / 34 / 36 / 38 mm。

理论上球头最大 28 mm,所以 30 mm 开始比较合理;羽毛裙最低也有约 58 mm,因此容差非常大。(羽毛球网)

结构尺寸建议:

整理段长度:250~320 mm 皮带宽度:15~20 mm 皮带间隙:30~40 mm可调 速度:0.06~0.12 m/s

这一段我会增加一个非常弱的偏心振动。

不是为了“震球”,而是在遇到横躺、两只球搭在一起时,让它自己重新寻找稳定姿态。

甚至可以让左右两条皮带:

左:0.10 m/s

右:0.095 m/s

存在约 5% 速度差。

球就会产生轻微旋转,更容易进入正确姿态。


6. 我暂时不建议第一版搞专利里的“4球翻转+横向推筒”

那个方案很聪明,而且已经有人验证:四个球进入临时筒后,整个临时筒翻成水平,再由推杆一次把四个球推入最终球筒。(谷歌专利)

但是 V1 没必要。

我们先做更加简单的:

垂直自由落球 + 轻振动嵌套

统一球头向下以后:

新球 \ / V ● ↓ ┌────────┐ │ \ / │ │ \ / │ │ ● │ │ \ / │ │ \ / │ │ ● │ │ \ / │ │ ● │ └────────┘

也就是正常球桶的排列。

这里我建议不要一开始使用真正纸球桶作为机械基准。

先加工四根透明实验筒:

内径分别:

72 / 74 / 76 mm

看看哪个尺寸对不同品牌羽毛球容错最好。

最后大概率会在:

74 mm 左右

找到比较舒服的位置。

透明材料建议 PETG 或 PC,这样能够直接观察堵球原因。

单筒高度:

400~420 mm。

基本就是普通 12 球包装的长度级别。


7. 储球我建议直接做 4×12

四根储球筒不是横着摆。

做一个简单转盘:

俯视 ○ ○ ● 转盘中心 ○ ○

四个透明筒围绕一个转盘。

固定落球点不动。

当计数:

Tube 1 = 12

STM32 控制步进电机旋转 90°:

Tube 2 → 落球口

然后继续。

所以容量:

48 个。

这已经足够覆盖大多数训练场景。

以后想扩到 72 个,只需要做 6 筒转盘。


8. 底盘我现在建议用这个规格

两个驱动轮:

24V、75~100 rpm、带编码器的 37 mm 级减速电机。

配:

90~100 mm 软橡胶轮。

如果用 100 mm 车轮:

75 rpm 理论轮速约:

0.39 m/s。

100 rpm:

0.52 m/s。

但软件限制最大速度到:

0.35~0.4 m/s

就行。

日常找球:

0.25 m/s。

最后 50 cm 靠近羽毛球:

0.1 m/s。

这已经很快。

市面上这类 24V 37 mm 编码器减速电机非常成熟,例如 75 rpm、107 rpm 等规格都有现成型号:

24V 75rpm 37mm Encoder Gearmotor

US$17.50

24V 107rpm 37mm Encoder Gearmotor

US$18.88

24V 107rpm 555 Encoder Gearmotor

US$25.50

这几个只是规格参考,你们真采购时我建议国内直接找 GB37/37GB555 编码器减速电机,不要照海外价格买。


9. 整车电机数量大约 8 个

我会这样分:

编号电机数量大致要求
M1/M2左右行走电机224V、75–100rpm、编码器
M3/M4左右聚拢刷224V、100–150rpm
M5拾球滚轮124V、120–200rpm
M6斜输送带124V、60–100rpm
M7双皮带整理机构124V、60–100rpm
M8储球转盘1NEMA17步进

双整理皮带没必要两个电机。

一个电机通过同步轴带动两根皮带即可。


10. 堵球一定要用“电流”判断

机械结构再好,也一定会堵。

所以:

拾球滚轮、输送带、整理皮带

最好都有电流监测。

例如:

正常: 1.2 A 突然: 4.5 A 持续 >200 ms ↓ 判断堵塞

然后自动:

停止 ↓ 反转 0.4 s ↓ 停止 0.2 s ↓ 正转

最多尝试三次。

再失败才报警。

这比摄像头判断“是不是堵球”可靠得多。


11. V1 的传感器其实只需要这些

我会安装:

位置传感器
左右轮编码器
机身IMU
拾球入口对射光电
整理入口对射光电
整理出口对射光电
储球入口对射光电
转盘霍尔零位
前保险杠微动开关 ×2
左右前方ToF ×2
电机电流检测

然后逻辑非常明确:

入口传感器 → 球确实进车了 整理出口 → 球已经正确通过整理机构 储球传感器 → 球真的掉进球筒 count += 1

不要用 AI 去推测“刚才是不是捡到了”。

一定用物理传感器确认。


12. 控制系统采用你比较熟悉的思路:AI板 + STM32

整体数据流:

USB/MIPI Camera │ ▼ ┌─────────────┐ │ RK3588 │ │ │ │ YOLO │ │ 目标定位 │ │ 路径规划 │ │ 状态机 │ └──────┬──────┘ │ UART/CAN │ ┌──────▼──────┐ │ STM32 │ │ │ │ Wheel PID │ │ Sensor IO │ │ Motor Ctrl │ │ Jam Recover │ │ E-stop │ └──────┬──────┘ │ ┌────────────┼────────────┐ ↓ ↓ ↓ 行走电机 输送电机 转盘

AI板只发:

v = 0.22 m/s w = -0.31 rad/s

STM32 自己算:

left_rpm right_rpm

然后以:

100 Hz

闭环控制电机。

Linux 上面的 AI 程序哪怕卡一帧,车辆也不会乱跑。


13. AI板我仍然建议 RK3588

ROCK 5B 的 RK3588 内置 NPU 官方标称最高6 TOPS,支持 INT4/INT8/INT16/FP16,并有 USB、MIPI CSI、PCIe 等接口。(Radxa)

你这个任务:

只有一个类别——羽毛球。

没有必要买 67 TOPS 的 Jetson。

我现在反而更倾向:

RK3588 8GB。

另外一个好消息是目前 Ultralytics 已经支持直接把 YOLO 导出成 RKNN,并指定目标平台rk3588,包括 INT8 量化部署;Rockchip 官方也维护 RKNN-Toolkit2。(Ultralytics Docs)

所以软件流程可以非常简单:

4060Ti 台式机 YOLO训练 ↓ best.pt ↓ RKNN export ↓ best.rknn ↓ RK3588

不像几年前 RK3588 部署那么折腾。


14. 你现在的 4060 Ti 16GB 不仅够,而且绰绰有余

我甚至建议第一版直接用你比较熟悉的:

YOLO26n Detect。

训练分辨率:

先:

960 × 960

如果远处小球检测还是差,再试:

1280。

因为羽毛球在三四米以外会变成很小的目标。

4060 Ti 16GB 训练这种单类别 Nano 模型完全没有必要增加第二张显卡。

你的钱更应该花在:

机械加工;

不同滚轮;

不同软刷;

透明整理槽;

测试球;

不同品牌羽毛球;

相机。

这是一个典型的:

机械实验成本 > AI 算力成本

的项目。


15. 相机我建议最终做两个,但第一版先一个

主相机:

分辨率:2560×1440 或至少1920×1080 帧率:30 fps HFOV:80~100° 安装高度:约500 mm 俯角:25~35°

负责:

0.5~4 m 左右找球。

第二个近距离相机只预留接口。

以后装在前端:

球 ↓ 中 ┌────────────┐ │ L C R│ └────────────┘

最后几十厘米只判断:

球偏左、居中、偏右。

这能显著提高入口命中率。


16. 第一版 YOLO 数据集不用很大,但场景一定要刻意做难

目标我建议:

1500~3000 张真实图片。

但一张里面可以很多羽毛球,所以最好有:

10000+ 个球实例。

重点不是数量,而是必须覆盖下面这些情况:

不同距离、不同角度、白色球/轻微变色球、球头朝向不同、羽毛朝摄像头、球头朝摄像头、多个球重叠、靠近边线、压在白线附近、强灯光、阴影、人脚附近、球拍附近、饮料瓶等干扰物。

尤其要加入:

大量没有羽毛球的负样本。

这样以后误检测会少很多。


17. 羽毛球坐标根本不需要深度相机

场地是平面。

做一次 Homography 标定:

图片像素 (u,v) ↓ Homography ↓ 地面坐标 (X,Y)

所以 YOLO 检测到:

bbox = x1,y1,x2,y2

取 bbox 下方附近的落地点:

u = (x1+x2)/2 v = y2

投影到地面。

马上得到:

Target: X = 1.84 m Y = -0.37 m

然后机器人就能过去。

完全不需要 RGB-D。


18. 最后的进球控制要单独做

我不建议机器人一路保持同一个导航控制器。

距离 > 0.6 m:

普通目标导航

距离 < 0.6 m:

切换到:

APPROACH 模式。

控制方式变成:

羽毛球 * | | image center | ↓ ┌──────────┐ │ 捡球入口 │ └──────────┘

控制两个量:

横向误差 ex 距离误差 ed

如果:

球在左边

稍微左转。

如果:

球正中央

缓慢前进。

最后以:

0.08~0.12 m/s

进入拾球区。

这里完全没必要搞神经网络控制。

P 控制甚至都够。


19. 软件最终状态机我建议直接按这个做

这是整套机器人的“大脑”:

BOOT ↓ SELF_CHECK ↓ LOCALIZE ↓ SEARCH ↓ DETECT_BALLS ↓ SELECT_TARGET ↓ NAVIGATE ↓ APPROACH ↓ PICKUP ↓ VERIFY_PICKUP ├──失败 → RETRY_PICKUP │ ↓ │ 3次失败 │ ↓ │ MARK_FAILED │ └──成功 ↓ ORIENT ↓ VERIFY_ORIENT ↓ STORE ↓ BALL_COUNT +1 ↓ Tube == 12 ? ├─是 → ROTATE_TUBE └─否 ↓ SEARCH

同时后台监控:

OBSTACLE JAM LOW_BATTERY TUBE_FULL EMERGENCY_STOP

这是我最推荐的软件架构。


20. V1 BOM,我建议把预算冻结在约 3500 元

第一版不要追求漂亮外壳。

先把功能跑通:

模块建议配置目标成本
AIRK3588 8GB¥700–1000
MCUSTM32F4/G4¥40–100
相机2K/4MP UVC¥150–300
行走电机37GB编码器 ×2¥250–400
行走轮100mm ×2¥80–150
万向轮×2¥40
聚拢刷电机×2¥80–150
拾球电机×1¥60–100
输送电机×1¥50–80
整理电机×1¥50–80
NEMA17+驱动×1¥50–80
电机驱动若干¥150–250
输送带/同步带—¥200–350
光电/ToF/电流传感器—¥100–200
电池25.6V 10Ah LiFePO4¥450–700
充电器29.2V¥80–150
DC/DC24→12/5V¥80–120
铝型材/钣金—¥300–500
3D打印PETG/TPU¥200–400
线材/连接器/保险—¥150–250

真实做下来:

¥3500 左右可以作为比较激进的目标。

第一次样机因为买错零件、重新加工,实际准备:

¥4500~5000

会舒服很多。


21. 第一阶段我甚至不建议买 RK3588

这一点很重要。

现在先用你们的 4060 Ti 台式机。

最初机械样机完全可以:

USB线 ↓ 台式机 ↓ YOLO

甚至先不用 YOLO。

用遥控器控制底盘。

也就是说开发顺序是:

机械 → 遥控 → 视觉 → 自主。

而不是:

AI → AI → AI → 最后发现球塞不进去。


22. 我给这个项目定的第一个真正验收实验

先不用底盘。

做一台桌面机器:

人工随机扔球 ↓ ┌───────────┐ │ 拾取滚轮 │ └─────┬─────┘ ↓ 斜输送带 ↓ 单球器 ↓ 双带整理 ↓ 漏斗 ↓ 透明储球筒

然后准备:

100 个连续测试循环。

每次随机改变球姿态。

记录四个指标:

指标第一阶段目标
成功进入>95%
正确定向>95%
正确嵌套>90%
羽毛明显损坏<1%

这个东西跑通之后,我们才值得做机器人底盘。

因为它就是整个项目最难的 50%。


我建议我们接下来就这么推进

下一步我可以直接继续把这个方案进一步落到机械 CAD 级别:把前端拾球机构、斜输送带、双皮带整理器、4筒转盘分别画成“俯视 + 侧视尺寸草图”,给出轴径、滚轮直径、皮带宽度、安装孔/调节槽、各电机安装位置,以及第一批你应该购买的具体零件规格。

其中我建议最先画和制作“桌面版拾取→整理→叠球机构”,暂时连轮子和 AI 板都不要买。这个顺序能最大程度降低你们第一次样机失败的成本。

返回列表