一、环境搭建
需要环境:melodic 、 conda虚拟环境,如果已有,看二。
Nvidia jetson agx xavier ubuntu18.04 一键安装ROS-melodic_Ponnyao的博客-CSDN博客
Nvidia jetson xavier agx 安装pytorch1.9.0 Gpu版_Ponnyao的博客-CSDN博客_xavier安装pytorch
二、编译ros_yolov5
这是我编译的包,删除build和devel文件夹重新编译即可ros-yolov5_ws-深度学习文档类资源-CSDN下载
1、创建工作空间
mkdir -p ~/ros_yolov5/src
cd ~/ros_yolov5/src
catkin_init_workspace //将当前文件夹变成ROS工作空间的属性
2、编译
cd ~/ros_yolov5/
catkin_make
source devel/setup.bash
3、下载功能包
cd ~/ros_yolov5/src
git clone https://github.com/qq44642754a/Yolov5_ros.git
cd Yolov5_ros/yolov5
pip3 install -r requirements.txt
4、编译
cd ~/ros_yolov5
catkin_make
source devel/setup.sh
5、运行
roslaunch yolov5_ros yolo_v5.launch
6、报错解决
1、找不到cv2模块
解决:
找到/home/nvidia/ros_yolov5/src/yolov5_ros/yolov5_ros/scripts/yolo_v5.py
修改后的文件如下:
#!/home/nvidia/archiconda/envs/pytorch/bin/python3
# -*- coding: utf-8 -*-
import sys
sys.path.remove('/opt/ros/kinetic/lib/python2.7/dist-packages')
import cv2
import torch
import sys
sys.path.append('/opt/ros/kinetic/lib/python2.7/dist-packages')
import rospy
import numpy as np
此后缺啥pip3 install就行了。
7、修改launch文件
按照自己的话题进行修改image_topic
<?xml version="1.0" encoding="utf-8"?>
<launch>
<!-- Load Parameter -->
<param name="yolov5_path" value="$(find yolov5_ros)/yolov5"/>
<param name="use_cpu" value="false" />
<!-- 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="/camera/color/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>
8、测试
cd ~/ros_yolov5
source devel/setup.bash
roslaunch yolov5_ros yolo_v5.launch
完美运行。
参考