当PYNQ遇上ROS - 完整的机器人实践

本文转载自: PYNQ开源社区微信公众号

感兴趣者可与 pynq_china@xilinx.com 联系,共同合作拓展项目。

PYNQ作为一套开源框架,其一大优势是软件框架的兼容性,正如PPT中介绍的,基于PYNQ框架,我们不仅可以接入常用的Numpy, Pandas等,也可以接入机器人操作系统ROS。

ROS,PYNQ & ZYNQ

ROS是机器人操作系统(Robot Operating System)的英文缩写。它包含了大量工具软件、库代码和约定协议,旨在简化跨机器人平台创建复杂、鲁棒的机器人行为这一过程的难度与复杂度。

PYNQ开源框架的理念与ROS类似,通过大量的Python开源库,以及已经优化的开源overlay,简化如Zynq这样的软硬件协同设计难度与复杂度。

Zynq平台既有处理器,又有FPGA逻辑其架构非常适合在机器人,工业视觉,工业控制的应用。两者可以完美结合,既提供开放易用的软件,又能保证实时,高速,高精度的硬件性能。

例如在ROS中就有ORB-SLAM2的开源库,通过ORB-SLAM2可以方便的进行路径跟踪和重建,如下图的城市路径跟踪和稀疏重建效果图。

在PYNQ-Z2 平台上,我们可以直接安装ROS数据包,在PC 和开发板上都搭建好了ROS 框架后,并且在PYNQ-Z2上设置好OV5640 相机视频通路就可以运行相关算法,并得到如下结果。

如果想对ORB算法进一步加速,则可参考我们上一篇文章《ORB-SLAM算法加速》

以上仅仅是对PYNQ和ROS结合的一个案例介绍,在ROS与PYNQ-Z2结合的案例中还包括传感器融合,机器视觉,AI等的各种案例,这些将都在《基于PYNQ框架的机器人开放课程》中呈现。该课程是教育部产学合作协同育人立项项目,由Xilinx学术合作与与南方科技大学机器人学院共同合作开发。

9月26日,Xilinx学术合作将与南方科技大学机器人学院共同组织线上研讨会,发布这一课程的详细情况,并诚邀国内相关领域的专家学者研讨。研讨会将围绕异构计算时代,机器人与人工智能课程实验内容的设置为主要内容。

为保证研讨效果,本次活动将控制人数,对有兴趣的老师,助教请与 xup_china@xilinx.com 联系。

推荐阅读