@mangguopaonia 去厂家官网找一下
ROS Group 产品服务
Product Service 开源代码库
Github 官网
Official website 技术交流
Technological exchanges 激光雷达
LIDAR ROS教程
ROS Tourials 深度学习
Deep Learning 机器视觉
Computer Vision

xiaoqiang 发布的帖子
-
小智AI聊天机器人esp32-s3-n8r2主控固件下载和编译设置
QQ技术交流群:538646196
一、 固件下载链接:
n8r2-v1.4.6_bread-compact-wifi.bin 【对应0.91寸oled屏面包板新版接线v2-wifi版本】
n8r2-v1.4.6_bread-compact-wifi-128x64.bin 【对应0.96寸oled屏面包板新版接线v2-wifi版本】
n8r2-v1.4.6_bread-compact-ml307.bin 【对应0.91寸oled屏面包板新版接线v2-AT版本】
n8r2- v1.4.6_bread-compact-ml307-128x64.bin 【对应0.96寸oled屏面包板新版接线v2-AT版本【
二、 源码编译设置
2.1 替换成8M的partitions.csv表格
2.2 flash size设置成8M
2.3 PSRAM模式设置成 quad mode
2.4 保存后重新编译即可
-
RE: rk3588在ros中使用ros_rknn_yolo包
@natsuki 在 rk3588在ros中使用ros_rknn_yolo包 中说:
ros_rknn_yolo文件夹内有没有正确创建venv子文件夹,检查venv内的python虚拟环境是否正确创建了。
同时可以手动按行执行一下rknn_yolo_node.sh这个bash文件中的指令内容,看是哪一行出了问题。 -
rk3588使用bw_rtsp_client包将rtsp视频流转成ros图像话题数据流
《rk3588在ros中使用ros_rknn_yolo包》这篇文章中的图像话题来源,除了usb摄像头外,一般是监控摄像头。监控摄像头推的基本都是rtsp流,因此需要一个ros包来将rtsp视频流解码转换成ros图像话题数据流。使用bw_rtsp_client包,可以方便、高效率地在rk3588中完成这个任务,转换1080p的rtsp流延时低于160毫秒,cpu占用率单核小于50%。
1. 下载与编译
环境准备
确保您的RK3588设备已经安装了ROS环境。本教程默认您使用的是ROS1版本,具体的安装步骤请参考
ros_rknn_yolo
包内的readme
文件。
rk3588的ubuntu系统还需要升降安装下列硬件解码库。https://git.bwbot.org/publish/librga https://git.bwbot.org/publish/mpp https://git.bwbot.org/publish/ffmpeg-rockchip https://git.bwbot.org/publish/rockchip_mirrors 每个仓库readme里面有安装步骤
克隆软件包
首先,切换到您的ROS工作空间
src
目录下,然后克隆bw_rtsp_client
软件包:cd ~/rk3588_ros_ws/src git clone https://git.bwbot.org/publish/bw_rtsp_client.git
编译软件包
返回到工作空间的根目录,进行编译:
#开始编译 cd ~/rk3588_ros_ws/ catkin_make
2. 启动Launch文件
先找到一个rtsp数据流,可以用这个软件包《gst-rtsp-server》发布一个测试用的数据流。
./test-launch "( videotestsrc ! video/x-raw,width=1920,height=1080,framerate=30/1 ! timeoverlay ! tee name=vsrc vsrc. ! queue ! videoconvert ! ximagesink vsrc. ! queue ! mpph264enc tune=zerolatency ! rtph264pay name=pay0 pt=96 )"
bw_rtsp_client
包提供了Launch文件来启动节点和相关的配置。在另一个新开的终端中运行以下命令以启动:#将test.yaml文件中的rtsp_uri参数改成自己要订阅的rtsp流链接,再执行下列指令。 roslaunch bw_rtsp_client test.launch
在另一个新开的终端中使用image_view查看转换发布的话题
rosrun image_view image_view
3. 其它使用方式和参数
请阅读bw_rtsp_client中的readme.md文件,可以使用service接口控制转换过程的开启和关闭。
-
rk3588使用npu加速运行whisper语音识别模型
rk3588运行whisper模型有三种方法:1.使用纯cpu运行原始pytorch模型;2.将whisper模型转成onnx各式,再转成rknn格式使用npu运行;3.利用npu提供的矩阵运算功能,结合cpu一起运行原始pytorch模型。方法1做不到实时,方法2有rockchip官方仓库。方法3是这篇教程介绍的,方法3比方法2更快,同时功能更完整,比如tiny和small模型都可以运行。
我们在https://github.com/usefulsensors/useful-transformers基础上,通过修复bug,增加运行参数和prompt控制输出字体格式,实现了多语言模型的实时准确推理,whisper tiny和base模型rtf<0.1, small模型rtf<0.5。一、优化修改后的开源代码库
二、代码运行说明
通过
git clone
克隆代码后,准备好 Python 环境,然后执行transcrible_wav.py
完成语音识别。- 克隆源代码:
git clone http://git.bwbot.org/publish/useful-transformers.git
- 准备python运行环境:
我们在 RK3588 上使用的是 Ubuntu22.04 Desktop,默认的 Python 版本是 3.10。为了避免破坏系统环境,我们使用virtualenv
来配置需要的 Python 运行环境。
sudo apt install python3-virtualenv #进入上面git clone下来的文件夹根目录 cd useful-transformers #创建虚拟环境 virtualenv --system-site-packages -p /usr/bin/python3 venv #激活虚拟环境 source venv/bin/activate #开始在虚拟环境中安装pybind11 pip install -i https://mirror.baidu.com/pypi/simple pybind11 #在虚拟环境中编译安装useful-transformers包,注意指令中的文件路径要改成自己的实际路径 export pybind11_DIR=/home/xiaoqiang/npu/useful-transformers/venv/lib/python3.10/site-packages/pybind11/share/cmake/pybind11 ./venv/bin/pip install ../useful-transformers -i https://pypi.mirrors.ustc.edu.cn/simple
3.环境配置完成,开始运行whisper:
taskset -c 4-7 ./venv/bin/python -m useful_transformers.transcribe_wav ./wav/chinese.wav tiny zh
运行指令格式如下,modelname可以为tiny、base、small、tiny.en、base.en、small.en或者自己微调的模型。languge可以为en或zh,分别代表英文和中文。
taskset -c 4-7 python -m useful_transformers.transcribe_wav <wav_file> modelname languge
自己微调的模型可以用torch_state_dict_to_npz.py 文件来转换。
三、运行结果
-
RE: rk3588在ros中使用ros_rknn_yolo包
@shlfan 第一次运行错误,可以先只编译vision_msgs包
catkin_make -DCATKIN_WHITELIST_PACKAGES="vison_msgs"
第二次运行的错误是安装python虚拟环境的依赖包出了问题,手动执行CMakeLists.txt中的58行指令安装,看报什么错误,一般是网络问题。
还有一个注意点,这个包默认的python版本是3.10,你的是3.8版本,rknn_toolkit_lite2的安装包要自己换成3.8版本的,同时修改CMakeLists.txt中的88行。
-
RE: rk3588在ros中使用ros_rknn_yolo包
@shlfan 在 rk3588在ros中使用ros_rknn_yolo包 中说:
undefined reference to `pthread_join’
catkin_make时默认会编译整个工作空间中的包,你目前的错误是其它ros包有问题,可以使用下面命令只编译ros_rknn_yolo包
catkin_make -DCATKIN_WHITELIST_PACKAGES="vison_msgs;ros_rknn_yolo"
-
RE: 小强ROS机器人教程(27)___bw_auto_dock自动充电功能包的使用和实现原理
@zhiming 左右两个红外探头不要被车挡住,模块无法判断已经达到充电桩正前方,会导致一直卡在步骤c
-
orange-pi-5 升级 5.10.110内核npu驱动到0.9.8版本
如果你的香橙派5,使用的是ubuntu 22.04 同时内核版本是5.10.110,可以下载安装这个deb包 linux-image-legacy-rockchip-rk3588_1.1.6_arm64.deb 进行升级。
sudo dpkg -i linux-image-legacy-rockchip-rk3588_1.1.6_arm64.deb
-
RE: 小强ROS机器人教程(27)___bw_auto_dock自动充电功能包的使用和实现原理
@zhiming rostopic echo 节点发布的话题,看是否有数据,rqt_graph工具排查节点是否成功订阅了相关话题和tf关系。
-
rk3588在ros中使用ros_rknn_yolo包
本文档将引导您如何在基于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行。
-
RE: 小强ROS机器人教程(27)___bw_auto_dock自动充电功能包的使用和实现原理
@zhiming 我不了解你的底盘电源系统,这个5v是给这个模块供电的,功率5v 0.5A
-
from rknnlite.api import RKNNLite导致其它库import失败的解决办法
重新import logging
from rknnlite.api import RKNNLite
改成
import importlib import logging from rknnlite.api import RKNNLite importlib.reload(logging) logging.basicConfig(level=logging.INFO)
-
rk3588多个程序同时使用npu卡住的原因和解决办法
网上很多同学留言说rknn对npu的调度有问题,会导致卡住,我们初始遇到了这种现象,经过排查发现是python的numpy数组越界导致了卡顿,比如操作图像数据,下标越界了。解决越界问题后,npu调度就流畅了。