I have been running analytics on some neural networks in C#. You see, we have this problem at work: a program allows users to communicate to their and their friends' mobile devices. These devices could be simple GPRS phones or embedded devices, like the kind private dicks use to track people. The compendium is a complex matrix of communication; items being: webservices, OTA (over the air), character processing (commands recognized by the devices) and runtime bytecode. Conceptually, it is a robotics problem using concepts from sensor fusion to offset the diversity.
So the idea is...
During my time away from work I decided to explore some of the deeper aspects of programming and my challenge my skills. I've been always fascinated with software that possesses its own level of intelligence, that is, it can perform functions and exhibit behaviors not unlike that of a carbon-based brain. One that I have decided to focus upon is the feed-forward neural network. As a mathematical expression, one can see how elegant the structure is and now (easy) it is to put in code. In C# it wasn't too bad as I had help from a colleague at UTIA to get me started. What I'm thinking about now is forecasting--predicting the future. Since it is a good challenge and laden with abstract polymorphisms, getting data is the first step.
iCybie and the Model 'F' is a Hit
I am happy to report that the Model 'F' is slowly coming back into the spectrum of research. I recently gave a presentation on the technology (with a small demonstration)
in London a few days ago. In five words: It was a big hit! The auditorium where I spoke was packed (around 200 people) and I was peppered with questions for nearly 90 minutes
afterward. It was quite an exhilarating experience. My professor who oversaw my Ph.D. when I was a student was beaming from ear to ear to see it have progressed so far from
a dusty idea in the Spring of 2004 (check the archives on this site to see how old) to a polished research project. I am planning to carry this project forward and understand
how energy distribution can be achieved in waiting batches of machines, such as swarms.
I must confess that I didn't have the chance to do much in the interum with iCybie; I've been swamped with software work--a cybernetically-inspired financial software system
to help regulate closely the activity of people making stock transactions (especially applied to private banking). What is really interesting about this is that I took inspiration
for the project from Stafford Beer's
CyberSyn Project in Argentina 1970 - 1973. What this means to those of you outside the field is that I have created software that is intelligent
and self-regulating, kind of like an artificial homeostatic process, that manages complex financial activities. In the present era, the motto "never send a human to do a machine's job"
is more relevant than ever. If we can create machines to do the things we can't (or are unwilling to) do, for various emotive reasons, then we should. I think this could be a super product
for a business interested in high-technology and high-profitability.
Received the power cell for Cybie yesterday from the UK and after an on-the-charger moment for about an hour, I fired up the old robot. I found myself thinking,
while the noble machine was going through its paces, about how long it had been in slumber. Casting my thoughts into what seemed like the deep past, I realized the
last time I ran it was during the winter of 2003, while running the first successful wireless power experiments on retreat at the foot of the Wasatch mountains .
Testing and general playtime was drastically cut short due to a flawed battery pack that came with the machine. Even new, the pack lasted less than an hour fully charged
and died in short order. The last thing I attempted for Cybie was The Cybie Charger slated for publication in Weber State Technical Journal early 2004. This segued to the
Model 'F' wireless power system wherein I tried to submit the power directly through magnetic tunneling, now only being realized as a viable explanation of this phenomena
after the publication of MIT WiTricity in mid-2006 (which turned me onto Multiphysics Modeling). Update: I am happy to report a successful series of tests reengaging the wireless power unit with Cybie. I have managed to work out the kinks of a miniature version and deployed it. It is too early to tell just yet, but I think the device might be successful.
So, how many days was Cybie asleep? From 20/11/03 to 05/02/08, there were a total of 1539 days or 4 years, 2 months, and 17 days inclusive, a long time to lay dormant.
As luck would have it, after four separate attempts during the duration to replace the deficit battery, running across the company while in London on my transfer presentation and thesis review at the University, the 2400mAh replacement was exactly what I had been trying to achieve to get the device underway and author some kind of study domain as the typology of machineâdirect mimic of a dog with ascribed and anticipated behaviors in the observer(s)âsince others such as AIBO and QRIO have been abandoned in research and qualification by SONY since early 2006.
Will be playing with the machine this evening and working out some experiments to check out how I can affect a machine touted with no ability for autonomous learning. There is a way, by manipulating the instructions in the processor, which can be accomplished by a C compiler and reasonable debugger.
Onto the Cybie as other business is done...regarding condition 1 of last entry Form & Function
Wanting to quote an imaginative scenario (I use the term purposefully) proposed by M.C. Escher in 1951 (in Baarn) of the creation of realizable, albeit abstract, technology. Noted publically as the Curl-Up, the text and graphic are:
The Pedalternorotandomovens Centroculatus Articulosus (curl-ups) came into existence (spontaneous generation), because of the absence, in nature, of wheel shaped, living creatures with the ability to roll themselves forward. The accompanying 'beastie' depiction, referred to as 'revolving bitch' or 'roll paunch' in laymen's terms, subsequently anticipates the need with sensitivity. Biological details are still few: is it a mammal, a reptile, or an insect? It has a long, drawn-out, horned, sectioned body and three sets of legs; the ends of which look like the human foot. In the middle of the fat, round head, that is provided with a strong, bent parrots beak; they have bulb-shaped eyes, which, placed on posts, protrude far out from both sides of the head. In the stretched out position, the animal can, slow and cautiously, with the use of his six legs, move forward over a variety of terrains (it can potentially climb or descend steep stairs, plow through bushes, or scramble over boulders). However, when it must cover a great distance, and has a relatively flat path to his disposal, he pushes his head to the ground and rolls himself up with lightning speed, at which time he pushes himself off with his legs- for as much as they can still touch the ground. In the rolled up state it exhibits the form of a discus, of which the eye posts are the central axle. By pushing off alternately with one of his three pairs of legs, he can achieve great speeds. It is also sometimes desirable during the rolling (i.e.. The descent of an incline, or coasting to a finish) to hold up the legs and 'freewheel' forward. Whenever it wants, it can return again to the walking position in two ways: first abruptly, by suddenly extending his body, but then it's lying on his back with his legs in the air, and second through gradual deceleration (braking with his feet) and slowly unrolling backwards in standing position.
â¦the i-Cybie robot has 3 CPUs: the main Toshiba TMP91C815F, a SunSite daughter CPU for sound playback (non-configurable), and a RCS-300 voice recognition CPU (non-programmable). The Toshiba microcontroller, part of the TLCS-900/L1 series, is a 16-bit CMOS CPU, has a 32-bit/16-bit register bank configuration, and is therefore suitable as an embedded controller which, through its Orthogonal instruction sets, has supporting instruction for a C compiler.
Programming the embedded controller is a task to ârepineâ_ the form and function category. It is of significant interest here to understand how the existing hardware in the robot form can be manipulated through the assembly-language constructs abstracted into C and extended into [higher abstractions] and common-use IDE and framework-driven environment to increase extensibility and ease of extensible programming. In this way, the embedded constructs can be realized in low-level processes (in a code-behind fashion) and the higher-level behaviors can be utilized more efficiently in general-purpose code.
C, historically, is a lightweight language, useful for non Visual application such as system tools and utilities. Will load it into my old iMac G3 with MAC OS 9.2.2 using Macintosh Programmer's Workshop (MPW) and see how it goes.
Thinking Out Loud
As a result of discussions with myself while cycling today, I have decided to approach the i-Cybie problem full-on and author at least two papers on the machine wherein I had decided to get my start in testing robotics as far back as 2003. On the advice of KW, in my head, I wrote the Introduction and Conclusion. The paper is based on the following three problems:
1) Form & Function (powered by the Scenario
2) Energy (driven by the fight against the Entropy
âto appear in later expository), and,
3) Orchestration (derivative of ambitions of the Compiler
In the case of i-Cybie, form is fixed (unlike NXT) and function is dependent upon form. The problem of energy in this case is finding a replacement battery with longer life, that is a higher mAh than what I currently possess and better quality construction. Orchestration is the coordination of software routines, of which are tested throughout the course of the project life-cycle.
The introduction will begin with a short discussion of the cybie robot, its features, basic description (form & function potential) and tasks to be illustrated in order to prove the problem configuration, nesting, and general notions presented in the thesis.
The conclusion will close with the proofs shown in the previous paragraphs. And point to future iterations such as:
1) NXT: fluid form & function (only fluid function with cybie),
2) AIBO: fixed form like cybie, but more (textured) functions, and,
3) Whole unique creations.
If I can get the shit underway, then that'll be something! Later.
Of late I have been working on trying to realize one of my machines while fulfilling a requirement for graduate school. I have a paper / report due to the university in September which should detail my progress over the past academic year, I have made substantial progress (sound familiar to those in America?) in learning about orchestrated robotics. Defined simply, orchestrated robotics is a means of distributing energy and information across a network of social robots. The caveat here to note is the distribution of energy clause which, in order to be true orchestration, must contain a central computing complex and a series of mobile automations:
that exchange the power and information wirelessly. Such an enterprise can be complex and, in terms of physics, it relatively is; I say ârelativelyâ because once you grasp the basic concepts, extending them to multiples and a means of achieving a wide enough resonance width wherein the power is transferred and acts as a carrier for information can pass through at the appropriate distance. However, realizing that the orchestration might exceed the limitations in the middle range exchange factor of the transmission, the use of transponders seemed a reasonable solution. They are simple: binary and trinary coils with large surface area antennas to pass the signal to the robots extending the mid-field and reducing the work required by the core to generate less stable signals in the far-field.
I am designing the queen now while at the same time learning about a new software paradigm called Multiphysics Simulation. Multiphysics is a means of model construction and simulation of the physical (mechanical and electrical) characteristics of the model to see how it will function before any prototype is constructed. It is also a big help in refreshing what I learned in university physicsâand they said we would never use this stuff!
Here is what the queen looks like at this moment:
The software is called COMSOL and Iâd recommend taking a look at it. I can honestly say it is very cool and works with MATLAB too!
Next, I will be adding the material types to the structure and simulating current passing through the circular windings and charging the shaft along the z-axis and projecting the waveforms into space. I can set my environment to an approximation of earthâs ionization and see not only how the field propagates, but get a plot of the magnitude of the wave at the receivers, which I will design and test the composite system.
Control in Animal and the Machine
Iâve been thinking about cybernetics lately or the science of control in animal and the machine. Control is one of those concepts that I can sometimes be uncomfortable with as a scientist and researcher into artificial life. On one hand, I donât want to be the hand that creates the system that I call âlifeâ_, but on the other, since the definition of life is practically nonexistent from a scientific standpoint, perhaps there is a measure of control that needs to be applied. For all intents and purposes, the AL system is a piece of technology, an engineered apparatus, that doesnât necessarily possess life (is this true, nobody knows) as an organic being does but could retain some aspect of life heretofore unseen. It is that aspect that is the crux of the problemâhow should it appear? Look closely at the language I am using: how should it appear? This implies that I expect the result to appear in some fashion wherein I would recognize it but its behavior. This is very commonplace in the world, describing objects by their behavior. Think, for instance, of a cat. When you hear the word âcatâ_ you think about its attributes: it purrs, it gets into your things and tussles them about, is aloof, and meows. The same can be applied to the word âdogâ_: it barks, sniffs around, licks you, and likes company. In either example, one sees a picture of cat or dog in their mind and sees the object in action to understand it. We know that a dog is alive, this is obvious to just about everyone; we donât know why but we donât care why a cat is a cat and why a dog is a dogâthey just are. The same can be said for life in the general sense of the word. We intrinsically know that insects and plants are alive although we donât know why. This has worked well for us during the history of our civilization, but now that we are pushing the boundaries of machine life and discovering that life exists on other planets, the term âlifeâ_ needs to be better explained as a concept to increase knowledge.
So this brings me back to the concept of control. Life on this planet is controlled by the environment. Populations are limited in their size by their coexistence with it and the resources that can support it. Humans have extended this equilibrium by the invention of technology to control the environment and allow a further increasing population. This is a synthetic form of control limited by our expertise in technology. Although synthetic, it is a form of control and must obey the same set of conditions as natural systems since all of us live in a three-dimensional world accompanied with laws of physics. So what about the artificial world? If a form of machine life is to pass between the artificial and real world, how is control represented and how should it be manifest?
Hereâs what I think. In working with simulations in Robotics Studio, Iâve been constructing a control system that shapes a set of artificial laws based on the laws of physics:
What is interesting here is I am trying to understand the artificial world represented by laws as they relate to the real world, i.e., it has gravity and friction. In order to understand how those laws affect machine life, I need to observe the consequence of friction on the velocity driven by the motors. The first text box represents the velocity I have programmatically sent to the machine (2.8 m/s) and the second text box is a feedback value of what velocity the machine has minus the affect of gravity (2.4 m/s). For this experiment, I want to understand the concept of feedback which reinforces the control mechanism in place here. The numbers are completely arbitrary but their difference and how it is reported by the machine and how it adapts by showing the difference is what is providing insight at this point in the research.
With the addition of a motif where I control the actions of the machine. This is a temporary fix to the problem of the âgod complexâ_ that I would like to remove to at least the myth level when the machine is ready to leave the artificial world and come to the real world. The code I have been writing is capable for both. It begins in this simulated world but can easily be transferred to a robot that has the same hardware configuration and access to the same programmatic domain. This is where it begins to get interesting and I am looking forward to further work.
How Should Artificial Life Appear?
A serious question Iâve been trying to address is how should life (including artificial) appear if it were to be created wholesale. I have written extensively on the subject but with each iteration, I seem to come no closer to the solution. Then it started to occur to me that perhaps it was the way I knew things that was the flaw. Returning to literature, I found an excellent paper by H.H. Pattee called Artificial Life Needs a Real Epistemology (PDF) that shook me from my state and opened thoughts about new horizons. The result is what is called an âepistemic cutâ_ or how the problem is hashed in light of the grouping of epistemology of the field. As I am starting fresh, my epistemology is fluid. To the point, I realized the âcutâ_ was: to expand knowledge about a system I knew nothing save my personal experiences there must be a neutral-ground or point of reference wherein to observe the new life developing while allowing the machine to foster independent growth. I mean, how can one expect to bring together the ingredients for life and get it right the first time? There has to be some kind of observer âcutâ_ wherein to glean knowledge and to expand insights. It is here that I begin the mode of simulation to understand what is part of the recipe and how it interplays in the machine.
Progress in Artificial Life
Theories in artificial life have been somewhat convoluted lately. We are tempted to fall back on the comforts of artificial intelligence and game theory to glean self-organizing attributes. The answer may be in agents but implementing such a feature while being able to monitor their behavior is difficult, I have discovered. So, I've taken a step back and looked at some foundations. It seems to me that it is too difficult a task for humans to design a system as intelligent or more intelligent, depending on who is defining the term. Regardless, if a system can be given the boundary conditions of autonomy and adaptation, embedded in a construction sequence, once starting to learn can alter its structure to suit the conditions it discovers in its environment. I have begun with what I call The Constructor Database.
Abstract to conference
It is an interesting experience being a graduate student. All the things one has to remember to do, like to check my student mailbox. You cannot believe how full it gets when you don't check it for three months. Grad school is cool and one of those things you have to constantly pay attention to; it's not something you can stick in the back of your mind, hope it gets integrated, provides to you automated tasks, and reminds you periodically when you should be doing something because a deadline is near. I figure the experience would be smoother if I had some sort of a "digital self" that was designed to be my perfect likeness intellectually. It would know the schedules, share the ambition, and make sure my papers weren't late.
Winter never arrived...
In the bleak and dreary Central European landscape, things are remembered and others are forgotten. I remember what it was like when I lived in the States, the things I miss and the things I'm glad are gone. I was remembering the other day my time at university in physics class; I was staring out the window while the lecture droned on around me. Suddenly, in that empty space, I had a realization that I should be somewhere else, and in that instant, I was somewhere else.
The new site is up
I am happy to present Version 2.0 of this site. It is still under construction,
so please bear with me as I optimize it.