本文档将引导您如何在基于RK3588的设备上,使用ros_rknn_yolo软件包进行高效的对象检测。
1. 下载与编译
环境准备
确保您的RK3588设备已经安装了ROS环境。本教程默认您使用的是ROS1版本,具体的安装步骤请参考ros_rknn_yolo
包内的readme
文件。
克隆软件包
首先,切换到您的ROS工作空间src
目录下,然后克隆ros_rknn_yolo
软件包及其依赖的vision_msgs
软件包:
cd ~/rk3588_ros_ws/src
git clone https://git.bwbot.org/publish/ros_rknn_yolo.git
git clone https://git.bwbot.org/publish/vision_msgs.git
编译软件包
返回到工作空间的根目录,进行编译:
#先安装系统依赖
sudo apt install python3-virtualenv
pip install opencv-python opencv-contrib-python
#开始编译
cd ~/rk3588_ros_ws/
catkin_make
编译完成后,需要运行ros_rknn_yolo
包中的一个脚本以设置rknn2
的运行环境:
roscd ros_rknn_yolo
sudo ./fix_rknn2_runtime
2. 启动Launch文件
ros_rknn_yolo
包提供了Launch文件来启动节点和相关的配置。
在终端中运行以下命令以启动:
roslaunch ros_rknn_yolo xiaoqiang_yolo.launch

以上命令将启动rknn_yolo_node
节点,并加载预定义的配置。有关节点参数和功能的详细信息,请参阅readme_cn.md
文件。
3. 启动测试文件
为了验证ros_rknn_yolo
包是否正常工作,可以运行包内提供的测试文件。
在新的终端窗口中,执行以下命令来启动测试节点:
roscd ros_rknn_yolo/test
python bus_do_yolo_srv.py
此测试脚本将向rknn_yolo_node
节点发送一张图片,并显示检测结果。

您还可以自己运行其它test文件,比如同时推理两个视频
结语
至此,您已成功在RK3588设备上使用ros_rknn_yolo
包进行了对象检测。根据您的具体需求,请进一步探索和调整ros_rknn_yolo
包的配置和功能。
常见问题
a.这个包有两个分支,一个是master分支,还有一个是no-opencl分支,不想使用opencl加速的同学可以使用no-opencl分支。如果安装master分支时,提示无法安装python 依赖包,可能是opencl相关库没有安装好,可以先执行sudo ./fix_rknn2_runtime 。
b.这个包默认系统配置的python版本是3.10,其它版本的同学要将rknn_toolkit_lite2的安装包换成自己系统python版本的包,同时修改CMakeLists.txt中的88行。