戴训华 副教授
中南大学 计算机学院
dai.xh@csu.edu.cn
http://faculty.csu.edu.cn/daixunhua/zh_CN


8.1 软硬件配置

本节导航


本讲的例程源码路径:  
RflySimAPIs\FaultInjectionAPI  
注意:本小节例子推荐使用PX4的官方固件,任意版本都可以,这里选择了最新固件

8.1.1 Pixhawk硬件配置(1) — 在线固件下载方法如下:

1)打开QGC地面站软件,断开Pixhawk
2)如下图所示,点击工具栏齿轮图标进入载具设置页面,再点击“Firmware”(固件)标签进入固件 烧录页面;


3)用 USB 线连接Pixhawk 自驾仪到电脑,此时软件会自动识别 Pixhawk 硬件,如右图所示所示,在界面右侧弹出固件配置窗口,勾选第一项“PX4 ***”,然后点击“确定”,QGC 开始自动下载(需联网,无法联网请参考下一页使用本地固件)并安装最新的 PX4 固件到Pixhawk中;


8.1.2 Pixhawk硬件配置(2) — 离线固件下载(因网络无法在线下载固件时采用本方法)方法如下:

1)打开QGC地面站软件;
2)点击“Firmware”(固件)标签,此时用USB数据线连接Pixhawk自驾仪,地面站会自动检测自驾仪
3)勾选“advanced settings”(高级设置)选框;
4)点击“Standard Version (stable)”(标准版Stable)标签 – “Custom firmware file …”(自定义固件文件…)选项,再点“确定”;
5)在弹出的文件选择页面中,如果使用Pixhawk1飞控选择“RflySimAPIs\FlightControlExpCourse\code\e0\4.PX4Firmwares\px4fmu-v3_default1.10.1Stable.px4”,(如果使用Pixhawk 4,选择fmu-v5的固件)
具体如下图所示:

注意:如果文件夹中没有需要版本固件,请访问  
https://github.com/PX4/Firmware/releases 下载

8.1.3 Pixhawk硬件配置(3) — 离线固件生成(前两者都无法使用时采用本方法)

注意:前两种方法都失效时才尝试本方法;下图针对RflySim高级版,如果是RflySim基础版请使用支持的固件和编译器版本。
  • 在MATLAB中重新运“OnekeyScript.p”一键安装脚本;
  • 第2行输入“px4_fmu-v3_default”(注意:这里针对Pixhawk 1,请根据自己的飞控硬件选择编译命令)
  • 如右图所示,将第9项和第10项分别设置为“是”和“否”,其他选项保持默认,点击“确定”按钮,即可编译出不屏蔽PX4自身输出的PX4官方固件。
  • MATLAB中运行“PX4Upload”命令,即可弹出固件烧录页面,此时插入Pixhawk飞控,即可将官方固件烧入。

8.1.4 Pixhawk硬件在环仿真模式

  • 完成固件烧录后,自驾仪会自动重启并连接到QGC上;此时,如右图所示,进入“Airframe (机架)”标签页,选择机架类型为“HILQuadcopter X”,然后点击右上角的“Apply and Restart”(应用并重启)按钮,此时自驾仪会自动重启;
  • 重启后QGC会自动寻找串口并连接到Pixhawk,此时查看各个配置页,确保Pixhawk进入硬件在环仿真模式。
  • 完成遥控器校准和模式设置后,暂时拔掉Pixhawk上的接收机,本讲课程不需要连接接收机

8.1.5 PX4 SITL配置(仅限RflySim高级版)

  • 重新运行“OnekeyScript.p”脚本,按照右图所示配置,点击“确定”
  • 本配置是用于运行PX4的SITL软件在环仿真模式,使得我们可以在Windows下运行完整的PX4控制器,从而不需要Pixhawk硬件就能进行仿真。
    关键配置如下:
    • 编译命令:“px4_sitl_default”
    • 固件版本:“4”— PX4 1.10.2
    • 编译器:“1”— Win10WSL
    • 是否预编译固件:“是”
    • 是否屏蔽PX4控制输出:“否”— 这里直接用PX4官方固件来做顶层控制

8.1.6 PX4 HITL硬件在环仿真测试

  • 如果使用RflySim高级版,请插入Pixhawk,再直接运行桌面的HITLRun快捷方式,在弹出窗口中输入串口号,按下回车来开启硬件在环仿真系统
  • 如果使用RflySim基础版,请插入Pixhawk,打开CopterSim软件,在“飞控选择”下拉框选择飞控串口,并点击“开始仿真”,然后手动打开QGC3DDisplay
  • QGC中,点击“纸飞机”按钮-起飞-滑动来确认,可以看到视景中飞机自动起飞,说明配置正确




    注意:无论软件在环还是硬件在环仿真,均需要等待CopterSim消息栏显示  
    “** EKF initialization finished”后,才能使用QGC/Simulink/Python控制飞机
    

8.1.7 PX4 SITL软件在环仿真(不需要Pixhawk硬件)

  • 该功能仅限RflySim高级版(对应步骤1.5中设置)
  • 双击桌面上的“SITLRun”快捷方式,输入数字“1”,启动一个飞机的软件在环仿真系统
  • 同上一页,在QGC中控制飞机起飞,如果能够正常自动起飞,说明平台配置正确。
  • 原理:PX4 SITL是在Win10WSLUbuntu环境中模拟了Pixhawk的实时操作系统,从而运行完整的PX4控制器,并与CopterSim通过网络相连实现传感器/控制指令的交互,形成控制仿真闭环系统,和插入Pixhawk硬件进行HITL效果相同
  • 注:PX4 SITL仿真下也可以通过QGC来配置参与与获取log文件(存储在安装目录下的:Firmware\build\px4_sitl_default\instance_1下)


8.1.8 安装Visual Studio 2017 (也可以用其他版本,MATLAB能识别即可)

  • 后续课程很多地方都需要用到Visual Studio编译器,例如MATLAB
  • S-Function Builder模块的使用、Simulink自动生成C/C++模型代码等
  • 这里推荐安装Visual Studio 2017,在线安装步骤(需联网)如下:
  • 双击“RflySimAPIs\SimulinkControlAPI\VS2017Installer\vs_community2017.exe”
  • 本课程内容只需勾选右图的“C++的桌面开发”即可。
  • 注意:如果后续要用于UE4C++开发,还可以在右侧“摘要”里面勾选一个最新的Window 10 SDK;再点击“单个组件”标签页,勾选.NET 4.7.2 (最新版即可)和对应pack包。再点安装。

8.1.9 为MATLAB配置C++编译器

  • MATLAB的命令行窗口中输入指令“mex -setup”
  • 一般来说会自动识别并安装上VS 2017编译器,如右图所示显示“MEX配置使用‘MicrosoftVisual C++ 2017’以进行编译”说明安装正确
  • 本页面还可以切换选择VS 2015等其他编译器

results matching ""

    No results matching ""