CaptainKipard Posted September 2, 2013 Share Posted September 2, 2013 (edited) How do you work out TWR I assume you use maxthrust and mass, but what's the equation.Is it (mass x9.81)/maxthrust ?Yes and no. Firstly that's a weight to thrust ratio. You have to invert it. Secondly what you typed there is the formula for WTR at maximum thrust and at sea level on kerbin. But that's useless since rockets are designed to move away from the sea level and the further away you move from a body the strength of gravity decreases.You get the weight with m*g*(r/(r+a))^2where:m is the ships massg is the gravitational strength of the body you're orbitingr is the mean radius of the bodya is your altitudeThe actual TWR is:(maxthrust*throttle)/(mass*9.81*((radius/(radius+altitude))^2))But you can't get the actual throttle value yet. Edited September 2, 2013 by Cpt. Kipard Link to comment Share on other sites More sharing options...
razark Posted September 2, 2013 Share Posted September 2, 2013 Looking for something that can do something like "if target is set". Also, is there a "not equal" operator that I missed? Link to comment Share on other sites More sharing options...
KevinLaity Posted September 3, 2013 Author Share Posted September 3, 2013 Just set the plugin to load a txt file called autoexec from the archive. It shall be called autoexec so that your plugin knows what to load. The files them selves are not removed and I can call those from any unit. Why not have the autoexec work the same way? Just called automatically by the terminal. If it's empty or it doesn't exist, it does nothing. If it has commands, it executes them. Like a call to MAIN with a BREAK and RUN. Even my old 286 had an autoexec.One problem with that is that it would apply to every ship you launch from that point on, which may or may not make sense for everybody. And it would take us further away from having the system make sense inside the Kerbal universe. I didn't want the Archive drive to transcend time and space the way it does now, I just didn't have a good way for it not to. When you revert in KSP, everything in the universe reverts to the way it was at that time, except the Archive drive. I consider this a bug, not a feature.The reason the Archive drive exists is to give you a place to back up your files and share files between craft. If you're looking for a way to do fast development iterations, I recommend using F5 before you launch and F9 after. But yes, that does make it a pain if you also want to also backup to the Archive at the same time.My ideal would be that you configure the loadout of your unit while you're in the VAB, including assigning autoexecs that apply to individual craft or whatever you like to it. But again I haven't found a way to do that.Clearly something is needed here to make this less painful. I'd like it to be something that makes sense in-universe. But if this is the only way, then I'll do that. Link to comment Share on other sites More sharing options...
VFB1210 Posted September 3, 2013 Share Posted September 3, 2013 Do you plan to add any way to read the vessel's current orientation? I've tried using direction, but that seems to only work when trying to assign it, as opposed to checking it. Link to comment Share on other sites More sharing options...
Payload Posted September 3, 2013 Share Posted September 3, 2013 (edited) One problem with that is that it would apply to every ship you launch from that point on, which may or may not make sense for everybody. And it would take us further away from having the system make sense inside the Kerbal universe. I didn't want the Archive drive to transcend time and space the way it does now, I just didn't have a good way for it not to. When you revert in KSP, everything in the universe reverts to the way it was at that time, except the Archive drive. I consider this a bug, not a feature.The reason the Archive drive exists is to give you a place to back up your files and share files between craft. If you're looking for a way to do fast development iterations, I recommend using F5 before you launch and F9 after. But yes, that does make it a pain if you also want to also backup to the Archive at the same time.My ideal would be that you configure the loadout of your unit while you're in the VAB, including assigning autoexecs that apply to individual craft or whatever you like to it. But again I haven't found a way to do that.Clearly something is needed here to make this less painful. I'd like it to be something that makes sense in-universe. But if this is the only way, then I'll do that.I am building a flight computer comprised of modules made by others and my self. If I have a EXIT AND RUN command it is supremely easy to add and remove modules and it makes it to where they are self contained things that are easy to debug. I have tried what you suggested and had my orbit program run the splash and the menu. It did work. The only issue I have with that is I now have to cram every module into the main. It's going to get big and slow. My orbit program is already too slow. Mostly my fault, but you can imagine the nightmare with module integration. Nice de-bugg-able and replaceable chunks. That is what we are going after. This is a scripting language after all. It should be as easy as possible.The autoexec would be nice. It's not as important as break and run though. For now, that is what is really required. Then module writers only need to add EXIT AND RUN main. or whatever you wish to call it. My main menu then only has to do the same on selection.Right now I have everything set to run from main menu. The problem is then when it runs the orbit program that the program orbit no longer has control of the ship. It stages but it doesn't throttle or steer. The menu literally doing nothing. It is set to wait for end condition.Yet some how it is not allowing the orbit program full control of the craft. I suspect it is because the menu program has control of those things. I even tried moving the main loop out to the main menu and had it do the loop and the orbit program just set when flags but that still doesn't work. Break and run solves all my problems.Autoexec is nice but not nearly as important. Edited September 3, 2013 by Payload Link to comment Share on other sites More sharing options...
Panichio Posted September 3, 2013 Share Posted September 3, 2013 Well, I figured out how to save my cruddy programs, now I don't know what I'm doing wrong with them.I have a simple two-stage rocket with the first stage being two fuel tanks adding up to 720 l of liquid fuel, and a second stage one 180 l fuel tank. My command is:Wait until stage:liquidfuel < 180.Stage.What have I done wrong? Link to comment Share on other sites More sharing options...
cameroon Posted September 3, 2013 Share Posted September 3, 2013 My ideal would be that you configure the loadout of your unit while you're in the VAB, including assigning autoexecs that apply to individual craft or whatever you like to it. But again I haven't found a way to do that.Clearly something is needed here to make this less painful. I'd like it to be something that makes sense in-universe. But if this is the only way, then I'll do that.Infernal Robotics (and Damned Robotics before it) has input areas in the VAB for setting the names of groups and parts. I'm not sure if those are saved with the craft file or not, but maybe it could give some ideas. Link to comment Share on other sites More sharing options...
SiliconPyro Posted September 3, 2013 Share Posted September 3, 2013 Well, I figured out how to save my cruddy programs, now I don't know what I'm doing wrong with them. I have a simple two-stage rocket with the first stage being two fuel tanks adding up to 720 l of liquid fuel, and a second stage one 180 l fuel tank. My command is: Wait until stage:liquidfuel < 180. Stage. What have I done wrong? What is the script doing? Anything? Try a loop that prints stage:liquidfuel and fly manually. Maybe kOS isn't interpreting things the way you want it to. Link to comment Share on other sites More sharing options...
Glaucus Posted September 3, 2013 Share Posted September 3, 2013 (edited) How are you making the flight computer?How do you display the options and just click in them, no so interested in using the built in modules, but would like to make my own.Also back to KOS general, I'm not a programmer and I'm sure many more aren't, there's a list of instructions on the help page, but not a list of how to use them all, loops, checking etc. would be great if you could make a better help page with far more full lines of code examplesI still can't see how to check if a value is between two numbers. Check if it is higher, lower or equal is easy. But can't seem to get say checking a if a value lies between for example for it to excite a loop only when ALT:RADAR is between 10000 and 15000.So there's no easy way to calculate TWR , would it be possible to include this in a future update, it would make hovering or accelerating/decelerating at x-g so much easier. If you and a very accurate TWR you can use mass and tell it to do many things.this is what I've manged so far but as above cant get one of the if statements working(in bold). is there a better way to try and match thrust and gravity to cancel each other out. clearscreen.print "5". wait 1.print "4". wait 1.print "3". wait 1.print "2". wait 1.print "1". wait 1.print "launch". set tVal to 1.stage.lock throttle to tVal.lock steering to up + R(0,0,180).wait 5.Print "Descending".until Alt:radar < 75 {if verticalspeed > 0 {set tVal to 0.}.[B]if verticalspeed <0 >-3 {set tVal to 0.98/(maxthrust/(mass*9.81)).}.[/B]if verticalspeed <-3 {set tVal to 1/(maxthrust/(mass*9.81)).}.}.Print "landing".until Alt:radar < 6 {if verticalspeed > 0 {set tVal to 0.}.if verticalspeed <0 {set tVal to 1/(maxthrust/(mass*9.81)).}.}.set tVal to 0.Print "landed". Edited September 3, 2013 by Glaucus Link to comment Share on other sites More sharing options...
Apollo13 Posted September 3, 2013 Share Posted September 3, 2013 (edited) Glaucus: you can use AND and OR in your IF statements.IF verticalspeed > 150 AND verticalspeed <200 {print "We're Cruisin'".}.Download: Version 0.46 Edited September 3, 2013 by Apollo13 Link to comment Share on other sites More sharing options...
Glaucus Posted September 3, 2013 Share Posted September 3, 2013 Excellent, thanks very much. Link to comment Share on other sites More sharing options...
jaws909 Posted September 3, 2013 Share Posted September 3, 2013 Well, I figured out how to save my cruddy programs, now I don't know what I'm doing wrong with them. I have a simple two-stage rocket with the first stage being two fuel tanks adding up to 720 l of liquid fuel, and a second stage one 180 l fuel tank. My command is: Wait until stage:liquidfuel < 180. Stage. What have I done wrong? Try this:wait until stage:liquidfuel < 1.stage.AFAIK, the computer is measuring your fuel levels only in the current stage, so you need the value to be less than 1, or 0...this works for me at least. Link to comment Share on other sites More sharing options...
Panichio Posted September 3, 2013 Share Posted September 3, 2013 Try this:wait until stage:liquidfuel < 1.stage.AFAIK, the computer is measuring your fuel levels only in the current stage, so you need the value to be less than 1, or 0...this works for me at least.That would be strange, because in the demo video of kOS, Kevin bases it off of the total remaining fuel left in the rocket. Maybe that has something to do with the first stage being radially attached. No idea, but I'll try your way. Link to comment Share on other sites More sharing options...
Glaucus Posted September 3, 2013 Share Posted September 3, 2013 Sorry more questions, I get aError on line 38 : unrecognised term ''.On line 38 is the close to an if statment}.Bit confused. Link to comment Share on other sites More sharing options...
SiliconPyro Posted September 3, 2013 Share Posted September 3, 2013 How far are you from being able to get information about encounters in kOS? Can planets be targeted yet? Link to comment Share on other sites More sharing options...
Glaucus Posted September 3, 2013 Share Posted September 3, 2013 Is there a way to do retrograde but with surface information, rather than orbit. Failing that a way to work out the steering coordinates for it. Link to comment Share on other sites More sharing options...
Ralathon Posted September 3, 2013 Share Posted September 3, 2013 Is there a way to do retrograde but with surface information, rather than orbit. Failing that a way to work out the steering coordinates for it.+1 to this. We need either this or trigonometric functions so we can land things from orbit. Link to comment Share on other sites More sharing options...
Glaucus Posted September 3, 2013 Share Posted September 3, 2013 I imagine it can't be to hard to integrate it in to a future version of KOS as ksp must have the values as it displays it on the nab ball. We just need a SURretrograde and a surprograde Link to comment Share on other sites More sharing options...
KevinLaity Posted September 3, 2013 Author Share Posted September 3, 2013 Infernal Robotics (and Damned Robotics before it) has input areas in the VAB for setting the names of groups and parts. I'm not sure if those are saved with the craft file or not, but maybe it could give some ideas.I've used Damned Robotics and the values it saves are global to everything. That's why it doesn't support action groups. I'm trying to find a way to save and load data into a craft file at the time it's saved or loaded in the VAB.That way, you could one class of ship that always gets launched with the needed programs loaded, and another class of ship loaded with a completely other set of programs. Link to comment Share on other sites More sharing options...
KevinLaity Posted September 3, 2013 Author Share Posted September 3, 2013 (edited) Is there a way to do retrograde but with surface information, rather than orbit. Failing that a way to work out the steering coordinates for it.It's one thing I'm working towards. My initial tests with hooking the steering system up to a rover did not go well.I'm hoping to have the abliity to set a target or give it a set of coordinates and have rovers autodrive to them.Edit: realized you may not be talking about rovers at all. I see what you're looking for though, I just need to find where to grab those values in the assembly. Edited September 3, 2013 by KevinLaity Link to comment Share on other sites More sharing options...
Payload Posted September 3, 2013 Share Posted September 3, 2013 I've used Damned Robotics and the values it saves are global to everything. That's why it doesn't support action groups. I'm trying to find a way to save and load data into a craft file at the time it's saved or loaded in the VAB.That way, you could one class of ship that always gets launched with the needed programs loaded, and another class of ship loaded with a completely other set of programs.There has to be a way to set each kOS part you attach to a ship a certain folder. It could give you a dialog box in the VAB to pick a folder from the list. You could use more than one folder instead of just one called archive, and just maintain a list of folders that is the archive for that particular piece.I imagine the flow going something like this. I grab a kOS part and attach it to a ship in the VAB. A menu/dialog box pops up asking me to set a folder that will be that parts archive folder.I select a folder from the list. They are folders that the user has put in the archive folder. You could even have a way for a user to make a new folder then. Such as a text entry field. If it finds the folder you have named, it uses it. If it doesn't find it, it asks you if you would like to make one.A lot of work that Bac9 has done in B9 aerospace might be helpful. Items such as the info drive. It might be really helpful to know how that works. Link to comment Share on other sites More sharing options...
TMS Posted September 3, 2013 Share Posted September 3, 2013 (edited) Wow... this is exactly what the community is really looking for - an autopilot for those who actually want to do the work for themselves! I always hoped that something like this would become stock as a compromise between automation and manual challenge. I haven't used mechjeb for months due to the bloat and memory overheads, and had been looking for something lightweight to fill the gap.Beyond the videos, it would be good to share script examples as well.Great work, man! Edited September 3, 2013 by TMS Link to comment Share on other sites More sharing options...
Kalista Posted September 3, 2013 Share Posted September 3, 2013 I have a small question since I'm a programming noob. What script function would i need at the start of my code to tell it to hold off on running it till an action group is fired? What I'm wanting to do is load the game up load in my program into KoS then have a friend through telemachus hit an action group that fires the loaded code. Thanks in advance if anyone knows the code I'd need to have the thing sit on hold till told to go farther. Link to comment Share on other sites More sharing options...
Ralathon Posted September 3, 2013 Share Posted September 3, 2013 I have a small question since I'm a programming noob. What script function would i need at the start of my code to tell it to hold off on running it till an action group is fired? What I'm wanting to do is load the game up load in my program into KoS then have a friend through telemachus hit an action group that fires the loaded code. Thanks in advance if anyone knows the code I'd need to have the thing sit on hold till told to go farther.Many ways to do this. You could do: on AG1 { "insert code here }. Or, if you don't want to spend the entire script inside brackets you could do it with a flag: set X to 0.On AG1 set X to 1.wait until X is 1."Your code"And probably there are dozens of other ways to do so. Link to comment Share on other sites More sharing options...
CaptainKipard Posted September 3, 2013 Share Posted September 3, 2013 (edited) +1 to this. We need either this or trigonometric functions so we can land things from orbit.I'm not sure this is an either/or proposition. Trigonometry is essential for calculating horizontal and vertical components of thrust. Want to do this? You need trig. Edited September 3, 2013 by Cpt. Kipard Link to comment Share on other sites More sharing options...
Recommended Posts