[中文文档](./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功能包,可以快速完成物体识别与位姿发布源码+详细文档 +全部资料+高分项目.zip
共20个文件
py:8个
md:2个
jpg:2个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 175 浏览量
2024-12-20
17:51:34
上传
评论
收藏 13.25MB ZIP 举报
温馨提示
【资源说明】 基于YOLOV5 的ROS2功能包,可以快速完成物体识别与位姿发布源码+详细文档 +全部资料+高分项目.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
基于YOLOV5 的ROS2功能包,可以快速完成物体识别与位姿发布源码+详细文档 +全部资料+高分项目.zip (20个子文件)
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
CSDN
软件
项目授权码.txt 268B
共 20 条
- 1
资源评论
Yuki-^_^
- 粉丝: 3101
- 资源: 2256
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- STM32通过ESP8266连接阿里云物联网平台读取DHT11温湿度和18B20温度上传,在阿里云物联网平台控制LED灯亮度
- Java图书馆管理系统源码
- Java-基于SpringBoot的图书馆管理系统源码
- Java图书馆管理系统(基于SpringBoot)
- 基于小程序的图书管理系统源代码(java+小程序+mysql+LW).zip
- JavaWeb图书馆管理系统
- 基于小程序的小演员招募小程序的设计与开发源代码(java+小程序+mysql).zip
- 基于小程序的学生毕业管理系统源代码(java+小程序+mysql+LW).zip
- 基于小程序的大学校园二手书籍拍卖小程序源代码(java+小程序+mysql).zip
- Java图书管理系统(SpringBoot)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功