Skip to content

LiangYuezhe001/GFOLD_KSP

This branch is 1 commit ahead of xdedss/GFOLD_KSP:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

27419e5 · Jun 20, 2023

History

14 Commits
Jun 11, 2020
Jun 11, 2020
Jun 11, 2020
Jun 12, 2020
Jun 20, 2023
Jun 11, 2020
Jun 20, 2023
Jun 11, 2020
Jun 11, 2020
Jun 20, 2023
Jun 20, 2023
Jun 12, 2020
Jun 11, 2020
Jan 25, 2023

Repository files navigation

GFOLD_KSP

连接krpc并调用求解器进行计算和自动降落的主要程序是demo3_gfold.py

GFOLD_codegen.py - 生成求解的c代码

GFOLD_direct_exec.py - 直接cvxpy求解

GFOLD_run.py - 封装了solver类,可以调用上述两个方法求解

可调参数在params.txt中

Requirements

python 3.x (推荐3.6)

setuptools 版本小于等于 57.5.0(否则后续安装cvxpy可能出现错误error in cvxpy setup command: use_2to3 is invalid.)

scipy==1.2.1,CVXcanon==0.1.0(这两个是cvxpy的依赖项,其当前最新版已不兼容我们使用的cvxpy版本,所以需要手动安装)

cvxpy==0.4.11(为了兼容cvxpy_codegen,不能使用新的1.x版本)

cvxpy_codegen (注:在python3.x中可能需要把setup.py中"python >= 2.7"一行删去才能正常安装)

krpc

Codegen

运行GFOLD_codegen.py可以生成效率较高的c代码并作为python包安装到python环境里。

注意生成的代码可能有许多错误需要看情况修正,因此我写了postprocess.py来自动改正一些常见问题,但是不保证在所有环境下都能完美工作。

上述整个代码生成+改错+编译安装过程可以通过运行build.bat自动完成,如果一切正常,运行完之后python里就会多出两个包 gfold_solver_p3 和 gfold_solver_p4

直接在python中求解

如果要直接cvxpy求解(耗时可能达到c的10倍以上)请把params.txt中direct改成True,然后运行demo3_gfold.py

测试

运行python ./GFOLD_run.py,可以用默认的测试数据+codegen的代码求解并显示结果(必须要先完成codegen的步骤)

加参数运行python ./GFOLD_run.py direct,则是同样的默认数据用直接求解的方法求解并显示结果

如果默认数据能够得出正确结果(不会infeasible),说明求解器没有问题。

License

此项目由G-FOLD-Python改进而成,遵循GPLv3

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.1%
  • Batchfile 0.9%