StickyScissors Posted January 16, 2018 Share Posted January 16, 2018 (edited) 22 minutes ago, danielboro said: Ksp 1.3.0 broke it But last night i used the last MJ version in ksp1.3.1 on 6 docking All of them worked The only problem was docking 2 >400 parts ships whit limited rcs The fix was limiting docking max speed to 0.1 Well, that didnt work, it still wants to flip around like a madman, even after i manually stabilize it in the direction that it overshoots. It slowly starts flinging back and forth again. using 2.7.0-776 And no, the RCS isnt balanced wrong, the same exact design was working in 1.3.0 and before Edited January 16, 2018 by StickyScissors Quote Link to comment Share on other sites More sharing options...
sarbian Posted January 16, 2018 Author Share Posted January 16, 2018 10 hours ago, linuxgurugamer said: @sarbian I'd like to be able to tell Mechjeb to start a launch, if the launch assistant is active. How would I be able to tell if it's active, and how to trigger the launch. So the player opened the "Ascent Guidance" window, set it up and pressed the "Engage autopilot" button. And you want to know that the button was pressed to (for exemple) start some countdown and launch ? Assuming you linked MJ you need to get the active MJ module, then the AP ComputerModule, check enabled and stage when you want. MechJebCore core = vessel.GetMasterMechJeb(); MechJebModuleAscentAutopilot ascentAP = core.GetComputerModule<MechJebModuleAscentAutopilot>(); if (ascentAP.enabled && someStuff) { StageManager.ActivateNextStage(); } Quote Link to comment Share on other sites More sharing options...
linuxgurugamer Posted January 16, 2018 Share Posted January 16, 2018 2 hours ago, sarbian said: So the player opened the "Ascent Guidance" window, set it up and pressed the "Engage autopilot" button. And you want to know that the button was pressed to (for exemple) start some countdown and launch ? Assuming you linked MJ you need to get the active MJ module, then the AP ComputerModule, check enabled and stage when you want. MechJebCore core = vessel.GetMasterMechJeb(); MechJebModuleAscentAutopilot ascentAP = core.GetComputerModule<MechJebModuleAscentAutopilot>(); if (ascentAP.enabled && someStuff) { StageManager.ActivateNextStage(); } Ok, thanks. I need to do this via Reflection, since I don't want a hard dependency. But, I can reference GravityTurn to see how it works in there and move forward with that. Quote Link to comment Share on other sites More sharing options...
Gilph Posted January 16, 2018 Share Posted January 16, 2018 8 hours ago, StickyScissors said: Well, that didnt work, it still wants to flip around like a madman, even after i manually stabilize it in the direction that it overshoots. It slowly starts flinging back and forth again. using 2.7.0-776 And no, the RCS isnt balanced wrong, the same exact design was working in 1.3.0 and before I assume what didn't work was to limit the speed to 0.1? That was my workaround also, as any speed that is not in the exact forward direction toward the target port is not recognized. So, if you need lots of lateral movement to line up, you end up going too fast and causes the back and forth. Not sure what "flip around like a madman" is trying to describe, but have you made sure that the part that performs the control function is oriented correctly? That has screwed me up in the past. Quote Link to comment Share on other sites More sharing options...
drhay53 Posted January 17, 2018 Share Posted January 17, 2018 (edited) Back in September I believe I isolated the rover waypoint following issue to this PR: https://github.com/MuMech/MechJeb2/commit/65eafbe720bfa20150ebb71594ac18fbd7d73fde It would be great if @BloodyRain2k could take a look into why the rover autopilot no longer sets and follows headings properly (assuming that the username here and on github are the same) Edited January 17, 2018 by drhay53 Quote Link to comment Share on other sites More sharing options...
thevegimobil Posted January 17, 2018 Share Posted January 17, 2018 Hi guys, Im on the latest KSP version and the latest available CKAN MechJeb version. When I use ascent guidance it launches until apoapsis and then it goes right past the circularization node without firing the engines... is this a known thing or do I need to look into it more? I do NOT have the 'skip circularisation' option ticked. Thanks for any help! Quote Link to comment Share on other sites More sharing options...
Red Shirt Posted January 17, 2018 Share Posted January 17, 2018 51 minutes ago, thevegimobil said: When I use ascent guidance it launches until apoapsis and then it goes right past the circularization node without firing the engines Any chance you are making the same mistake I did by using an octo2 probe without a reaction wheel? Quote Link to comment Share on other sites More sharing options...
thevegimobil Posted January 17, 2018 Share Posted January 17, 2018 @Red Shirt I have RCS and monoprop. It just glides right past. i will try adding additional reaction wheels to see if it is just a bit screwey Quote Link to comment Share on other sites More sharing options...
Red Shirt Posted January 17, 2018 Share Posted January 17, 2018 45 minutes ago, thevegimobil said: I have RCS and monoprop. It just glides right past. i will try adding additional reaction wheels to see if it is just a bit screwey The only other time I have experienced this problem I had run out of electric. Quote Link to comment Share on other sites More sharing options...
StickyScissors Posted January 18, 2018 Share Posted January 18, 2018 (edited) -snip- Welp, it just decided to start working. Either updating to the last dev build or flushing my settings for the millionth time solved it ¯\_(ツ)_/¯ Edit: Nope, i lied, still borked @Gilph This is what i meant by flipping around like a madman: https://giant.gfycat.com/GlassDeliriousAngora.webm Edited January 18, 2018 by StickyScissors Quote Link to comment Share on other sites More sharing options...
aaronsta1 Posted January 18, 2018 Share Posted January 18, 2018 game keeps crashing to desktop sometimes when i launch a craft.. does this have anything to do with it? [LOG 04:12:37.773] [MechJeb2] Loading Mechjeb 2.7.0 [LOG 04:12:37.781] ScaleModList: listSize 369 maxListSize 1403 [ERR 04:12:37.815] MechJeb module MechJebModuleStagingController threw an exception in OnStart: System.NullReferenceException: Object reference not set to an instance of an object at MuMech.MechJebModuleStagingController.OnStart (StartState state) [0x00000] in <filename unknown>:0 at MuMech.MechJebCore.OnStart (StartState state) [0x00000] in <filename unknown>:0 Quote Link to comment Share on other sites More sharing options...
AlonzoTG Posted January 18, 2018 Share Posted January 18, 2018 2 comments: 1. There needs to be some diagnostics such as saying "this ship is poorly behaved, probably due to unreinforced joints, increasing epsilon values to compensate". Current behavior is to treat 200 ton behemoths as micro pods and burn all fuel trying to steer them as such. 2. Interplanetary transfer windows are pretty badly borked this release. The main issue is that it seems to ignore the phase angle such as it treats 180 degrees as being equal to 0 degrees... So I burn interplanetary and find myself in an orbit that is 180 degrees from the target. =\ Quote Link to comment Share on other sites More sharing options...
DerekL1963 Posted January 19, 2018 Share Posted January 19, 2018 13 hours ago, AlonzoTG said: 1. There needs to be some diagnostics such as saying "this ship is poorly behaved, probably due to unreinforced joints, increasing epsilon values to compensate". Current behavior is to treat 200 ton behemoths as micro pods and burn all fuel trying to steer them as such. MJ cannot correct for PEBKAC and ID10T class errors. If you build a 200 ton behemoth, outfit it with the appropriate control systems. Quote Link to comment Share on other sites More sharing options...
bartekltg Posted January 20, 2018 Share Posted January 20, 2018 Hi. I probably have found a small bug/'feature'. The option "do not use RCS for rotation" works for manual control and stock SAS, but seems to be ignored by smart A.S.S and maneuver executer. Tested on a fresh KSP installation (1.3.1, gog, linux) with mechjeb . I'm quite sure it is an overkill in this case, but rules are rules;) log: https://www.dropbox.com/s/jb25rj0sxn19ba0/KSP_log.zip?dl=0 savefile: https://www.dropbox.com/s/tpxa8tp6mqe7x74/mechjeb_test_save.zip?dl=0 Quote Link to comment Share on other sites More sharing options...
Jhorriga Posted January 21, 2018 Share Posted January 21, 2018 latest version link? Quote Link to comment Share on other sites More sharing options...
Osel Posted January 21, 2018 Share Posted January 21, 2018 (edited) 2 hours ago, Jhorriga said: latest version link? ... is in the FIRST POST ... On 11. 1. 2017 at 1:49 PM, sarbian said: You can also get the latest dev builds here. Edited January 21, 2018 by Osel Quote Link to comment Share on other sites More sharing options...
bartekltg Posted January 21, 2018 Share Posted January 21, 2018 Is there a way in the scripting module to create a maneuver node after existing one? To run a script that creates a plan. Now the operation trajectory -> maneuver ignore other nodes, both my and the ones created by a script. A simple example would be increasing an orbit. -increase Ap at Pe. -Circularize at Ap. Or, what i really was trying to do, the trajectory to catch a lost Kerbal: -increase/decrease Ap at Pe. -Circularize at Ap. -match plane -Hohmann to target -fine tune closest approach -match velocity The "manual" maneuver planner has a option create a new node/change the last node, scripting one seems to place a new node on old orbit ignoring existing nodes. As a workaround, I can always execute node and create a new one after that in the script, as it is intended. Quote Link to comment Share on other sites More sharing options...
Jhorriga Posted January 21, 2018 Share Posted January 21, 2018 Quote Link to comment Share on other sites More sharing options...
Loren Pechtel Posted January 22, 2018 Share Posted January 22, 2018 54 minutes ago, bartekltg said: Is there a way in the scripting module to create a maneuver node after existing one? To run a script that creates a plan. Now the operation trajectory -> maneuver ignore other nodes, both my and the ones created by a script. A simple example would be increasing an orbit. -increase Ap at Pe. -Circularize at Ap. Or, what i really was trying to do, the trajectory to catch a lost Kerbal: -increase/decrease Ap at Pe. -Circularize at Ap. -match plane -Hohmann to target -fine tune closest approach -match velocity The "manual" maneuver planner has a option create a new node/change the last node, scripting one seems to place a new node on old orbit ignoring existing nodes. As a workaround, I can always execute node and create a new one after that in the script, as it is intended. The rendezvous planner will do this, although sometimes not the most efficient way. Quote Link to comment Share on other sites More sharing options...
sarbian Posted January 22, 2018 Author Share Posted January 22, 2018 (edited) On 1/18/2018 at 6:34 PM, AlonzoTG said: 2 comments: 1. There needs to be some diagnostics such as saying "this ship is poorly behaved, probably due to unreinforced joints, increasing epsilon values to compensate". Current behavior is to treat 200 ton behemoths as micro pods and burn all fuel trying to steer them as such. 2. Interplanetary transfer windows are pretty badly borked this release. The main issue is that it seems to ignore the phase angle such as it treats 180 degrees as being equal to 0 degrees... So I burn interplanetary and find myself in an orbit that is 180 degrees from the target. =\ 1. Github is linked in the first post. I am waiting for your code submission. But know that the current code already takes MOI and the available RCS in account. And I test it with quite large test ship. Unfortunately I can not help with your problem since you did not share your ship+used mods, so I can not duplicate your problem. 2. It works fine here. And that's all I can answer with the info you provided. (see 1). -------------------------------------------------------------------------------------------- Now, I would love to see someone with actual experience in control theory to provide some code. But so far I don't have any bored SpaceX, Lockhead or ESA engineer contributors; so you will have to deal with that. Edited January 22, 2018 by sarbian English Quote Link to comment Share on other sites More sharing options...
chrisl Posted January 23, 2018 Share Posted January 23, 2018 Is there any way to set Mechjeb's Ascent Guidance to disengage when Periapsis reaches a certain number instead of disengaging (or switching to circularization mode) at a certain Apoapsis? Real launch vehicles like the STS and upcoming SLS have been designed so that their main engines cut off when Periapsis is just this side of 0 so that the main tank is sure to burn up on reentry and while I can usually get my Apoapsis about where it should be, getting the main engines to shut off at just the right moment so I keep a slightly negative Periapsis is very difficult. Quote Link to comment Share on other sites More sharing options...
bartekltg Posted January 23, 2018 Share Posted January 23, 2018 On 1/22/2018 at 1:41 AM, Loren Pechtel said: The rendezvous planner will do this, although sometimes not the most efficient way. The rendezvous planner is quite far in the tech tree ;-) I also used SASS in surf->surf mode as an ascending guide, manipulating pitch. This isn't big deal. For catching kerbals and going back to the station the script in 'live' version works fine (although I have to insert 1sec timer between executing a node and creating the next one. Sometimes the new one was created while the engine was still running and breaks the next node). But one has to be quite careful when using it because the planner from scripts works differently (ignores all other nodes) than the manual one. I tried to look at the code to look for that difference, but I put too little time to understand anything;-) Maybe the new operation trajectory->remove nodes would be useful. Also, stopping the script does not stops executing a node created and called by the script. Is that intentional? "Oh, something seems wrong, I just hit stop... Why my engines still running?! Where is stop execution?! Why I closed maneuver planner?!" ;-) On the other hand, a script can have nothing to do with a node. Quote Link to comment Share on other sites More sharing options...
bartekltg Posted January 23, 2018 Share Posted January 23, 2018 (edited) 4 hours ago, chrisl said: Is there any way to set Mechjeb's Ascent Guidance to disengage when Periapsis reaches a certain number instead of disengaging (or switching to circularization mode) at a certain Apoapsis? Real launch vehicles like the STS and upcoming SLS have been designed so that their main engines cut off when Periapsis is just this side of 0 so that the main tank is sure to burn up on reentry and while I can usually get my Apoapsis about where it should be, getting the main engines to shut off at just the right moment so I keep a slightly negative Periapsis is very difficult. Use scripting module: Set up ascending guidance in your favorite configuration, check "skip circularization". Add to the script: -modules->ascending autopilot (it will use parameter you set in the ascending guidance panel) -trajectory-> maneuver (change periapsis to 0 at apoapsis) -trajectory-> execute node. The autopilot will disengage at the edge of the atmosphere, the node will be created and executed. You can also add -staging/engines-> staging -trajectory-> maneuver (change periapsis /circularize _after a fixed time of 1s_) -trajectory-> execute node. and automate the whole thing. Edited January 23, 2018 by bartekltg Quote Link to comment Share on other sites More sharing options...
chrisl Posted January 23, 2018 Share Posted January 23, 2018 31 minutes ago, bartekltg said: Use scripting module: Set up ascending guidance in your favorite configuration, check "skip circularization". Add to the script: -modules->ascending autopilot (it will use parameter you set in the ascending guidance panel) -trajectory-> maneuver (change periapsis to 0 at apoapsis) -trajectory-> execute node. The autopilot will disengage at the edge of the atmosphere, the node will be created and executed. You can also add -staging/engines-> staging -trajectory-> maneuver (change periapsis /circularize _after a fixed time of 1s_) -trajectory-> execute node. and automate the whole thing. Won't that shut the engine down? I am hoping for an option that only uses a single burn. Quote Link to comment Share on other sites More sharing options...
bartekltg Posted January 23, 2018 Share Posted January 23, 2018 31 minutes ago, chrisl said: Won't that shut the engine down? I am hoping for an option that only uses a single burn. It will. But mechjeb throttle to 0 and then make correction for atmospheric loss, so it is cheating too;-) It is hard to do what you want only by adjusting direction during flight. The rocket will get a certain velocity, after a set time. The rocket could be too low for sane orbit;-) If you get to the 80x0 orbit at altitude 40km you spend quite a lot time in the atmosphere. You can wait with staging, but it is hard (I think) to do automatically. The better idea for getting to orbit with periapsis around 0 is to reduce TRW of (at least) the second stage. My test rocket with AG set to turn shape = 16deg and 80km get periapsis around -250km, and after setting thrust limiter to 70%, periapsis was -4km, circularization burn <100m/s, so doable for "small shuttle engines". A bit more tinkering and you get 0km. But you have to manipulate with not only turn shape but also with the rocket itself, at least with thrust limiters, so the burn is longer. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.