Friday, February 23, 2024

Memetic Engineering as a Basis for Learning in Robotic Communities



Memetic Engineering as a Basis for Learning in Robotic CommunitiesThis paper represents a new contribution to the growing literature on memes. While most memetic thought has been focused on its implications on humans, this paper speculates on the role that memetics can have on robotic communities. Though speculative, the concepts are based on proven advanced multi agent technology work done at NASA - Goddard Space Flight Center and Lockheed Martin. The paper is composed of the following sections : 1) An introductory section which gently leads the reader into the realm of memes. 2) A section on memetic engineering which addresses some of the central issues with robotic learning via memes. 3) A section on related work which very concisely identifies three other areas of memetic applications, i.e., news, psychology, and the study of human behaviors. 4) A section which discusses the proposed approach for realizing memetic behaviors in robots and robotic communities. 5) A section which presents an exploration scenario for a community of robots working on Mars. 6) A final section which discusses future research which will be required to realize a comprehensive science of robotic memetics.

https://ntrs.nasa.gov/citations/20160007482

https://ntrs.nasa.gov/api/citations/20160007482/downloads/20160007482.pdf

Memetic Engineering For robots, memes have been defined as sets of instructions that can be followed to evolve behavior. Instructions can be encoded as written text and visible or vocal action (Silby, 2000). To allow for memetic learning, memes should also include observations of the environment. A robot that is able to observe and intelligently imitate the behavior of others is able to participate in memetic learning. In order to perform intelligent imitation, a robot needs to be able to process memetic information. This process involves evaluating models, examples, and patterns which the robot observes (Hougen et al., 2003). In addition, the robot is expected to analytically compare its current knowledge to the new information it is observing. A robot has modified its individual knowledge base when it learns a new meme. Each robot is expected to evaluate active memes in the community knowledge base for strengths and weaknesses when deciding whether to learn them. It can be expected that each individual robot will benefit from the aggregation of other robots which are also participating in memetic learning. When the community knowledge base and size expands, there is a larger selection of memes which can be evaluated and learned. With a larger community knowledge base, a robot has a larger selection of memes to modify to develop novel memes. All individuals capable of participating in memetic learning are able to generate new memes. Also, individuals who are able to broadcast observations are capable of generating new memes. The memes that are in the knowledge base of a robot are in constant competition with all other memes in the meme pool (Silby, 2000). The meme pool is the collection of all existing memes that are accessible to the other individuals in the community. An individual robot may develop new memes that become candidates for imitation in the community meme pool. The community meme pool increases with the addition of novel memes generated by individual robots in the community. The connection between an individual knowledge base and the community meme pool is similar to the structure of a distributed cloud network. A distributed cloud network is structured so that each individual is connected to the cloud where they can have limited abilities to explore large areas efficiently. NASA has shown increased interest in robotic teams for exploration and servicing. In these teams different robots would have various roles and responsibilities. To work together in a team, robots will need to exchange information on their current status, needs, capabilities and findings. Using memes as an unit of transmission could facilitate this needed information exchange. Memetics has been a recent subject of interest as a new method for information exchange (Silby 2000, Hougen et al., 2003, Aunger 2002, Blackmore 2000, Wilson et al. 2011) . In communities, memes have been studied to understand and enhance group learning (Hougen et al., 2003). Richard Dawkins first defined memes as a unit of cultural transmission (Dawkins, 1989). Essentially, memes are ideas that evolve according to the same principles as biological evolution (Silby, 2000). Memetic learning works by transmitting units of cultural ideas or symbols from one mind to another. All ideas that exist within an individual's mind are examples of memes. Memes that are good at replicating leave more copies of themselves in minds. Examples of memes are catch phrases, musical themes, scientific ideas and sayings. In robotics, examples of memes are algorithms, observations, and instructions. Figure 1 - Visual Representation of Memes Memes benefit from having behavior similar to genes (Gunders, 2010). Like genes, memes are under constant selection pressures. Memes are in constant competition to be absorbed and evolved from the collection of memes in the community. Memes are competing to be learned and those that are better at reproducing are those that are successful in accomplishing their intended behavior. Memes give communities more power and knowledge to accomplish their tasks. There are still many unknowns regarding the representation and transmission of memes in a robotic community. Memetic Engineering For robots, memes have been defined as sets of instructions that can be followed to evolve behavior. Instructions can be encoded as written text and visible or vocal action (Silby, 2000). To allow for memetic learning, memes should also include observations of the environment. A robot that is able to observe and intelligently imitate the behavior of others is able to participate in memetic learning. In order to perform intelligent imitation, a robot needs to be able to process memetic information. This process involves evaluating models, examples, and patterns which the robot observes (Hougen et al., 2003). In addition, the robot is expected to analytically compare its current knowledge to the new information it is observing. A robot has modified its individual knowledge base when it learns a new meme. Each robot is expected to evaluate active memes in the community knowledge base for strengths and weaknesses when deciding whether to learn them. It can be expected that each individual robot will benefit from the aggregation of other robots which are also participating in memetic learning. When the community knowledge base and size expands, there is a larger selection of memes which can be evaluated and learned. With a larger community knowledge base, a robot has a larger selection of memes to modify to develop novel memes. All individuals capable of participating in memetic learning are able to generate new memes. Also, individuals who are able to broadcast observations are capable of generating new memes. The memes that are in the knowledge base of a robot are in constant competition with all other memes in the meme pool (Silby, 2000). The meme pool is the collection of all existing memes that are accessible to the other individuals in the community. An individual robot may develop new memes that become candidates for imitation in the community meme pool. The community meme pool increases with the addition of novel memes generated by individual robots in the community. The connection between an individual knowledge base and the community meme pool is similar to the structure of a distributed cloud network. A distributed cloud network is structured so that each individual is connected to the cloud where they can access the knowledge bases of others in the community pool. Individuals will be able to quickly access, process, and analyze the collective knowledge within the cloud (Krutz et al., 2010). Figure 2 - Visualization of Memetic Knowledge Base Related Work Memes can be utilized for many other applications other than robotics. One example has been tracking memes to develop a coherent representation of the news cycle - the daily rhythms in the news media that have previously been difficult to perform quantitative analysis (Leskovec, Backstrom, & Kleinberg, 2008). By using memes, Leskovec et al were able to develop a framework for tracking short and distinctive phrases that travel relatively intact in media. Further, the change in information as it propagates was able to be observed. Using memetics in this model has provided a method to see how a particular idea moves within and between groups. Memetics also has the potential to enhance our study of psychology. Memes can be used to discover the origin of certain psychological conditions. By modeling the mind as a memetic construct, conditions such as depression or addiction might be explained by memetic viruses that influence the behavior of an individual (Silby, 2000). This method may provide a path to pinpoint methods to prevent the spread of malicious psychological conditions. The most powerful adaptation of memetic systems is the ability to predict behavior and evolution of future memetic structures. In the future, psychologists may be able to model memetic learning within communities and predict what will happen when individuals are exposed to combinations of memes. With this knowledge, memes will become a driving force in the study of human behavior (Silby, 2000).

Sunday, August 20, 2023

Documenting my Massive Multicore CPU Startup from 2001.



My 2001 Efforts: 

http://www.ultratechnology.com/ml0.htm


His hardware was designed to support a simple approach to software and to be fast and cheap. The software was designed to be as simple and efficient as possible. While a couple of C compilers have been produced they have not included significant optimization. There remains much work to be done to integrate this technology to the larger world of standard development tools. Forth was made public domain long ago and there was a PD Forth community before the new Free Software community. The fact that these designs and the required software is so simple makes them ideal for Free Software projects.

Mr. Moore met John Sokol while doing a presentation for the Tech Startup Connection, formerly the Parallel Processing Connection, about these designs and his approach to VLSI CAD. Mr. Sokol, well known in the BSD community and as an Internet video pioneer, expressed interest in a new design for a cluster chip with multiple CPU and memory nodes connected via register based communication busses. Mr. Sokol brought the interest and expertise to support integration with conventional software tools and Enumera was formed.

25X a 63,000 MIP Parallel Multiple Stack Computer Cluster Chip for $1

The latest chip design is more difficult to describe because the outside of the chip, the action of the pins, is programmable. It can be programmed to mate directly to an 18-bit cache RAM without the need for a circuit board. It essentially uses the same CPU architecture and instruction set as F21 from a programmer's point of view with an increase of the instruction count to 29. But the layout of gates is quite different and new and Chuck is exploiting some new tricks to push the state of the art in hardware performance. In addition to being an asynchronous processor design this design also uses more dynamic logic and has a more high level description of the layout in colorforth source.

25X it is designed to be a very small chip that could be sold for about $1 in quantity. Small volume prototype runs are substantially more expensive. 25X contains 25 CPU core each with its own memory. They are connected to each other via internal communication busses and to the outside world via the pins. With 25 2400 Forth MIP CPU on a one dollar chip the metric is 63,000 MIPS per dollar of hardware. A production cluster chip could be larger than a one dollar chip for millions of MIPS but a tiny one with only 25 CPU can be prototyped more easily. As Mr. Moore said, "They are small. They don't do much, but they do it very fast." [Moore, 2002]

The chip could be programmed to act as other more conventional parts, as a single chip or be used as a node in a larger parallel computer. Like an FPGA or general purpose computer it is very difficult to describe exactly what the things you can make with it could do. 25X is more like an FPGA with 2400 MIP Forth engines as logic blocks than a typical desktop processor. I think the 25X design looks like most of a multi-line gigabit Internet router on a $1 chip, something that one would snap on the end of a fiber to connect it to other fibers or anything else.

Because these designs are simple at both an abstract and gate count requirement level they seem to be the little engine that can. These highly gate and code efficient designs can often be the most efficient way to perform the programmable functions in some device. They allow cheaper FPGA or cheaper custom VLSI part options for many mundane computing operations because they are small and run compact code and they simplify the task of programming. To become more mainstream these designs will require development tools and pre-packaged hardware devices with software libraries. As more people become aware of these technologies perhaps people in the Free Software community may find ways to integrate the technology.


Enumera website from 2001.  Thank You archive.org.

https://web.archive.org/web/20010307063852/http://enumera.com/

2007

https://slashdot.org/story/07/08/20/1830221/mit-startup-unveils-new-64-core-cpu

It's was called Enumera www.enumera.com

I started to work with Chuck Moore, the author of the FORTH Language on a 7X7 array of very fast small processors.

From at talk I did, February 16, 2001
From http://www.dnull.com/~sokol/amorp/emtalk.ppt [dnull.com]

On this size Chip a 7x7 array (49 CPU's) with ram could be
build. Co-processors could also be added.
Each CPU's would be operating at 2400 MIPS x 49 for a total of 117 Billion operations per second.
The power consumption would be 1 watt 1.8 Volts a 500 mA.
With this level of computing power new applications that were unthinkable before, now become possible.

Also mention earlier on Slashdot:
http://developers.slashdot.org/comments.pl?sid=138 584&threshold=0&commentsort=0&mode=thread&cid=1160 0799 [slashdot.org]

And earlier here:
http://www.colorforth.com/ [colorforth.com] 25x Multicomputer Chip

This eventually became IntellaSys after Enumera failed.

IntellaSys CTO Chuck Moore to Present at In-Stat Spring Processor Forum; Scalable Embedded Array Platform for Implementing Asynchronous, Scalable Multicore Solutions Using Elegant VentureForth Programming to Be Discussed in Detail

http://www.intellasys.net/products/24c18/SEAforth- 24A-3.pdf [intellasys.net]
http://www.findarticles.com/p/articles/mi_m0EIN/is _2005_Oct_24/ai_n15730157 [findarticles.com]
http://www.findarticles.com/p/articles/mi_m0EIN/is _2006_May_1/ai_n16135032 [findarticles.com]

Also for older info see:
Specifically look at the P21 / I21/ F21 chips...

http://www.enumera.com/chip/ [enumera.com]
http://www.ultratechnology.com/ml0.htm [ultratechnology.com]
http://www.ultratechnology.com/f21.html#f21 [ultratechnology.com]
http://www.ultratechnology.com/store.htm#stamp [ultratechnology.com]
http://www.ultratechnology.com/cowboys.html#cm [ultratechnology.com]

BRING YOUR ROBOT MOTIONS AND MECHANISMS TO LIFE

 https://motiongen.io/

  • Design and animate mechanisms for making your robots move, such as walking robots, drawing bots, grabbers, etc.
  • Visualize in 2D and 3D using different view options.
  • Design and draw your own simple shapes, which you can attach to mechanisms. Add your own context and scenes.
  • Prototype your completed robot using SnappyXO hardware kits.
  • Export custom part geometries for 3D printing and laser-cutting.

Saturday, August 5, 2023

Hacker Dojo Lightning Talks: Robotics Open Mic | August 4, 2023

Reflected Inertia: A Dance Between Motors and Gearboxes

today we're going to dive into something a bit mechanical but absolutely fascinating. Imagine your favorite dance duo; they glide across the floor, moving in unison, one leading, and the other following with grace and precision. Now, what if I told you that motors and gearboxes have a similar dance going on? Enter the world of reflected inertia! 🕺💃

Let's Break It Down

Imagine you have a spinning ice skater (that's our motor) and she's holding a big spinning umbrella (that's our load, like a machine part or a wheel). If she's spinning it directly, she'll feel the weight and find it pretty hard to keep spinning.

Now, add a magical gearbox with a special gear ratio, and it's like putting a mechanism between her and the umbrella that makes it feel lighter! This magical transformation is what we call reflected inertia. Cool, huh?

The Gear Ratio: Our Magic Spell

The gear ratio is the magic spell in our gearbox. It transforms how heavy the load feels to our motor. If the ratio is high, the load feels lighter. If it's low, it feels heavier.

Here's the magic formula:

=×()2

No need to be scared of the math! Think of it as a recipe for the perfect dance between our motor and load.

Why Does This Dance Matter?

Great question! Here's why this motor-gearbox waltz is so important:

1. System Dynamics

Get the dance steps wrong, and you'll trip over each other's feet! In other words, if you miscalculate the reflected inertia, your machine might not work smoothly.

2. Motor Sizing

Choose the right partner! If your motor is too small or too big, the dance won't be as graceful or efficient.

3. Energy Efficiency

A well-choreographed dance looks effortless and beautiful. Similarly, a well-matched motor and load use energy more efficiently.

4. Avoiding the Shakes

Ever seen dancers wobbling uncontrollably? That's like a mechanical system hitting its resonance frequency. Understanding reflected inertia helps avoid these mechanical "shakes."

5. Perfect Control

Just like a dance instructor guiding the perfect routine, understanding reflected inertia helps you design the perfect control strategies for your machines.

Conclusion: The Dance of the Machines

So, next time you see a machine whirring away, remember that there's a beautiful dance happening inside. The motor, gearbox, and load are all moving in unison, guided by the grace of reflected inertia. 



Reflected inertia is a crucial concept in mechanical systems involving motors and gearboxes. It's particularly significant in the analysis and design of motion control systems. Here's an explanation of what reflected inertia is and how it pertains to motors and gearboxes:

Inertia

Inertia is the resistance of an object to a change in its state of motion. It's related to the mass of an object and the way that mass is distributed. In rotational systems like motors, the moment of inertia describes how difficult it is to change the rotational velocity of the object.

Gearboxes and Reflected Inertia

In a system that includes a motor and a gearbox, the motor has to overcome not only its own inertia but also the inertia of the load, as seen through the gearbox. This is where the concept of reflected inertia comes into play.

When a motor drives a load through a gearbox, the gearbox's gear ratio alters how the inertia of the load appears (or "reflects") to the motor. Essentially, the load's inertia is "transformed" by the square of the gear ratio, and it's this transformed inertia that the motor "sees" and has to overcome.

Mathematical Representation

The reflected inertia () can be calculated using the following equation:

=×()2

Where:

  • = reflected inertia at the motor side
  • = inertia of the load
  • = gear ratio (ratio of motor speed to load speed)

Why Is Reflected Inertia Important?

Understanding reflected inertia is vital for various reasons:

  1. System Dynamics: It influences how the system will respond to commands and disturbances. Incorrect estimation can lead to overshooting, poor response, or instability.

  2. Motor Sizing: It impacts the size of the motor required. If reflected inertia is not properly taken into account, the motor may be under- or over-sized, leading to inefficiencies or system failure.

  3. Energy Efficiency: Properly matching the motor to the reflected inertia can improve energy efficiency, as the motor can be operated closer to its optimal operating point.

  4. Vibration and Resonance: The mechanical resonance frequency of the system depends on the total inertia, including reflected inertia. Understanding this helps in designing systems that avoid resonant frequencies, thus preventing vibrations and potential damage.

  5. Control Design: Accurate modeling of the system's inertia, including reflected inertia, is essential for designing effective control strategies.

In conclusion, reflected inertia is a vital concept when working with systems involving motors and gearboxes, affecting system dynamics, design, efficiency, and control. Proper consideration and understanding of this concept can lead to more robust and optimized mechanical systems.