4.4 自定义模型

本节导航


本讲的例程源码路径:
RflySimAPIs\OtherVehicleTypes\AircraftMathworks

4.4.1 其他现有模型的导入

  • 例程文件夹“RflySimAPIs\OtherVehicleTypes\AircraftMathworks”中的模型文件“AircraftMathworks.slx”是修改自Mathworks官方发布的一个小型固定翼的模型,将其机身、动力、气动等模型导入到“MulticopterNoCtrl.slx”模版中实现。 *Mathworks官方的模型链接如下:https://github.com/mathworks/simulinkDroneReferenceApp
  • 在上述链接中还包含了姿态控制、轨迹控制等控制器,可以将其按照高级课程第2讲的内容,导入到Simulink控制器开发平台中,生成代码并导入Pixhawk后即可用于控制固定翼的飞行。
  • 请自行测试上述功能。注:可以直接运行`“HITLRun.bat”SITLRun.bat”来开启硬件/软件在环仿真,并利用QGC`规划航路实现自动起降。
  • 本模型的软件在环仿真流程见下页的视频

RflySim: 如何进行固定翼的软件在环仿真,并用QGC实现自动起降航路飞行本视频观看地址: 优酷:https://v.youku.com/v_show/id_XNTA4Njg3NzU0NA==.html YouTube:https://youtu.be/riEVvwZBE4Y


4.4.2 外部程序如何与DLL模型通信

  • 例程见:RflySimAPIs\OtherVehicleTypes\ExternalCtrlAPI\DllModelExtCtrlAPI.slx
  • 可以通过UDP端口30101接收来自CopterSim转发的DLL模型的真实状态输出(数据和发送给RflySim3D的相同)
  • 可以向UDP端口30100发送数据结构体,将inSILFloatsinSILInts两个数据发送到DLL模型中。
  • 可以向UDP端口30100直接发送MAVLink消息,实现其他传感器的模拟,例如光流、电池、高度计、ADC等
  • 上述接口可以实现将CopterSim变成通信接口,例如,其他外部仿真程序中运行飞机模型,将模型状态通过inSILFloatsinSILInts发送给DLL模型,然后DLL模型中再将模型状态发送给传感器模块,进而转发给Pixhawk;同时,外部仿真程序可以通过30101接口来接收Pixhawk的电机输出,形成闭环。

补充: 最新版本的平台中CopterSim地图支持更改GPS坐标的功能,在地形txt文件末尾加上维度、经度和高度的数据即可(逗号分隔),QGC/Pixhawk会切换到所选GPS坐标。 具体操作为: 进入到C:\PX4PSP\CopterSim\external\map文件夹,其中

  • *.txt文件中存储用于校准地图用的三个坐标数据(取Unreal的世界坐标,左手坐标系,x朝前,y朝右,z朝上,单位是cm,取的点要刚好落在地形表面)
  • 三个点分别是:右上顶点(x,y应该都大于0),左下顶点(x,y应该都小于0),再加上任意一个与两顶点有较大高度差的地形点(通常取地形中心点或最高点)
  • 数据格式:右上顶点坐标x, 右上顶点坐标y, 右上顶点坐标z, 左下顶点坐标x,左下顶点坐标y,左下顶点坐标z,第三点坐标x,第三点坐标y,第三点坐标z 更多例子在持续开发中。。。

results matching ""

    No results matching ""