Jump to content

Rocket Automation (with Planet Replenishing Delay)


Recommended Posts

I might be over-complicating the rocket automation, but I really don't want my rockets to waste a full tank of fuel to grab ~200kg from a planet. Below is the overview of a design that I came up with:

tGnRZLO.jpg

U5PEdc0.jpg

 

It's a little bit clustered, so here's the workflow and amore spread out version of the layout:

rSYNhSE.jpg

DojdqwV.jpg

This circuit guarantees that if a rocket returns with a half-empty cargo, it will wait a set amount of cycles before the next launch. Here's how it works, starting from a rocket landing:

0. The scanner detects the rocket and opens the bunker doors;

1. When the rocket fully landed, circuit (1) will detects the falling edge of the scanner and send out a 0.2s signal. The signal will also reset circuit (5) to close the doors. The FILTER gate in (1) is set to 0.2s;

2. Nothing will happens until the rocket is fully unloaded and refueled, and all materials are dropped onto the weight plate. When the ready signal comes through, it will delayed for a set amount equal to the length the shipping rails to account for the shipping rails speed. In the example above the FILTER gate in (2) is set to ~70s;

3. If the materials collected in this mission is not less than (# of cargo module) * 1000kg, use the right part send a "launch" signal, otherwise, use the left part to send a signal to circuit (4) to wait for a set amount of cycles and then send the "launch" signal;

4. This part of the circuit is essentially just a super long FILTER gate. I was inspired by a post that used liquid pipe to cycle doors, and here's the plumbing overlay:

4zQIIYC.jpg

The number of liquid blobs should be equal to the number of cycles you want to wait, and the last blob should be in a different material. The FILTER gate and the memory toggle is just a signal length limiter that limit the clock sensor output to 0.9s. Thus, every cycle the circuit will allow one blob water to cycle through, and the liquid element sensor will detect the last blob and send a "launch" signal to (5). The clock sensor is set to 1% length at any time of the cycle, and the filter gate is set to 0.9s. If you don't want to get rid of some automation, you can remove the FILTER and the R/S latch, and only use the clock sensor. 1% of a cycle FILTER allows 3 blobs to pass through so you will need 3 times the pipe length;

5. The R/S latch to control the doors and launch the rocket. As explained above, it will shut the door when the rocket is fully landed, open the door and then launch the rocket when it receive the "launch" signal;

6. This AND gate allows you to manually stop the rocket mission if the switch is turned off. You can turn off the switch at any time, even when the rocket is away, and the circuit will stop launching after it returns;

7. This part of the circuit disables the autosweeper when the rocket is landed, allowing the weight plate to work properly. Due to simplicity this part is not optimized. It's a (not very robust) T Flip-Flop and switch its state every time it receive a signal of ~0.2s. Note that there are 2 scanner falling edge for a single mission: one after the landing and one after the launch. The T Flip-Flop ensures that the sweeper would only work when the rocket is away. If you want to reduce the waiting time of the materials lying on the weight plate, you can turn on sweeper after the shipping delay in (2) and off at only the landing falling edge, and add a register-like circuit between (3) and (4) ((4) assumes that the signal from (3) will not be turned off until the launch). It will work but just too complex imo;

 

And here's the compact automation layout again, this time labeled and hopefully it's not that hard to understand

QJPaIrA.jpg

 

Here's some things to be noted and potential problems that I could think of:

  1. The shipping delay should be a few seconds more than the time that the last item needs to take to reach the weight plate. If you have two cargo modules and empty them together (connect the outputs of the two modules directly together), the time should be the sum of all segments in the rails; If you empty the two one by one using bridges, this time can be shorten to the rail length from the low priority cargo to the drop-off. The total process time is still the same though. Add a few seconds to account for the dropping time.
  2. The sweeper should be disabled before the first launch, or else T Flip-Flop will always be in the wrong state. The top left switch is to allow you to manually change the state of the sweeper if it's wrong. It will also allow you to manually turn on the sweeper if you turn off the master switch (the sweeper is always off when the rocket is at bay). However, the automation for the sweeper will break if its input is not a very short sequence (~0.2s). You can either quickly double tap the switch in normal speed to switch state, or add a signal length limiter like those in (1) and (4) between the switch and the T Flip-Flop;
  3. The liquid-based delay circuit will sometimes allow zero or two blobs to pass through every cycle, especially during the lag spike of saving. Change the clock sensor starting time to ~50% will reduce the probability of error occuring, but sometimes it will still happen. It's still a good enough approximation though;
  4. Limit dupe access to the weight plate. You don't want your dupe to take stuff from the plate when it's still running;
  5. To get the desired amount of liquid blobs in the pipes, mop up some liquids and pump the small packets one by one or more conveniently, use the plier mod. The cargo is considered collected the instance the rocket launches, so the total number of blobs is simply (# cargo modules) * 1000kg / (replenish rate). For the closest planets it's 12 cycles but for the more distant targets it's about 120 cycles. You will need a very long pipe loop unfortunately;
  6. The circuit only works with one or two cargo modules, as the maximum threshold of the weight plate is 2000kg;
  7. It doesn't work with gas or liquid cargo, but I doubt anyone is going for them;
  8. The pilot dupe cannot be let out unless the master switch is turned off. Flickering ready signal might break the system;
  9. The circuit does not work in sandbox mode since the rocket in sandbox will ignore all constraints and launch with non-empty cargos and empty fuel tanks. You will need to separate bunker door control and launch signal to test it in sandbox.

The circuit is just a proof of concept and not exhaustively test, and I'm 99% sure that there are bugs and inefficiencies in the circuit. Feel free to point out any flaws or to improve upon it! 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.

×
  • Create New...