微波EDA网,见证研发工程师的成长! 2025年03月29日 星期六
首页 > 应用设计 > 机器人技术 > Zynq SoC推动无人机平台高速发展

Zynq SoC推动无人机平台高速发展

时间:05-25 来源:互联网 点击:
显著改进

将 ArduPilot 移植到 Zynq SoC 的初步工作(由谷歌无人机讨论组的 John Williams 牵头)于 2014 年完成,该工作为将 APM 移植到同一赛灵思平台上铺平了道路。随着无人机令人惊叹的新世界的开启,Williams 注意到 Zynq SoC 在提供定制 I/O 和实时图像处理方面的巨大潜力。有趣的是,Williams 是开发 PetaLinux 初始工具的公司 PetaLogix 的创始人。

赛灵思于 2012 年收购了这家公司。

Aerotenna 团队从硬件和固件两个方向继续推动这些设计工作,并于 2015 年 10 月完成采用 Zynq SoC 的 ArduPilot 的首飞。Aerotenna 团队在 PetaLinux 操作系统上运行 ArduPilot 飞行控制软件。 这一惊世壮举标志着无人机技术和功能的一次飞跃。
在处理能力和 I/O 功能方面,Aerotenna 团队的飞行控制解决方案远远领先于同类的其他无人机解决方案,这都归功于 Zynq SoC 中的双 ARM 内核。这一飞跃将为众多需要更强计算能力的新无人机应用打开大门。借助于为爱好者以及开发人员构建的充足硬件接口,Aerotenna 团队旨在确保提供切实的改进。无人机平台是在 Linux 操作系统上运行的,由于 Linux 的可编程性和多功能性,这种平台容纳多种类型应用的灵活性更高。作为最为强大的用户可编程操作系统之一,Linux 让Aerotenna 团队得以按照自己的需要精确地定制系统。

Aerotenna 团队在商用现成的 DJI F550 机身上完成了首次飞行测试,并计划在更多机身上测试其基于 Zynq SoC 的飞行控制器。Aerotenna 团队准备以八角片上驾驶仪 (OcPoC) 平台构成部分的形式推出这款平台。

任重道远的征程

全新打造一套定制化飞行控制平台是一次任重道远的征程,这不仅需要理想的工程人员团队,还需要完成大量的学习,才能完成。从无到有,需要对该系统做出大量的决策。为了运行飞行控制程序,必须使用操作系统。实时操作系统 (RTOS) 即时处理进入的数据,造成的缓存延迟可忽略不计。因此,RTOS 非常适用于运行飞行控制等时间敏感型任务。其缺陷在于难以将这类系统与 ArduPilot 接口,因为部分数据处理任务需要在操作系统自身重新实现。

这就是 Aerotenna 团队转而选择 Linux 操作系统的原因。虽然 Linux 操作系统不是实时系统,但实现软硬件联合设计要容易得多,进而能将系统的多功能性最大化。赛灵思提供名为 PetaLinux 的强大嵌入式 Linux 操作系统,该系统可与 Zynq SoC 及其他赛灵思器件兼容的。

由于多轴飞行器天性不稳定,测量机身的惯性和高度是实现稳定的关键。

建造并运行这个系统的路线图看起来相当复杂,Aerotenna 团队必须克服重重严峻的挑战。这个过程的第一步是使用 FPGA 开发软件来开发系统设计,并为驱动器接口编写和创建全新的 IP。核心是位于硬件层且能以极快速度处理数据的嵌入式流程。随后,必须使用定制系统设计来部署 PetaLinux。最后,Aerotenna 团队编译并修改了 ArduPilot 系统,使之能够在 PetaLinux 和新平台上运行。

Aerotenna 团队分阶段解决这个问题,实现了概念验证。Aerotenna 团队的工作首先是接收和检测 RC 信号,然后为单个电机供电。在最后演示该概念设计后,Aerotenna 团队着手扩展 ArduPilot 赖以运行的 OcPoC 与传感器间的接口。全新编写自己的设备驱动程序是一个重大挑战。实现成功飞行最关键的传感器包括加速计、陀螺仪和气压计。由于多轴飞行器天性不稳定,
测量机身的惯性和高度对稳定性至关重要。所有这些都必须

通过使用正确的通信协议配置在 Aerotenna 团队的 FPGA 硬件设计中,并最终包含到其 PetaLinux 操作系统内。

ArduPilot 代码库包含超过 70 万行代码,因此一项重大任务就是让系统在全新的平台上运行。由于没有方便的界面以供调试惯性传感器、电动机和 RC 控制器(对其他平台一般在高质量的图形用户界面下完成),团队不得不细调数百个存储的参数值,手动调试整个系统。调试是必要的,因为每个硬件组件都有细微差别,这会导致产生的输出略有不同。因此,必须对每个组件产生的最大值和最小值进行定义。这个过程最终为 Aerotenna 团队带来顺畅可持续的飞行。

加载中...
图 2 - OcPoC 系统将成为首款受 Zynq SoC 芯片支持的商用版飞行控制平台。

加载中...
图 3 – OcPoC 被设计为一种即飞型匣子,与 IMU 传感器和 GPS 进行集成,在多功能 I/O 的作用下,用于同外部设备相连接。

OcPoC 介绍

OcPoC 项目(图 2)是 Aerotenna 的无人机飞行控制平台。借助该项目,Aerotenna 团队计划使用显著提高的处理能力、I/O 扩展,以及明显优于其他解决方案的编程灵活性来满足无人机社区的需求。虽然 Aerotenna 团队使用 Zynq SoC 支持其系统看似对运行当前的 ArduPilot 版本有误宰之嫌,但 Aerotenna 团队预计该行业将不断扩展,而且有望提供很快得到利用的潜能。

该架构为开发人员借助他们所需的全部处理能力进行创造和设计铺平了道路。采用这种新平台,Aerotenna 团队计划为兼容 OcPoC 的成像、地图和近距检测领域推出新的微波技术应用。同时,Aerotenna 团队的系统能够借助 Zynq SoC 芯片的处理功能,执行板载数据采集与分析。

Aerotenna 团队的平台将提供集成 IMU 数据获取功能,无需任何额外的传感器设置即可开发出即飞型“匣子”(图 3)。该团队将同时为所有类型的无线电导航控制提供集成导航界面。让 Aerotenna 团队的平台领先一步的地方在于,对任何外部传感器数据,都能直接通过 Zynq SoC 与 ArduPilot 程序

同步开展高速数据处理。这对基于 MCU 的平台来说是不可能实现的。

Zynq SoC 的额外处理功能还能处理更复杂的飞行控制系统,以更加精细地调谐无人机的性能。这包括将 I/O 功能扩展到适应更加广泛的外部接口与传感器选项,例如实时视频流、微波近距传感器及蓝牙。

Aerotenna 团队希望,通过让自己的平台易于测试和开发新的构思,激励许多其他公司和个人为无人机行业贡献新颖的创意,不为现今可用硬件的处理局限性所阻碍。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top