本文是一篇ArduPilot开发人员为GSoC2018建议的项目列表,我们翻译过来方便大家观看,文章来源:http://ardupilot.org/dev/docs/gsoc-ideas-list.html

1为多旋翼和无人车完善避障功能,包括使用OctoMap或ROS添加入住网格。

2 对多旋翼和无人车在障碍物周边进行路径规划。

3 为多旋翼和无人车设置禁飞/远离区。

4 针对APSync的实时视频改进,包括针对带宽和视频流进行帧速率优化。

5 改进ROS集成和文档。

6 改进物联网集成,以实现网页上实时查看无人机位置。

7 支持平衡机器人。

8 单直升机或同轴直升机飞行控制改进。

9 直升机自转支持。

10 机器视觉/在直升机或漫游车上机器学习的例程。

11 改进软件在环模拟器以包含3D查看器和对象。

12 ArduPilot 软件在环仿真的SimuLink接口。

13 AirSim无人机模拟器支持ArduPilot软件在环仿真

(https://github.com/Microsoft/AirSim/)。

14 JavaScript DataFlash日志解析器和一个用于以与MAVExplorer相似的功能绘制用户日志的系统,但托管在用户浏览器中。

15 改进与ArduPilot的UAVCAN集成。

16 D-Shot电调支持。

17 为固定翼飞机提供3D特技支持。

更多细节

以下各节将详细介绍上面列出的一些项目

为多旋翼和无人车完善避障功能

多旋翼和无人车已经实现“简单”的物体避让(http://ardupilot.org/dev/docs/code-overview-object-avoidance.html),它可以在撞到障碍物之前停下来,但是只在搭载的声纳/激光雷达/视觉系统感知到周边的物体时才能起作用。然而在使用激光雷达/声纳时,可能会由于在三维空间中无法观测到各个方向障碍时出现问题。飞行器(无人车)会在正面碰撞物体之前停下来,但当用户将它向左或向右转动90度(从而使障碍物在激光雷达的视野之外),它就会向左或向右飞向障碍物。更好的解决方法是:

●使用OctoMap或ROS等程序建立我们感知障碍物的区域的3D地图。但是,很可能只有高性能的飞控或配套的计算机才能够运行这些程序(应该确认一下配置是否达到要求)。

●使用上面生成的3D地图来决定我们可以或不可以飞入某个方向,然后使用mavlink DISTANCE_SENSOR消息向车辆的回避/距离库提供“哪条路是安全的”信息。

对多旋翼和无人车在障碍物周边进行路径规划

这个项目的目的是让多旋翼和无人车在障碍物周围自主移动。有两个关键点十分重要:

●该无人机(无人车)正在开始其基于“航点”的旅程。这时,我们的导航控制器记录起点和目的地,然后向下级控制器发送姿态和推力命令(每秒多次),以遵循直线路径。在这个项目中,我们将添加一个新的路径规划导航库,它将基于已知的障碍物创建一条路径(可能由多条直线组成)。这些障碍物数据最初只包括地形数据(已经可用),但可以在将来扩展到其他来源(即参见下面的“禁飞区域”)。

●基于实时声纳/激光雷达信息,无人机(无人车)飞行过程中会遇到面对障碍物的情况。它可以使用“路径规划”试图找到绕过阻碍物的路线。如果无人机(无人车)卡住超过几秒钟,可能会触发“失控保护”。它试图到达的最终位置将被提供给路径规划者,并且由路径规划者将提供三维运动(可能是三维速度向量)以便无人机(无人车)绕过障碍物。这种实时路径规划功能可能需要完成上述“为多旋翼和无人车的完善避障功能”,以便3D地图可用。

为多旋翼和无人车设置禁飞/远离区

在这个项目中,多旋翼和无人车将停靠于/或避免进入由用户或外部第三方数据提供商(如https://www.altitudeangel.com/)提供的“禁飞”(又名“勿入”)区域。

●区域可能被定义为3D柱面或立方体,其属性包括位置(纬度,经度,高度)和范围大小。

●地面站(即MissionPlanner或QGroundControl)负责将用户定义的禁飞区域与地面站计算机上的第三方数据提供者信息进行合并。

●ArduPilot固件(运行于飞控系统上)将向地面站发送mavlink消息,以请求给定区域内的所有禁飞区信息。应答消息将被处理并保存在飞行控制器上的一个小型数据库中,类似于我们如何存储地形数据(请参阅AP_Terrain库)。

●AC_Avoidance库将被延长以阻止车和飞行器进入这些禁飞区,类似于我们如何避免击中护栏。

●将来,这个禁飞区域信息也可能提供给“路径规划者”(参见“对多旋翼和无人车在障碍物周边进行路径规划”)。

这是未来几年在一些国家为监管目的而需要的重要功能,也是众多老用户请求之一。

实时视频改进

大多数用户希望实时视频从他们的无人机(无人车)直接传送到地面站。 ArduPilot的APSync包括使用gstreamer的实时视频,但其性能可以通过以下方式得到极大改善:

●基于带宽修改帧速率和视频质量。

●允许地面站判断来自飞行器(无人车)的视频流中哪些可用。

●允许开启/关闭视频流传输。

英特尔相机流式守护程序已经完成了大量工作,因此这可能是一个很好的起点。

改进ROS集成和文档

通过使用mavros(http://wiki.ros.org/mavros)和阅读我们的一些教程文档,ArduPilot可以和ROS(http://ardupilot.org/dev/docs/ros.html)一起使用。 该项目涉及:

●确认ROS / ardupilot设置说明是正确的,如果不正确,帮助纠正。

●代码根据需要更改为mavros或ArduPilot以提高集成度。

●开发和编写示例脚本/程序以向其他开发人员展示如何执行常见任务。

●如果时间允许,将ROS添加到APSync映像(http://ardupilot.org/dev/docs/apsync-intro.html),以便新用户进行设置。

对这个项目感兴趣的开发人员应该对ROS有很好的理解。

改善物联网集成

该项目的目的是通过直接增加ArduPilot对MQTT协议的支持,或在协同计算机上运行的APSync,将ArduPilot无人机更容易集成到物联网中。

如果支持直接添加到ArduPilot中,应该类似于我们如何支持现有的MAVLink和FrSky协议,这意味着我们将添加一个知道如何使用和发布mqtt消息的新库,并根据需要填入从ArduPilot的各种子系统获取的数据,如GPS,加速度计等。

如果支持已添加到APSync,则最好通过添加mavlink / mqtt转换程序来处理此项目。即一个翻译层,接受来自外部来源的ardupilot和mqtt消息的mavlink。

对此项目感兴趣的开发人员可能首先需要花费精力定义我们应该支持哪些mqtt消息,它们的格式以及ArduPilot子系统中可以找到这些信息的位置。通过像这样的一些早期尝试,这将变得更加容易。

支持平衡机器人

ArduPilot支持各种类型的飞行器和无人车,但却不支持平衡机器人(这是来自MAKE杂志的描述)。该项目涉及扩展ArduPilot的Rover固件以支持平衡机器人。 这个项目中的一些步骤是:

●扩展AR_AttitudeControl库。可能需要俯仰角实现油门/加速度控制,并可能需要转向和油门控制器耦合。

●确保所有现有的驱动模式兼容平衡机器人

●在wiki上记录设置过程。

单轴直升机和/或共轴直升机飞行控制改进

单机直升机和同轴直升机是顶部有一个或两个电机的飞行器,以及下面4个伺服控制的小翼诱导空气纵横姿态。 ArduPilot已经支持这些飞机,并且已经有一些成功的试飞,但是他们的姿态控制器需要我们投入更多的精力,以使之达到其他飞机类型的性能水平。

这个项目将需要首先在模拟器(可能是RealFlight8)中运行飞行器,然后在真实飞行器上进行测试。

希望参与该项目的开发人员应该对控制理论(PID控制器)有所了解,并准备对模拟和实际飞行的数据闪存日志进行详细分析,以确保我们的控制方法与这些飞机的物理特性相匹配。

直升机自旋支持

当发动机在直升机上失效时,好的飞行员可以使用自动旋转功能安全降落直升机。我们也希望ArduPilot具备自旋功能。我们已经有了一个非常不错的使用RealFlightFlightAxis后端的直升机仿真系统,为开发此功能提供了理想的测试环境。该项目将需要在模拟器中使用转子RPM和电机RPM传感器,以从各种高度和飞行速度产生可靠的自旋。如果模拟器测试进行得很顺利,那么它可以在一些真正的直升机上进行测试。

在旋翼或无人车上实现机器视觉/机器学习

该项目涉及使用机器视觉和/或机器学习并为ArduPilot的无人机/无人车固件添加一项新的实用功能。这可能是为了让一架旋翼/无人车沿着一条道路行驶,让一架无人机决定着陆的安全地点,或者在GPS丢失的情况下找到回家的路。

●可能需要高计算效率的电脑(http://ardupilot.org/dev/docs/companion-computers.html)(可能是NVidia TX1 / TX2)。

●使用机器视觉或学习(或许使用TensorFlow)(https://www.tensorflow.org/ )识别道路,着陆点或回家路径,

●发送速度命令(可能使用SET_GLOBAL_POSITION_INT:

http://mavlink.org/messages/common#SET_POSITION_TARGET_LOCAL_NED或SET_POSITION_TARGET_GLOBAL_INT

http://mavlink.org/messages/common#SET_POSITION_TARGET_GLOBAL_INT

)以正确的方向驱动飞行器。

●添加解决方案到APSync (http://ardupilot.org/dev/docs/apsync-intro.html)

●记录解决方案

添加3D查看器到软件在环仿真中

在环仿真中的ArduPilot软件支持许多物理后端。其中一些后端具有很好的3D接口,可以实现飞行显示,但“内置”物理后端没有这个功能。内置后端对于快速开发非常方便,因此在使用这些后端时如果可以使用可视化的方式显示车辆是非常不错的。当前,我们确实有一个解决方案,即可以在外部使用FlightGear进行可视化时,但它没有提供我们想要的可视化效果,我们也无法添加属于物理环境的部分的对象(如建筑物)。该项目将涉及添加3D可视化后端,以及支持物理模拟可与之交互的后端对象。如果可以加载车辆的不同3D模型将是非常不错的功能。

支持AirSim模拟器

微软最近发布了对基于虚幻3D游戏引擎的AirSim无人机模拟器的支持。 它看起来像一个非常好的仿真框架,我们希望增加对ArduPilot开发的支持。 该项目将涉及在AirSim和ArduPilot之间添加接口代码,如果需要增强其API(如添加锁步调度),则需要与AirSim开发人员合作。 请注意,这个项目将要求你有足够快的PC来运行AirSim(好的显卡和大量的内存)。

JavaScript日志查看器

我们希望能够为ArduPilot用户提供基于浏览器的日志分析和绘图工具。这将涉及为ArduPilotDataFlash日志格式编写JavaScript解析器,并根据解析的数据为浏览器添加一个漂亮的图形界面。我们正在寻找的用户交互模型与基于python的MAVExplorer相似(请参阅http://ardupilot.org/dev/docs/using-mavexplorer-for-log-analysis.html),其中可以使用任意图形表达结果,并且可以从通用图表菜单中进行选择。理想情况下,该工具还将支持使用pymaylinkJavaScript代码生成器的MAVLink遥测日志。该工具将与日志上传网站相结合,为所有ArduPilot用户提供良好的日志分析。

D-Shot电调协议支持

D-Shot是一种相对较新的与包括BLHeli 电调在内的一些电调进行通信的协议(请参见此处的说明https://oscarliang.com/dshot/)。 除了低延迟之外,D-Shot支持双向通信,意味着ArduPilot可能潜在感应电机故障并采取纠正措施。

在ArduPilot中改进固定翼3D特技飞行支持

通过在ArduPilot中增加prop-hang(参见http://discuss.ardupilot.org/t/ardupilot-flying-3d-aircraft-including-overover/14837),我们现在已经开始为固定翼提供一个漂亮的3D特技飞行表演。这个项目需要将固件升级以增加对“特技”模式的支持。 在特技模式下,用户可以使用各种常见的3D操作,包括(特技动作)knife-edge, loops, harrier和rolling loops。 实现这将涉及到四元数控制器的一些仔细的使用,但一个好的UI设计能使控制这些技巧的控制杆输入很容易学习。测试可以在FlightAxis模拟器中完成,实现仿真开发而不会冒外场试飞飞机的风险。

ardupilot官方2018年项目计划表(建议)相关推荐

  1. 项目推进计划表_项目计划表:项目管理利器「产品必备技能」

    开篇之前,先了解下7句箴言: 积极主动 以终为始 要事第一 双赢思维 知己解彼 统合综效 不断更新 高效能人士的七个习惯,一共28个字,知道的同学复习下,不知道的同学预习下.细细品味,工作生活均有奇效 ...

  2. 项目推进计划表_项目计划表:项目管理利器【产品必备技能】

    开篇之前,先了解下7句箴言: 积极主动 以终为始 要事第一 双赢思维 知己解彼 统合综效 不断更新 高效能人士的七个习惯,一共28个字,知道的同学复习下,不知道的同学预习下.细细品味,工作生活均有奇效 ...

  3. 科技创新2030—“新一代人工智能”重大项目拟立项的2018年度项目公示清单

    来源:财政资金申请 根据<国务院关于改进加强中央财政科研项目和资金管理的若干意见>(国发[2014]11号).<国务院关于深化中央财政科技计划(专项.基金等)管理改革方案的通知> ...

  4. 国家重点研发计划高新领域 “智能机器人、网络协同制造和智能工厂”重点专项2018年度项目申报指南建议

    来源:机器人创新生态 概要: 针对我国网络协同制造和智能工厂发展模式创新不足.技术能力尚未形成.融合新生态发展不足.核心技术/软件支撑能力薄弱等问题. 征求意见时间为2018年2月8日至2018年2月 ...

  5. JAVA工作总是维护项目_开发维护大型 Java 项目的建议

    原标题:开发维护大型 Java 项目的建议 假设你是正在开发和维护一个包含2000个类并使用了很多框架的Java开发者.你要如何理解这些代码?在一个典型的Java企业项目小组中,大部分能够帮你的高级工 ...

  6. 中国氯吡脲市场运营分析及项目投资策略建议报告2022-2028年版

    中国氯吡脲市场运营分析及项目投资策略建议报告2022-2028年版 ※※※鸿※※※晟※※※信※※※合※※※研※※※究※※※院※※※※   *章氯吡脲行业运营分析 *节氯吡脲行业定义及分类 第二节行业研 ...

  7. UE4官方滚球项目源码笔记

    UE4官方滚球项目源码笔记 我的项目名称:test_0511,读者请根据自己的项目名称自行查找(YourProgramNameBall.h/YourProgramNameBall.cpp) 笔者是UE ...

  8. 项目推进计划表_开江县2020年6月26个重点推进的重大项目计划表

    开江县2020年6月26个重点推进的重大项目计划表 建设 地址 建设性质 主要建设内容及规模 计划建设年限 项目 总投资 到2019年底累计完成投资 2020年投资计划 项目业主            ...

  9. 关于官方的fabric-sample项目启动案例简单分析

    建立一个fabric网络2个Orgnizations(每个Org包含2个peer节点)+1个solo ordering service步骤简要解析(以官方的fabric-sample项目为例) 注:官 ...

最新文章

  1. Leetcode 201. 数字范围按位与 解题思路及C++实现
  2. 全志 添加外挂RTC Hym8563
  3. vue项目使用electron打包成桌面应用
  4. JavaScript 经典设计模式
  5. c语言数组读心术,无聊的时候写的读心术小程序
  6. 不好的测试实践——软件测试的尽早介入
  7. Unix Vi命令基本用法
  8. 指定等级 Exercise07_01
  9. 话单数据仓库搭建(1)- 数仓概念及数据采集
  10. 新萝卜家园 ghost xp3 2013 5月纯净版
  11. 焊接工时简便计算工具_复杂工资,简单搞定——管家婆工贸PRO计件工资管理
  12. python中的opencv读取数字_用python和OpenCV从图像中提取数字
  13. 浏览器被hao123劫持
  14. 火水风四种元素平衡 ABCD四个相等
  15. “App开发者需要更新此App以在此iOS版本上正常工作 ” 解决方法
  16. 西门子精彩屏+精简屏+精智屏设置屏保功能的具体方法和步骤
  17. RSD的面向任务有何不同——任务目录
  18. Linux SPI 驱动
  19. 血拼2011中国移动开发者大会门票超低价团购!(已结束)
  20. 模糊控制和神经网络控制,模糊神经网络应用实例

热门文章

  1. 手机访问电脑打开的vue项目
  2. MyBatis框架思维导图
  3. java 汉字 字母_JAVA获取中文汉字字符串拼音首字母,英文字符不变的工具类
  4. 【清风数学建模笔记】第一讲:层次分析法
  5. 移动OMU,华为MA5620设置网口为共享
  6. 如何通过远程桌面重启计算机?
  7. Linux 修改 .bashrc
  8. 调试SSC1643模块透传遇到的问题
  9. Web三维地图展示-Cesium资料
  10. 在运行vue项目时发生这种 Cannot find module ‘xxxxx‘ ,解决办法?