Saturday, February 25, 2012

3D Printed Soldering Jig

If you are looking at assembling short production runs of your electronic designs, here is a low cost idea from the I Heart Engineering manufacturing team for speeding up the process of soldering through hole parts.

Tuesday, February 21, 2012


Design for manufacturing and manufacture for reliability.

We are working on a research project here and ended up disassembling a little something. Along the way, we picked up a great tip from IKEA on how to use a zip tie to provide strain relief for crimp connectors and wire nuts.

Wednesday, February 15, 2012

Line following

Following lines isn't terribly practical, although some AGVs operate in this way. Perhaps one way to improve upon this would be to have the line produced by an overhead projector, which would allow for more flexible navigation, but ultimately I don't think that line following is the way to go - although it makes for a nice demo.

Saturday, February 11, 2012

Creatures of Culture

2012 is the Turing centenary year, marking 100 years since the birth of one of the most famous mathematicians.  Turing's contribution to the theory of computing is now well established, and popular portrayals of him typically dwell upon his wartime hacks, his sex life in Manchester and controversial death.  However, the full implications of his work have yet to be recognized, but probably will be to a greater extent in future.

What is culture?  Animals other than humans also seem to have cultures, in the form of learned traditions, but they don't seem to be quite the same as human culture.  A culture can arise when one individual acquires information not through some sort of instinct or from direct personal experience, but by acquiring it second hand from other, typically older, individuals.  If the transmission of information contains errors, as is always the case in any real world situation, then there is the possibility for information systems to change and evolve over time.  This, I think, is the hallmark of culture.

However, if iterated learning were all that was involved then we would expect cultures to change only very slowly and incrementally over long time scales.  Indeed, most animal cultures do seem to be like this.  The bird songs of a century ago are probably not all that different from bird songs today, and the tool use and gesture language of non-human primates probably was also almost identical.  Likewise if we judge the cultural evolution of our hominid ancestors from their stone tool designs and construction methods then it's also possible to see that, just like the chimps and the birds, this changes very little over tens of thousands of years.  Until Homo sapiens arrive.

With modern humans there is an explosion in the variety of toolmaking, with all kinds of specialisms for different functions.  Unlike the Neanderthals, who made more or less exactly the same hand axes time after time, the diversity of the tools of early modern humans indicates that an equivalently dramatic change was happening to their culture, enabling different lifestyles in places which would otherwise have been impossible to for them to survive in.

That change was the appearance of language.

Creatures other than humans have languages, but curiously enough not all languages are the same.  There are differences in the grammatical complexity of languages.  At one end of the scale there are regular expressions - a simple mapping of one thing to another.  At the opposite end you have recursively enumerable languages, which are far more expressive and can be Turing complete.  The categorization of languages in terms of their complexity was first identified by the linguist Noam Chomsky, and has been further elaborated since.

The natural languages of modern humans fall into this recursively enumerable category, whereas the communication systems of other animals don't seem to have this, and instead seem to be more like simple regular expressions.  This is I think a crucial distinction, and it's analogous to the distinction between computing machinery before and after the digital computer was invented.  There were calculating machines before digital computers, but they were special purpose and could only perform one, or a limited number, of mathematical tasks.  The digital computer, based upon the formalism developed by Turing in his 1936 paper, is an "anything machine".  It has a generative quality which can support the creation of virtual machines which can carry out any arbitrary type of calculation process.

I think this is what natural language does to the mind.  It transforms it into a new type of machine.  It's not quite an anything machine as pure as Turing's mathematical abstraction, since the human brain carries with it plenty of evolutionary baggage, but language allows ancient systems which evolved over vast expanses of time and for very different purposes to be recombined and remixed in novel and recursive ways - like a rap artist remixing old classics to make something new, or the same ingredients of a recipe being combined in a different order to get a different result.

Just like with cloud computing, virtual machines can span across multiple minds.  They don't necessarily need to be confined to a single processor.  When this happened I think it precipitated a computational revolution in the ways of life of early modern humans, which made many cultural phenomena such as ideologies, religions, folklore, histories, trading practices and other such meta-systems possible.  Virtual machines moving between minds also helps to overcome the classic problem of the poverty of stimulus.  It may not take much initial information transfer to trigger the emergence of a larger complex system within a computational substrate via a process of self-organization.

So it seems likely that Turing's legacy extends far beyond the making of computing machines into the areas of culture and human history.  As Stephen Wolfram found, it takes remarkably little effort to build a Turing machine.  Out there in the computational universe, Turing machines are, so it would seem, available in abundance, and the changes in brain structure needed to support them could have been quite minor.  In my estimation there could be Turing machines out there in human culture which are not recognized as such today, but probably will be in future.

Sunday, February 5, 2012

Sociable robots

The field of sociable robots still has a long way to go, with robots such as Cog and Kismet (now museum pieces) being just the tip of a very large iceberg of research possibilities.  Once you get into the issues which arise when multiple minds interact then a lot of previous work from sociology or social psychology suddenly becomes relevant, and these areas appear to have been largely overlooked by the mainstream of AI research thus far.  I think in the longer term these factors will prove to be essential to building genuinely human-like machines which can seamlessly integrate with the world of humans.

So once you're an embodied being with an ongoing existence then you can build up episodic memories as a catalog of your recent salient experiences, and deciding how long these memories stick around depends upon how much affective impact they had, and in turn it seems that the origins of affect are not just something static coming from objective environmental stimuli but can be manipulated in various ways, such as episodic framing or intergroup emotions.  Variable rates of decay in different dimensions of affect associated with memories can produce different personality types, reminiscent of the "real people personalities" from the Douglas Adams books.

Contemporary social robots only manage to reproduce a few elements of second order relations (theory of mind), whereas when you look at the complexity of relations which most humans can deal with it's up to 5th order or beyond.  So, for example a second order relation is something like "I can imagine what you are imagining", but within a typical novel or TV soap opera you have longer chains such as "The reader/viewer knows that character X believes that character Y wants to do Z".  Once you've mastered the second order then understanding more complicated relations seems to be just a loop over the same structures.

In the near term I think most robots aren't going to need real people personalities or social smarts - they'll just be treated as appliances - but the history of toy robots such as the AIBO or Pleo demonstrates that there is a market for robots which aren't exclusively about utility or convenience but which exist in the web of minds as dynamic personalities.