国产开源硬件可以这么玩!利用飞腾派进行机械臂分拣演示。
国产开源硬件 飞腾派
飞腾派是由萤火工场研发的一款面向行业工程师学生和爱好者的国产开源硬件。主板处理器采用飞腾嵌入式四核处理器,该处理器兼容ARM V8指令集,包含2个FTC664核和2个FTC310核,其中FTC664核主频可达1.8GHz,FTC310核主频可达15GHz。主板板载64位DDR4内存,分2G和4G两个版本,支持SD或者eMMC外部存储。主板板载WiFi蓝牙,陶瓷天线,可快速连接无线通信。另外还集成了大量外设接口,包括双路千兆以太网、USB、UART、CANHDMI、音频等接口,集成一路miniPCIE接口,可实现AI加速卡与4G、5G通信等多种功能模块的扩展。
飞腾派定制了PhytiumPIOS操作系统,并且支持OpenHarmony、openKylin、deepin、SylixOSRT-Thread等多款国产操作系统,同时也支持UbuntuArmbian、OpenWrt等国外主流的开源操作系统,为开发学习提供了更多的选择和极大的便利。
机械臂的“眼睛”
机械臂是一种高度灵活的自动化设备,广泛应用于工业制造、科研实验、教育等领域。视觉识别技术就相当于它的“眼睛”,使机械臂能够“看”到周围环境,并根据视觉信息进行精确的操作。本次将在国产开源硬件飞腾上使用yolo v5识别目标进行信息分析,并控制机械臂进行分拣演示。
准备工作
更新软件列表
sudo apt-get update
sudo apt install python3-pip
源码解压,把权重⽂件yolov5s.pt放⼊源码⽬录,再查看requirements.txt文件
user@Phytium-Pi:~/yolov5-6.0$ ls
CONTRIBUTING.md Dockerfile LICENSE
data
detect.py
export.py models
requirements.txt utils
train.py
hubconf.py README.md tutorial.ipynb
user@Phytium-Pi:~/yolov5-6.0$ cat requirements.txt
# pip install -r requirements.txt
# Base
----------------------------------------
matplotlib>=3.2.2
numpy>=1.18.5
opencv-python>=4.1.2
Pillow>=7.1.2
PyYAML>=5.3.1
requests>=2.23.0
scipy>=1.4.1 torch>=1.7.0
torchvision>=0.8.1
tqdm>=4.41.0
......
# Logging
------------------------------------
tensorboard>=2.4.1
# wandb
val.py
yolov5s.pt
# Plotting
------------------------------------
pandas>=1.1.4
seaborn>=0.11.0
# roboflowthop
# FLOPs computation
提取码: gpwn
user@Phytium-Pi:~/install_pack$ ls
contourpy-1.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
fonttools-4.54.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
importlib_resources-6.4.5-py3-none-any.whl
matplotlib-3.7.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
pandas-1.5.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
pillow-10.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
python_dateutil-2.9.0.post0-py2.py3-none-any.whl
scipy-1.10.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
sympy-1.13.3-py3-none-any.whl
tensorboard-2.14.0-py3-none-any.whl
torch-2.4.1-cp38-cp38-manylinux2014_aarch64.whl
torchvision-0.19.1-cp38-cp38-manylinux2014_aarch64.whl
⼤部分版本和requirements.txt,个别如pandas,requirements.txt⽤最新版本装起来有问题,我手动下载了可⽤的低版本。把pip包源改为清华源。
user@Phytium-Pi:~/yolov5-6.0$ mkdir ~/.pip/
user@Phytium-Pi:~/yolov5-6.0$ touch ~/.pip/pip.conf
user@Phytium-Pi:~/yolov5-6.0$ vim ~/.pip/pip.conf
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
"~/.pip/pip.conf" 2L, 62C
sudo python3 -m pip install -r requirements.txt
运行与分析
查看源码路径下的README.md⽂件,启动命令和输⼊源的选择如下:
$ python detect.py --source 0 # webcam
file.jpg # image
file.mp4 # video
path/ # directory
path/*.jpg # glob
'https://youtu.be/NUsoVlDFqZg' # YouTube
'rtsp://example.com/media.mp4' # RTSP, RTMP,
HTTP stream
插上usb摄像头( 注意插到板⼦的usb3.0口),查看节点。
user@Phytium-Pi:~/yolov5-6.0$ ls /dev/video*
/dev/video0 /dev/video1
据video节点启动yolo5。
user@Phytium-Pi:~/yolov5-6.0$ sudo python3 detect.py --source 0
yolo5有很多参数可配置。如下图,把默认输⼊源改为摄像头设备号,后⾯启动 时就不需要输⼊ "--source 0" 。其他参数可⾃⾏研究。
完成分类后,可以把label转为字符串进⾏判断,从而对我们需要识别的物体进⾏操作。下图修改,区分出⾹蕉和苹果,并输出到打印信息。
⻜腾派识别信息并 进⾏处理,1帧⼤概1.5s表现还不错。只要在识别 出⽬标后,对机械臂进⾏控制,就能让机械臂识别目标进行分拣。后续可对模型进行持续优化,或者针对⽬标进⾏训练,来得到更快的响应速度。
机械臂分拣展示
视频链接: https://mp.weixin.qq.com/s/1BeKjxZNPEPghOZMewZGnQ
免费试用飞腾派
飞腾派免费试用活动正在进行中,测评还送定制文创礼品,诚邀您的参与,点击下方图片,了解详细活动内容。
申请链接: https://mp.weixin.qq.com/s/1BeKjxZNPEPghOZMewZGnQ
飞腾派V3 现货支持
飞腾派V3 现货发售,支持全四口USB 3.0接口,PWM智能调速散热风扇,国标/美标耳机自动识别等功能,售价649元包邮。
https://www.iceasy.com/product/1875487334855221250
飞腾派资料下载专区
提供飞腾派相关资料下载,包括开发板手册、开源项目文档等。
https://www.iceasy.com/cloud/Phytium?pid=1877646941793374213
开源口碑案例分享
可参考飞腾派开发板的用户评价和社区反馈。
https://www.iceasy.com/review/list