void AdjustUpdate()
        {
            double utAtHeight = FindHeightT((float)DescendHeight, 1000);
            //Vector3 posAtHeight = vessel.Orbit.PositionAt(utAtHeight, vessel.SurfaceReferenceFrame).ToVec();
            Vector3 target = TargetPosition(surfaceRef);

            var bodyVel  = data.GetVelocity(bodyRef);
            var bodyRot  = data.GetRotation(bodyRef);
            var localVel = Vector3.Transform(bodyVel, Quaternion.Invert(bodyRot));
            var srfRot   = data.GetRotation(surfaceRef);
            var srfVel   = Vector3.Transform(localVel, srfRot);

            if (data.GetMeanAlt() < 25000 && srfVel.X < 0)
            {
                status = Status.Descend;//如果高度过低,跳转到Descend
                return;
            }

            Vector3 srfHorVel = new Vector3(srfVel);

            srfHorVel.X = 0;
            Vector3 targetHor = new Vector3(target);

            targetHor.X = 0;
            Vector3 targetHorVel = targetHor / (float)(utAtHeight - Time.UT);
            Vector3 dv           = targetHorVel - srfHorVel;//调至目标轨道所需的水平速度增量
            float   dvm          = dv.Length;

            stability.direction = dv;
            float errorAngle = Vector3.CalculateAngle(stability.currentDirection, dv);
            float maxAcc     = data.GetMaxThrust() / data.GetMass();

            if (errorAngle < 0.1f)
            {
                errorTimer += (float)Time.gameDeltaTime;
            }
            else
            {
                errorTimer = 0;
            }
            if (errorTimer > 1 && dvm > 5)
            {//稳定朝向目标时打开节流阀,p控制
                vessel.Control.Throttle = dvm / maxAcc;
            }
            else
            {
                vessel.Control.Throttle = 0;
            }
            if (dvm < 5)
            {
                vessel.Control.Throttle = 0;
                status = Status.Descend;//足够接近目标轨道,转到Descend
            }

            LogInfo("dv", dv.ToString());
            LogInfo("error", errorAngle.ToString());
        }