ROS环境搭建可以参考我之前的文章
ROS参考文章1
ROS参考文章2
ROS系统由自己的编译空间规则。
cd 你自己想要的文件夹(我一般是home目录)
备注:自己定义的消息包类型,不要忘记了CMakelist.txt文件里面修改编译规则。
cmake_minimum_required(VERSION 3.0.2)
project(yolov5_ros_msgs)
find_package(catkin REQUIRED COMPONENTS
std_msgs
message_generation
message_runtime
rospy
std_msgs
)
add_message_files(
DIRECTORY msg
FILES
BoundingBox.msg
BoundingBoxes.msg
)
generate_messages(
DEPENDENCIES
std_msgs
)
catkin_package(
CATKIN_DEPENDS message_generation message_runtime rospy std_msgs
)
include_directories(
# include
${catkin_INCLUDE_DIRS}
)
具体每一项的意义可以参考我如下博客,写的非常详细
编译依赖项意义的参考博客
这个根据自己的YOLO版本类型进行封装。我把该代码上传至我的个人github。
<?xml version="1.0" encoding="utf-8"?>
<launch>
<!-- Load Parameter -->
<param name="yolov5_path" value="$(find yolov5_ros)/yolov5"/>
<param name="use_cpu" value="True" />
<!-- Start yolov5 and ros wrapper -->
<node pkg="yolov5_ros" type="yolo_v5.py" name="yolov5_ros" output="screen" >
<param name="weight_path" value="$(find yolov5_ros)/weights/yolov5s.pt"/>
<param name="image_topic" value="/usb_cam/image_raw" />
<param name="pub_topic" value="/yolov5/BoundingBoxes" />
<param name="camera_frame" value="camera_color_frame"/>
<param name="conf" value="0.3" />
</node>
</launch>
这个地方搞过ROS的都知道,不做详细说明。
roslaunch yolov5_ros 脚本名称
运行的主题名称