开源开发模式虚拟展示
发表于 2022-10-27 10:24:08

本文提及的 Qualcomm 产品由 Qualcomm Technologies, Inc. /或其子公司提供。

对于构建低级内核和驱动程序解决方案的 Linux 开发者而言,开源开发模式在推动创新方面发挥着关键作用。借助这种模式,您可以利用 Linux 开发社区提供的功能和持续更新,并且自己也可以参与其中,作出贡献。现在,很多组织都开始采用并得益于开源开发模式。

最近,我们与 Linaro(负责监督 ARM 指令集的开源软件组织)合作开展了 Linaro Tech Day 2022 活动。此次虚拟活动展示了我们如何与 Linaro 开源计划合作,以及开源如何在我们的技术产品中发挥重要的作用。

下面我们简要地介绍几个相关演示。

物联网机器人和推流

Ameya Pandit 是 Qualcomm 创新中心 (QUIC) 高级工程师,介绍了物联网机器人和推流。他讲到了 Qualcomm 机器人 RB5 开发套件开发团队如何向服务器推送平台的 Qualcomm QRB5165 处理器 Linux 增强和修复程序,并在演变过程中与 Linux 主线内核同步(见下文)。团队提供基于 Yocto 项目 和 Linux 最新内核版本的软件评估版本,而所有非 HLOS(高级操作系统)二进制文件都出自我们的发布基础设施。

Qualcomm Robotics RB5 发布流程概述。

kernel.orgLinux内核源代码主要分发点)的主线内核不断发展及增长。团队使用主线内核的某个版本开发增强程序并创建内核下行版本,经内部审核后通过 Code Linaro 分享至开发者社区,同时也发布至外部 OEM。最终,Linaro 将更新内核整合(推流)至主线,使社区和合作伙伴也能受益于团队发布的增强和修复程序。Ameya 简要回顾了 QRB5165 SOC 推流的部分增强功能。

随后,Ameya 展示了Qualcomm Robotics RB5 的三项演示。第一项演示(如下所示)是使用 Alexa 语音激活命令控制运行 ROS 的 Qualcomm Robotics RB5:

左侧:Alexa 设备,用于捕获语音命令;右侧:Qualcomm Robotics RB5,响应语音命令–在本例中,提高其在地板上的移动速度。

您可以在我们的项目页面中找到演示,亲自试用,了解更多信息。

第二个演示展示了 Qualcomm Robotics RB5 如何执行手势识别并使用姿势信息,相应地操纵机器臂。

在本演示中,摄像头数据流馈送到运行 ROS 的 Qualcomm Robotics RB5,运行推断以执行手势识别。然后,它将相应的移动命令发送到微控制器单元 (MCU)(通过 CAN 总线连接到 OpenManipulator 机器臂),以执行最终动作。

在此过程中,由摄像机捕获实时视频流。视频流过 TensorFlow Lite 手势识别算法,生成姿势元数据。此外,数据还用于在显示屏上渲染示意图,显示捕获的姿势与操作人员真实姿势的对应关系。最后,使用姿势数据生成动作命令,并发送至机器臂。

Ameya 最后一项演示展示了一台基于 Qualcomm Robotics RB5 的机器人,查找、识别和拾取物体,如本例中的纸杯。

基于 Qualcomm Robotics RB5 的机器人使用图像识别来识别和拾取物体。

在此演示中,OpenManipotator 安装在 TurtleBot3 上,并配备了用于深度感应的 Intel RealSense D435i 摄像头。这些组件通过 USB 连接与 Qualcomm Robotics RB5 平台集成。

 Qualcomm Robotics Rb5 与各种组件通过 USB 进行通信。

在操作过程中,摄像头在导航过程中流式传输机器人视图,Qualcomm Robotics RB5 运行物体检测,以查找每一帧中的塑料杯图像。一旦识别出,则命令其移动到位,同时指示机器臂抓住杯子。使用 DYNAMIXEL SDK 控制机器臂的移动。下图概述了有关实现上述目标的信息流:

从图像识别到执行器移动的数据流

本例中,通过计算机视觉算法分析视频流(由摄像头节点表示),该算法使用 RCNN 来识别是否找到了杯子。识别后,计算到达和拾取杯子的坐标,再将有关命令从 Qualcomm Robotics Rb5 发送至 OpenManipstator 和 TurtleBot3,以执行相应的执行器动作。

Qualcomm Cloud AI 100:生产上游 Linux

Jeff Hugo 是 Qualcomm Technologies,Inc.主管工程师,介绍了 Qualcomm Cloud AI 100:生产上游 Linux

Jeff 首先简要介绍了 Qualcomm Cloud AI 100——运行云推理的PCIe 卡,如自然语言处理、图像分类和推荐系统。这是一款小众产品,可以分别提供给希望跨不同区域、边缘部署和数据中心运行机器学习工作负载的客户,客户可以选择并行运行多个卡。

Jeff 随后介绍了团队如何为 Linux 内核和 Cloud AI 100 上使用的 Modern Host Interface (MHI) 堆栈生成 Direct Rendering Manager (DRM) 加速器驱动程序。产品支持多个发行版(CentOS、Red Hat Enterprise Linux、Ubuntu等),兼容 x86、ARM64 架构和 Linux 3.1-5.16。目前,Qualcomm Cloud AI 包含 14 个文件和 300 次提交,约 1 万行代码,驱动程序作为一个杂项设备实施。使用了多种内核设施,包括 PCI、DMA-buf、HWMON、sysfs、debugfs 和 DMA API。

驱动程序的发布过程利用了 GitHub 上的动态内核模块支持。团队将其作为源代码部署给客户,客户则利用后端端口逻辑在其部署系统上编译驱动程序,以便与现有系统配合使用。

在 MHI 端,使用 Linaro 对代码进行推流处理和维护。截至 v5.19-RC4,目前拥有 24 个提交人,其中两个来自 Linaro,五个来自 QTI。

体验开源开发的优势

如上述演示所示,开源开发在我们的技术产品中发挥了重要的作用。我们从 Linux 开发社区的重要贡献代码中获益,也将在技术开发过程中所做的修复和增强功能回馈给了社区。

想要深入了解更多信息?

  • 浏览 Linaro 资源中心,观看 2022 年 Linaro Tech Day 的全部演示。
  • 浏览 QDN 上的项目页面,查看并亲自尝试更多的实际解决方案。

Qualcomm 机器人 RB5Qualcomm QRB5165 Qualcomm Cloud AI Qualcomm Technologies, Inc./或其子公司的产品。

CSDN官方微信
扫描二维码,向CSDN吐槽
微信号:CSDNnews
微博关注
【免责声明:CSDN本栏目发布信息,目的在于传播更多信息,丰富网络文化,稿件仅代表作者个人观点,与CSDN无关。其原创性以及文中陈述文字和文字内容未经本网证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本网不做任何保证或者承诺,请读者仅作参考,并请自行核实相关内容。您若对该稿件有任何怀疑或质疑,请立即与CSDN联系,我们将迅速给您回应并做处理。】