模吧

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

956查看 | 1回复

Realflight与Simulink协同仿真(一)

[复制链接]
发表于 2022-12-22 21:16:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
Realflight与Simulink协同仿真(一) Realflight与Simulink协同仿真(一) 无人机,航模,仿真,模型,多旋翼 作者:杰罗姆 8505
麋鹿DEP

不是在游泳,就是在去游泳的路上









1. Realflight
Realflight是一款航模仿真训练软件,一直以来以高拟真度得到了广大航模爱好者的喜爱,不少模友的仿真训练就是从Realflight开始的。Realflight的名字恰如其分,对于低空低速的航模而言,在游戏中的操纵手感与真机实际飞行非常接近,这得益于其独具特色的空气动力学模块,可以根据游戏中飞行器的几何外形很好的拟合出真实飞行器的气动特性。无论是航模爱好者还是飞控设计师,都可以在Realflight中设置出所需独特布局的飞行器,进行后续的飞行训练或控制算法测试。
目前关于固定翼无人机的仿真平台主要有Flightgear和Xplane,而对于Realflight的介绍则颇为有限,有多方面的原因:Flightgear是开源软件,经过多年的发展形成了较为完善的生态;Realflight作为航模训练软件受众较少,同时Realflight8较高的售价($99.9)也不免让玩家购买时犹豫再三。但正是从Realflight8的Beta版本开始支持Flightaxis Link,可以读取飞行器的状态数据,同时发送控制指令,这让使用Realflight进行飞行控制算法开发和测试提供了可能性。
或许不少爱好者会被其并不亲民的售价劝退,诚然Realflight相比前两个平台在这方面有较大劣势,但其作为迭代多年的航模仿真器有其独特优势:(1) 对于低空低速飞行器,软件内置的动力学模型置信度较高;(2) 可以专注于控制算法的开发和测试,飞机动力学和视景部分都可以依托Realflight负责;(3) 支持的机型更多,包括固定翼、直升机、多旋翼飞行器、以及诸如“4+1”、尾座等新布局的VTOL飞行器,自定义程度很高。
Realflight与Simulink协同仿真(一) 无人机,航模,仿真,模型,多旋翼 作者:杰罗姆 1324
Alti Transition QuadPlane Realflight与Simulink协同仿真(一) 无人机,航模,仿真,模型,多旋翼 作者:杰罗姆 2399
Convergence Tilt Tri QuadPlane Realflight与Simulink协同仿真(一) 无人机,航模,仿真,模型,多旋翼 作者:杰罗姆 8932
ARACE Griffin Tilt-Rotor QuadPlane
2. FlightAxis Link
The FlightAxis toolkit enables Hardware- and Software-in-the-Loop testing for flight controllers. The toolkit allows RealFlight to communicate using SOAP. Using the Exchange Data SOAP method, the flight controller sends a control vector to RealFlight. In response, RealFlight sends a state vector. After processing, the controller sends an updated control vector and receives a state update, forming a feedback loop as this cycle repeats. A flowchart is provided at the end of this document.
FlightAxis Link是Realflight8 beta版本之后发布的一项新特性,可以通过SOAP协议实现Realflight与外部的通信,能输出飞行器的状态数据以及最多支持12路控制信号输入。可以基于该特性实现SIL (Software in loop) 或者 HIL (Hardware in loop) 仿真测试环境。
[color=inherit !important]FlightAxis Link - network access to RealFlight for developers.​[url=www.knifeedge.com/forums/index.php?threads/flightaxis-link-network-access-to-realflight-for-developers.32809/]www.knifeedge.com/forums/index.php?threads/flightaxis-link-network-access-to-realflight-for-developers.32809/[/url]

FlightAxis Link接收到的数据包示例:
[color=inherit !important]A typical protocol packet for LINK​uav.tridgell.net/RealFlight/data-exchange.txt

Ardupilot对FlightAxis Link的实现如下:
[color=inherit !important]https://github.com/ArduPilot/ardupilot/blob/master/libraries/SITL/SIM_FlightAxis.h​github.com/ArduPilot/ardupilot/blob/master/libraries/SITL/SIM_FlightAxis.h

[color=inherit !important]https://github.com/ArduPilot/ardupilot/blob/master/libraries/SITL/SIM_FlightAxis.cpp​github.com/ArduPilot/ardupilot/blob/master/libraries/SITL/SIM_FlightAxis.cpp
更多关于FlightAxis Link的问题可以参考下面的官方解释:
[color=inherit !important]FlightAxis Link Q&A​[url=www.knifeedge.com/forums/index.php?threads/flightaxis-link-q-a.32854/#post-282162]www.knifeedge.com/forums/index.php?threads/flightaxis-link-q-a.32854/#post-282162 Realflight与Simulink协同仿真(一) 无人机,航模,仿真,模型,多旋翼 作者:杰罗姆 4714 [/url]
笔者参考Ardupilot的代码,使用C#实现了对Realflight8的数据读取。
3. Realflight-Simulink联合仿真
实现联合仿真需要开发Simulink与Realflight的通信接口。前文已经实现了C#与Realflight的通信,可以稍作整理后封装为dll文件,之后在Simulink中使用S-function通过封装的dll实现通信即可,大大减少了重新开发通讯接口的工作量。
下一篇文章介绍用realflight仿真可以做的一些好玩的事情,比如固定翼飞机自动降落。
Realflight与Simulink协同仿真(一) 无人机,航模,仿真,模型,多旋翼 作者:杰罗姆 8889



侧风情况下自动进近演示









您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|关于模吧|APP下载|广告报价|小黑屋|手机版|企业会员|商城入驻|联系我们|模吧 ( 冀公网安备13080502000084号 )

© 2013-2020 Moz8.com 模吧,玩出精彩!