Jump to content

[1.0.4] Kramax Autopilot: Course guidance and auto-land for spaceplanes (v0.2)


Kramer

Recommended Posts

Does this work on 1.0.5?

It's working for me, I don't see any difference in behavior with it between 1.0.4 and 1.0.5.

- - - Updated - - -

There are a couple things I wanted to ask the developers of this mod though:

1. Is there a way to change the bank/pitch/yaw limits that the autopilot will use?

2. Is there a way to get airspeeds to actually be airspeeds instead of ground speed? holding a speed of 200 m/s is fine at sea level, but that's a flat-out stall at 10,000m. Usually aircraft speed-hold is based on IAS/EAS or Mach. Not sure if this information is available in stock nerfed-aero, but it *should* at least be available when FAR is in use. ie generally a pilot will command a 250kts indicated airspeed hold during climb, then go to 300kts above 10,000' ASL and then above 18000' MSL you'd generally switch over to a mach hold and climb/cruise at 0.70/0.80 (or thereabouts).

Link to comment
Share on other sites

Unfortunately since it hasn't been "officially" updated, CKAN won't install it. Guess I can do a manual install until it updates, but any chance you can make a quick update to change the embedded version # so that CKAN will work with it again? Since it seems to actually work as-is?

Link to comment
Share on other sites

1. Is there a way to change the bank/pitch/yaw limits that the autopilot will use?

That's available in Pilot Assistant on a per controller basis so those will be exposed the same here - as for the additional controllers there's no bank limit for the NAV heading mode but the crosstrack controller has a limit which is effectively a bank limiter. I put a request in for an actual bank limiter for that a while back. The GS controller has an AoA limiter, and there's no wind so no need for a yaw limiter atm ( any yaw is an error ).

2. Is there a way to get airspeeds to actually be airspeeds instead of ground speed? holding a speed of 200 m/s is fine at sea level, but that's a flat-out stall at 10,000m. Usually aircraft speed-hold is based on IAS/EAS or Mach. Not sure if this information is available in stock nerfed-aero, but it *should* at least be available when FAR is in use. ie generally a pilot will command a 250kts indicated airspeed hold during climb, then go to 300kts above 10,000' ASL and then above 18000' MSL you'd generally switch over to a mach hold and climb/cruise at 0.70/0.80 (or thereabouts).

That's available in FAR - you can change the velocity display to Mach/IAS/EAS ( and knots/mph/kph ) so it should be available, I keep meaning to fiddle with Pilot Assistant to use those. Stock has dynamic pressure I think? so calculating IAS should be possible if it's easily available.

Link to comment
Share on other sites

I keep meaning to fiddle with Pilot Assistant to use those

The github version of PA now has IAS and EAS speed control available. It's not *correct* just yet (acceleration is going to be a pain to handle...) but it is very close

Link to comment
Share on other sites

[quote name='Crzyrndm']The github version of PA now has IAS and EAS speed control available. It's not *correct* just yet (acceleration is going to be a pain to handle...) but it is very close[/QUOTE]

I'll thank you here then :) not too bothered about the acceleration personally, but being able to ( attempt to ) hold IAS climbing out is fantastic.

Relevant to thread - you can mix PA and autopilot controls, providing they're not on the same axis - so in this case you could use the NAV directional control from KAP, IAS hold from PA, and pitch/aoa/climb rate from either of them.

Note for people who don't know why that's cool: holding [URL="https://en.wikipedia.org/wiki/Indicated_airspeed"]IAS [/URL]will attempt to keep dynamic pressure constant, which means consistent lift ( and drag ) so you can hopefully fly at the most efficient speed no matter what altitude. EAS is even more useful especially as it handles being supersonic and very thin air. Edited by Van Disaster
Link to comment
Share on other sites

[quote name='Van Disaster']not too bothered about the acceleration personally[/QUOTE]
Except the acceleration is a fairly major component of the speed control so it doesn't stabilise properly unless I get that right :P
Link to comment
Share on other sites

[quote name='Van Disaster']There's no reason you couldn't write an approach for "I only have half a craft left" ;). Nothing in there requires any power, only if you set speed holds & your craft can't follow the approach at the given speeds without any power. Most of the time mine won't slow down enough...[/QUOTE]

Speaking of slowing down, you mentioned that the mod automatically cuts throttle upon touchdown. Is there any way to disable that?

Reason being is, my massive Mk3-scale behemoth of a cargo spaceplane, the Pidgeon, has a tendency to go skidding off the runway and into Cape Kerbal (and since I'm playing 1.0.4 that's bad). It has a landing speed of almost 175-200 m/s because of its weight which is over 100t even without fuel and cargo pod. Given, I've been flying manually and have yet to touch it down on the first 1/3 of KSP R09, but even at full aero/gear brake, 4 radial drag chutes, and ~2500m of runway left after touchdown, a +175m/s landing will still put me in the drink. So in order to increase my post-touchdown deceleration I slapped a quartet of retrograde ILX-40 retractable rocket thrusters from BahamutoDynamics, and have a "touchdown braking sequence" key which activates them while simultaneously de-activating my main engines and deploying chutes. They work but if I'm going to use the AP for landing i need to make sure I can deactivate it immediately upon touchdown or else allow it to ramp up throttle to 100% after I switch on the retros. Edited by Auriga_Nexus
Link to comment
Share on other sites

[quote name='Crzyrndm']Except the acceleration is a fairly major component of the speed control so it doesn't stabilise properly unless I get that right :P[/QUOTE]

So I should probably not suggest using AoA for speed control either then ;)

@Auriga_Nexus: not tried it personally because if I'm not using all the widgets from this thing I'd just use PA to land, but presumably disabling the autothrottle on the way in will also disable throttle cut. I'll do a quick circuit in something & test it. I'd suggest you add a little more in the way of wing area though... or perhaps land the other direction & come in a lot flatter.

Edit: with autothrottle disabled it doesn't even brake, it appears. Edited by Van Disaster
Link to comment
Share on other sites

[quote name='Crzyrndm']I'll have to think about it. Sounds useful but possibly disastrous...[/QUOTE]

Caveat Emptor really - I basically thought it might be handy to start lowering AoA if you've set an IAS ( or EAS gven most of our craft are supersonic ) hold & the setpoint is getting progressively further away; trading speed for height automatically is a mode at least one FCS has had but as we have constant air temps & no wind at the moment not quite so useful. Now I think about it though that'd be an excellent re-entry tool. But one step at a time, getting sane numbers out of FAR is a bit more important :) Edited by Van Disaster
Link to comment
Share on other sites

I love, love, love, love this mod! I've tried MJ and others, but all induce oscillations and overcontrol like crazy. This is the first mod that has a truly working heading, altitude, climb rate, automation.

Just FYI... I've tested it in 1.0.5 and works without any problems. Can you please update the CKAN data so it can be loaded that way? Thanks!

-Dan
Link to comment
Share on other sites

This sounds fun. I'll have to give it a shot, as soon as I can make a plane that doesn't kerPLOW on takeoff ><

For what its worth, from my past life as a pilot, the counterintuitive method of control on landing of "Pitch for Speed, Throttle for Rate of Decent" is exactly how its done in 'reality'. With a bit of extra thought, it is realized that the two are intractably linked; If I'm approaching with too much speed, I pitch up a bit. Then i'm descending too slowly perhaps. Less throttle. Ok, now attitude and rate are good. Adjust as needed :D

The 'intuitive' way invariably ends up: Descending too fast. Less throttle. Descending faster now. Uhoh--. Yeah... PIO. Pilot Induced Oscillation. Not fun ><
Link to comment
Share on other sites

  • 4 weeks later...
On 11/21/2015 at 4:13 PM, komodo said:

This sounds fun. I'll have to give it a shot, as soon as I can make a plane that doesn't kerPLOW on takeoff ><

For what its worth, from my past life as a pilot, the counterintuitive method of control on landing of "Pitch for Speed, Throttle for Rate of Decent" is exactly how its done in 'reality'. With a bit of extra thought, it is realized that the two are intractably linked; If I'm approaching with too much speed, I pitch up a bit. Then i'm descending too slowly perhaps. Less throttle. Ok, now attitude and rate are good. Adjust as needed :D

The 'intuitive' way invariably ends up: Descending too fast. Less throttle. Descending faster now. Uhoh--. Yeah... PIO. Pilot Induced Oscillation. Not fun ><

Excellent comments about landing approach... now if I could only wrap my brain around that while i'm actually coming in for a landing.

Edited by mlarabie
Link to comment
Share on other sites

Has anyone encountered issues when using this mod with Dynamic Deflection mod? (consistently and that aren't present unless Dynamic Deflection is installed) (Dynamic Deflection dynamically scales deflection based on dynamic pressure. The greater dynamic pressure is, the less controls are allowed to deflect)

Also, does anyone have any effective PID settings they might want to share? (for preventing unwanted rolling, yawing or pitching or that work well with engines that have long spool up times)

Link to comment
Share on other sites

No special issue with Dynamic Deflection here, but:

MslN5cw.jpg

I am missing KSC from 30 km (see it in the background, or the ILS indicator), tried to land on RW27

I started by following CAMEL, using the NAV autopilot all along, adjusting speed and alt myself. Do i have to start from DONUT ? Also the NAV jumped from CAMEL to IAF instantly.

I got FAR, Dynamic Deflection, this mod and also the Pilot Assistant.

 

Link to comment
Share on other sites

Now that KerbinSide is working again(more or less), I'm currently in the process of writing flight plans for many(maybe all, if I can) of the additional KerbinSide base runways on Kerbin.  So far, I've only just completed the set for Area 110011 - one departure and two approaches(one for each approach direction).  They're not fancy, looping approach patterns like the default ones for KSC, just straight-on, direct approaches(as it is, I have a feeling that some of these runways are going to be particularly tricky to script even direct approaches for, depending on the surrounding topography/runway lengths/etc.).  

 

I've got a 9-to-5 and a 5-month-old here, so I probably won't be able to crank these out very quickly, as I'm putting them through repetitive small & large craft testing and tweaking and then more testing before I feel comfortable saying that they're reliable/consistent for use.  Maybe one per week, if I'm lucky.  That said, if there's any interest out there, I'd be happy to upload the .cfg file with what I've got so far(and if someone could suggest a good file host that folks are using these days, I'd be most appreciative).  Also, if anyone has any requests for which runway(s) for me to do next, just let me know.  

 

Thanks and Happy Flying!

Link to comment
Share on other sites

  • 3 weeks later...

Hello Community

First Post :D

With Kramax-Autopilot and Waypoint-Manager, i threw a quick and dirty flight-plan for the Kerbinside Northpole-Station together.

have fun with it!

                FlightPlan
                {
                        planet = Kerbin
                        name = Northpole 19
                        description = Northpole 19
                        WayPoints
                        {
                                WayPoint
                                {
                                        Vertical = true
                                        IAF = true
                                        lat = 82.242
                                        lon = -73.288
                                        alt = 2500
                                        name = North Pole IAF
                                }
                                WayPoint
                                {
                                        Vertical = true
                                        FAF = true
                                        lat = 80.786
                                        lon = -75.720
                                        alt = 1000
                                        name = North Pole FAF
                                }
                                WayPoint
                                {
                                        Vertical = true
                                        RW = true
                                        lat = 79.596
                                        lon = -77.381
                                        alt = 100
                                        name = North Pole FLARE
                                }
                                WayPoint
                                {
                                        Vertical = true
                                        Stop = true
                                        lat = 79.441
                                        lon = -77.570
                                        alt = 5
                                        name = North Pole STOP
                                }
                        }
                }
                FlightPlan
                {
                        planet = Kerbin
                        name = Northpole 01
                        description = Northpole 01
                        WayPoints
                        {
                                WayPoint
                                {
                                        Vertical = true
                                        IAF = true
                                        lat = 76.781
                                        lon = -80.266
                                        alt = 2500
                                        name = North Pole IAF
                                }
                                WayPoint
                                {
                                        Vertical = true
                                        FAF = true
                                        lat = 78.255
                                        lon = -78.859
                                        alt = 1000
                                        name = North Pole FAF
                                }
                                WayPoint
                                {
                                        Vertical = true
                                        RW = true
                                        lat = 79.441
                                        lon = -77.570
                                        alt = 50
                                        name = North Pole FLARE
                                }
                                WayPoint
                                {
                                        Vertical = true
                                        Stop = true
                                        lat = 79.596
                                        lon = -77.381
                                        alt = 5
                                        name = North Pole STOP
                                }
                        }
                }

 

Edited by imporator0815
typo
Link to comment
Share on other sites

Been wanting to play around with adding new courses (because by the way, besides MechJeb, this is the most incredible mod!!!).

So, is there a limit to the number of waypoints? Following your example, should be pretty self explanatory but are there any special "gotchas" we should be aware of?

 

Thanks!

Link to comment
Share on other sites

16 hours ago, jmbailey2000 said:

Been wanting to play around with adding new courses (because by the way, besides MechJeb, this is the most incredible mod!!!).

So, is there a limit to the number of waypoints? Following your example, should be pretty self explanatory but are there any special "gotchas" we should be aware of?

 

Thanks!

Hi there,

i dont know how much waypoints you can add.

Judging from what i see in the flightplan-list, you can add at least 11 waypoints. Perhaps Kramer can answer that.

Btw i have a question for Kramer to, can we have some scrollbars in the flightplan-list ?

Because if i add these (Cloudbase, Kosmodrome, Kerbin City INTL):

		FlightPlan
		{
			planet = Kerbin
			name = Cloudbase 1-17
			description = Cloudbase 1-17
			WayPoints
			{
				WayPoint
				{
					Vertical = true
					IAF = true
					lat = 0.795
					lon = 172.022
					alt = 3900
					name = Cloudbase IAF
				}
				WayPoint
				{
					Vertical = true
					FAF = true
					lat = -0.681
					lon = 172.209
					alt = 3900
					name = Cloudbase FAF
				}
				WayPoint
				{
					Vertical = true
					RW = true
					lat = -1.885
					lon = 172.359
					alt = 3879
					name = Cloudbase FLARE
				}
				WayPoint
				{
					Vertical = true
					Stop = true
					lat = -1.954
					lon = 172.369
					alt = 3864
					name = Cloudbase STOP
				}
			}
		}
		FlightPlan
		{
			planet = Kerbin
			name = Cloudbase 2-35
			description = Cloudbase 2-35
			WayPoints
			{
				WayPoint
				{
					Vertical = true
					IAF = true
					lat = -4.643
					lon = 172.766
					alt = 3900
					name = Cloudbase IAF
				}
				WayPoint
				{
					Vertical = true
					FAF = true
					lat = -3.168
					lon = 172.555
					alt = 3900
					name = Cloudbase FAF
				}
				WayPoint
				{
					Vertical = true
					RW = true
					lat = -1.965
					lon = 172.386
					alt = 3874
					name = Cloudbase FLARE
				}
				WayPoint
				{
					Vertical = true
					Stop = true
					lat = -1.897
					lon = 172.377
					alt = 3859
					name = Cloudbase STOP
				}
			}
		}
		FlightPlan
		{
			planet = Kerbin
			name = Kosmodrome 09
			description = Kosmodrome 09
			WayPoints
			{
				WayPoint
				{
					Vertical = true
					IAF = true
					lat = 0.216
					lon = -136.698
					alt = 3000
					name = Kosmodrome IAF
				}
				WayPoint
				{
					Vertical = true
					FAF = true
					lat = 0.216
					lon = -134.698
					alt = 1500
					name = Kosmodrome FAF
				}
				WayPoint
				{
					Vertical = true
					RW = true
					lat = 0.216
					lon = -133.600
					alt = 735
					name = Kosmodrome FLARE
				}
				WayPoint
				{
					Vertical = true
					Stop = true
					lat = 0.216
					lon = -133.362
					alt = 635
					name = Kosmodrome STOP
				}
			}
		}
		FlightPlan
		{
			planet = Kerbin
			name = Kosmodrome 27
			description = Kosmodrome 27
			WayPoints
			{
				WayPoint
				{
					Vertical = true
					IAF = true
					lat = 0.216
					lon = -130.700
					alt = 2000
					name = Kosmodrome IAF
				}
				WayPoint
				{
					Vertical = true
					FAF = true
					lat = 0.216
					lon = -132.230
					alt = 1000
					name = Kosmodrome FAF
				}
				WayPoint
				{
					Vertical = true
					RW = true
					lat = 0.216
					lon = -133.362
					alt = 735
					name = Kosmodrome FLARE
				}
				WayPoint
				{
					Vertical = true
					Stop = true
					lat = 0.216
					lon = -133.600
					alt = 635
					name = Kosmodrome STOP
				}
			}
		}	
		FlightPlan
		{
			planet = Kerbin
			name = KC INTL 30
			description = KC INTL 30
			WayPoints
			{
				WayPoint
				{
					Vertical = true
					IAF = true
					lat = -7.674
					lon = -80.793
					alt = 2000
					name = KC INTL 30 IAF
				}
				WayPoint
				{
					Vertical = true
					FAF = true
					lat = -6.975
					lon = -82.137
					alt = 1000
					name = KC INTL 30 FAF
				}
				WayPoint
				{
					Vertical = true
					RW = true
					lat = -6.409
					lon = -83.223
					alt = 25
					name = KC INTL 30 FLARE
				}
				WayPoint
				{
					Vertical = true
					Stop = true
					lat = -6.264
					lon = -83.502
					alt = 22
					name = KC INTL 30 STOP
				}
			}
		}
		FlightPlan
		{
			planet = Kerbin
			name = KC INTL 12
			description = KC INTL 12
			WayPoints
			{
				WayPoint
				{
					Vertical = true
					IAF = true
					lat = -5.000
					lon = -85.928
					alt = 500
					name = KC INTL 12 IAF
				}
				WayPoint
				{
					Vertical = true
					FAF = true
					lat = -5.700
					lon = -84.590
					alt = 500
					name = KC INTL 12 FAF
				}
				WayPoint
				{
					Vertical = true
					RW = true
					lat = -6.264
					lon = -83.502
					alt = 22
					name = KC INTL 12 FLARE
				}
				WayPoint
				{
					Vertical = true
					Stop = true
					lat = -6.409
					lon = -83.223
					alt = 23
					name = KC INTL 12 STOP
				}
			}
		}	
		FlightPlan
		{
			planet = Kerbin
			name = KC INTL 23
			description = KC INTL 23
			WayPoints
			{
				WayPoint
				{
					Vertical = true
					IAF = true
					lat = -4.499
					lon = -80.864
					alt = 1000
					name = KC INTL 23 IAF
				}
				WayPoint
				{
					Vertical = true
					FAF = true
					lat = -5.391
					lon = -82.004
					alt = 500
					name = KC INTL 23 FAF
				}
				WayPoint
				{
					Vertical = true
					RW = true
					lat = -6.269
					lon = -83.127
					alt = 28
					name = KC INTL 23 FLARE
				}
				WayPoint
				{
					Vertical = true
					Stop = true
					lat = -6.406
					lon = -83.301
					alt = 23
					name = KC INTL 23 STOP
				}
			}
		}
		FlightPlan
		{
			planet = Kerbin
			name = KC INTL 05
			description = KC INTL 05
			WayPoints
			{
				WayPoint
				{
					Vertical = true
					IAF = true
					lat = -8.240
					lon = -85.634
					alt = 3000
					name = KC INTL 05 IAF
				}
				WayPoint
				{
					Vertical = true
					FAF = true
					lat = -7.289
					lon = -84.436
					alt = 1500
					name = KC INTL 05 FAF
				}
				WayPoint
				{
					Vertical = true
					RW = true
					lat = -6.406
					lon = -83.301
					alt = 23
					name = KC INTL 05 FLARE
				}
				WayPoint
				{
					Vertical = true
					Stop = true
					lat = -6.269
					lon = -83.127
					alt = 28
					name = KC INTL 05 STOP
				}
			}
		}	

then im running out of space. :lol: And i plan to make plans for the rest of the runways also (all these plans i have testet with a aeris a3 stock plane.For the Cloudbase MAX End-Speed is between 65 and 75 m/s because the runway is to small).

And a question for the expirienced Coders out there. Is there a way to "update" your coordinates somhow ? so when we have a template for a flightplan (1000m high at waypoint 1, and 500m high at waypoint 2 and so on) that we can have a "moving" runway (i think about carriers)? The last line of Code i wrote was 16 years ago :D

have fun!

Edited by imporator0815
typo
Link to comment
Share on other sites

  • 4 weeks later...
  • 1 month later...
3 hours ago, linuxgurugamer said:

KramaxAutopilot 0.3 is now available for KSP 1.1 for testing:  https://drive.google.com/file/d/0Bzid7e3pW1k7NjRCMnhzTDl0YTg/view?usp=sharing

This was done with the author's permission

I'd love to add that to CKAN, but I can't without a download link, rather than a sharing link. 

In the meantime, KramaxAutoPilot 0.2 is now set in CKAN as compatible with KSP 1.0.5. 

If you bring these things to our attention, either on the CKAN Forum thread or through a CKAN GitHub issue, we can fix these things up much faster.

Link to comment
Share on other sites

4 hours ago, politas said:

I'd love to add that to CKAN, but I can't without a download link, rather than a sharing link. 

In the meantime, KramaxAutoPilot 0.2 is now set in CKAN as compatible with KSP 1.0.5. 

If you bring these things to our attention, either on the CKAN Forum thread or through a CKAN GitHub issue, we can fix these things up much faster.

I'm not willing to put things into CKAN (this from a self-proclaimed CKAN lover) unti 1.1 is fully released.  I had trouble enough merely updating KW Rocketry community Fixes with someone having a problem.  Besides, I still consider all of the 1.1 mods as "in development", and as such, won't update until out of development.

Once 1.1 is released, if Kramer doesn't want to pick it up, I'll then take it over.  Right now I'm just doing this because he doesn't have access to 1.1

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...