Jump to content


  • Posts

  • Joined

  • Last visited


45 Excellent


Contact Methods

  • Twitter

Profile Information

  • About me
    Spacecraft Engineer
  • Location
    1 AU

Recent Profile Visitors

1,977 profile views
  1. Just updated to the latest and for some reason I am getting Grannus orbital survey contracts after achieving Gael orbit for the first time. Was just looking through the git repository to see if I could find a config to tweak but couldn't find anything. Could anyone point me in a direction?
  2. This is a fun thread! Will need to set aside time this weekend to read it. =) I do something somewhat similar but rather than vertical speed I use orbital velocities. set desired parking orbit and then get the required orbital velocity I will need to achieve that desired parking orbit. _mu = gravitational_parameter _radius = parkingOrbit_radius # (parking orbit altitude + parent body radius) desiredVelocity = sqrt(_mu / _radius) I can then use the semi-major axis during launch to predict what my current velocity is at my apoapsis (if I were to cut engines during launch and just go there). That way during launch I can see how much I need to change the velocity (deltaV) of my apoapsis to achieve the desired parking orbit I want. Here is my predictive apoapsis speed using semi-major axis: _mu = gravitational_parameter _r_pe = periapsis_radius # (current periapsis altitude + parent body radius) _r_ap = apoapsis_radius # (current apoapsis altitude + parent body radius) predicted_apoapsis_Velocity = sqrt((2 * _mu * _r_pe) / (_r_ap * (_r_ap + _r_pe))) using the known needed deltaV for the desired parking orbit I can now easily adjust my pitch during launch to achieve that altitude. parkingOrbit_required_deltaV = desiredVelocity - predicted_apoapsis_Velocity (Note: previous reply to @stratochief66 where I also use (mean anomaly - 180) to keep in mind where the ap is and include pitch adjustments for that aswell) All of the above is ideal for doing Hohmann Xfers but a launch is basicly just a fancy Hohmann Xfer that (from Earth) include atmospheric flight.
  3. o/ Chief! =) If we are talking about pitch adjustments for circularising orbits at ap or pe, I use mean anomaly. _ap_deltaDeg = np.rad2deg(self.mean_anomaly()) - 180 # launch circ and hohmann xfers for hohmann xfer burns at pe, I just use the mean anomaly straight for pitch adjustments. =)
  4. Just looked to find the function I used for that, but looks like I didn't upload any of my pre-launch code. =( A couple things I remember is that one of the hardest things about that module was the warp-to part in RSS. Due to latency and how fast the time-warping is in RSS, it was a challenge, and a robust RSS time warp function was essential part of my libs. Especially for that particular pre-launch function. For the launch time part, I will poke around some of my archives to see if I can dig my py script up. But for now you can just check how sarbian does it: MechJeb
  5. Also KSP has a flag that mods can use for 'no hatch' that will prevent contracts from using those parts.
  6. Oh, opps. I totally just misunderstood what you were asking. Utilization. I for some reason read that as thrust. My bad @Jovus. /facepalm I have used utilization a few times but only for very particular cases. Almost always best to just set to 100%. The main cases I go lower is to put more mass at the top of the rocket. As far from the engines as is possible. This gives the engine gimbles far better control of the rocket. Mostly this is useful to get through MaxQ, but can even be useful in a vacuum as better control authority is always helpful regardless.
  7. In a vacuum I can't think of a reason not to push it all the way to the right. But most missions start on Earth, so not in a vacuum. Limiting thrust can help set ideal TWR for launches and timing gravity turn events. (ex: staging during MaxQ typically has explosive results. ) /facepalm Sorry read that as thrust. I added a situation for what you were asking in post two down.
  8. Also just noticed this issue using Quick Hide, where it hid the icon for @Agathorn's Test Flight. Already mentioned it to him and he is looking at it. Edit: All other mods are working fine. Also TF does show up in the Quick Hide settings, but nothing seems to get it to show up on toolbar.
  9. Wondering if someone could help me out. Derpy question, no doubt, but having trouble with the celestial bodies. I'm trying to get mu but having a hard time. How could I print the name, mu, or anything from celestial bodies? I've tried: import krpc conn = krpc.connect(name='WTB a mu') print(conn.space_center.CelestialBody.name) that works (kinda) but what it returns is "property object at [stuff]" *using .name for sake of testing
  10. What I am trying to do is get the information from only certain engines. I can figure out how to list engines. And I can figure out how to get info like eng:maxthrust or eng:visp. But I'd like to get that info for only some engines, not all. So my thinking was for the engines in a list if one is tagged something then it gets the info from that engine. Maybe if I pulled its UID out? Or any suggestions on another direction I could go to try to get the info?
  11. Thanks for the suggestion! I tested that code and it is still giving the same error. It is still erroring on the ship:partstagged("CoreEng"). If I could get that to work, that would open up tons of new opportunities in RO/RSS being able automate calculations. For now I think I will just stick to uploading manual updates from my own pen/paper calculations to the vessel prior to ullage. Thanks anyway! =)
  12. Wondering if anyone might be able to help point me in a correct direction. I am currently trying to get info (visp, thrust, ...) on non-active engines to plan burn times and such prior to ullage. Tried a few things, but none are working out how I'd like. One is listing my engines but can't get thrust info. So for example: local en is list(). LIST ENGINES IN en. local enlength is (en:length-1). LOCAL Eng_isp is en[enlength]:visp. LOCAL eng_maxthrust is en[enlength]:FUELFLOW. print "An engine exists with ISP = " + Eng_isp. print "An engine exists with mTh = " + eng_maxthrust. //can't get thrust to work So I thought I'd change how I do my ullage and activate the engine with throttle at 0 so I don't waist any ignitions. That sort of works, but code gets messy if ullaging with solids for obvious reasons. Another idea I had was tagging the stages in VAB. LOCAL en is list(). LIST engines IN en. FOR eng IN en IF ship:partstagged("CoreEng") { LOCAL Eng_isp is eng:visp. } print "An engine exists with ISP = " + Eng_isp. I feel this would be a perfect way to accomplish what I'd like, but it doesn't work. I can't figure out why. It gives an error saying it can't cast to destination type, but I don't understand what that means. Perhaps someone who is more knowledgeable might be able to enlighten me? =)
  13. @Rhedd All the USI mods are well documented on their github wikis. =) Here is USI-LS' https://github.com/BobPalmer/USI-LS/wiki
  • Create New...