一、下载源码
YOLOv3(ROS)网盘链接
提取码:a3x0
carmera(ROS)网盘链接
提取码:cifc
二、编译步骤
mkdir -p catkin_ws/src
cd catkin_ws/src/
catkin_init_workspace
cd ..
catkin_make
然后将下载的yolov3(ROS)源码放入catkin_ws/src/文件夹下。
放入之后,切换到catkin_ws文件夹下编译
cd ..
catkin_make
编译的过程中有可能出现问题,例如我的一直提示
cc: error trying to exec 'cc1plus': execvp: no such file or directory
错误。后来查资料得知,。是因为gcc/g++版本问题,导致编译错误。源文件采用-std=c++11
解决方案:更换版本,经过测试4.8版本可行。
参考链接:gcc: error trying to exec ‘cc1plus’: execvp: no such file or directory
sudo apt-get install g++ -4.8
sudo apt-get install gcc-4.8
cd到/usr/bin目录下(Ubuntu 64位):sudo ln -sf g++-4.8 g++ sudo ln -sf g++-4.8 x86_64-linux-gnu-g++ sudo ln -sf gcc-4.8 gcc sudo ln -sf gcov-4.8 gcov sudo ln -sf gcc-4.8 x86_64-linux-gnu-gcc
然后再重新编译【如果之前编译错误,修改版本之后,一定要clean一下。如果不行,最好是从头开始配置一遍。】
catkin_make clean catkin_make
查看版本:
gcc -v
g++ -v
三、测试代码
运行darknet_ros
然后执行darknet_ros进行检测,在运行检测之前需要更改一下配置文件,使得darknet_ros订阅的话题与usb_cam发布的图片话题对应。
打开darknet_ros/config/ros.yaml文件,修改:
subscribers:
camera_reading:
topic: /camera/rgb/image_raw
queue_size: 1
为
subscribers:
camera_reading:
topic: /usb_cam/image_raw
queue_size: 1
回到工作空间根目录,先执行:
source devel/setup.bash
roslaunch darknet_ros darknet_ros.launch
再打开一个终端界面,执行:
source devel/setup.bash
roslaunch usb_cam usb_cam-test.launch
权重文件已下载,放在对应文件夹中。