yolov8 ros 功能包_好人王诗龄的博客-CSDN博客
参考上面这篇博客
yolov8与ros结合
首先我的ros版本是noetic,并且之前已经配置了yolov8环境,如果没配置环境的话可以先按照视频中的介绍配置(哈萨克斯坦x的个人空间-哈萨克斯坦x个人主页-哔哩哔哩视频下面是视频中的截图)
yolov8功能包
mirrors / ultralytics / ultralytics · GitCode
1.训练模型,获得best.pt
2.新建一个功能包,把yolov8——ros功能包复制到src中,并编译
cd /your/catkin_ws/src
git clone https://github.com/qq44642754a/Yolov8_ros.git
cd ..
catkin_make
3.共有两个功能包,yolov8_ros和yolov8_ros_msgs
A、yolov8_ros_msgs
在msgs文件夹下,存放着msg文件,可添加自定义的msg文件,并在当前功能包下的cmakelist中进行如下操作
add_message_files(
DIRECTORY msg
FILES
BoundingBox.msg
BoundingBoxes.msg
XXX.msg
)
B、yolov8_ros
在scripts文件夹下可添加和修改py文件,训练好的模型文件放在weights文件夹下,然后修改yolov8.launch文件中的话题名称等,也可添加自定义的py文件。 launch文件可修改内容如下
4.基本用法
roslaunch yolov8_ros yolo_v8.launch
source之后运行上面的代码即可进行检测了(一定要保证有图片传进来,也就是话题名称要对),但第一次使用会遇到很多问题,比如下面我遇到的一些问题
5.需要注意的问题
A、检测不到模块ultralytics
需要安装以下依赖
pip install ultralytics
pip install rospkg
并更换环境
在VScode下ctrl+shift+p,找到python:选择解释器
选择自己配置的虚拟环境,我这里是conda
B、检测不到自己的自定义msg文件
需要在yolov8_ros_masg功能包下的cmakelist添加自定义msg,参照3A中提到的解决
6.效果演示
我首先启动了机械臂的gazebo和rviz
订阅到了相机传来的图片
然后运行roslaunch yolov8_ros yolo_v8.launch
弹出窗口,识别成功