第2章:仿生眼硬件平台搭建

做仿生眼项目,第一步就是搭硬件。这步要是走偏了,后面算法调得再好也白搭。我见过不少同学,买了开发板就开始跑模型,结果发现摄像头帧率跟不上,或者云台抖得像帕金森——说白了,硬件选型就是给整个系统打地基。

这一章,咱们把主控、摄像头、云台、电源这四个核心模块拆开揉碎了讲。我会结合自己踩过的坑,告诉你哪些地方可以省钱,哪些地方绝对不能省。

2.1 主控选型:Jetson Nano vs RK3588

主控是仿生眼的「大脑」。选哪个,取决于你的项目需求。我个人习惯先看三点:算力、功耗、生态。

对比项 Jetson Nano (4GB) RK3588 (8核)
AI算力 472 GFLOPS (FP16) 6 TOPS (INT8)
CPU 4核 Cortex-A57 4核 A76 + 4核 A55
功耗 5W-10W 8W-15W
价格 约 800-1200 元 约 600-900 元
生态 NVIDIA 官方支持,资料多 Rockchip 社区,中文资料丰富
接口 HDMI, USB3.0, CSI, GPIO HDMI2.1, USB3.0, MIPI CSI, PCIe

我的建议:

  • 如果你主要跑 PyTorch/TensorFlow 模型,且需要 CUDA 加速,选 Jetson Nano。我在项目中遇到过,用 Nano 跑 YOLOv5s 能做到 30fps,基本够用。
  • 如果你需要多路摄像头输入(比如双目),或者想做边缘端部署,RK3588 的 6 TOPS NPU 性价比更高。而且它的 CPU 性能更强,处理图像预处理、串口通信这些杂活更从容。
避坑指南: 我曾经用 Jetson Nano 接双目摄像头,结果发现它的 CSI 接口只有 2-lane,带宽不够。后来改用 USB3.0 摄像头才解决。选主控前,一定先确认摄像头接口的带宽。

2.2 摄像头模组:双目 vs 单目

仿生眼的核心是「看」。单目只能测平面,双目才能算深度。但双目不是简单地把两个摄像头粘在一起就完事了。

2.2.1 单目方案

适合做目标检测、分类。比如人脸识别、手势识别。优点是便宜、调试简单。缺点是没有深度信息,没法做避障、测距。

2.2.2 双目方案

适合做目标跟踪、三维重建、避障。两个摄像头之间的基线距离决定了深度测量范围。我建议基线选 6-8cm,这样在 0.5m-5m 范围内精度最好。

关键参数:

  • 分辨率:至少 720p,推荐 1080p
  • 帧率:目标检测需要 30fps 以上
  • 视场角:水平 60°-90° 比较合适
  • 同步:双目必须硬件触发同步,否则图像对不齐

你想想看,如果两个摄像头采集的时间差了几毫秒,目标移动快一点,深度图就全乱了。嗯,这里要注意,买双目模组时一定要问清楚有没有硬件同步功能。

2.3 云台舵机控制

仿生眼要「动」,靠的是云台。我一般用 2 个舵机:一个控制水平(Pan),一个控制垂直(Tilt)。

2.3.1 舵机选型

  • 普通舵机(SG90): 便宜,但精度差,回程误差大。适合演示用。
  • 数字舵机(LD-1501MG): 金属齿轮,精度 0.5°,扭矩大。我推荐这个。
  • 总线舵机(LX-16A): 支持串口控制,可以反馈角度。适合高级项目。

2.3.2 控制方式

最常用的就是 PWM 控制。50Hz 频率,0.5ms-2.5ms 脉宽对应 0°-180°。代码很简单:

# Python 控制舵机(使用 pigpio 库)
import pigpio

pi = pigpio.pi()
# 设置 GPIO 18 为 PWM 输出
pi.set_servo_pulsewidth(18, 1500)  # 中位,90°
time.sleep(1)
pi.set_servo_pulsewidth(18, 1000)  # 左转,0°
time.sleep(1)
pi.set_servo_pulsewidth(18, 2000)  # 右转,180°
小技巧: 我习惯在舵机控制里加一个「平滑过渡」函数。直接跳转角度会导致画面抖动,目标跟踪时特别明显。用插值算法让舵机慢慢转过去,效果会好很多。

2.4 电源管理

这个环节最容易被忽视,但也是最容易出问题的。我曾经在户外测试时,电池电压一掉,主控直接重启,数据全丢了。

2.4.1 功耗估算

模块 典型功耗 备注
Jetson Nano 5W-10W 满载可达 15W
双目摄像头 2W-4W USB 供电
舵机 x2 2W-6W 堵转时电流大
其他(WiFi、传感器) 1W-2W

总功耗大概在 10W-22W 之间。我建议留 30% 余量,选一个 30W 以上的电源。

2.4.2 供电方案

  • 方案一: 12V 锂电池 + 降压模块(5V/3A 给主控,5V/2A 给舵机)。
  • 方案二: 5V 充电宝 + 升压模块(给舵机供电)。注意充电宝输出电流要够。
  • 方案三: 3S 航模电池(11.1V)+ 稳压模块。适合户外移动场景。
重要提醒: 舵机和主控的电源一定要分开!舵机启动瞬间电流很大,会拉低电压,导致主控重启。我吃过这个亏,后来加了隔离模块才解决。

2.5 系统架构总览

下面这张图,是我做仿生眼项目时画的系统框图。你可以看到数据是怎么流动的:

仿生眼硬件系统架构图 双目摄像头 左/右 1080p @30fps MIPI CSI 主控 (Jetson/RK3588) 目标检测 + 跟踪算法 PWM 舵机云台 Pan/Tilt 控制 供电 电源管理 12V 锂电池 + 降压模块 独立供电 USB供电 图例说明 摄像头模组 主控计算单元 舵机执行机构 电源管理系统 数据/控制信号 电源线路

从图上你能看到,整个系统分三层:感知层(摄像头)、决策层(主控)、执行层(舵机)。电源管理是底层支撑,所有模块都依赖它稳定供电。

我的经验: 搭建时先把电源搞定,再连摄像头,最后接舵机。这样调试起来思路清晰,出了问题也好定位。别问我怎么知道的——当年我一次性把所有线接好,结果冒烟了,查了半天才发现是舵机正负极接反了。

好了,硬件平台搭建就聊到这儿。记住一句话:硬件选型决定了项目的上限,电源管理决定了项目的下限。这两头抓好了,后面写代码才有底气。


公众号:蓝海资料掘金营,微信deep3321