目前在使用ros2的humble版本,但使用中感受到的编译速度慢,node启动速度慢等体会是比较影响ROS2的普及速度的,KV260因为内部存在FPGA模块,可以实现硬件加速(accelerated),同时对于ROS2中常用的操作如图像转换(缩放),坐标系变换等也是FPGA可能有效的场景.
关于KV260的加速(accelerated)功能,在https://xilinx.github.io/KRS/sphinx/build/html/docs/features/accelerated_apps_ros2.html上有下面的一张示意图,相关过程与编译 运行的多个过程均有关系,通过图片可知该图在目前使用humble版本后并未更新.
有另外一个细节, 图中提到的appstore.xilinx.com的网站目前是不存在的.foxy的版本和不存在的网站似乎在提示我当前KRS的局面不是那么乐观.
1.编译和node启动的加速方面
图中所示的colcon build均使用交叉编译,vitis只有PC版本,即只能在PC端编译,使用FPGA对编译过程进程加速就更不可能了。
根据当前获取的信息,可以判断,这里KRS对ament所做的改动,应该还是为了支持FPGA相关的功能开发,但以之前的经验,FPGA的应用应该只在node初始化阶段有所体现就好,KRS图中这样涉及了多个模块的修改不知如何与FPGA进行关联
2.应用加速方面
acclerration_firmware在smartcam等应用中也有提及,不同的firmware可能会导致不同的设备结构,FPGA对特定运算的加速效果应该会比较明显
https://xilinx.github.io/KRS/sphinx/build/html/docs/examples/nodes.html

查看KRS的node加速相关的示例,大部分是比较简单的可调用FPGA的add的示例,下篇记录将把这几个demo均运行下,当然可能我使用chroot编译出来的KRS不包含加速部分的实现。坑后面继续踩吧
|