在docker的Ubuntu镜像中,在ROS环境下运行YOLOv3

环境:docker、ubuntu18.04、ROS melodic、darknet-yolov3

先在docker中安装带ROS的ubuntu18.04镜像:win10下安装docker,开启ubuntu桌面(我在此处使用的是:optsolution/ros-vnc这个镜像),建议配置阿里云,下载此镜像。

 

GitHub项目地址:https://github.com/leggedrobotics/darknet_ros

文中用到的功能包资源:https://mp.csdn.net/console/upDetailed

1、将此项目下载到你的工作空间src中,我是直接在主页下载的zip,然后cp到docker中;

        但是这种方法,会导致下载的文件不全,下载后darknet@5508381b文件夹是空的。解决办法就是点进这个   darknet@5508381b,然后把里面的文件下载下来,放到这个darknet@5508381b去。

     在docker的Ubuntu镜像中,在ROS环境下运行YOLOv3_第1张图片

   2、在这个路径下面,需要下载YOLO的权重文件;下载链接:YOLOv3;YOLOV2;YOLOV2-tiny;不下载也是可以的,编译的时候,会自动下载,但是会很慢。所以建议先下载放到这个文件夹。

在docker的Ubuntu镜像中,在ROS环境下运行YOLOv3_第2张图片

 3、将这个文件cp到docker中:https://blog.csdn.net/Mr_FengT/article/details/107355406

       我的文件统一放在这个地方,

                      在docker的Ubuntu镜像中,在ROS环境下运行YOLOv3_第3张图片

  4、现在就到src文件夹中编译

  

catkin_make -DCMAKE_BUILD_TYPE=Release

在docker的Ubuntu镜像中,在ROS环境下运行YOLOv3_第4张图片

 

    4、编译完成后,就可以直接使用了;首先需要修改成你想订阅的话题,在这功能包路径中,打开如下两张图中的文件

在docker的Ubuntu镜像中,在ROS环境下运行YOLOv3_第5张图片

 在docker的Ubuntu镜像中,在ROS环境下运行YOLOv3_第6张图片

  将画线内容修改;后面仿真功能包中摄像头的话题,/camera/image_raw在docker的Ubuntu镜像中,在ROS环境下运行YOLOv3_第7张图片

在docker的Ubuntu镜像中,在ROS环境下运行YOLOv3_第8张图片

 

 5、在docker中我感觉挺卡,YOLO一直运行不出来,所以我将相机帧率调到1;在这功能包路径中,打开camera_gazebo.xacro

在docker的Ubuntu镜像中,在ROS环境下运行YOLOv3_第9张图片

将这个30改成1,改小一点也可以。

在docker的Ubuntu镜像中,在ROS环境下运行YOLOv3_第10张图片

6、现在开始运行仿真画面;终端输入,如下命令;

      在docker的Ubuntu镜像中,在ROS环境下运行YOLOv3_第11张图片

                 生成的gazebo仿真图,如下:

  在docker的Ubuntu镜像中,在ROS环境下运行YOLOv3_第12张图片

 

7、此时可以在终端输入,来查看相机画面

在docker的Ubuntu镜像中,在ROS环境下运行YOLOv3_第13张图片

 

8、画面太单一,基本没啥看头,所以,我们可以启用如下,命令来移动小车:

    

在docker的Ubuntu镜像中,在ROS环境下运行YOLOv3_第14张图片

     9、ok准备工作都做好了,所以接下来我们运行darknet-ros的节点,

在docker的Ubuntu镜像中,在ROS环境下运行YOLOv3_第15张图片

10、然后就开始检测了,效果如图,就是有点慢,0.3fps

在docker的Ubuntu镜像中,在ROS环境下运行YOLOv3_第16张图片

参考的一些博客:

             https://blog.csdn.net/qq_44830040/article/details/107032569

             https://blog.csdn.net/qq_42145185/article/details/105730256

             https://blog.csdn.net/miss_bear/article/details/107137732

             https://blog.csdn.net/Timothy_Liu0114/article/details/104743194

 

 

 

你可能感兴趣的:(docker,YOLOv3,ROS)