MechJeb2

MechJeb2

4M Downloads

MJ not changing vessel orientation to execute maneuver node

Sinomen opened this issue · 11 comments

commented

KSP 1.7, MJ#883
With heavy vessels (just tested with a vessel having 590 tons wet mass before LKO circularization burn), MJ often can't execute nodes as it is unable (unwilling?) to change orientation to execute next maneuver. 
Switching of node execution and using SAS, the vessels turns properly to the correct maneuver node orientation. When the proper orientation is reached, reenabling MJ's node execution works fine as usual.
Regarding the affected vessels: no RCS, just reaction wheels, and in relation to rotational inertia, pretty low torque of the wheels.

commented

That doesn't make a whole lot of sense. The first thing that it does is orient the vessel in the maneuver node direction. As long as you have some torque it should move. If you have low torque you can adjust the MaxStoppingTime in the Attitude Adjustment window up from 2 to 10 or higher. If it orients along the node but never quite 'settles' and warps then you can manually force enter warp and it'll pick up.

commented

I'll check tomorrow and give you feedback. And yes, I agree, it makes no sense at all.

commented

OK, some interesting test results:
Changing MaxStoppingTime -> no effect.

Following tests during coasting between 70k alt. and manouver node at 100k for circ., time acceleration disabled:
(no effect/nothing=no torque appied, roll/pitch/yaw indicators remains in middle idle positions)

Disabling and reenabling MJ's (node execution) -> no effect
Disabling MJ, switching controller from hybrid to MJ's, reenabling -> works as intended
Disabling MJ, switching controller from hybrid to MJ's, reenabling for a few seconds, disabling, switching controller back to hybrid -> a few seconds attitude change to former orientation, then nothing

Not (yet) tested though: ascend w/ MJ controller from the start.

P.S.: another test result: saving the game just above 70k alt. (i.e. the circ. maneuver node is already created), loading the save, and reenabling MJ's node execution also works fine regardless of selected controller.

P.P.S.: Feature suggestion: option to enable autostaging for "normal" nodes (i.e. outside Ascend Guidance module).

commented

P.P.S.: Feature suggestion: option to enable autostaging for "normal" nodes (i.e. outside Ascend Guidance module).

autostaging is a global setting in the utilities menu, it should affect everything.

commented

P.S.: another test result: saving the game just above 70k alt. (i.e. the circ. maneuver node is already created), loading the save, and reenabling MJ's node execution also works fine regardless of selected controller.

Okay now this sounds like a bug in the handoff between the Ascent Guidance module and the Maneuver Node executor where the Attitude Controller is getting confused and the ascent guidance module may not be deregistering itself with the attitude controller correctly.

If this only happens on ascents, and with the circularization burn option of the ascent controller then it has nothing to do with the maneuver node or attitude controllers themselves. Flipping the controller probably resets some internal state.

commented

Having the identical issue as Sinomen. As stated, Mechjeb makes no attempt to steer the vessel. There are no torque inputs shown. Ascent mode works until orbit is reached, but then experiences the same issue an maneuver planner. Improvised solution is to create node, use Kerbal built in control to aim vessel at maneuver node, and then execute node using maneuver planner.

commented

Still haven't seen the original problem replicate, most of the issues that are repeated are simply around tuning the MaxStoppingTime parameter. Can't replicate, can't guess what code is busted, so can't fix this one.

commented

Haven't checked recently, but iirc it was also the case with the execution of others maneuvers, I remember two instances - again big heavy vessels and in relation to the rotational inertia a small torque - where the execution of a node for an advanced planet transfer did not work.
Like said before, disabling MJ, using the builtin SAS maneuver rotation mechanism, and reenabling MJ worked fine.
Let me know if you want me to perform other tests.

Regarding Autostaging: false alarm, my bad, you're right, found it under Utilities. That switch though seems to be independent of the respective Ascend Guidance switch, which was what got me confused.

commented

Hi guys!

First of all, I really appreciate the amount of work that has been put into this mod, thanks a lot.

I wanted to add my experience with the execution of maneuver nodes too, as I have a very similar issue using ksp v1.7.0 mj #883.

No matter the planned maneuver, wether it is the circularization of an ascent burn or just executing any maneuver node. Mechjeb seems to react and steer very slowly compared to just using the maneuver setting of the regular SAS.

In my experience MJ maneuvers work totally fine basically every time, but it just takes ages. Sometimes causing MJ to miss the intend start of the burn because it couldn't orient itself in time.

When MJ start to orient itself, you visually see it applying torque in the correct directions, but it cuts off almost immediately. Leaving the craft to just float until it hits the maneuver marker. When it almost hits the mark it applies just enough torque to stop the rotation and executes the node. SAS just keeps the torque applied all the time, as it should be. The issue is that sometimes just changing from prograde to retrograde can take as much as two whole minutes if the engines aren't firing and RCS is turned off. While regular 'ol SAS can do the change of orientation in about 15 seconds with just the reaction wheels and gimbals.

I hope this gives some clarity on the cause and solution of the issue! Would newer builds of MJ (after June 10th) solve this problem?

Thanks a lot for any help and I hope the Devs can work it out!

Lots of love!

commented

Oh dang, sorry for being a noob. I bet I should have read into it some more. Playing around with this seems to have resolved my issue completely. Thanks man!

commented

@botruyens have you increased MaxStoppingTime in the AttitudeAdjustment window?