1. 项目概述
在机器人视觉系统中,实时目标检测是一个基础而关键的功能。YOLOv5作为当前最先进的轻量级目标检测算法,其6.0版本在CPU上的推理速度已经能够满足大多数移动机器人对实时性的要求。本文将详细介绍在Ubuntu系统下,基于ROS1框架部署YOLOv5的完整流程,特别针对没有独立显卡的纯CPU环境进行优化。
这个方案特别适合用于教育机器人、仓储AGV等对成本敏感的应用场景。我在实际部署中发现,经过适当优化的YOLOv5s模型在Intel i7-1185G7处理器上可以达到约8FPS的推理速度,完全能够满足低速移动平台的环境感知需求。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备
2.1 系统基础环境
推荐使用Ubuntu 20.04 LTS版本,这是目前ROS1最稳定的支持平台。虽然理论上Ubuntu 18.04/22.04也能运行,但会遇到更多依赖冲突问题。我的实测环境配置如下:
- 操作系统:Ubuntu 20.04.6 LTS
- 处理器:Intel Core i7-1185G7 (4核8线程)
- 内存:16GB DDR4
- ROS版本:Noetic Ninjemys
注意:如果使用虚拟机部署,请确保分配至少4个vCPU和8GB内存,否则推理速度会大幅下降。
2.2 ROS1安装与配置
对于Noetic版本的ROS1,官方提供了完整的安装指南。这里我推荐使用清华源加速安装:
bash复制sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt update
sudo apt install ros-noetic-desktop-full
安装完成后,务必设置环境变量:
bash复制echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
2.3 Python环境配置
YOLOv5官方要求Python≥3.8,而ROS Noetic默认使用Python3.8,这正好匹配。建议创建独立的虚拟环境:
bash复制sudo apt install python3-venv
python3 -m venv ~/yolov5_venv
source ~/yolov5_venv/bin/activate
3. YOLOv5部署与优化
3.1 源码获取与依赖安装
推
