[Experiment] Unloading 4 compressed blue belts per wagon.

Smart setups of railway stations, intelligent routing, solutions to complex train-routing problems.
Please provide - only if it makes sense of course - a blueprint of your creation.
zOldBulldog
Smart Inserter
Smart Inserter
Posts: 1161
Joined: Sat Mar 17, 2018 1:20 pm
Contact:

Re: [Experiment] Unloading 4 compressed blue belts per wagon.

Post by zOldBulldog »

disentius wrote: @zOldBulldog: DaveMcW's is brilliant, and the most efficient for 4 belts per wagon
[edit] typo
I tested DaveMcW's unloader, it does indeed unload nearly compressed 4 blue belts per wagon.

Trivial issue: The center chest (the one that goes from chest to chest to chest before being emptied by the 2 inserters into the belts) tends to empty faster than the rest, occasionally causing minimal interruptions (thus the 4 belts per wagon don't fully saturate). Even so, it is very close and good enough for me. IMHO an improved version would only be worth it if it remains about as compact as it is now, full saturation is probably not worth it if it requires a much larger footprint.

NOTE/EDIT: It requires an 8x8 balancer, or uneven ore consumption will eventually cause some wagons to empty faster while leaving others nearly full and thus causing trains to take much longer to unload... defeating the goal of fast unloads.

EDIT 2:. I found reports that even lane balancers are only a temporary solution. Eventually one of the chests would still empty and hold up the whole train. Circuit logic unload can help but it kills throughput. I have not found a good complete solution that preserves unload speed.


For those who need a way to supply trains fast enough, below is a screenshot. The blueprint and usage description is at factorioprints: https://factorioprints.com/view/-LCyNqfc04vWxjS8v8DG
unload.jpg
unload.jpg (273.34 KiB) Viewed 12231 times
Last edited by zOldBulldog on Mon May 21, 2018 10:52 am, edited 2 times in total.
Slayn25
Fast Inserter
Fast Inserter
Posts: 125
Joined: Sun May 15, 2016 5:59 pm
Contact:

Re: [Experiment] Unloading 4 compressed blue belts per wagon.

Post by Slayn25 »

DaveMcW wrote:
disentius wrote:@Slayn:
- Not extensible beyond 4 wagons
- Not enough throughput chest->inserter->belt*
1. If your train is longer than 4 wagons, getting it in and out of the station before your 6 belts empty the buffer is a bigger problem.
2. Outputting to a splitter doubles inserter throughput.
Outputting to a splitter does not double inserter throughput because even though the inserter unloads to the splitter at double speed it would a belt, the arm swivel speed remains the same. Both factors would need to be cut in half for the throughput to double.
Slayn25
Fast Inserter
Fast Inserter
Posts: 125
Joined: Sun May 15, 2016 5:59 pm
Contact:

Re: [Experiment] Unloading 4 compressed blue belts per wagon.

Post by Slayn25 »

No tunnel and not completely blueprintable but...
Image
Image
  • 6 Compressed belts/wagon
  • All original chests are drawn from equally and are lane balanced
  • Tileable
Last edited by Slayn25 on Mon May 21, 2018 8:59 am, edited 1 time in total.
User avatar
disentius
Filter Inserter
Filter Inserter
Posts: 694
Joined: Fri May 12, 2017 3:17 pm
Contact:

Re: [Experiment] Unloading 4 compressed blue belts per wagon.

Post by disentius »

Slayn25 wrote:
DaveMcW wrote:
disentius wrote:@Slayn:
- Not extensible beyond 4 wagons
- Not enough throughput chest->inserter->belt*
1. If your train is longer than 4 wagons, getting it in and out of the station before your 6 belts empty the buffer is a bigger problem.
2. Outputting to a splitter doubles inserter throughput.
Outputting to a splitter does not double inserter throughput because even though the inserter unloads to the splitter at double speed it would a belt, the arm swivel speed remains the same. Both factors would need to be cut in half for the throughput to double.
yeah.. i forgot one word there..[not] :oops:
mrvn
Smart Inserter
Smart Inserter
Posts: 5848
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: [Experiment] Unloading 4 compressed blue belts per wagon.

Post by mrvn »

DaveMcW wrote:
disentius wrote:@Slayn:
- Not extensible beyond 4 wagons
- Not enough throughput chest->inserter->belt*
1. If your train is longer than 4 wagons, getting it in and out of the station before your 6 belts empty the buffer is a bigger problem.
2. Outputting to a splitter doubles inserter throughput.
You can extend it to 6 wagons by repeating the first/last wagons pattern and you get the actually requested 4 belts per wagon.
User avatar
Lav
Filter Inserter
Filter Inserter
Posts: 384
Joined: Mon Mar 27, 2017 10:12 am
Contact:

Re: [Experiment] Unloading 4 compressed blue belts per wagon.

Post by Lav »

mrvn wrote:You can extend it to 6 wagons by repeating the first/last wagons pattern and you get the actually requested 4 belts per wagon.
Or just use a non-standard train design, like 1-2-1-2-1-2 or 2-4-2-4. Locos inside the train give plenty of space for construction.

Though every time I look at these designs, there's a nagging question at the back of my mind: wouldn't it be cheaper both resource and space-wise to simply build two parallel stations with less advanced unloading designs? :-)
mrvn
Smart Inserter
Smart Inserter
Posts: 5848
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: [Experiment] Unloading 4 compressed blue belts per wagon.

Post by mrvn »

Lav wrote:
mrvn wrote:You can extend it to 6 wagons by repeating the first/last wagons pattern and you get the actually requested 4 belts per wagon.
Or just use a non-standard train design, like 1-2-1-2-1-2 or 2-4-2-4. Locos inside the train give plenty of space for construction.

Though every time I look at these designs, there's a nagging question at the back of my mind: wouldn't it be cheaper both resource and space-wise to simply build two parallel stations with less advanced unloading designs? :-)
As I mentioned I would build 4 (or however many you need to saturate the belts with some buffer) parallel stations, unload with just one row of inserter onto underground belts going across the stations. If you don't have Bobs adjustable inserters then you need to have 2 stations with belts going down and 2 stations with belts going up and then merge them to fill both lanes of each belt. That easily gives you 6 belts per wagon no matter how many stations you have in parallel. The number of stations just saturate the belt more.
Slayn25
Fast Inserter
Fast Inserter
Posts: 125
Joined: Sun May 15, 2016 5:59 pm
Contact:

Re: [Experiment] Unloading 4 compressed blue belts per wagon.

Post by Slayn25 »

mrvn wrote:
Lav wrote:
mrvn wrote:You can extend it to 6 wagons by repeating the first/last wagons pattern and you get the actually requested 4 belts per wagon.
Or just use a non-standard train design, like 1-2-1-2-1-2 or 2-4-2-4. Locos inside the train give plenty of space for construction.

Though every time I look at these designs, there's a nagging question at the back of my mind: wouldn't it be cheaper both resource and space-wise to simply build two parallel stations with less advanced unloading designs? :-)
As I mentioned I would build 4 (or however many you need to saturate the belts with some buffer) parallel stations, unload with just one row of inserter onto underground belts going across the stations. If you don't have Bobs adjustable inserters then you need to have 2 stations with belts going down and 2 stations with belts going up and then merge them to fill both lanes of each belt. That easily gives you 6 belts per wagon no matter how many stations you have in parallel. The number of stations just saturate the belt more.
Like this?
Image
golfmiketango
Filter Inserter
Filter Inserter
Posts: 549
Joined: Fri Jan 29, 2016 2:48 am
Contact:

Re: [Experiment] Unloading 4 compressed blue belts per wagon.

Post by golfmiketango »

quyxkh wrote:

@mrvn: I think you forgot about stackers, and pace a typo (busy % is unload time / (unloadload time + interarrival) what you gave is exactly what I'm calculating.
No kidding... indeed it would seem this trick alone provides enough "juice" to complete Eradicator's assignment (or at least get really, really close) without any other noteworthy cleverness. Here's a proof-of-concept (perhaps with lots of superfluous complexity) with zero chests, zero combinators, and twelvethirteen inserters):
proof of concept
proof of concept
damnclose.png (378.95 KiB) Viewed 12087 times
blueprint string
The above just barely fails to fully compress the belts (and would certainly fail if we had to wait for the next train)... but it's damn close, probably clocking in at just a wee sliver of an item per second shy of the target. Squeezing in one more inserter->splitter somewhere would clearly supply the required throughput, assuming it isn't there already but somehow a victim of my crappy pseudo-balancer.
quyxkh
Smart Inserter
Smart Inserter
Posts: 1031
Joined: Sun May 08, 2016 9:01 am
Contact:

Re: [Experiment] Unloading 4 compressed blue belts per wagon.

Post by quyxkh »

You want four belt segments for buffering between the unload inserters and splitters, there's alread two there, just shift the balancer down two and it gets full compression.
User avatar
tzwaan
Inserter
Inserter
Posts: 42
Joined: Thu Jul 07, 2016 12:12 am
Contact:

Re: [Experiment] Unloading 4 compressed blue belts per wagon.

Post by tzwaan »

Here's a version using the splitter mechanics I threw together. It's only using the regular amount of stack inserters and a single row of buffer chests.

Image

It's actually capable of doing slightly more than 4 full belts. 4.25 to be exact. To achieve that some extra wiggling around of the output belts is needed to actually make it neat compressed belts, that I can't be bothered to do:

Image
Blueprint string
Also, I made another design which is similar to this challenge, but in the other direction (no idea whether there's a thread for that) which consumes 4 full belts per wagon.

Image

It's interesting that using the inserters from the sideloaded underground belts is actually faster when picking up items as opposed to putting them down. (54 vs 56 ticks)

Speaking of which, the information on the wiki about inserter timings to belts are incorrect, and I'm in the process of fixing them soon. But just an FYI a stack inserter to a blue belt moves 12.857 items per second, not 12.20 as indicated on the wiki. The numbers on the wiki are outdated from 0.15

So 3 stack inserters to belts will move 38.57 items which is even closer to a fully compressed belt than before.
mrvn
Smart Inserter
Smart Inserter
Posts: 5848
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: [Experiment] Unloading 4 compressed blue belts per wagon.

Post by mrvn »

Slayn25 wrote:
mrvn wrote:
Lav wrote:
mrvn wrote:You can extend it to 6 wagons by repeating the first/last wagons pattern and you get the actually requested 4 belts per wagon.
Or just use a non-standard train design, like 1-2-1-2-1-2 or 2-4-2-4. Locos inside the train give plenty of space for construction.

Though every time I look at these designs, there's a nagging question at the back of my mind: wouldn't it be cheaper both resource and space-wise to simply build two parallel stations with less advanced unloading designs? :-)
As I mentioned I would build 4 (or however many you need to saturate the belts with some buffer) parallel stations, unload with just one row of inserter onto underground belts going across the stations. If you don't have Bobs adjustable inserters then you need to have 2 stations with belts going down and 2 stations with belts going up and then merge them to fill both lanes of each belt. That easily gives you 6 belts per wagon no matter how many stations you have in parallel. The number of stations just saturate the belt more.
Like this?
Image

Pretty much. Except if you use more stations in parallel you can skip the chests. Means the stations on each side can be closer together.
User avatar
CrispyOMNOMS
Burner Inserter
Burner Inserter
Posts: 11
Joined: Sat Aug 01, 2015 1:21 pm
Contact:

Re: [Experiment] Unloading 4 compressed blue belts per wagon.

Post by CrispyOMNOMS »

I use this design. Each full express belt takes items from three unloading buffer chests almost evenly, the chest that must output more has a larger buffer in the form of two extra chests. Having two of these mirrored takes items from all six unloading buffer chests on one side of the train to output two express belts.
The extra chests are stack limited so so that all the chests that output onto belt run out at almost the same time, I chose this because I don't like the gradual slow down as chests empty at stations.

There are three stack inserter placing items onto express belt at 12.2 items/s each, totalling 36.6 items/s.
And one "top-up" fast inserter that adds the extra 3.4 items/s needed to get full express belt compression.

Image

Inserter item/s stats from https://wiki.factorio.com/Inserters#Chest_to_belt
User avatar
tzwaan
Inserter
Inserter
Posts: 42
Joined: Thu Jul 07, 2016 12:12 am
Contact:

Re: [Experiment] Unloading 4 compressed blue belts per wagon.

Post by tzwaan »

I made a pretty compact tileable design using the splitter quirck.

Image
mrvn
Smart Inserter
Smart Inserter
Posts: 5848
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: [Experiment] Unloading 4 compressed blue belts per wagon.

Post by mrvn »

Do underground belts still have a buffering effect making the inserters drop faster?
zOldBulldog
Smart Inserter
Smart Inserter
Posts: 1161
Joined: Sat Mar 17, 2018 1:20 pm
Contact:

Re: [Experiment] Unloading 4 compressed blue belts per wagon.

Post by zOldBulldog »

Quite a few people were able to come up with 4-saturated-belt per wagon designs.

But... most of those designs seem to have a flaw:

- As factories use up the resources, they typically pull more from some belt than others... what I'd call "unbalanced demand".
- Over time, the unbalanced demand ripples through the unloader leaving some of the chests the train unloads fuller than others.
- Trains fill the "emptier" chests quickly but then must wait for the full chests. There is "overall" capacity available in the unload chests, but it is in not in chests the train is able to unload to.
- The result is that the 3-5 second unload ends up stretching to 10, 20, 30 seconds and more... and as belts empty, your unload capacity drops to less than 4 saturated belts.

There are a couple band-aids for the problem.

- Placing a [4 x number of wagons] belt balancer behind the unloader does a decent job of reducing the unload chest unbalancing. But it is not perfect, it still loses some of the 4-belt per wagon saturation.
- There are circuit-based designs to keep the unload chests balanced, but they seem to reduce the throughput to about 1 saturated belt per wagon, not even close to good enough for this purpose.

So, perhaps we should raise the bar and update the experiment to: "Unloading 4 compressed blue belts per wagon... while keeping the unload chests balanced".
User avatar
eradicator
Smart Inserter
Smart Inserter
Posts: 5207
Joined: Tue Jul 12, 2016 9:03 am
Contact:

Re: [Experiment] Unloading 4 compressed blue belts per wagon.

Post by eradicator »

@mrvn: I'd be suprised if that survived the belt optimization.
____
zOldBulldog wrote:But... most of those designs seem to have a flaw:
Whatever happens after unloading is not a flaw of the unloader. If you want balancers you should go to a balancer thread.

As the original author of this thread i can also tell you that the solutoin is intended for well designed megafactories, which do not suffer the "unbalanced belt usage" problem in the first place, because by definition they are well designed, i.e. they consume all belts at full speed, and thus nothing can "ripple back" anywhere. If your factory doesn't consume all the output at full speed you don't need a high-speed unloader in the first place.
Author of: Belt Planner, Hand Crank Generator, Screenshot Maker, /sudo and more.
Mod support languages: 日本語, Deutsch, English
My code in the post above is dedicated to the public domain under CC0.
golfmiketango
Filter Inserter
Filter Inserter
Posts: 549
Joined: Fri Jan 29, 2016 2:48 am
Contact:

Re: [Experiment] Unloading 4 compressed blue belts per wagon.

Post by golfmiketango »

mrvn wrote:Do underground belts still have a buffering effect making the inserters drop faster?
Nope, that was deliberately removed from the game.
zOldBulldog wrote: - The result is that the 3-5 second unload ends up stretching to 10, 20, 30 seconds and more... and as belts empty, your unload capacity drops to less than 4 saturated belts.

There are a couple band-aids for the problem.

- Placing a [4 x number of wagons] belt balancer behind the unloader does a decent job of reducing the unload chest unbalancing. But it is not perfect, it still loses some of the 4-belt per wagon saturation.
- There are circuit-based designs to keep the unload chests balanced, but they seem to reduce the throughput to about 1 saturated belt per wagon, not even close to good enough for this purpose.

So, perhaps we should raise the bar and update the experiment to: "Unloading 4 compressed blue belts per wagon... while keeping the unload chests balanced".
This is really, really, hard (maybe impossible?) to solve without circuits. One thing that tends to help is to standardize item-travel-distance through all balancer pathways. Which is difficult AF in practice (but does not anymore in principle limit us to 2ⁿ balancers, if we ensure that feedback loops are always on disfavored ingress and preferred egress pathways (without breaking balancing, which, usually, they won't)).

On the other hand, it's relatively straightforward (straightforwardness being in the hydraulic actuation feedback sensor of the be-holder, of course...) to solve with circuits, especially at train-unload places, where we can easily know exactly how much "stuff" showed up, and therefore precisely enforce balanced (or otherwise distributed) buffering (by suppressing buffer inputs beyond the optimal/desired distribution), as well as balanced buffer emptying (by selecting and suppressing the item filters/stack-sizes/enablement of debuffering inserters). However it is notable that all these solutions work by suppressing throughput to some degree or another. That is, they tend to suggest by their very means of operation that the problem being solved is more often aesthetics-, than minmax-related... An argument can be made that under the right conditions (i.e.: demand-side seasonality) buffer ingress balancing has utility to a minmaxer, I suppose. Buffer egress balancing -- the thing that would prevent those trailing dribbles as we approach resource exhaustion -- is a heck of a lot harder to justify in utilitarian terms, ime.

This is assuming we actually favor throughput over some sort of "smoothness" or "fairness" factor, of course, which is not always going to be the case.

edited to remove (some) word-vomit :)
Last edited by golfmiketango on Tue Jul 17, 2018 10:59 am, edited 3 times in total.
mrvn
Smart Inserter
Smart Inserter
Posts: 5848
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: [Experiment] Unloading 4 compressed blue belts per wagon.

Post by mrvn »

[quote="golfmiketango"
zOldBulldog wrote: - The result is that the 3-5 second unload ends up stretching to 10, 20, 30 seconds and more... and as belts empty, your unload capacity drops to less than 4 saturated belts.

There are a couple band-aids for the problem.

- Placing a [4 x number of wagons] belt balancer behind the unloader does a decent job of reducing the unload chest unbalancing. But it is not perfect, it still loses some of the 4-belt per wagon saturation.
- There are circuit-based designs to keep the unload chests balanced, but they seem to reduce the throughput to about 1 saturated belt per wagon, not even close to good enough for this purpose.

So, perhaps we should raise the bar and update the experiment to: "Unloading 4 compressed blue belts per wagon... while keeping the unload chests balanced".
This is really, really, hard (maybe impossible?) to solve without circuits. One thing that tends to help is to standardize item-travel-distance through all balancer pathways. Which is difficult AF in practice (but does not anymore in principle limit us to 2ⁿ balancers, if we ensure that feedback loops are always on disfavored ingress and preferred egress pathways (without breaking balancing, which, usually, they can be)).

On the other hand, it's relatively straightforward (straightforwardness being in the hydraulic actuation feedback sensor of the be-holder, of course...) to solve with circuits, especially at train-unload places, where we can easily know exactly how much "stuff" showed up, and therefore precisely enforce balanced (or otherwise distributed) buffering (by suppressing buffer inputs beyond the optimal/desired distribution), as well as balanced buffer emptying (by selecting and suppressing the item filters/stack-sizes/enablement of debuffering inserters). However it is notable that all these solutions work by suppressing throughput to some degree or another. That is, they demonstrate by their very means of operation that the problem being solved is aesthetics-, not minmax-related.[/quote]

I think the problem is the balancer. All the standard balancer give a balanced output but not a balanced consumption. They don't even balance lanes usually and consumption is most often from one lane first and only from the other later. With lanes being filled from specific chests the unbalancing of the chest is sure to happen.

What you need is a 1 belt balancer that draws equally from both lanes. Getting equal draw on all belts is rather simple compared to that. Putting the same number of factories on each belt and loading each belt into the same number of chests for the next train station will keep the belts balanced naturally.

Alternatively build the factories balanced on both sides of each belt so they consume equally form both sides.
zOldBulldog
Smart Inserter
Smart Inserter
Posts: 1161
Joined: Sat Mar 17, 2018 1:20 pm
Contact:

Re: [Experiment] Unloading 4 compressed blue belts per wagon.

Post by zOldBulldog »

mrvn wrote: I think the problem is the balancer. All the standard balancer give a balanced output but not a balanced consumption.
I agree. Thank you for helping focus the discussion.

Some steps I already verified as helpful (before I posted):

- 1-belt balancers (balance left/right lanes of a belt) help to draw equally from both sides of a belt. There are well known standard designs that do it. I typically place these for every belt, between the bus and the factory bays (as a matter of fact I reserve a full chunk between the bus and the factory bay for this kinds of things).
- n-to-n belt balancers help reduce the unbalancing. I typically place these on exit from the unloader (this is in addition to any belt rebalancing I might do in the bus). So, if I am unloading a 1-2 train, I'd use an 8-8 balancer right after the unload.

Unfortunately typical n-to-n balancers are designed to distribute the input equally to all output belts, not to ensure balanced consumption on the input side when one (or more) of the output belts might be consumed at a high rate while the others aren't. A traditional balancer helps, but doesn't completely solve the issue.

----

@eradicator:

A well designed megafactory might be the only use you had in mind for high speed unloaders, but it isn't the only use. There are many other uses for it, and they are needed.

Example:
- My regular factory smelts and consumes 10 belts of copper and 10-12 belts of iron. In a resource poor map I unload and feed my smelter lines by train. Each smelter line consumes up to one saturated blue belt of ore depending on the draw at the moment, which in turn depends on what I am building/turning on.
- As a matter of fact, due to some bad choices in map settings and how I chose to design my first base, the first time I needed to unload 8 saturated blue belts was to launch my first rocket. Sure, after that first rocket that base kept launching them at a pretty rapid pace. I stopped doing much on that map then, and would only come back to use it for blueprint tests... but even so it quickly went past 200 launches.
- I *could* build a megafactory and eventually I might (or might not). I *could* break up production into train connected depots and eventually I probably will. But for now I am doing a variety of things that at times require few resources and at times lots.

The point is, there is a need for high speed unloading combined with things other than well designed megafactories. So, there is a need for dealing with the chest unbalancing effect of one belt pulling more than others on the output side.
Post Reply

Return to “Railway Setups”