Jump to content

Parachute not slowing down plane


Recommended Posts

I'm working on updating a few parts which are somewhat old.  This part in particular is a vertical fin for a shuttle with a built-in parachute.

The issue I"m having is that the chute is not slowing the plane down, it's actually increasing the speed.  I'm testing on the runway by getting the plane moving at about 10m/s, shut down the engine and then deploy the chute.

When I deploy the chute, the plane never stops moving, and actually increases it's speed slightly.  I tried putting on a regular chute as a test, and it work as expected.

I'm beginning to suspect it may be something in the model itself, but not sure what to look at.

Another issue is that the parachute cords for the built-in chute are coming out the wrong location

Suggestions are welcome

 

 

Link to comment
Share on other sites

I'm having a similar issue. Is your parachute showing correct drag figures in the VAB? The mod I'm trying to resurrect shows drag values of 0 in the VAB.

I believe the values in the parachute module are no longer used to determine drag, instead KSP uses the model of the parachute to calculate aerodynamic drag. The parachute I'm working with wasn't set up for this so the animations work but it never generates any drag.

I'm afraid I have no idea how to solve it, I'm out of my depth. Also please correct me if I'm talking nonsense, I am not an experienced modder!

Edited by Tapejara
Error in sentence structure.
Link to comment
Share on other sites

I guess this is about the tailwings of the B9 Shuttle Wing mod?

I've peaked into the code of RCS Build Aid to get an idea how it calculates the falling speed of a vessel with a parachute and it turns out, it uses the aera drag created by the crag cube of a part so I assume, this is what the game does as well.
The drag cube of the tailfin is procedural generated and probably doesn't include different cubes for different "states" of the part.
For comparison, this is the PartDatabase entry of one of the tailwings:

PART
{
	url = GilB9Shuttle_Wings/Parts/B9_Shuttle_TailWing/B9_Shuttle_TailWing_300
	DRAG_CUBE
	{
		procedural = True
	}
}

And this is the entry of a parachute:

PART
{
	url = Squad/Parts/Utility/parachuteMk1/parachuteMk1/parachuteSingle
	DRAG_CUBE
	{
		cube = PACKED, 0.1583,0.6514,0.4137, 0.1583,0.6515,0.4137, 0.2775,0.6407,0.3861, 0.2775,0.861,0.1765, 0.1626,0.6455,0.4938, 0.1626,0.6659,0.3695, 6.735E-06,0.1034,0.01848, 0.6307,0.3626,0.6124
		cube = SEMIDEPLOYED, 7.943,0.2607,0.519, 7.947,0.2599,0.519, 0.5292,1.221,4.101, 0.5294,1.12,14.99, 8.02,0.261,0.5646, 8.02,0.259,0.5245, 6.557E-07,8.838,1.147E-05, 0.826,17.83,0.821
		cube = DEPLOYED, 73.36,7.509,4.645, 73.36,7.507,4.645, 52.95,8.544,4.101, 52.97,6.509,14.99, 74.06,7.456,4.255, 74.06,7.416,4.255, 6.676E-06,8.838,0.0001245, 8.26,17.83,8.21
	}
}

I guess, you need to add different drag cubes to the tailfin but I'm not sure how this will work together with the control surfaces, which got multiple cubes as well (for "neutral", "fullDeflectionPos" and "fullDeflectionNeg").

This will probably also require some changes to the part config since it contains entries for min/max drag.

Link to comment
Share on other sites

8 minutes ago, 4x4cheesecake said:

I guess this is about the tailwings of the B9 Shuttle Wing mod?

I've peaked into the code of RCS Build Aid to get an idea how it calculates the falling speed of a vessel with a parachute and it turns out, it uses the aera drag created by the crag cube of a part so I assume, this is what the game does as well.
The drag cube of the tailfin is procedural generated and probably doesn't include different cubes for different "states" of the part.
For comparison, this is the PartDatabase entry of one of the tailwings:


PART
{
	url = GilB9Shuttle_Wings/Parts/B9_Shuttle_TailWing/B9_Shuttle_TailWing_300
	DRAG_CUBE
	{
		procedural = True
	}
}

And this is the entry of a parachute:


PART
{
	url = Squad/Parts/Utility/parachuteMk1/parachuteMk1/parachuteSingle
	DRAG_CUBE
	{
		cube = PACKED, 0.1583,0.6514,0.4137, 0.1583,0.6515,0.4137, 0.2775,0.6407,0.3861, 0.2775,0.861,0.1765, 0.1626,0.6455,0.4938, 0.1626,0.6659,0.3695, 6.735E-06,0.1034,0.01848, 0.6307,0.3626,0.6124
		cube = SEMIDEPLOYED, 7.943,0.2607,0.519, 7.947,0.2599,0.519, 0.5292,1.221,4.101, 0.5294,1.12,14.99, 8.02,0.261,0.5646, 8.02,0.259,0.5245, 6.557E-07,8.838,1.147E-05, 0.826,17.83,0.821
		cube = DEPLOYED, 73.36,7.509,4.645, 73.36,7.507,4.645, 52.95,8.544,4.101, 52.97,6.509,14.99, 74.06,7.456,4.255, 74.06,7.416,4.255, 6.676E-06,8.838,0.0001245, 8.26,17.83,8.21
	}
}

I guess, you need to add different drag cubes to the tailfin but I'm not sure how this will work together with the control surfaces, which got multiple cubes as well (for "neutral", "fullDeflectionPos" and "fullDeflectionNeg").

This will probably also require some changes to the part config since it contains entries for min/max drag.

I was using that parachute as a sample as well.  there are a couple of nodes you didn't show:

	MODULE
	{
		name = ModuleDragModifier
		dragCubeName = SEMIDEPLOYED
		dragModifier = 1.25
	}
	MODULE
	{
		name = ModuleDragModifier
		dragCubeName = DEPLOYED
		dragModifier = 12
	}

I've added both the drag cubes and the above to the config, but didn't see any change.

There's magic going on here, and if I can't get it figured out one way or another, I'll just delete the chute.  I have the rest of the rudder working properly

 

Link to comment
Share on other sites

1 hour ago, linuxgurugamer said:

I've added both the drag cubes and the above to the config, but didn't see any change.

Did you change the "dragModelType" from "none" to "default" as well? It works for me after adding the drag cubes and changing this dragModelType but this will also add some drag to the part as well.

The config I've used:

Spoiler

PART
{
	// --- general parameters ---
	name = B9_Shuttle_TailWing
	module = Part
	author = gilbr0ther

	// --- asset parameters ---
	MODEL
	{
		model = GilB9Shuttle_Wings/Parts/B9_Shuttle_TailWing
	}
	scale = 1
	rescaleFactor = 1

	// --- editor parameters ---
	TechRequired = supersonicFlight
	entryCost = 2980
	cost = 745
	category = Aero
	subcategory = 0
	title = B9 Shuttle Tail Fin
	manufacturer = Makintosh Mecanonics
	description = This wing is a tilted upward shuttle with slightly more of glue and less plastic.

	// attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision
	attachRules = 0,1,0,1,1

	// --- node definitions ---
	// definition format is Position X, Position Y, Position Z, Up X, Up Y, Up Z
	node_attach = 0.0, 0.0, 0.0, 1.0, 0.0, 0.0

	// --- standard part parameters ---
	//mass = 0.071
	mass = .2304
	thermalMassModifier = 8.0
	heatConductivity = 0.06 // half default
	emissiveConstant = 0.95
	dragModelType = default
	maximum_drag = 0.02
	minimum_drag = 0.02
	angularDrag = 2
	crashTolerance = 15
	maxTemp = 2400
	explosionPotential = 0.1
	fuelCrossFeed = True

	bulkheadProfiles = srf
	tags = #autoLOC_500216 autoLOC_500114 
		//#autoLOC_500216 = aero aircraft control (elev plane )rudder shuttle stab
		//#autoLOC_500114 = (air airbrake aircraft brake dive drag fligh landing plane slow speed spoil
	
	MODULE
	{
		name = ModuleControlSurface
		//dragCoeff = 0.81
		dragCoeff = 0.6
		//deflectionLiftCoeff = 1.35
		deflectionLiftCoeff = 3.49
		//ctrlSurfaceRange = 20
		ctrlSurfaceRange = 25
		ctrlSurfaceArea = 0.2225
		// added:
		actuatorSpeed = 35
		transformName = obj_ctrlSrf
	}

	//MODULE
	//{
	//	name = FSairBrake
	//	targetPartObject = Left_rud
	//	deployedDrag = 100
	//	deployedAngle = 45
	//	stepAngle = 10
	//}
	//MODULE
	//{
	//	name = FSairBrake
	//	targetPartObject = Right_rud_base
	//	deployedDrag = 100
	//	deployedAngle = 45
	//	stepAngle = 10
	//}

	MODULE
	{
		name = ModuleAeroSurface
		ignorePitch = true
		ignoreRoll = true
		ignoreYaw = true

		useInternalDragModel = True
		dragCoeff = 1.2
		deflectionLiftCoeff = 0.38
		ctrlSurfaceRange = 45
		ctrlRangeFactor = 0.2
		ctrlSurfaceArea = 1 // need to get these two to be additive
		actuatorSpeed = 20
		transformName = Left_rud
		defaultActionGroup = Brakes
		liftingSurfaceCurve = SpeedBrake
		ignorePitch = true
		ignoreYaw = true
		uncasedTemp = 1200
		casedTemp = 2400
	}
	 MODULE
	{
		name = ModuleAeroSurface
		ignorePitch = true
		ignoreRoll = true
		ignoreYaw = true

		useInternalDragModel = True
		dragCoeff = 1.2
		deflectionLiftCoeff = 0.38
		
		brakeDeployInvert = true
		
		ctrlSurfaceRange = 45
		ctrlRangeFactor = 0.2
		ctrlSurfaceArea = 1 // need to get these two to be additive
		actuatorSpeed = 20
		transformName = Right_rud
		defaultActionGroup = Brakes
		liftingSurfaceCurve = SpeedBrake
		ignorePitch = true
		ignoreYaw = true
		uncasedTemp = 1200
		casedTemp = 2400
	}   
	DRAG_CUBE
	{
		cube = PACKED, 0.1583,0.6514,0.4137, 0.1583,0.6515,0.4137, 0.2775,0.6407,0.3861, 0.2775,0.861,0.1765, 0.1626,0.6455,0.4938, 0.1626,0.6659,0.3695, 6.735E-06,0.1034,0.01848, 0.6307,0.3626,0.6124
		cube = SEMIDEPLOYED, 7.943,0.2607,0.519, 7.947,0.2599,0.519, 0.5292,1.221,4.101, 0.5294,1.12,14.99, 8.02,0.261,0.5646, 8.02,0.259,0.5245, 6.557E-07,8.838,1.147E-05, 0.826,17.83,0.821
		cube = DEPLOYED, 73.36,7.509,4.645, 73.36,7.507,4.645, 52.95,8.544,4.101, 52.97,6.509,14.99, 74.06,7.456,4.255, 74.06,7.416,4.255, 6.676E-06,8.838,0.0001245, 8.26,17.83,8.21
	}
	MODULE
	{
	  	name = ModuleParachute
		invertCanopy = true
		autoCutSpeed = 0.5
		capName = cap
		canopyName = canopy
		semiDeployedAnimation = semiDeployLarge
		fullyDeployedAnimation = fullDeployLarge
		stowedDrag = 0.22
		semiDeployedDrag = 3
		fullyDeployedDrag = 170
		minAirPressureToOpen = 0.007
		deployAltitude = 2500
		deploymentSpeed = 1
		semiDeploymentSpeed = 1
	}
	MODULE
	{
		name = ModuleDragModifier
		dragCubeName = SEMIDEPLOYED
		dragModifier = 1.25
	}
	MODULE
	{
		name = ModuleDragModifier
		dragCubeName = DEPLOYED
		dragModifier = 12
	}
}

 

This is the drag cube of the regular mk1 chute, not a drogue chute, just to get a clear result.

I've also done some testflights and as far as I can tell, this does not add drag to the tailfin during a flight.

Edited by 4x4cheesecake
Link to comment
Share on other sites

21 minutes ago, 4x4cheesecake said:

Did you change the "dragModelType" from "none" to "default" as well? It works for me after adding the drag cubes and changing this dragModelType

No, am testing now

I used the DRAG_CUBE from the small parachute for testing.  once this is working, I'll use this: http://www.datainterlock.com/dragcubes.php

to get the correct values

@4x4cheesecake THANK YOU  !!!

It's now working

Link to comment
Share on other sites

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