These two weeks, we were to 1) experiment with motion restriction and kinematics, thinking about the gestural machine ideal, and 2) model the operation of a self-reproducing machine.
Motion restriction, gestural machines
I added ultrasonic sensors to the optical flow sensor, and I also characterized a reflectance measurement based on one of the internal registers. I will use this to control the drift of the integrated velocity signal.
As I did the readings, the distinction noted by Moshe (shown in figure below) was on my mind constantly. On the left, we have simple, completely describable systems like CA's and quines, which without a doubt reproduce themselves. On the right, we have thought experiments those of Von Neumann that ignore many details of operation (e.g. energetics, actuator limitations, self-intersection, elasticity) but are amazingly capable.
I found myself, like Moshe, wishing for things in the middle, that are capable of performing tasks in a world with physics, but are simple enough to simulate and eventually implement. Some of the readings address this (e.g., Griffith, Zykov), but I found myself wanting systems that (at least in the first couple generations) rely on a tiny bit of "hand of god" to increase performance.
Many of the replicating machines at the right end of the spectrum propose using a tape to encode data, programs, and structure. Von Neumann discussed building up a tape with rigid members where the presence/absence of a perpendicular member encoded a binary state, and Liang (above) uses tapes in his kinematic machines. Even before invoking the DNA analogy, the power of this serial structure is evident and appealing.
I started trying to imagine how to bring a "tape-world" more towards the center of Moshe's plot. In this world, tape is the fundamental carrier of information, structure, and function. Many fabrication processes run naturally on serial streams in the form of masks, patterns of traces, etc., so I thought it should be possible to make self-replicating tools (at least with a little help from "hand of god").
One of the fundamental capabilities identified by Von Neumann is to copy data. In my tape-world, this is accomplished by using an incoming data tape as a mask in a laser etching/deposition process. We can think of the laser as one of Von Neumann's stimuli producers, and the masking tape as an inhibitory organ.
The optics of this process can also be used to scale data up or down on the tape. For instance, after an initial seed, we can feed the output back in with a size reduction to reduce a pattern to the optical limit.
Similarly, material can be deposited onto a substrate tape from a feedstock tape, based on the pattern on a mask tape. Many existing devices use processes like this (e.g. a laser printer, shown below). This junction is similar to Von Neumann's coincidence member.
These processes have been illustrated with binary data (material present or not present), but we can create the analog of integer storage by controlling the presence of material across the width of the tape. While logical operations are just as happy to be represented serially, engineering applications benefit from this new freedom in tape world. To implement this, we can use the optical scaling described above. A laser etching machine takes in two masks, feeding them side-by-side. The optical scaling compresses them to fit on a single tape width, the physical analog of bit concatenation.
These processes give us the ability to carve away sections of tape, deposite material from carrier tapes onto substrate tapes in the pattern of mask tapes, and do bitwise operations on along the width of tapes. What can we build this way?
If we have gears and other cylindrical mechanisms, we are well on the way to building the infrastructure for handling tape. To convey tape, let's see about motors. Below is a brushless DC motor -- We can easily imagine "unrolling" the stator into a long tape, patterned with conductive traces for the coils, iron patches for the cores, and magnetic patches for the permanent magnets.