基于 RK3588 核心板的工业机器视觉控制器方案设计
在 3C 电子、锂电、食品药品包装产线上,外观缺陷检测长期是自动化的一道坎:人眼易疲劳、漏检率高,传统基于 X86 工控机 + 独立 GPU 的方案又贵又占空间、功耗动辄上百瓦,难以塞进紧凑的电控柜。边缘化的"视觉控制器"正成为主流解法——把相机接入、推理、IO 触发三件事收拢到一块板卡上。本文以 Rockchip RK3588 平台为例,拆解一套可落地的工业机器视觉控制器方案,并给出固件主循环伪代码。
一、为什么是 RK3588
RK3588 是一颗 8nm 八核 SoC:4×Cortex-A76 + 4×Cortex-A55,主频最高 2.4GHz;内置独立 NPU,整型算力 6TOPS,支持 INT4/INT8/INT16 混合精度,能直接跑 RKNN 量化的检测/分类模型。对机器视觉来说,它的几个点刚好卡在甜区:
- 多路视频输入:原生 MIPI-CSI,配合 USB3.0 可扩展多相机同步采集,单板带 2~4 路 1080p@30fps 推理不成问题。
- 6TOPS 本地推理:缺陷检测这类轻量模型(YOLO 系列、MobileNet 类)在本地闭环跑,时延可以压到几十毫秒,不必上云。
- 工业接口齐全:UART、CAN、千兆以太网、PCIe(可挂 NVMe 存图或扩展采集卡),配合载板能直接对接产线 PLC 与光电传感器。
- 软件生态成熟:Ubuntu / Debian / Buildroot 均有 BSP,RKNN Toolkit2 把 PyTorch / ONNX / TensorFlow 模型量化部署到 NPU 的路径很顺。
二、参考方案拓扑
[工业相机×N]──MIPI-CSI / USB3.0──┐
[光电/编码器]──GPIO / RS485───────┤
▼
┌── 载板(接口/电源/IO)──┐
│ RS485 CAN 千兆 GPIO │
└──────────┬───────────────┘
板对板连接器(2×50pin)
▼
┌── EFISH-CORE-RK3588 核心板 ──┐
│ RK3588 4×A76+4×A55 │
│ 6TOPS NPU (RKNN) │
│ LPDDR4 8/16GB eMMC 64/128GB │
└──────────┬──────────────────┘
▼
┌──────────────┬──────────┴───────────┬──────────────┐
[产线 PLC/IO] [上位机 MES] [本地 HMI] [告警/剔除执行]
(RS485/CAN) (千兆以太/ModbusTCP) (HDMI/MIPI DSI)
核心思路:核心板只做"采-算-判",所有工业接口和电源沉到载板。核心板通过 2×50pin 板对板连接器与载板咬合,这样视觉算法迭代升级时只换核心板,载板上的相机、IO、供电不动,整机认证也不用重做——这正是核心板+载板分离架构在视觉设备里最大的价值。
三、软件栈
- 系统:Ubuntu 22.04(ARM64),实时性要求高的触发逻辑可叠 PREEMPT_RT 补丁。
- 推理:RKNN Toolkit2 将训练好的模型转
.rknn,NPU 跑 INT8 量化版。 - 采集:libcamera / V4L2 取 MIPI 流,USB 相机走 libusb 或 GStreamer。
- 调度:主循环用 Python(快速验证)或 C++(产线稳定版),多路用线程池。
四、固件主循环伪代码
# 运行环境: Ubuntu + RKNN, RK3588 NPU, 节拍由编码器/定时器触发
import rknn, cv2, threading, plc
npu = rknn.RKNN() # 加载量化后的缺陷检测模型
npu.load_rknn("defect_yolo_int8.rknn")
npu.init_runtime(target="rk3588")
cams = [open_cam(i) for i in range(N_CAM)] # MIPI/USB 多相机句柄
io = plc.open("ttyUSB0", baud=115200) # 对接产线 PLC/剔除气缸
def grab_and_infer(cam, trigger_ts):
frame = cam.read(timeout_ms=20) # 光电触发后抓帧
if frame is None: return
boxes = npu.inference(frame) # NPU 本地推理, 数十 ms
for b in boxes:
if b.score > THRESH: # 超阈值 = 缺陷
io.push_defect(trigger_ts, b.cls) # 通知 PLC 标记/剔除
log_defect(trigger_ts, b) # 落盘供追溯
while running:
ts = wait_trigger() # 等光电/编码器上升沿
# 多相机并行推理, 不等串行
tasks = [threading.Thread(target=grab_and_infer, args=(c, ts)) for c in cams]
[t.start() for t in tasks]; [t.join() for t in tasks]
io.ack(ts) # 回告产线: 本帧处理完
三个"真实要点"值得强调:① 推理本地闭环——缺陷判定在 NPU 完成,超阈值毫秒级通知 PLC,不依赖网络;② 多相机并行——线程池而非逐个串行,避免节拍拖拍;③ 触发式抓帧——由产线光电/编码器边沿驱动,而非盲采,减少无效计算与漏检。
五、产品落地
电鱼智能的 RK3588 平台提供了从核心到整机的完整选择:
- EFISH-CORE-RK3588 核心板:RK3588/3588J,6TOPS NPU,8/16GB LPDDR4,eMMC 64/128GB,板对板连接器对接载板,适合做视觉控制器的"算力心脏"。
- EFISH-SBC-RK3588 单板机:核心板 + 载板一体化,自带 HDMI2.1、MIPI CSI、MIPI DSI、5G、千兆/2.5G 网、USB3.0,相机和网的接口都齐,适合中小视觉站直接上。
- AI-BOX 系列算力盒(如 AI-BOX-RK3576):整机形态,带壳带散热,可直接挂产线电柜,省去结构件设计。
- 若算力需求低一档,eFish-SBC-RK3568 同平台生态可平滑降配,BSP 与模型迁移成本低。
六、典型场景
- 3C 电子外观检测:手机中框划痕、PCB 焊点虚焊,多相机环拍,RK3588 本地跑检测模型,NG 件由 IO 推剔除。
- 锂电极片缺陷:涂布孔洞、划痕,产线速度快,靠触发式抓帧 + NPU 低时延闭环不掉拍。
- 食品药品包装 OCR:生产日期、批号字符识别,RKNN 量化分类/检测模型在边缘跑,结果经 ModbusTCP 回 MES。
小结
用 RK3588 做视觉控制器,本质是把"相机接入 + 本地推理 + IO 闭环"收进一块板:6TOPS NPU 扛推理、多路 MIPI/USB 扛接入、CAN/RS485/千兆扛对接。核心板与载板分离后,算法升级不碰接口与认证,整机交付更稳。上述方案已可在电鱼智能 RK3588 平台(EFISH-CORE-RK3588 / EFISH-SBC-RK3588)及 AI-BOX 系列整机上验证,具体型号参数以官方 ARM 产品手册为准。
更多推荐



所有评论(0)