Sunday, September 27, 2009

Intelligence embeded in morphology?

Recent years, the bio-inspired robotic community became very interested in the idea of embedding control strategies into the structures or morphology of the robots. In a fast ballistic locomotion, many animals have some structural designs which allow them to tolerate certain degree of perturbation. This control method has been named "pre-flex" as oppose to neural "re-flex". The phenomenon is well represented by the example of cockroach recovering from lateral perturbation. Sprawl biomimetic hexapod robot nicely demonstrated this damping effect in polypedal running locomotion. In a way, the morphology effectively reduces the computation required to control balance and recovery. Thus some people like to call this effect: "morphological computation".

The power of "morphological computation" relies on the structure's ability to response "differently" to varying conditions. A linear transform is hardly any good because its result only depends on one order of the input. For example, an Hookean spring produces certain tension at certain stretch regardless of how fast it is stretched. Therefore most interesting logic components are non-linear. As the results, the input can be processed conditionally, taking more things into account.

Now, what exactly can be computed in morphology and what parameters are critical? That's a fundamental question for the field of functional morphology and biomechanics. I think I might have found my version of the answer in my robots. Let me get back to this topic in a few weeks after consulting with some caterpillars.

Sunday, September 20, 2009

Unleash the robots!!

A complete robotic agent has to be independent. Going untethered is a very important step in any robotic development. This week, my robot controller pulled free!!

Taking the 3D wiring approach, I successfully customized a micro-RC system for my robots. Traditional electronics are limited by the 2D wiring of PCB boards. Making thin electronics is easy as long as the integrated circuits utilize the surface on the PCB efficiently. That's why cellphones and iPods can be so thin. However, if bulk size is an issue (my robots need to fit through a small hole), traditional circuit layout cannot accommodate that down to a critical size. The only solution to improve packing is to do away with any sort of PCB and stack integrated circuits one on top of each other. By fitting these electronics components carefully according to their geometry, one can minimize the overall dimensions. This is exactly what I did.

Well, piecing 3D puzzles is only the first step. Since overall dimension has to be as small as possible, I worked with the smallest of everything from diodes to wires. I started with the World's smallest RC receiver and built on top of that. Typical soldering dot size is less than 500 micron and most soldering joint spacing is 800 micron. Due to the complex 3D structure, wiring and insulation became very complicated. All the wiring and soldering has to be done manually under a microscope. My micro-dissection skills really came to the rescue!! This is perhaps a good example of how human beats machines. [the scale in the following images is mm]

The result was quite satisfactory. I could radio control 7 actuators on my robot with all the electronics packed into a ~6mm cube volume (not including external wires) over a 300 meters range. The customized transmitter can receive commands from a computer interface via a USB cable. This allows the robot operator to gain various computer support including an library of CPG gaits. Image below showed a test setup where actuators were distributed across several different worm-like bodies.

Tuesday, September 15, 2009

Huai-Ti is up for the DARPA challenge -- 21 days countdown!

With all these robotics attempts, Huai-Ti has taken up the DARPA challenge together with several fellow Tufts roboticists. According to the ChemBot Phase-I challenge, a soft robot has to be produced for covert access.

Primary challenges:
1. Cover 5m in 20min (average speed at 25cm/min)
2. Reduce the largest dimension via morphing (10 fold)
3. Traverse an arbitrary 1cm opening
4. Reform original functions and capabilities

This effort will be evaluated in a live robot demonstration in exactly three weeks or 21 days. Other ChemBot teams include Harvard, MIT, and U. Chicago. We must not look bad in front of them. Start the count down, and wish me good luck. Go Jumbo!!

Sunday, September 13, 2009

Intelligent Design versus Evolution in Robotics

Ok, between posts of robotics, I'm going to risk my neck and touch on the famous American debate on Intelligent Design vs Evolution. Since I'm not only a physicist but also a biologist, my position is hard to be neural. Thus I decide to speak in the context of robotics only.

Robotics is a multi-disciplinary engineering by itself. A roboticist not only need to know mechanical design and to be familiar with materials, but also need to understand control strategies and to learn electronic interfacing. It is an integrated system design process. All robotic systems must be designed through our superior intelligence then. Is there any question?

More recently, the Genetic Algorithm (GA) approach to engineering optimization became very popular. The idea is that by introducing variations similar to mutation in a model, we could come up with very unintuitive solutions quickly. This approach can be very powerful for complex systems, which we don't fully understand. Some people start put much hope on this especially in tough engineering problems.

Being a philosophical person, I ask: is there a fundamental difference between human intelligent design and an optimization process such as GA. The working behind GA is try-and-error via simulation. Now let's analyze the process of engineering design to find out how it could be different.

First of all, I would like to quote a saying in the community of mechanical engineering: "you design by intuition, model for conscience, or don't model at all." In many well-designed human artifacts, there was no modeling involved during the designing process. Often times, the designer "simply knew" what would be a better configuration without knowing exactly why. And this knowledge came from experiences. These experiences include personal observations, hands-on works, conceptual reflections, and communication with others. Our engineering knowledge is not legislative. We often go with rules of thumb.

Secondly, the key to good engineering is to build a good sense of physics. In fact, personal observations and hands-on experiences provide physical episodes of how things work. Then conceptual reflection and communication setup virtual simulations of physical systems in our brain. Every good engineer has a physics engine inside hisz/her brain working out solutions by simulating ideas. And the predictive power of this simulator is directly proportional to experiences and our understanding of physics.

Finally, we call our ability to create and design “intelligence”! This ability is how we can determine what could work and fail without actually building the entity. In the ultimate sense, it is our ability to simulate different situations in our brain quickly and come to a good but non-perfect decision. We can avoid physical try-and-error because we did that quickly in our mental simulator. We can often skip many unnecessary simulations because we remember the results from similar episodes before.

Now, let me come back to my question: is there a fundamental difference between human intelligent design and an optimization process such as GA? The difference can only be in the processing units. While we simulate with biological neural networks, GA relies on computers and programming. For a robot, designing a locomotor gait is the same as evolving one. The only difference is brain vs. computer algorithm. So if you can build a computer that interprets our physical understanding well for the system of interest, then robot evolution by GA saves your brain labor. Otherwise, human design and try-and-error is more efficient. We teach computers how to “think” remember?

This is how I solve the question of Intelligent Design vs. Evolution in robotics by arguing their equivalency, or how I create a debate with my radical views.

Monday, September 7, 2009

A Brief Review of Huai-Ti's Caterpillar Robot

It's time for a review of all my robotic attempts with soft materials. I think I am starting to grasp the core principle of making a piece of rubber move. Of course, it's the "rubber soul"!

Coming up... it's GoQBot-II(Roll-n-Jump) and GoQBot-III(Shake-n-Glide). All future robots will be tether-less because I just finished the micro-RC system with dual control [PC+Mannual]. More will be coming up in the near future. Stay tuned!!

Friday, September 4, 2009

Special post on rolling caterpillar robot!!

If any of you remember in April when I featured the fastest locomotion by caterpillar (15" per second), then you would recall this impressive ballistic roll performed by "mother-of-pearl moth" larvae. BBC had a nice little video introduction about it. I posted the YouTube link on my blog under "Interesting Links". In any case, here is that link if you want to refresh your impression on what caterpillars can do.

Well, this August when I came back from the UK, I was compelled to consider replicating this biological feat with my robot. It was the week right after I developed a gait for my caterpillar robot to crawl through a 1cm hole all by itself. The Tufts robotic team was concerned with meeting the DARPA speed metric. Crawling gaits are robust, but rather slow in general. To defended my love of biological inspirations, I introduced this more dramatic locomotor mode. A few days later I had lunch with two of my best colleagues again at WholeFood, it came across our minds that it might not be too crazy to replicate what the rolling caterpillar has done. So the idea of "GoQBot" came into being, but it took us another month of hard work to translate what's on a napkin blueprints to a physical entity (yes, the original ideas were outlined on two WholeFood napkins).

Why is it called "GoQBot"? That's another interesting story. My buddy Tim is really good at drawing comics around engineering schematics. He was also one of the two colleagues in that brainstorming lunch break, the other being Dr. Gary Leisk. Tim envisioned this robot being so quick that it will go on and on as it rolls. So he drew a robot rider who shouted "GoGoGo". Gary later interpreted that into Go to the cubic power like "G^3". I thought the name could be a little more sexy and turned it into "Go-Q". The letter "Q" pictorially resembles the configuration when the caterpillar rolls into shape, and phonetically retained the cubic power of Go. Interestingly, the first generation of GoQ-Bot literally rolled three rotations (Go^3) in the Q configuration. See the brief introduction below!

"GoQBot-I" retains the same body plan from the InchBot series (InchBot IV~VII) which could performed three kinds of inching gaits, two variations of crawling gaits and a spacial climbing gait. This time, the robot has two additional flexible tail appendages that provided stability and guided curling trajectory. How does it perform a ballistic roll? See the following snapshots for yourself! It's quite obvious why it has to "Go-Q"I apologize for the bad contrast on my robot. I simply forgot to mix in rubber dye and sparkles! Next GoQBot will definitely dress up in a flamboyant color with pink sparkles (maybe some fluorescent markers for kinematics analysis as well). It might be Go-Cute Bot instead!