写这篇文章主要方便自己以后做ROS2与深度学习检测结果通讯作参考
一、以yolov8为例
主要参考https://blog.csdn.net/baidu_40624101/article/details/135476384
该作者很详细的描写了python和C++两种 (省略了一些小步骤),这里我用的是python。
此处,是在笔记本CPU上测试的
1.创建ros2工作空间
mkdir -p server_demo/src
2.创建server_demo功能包
上面创建的工作空间的src文件夹进入终端
ros2 pkg create --build-type ament_cmake server_demo
3.server_demo功能包目录下创建srv文件夹,并创建一个Myimage.srv文件,并文件中添加(srv文件首字母必须要大写,而且文件名不可以有特殊符号)
参考链接文章对应部位
4.编辑CMakeLists.txt和package.xml文件
参考链接文章对应部位
5.编译
在工作空间进入终端
colcon build
6.ultralytics安装
要注意,之前在anaconda环境中创建并下载的ultralytics跟这里的安装没有任何关系。
这里我们要在非conda环境中安装ultralytics
直接从主目录进入终端:
pip3 install ultralytics
如果有报错,多次重新输入指令安装。
7.创建python的服务通信功能包
ros2 pkg create py_server --build-type ament_python --dependencies rclpy std_msgs server_demo
8.创建客户端和服务端的代码文件
参考链接文章对应部位
9.python服务端代码
参考链接文章对应部位
10.python客户端代码
参考链接文章对应部位
11.setup.py文件编辑
参考链接文章对应部位
12.下载yolov8模型及测试图片
yolov8模型库下载地址:https://github.com/ultralytics/assets/releases/tag/v0.0.0
这里找到yolov8n.pt下载,在工作空间同级文件夹下创建weights文件夹,将yolov8n.pt文件存放进去。
再随便下载一个测试图片存放好位置。
修改程序中相应位置的yolov8n.pt和图片路径
13.运行
colcon build
. install/setup.bash
ros2 run py_server server_py
再另开一个终端
. install/setup.bash
ros2 run py_server client_py
此时: