这是一台基于树莓派的视觉处理器,它可以通过以太网接入,用在任何需要视觉处理系统的设备上(例如机器人比赛的视觉分析系统)。
工作原理
视觉系统通过反光带勾勒出视觉目标,反光带的光线反射被摄像头捕获。
树莓派运行的开源代码来自 Chameleon Vision。
它可以将采集到的图像突出显示,添加图像叠加、输出音量、偏航、轮廓以及位置的数组。其中,数组通过网络按 x、y(以米为单位)和角度所体现出来的数据排序。
收集好后的信息将传送到软件中,为其他设备提供数据支撑。其他软件平台可以在树莓派上运行。
项目外壳使用 Fusion 360 创建,最后 3D 打印而成。
RasPi+Camera+Enclosure+v1.f3d
[304084 Bytes at 2020-03-05, 7 次下载]
RasPi+Lid.stl
[719384 Bytes at 2020-03-12, 9 次下载]
RasPI+Base.stl
[320584 Bytes at 2020-03-12, 6 次下载]
RPi-GPIO-Flash-master.zip
[36258 Bytes at 2020-03-13, 5 次下载]
树莓派4B × 1
LM2596 DC-DC 降压转换器(3.0-40V 至 1.5-35V 电源降压模块) × 6
Noctua NF-A4x10 5V 静音风扇 × 1(3针、5V)
SanDisk Ultra microSDHC 卡 × 1(32GB)
树莓派摄像头模块 × 1(V2-8 百万像素 1080p)
树莓派4 散热器 × 20
树莓派4 导热胶带 × 若干
2N2222 三极管 × 若干
EDGELEC 100欧电阻 × 若干
LED × 若干
塑料粘胶 × 1
剥线钳 × 1
烙铁 × 1
热缩管 × 若干
剪线钳 × 1
无铅焊料 × 1
助焊剂 × 1
镊子 × 1
热熔胶枪 × 1
LED 阵列 × 1
这个视觉处理系统经过了多次的摸索和改进,跟大家一起分享我的改版折腾历程。
第一版
设备:树莓派3、摄像头、DC-DC 降压/升压电路和环形灯。这一版我没有采用树莓派 4,因此不必担心电源需求。
https://www.andymark.com/products/led-ring-green
通过 USB 供电。在没有任何的改装,摄像头的安装很合适。环形灯固定在外壳上,机箱内部没有空间容纳升压板,因此它需要固定到外部。完成后,运行效果不错。因此我准备再次升级设备,购买了树莓派 4、散热器和风扇。而且对外壳进行了设计并 3D 打印。
第二版
如图所示,机箱的内部尺寸还可以,但是端口位置有些偏移,不能完整的显示端口。随后与我的设备相连测试后发现环形光输出不足,因此我再次改进。
第三版
保留第二版里的系统与另一个树莓派3 组合在一起测试。第三版设备有树莓派3、 焊接在板子上的 LifeCam HD 3000,升压转换器和 LED 阵列。该阵列可以从 50+ 英尺远的距离照亮目标,但角度偏离大于22°,就会失去目标。
最后的调整
第三版中的六个 LED,每个相距约 60°,正对着 LED。最后调整为,在镜头周围添加八个 LED。它们间隔 45°,其中四个 LED 朝前方,另四个 LED 倾斜10°,最后可以提供了44°的视野效果。
这将允许机箱垂直或水平安装在设备上。外壳修改后可以适用于树莓派 3/4。同时外壳的表面针对单个 LED 也进行了修改。
经过测试后发现树莓派3/4 的都没有问题,因此可以在机箱端口处安装树莓派。最终版本剔除了外壳背部的安装点以及圆形顶部的排气口。树莓派使用树莓派3/4 都可以使用。树莓派3 成本更低,运行温度较低,并且耗电更少。
将 STL 文件导入即可打印外壳,该文件以英寸为单位。你可以使用 Fusion 360,也可根据自己的需要修改 .f3d 文件。
所有打印文件请在项目文件库中下载。
https://make.quwj.com/project/206
下面我将介绍一下视觉处理系统与其他设备连接后的供电运行情况,仅作参考。你可以根据你的实际情况来调整。
在项目中,如果运行树莓派的全部端口,wifi 和显示器,将需要 3A 的电流。但我连接的设备上没有足够的电量。设备上的 USB 端口额定为 900 毫安,电压调节器模(VRM)5V 电源只可提供 2A 的电流,限制为 1.5A。
它是一个共享的连接器,因此,如果另一台设备在 5V 总线上,则可能会出现电源不足的情况。因此树莓派需要为 5A 断路器上的离子显示器(PDP)提供 12V 的电压。
通过离子显示器上的 5A 断路器提供 12V 电压,使用 LM2596 直流降压转换器将其转换为 5.15 伏特电压。降压转换器在 3A 时提供 5V 电压,并保持稳定,直到输入电压至 6.5V。该 5V 电压总线为三个子系统供电:LED 环形阵列、风扇和树莓派。
LED 阵列的布线
焊接时请注意安全,并在通风良好的地方工作。如图所示进行焊接。
1、外壳表面上印有 0、90、180、270 处 LED 的孔将倾斜 10°。印有45、135、225、315 处的孔是直的。
2、将所有 LED 固定在外壳表面的 5mm 的孔中。LED 排列紧凑并以正确角度安装,LED 上的长引线是正极。
3、将 LED 和电阻器的连接,并在电阻器的另一侧留下长引线。组合前要进行测试(一块 AA 电池和两条测试线,如果使 LED 变暗,这就说明极性是正确的。)。
4、将经过测试的 LED/电阻器组合放入壳中,使引线以 Z 字形排列,以便每个电阻器引线都与下一个电阻器连接形成一个环。焊接所有引线,再使用塑料粘合机粘连所有的节点。
5、LED 环上添加 18 号的红线和黑线。使用 5V 电源测试完整的阵列,可以采用 USB 充电器。
降压/升压器的布线
在连接降压转换器之前,需要先设置输出电压。
1、将其连接到离子显示器端口,并在 5A 电流下进行连接。
2、将电压表夹在电路板输出,然后开始旋转电位器。测试为完全输出,然后保留该设置。设置为 5.15V。
3、使用螺丝将降压转换器和树莓派固定到位。
4、为电源线钻孔,在外壳底部打孔以便连接外部。
5、将电线连接到 DC-DC 转换器的输入线上。将红线连接到正级,黑线连接到负极。从板上出来后,我预留了两条短的裸线,以便连接风扇,树莓派和晶体管。
其他组件布线
1、将树莓派与地线、电源、LED 驱动和摄像头连接。树莓派上使用是 2、6 和 12 针脚。
2、将红线、黑线和白线剪成四英寸长。剥离电线的两端一部分的绝缘层,将锡针与树莓派连接。
具体方法如下:
将红线焊接至 GPIO 引脚 2,将黑线焊接到 GPIO 引脚 6,将白线焊接到 GPIO 引脚12,套上热缩管并加热。
将红线连接到降压器的正极,将黑线连接到降压器的负极,在白线上套上热缩管,焊接到晶体管上。
晶体管发射连接到降压器的负极,晶体管集电极连接到 LED 阵列的负极,LED 阵列阳极以及电阻连接到降压器的正极。
将风扇的红线连接到降压器的正极,将风扇的黑线连接到降压器的负极。
3、连接摄像头电线。使用 zif 连接器将电线的引脚对齐后插入插座。
最后,检查一下所有的连接点,确保所有的电线连接无误。
给树莓派安装 Raspbian 系统,参考教程:
https://shumeipai.nxez.com/2019/04/17/write-pi-sd-card-image-using-etcher-on-windows-linux-mac.html
将 SD 卡插入树莓派。合上盖子前,检查一下布线是否与壳内的组件分离,特别要注意风扇的布线,确保合上盖子后没有阻挡扇叶。
通电测试
首次通电时,需要一条 HDMI 电缆(如果是树莓派 4,则需要 mini HDMI 电缆)、USB 键盘和 HDMI 显示器与互联网连接。将其连接至 12V 电源,带有 5A 断路器的等离子显示器。
登录后运行配置工具,设置 SSH 以及启用树莓派摄像头:
https://shumeipai.nxez.com/2013/10/07/raspberry-pi-to-install-the-camera-module.html
安装 Chameleon Vision 请点击此处:
https://chameleon-vision.readthedocs.io/en/latest/contents.html
如果树莓派不支持,请刷最新版本。
Chameleon Vision Web
Chameleon Vision 可以在树莓派的大多数操作系统上运行。确保树莓派通过以太网连接到 Internet。登录到树莓派(用户名为 pi,密码为 raspberry)并在终端中运行以下命令:
$ wget https://git.io/JeDUk -O install.sh
$ chmod +x install.sh
$ sudo ./install.sh
$ sudo reboot now
现在,你的树莓派已设置好 Chameleon Vision。将树莓派重启后,运行以下命令启动 Chameleon Vision:
$ sudo java -jar chameleon-vision.jar
当 Chameleon Vision 更新时,运行以下命令进行更新:
$ wget https://git.io/JeDUL -O update.sh
$ chmod +x update.sh
$ sudo ./update.sh
LED 阵列的控制
在没有软件控制的情况下,LED 阵列是不会亮的。
使用 Python 脚本来控制 LED,请点击下载脚本。
https://github.com/frc3223/RPi-GPIO-Flash
最后,这里提供了已经配置好了的 FRC 视觉系统镜像:
https://github.com/wpilibsuite/FRCVision-pi-gen/releases