案例—猎鹰火箭自主着陆--复现

发布时间 2023-08-19 23:22:08作者: 试一下就知道了

案例—猎鹰火箭自主着陆

代码网址:Falcon9-Soft-Landing-Simulation: 基于Simulink和Flightgear的猎鹰9号软着陆仿真 (gitee.com)

1. 运行步骤

## 软件配置

- MATLAB 2020a
- FlightGear 2019.1.2
- CVX(Matlab凸优化求解器)http://cvxr.com/cvx/
凸优化工具箱使用安装网址  ---运行完安装程序后如下图所示:

## 使用方法

1. 将下载后的falcon9文件夹复制到 D:\Program Files\FlightGear 2020.3\data\Aircraft下(安装目录会有差异)
2. 编辑runfig.bat文件,修改flightgear路径等参数信息,本电脑修改后信息如下

运行runfg.bat脚本,开启FlightGear。开启后按v切换视图模式,按tab切换鼠标的作用。 如果出现"bad conversion"的错误,则在runfg.bat的最后一行末尾,加上--launcher,这样启动flightgear后,需要点一下左下角的开始飞行

3. 运行init.m,初始化参数(火星登陆器参数来自论文,猎鹰9参数来自github)
4. 运行cvx_solve.m,凸优化求解优化变量
5. 启动falcon9.slx的simulink仿真,guidance模块中的控制器利用凸优化求解出的位置、速度与真实的位置、速度的偏差和凸优化求解的推力,综合输出推力

6. 这里没有使用FlightGear自带的动力学模型,FlightGear只是用于可视化,动力学模型在Simulink中,是变质量的六自由度刚体模型,但输入力矩始终为0。
运行后flightgear显示效果如下:

 

 

gif 效果如下:

 

## 参考资料

Acikmese, B., Carson, J. M., & Blackmore, L. (2013). *Lossless Convexification of Nonconvex Control Bound and Pointing Constraints of the Soft Landing Optimal Control Problem. IEEE Transactions on Control Systems Technology, 21(6), 2104–2113.* doi:10.1109/tcst.2012.2237346

Acikmese, B., & Ploen, S. R. (2007). *Convex Programming Approach to Powered Descent Guidance for Mars Landing. Journal of Guidance, Control, and Dynamics, 30(5), 1353–1366.* doi:10.2514/1.27553