Implementation of a Precision Arbitrary Minecart Oscillator
Kogan Onulsodel, Dwarven Institute of Technology
I demonstrate a precision minecart oscillator, the Arbitrary Time Oscillating Minecart Signal (ATOMS). Utilizing multiple ATOMS, I demonstrate the Modular Oscillatory Logical Extreme Clock Unified for Labor-saving Enjoyment (MOLECULE) capable of producing signals at any arbitrary time relative to any other time in the oscillator period.
INTRODUCTION:
Minecarts have proven a powerful tool for dwarfputing and, in particular, the generation of oscillators and clocks. The ability to generate a time delay using the transit time of a minecart track allows for the possibility to generate arbitrary delays, rather than ones constrained by the time delay of triggers, generally allowing a resolution of 100 ticks. In addition, characterization of minecart physics has prepared the way for detailed, careful plans for minecart tracks.
However, oscillator designs so far, while powerful, have generally not exploited the theoretical potential of the field. Ultimately, it is possible with minecart oscillators to set arbitrary triggers, delayed by a well-defined time, chosen to the individual tick. I present an oscillator that is fully capable of producing this in a straightforward manner. The oscillator is a modular design, referred to as the MOLECULE, composed of several ATOMS. I first detail the ATOMS design below, then demonstrate the combination of multiple ATOMS to form a MOLECULE.
ATOMS:
The ATOMS design utilizes a combination of rollers, impulse ramps, and the checkpoint effect to produce a well-defined position and speed at every point in the track, which does not vary from one cycle to the next. A continuous loop is dug out to form a complete circuit. The loop begins with rollers and impulse ramps to accelerate the cart to a speed of approximately 100,000. For the rest of the loop, I alternate impulse ramps and level track such that the checkpoint effect is constantly at work.
The initial digging for the basic design with a maximum range for trigger timings T consists of a simple loop of dimensions 3 by (T+6)/2. In addition, tiles must be dug out for power distribution to the roller. These tiles must be dug from a corner parallel to the long axis of the loop. For example, for a very short version of the basic design, with T=14, a 3x10 loop is dug:
+OOOOOOOOOOO
+++++++++++O
O+OOOOOOOO+O
O++++++++++O
OOOOOOOOOOOO
The additional floor tile in the northwest corner is dug out to simplify the powertrain later in the design, particularly allowing two ATOMS to be placed side by side with a single gear driving them. For construction of the MOLECULE, pairs of ATOMS are always activated together, such that this design is particularly helpful.
For simplicity, I have assumed the use of constructed track ramps to create impulse ramps. However, as this can be much more labor intensive than carved ramps and track, it may be preferable to carve the ramps at this stage. If so, the design is as shown below:
+OO OO OO OO OOO
++▲▲▲▲▲▲+▲+O
O+O OO OO OOO▲O
O++ ▲+▲+▲+▲ +O
OOO OO OO OO OOO
Note that the design requires level floor on the corners, implying a long axis that is an even number of tiles in length. The shortest possible track for this design is 3x8, with T=10. A modified design will be demonstrated below which allows other possible lengths.
Once the initial shape of the loop is dug out, track must be carved or constructed on every tile. All ramps should be carved as impulse ramps, and 3 of the 4 corners should be carved as corners, with the input of the loop as the exception. The result for the T=14 design should be:
+═▲▲▲▲▲▲═▲╗
O║OO OO OO OO▲
O╚═▲ ═▲═▲ ═▲╝
with walls surrounding the whole track and all ramps impulse ramps which accelerate the minecart in the clockwise direction. A highest speed roller is then added with powertrain:
☼OOO OO OOOOOO
╟╢▲▲▲▲▲▲═▲╗O
O║OO OO OO OO▲O
O╚═▲ ═▲═▲ ═▲╝O
OOOO OO OOOOOO
I used a two tile long roller to simplify the powertrain, as there is virtually no additional cost to the use of the two tile roller. The roller, in this example, pushes east. A minecart is added on the roller adjacent to the 6 tile impulse ramp. When activated, the roller will push the minecart onto the impulse ramp, which will lead the minecart to quickly circulate on the loop. A pressure plate can be placed on any of the level track tiles, allowing a trigger every 2 ticks once the minecart leaves the initial stage of acceleration. Note that triggers are primarily sent at odd times, for the first pressure plate trigger defined as t=1, though a pressure plate on the final corner is guaranteed to be at precisely t=T. An additional pressure plate may be added on the final tile before the roller, though it is not guaranteed that this pressure plate will be activated precisely one tick after the previous one, if friction slows the cart sufficiently.
A simple modification allows for T=12,16,20... designs which are out of phase (i.e., pressure plate triggers are primarily at even times) with the original version when they are activated at the same time. A second tile of level track immediately after the long impulse ramp is added. Otherwise, the design is virtually identical, with a length of 3 by (T+6)/2. I will hereafter refer to this as the 2nd type ATOMS design (the original design may be referred to as 1st type). For example, the above example might be paired with a loop of size 3x11 and T=16:
OOOO OO OOOOOOO
O╔▲═▲ ═▲═▲═▲╗O
O▲OO OOOOOOO▲O
╟╢▲▲▲▲▲▲══▲╝O
☼OOO OO OOOOOOO
In this example, the wall with the gear assembly is shared by the two ATOMS setups.
ANALYSIS OF ATOMS:
The oscillation for the ATOMS setup above consists essentially of two stages: First, an acceleration stage, which initializes the minecart to a high speed of approximately 100,000. The ATOMS setup acceleration stage lasts a total of 12 ticks. Thus, a trigger to activate an ATOMS setup will result in a first pressure plate trigger a minimum of 13 ticks later. This has both been calculated from known minecart physics and experimentally measured on my prototype setup. Second, the ATOMS setup has a trigger stage, where the minecart passes over alternating track and ramps, with the possibility of placing pressure plates on every level track tile. This allows an ATOMS in the trigger stage to send a trigger every two ticks.
It is clear that the trigger stage can be made extremely long by extending the length of the loop. As noted in my previous paper, there is some uncertainty about the presence of friction under the influence of the checkpoint effect. As such, I can only place a lower bound on the length of the trigger stage allowed by this setup. Assuming that friction is applied as normal for tiles with track, that is, 10 deceleration per tick, and that corners also cause a reduction in speed of 1000, as normal, it will take approximately 2500 ticks for this setup to approach the minimum speed of just over 70,000 required for a minecart experiencing the checkpoint effect to continually travel at 1 tile/tick. As such, I can safely say that the maximum T allowed by this setup is likely over 2500.
Considered as a simple oscillator, ATOMS is capable of producing clock-precision signals. Because there is no corner carved into the track at the start and end of the circuit, the minecart collides with the wall, cancelling all of its remaining forward momentum from the previous cycle. The roller then restarts it, and it travels down the impulse ramps, achieving the same well-defined speed and position on each cycle of the loop. As a stand-alone oscillator, therefore, ATOMS is quite powerful, as it is capable of producing clock-quality signal with efficiency (defined as the number of ticks in which a trigger can be sent divided by the total number of ticks in a period) approaching .5 for a long loop.
MOLECULE:
In spite of the power of ATOMS, the combination of multiple instances of the device can create an even more powerful setup. I here outline a method for combining multiple ATOMS setups to create a setup which can have arbitrarily long period and generate signals at any arbitrary time in that period.
First, consider the matched paired of ATOMS discussed above. Note that at every point in the trigger phase where one minecart is on a ramp, the other is on flat track. As such, it is possible to generate a signal at any arbitrary time in the trigger phase. Additionally, note that, if a similar pair was designed for T>90 on both setups, it could be activated by a pressure plate, and if that pressure plate is not triggered again until after both minecarts return to the start position, the pair of ATOMS setups will be kept synchronized.
Finally, consider two or more matched pairs of ATOMS setups, as described above. It is possible for each in such a series of pairs to trigger the next pair, until the final pair triggers the first.
For a concrete example, I have implemented a MOLECULE consisting of four ATOMS. Each pair consists of T=100 (2nd type) and T=102 (1st type) ATOMS. A pressure plate in each setup triggered at t=88 activates the other pair. This pressure plate is physically located on the 2nd type ATOMS at coordinates (2,12) for the location of the roller for the 2nd type ATOMS defined to be (0,0). That is, it is located 12 tiles away from the final corner of the 2nd type ATOMS setup. This leads to the other pair giving its first trigger precisely at t=101. Thus, the overall setup has a precise period of 200 ticks, and a pressure plate is activated at every single tick of the cycle.
Finally, to facilitate maintenance, a pair of levers are used to disable the entire setup and to activate it. The powertrain required is shown below:
Pair 1:
+☼☼
☼☼☼
Pair 2:
☼☼☼
++☼
Levers:
Disable oscillator
Starts oscillator
Sets polarity for pressure plates, also linked to pressure plates
The green lever must be pulled once simply so that a pressure plate activates, rather than disables, the appropriate ATOMS. The black lever is pulled to start the oscillator, and must be pulled again immediately (within approximately 110 ticks) to prevent the first pair rollers from being always active. A latch could be implemented to simplify this operation. The red lever can be pulled to disable the setup for maintenance.
A different period setup could be implemented simply by changing the positions of the pressure plates. Longer tracks or more pairs of ATOMS could be used to make much longer periods. However, this system does have a limitation in that it will require considerably more engineering to allow much shorter periods.
CONCLUSION:
I have demonstrated a minecart oscillator that can be of arbitrary period, with triggers at any arbitrary time within that period. This setup allows perfect control for automated bolt splitting and marksdwarf training, danger rooms, traps, and any other operation which the community may choose.