Jump to content

[1.4.3] PicoPort, the Micro Docking Ports - v0.1.4


steedcrugeon

Recommended Posts

Since your ports are about 0.3 m across, they'd fit right in the size 00 category that Filter Extensions defines (for e.g. sounding rockets, tiny engines, and the like).  You can use a patch like this one:

@PART[PicoPortM,PicoPortF,PicoPortBasic,PicoPortPlus]:NEEDS[FilterExtensions]
{
	@bulkheadProfiles ^= :size0:size00
}

 

Link to comment
Share on other sites

So I posted this in the CxAerospace Station Parts thread thinking it was that mod, but I'm having trouble getting these to "click" together in any way at all.

ec53d5efc71dc51b16ca4695223db64a.png

These were almost perfectly lined up axially for hours at about this distance, slowly spun through all orientations with the teeth matching or not, SAS on for one, the other, both, or neither ships, and even had them 'manually' mesh together with the teeth in the right position, which they both just bounced off from. Am I missing something like a button to press or activation? They are both the same sized, "Clamp-O-Tron Docking Port 'Basic'".

Link to comment
Share on other sites

Out of curiosity: Did they start out as one ship, or did they get launched separately?  I've noticed that if you un-dock you have to move a certain distance away before bringing docks back together and have them dock.

Link to comment
Share on other sites

They started separate. I'm beginning to think it may be just physics. Both are fairly substantial vessels (~10 tons I believe), so the attraction acceleration shouldn't be enormous from such a small docking port, but I still think I'd notice at least a little something. SAS should fight the rotation, but even that shouldn't be able to fight the translation to the point where I could hover for several minutes with the teeth nearly touching each other. I don't know, I'm just keeping trying for now.

Link to comment
Share on other sites

34 minutes ago, smokytehbear said:

They started separate. I'm beginning to think it may be just physics. Both are fairly substantial vessels (~10 tons I believe), so the attraction acceleration shouldn't be enormous from such a small docking port, but I still think I'd notice at least a little something. SAS should fight the rotation, but even that shouldn't be able to fight the translation to the point where I could hover for several minutes with the teeth nearly touching each other. I don't know, I'm just keeping trying for now.

Well, the teeth shouldn't touch each other.  They should fit into each other's gaps.  That might help.

Link to comment
Share on other sites

Yeah, that looks right.  My only thought at this point is just the mass - these are optimized for small probes, so I think even the magnets are turned down so that they don't overpower things.  I've had no trouble with them - but my tests have been with probes that weigh less than 2 tones total once docked.

Link to comment
Share on other sites

Thank you all for this beatiful mod!! I love how the community comes together in modding friendly games :)

Edit: I loved @Errol's idea that there should be Male/Female and Basic (forced alignment) versions for all the docking ports. At first I didn't like their idea that they should unlock earlier than the 'standard' versions, but then again it makes sense as they are more difficult to use, and a universal docking port is probably higher tech :). But in terms of progression may be the basic ports should replace the standard ones and those should be moved one tech up.

Well, balance can be further discussed, but two little details about this patch were inconsistent for me: 1) The basic jr's are unlocked at Basic Science while the standard is unlocked in Advanced Construction. 2) Both the basic and the standard (plus) pico ports are unlocked all together at Miniaturization. So I have gone and modified @Errol's patch for my own use and moved the basic jr's to General Construction and pico plus to Precision Engineering.

And because I don't know how to use GithHub or attach files to this forum, here is the text of the updated .cfg file that I created:

@PART[PicoPortPlus]
{
    @TechRequired = precisionEngineering
}

+PART[PicoPortM]
{
	@name = dockingPort3M
	@rescaleFactor = 2
	@TechRequired = generalConstruction
	@entryCost = 6800
	@cost = 650
	@title = Clamp-O-Tron Docking Port Jr. 'M'
	@description = Originally marketed as a child-size version of the normal Clamp-O-Tron, the Clamp-O-Tron Jr. soon found use among hobbyists and professional space agencies alike for its compact profile, lightweight structure, and all-round cuteness. As a result of its small size, kerbals need to hold their breath and wiggle to slip through. [Non Orientation specific, male-gendered variant]
	@mass = 0.02
	@maximum_drag = 0.25
	@minimum_drag = 0.25
	@angularDrag = 0.5
	@bulkheadProfiles = size1, srf
	@node_stack_bottom = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 1
	@node_attach = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0
	@NODE
	{
		@size = 0
	}
}

+PART[PicoPortF]
{
	@name = dockingPort3F
	@rescaleFactor = 2
	@TechRequired = generalConstruction
	@entryCost = 6800
	@cost = 650
	@title = Clamp-O-Tron Docking Port Jr. 'F'
	@description = Originally marketed as a child-size version of the normal Clamp-O-Tron, the Clamp-O-Tron Jr. soon found use among hobbyists and professional space agencies alike for its compact profile, lightweight structure, and all-round cuteness. As a result of its small size, kerbals need to hold their breath and wiggle to slip through. [Non Orientation specific, female-gendered variant]
	@mass = 0.02
	@maximum_drag = 0.25
	@minimum_drag = 0.25
	@angularDrag = 0.5
	@bulkheadProfiles = size1, srf
	@node_stack_bottom = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 1
	@node_attach = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0
	@NODE
	{
		@size = 0
	}
}

+PART[PicoPortBasic]
{
	@name = dockingPort3Basic
	@rescaleFactor = 2
	@TechRequired = generalConstruction
	@entryCost = 6800
	@cost = 650
	@title = Clamp-O-Tron Docking Port Jr. 'Basic'
	@description = Originally marketed as a child-size version of the normal Clamp-O-Tron, the Clamp-O-Tron Jr. soon found use among hobbyists and professional space agencies alike for its compact profile, lightweight structure, and all-round cuteness. As a result of its small size, kerbals need to hold their breath and wiggle to slip through. [Orientation specific (90), androgynous]
	@mass = 0.02
	@maximum_drag = 0.25
	@minimum_drag = 0.25
	@angularDrag = 0.5
	@bulkheadProfiles = size1, srf
	@node_stack_bottom = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 1
	@node_attach = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0
	@NODE
	{
		@size = 0
	}
}

+PART[PicoPortM]
{
	@name = dockingPort2M
	@rescaleFactor = 4
	@TechRequired = advConstruction
	@entryCost = 5000
	@cost = 200
	@title = Clamp-O-Tron Docking Port 'M'
	@description = Invented after a peaceful protest against the lack of spacecraft attachment systems turned violent, the Clamp-O-Tron Docking Port allows for the firm attachment of two separate vessels. After docking, vessels can be just as easily undocked. [Non Orientation specific, male-gendered variant]
	@mass = 0.05
	@maximum_drag = 0.25
	@minimum_drag = 0.25
	@angularDrag = 0.5
	@bulkheadProfiles = size1, srf
	@node_stack_bottom = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 1
	@node_attach = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0
	@NODE
	{
		@size = 1
	}
}

+PART[PicoPortF]
{
	@name = dockingPort2F
	@rescaleFactor = 4
	@TechRequired = advConstruction
	@entryCost = 5000
	@cost = 200
	@title = Clamp-O-Tron Docking Port 'F'
	@description = Invented after a peaceful protest against the lack of spacecraft attachment systems turned violent, the Clamp-O-Tron Docking Port allows for the firm attachment of two separate vessels. After docking, vessels can be just as easily undocked. [Non Orientation specific, female-gendered variant]
	@mass = 0.05
	@maximum_drag = 0.25
	@minimum_drag = 0.25
	@angularDrag = 0.5
	@bulkheadProfiles = size1, srf
	@node_stack_bottom = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 1
	@node_attach = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0
	@NODE
	{
		@size = 1
	}
}

+PART[PicoPortBasic]
{
	@name = dockingPort2Basic
	@rescaleFactor = 4
	@TechRequired = advConstruction
	@entryCost = 5000
	@cost = 200
	@title = Clamp-O-Tron Docking Port 'Basic'
	@description = Invented after a peaceful protest against the lack of spacecraft attachment systems turned violent, the Clamp-O-Tron Docking Port allows for the firm attachment of two separate vessels. After docking, vessels can be just as easily undocked. [Orientation specific (90), androgynous]
	@mass = 0.05
	@maximum_drag = 0.25
	@minimum_drag = 0.25
	@angularDrag = 0.5
	@bulkheadProfiles = size1, srf
	@node_stack_bottom = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 1
	@node_attach = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0
	@NODE
	{
		@size = 1
	}
}

+PART[PicoPortM]
{
	@name = dockingPortLargeM
	@rescaleFactor = 8
	@TechRequired = composites
	@entryCost = 10000
	@cost = 750
	@title = Clamp-O-Tron Docking Port Sr. 'M'
	@description = The Clamp-O-Tron Sr. is the result of intense and costly development to answer the problem of how to make docking connections more sturdy. Thanks to the brilliant suggestion of the staff janitor "why don't you make 'em bigger?", the public now can enjoy the sheer thrill of docking enormous objects in space. [Non Orientation specific, male-gendered variant]
	@mass = 0.2
	@maximum_drag = 0.25
	@minimum_drag = 0.25
	@angularDrag = 0.5
	@bulkheadProfiles = size2, srf
	@node_stack_bottom = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 2
	-node_attach
	@attachRules = 1,0,1,0,0
	@NODE
	{
		@size = 2
	}
}

+PART[PicoPortF]
{
	@name = dockingPortLargeF
	@rescaleFactor = 8
	@TechRequired = composites
	@entryCost = 10000
	@cost = 750
	@title = Clamp-O-Tron Docking Port Sr. 'F'
	@description = The Clamp-O-Tron Sr. is the result of intense and costly development to answer the problem of how to make docking connections more sturdy. Thanks to the brilliant suggestion of the staff janitor "why don't you make 'em bigger?", the public now can enjoy the sheer thrill of docking enormous objects in space. [Non Orientation specific, female-gendered variant]
	@mass = 0.2
	@maximum_drag = 0.25
	@minimum_drag = 0.25
	@angularDrag = 0.5
	@bulkheadProfiles = size2, srf
	@node_stack_bottom = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 2
	-node_attach
	@attachRules = 1,0,1,0,0
	@NODE
	{
		@size = 2
	}
}

+PART[PicoPortBasic]
{
	@name = dockingPortLargeBasic
	@rescaleFactor = 8
	@TechRequired = composites
	@entryCost = 10000
	@cost = 750
	@title = Clamp-O-Tron Docking Port Sr. 'Basic'
	@description = The Clamp-O-Tron Sr. is the result of intense and costly development to answer the problem of how to make docking connections more sturdy. Thanks to the brilliant suggestion of the staff janitor "why don't you make 'em bigger?", the public now can enjoy the sheer thrill of docking enormous objects in space. [Orientation specific (90), androgynous]
	@mass = 0.2
	@maximum_drag = 0.25
	@minimum_drag = 0.25
	@angularDrag = 0.5
	@bulkheadProfiles = size2, srf
	@node_stack_bottom = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 2
	-node_attach
	@attachRules = 1,0,1,0,0
	@NODE
	{
		@size = 2
	}
}

And an updated change log for your convenience if @linuxgurugamer would like to upload this to CKAN or github.

v0.2.0
- Moved Clamp-O-Tron Docking Port Jr. 'Basic', 'M', and 'F' to General Construction.
- Moved Pico-Port Plus to Precision Engineering.

v0.1.0
- Initial release.
Edited by canisin
Link to comment
Share on other sites

 

On 25/01/2017 at 1:30 PM, linuxgurugamer said:

 

@Errol I don't understand why you are having them unlock one tech earlier, but I think you did a great job.   

 

 

5 hours ago, canisin said:

Edit: I loved @Errol's idea that there should be Male/Female and Basic (forced alignment) versions for all the docking ports. At first I didn't like their idea that they should unlock earlier than the 'standard' versions, but then again it makes sense as they are more difficult to use, and a universal docking port is probably higher tech :). But in terms of progression may be the basic ports should replace the standard ones and those should be moved one tech up.

Well, balance can be further discussed, but two little details about this patch were inconsistent for me: 1) The basic jr's are unlocked at Basic Science while the standard is unlocked in Advanced Construction. 2) Both the basic and the standard (plus) pico ports are unlocked all together at Miniaturization. So I have gone and modified @Errol's patch for my own use and moved the basic jr's to General Construction and pico plus to Precision Engineering.

 

Two reasons I decided to balance things the way I did. One, as mentioned, I figure the more difficult to use ports should come first. Secondly, I figured that I was writing a default .cfg, and didn't want to make any changes to the original pico parts, and especially didn't want to make any changes to stock parts, so that anyone can add the .cfg to an existing game without unexpected effects. 

 

Link to comment
Share on other sites

Hi again folks,

Did anyone test @Errol's different sized versions of the pico ports?
Today, I built a ship using the regular sized 'basic' versions, and I failed to dock it. I tried and tried for a long period of time. I googled and found out about changing docking port states and tried even that. But I could not dock. I thought that maybe the problem was due to the toroidal ROUND-8 fuel tank I had placed right beneath the port, because it appeared to be clipping through it. But I couldn't give up so I built a test rig and cheated it to orbit, where I tried a couple of pairs of docking ports:

pico basic: OK
pico plus: OK

jr basic: NOK!!
jr plus (stock): OK

regular basic: NOK!!
regular plus (stock): not available at my carreer save

In both failed tests, I had very clearly gotten the teeth on the ports to match, to the point that I could rotate the other craft thru rotating the first one, as if the teeth were acting like gears. The magnets were very obviously engaged as I could pull back from the joint using RCS and it would immediately chomp back closed afterwards.

I have looked at my log file but could not see anything even remotely relevant. I either don't know where I am looking or maybe I need to turn on debug logging somehow. Anyone has any idea how to proceed? I wonder if @smokeytehbear's problem was resolved?

Edit: In at least one version, I tried all 4 possible angular alignments.

Edited by canisin
Link to comment
Share on other sites

2 hours ago, steedcrugeon said:

When you do your docking into orbit are they two separate vessels or one which is then reassembled? I  mean are you sure you are getting far enough away that the ports can then 're-acquire' correctly?

I think I am. How can I make sure? 

In my test setup I used a bunch of girders to launch a whole set of small probes with RCS and solar panels with docking ports on top, attached to the girders via decouplers. Then I decoupled them in pairs and moved them away from the carrier to test the docking. 

Oh, wait! I think I can say that I am sure, because some of those pairs did succeed in docking, while the listed pairs failed to dock. The test conditions were the same for all pairs. But still is there any way that I can make sure? Should I check in the save file to check their states? Oh, also, I did not connect these ships via docking ports in the VAB. Each ship had their docking port free while in the VAB.

Link to comment
Share on other sites

hey again folks, I have just today noticed that there is an mm patch to add angle snapping to existing docking ports. how is this similar to and different from the basic pico ports?

i noticed that both the pico ports use the angle snap property, but the pico port also has the weird top node and the node transform.

 

Link to comment
Share on other sites

10 hours ago, canisin said:

hey again folks, I have just today noticed that there is an mm patch to add angle snapping to existing docking ports. how is this similar to and different from the basic pico ports?

i noticed that both the pico ports use the angle snap property, but the pico port also has the weird top node and the node transform.

 

I'd imagine the underlying config probably isn't all that different, however the model will be (there could also be differences in the pull strengths but without testing I wouldn't know). PicoPorts was primarily designed to add docking ports to a sub miniature size craft for which there previously was no docking port options.

Link to comment
Share on other sites

9 minutes ago, steedcrugeon said:

I'd imagine the underlying config probably isn't all that different, however the model will be (there could also be differences in the pull strengths but without testing I wouldn't know). PicoPorts was primarily designed to add docking ports to a sub miniature size craft for which there previously was no docking port options.

I wouldn't want to drag the thread off topic but how do you do your testing?

Yesterday, I thought I would test various config values and the differences between your config and the angle snap config from the linked thread, and with various different values, too. So, I went ahead and created an mm config with many copies of the parts with minor differences in the config values. My plan was to create a test ship/assembly which I would then take out to orbit and try docking maneuvers between different pairs. But it was such a tedious process that I couldn't get any progress last night. I intend to continue my tests the next time I have free time available. But I just wanted to ask if you use any kind of more efficient approach, like maybe using some sort of cheat/debug menu.

Link to comment
Share on other sites

@canisin for the PicoPorts, testing mainly comprised of cheating (alt-F12) to orbit/rendezvous numerous probes of exactly the same type, layout and load. seeing how they interacted with each other and adjusted the configs to suit I think the heaviest probe I test with was about 3 tonnes. Bear in mind my testing only comprised the original PicoPorts, @Errol hadn't even come up with the MM for larger variants because this mod was only released after my testing.

You are correct though, the testing process is very monotonous and quite tedious. MM reload database function is very useful though allowing me to make and test config changes without having to close down and re-open KSP. I have a few directories of KSP (my main game is still in 1.1.3 as I have yet to complete a couple of missions) and two 1.2.2 with multiple saves for testing and development or various mods (including many as-yet and never-to-be released stuff).

Link to comment
Share on other sites

45 minutes ago, steedcrugeon said:

MM reload database function is very useful

This! What is this? :)

That would be great for testing. I had no idea such a thing existed, so I created like 10 different pico port copies via mm for testing and I was going crazy in the VAB trying to setup a platform containing all test variants! :D

Can you explain or point me in the direction of some documentation or tutorial about this reload function? Can I do it in flight? Does it update existing parts? Can I spawn parts in flight?

Link to comment
Share on other sites

6 hours ago, canisin said:

This! What is this? :)

Alt+F11 use when you are looking at KSC for best results

6 hours ago, canisin said:

Can you explain or point me in the direction of some documentation or tutorial about this reload function? Can I do it in flight? Does it update existing parts? Can I spawn parts in flight?

It will only reload the database, it will not alter anything you have in flight, these are saved as 'persistent' stuff. This mean that anything that is changed on the part after it has been launched will only affect new instances of this part (things that you put together in the VAB or SPH). It will not make any changes to thing already 'in-flight' in the game, this includes things which are landed somewhere so not technically flying.

Link to comment
Share on other sites

Just now, steedcrugeon said:

Alt+F11 use when you are looking at KSC for best results

It will only reload the database, it will not alter anything you have in flight, these are saved as 'persistent' stuff. This mean that anything that is changed on the part after it has been launched will only affect new instances of this part (things that you put together in the VAB or SPH). It will not make any changes to thing already 'in-flight' in the game, this includes things which are landed somewhere so not technically flying.

OK! Thanks a lot for the information. Can't wait to go home and try this. I am putting together a very heavily modded campaign and I am creating small balance configs, etc. They will be so much easier to create with the db reload! :D

I will also spend some more time testing and debugging the pico port clones!

Link to comment
Share on other sites

  • 1 month later...

@steedcrugeon Very nice!

How did you get the angle-snap to work correctly on the ports? I've been having difficulty.

 

MODULE
{
	name = ModuleDockingNode
	referenceAttachNode = top
	gendered = true
	genderFemale = false
	nodeType = size1	

	snapRotation = true
	snapOffset = 45
}

 

Link to comment
Share on other sites

13 hours ago, Beale said:

@steedcrugeon Very nice!

How did you get the angle-snap to work correctly on the ports? I've been having difficulty.

@sumghai did a really good post on explaining things with the docking node, key points i took away from his original post were:

  • if using model colliders to interlock, taper them and use 'non-interference fit' (i.e. make the colliders have a bit of play in bewteen them when mated).
  • adjust the captureMinRollDot for similar reasons to above.

Below is the config for the PicoPortBasic (the orientation specific one) with amplifying remarks.

MODULE
	{
		name = ModuleDockingNode
		nodeTransformName = dockPoint
		nodeType = sizePP				//custom node type for PicoPortBasic
		stagingEnabled = False
		snapRotation = true				//make docking port orientations sepcific
		snapOffset = 45					//set angles which will allow the docking port to connect
		captureMinRollDot = 0.99		//tolerance for allowing the set angles to connect, 1 = exact angles
		acquireRange = 0.08				//for PicoPort this was greatly reduced from stock
		captureRange = 0.02				//for PicoPort this was greatly reduced from stock
		acquireForce = 0.5				//for PicoPort this was greatly reduced from stock
		referenceAttachNode = top		//this line is required (match to your cfg nodes above) if you wish to decouple the part in flight if you launched it coupled to something
	}

If you have any queries over the values chosen just ask.

Link to comment
Share on other sites

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