预告|ROS中超好用固定翼仿真开源平台即将上线!

迅翼计划于年底推出基于ROS环境的固定翼上层仿真开发平台。该平台将采用PX4与Gazebo架构,充分融合ROS、PX4和Gazebo三大生态系统,致力于打造最简便、易用 的固定翼上层算法仿真平台。

无论您是初学者,还是正在寻找适合的仿真平台进行算法验证,甚至希望基于此平台完成项目开发,该平台都将成为您可靠、便捷且易于上手的理想选择。当然我们正在寻找一些内测用户,如果您有相关基础,且希望提前使用,请与我私聊。

底层动力学仿真平台

在之前关于导航、制导与控制(GN&C,Guidance, Navigation, and Control)点此跳转的文章中,第1.3节所提到的"控制"特指GN&C系统中偏底层的控制部分,即更倾向于控制理论(Control Theory),主要关注飞行器本身的控制问题。传统的控制理论大多通过数学工具对被控对象的本体进行建模与控制,并深入研究控制律的特性及其适用范围。这部分内容通常被称为底层控制

底层控制仿真的核心在于对飞行器进行六自由度的动力学建模。这种建模需要精确描述飞行器的运动特性,因此在Matlab/Simulink环境中进行仿真是最为方便、直观且高效的方式。这种方法不仅能够准确表达控制系统的动力学特性,还能有效支持底层控制策略的开发与验证。

固定翼上层仿真平台

点此跳转文章的1.2节(制导)和2.2节(规划)中所涉及的仿真,与前述的底层控制仿真不同,更侧重于上层控制。大多数论文中的仿真或研究通常基于三自由度的简化动力学模型。尽管这种模型能够降低复杂性,但无法达到六自由度动力学仿真的精确特性,因此其结果往往难以真实应用于实际飞行器。

如果希望实现带有六自由度动力学的仿真:

  • 1.2节制导仿真 :使用Matlab/Simulink完成六自由度动力学建模和仿真,对于不熟悉固定翼飞行器动力学特性的人员而言,搭建六自由度模型具有一定的难度,需要较强的动力学知识储备和额外的建模工作。
  • 2.2节规划仿真 :使用Matlab/Simulink进行规划仿真会进一步增加工作量,不仅需要完整掌握固定翼飞行器知识,还涉及复杂的传感器仿真(如视觉摄像头、激光雷达等),而这些传感器的支持在该环境中几乎不可实现。

因此,我们更推荐在1.2节制导仿真和2.2节规划仿真中使用ROS环境下的PX4+Gazebo仿真平台。这一组合具有以下优势:

  • 支持六自由度动力学仿真:Gazebo内置了多种机型,支持用户对动力学参数进行配置,能够真实模拟飞行器的动态行为。
  • 丰富的传感器仿真:Gazebo可以轻松支持各种传感器(如视觉摄像头、激光雷达等),为规划仿真提供必要的环境支持。
  • 集成化底层控制器:PX4作为成熟的底层控制器,支持多种控制模式,包括作动器直接控制、角速度控制、姿态控制、位置控制和速度控制,可满足任一控制层的需求。
  • 简化开发流程:借助PX4+Gazebo平台,用户无需从零搭建六自由度动力学模型或底层控制逻辑,仅需专注于验证自己的上层算法。这种方式大大减少了开发时间和精力投入。

正因如此,我们选择以上层仿真平台为核心方向,旨在提供更高效、更便捷的工具支持,为用户专注于上层算法研究和验证提供可能。

敢说"最好用"?

本次即将发布的仿真平台将聚焦解决因固定翼无人机欠驱动特性带来的仿真困难,提供多元化上层仿真功能拓展与接口封装,以更好满足固定翼无人机仿真需求。

与四旋翼无人机和无人车等全驱动 系统相比,固定翼无人机具有显著的欠驱动动力学特性。具体来说,四旋翼无人机能够在三维空间内自由飞行,控制六个自由度的运动,并且能够调节飞行速度,因此具有很强的灵活性。而无人车虽然不能实现横向平移(除非采用麦克纳姆轮等特殊设计),但它的前进速度可以调节至零,仍具有一定的机动性。与此不同,固定翼无人机一旦起飞,便受到速度和运动自由度的限制:它的飞行需要维持一定的最低速度才能保持升力,同时不能像四旋翼那样实现横向位移或直接的定点悬停。简单来说,固定翼无人机的运动受限于最低速度要求,并且无法像全驱动系统一样在所有方向上自由移动。

为了解决这些问题,我们在MAVROS的基础上,针对固定翼无人机的上层仿真进行了以下功能扩展和接口封装:

  • 高度控制 :在原生姿态控制的基础上集成了TECS控制器
  • 横向控制 :采用导航向量场计算期望飞行方向,并在此基础上设计了偏航控制器
  • 灵活输入支持 :支持直接以期望飞行矢量作为输入进行控制;
  • 无人机类封装 :封装了固定翼、垂直起降固定翼等多种机型的常用话题订阅与发布接口
  • 工具类支持 :提供常用的PID控制器类模板 ,以及地理坐标转换姿态转换等实用函数。

以上封装提升了仿真平台的适用性与开发效率,更好地满足了固定翼无人机的仿真需求。

已有的demo

我们已经实现一些可供大家快速上手的demo演示:

  • 基于导航向量场方法的轨迹跟踪方法

    • demo演示:圆形轨迹

      圆形轨迹跟踪

    • demo演示:螺旋上升

      螺旋上升

    • demo演示:圆柱面与斜面交线

      圆柱面与斜面交线

  • 基于无奇异点导航向量场方法的轨迹跟踪方法

    • demo演示:李萨如曲线

      李萨如曲线

    • demo演示:多项式轨迹(多项式轨迹,轨迹可自定义)

      多项式轨迹

  • 基于LQR控制器的多机leader-follower编队飞行控制

    • demo演示:多机编队(折线轨迹,轨迹可自定义)

      多机编队

后续待发布

  • 基于向量场的固定翼无人机避障
  • 基于无奇异点导航向量场的多无人机编队飞行控制

在单无人机轨迹跟踪上,我们实现了导航向量场和无奇异点导航向量场的轨迹跟踪方法。相较于传统方法,理论上此类方法跟踪精度更高、跟踪代价更小;此外,此类方法计算代价极小,可应用于单片机等低算力平台。

在多无人机轨迹跟踪上,我们创新性的将导航向量场用于了多无人机编队和轨迹跟踪。该方法具有以下优势:

  • 灵活性与精度 :相较于传统轨迹跟踪方法,帮助您实现灵活的期望轨迹设计和更精准的跟踪效果;
  • 分布式协调 :采用一致性算法进行机间协调。相较于leader-follower这类集中式策略,所采用的分布式策略鲁棒性 强、可扩展性 好,具有强的应用前景
  • 低通信压力 :仅涉及参数的一致性。机间通信信息为自身虚拟坐标,也就意味着仅需要对一个数字进行一致性即可实现三维空间中的编队,相较于传统一致性编队方法通信压力少。

这一系列改进不仅提升了单机与多机的轨迹跟踪性能,也为低算力平台和实际应用提供了高效可行的解决方案。

总结

综上所述,我们的仿真平台已基本具备仿真开发与验证的完整功能,并且完全开源开源!开源!

如果您是以下应用场景:

  • 科研与教学: 高校和研究机构可使用该平台进行算法研究与教学实验;
  • 项目开发: 企业可将其用于快速验证部署制导、规划算法;
  • 个人开发者: 兴趣开发者和无人机爱好者也能快速上手,进行探索和学习。

我们希望这个平台将成为您进行固定翼上层仿真的最佳选择。

如果您对此感兴趣,并希望参与内测,欢迎随时私聊联系我们!未来,我们还将持续优化与扩展,计划适配支持ROS2Ardupilot 等更多底层飞控的功能。同时,明年我们预计推出可用于验证上层算法的实物固定翼飞机,敬请期待!

迅翼,让固定翼飞行更自由!

相关推荐
庄毕楠41 分钟前
金铲铲S13双城之战自动拿牌助手
python·pyautogui·金铲铲·金铲铲游戏助手·金铲铲助手
菜鸟小贤贤43 分钟前
pyhton+yaml+pytest+allure框架封装-全局变量接口关联
开发语言·python·macos·自动化·pytest
南东山人1 小时前
python问题解决-外部模块明明安装了,却总是无法找到
开发语言·python
Adolf_19931 小时前
Django 自定义路由转换器
后端·python·django
B站计算机毕业设计超人1 小时前
计算机毕业设计Python+大模型美食推荐系统 美食可视化 美食数据分析大屏 美食爬虫 美团爬虫 机器学习 大数据毕业设计 Django Vue.js
大数据·爬虫·python·深度学习·机器学习·课程设计·推荐算法
ThetaarSofVenice1 小时前
【Java从入门到放弃 之 Java程序基础】
java·开发语言·python
XMYX-01 小时前
使用 Django 构建支持 Kubernetes API 测试连接的 POST 接口
python·kubernetes·django
使者大牙1 小时前
【单点知识】基于PyTorch进行模型部署
人工智能·pytorch·python·深度学习
L Jiawen1 小时前
【Python · PyTorch】循环神经网络 RNN(基础概念)
pytorch·python·rnn
int WINGsssss1 小时前
对pytorch的底层nccl库进行插桩
人工智能·pytorch·python