FlytOS

FlytOS 是一个软件框架,提供无人机应用程序接口(API)和 SDK,用于构建高级无人机应用,如空中送货、精准农业、勘测、摄影、工业检查和灾害管理。它旨在使无人机开发人员能够使用其开放式 API 构建高级无人机应用。

FlytOS 基于 Linux 和 ROS(机器人操作系统),是构建商业和研究型无人机应用的理想平台。它支持多种硬件选项,如 树莓派 3、Odroid XU4、Nvidia TX1、英特尔 Edison、英特尔 Aero 和 FlytPOD.它使用 MAVLink 与(飞行)控制器进行通信,并在以下文件中公开高级 FlytAPIs ROS、CPP、Python、REST 和 Websocket.

../_images/flytosccsupport.jpg

支持的配套计算机

这使得利用计算机视觉、机器学习和云连接构建高级应用程序变得非常容易,并使开发人员能够在自己选择的网络/移动设备上创建自定义用户界面。FlytOS 还有管理有效载荷、安全和更新的模块。FlytOS 的模块化设计允许与外部 ROS/Linux 库以及机载和机外应用程序之间的定制数据管道集成。FlytOS 旨在为无人机应用开发人员提供一种标准语言,以便与无人机进行对话。


./_images/FlytOSArch.png

FlytOS 架构图

开发人员工具

FlytOS 提供了多种开发工具,如 FlytSDK 和 FlytSIM,以进一步帮助开发人员快速上手。

FlytSDK 是面向网络和安卓开发人员的软件开发工具包。一些 示例应用 在 github 上提供,可用作模板/参考来构建自定义应用程序。

FlytSIM 是一个基于 ROS/Gazebo 的模拟器,用于测试使用 FlytAPIs 构建的应用程序。这使开发人员能够安全高效地构建和测试无人机应用程序,最大限度地减少对飞行测试的要求。

支持的配套计算机

支持的语言

FlytOS 提供无人机应用程序接口(Drone API),用于构建带有机载和远程组件的应用程序。这些无人机 API 不仅能控制飞行器的导航、有效载荷(云台、相机等),还内置了一些人工智能/ML 模块,如物体检测和跟踪、障碍物检测等。

机载应用程序接口

这些 API 可在配套计算机上使用,可用于开发特定领域的智能和业务逻辑。典型的候选任务需要高可靠性、低延迟和相对较低的处理能力,如机载计算机所提供的。

点击相应链接,了解更多有关在以下应用程序中构建自定义应用程序的信息 cpp蟒蛇.

远程应用程序接口

这些应用程序接口用于为远程设备构建网络/移动应用程序,有助于创建特定于应用程序的自定义用户界面以及集成任何板外处理功能。这些应用程序接口包括 RESTfulWebSocket 通常,REST 用于向无人机发送命令,WebSocket 用于获取连续数据流(遥测)。点击以下链接之一,了解更多有关为网络和移动设备构建自定义应用程序的信息。

应用实例

我们提供了一些示例应用程序,帮助您开始无人机应用程序开发。您可以在 github 上找到它们,网址是 FlytSamples github 代码库.这些示例应用程序是用上述所有语言编写的 支持的语言.网络/安卓开发人员可以从一个简单的 操纵杆应用程序.几个简单易懂的 基于 CPP/Python/ROS 的应用程序 也可以使用。

基于视觉的物体跟踪和追随

FlytOS 捆绑了基于视觉的物体跟踪和追随模块。要了解更多信息,请查看 本博客.


使用 Nvidia 进行深度学习

在 Nvidia-TX1/Nvidia-TX2 上使用 FlytOS 可以将深度学习应用与无人机整合在一起。首先,您可以安装 咖啡的深度学习框架。 深度学习教程.我们还有一个样本 物体分类和跟踪 使用 caffe 的示例 更多信息.


基于 GPS 的目标跟踪

这款安卓应用程序能让您根据设备的 GPS 定位,控制无人机跟随您到任何地方。查看 GPS Follow Me 代码请将它安装到您的手机上,看看 FlytOS 如何运行。

基于声纳的障碍物探测

您可以通过使用声纳(SONAR)、捕获数据、将其与 FlytOS 集成并最终操纵无人机通过障碍物航线,使无人机具备最基本的障碍物探测功能。我们提供了一个 实施示例您可以使用 Arduino 来触发 SONAR,然后将捕获的数据传输到配套的计算机上。利用这些数据,您可以编写一个简单的机载 ROS/cpp/python 应用程序,使用 FlytAPIs 为无人机导航。