这里介绍一种简单的Vizzy的对接程序

支持轴向对接,不支持径向对接

适用于距离十km以内的对接,不包括交会部分

最后面会给出作品做参考

有一些词汇为了区分做了颜色标记

这个方法主要是根据航天器与目标的相对位置计算出当前对接所需要的速度(为了靠近目标飞行器,航天器所需要的相对速度速度)

在根据计算出的速度调整航天器的速度(航天器与目标的相对速度)

使其朝目标飞行完成对接

首先是速度的计算

如图目标飞行器和它的速度(绕中心天体的速度)和自己位置的大概相对关系

这里速度有两种计算方法

1 直接朝向目标对接

用目标坐标减去自己的坐标得到需要的速度的方向

速度大小就可以根据目标与火箭的距离计算出大小

例如

这样就把速度计算好了

航天器朝向就设置为目标方向

目标朝向就和航天器朝向相反或相同

这样就可以实现头对头或头对尾

2 从目标的正前方或正后方接近对接

速度方向指向目标前方的一点

这里从航天器往速度(绕中心天体速度)做一条垂线得到D点,速度方向指向这个线段上的一点

这里取四分之一点

这样就能往目标的前方或后方飞行

速度大小同上

航天器朝向就设置为目标速度(绕中心天体速度)的顺向或逆向

目标朝向就设置为速度顺向或逆向

这样就可以实现在飞行时飞船朝向不变,同时往目标飞行

反正只要保证最后对接的时候对接口朝向对到一起就行了

具体怎么个朝向可以自由发挥

目标的朝向设置可以用广播发送来完成

接下来就是速度控制的程序

这是要把航天器的速度根据计算出的速度进行调整

首先要知道飞船在平移模式下的UPFORWARDRIGHT对应的方向

这三个方会向随着飞船的方向而改变

屏幕截图 2026-03-28 124101.png

这是飞船在俯仰轴和滚转轴水平时的个的各个方向

蓝色是UP的正方向,也就是向上

红色是FORWARD的正方向,也就是向前

绿色是RIGHT的正方向,也就是向右

但实际过程中飞船俯仰轴和滚转轴并不是水平的,这三个方向向量也会随着飞船转动而改变

可以用游戏自带的函数可以直接获取飞船这三个方向的向量

如图这样就可以获取到这三个方向的向量

有了这三个向量就可以计算出飞船平移时所需要的量

计算在这三个方向上的量,其实就是把三维向量投影到一个特定的方向上得到一维向量

这就是计算的投影函数,使用方法后面会讲

用计算出的速度减去航天器的速度得出速度修正所需要的速度的误差向量

把这个速度的误差向量用上面的投影函数分别投影到之前讲的三个方向上就可以得到平移时所需要的量

这样航天器就能控制自己的速度,使其接近或达到计算出来的速度

就能按照计算出来的速度往目标飞去

还有就是飞船的滚转轴水平调整,这里用Vizzy解决

image-SBDs.png

如图把这个滚转轴的控制程序加入飞船,具体原理站内有文章讲,在需要的时候开启使用就行了

这样飞船就完成了俯仰轴和滚转轴的调整

也比较接近现实中的轴向对接

RCS可以这样设置

这样就可以间断的打开RCS,避免过度消耗燃料

程序总览

这是飞行控制部分,机动和姿态控制在这里

RCS 上面讲了这里不讲

发生碰撞时关闭对接程序和切换控制

这是目标里的程序

改目标和航天器的朝向改这个

如果要改对接时的速度方向改这个

剩下一些小细节就在作品里看吧

cs21.zip

作品里有两个飞行器

选择一个在太空的发射点,手动把另一个设置为目标,然后飞远一点,最好是在靠近目标的正前方或正后方,效果会更好

消除相对速度,关闭方向锁定,打开激活组2

等待对接就行了