[中文文档](./README.md) | [English Document](./README_EN.md)
# YOLO_ROS2
基于YOLOV5 的ROS2封装,允许用户使用给定的模型文件和相机参数进行三维空间物体检测和抓取操作。
![YOLO_ROS2](https://img-blog.csdnimg.cn/592a90f1441f4a3ab4b94891878fbc55.png)
## 1. 安装依赖
首先,确保您已经更新了系统并且安装了必要的依赖。以下是一些安装步骤,其中`$ROS_DISTRO` 是您的ROS2发行版(例如:`foxy`、`galactic`):
```bash
sudo apt update
sudo apt install python3-pip ros-$ROS_DISTRO-vision-msgs
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple yolov5
```
## 2. 下载编译和运行
下载开源库
```bash
mkdir -p yolov5_ws/src
cd yolov5_ws/src
git clone https://github.com/fishros/yolov5_ros2.git
```
编译项目并设置环境变量
```bash
cd yolov5_ws
colcon build
source install/setup.bash
```
现在,您可以运行Yolo_ROS2节点。默认情况下,它将使用CPU来进行检测,使用名为`/image`的图像话题。您可以根据需要更改这些参数:
```bash
ros2 run yolov5_ros2 yolo_detect_2d --ros-args -p device:=cpu -p image_topic:=/image
```
如果您要使用真实相机,请修改默认的图像话题(`image_topic:=/image`),然后在另一个终端中运行以下命令来将相机图像转化为ROS话题:
```bash
ros2 run image_tools cam2image --ros-args -p width:=640 -p height:=480 -p frequency:=30.0 -p device_id:=-1
```
您也可以使用其他相机,例如`usb_cam`。在这种情况下,安装相应的包并运行`usb_cam`节点:
```bash
sudo apt-get install ros-<ros2-distro>-usb-cam # 安装
ros2 run usb_cam usb_cam_node_exe
```
![Yolo_ROS2相机](https://img-blog.csdnimg.cn/c65bed0b67694ed69776151c203bb950.png)
## 3. 订阅结果
Yolo_ROS2将检测结果发布到`/yolo_result`话题中,包括原始像素坐标以及归一化后的相机坐标系下的x和y坐标。您可以使用以下命令查看检测结果:
```bash
ros2 topic echo /yolo_result
```
![Yolo_ROS2检测结果](https://img-blog.csdnimg.cn/ac963f4226bf497790c0ef2fd8d942a3.png)
## 4. 更进一步使用
### 4.1 参数设置
在运行Yolo_ROS2节点时,您可以使用 `-p name:=value` 的方式来修改参数值。
#### 4.1.1 图像话题
您可以通过指定以下参数来更改图像话题:
```bash
image_topic:=/image
```
#### 4.1.2 计算设备设置
如果您有CUDA支持的显卡,可以选择以下参数来配置计算设备:
```bash
device:=cpu
```
#### 4.1.3 是否实时显示结果
您可以使用以下参数来控制是否实时显示检测结果。设置为`True`将实时显示结果,设置为`False`则不会显示:
```bash
show_result:=False
```
请注意,实时显示中的`cv2.imshow`可能会卡住。如果只需要验证结果,可以将此参数设置为`False`。
#### 4.1.4 切换不同Yolov5模型
默认情况下,Yolo_ROS2使用`yolov5s`模型。您可以通过以下参数来更改模型:
```bash
model:=yolov5m
```
#### 4.1.5 是否发布结果图像
如果您希望Yolo_ROS2发布检测结果的图像,请使用以下参数:
```bash
pub_result_img:=True
```
这将允许您通过`/result_img`话题查看检测结果的图像。
#### 4.1.5 相机参数文件
功能包默认从 /camera/camera_info 话题获取相机参数,在获取成功前,相机参数文件路径可以通过参数进行设置,参数为:camera_info_file,通过该参数可以设置文件路径,注意需要使用绝对目录:
```bash
camera_info_file:=/home/fishros/chapt9/src/yolov5_ros2/config/camera_info.yaml
```
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
基于YOLOV5_的ROS2功能包,可以快速完成物体识别与位姿发布。_A_ROS2_package__yolov5_ros2.zip (19个子文件)
yolov5_ros2-main
setup.py 988B
package.xml 716B
resource
mouse.png 285KB
yolov5_ros2 0B
fish.jpg 111KB
yolov5_ros2
__init__.py 0B
yolo_detect_2d.py 7KB
cv_tool.py 2KB
README_EN.md 4KB
launch
yolov5_ros2.launch.py 0B
test
test_pep257.py 803B
test_flake8.py 884B
test_copyright.py 962B
.gitignore 21B
setup.cfg 91B
results
image0.jpg 29KB
README.md 4KB
config
yolov5s.pt 14.02MB
camera_info.yaml 362B
共 19 条
- 1
资源评论
好家伙VCC
- 粉丝: 1533
- 资源: 7760
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- mysql-community-server-core-dbgsym-8.0.39-1ubuntu20.04-amd64.deb
- ExeDll图标提取工具
- 【大创技术文档】智能安防系统开发与实战
- 基于Springboot+Vue+Mysql 实现的人事管理系统毕业设计
- 基于SpringBoot+Vue.JS前后端分离的联邦管理系统 源码+数据库+录屏(毕业设计)
- ms-python-insiders.vsix
- 基于Springboot+Vue+Mysql实现的校园资产管理系统毕业设计
- python-env-manager.vsix
- gauss_elimination.m
- 功夫动画:Kung-Fu animations Motion Cast06 Vol1 1.0U
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功