机械臂是一种高度灵活的自动化设备,广泛应用于工业制造、科研实验、教育等领域。视觉识别技术就相当于它的“眼睛”,使机械臂能够“看”到周围环境,并根据视觉信息进行精确的操作。本次将在国产开源硬件飞腾派上使用yolo v5识别目标进行信息分析,并控制机械臂进行分拣演示。
详细教程
一、项目准备
硬件规格:飞腾派
软件要求: 飞腾派OS、开发环境ubuntu22.04

飞腾派OS下载地址:
https://www.iceasy.com/cloud/Phytium?pid=1947550276826509317
二、下载yolov5
首先需要更新软件列表。
sudo apt-get updatesudo apt install python3-pip
下载并解压yolo5s,建议选择权重⽂件yolov5s.pt,模型性能要求低。把权重⽂件yolov5s.pt放⼊源码⽬录,再查看requirements.txt文件。
user@Phytium-Pi:~/yolov5-6.0$ lsCONTRIBUTING.md Dockerfile LICENSEdatadetect.pyexport.py modelsrequirements.txt utilstrain.pyhubconf.py README.md tutorial.ipynbuser@Phytium-Pi:~/yolov5-6.0$ cat requirements.txt# pip install -r requirements.txt# Base ----------------------------------------matplotlib>=3.2.2numpy>=1.18.5opencv-python>=4.1.2Pillow>=7.1.2PyYAML>=5.3.1requests>=2.23.0scipy>=1.4.1torch>=1.7.0torchvision>=0.8.1tqdm>=4.41.0......# Logging ------------------------------------tensorboard>=2.4.1# wandbval.pyyolov5s.pt# Plotting ------------------------------------pandas>=1.1.4seaborn>=0.11.0# roboflowthop # FLOPs computation
最后进行安装即可,安装过程较久,请耐心等待。
sudo python3 -m pip install -r requirement.txt
三、运行与分析
查看源码路径下的README.md⽂件,启动命令和输⼊源的选择如下:
$ python detect.py --source 0 # webcamfile.jpg # imagefile.mp4 # videopath/ # directorypath/*.jpg # glob'https://youtu.be/NUsoVlDFqZg' # YouTube'rtsp://example.com/media.mp4' # RTSP, RTMP,HTTP stream
接入摄像头,查看节点
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 0yolo5有很多参数可配置。如下图,把默认输⼊源改为摄像头设备号,后⾯启动 时就不需要输⼊ "--source 0" 。其他参数可⾃⾏研究。

完成分类后,可以把label转为字符串进⾏判断,从而对我们需要识别的物体进⾏操作。下图修改,区分出⾹蕉和苹果,并输出到打印信息。

⻜腾派识别信息并 进⾏处理,1帧⼤概1.5s表现还不错。只要在识别 出⽬标后,对机械臂进⾏控制,就能让机械臂识别目标进行分拣。后续可对模型进行持续优化,或者针对⽬标进⾏训练,来得到更快的响应速度。
机械臂展示
