Project

General

Profile

Feedback #3953

Maneuver node controls rotate with post-maneuver trajectory

Added by TechnocratiK over 9 years ago. Updated almost 7 years ago.

Status:
Confirmed
Severity:
Normal
Assignee:
-
Category:
Controls and UI
Target version:
-
Version:
Platform:
Any, Linux
Expansion:
Language:
English (US)
Mod Related:
No
Votes:
Arrow u r green
Arrow d r red

Description

KSP Version: v0.90.0.705 Beta (from Steam), Windows 32-bit (running on Windows 7 x64)
What Happens: Maneuver nodes' controls rotate with the post-maneuver trajectory/orbit, but the maneuver's reference frame is that of the pre-maneuver trajectory/orbit
Mods / Add-Ons: All Stock

Steps to reproduce:
  • Establish a (roughly) equatorial, circular orbit around Kerbin
  • Create a maneuver node
  • Drag the node's orbit-normal handle to (attempt to) modify the post-maneuver orbit to have a 90 degree inclination (i.e. a polar orbit)

Result: It is not possible to achieve a post-maneuver inclination of 90 degrees (i.e. a polar orbit) without changing the prograde/retrograde velocity of the maneuver, even though the maneuver node's normal/anti-normal axis appears to rotate as the maneuver's velocity is changed in that direction.

Workaround: A lot of maneuver tweaking is required to move from an equatorial orbit to a polar orbit with the same semi-major axis.

Detailed explanation/additional notes: For example, when dragging the orbit-normal handle of a maneuver node placed at the periapsis of an elliptical orbit, the handles of the maneuver node rotate with the post-maneuver orbit's plane (about the radial/anti-radial axis of the node). However, the apoapsis of the post-maneuver orbit increases (as the orbit-normal delta-V increases) because the maneuver's reference frame is that of the pre-maneuver orbit - this seems counter-intuitive. Compare this to burning in the orbit-normal direction at periapsis, and following the orbit-normal as it moves on the navball during the burn (just as the orbit-normal maneuver handle rotates as the delta-V along that axis is adjusted): since this burn is constantly in a direction perpendicular to the prograde vector, the craft's orbital velocity (in terms of magnitude) is unaffected, and thus so is its apoapsis.

Either a) the maneuver node's handles should not rotate when the radial/anti-radial and normal/anti-normal delta-Vs are changed, or b) changes to the radial/anti-radial and normal/anti-normal delta-Vs should be with respect to the post-maneuver reference frame; ideally, the user could choose between these two behaviours in the game's settings. The second behaviour would make large plane changes easier because it would simply be a matter of dragging the orbit-normal handle of the maneuver.

Screenshots:
What I get when I drag the maneuver node normal handle northward: http://i.imgur.com/UUXGBMZ.png. Note that the normal/anti-normal axis of the maneuver node is normal to the post-maneuver plane, but dragging the normal/anti-normal handles of the maneuver node affects the delta-V in the direction normal to the pre-maneuver plane (see the maneuver indicator on the navball).

What I intuitively expect to get in the previous case, but that actually requires a lot of fiddling around: http://i.imgur.com/mxnXYTu.png. In this case, were I to change the apoapsis of the post-maneuver orbit, I would need to drag the normal/anti-normal handles of the node, even though they are not aligned to the prograde/retrograde directions of the post-maneuver orbit.

IntuitiveManeuvers.zip (7.71 KB) IntuitiveManeuvers.zip [email protected] TechnocratiK, 01/17/2015 08:34 PM
screenshot886.png (457 KB) screenshot886.png [email protected] sal_vager, 08/11/2016 10:52 AM
screenshot887.png (461 KB) screenshot887.png [email protected] sal_vager, 08/11/2016 10:52 AM
screenshot888.png (385 KB) screenshot888.png [email protected] sal_vager, 08/11/2016 10:52 AM
screenshot889.png (488 KB) screenshot889.png [email protected] sal_vager, 08/11/2016 10:52 AM
screenshot890.png (490 KB) screenshot890.png [email protected] sal_vager, 08/11/2016 10:52 AM
19884
19885
19886
19887
19888

History

#1 Updated by RexKramer over 9 years ago

By adding a force perpendicular to your direction of travel, your velocity will not remain constant. The change in velocity at that point will affect your orbit dimensions.

In other words, just because you are burning Normal or Anti-Normal, does not mean that the magnitude of your velocity vector does not change- it does. To keep your velocity from increasing, you would also need to add a retrograde component to your maneuver, otherwise the increase in energy will cause your orbit's dimensions to increase. Consider it as vector arithmetic- if you are traveling east at 100m/s, and burn north for 50m/s, your new velocity is not still 100m/s, it is now about 112m/s, in a more northeasterly direction. Even though you burned perpendicular to your velocity vector, you still added velocity.

So, I think the maneuver node is accurately depicting what would happen if you burn in any given direction, including Normal or Anti-Normal. Also, keep in mind that maneuver nodes do not assume a burn which takes several seconds, minutes, or hours, which is what actually happens depending on your engine. Instead, maneuver nodes assume an instantaneous application of force, like an explosion which results in the entire DV requirement being satisfied in an instant.

#2 Updated by TechnocratiK over 9 years ago

RexKramer wrote:

By adding a force perpendicular to your direction of travel, your velocity will not remain constant. The change in velocity at that point will affect your orbit dimensions.

If by force you mean impulse (i.e. instantaneous change in momentum), then I agree.

In other words, just because you are burning Normal or Anti-Normal, does not mean that the magnitude of your velocity vector does not change- it does. To keep your velocity from increasing, you would also need to add a retrograde component to your maneuver, otherwise the increase in energy will cause your orbit's dimensions to increase. Consider it as vector arithmetic- if you are traveling east at 100m/s, and burn north for 50m/s, your new velocity is not still 100m/s, it is now about 112m/s, in a more northeasterly direction. Even though you burned perpendicular to your velocity vector, you still added velocity.

Yes, except assuming the burn is not instantaneous, 'north' isn't the direction perpendicular to my velocity vector throughout the entire burn (only at the beginning). If I rotate the direction of the force to remain perpendicular to my velocity vector as I burn, my new velocity (after the burn) will be in a different direction, but remain 100 m/s. The trajectory of my craft will have been a circular arc over the course of the burn (assuming my acceleration is constant).

So, I think the maneuver node is accurately depicting what would happen if you burn in any given direction, including Normal or Anti-Normal. Also, keep in mind that maneuver nodes do not assume a burn which takes several seconds, minutes, or hours, which is what actually happens depending on your engine. Instead, maneuver nodes assume an instantaneous application of force, like an explosion which results in the entire DV requirement being satisfied in an instant.

I'm in full agreement that maneuver nodes do (and should) represent instantaneous changes in velocity. My complaint is that the maneuver node's handle's axes are aligned to the post-maneuver orbit, but adjust the maneuver in the pre-maneuver reference frame that is, they don't adjust the maneuver in the direction they point. If you setup the second example I gave (http://i.imgur.com/mxnXYTu.png), this issue becomes evident: dragging the normal/anti-normal handles of the maneuver node seen in the screenshot affects the north/south component of the maneuver's delta-V, even though those handles are oriented east-west. This seems counter-intuitive, no?

#3 Updated by TechnocratiK over 9 years ago

  • File IntuitiveManeuvers.zip added

Update: Becuase I feel that I have explained the issue poorly, I have created a mod that implements the proposed correction to the maneuver gizmos.

Disclaimer: I have no prior experience as a developer of KSP mods; the attached library is provided without warranty and its corresponding code is provided "no rights reserved."

#4 Updated by TechnocratiK over 9 years ago

Sorry, that last post had an attachment with some extraneous debugging/commented-out code left in.

#5 Updated by blueyoshi321 almost 9 years ago

Thanks for the fix! It seems to work. And, to be explicit, I'm affirming that this should be considered a bug, and that it's still present in 1.0.2. TechnocratiK, I think the last paragraph in your comment #2 explains the issue nicely.

#7 Updated by Squelch almost 9 years ago

While technically correct, the current implementation of the manoeuvre node gizmo can be a frustrating exercise in tweaking parameters. Therefore it cannot be judged as a bug, and will remain a feedback item, and at best a feature request.

Using the supplied fix, I was able to turn a Kerbin equatorial orbit into a Munar polar insertion in one operation - something that I'm sure anyone who has attempted it, will know how difficult that can be.

I commend this fix.

#8 Updated by blueyoshi321 almost 9 years ago

It's not correct as is, because the displayed direction of the handles is different from the direction of the change they actually make to the node's velocity.

If they behaved as they do with the fix, that would be great. If they didn't visually rotate, but they affected the node itself in the same way that they do now, that would also be correct, though I would probably consider it less useful. Right now, there's a mismatch between what they do and what they look like.

#9 Updated by TriggerAu almost 8 years ago

  • Status changed from New to Needs Clarification

#10 Updated by sal_vager over 7 years ago

19884
19885
19886
19887
19888

I can confirm this is still the stock behaviour in 1.1.3

In the first 2 attached pics (886 and 887) we see the effect of burning normal, the orbit only really changes significantly in its angle to the plane of the solar system, as our normal will change as our reference frame changes.

The node moves to follow the changing reference frame as seen in pic 888, but we see a very different predicted orbit.

Instead what we see when we use the node is the plane change and a large prograde element, this is because despite the visual effect the node uses the original reference frame, which is the plane of the system in this example.

This would be the effect if we just burned straight up and ignored changes in the frame of reference, and this gets progressively worse the longer we burn straight up instead of following the normal, as seen in pic 889.

In pic 890 we see the orbit we want from the node, but this required pulling on the retrograde node, and compensating for further changes to the angle due to the incorrect reference frame.

So there's two options.

  • Fix the node so it does not rotate.

This would wok but it's not a good option as we are interested in our orbit as the reference frame changes, it would still cause nodes to be hard to use as we would still have to correct for the wrong frame.

  • Fix the frame of reference.

This is better, as the node will still rotate, but because the reference frame rotates with it there is no need to correct for prograde, radial or normal components that are added as we pull the node around, which is especially a problem when planning a polar orbit.

#11 Updated by TriggerAu over 7 years ago

  • Status changed from Updated to Confirmed

#13 Updated by blueyoshi321 over 7 years ago

Thanks for the update, sal_vager! Is this bug currently getting any attention for 1.2? Shall I create an issue in the prerelease project?

#14 Updated by TechnocratiK almost 7 years ago

I was away from KSP for a while (mea culpa). It seems that between 1.1.3 (excluding 1.1.3) and 1.3 maneuver gizmos were changed to no longer rotate with the post-maneuver orbit: that is, the first option proposed by sal_vager. The issues sal_vager mention (e.g., difficulty planning a polar orbit) remain as of 1.3, but that the gizmo no longer rotates does, strictly speaking, remedy the incongruity between the orientation of its handles and the change in the maneuver vector. Will the previous gizmo behaviour (i.e., rotating with the post-maneuver orbit) be reintroduced in a future version along with the second option proposed by sal_vager? If there is no intent to do so, it is my opinion that this issue can be closed (although I argue that the current situation is suboptimal).

As an aside, the "Precise Node" mod (previously maintained by blizzy78, now by linuxgurugamer) has incorporated my suggested change to the behaviour of maneuver nodes as of 2015-11-10, and is compatible with KSP 1.3.0.

#15 Updated by AzvecTest almost 5 years ago

  • File deleted (IntuitiveManeuvers.zip)

Also available in: Atom PDF