Demystifying BEAM technology; Implicit Control; Synchronization In Nervous Nets; Alternative Ring Topologies; Periodic motion and Walking Control

Hi, I was thinking of posting the text bellow as a commentary on a robotics page I might add to my website. But before I do this I would
like to get some feedback to make sure the content is sound. Or in other wards I want to make sure my first impressions of BEAM technology are correct despite my limited reading on the subject and having not focused my studies on electronics. I will leave out the location of the website for now because it has been years since I have done anything to it. If the post is too long feel free to just read one section and make comments with regard to that section only.
John's Robotics Page
---------------------------------------------------------------------- -------------------Who am I and Why Create a Robotics Page.----------- ----------------------------------------------------------------------
I have two undergraduate degrees. One degree is in physics and the other degree is in electrical engineering. I am currently studying my masters in control system. My thesis is about parameter estimation using a quasi linear Kalman filter. I choose physics because I wanted to understand how things work. I choose electrical engineering because I wanted a job where I could create things. I considered the electrical control aspects to be the most crucial knowledge I needed to obtain these goals. I originally thought I would go into robotics until I discovered the elegant mathematics involved in control systems and signal processing. My discovery of two fields revitalized my interest in robotics. The two fields are BEAM robotics and genetic algorithms.
My attraction to beam robotics was its simplicity. I realized that I could create a walking robot from only two motors and very few transistors. It is likely that I will be able to find all of the parts I need from old electronic junk. Genetic algorithms closely relates to my research interest in the sense that a genetic algorithm could be used as an estimation algorithm. However, a more ambitious goal of a genetic algorithm is to evolve behaviour that may be construed as intelligent.
Regardless of these claims I realize that I can easily create simple robots by following simple BEAM designs. By analyzing these designs I can get new I ideas about controls. I can review the electronics I have learned and extend my knowledge of electronics. From these fist steps I can go two roots, I can learn more about AI techniques by applying genetic algorithms and simulations to improve upon these simple designs, or I can add two the simple BEAM design higher level controls and functionality such as microprocessors that would not normally be considered BEAM technology. Regardless, I get to enhance important skills well talking a break from my main areas or research.
-------------------------------------------------------------- ----------------Demystifying BEAM technology------------------ --------------------------------------------------------------
Some proponents of BEAM technology believe that their design approach will evolve machine behaviour that resembles lower level organisms. Although, evolution approaches could be used to evolve intelligent like behaviour it is not clear what complexity is required to achieve this behaviour. Nor is it clear that a BEAM architecture would be an intelligent architecture. This ambiguity comes from two questions: the ambiguity of what electronics are considered BEAM robotics; and the a lack of knowledge of the required architecture for artificial intelligence. Regardless, the strength of genetic algorithms is it can find solutions outside of conventional design approaches. Consequently genetic algorithms produce what may be thought of as more creative solutions to problems then people often produce.
The less we understand about how beam robotics works the easer the technology becomes to mystify. The control of a BEAM robot is accomplished by pulses that are transmitted around a ring and coupled to other rings, actuators and sensors. The pulse travels from one node to another.
In BEAM technology each node is called a nerve and the group of nerves forms what is called a nervous net. Typically the nerves are nonlinearly band pass filters. In the design used in [1] a capacitor blocks the DC current at the input, the output of the capacitor is a node of a resistor to ground and an inverter to the output. When the input changes from low to high the voltage one the other side of the capacitor goes from low to high because the voltage across the capacitor cannot change incautiously. This causes the output of the inverter to switch from high to low. The capacitor will then drain charge through the resistor until the voltage across the resistor is bellow some threshold value and then the inverter will switch from low to high.
If you connect four of these nerves in a ring then there are two possible modes. In one mode, one pulse travels around the ring and in another mode two pulses travel around the ring. In [1] this simple four nerve, nervous net is used to control a two motor walking BEAMbot.
This very simple BEAMbot moves forward by shifting its weight with the back legs, then pulling the BEAMbot forward with the front legs. Only one motor is used for the front legs and one motor is used for the back legs. The front motor is connected to nodes one and four in the ring and the back motor is connected to nodes two and three. Thus with very few motors and very few transistors a very simple walking robot was created.
Two very important observations should be made. The first is that all that was needed to provide the same level of control was an oscillator and an inverter. Thus the BEAM bias towards a ring of "nerves" was not the simplest design. Moreover, in [1] to reverse the direction of the BEAMbot required changing the initial conditions of the circuit. A simpler way to change the direction of the BEAMbot would be to switch the terminals of the rear motor.
We conclude that there is nothing special about this single ring nervous net. It is merely a two mode oscillator. This does not mean networks of nervous nets couldn't perform useful computational functions, however, it is not obvious that such an architecture would be the simplest architecture that would accomplish the same function. Higher level approaches must be developed by understanding and planning or by optimization. The first step of optimization is to weight the objective of various behaviours and applying an optimization algorithm such as genetic algorithms.
--------------------------------------------------------------- --------------------------Implicit Control--------------------- ---------------------------------------------------------------
Another false assumption made by proponents of BEAM technology is that the control of the BEAMbot is accomplished by pulses. There are two problems with such an assumption. The first problem is that aside from the synchronization benefits of networks of nervous nets, the motor is essentially controlled in open loop.
There is nothing special about an open loop controller. In many cases an open loop controller will provide satisfactory performance. Moreover, although this design contains no position feedback to the electrical subsystem, there is mechanical feedback to help control the position of the legs.
For instance when the rear motor pushes the right back leg against the ground the rear motor does not even turn because it does not have enough torque to counter act the torque produced by the reaction the left front leg. Thus mechanical feed back is used to control the position of the back motor. Similarly the front legs cannot turn past the body, thus by mechanical (position saturation)\(collision feedback) the robots motions is constrained. It is not obvious from the design out of the range of possible forward directions if straight forward is preferred or if sometime the robot circles to the right and other times the robot circles to the left in sort of a random fashion.
Thus like any control system feedback is applied to correct error on the output. If the feedback was obtained by using a potentiometer to determine the position of the legs it is not clear if the technology would be considered BEAM technology. Moreover if the ring of nervous nets was replaced by a single oscillators and an inverter, with using position feedback to the electrical subsystem, the design may still be simpler then the BEAM design but it probably wound not be considered a beam design. This raises the question is BEAM, a technology, a philosophy or an ideology. Is there anything special or different about BEAM technology or is just a buzzword used to create interest.
------------------------------------------------------------------ --------------------Synchronization In Nervous Nets--------------- ------------------------------------------------------------------
I have read that coupled rings of nervous nets are self-synchronizing. This raises two questions, what do we want to synchronize with this architecture and are nervous nets the best architecture to accomplish this goal. Consider the control of a mechanical spider. The spider may move forward by moving front left legs 1 and 3 backward well moving right legs 2 and 4 backwards. Again this kind of motion is just a simple periodic motion. It is not obvious that the spider couldn't be controlled by a single oscillator and inverter running the motors in open loop and using mechanical feedback to limit the range of motion. However, if it was desirable to synchronize the movement of the legs a simpler scheme may be to just use a single voltage controlled oscillator instead of a separate loop for each leg. If the leg is too far ahead the voltage applied to the VCL would be reduced if the leg is too far back the voltage is increased. Such an approach is very similar to a pahse locked loop. Moreover a phase locked loop is not considered BEAM technology.
----------------------------------------------------------------- ------------------------Alternative Ring Topologies-------------- -----------------------------------------------------------------
Even the ring topology is not a sacrosanct technology. GPS satellites used feedback between several shift registers to provide a pseudo random sequence. Thus a shift register could be used to form the ring. The shift register has the advantage that a four bit shift register has four modes of operation well the four nerve ring in [1] can only support two modes. Another advantage of a shift register is the speed at which it shifts data can easily be changed by changing the clock signal. Moreover a flop flow can be constructed from only four logic gates. And each of those logic gates has only a small number of transistors. Alternatively a flip flop could replace one of the nodes in the nervous nets to help regulate the speed and provide away to clock in a new signal to the ring nervous net. Another alternative ring topology is a transmission line. A transmission line can be simulated with inductors in series and capacitors in shunt. The advantage of a transmission line is it is completely analog and there are more possible periodic modes that could be formed around a transmission line. A flipflop could be used to close the loop around a transmission line.
---------------------------------------------------------------- -----------------Periodic motion and Walking Control------------ ----------------------------------------------------------------
Walking is essentially a periodic motion of the mussels. BEAM technology causes periodic signals to be created by propagation around rings. It is clear that by combining periodic signals complex trajectories can be described. Essentially this is just a generalization of the Fourier series. It is also clear that rings can be combined to create signals of longer period. For instance if we multiply one point from one ring with one point from the other ring, the resulting signal has a period that is the sum of the period of each ring. Other ways of combining ring include coupling and various forms of feedback. If the connections between nerves could be dynamically controlled a large number of signals could be described with less information then might be required if the entire time sequence was stored. Thus rings of nervous nets could be use to compress complex motions.
---------------------------------------------------------------- ---------------------------Conclusion--------------------------- ----------------------------------------------------------------
BEAM technology has a number of advantageous. It is simple and it is effective. It provides a good starting point for someone wishing to create simple robots as a hobby. Because there are numerous ways to propagate a signal in a ring, it should be easy to find the necessary components from junk electronics. However, BEAM technology is not magic, it doesn't always provide the simplest solution and in clearly doesn't provide the highest performance control. Moreover, when the complexity of a robot design increase it becomes less clear if the resulting product used beam technology. Thus some points should be remembered. Complex periodic motions can be created by combining loop nervous nets or shift registers. Often open loop electrical control with mechanical feedback is a sufficient to meet the performance requirements of a multiple leg-walking robot. Three methods that can be used to provide synchronization in walking robots are; coupling between loop nervous nets, mechanical limiting and phase locked loops. There is no need to categorize these techniques with the term BEAM robotics. Finally development of higher level robots should proceed with both the use of optimization techniques such as genetic algorithms and human planning.
[1] Susanne Still, Mark W. Tilden*,Controller for a four legged walking machine ETH Zuerich, Institute of Neuroinformatics, Gloriastr.32, CH-8006 Zuerich, Switzerland Biophysics Division, Los Alamos National Laboratory, Los Alamos, NM 87545, USA http://www.solarbotics.net/library/pdflib/pdf/stirling97_still_tilden.pdf
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
JohnCreighton snipped-for-privacy@hotmail.com says...

I appreciate the opportunity to make comments!

GA is something that I've always found fascinating. I hope you get to explore it more.

This is an avenue we're pursuing presently as well. Using a BEAM-style control system as the base for additional support electronics is working out well in our experiments on a new Walker kit.

THAT's been a topic of debate in the past. I consider the BEAM lable more of a "toolbox" collection of circuits, some of which are original, some are hacks, and some are simple, core elements of most electronics (R/C timing, etc). To pin that down seems superfluous to your analysis.

Find that out, and you'll be a successful man...

Some pulse trains are dead ends, that only actuate a single set of behaviours before stopping. (See the patent, featuring MWT's 8 motor Spider)

More often called "Neurons". Don't debate me on that one - I didn't invent the nomenclature; I just use it.

It might be worth referencing the physical geometry of the robot at this time. The rear motor output shaft axis is often perpendicular to the terrain, providing only thrust. The front motor can vary from parallel to the terrain to almost perpendicular. Of course, there are combinations of lift/thrust that have yet to be explored.

Assuming the nodes/neurons are arranged CW from top right corner, and you're talking about microcore circuits, and not Bicores. Bicores are 2 Nv oscillators that master/slave to other Nv's, Microcores pass one or more "processes" around the loop.

Transistors have been used, but logic gates are more convenient, and take less space.

Hmmmm. I think I'd like to hear more about this. If you want to use an oscillator to "lock-step" all the Neurons, you'll loose flexibility. It should still work, but it isn't as capable.

Most builders use a MUX of sorts to swap around the control signals from the microcore control-ring to the motor driver, which is effectively the same as what you have said above.

Again, I'd like to see an example of what you have in mind.

I'm confused by this statement. I'm not sure why you mention pulses in associate with synchronization, AND open-loop motor control. Do you mean that a single pulse ("process") microcore isn't taking advantage of being able to synchronize with other parts of the network? As for the motor being in open-loop, that's not entirely true. There is a feedback effect due to motor load that will either shorten or lengthen the period depending on circuit configuration. But ultimately, no, there is no "shaft encoder" equivalent on most BEAM devices, although there is some development using trimpot as position feedback.

Again, putting a lable on it isn't a useful use of effort, although if you can apply some sort of obvious analog component to the feedback, that would conform more to the "analog" roots of BEAM.

Ah, here's the point I've been looking for. IMHO, I consider it a design philosophy more than anything else. As for being a buzzword, I don't think you'll see the word "BEAM" used as nearly as much as "Analog Control Systems" in anything Mark Tilden's promoted in the last few years.

Hmmm. I'd have to evaluate that idea on a breadboard. I'm not convinced it would be very effective.

Interesting...interesting... Again, a breadboard is called for. I haven't seen the need to start using PLL-style circuits in any of my BEAM designs.

You might want to check out some Bicore designs, which aren't rings, but more like ladders of Master/slave/slave arrangements. They're pretty effective.

I haven't seen anything simpler with as much flexibility...yet.

Bah - pretty much irrelevant, unless if you have a NEED to define it as such.
Now, start building! I wanna see some of your PLL ideas in action ;>
Regards, Dave
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
says...

Cool, If I got this right you are the president of Solar Robotics and have published with Mark. I have so far only published one paper "REAL TIME IMPLEMENTATION OF AN ADAPTIVE FILTER FOR SPEECH ENHANCEMENT, Presented at CCECE May 2004", and have no engineering work experience. Oh well, give me time.
Anyway, thank your for your feedback.

I think I will. Did you ever read, Genetic Programming IV: Routine Human-Competitive Machine Intelligence http://www.genetic-programming.com/book /
I saw the introductory DVD. It was quite interesting. I think though if I am ever to make good use of genetic programming I would like to study some stuff on databases and distributed computing. Genetic algorithms should only be one of the optimization algorithms. There should also be many niches and it is important to properly organize what is learned. There should be an interchange of information between human designs, artificial intelligence and optimization.

Hmmm.This sounds interesting. What was the role of the microprocessor in the walker.

Is there any good references that have attempted to pin the label down. Superfluous or not I am still interested.

Okay, I guess one sub theme of my post was to question the connection between BEAM and artificial intelligence. I conceded that the some architecture that may be considered a BEAM architrave could provide the necessary computational architecture. It is just there seems to be some vibe on the net from some people that these simple devices have intelligence. This seems to be reinforced by Marks paper
Living Machines http://www.solarbotics.net/library/pdflib/pdf/living_machines.pdf
If intelligent behavior could be evolved from such simple feedback systems, then the real work horse would be genetic algorithms. BEAM is just one architecture that could be used to execute an intelligent program. I tried reading MWT's patent again.
http://faq.solarbotics.net/patent/patent.html
I originally looked at it at Christmas time but it wasn't immediately obvious to me how it worked and I had courses and stuff to worry about when Christmas was over. After reading:
Controller for a four legged walking machine http://www.solarbotics.net/library/pdflib/pdf/stirling97_still_tilden.pdf
That patent became a much easier read, although I think he made some mistakes in it.
I can see how the branching of signals from a central core out to the extremities resembles a biological organism. It is interesting to note that a tree representation of a lisp program also has a branching structure. The major difference a BEAM architecture and a program is in a program feedback is not as natural. The major advantage of a BEAM type architecture is it is very simple and it is more naturally parallel. When Mark published his patent, microprocessors were a lot bigger, more expensive and more power hunger. For robots the size of a micron or bellow I think BEAM is still the way to go. For someone looking for a Hobby by building robots out of Junk BEAM is the way to go.
For the Sony dog BEAM is currently not the way to go because the flexibility of software makes the Sony dogs easier to upgrade and modify. However, with the invention of the FPGA the connection between software and hardware is blurring. Clearly a higher performance can be obtained by specialized hardware.
For example one grad student at my university is using an FPGA to develop a hardware implementation of singular value decomposition. In robotics singular value decomposition is sometimes used to find the quickest motion for an over determined manipulator.
Similarly programmable circuits could be developed that perform the same function as BEAM circuits. There would be a write pin, read pin, input pins and output pins. Complex motions could be described by bit streams and feedback could delay the propagation of the bit streams. Learning architectures could be employed to find the optimal bit streams allowed by the programmable hardware architecture. The end result would be something that is similar to muscle memory.
BTW one bit over sampled analog to digital converters often outperform multiple bit analog to digital converters. There are two types, and there is a close connection between the AD converter and control theory.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
says...

This one right?
http://www.solarbotics.net/library/pdflib/pdf/stirling97_still_tilden.pdf

My mistake.

Okay, My next reading assignment.

Yeah, but logic gates are made up of transistors. A transistor is just a convenient way of measuring the size of a device. Granted the resisters and capacitors might not be as easy to scale to small sizes as the transistors. The interest in reducing the number of components comes both form the area of miniaturization and with a desire to minimize the use of scares resources in extraterrestrial resource utilization.
See: http://sources.wikipedia.org/wiki/Advanced_Automation_for_Space_Missions#Table_Of_Contents and: http://www.niac.usra.edu/files/studies/final_report/pdf/883Toth-Fejel.pdf
The components to make electronics use a lot of rear elements for doping and in the case of possible future extraterrestrial resource utilization this could be one of the limiting factors. Of course I am not sure if it matters given microprocessors are the size of a finger nail and amplifiers are a millimeter squared. So what is a few more transistors?

Okay, I should of worded this more carefully. Anyway, I did notice that in MWT's patient that the motors were servomotors. So maybe there was at least some local electrical feedback. It wasn't clear in the patient.

Okay, kind of like KISS is good for some problems but not every problem. It is interesting how sometimes a word helps you promote something and sometimes it does the opposite. For instance if you use the word wavlet in a signal processing paper it will get more attention. Of course a wavlet is just another basis. It is funny how fads in publishing come and go.

Okay, I guess it is time to try some stuff out. What do I need to get started? Probably a millimeter from Canadian tire would be enough. An oscilloscope would be nice and/or and analog interface to a computer. I have this stuff at school but it would be more fun to keep it as a home project.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On 27 Aug 2004 09:10:05 -0700, JohnCreighton snipped-for-privacy@hotmail.com (John Creighton) wrote:

I'm not a big fan of the BEAM approach, but in their defense, I think that there is more to it than a simple oscillator. The one point which your paper seems to miss is the influence of reluctance on the oscillator. This provides a simple force-feedback which alters the behavior of the oscillator.
Additionally, I think I would agree with BEAM proponents that the pulse-operation is beneficial. The fact is that you CAN put them into small self-propagating loops. In this way, they're closer to actual neurons than what are used in traditional neural nets.
However, I think that the behaviors seen from the pulsed circuits could probably be duplicated in software using spiking neural nets (see: http://www.aiathome.com /). The only thing that couldn't be directly modelled is the feedback effect of the motor's reluctance/inductance. However, it's probably possible to make some kind of feedback circuit which could detect the current draw on a component and create a feedback from that. Then, you could probably make far more sophisticated neuronal circuits using spiking neural nets.
Cheers, Ed L
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here. All logos and trade names are the property of their respective owners.