【玄铁杯第三届RISC-V应用创新大赛】提交 yolov5_ROS探索
[复制链接]
RISCv_yolov5_ros_探索
作者:Fred
RISC-V当前存在的一个缺点是缺乏ROS(机器人操作系统)的适配。ROS是一个广泛应用于机器人开发领域的开源软件框架,它提供了丰富的工具和库,用于构建机器人的感知、控制和协作能力。然而,由于RISC-V架构相对较新,并且在嵌入式系统和机器人领域的应用还相对较少,目前尚未充分支持ROS。这意味着开发人员在将ROS应用于RISC-V平台时可能会面临一些挑战,包括缺乏适用的驱动程序和库,以及缺乏针对RISC-V的ROS软件包和工具链。尽管有一些初步的尝试和实验性的工作,但仍需要进一步的努力和社区合作,以确保ROS在RISC-V上的兼容性和稳定性,以促进RISC-V在机器人领域的广泛应用。
计划在RISC-V上尝试ROS和Yolov5的组合,可以分为两个步骤。首先,尝试在RISC-V平台上运行Yolov5目标检测算法。这涉及将Yolov5的代码和依赖项进行适配和编译,确保其在RISC-V架构上能够正确运行。成功地在RISC-V上运行了Yolov5,下一步,尝试将ROS与Yolov5集成。这包括使用ROS框架构建适当的节点和消息通信机制,以便将Yolov5的结果与其他ROS组件(如传感器或执行器)进行集成和交互。这样,利用ROS的强大功能和机器人操作系统的优势来实现更复杂的机器人应用,如自主导航或物体识别与操作。
无
< class="p" style="">1.下载HHB的docker镜像,下载完成如下图:
< class="p" style="">
< class="p" style="">2.创建容器
< class="p" style="">
< class="p" style="">3.在docker中安装ultralytics
< class="p" style="">
< class="p" style="">
< class="p" style="">
< class="p" style="">生成 onnx后,将onnx文件拷贝到yolov5n的目录 ,然后执行下面的命令进行量化转化
< class="p" style="">hhb -D --model-file yolov5n.onnx --data-scale-div 255 --board th1520 --input-name "images" --output-name "/model.24/m.0/Conv_output_0;/model.24/m.1/Conv_output_0;/model.24/m.2/Conv_output_0" --input-shape "1 3 384 640" --calibrate-dataset kite.jpg --quantization-scheme "int8_asym"
< class="p" style="">得到的npu相关输出代码如下:
< class="p" style="">
< class="p" style="">代码的交叉编译
export PATH=/tools/Xuantie-900-gcc-linux-5.10.4-glibc-x86_64-V2.6.1-light.1/bin/:$PATH
< class="p" style="">
riscv64-unknown-linux-gnu-gcc yolov5n.c -o yolov5n_example hhb_out/io.c hhb_out/model.c -Wl,--gc-sections -O2 -g -mabi=lp64d -I hhb_out/ -L /usr/local/lib/python3.8/dist-packages/hhb/install_nn2/th1520/lib/ -lshl -L /usr/local/lib/python3.8/dist-packages/hhb/prebuilt/decode/install/lib/rv -L /usr/local/lib/python3.8/dist-packages/hhb/prebuilt/runtime/riscv_linux -lprebuilt_runtime -ljpeg -lpng -lz -lstdc++ -lm -I /usr/local/lib/python3.8/dist-packages/hhb/install_nn2/th1520/include/ -march=rv64gcv0p7_zfh_xtheadc -Wl,-unresolved-symbols=ignore-in-shared-libs
< class="p" style="">
< class="p" style="">风筝识别结果如下图:
< class="p" style="">
< class="p" style="">执行速度感觉偏慢。不过识别结果还是不错的下面是人和车的识别
< class="p" style="">
收到的开发板存在问题 1.usb无法使用,只能使用网口。2.tf卡多天后莫名奇妙损坏,且板载空间过小,无法安装完全部的ROS2依赖包,ros尝试部分未能完成。
【玄铁杯第三届RISC-V应用创新大赛】Licheepi 4A 开箱 问题应对及上电
平头哥半导体 (t-head.cn)
- 项目总结(对作品完成度、技术探索、创新点等方面进行总结)
完成了yolov5n的验证,ros部分安装了部分python 包,但空间问题未能完全安装,有尝试编译rclcpp包。
八、其他
|