Category Archives: research

Robot rulez

Thinking of an approach that would allow Emergence, David and I tried to identify some of the rules that will control the robots’ behaviour:

check status: horizontal or vertical
> if vertical then stop motors (?)

check status: upside up or upside down
> if upside down, change motor direction

check light intensity:
> compare to previous value
>> if higher than previous value 
>>> if more on right side, turn right (e.g.  stop right  motor)
>>> if more on left side, turn left (e.g. stop left motor)
>>> if equal go straight
>> if lower than previous value, change motor direction (go backwards)

check status: collision
> check if wall or other robot
>> if wall, then turn
>> if other robot check if it's its front or back
>>> if front, then keep going
>>> if back, follow its orders (e.g. left and right LED)

check status: following other robot? 
> if yes, follow its orders (e.g. left and right LED)


light/color gradient on floor

check light intensity:
> compare to previous value
>> if higher/lower than previous value, keep going
>> if lower/higher than previous value, turn (in one or random direction)

Flattr this!

Hot Melt Adhesive Climbing Robot

I had the pleasure to meet Fumiya Iida from the Bio-Inspired Robotics Lab at ETH Zürich at Robots on Tour. His group researches on unconventional locomotion (e.g. hopping) that uses passive mechanical dynamics for energy efficiency, and on thermoplastic adhesives (hot glue) in robotic applications. Here’s a video of their ultra-cool climbing robot that glues its foot to the wall with hot melt:

Flattr this!

Programming strategies

Neural Network

As the author of the world first computer generated sculpture Robert Mallary said back in the 70’s:

Cyberneticians generally make a distinction between artificial intelligence, in which a computer is programmed to perform logical or perceptual operations in the manner it can best perform them using its own natural machine “language,” and simulated intelligence, in which the programmer uses the computer to imitate the ways he believes these operations take place inside The human head.

In this sense, we are also thinking in two different strategies to deal with our robots’ behavior:

a) “Artificial intelligence”: design a neural network model with inputs (sensor data) and outputs (motor signals) and use simulated data to train the network and reach the goals, with the help of the available tools (Neuroduino, ArduinoANN, FANNtool). An interesting example of this strategy is the neural network controlled RC car.


b) “Simullated intelligence”: this is the usual way – to design a set of states and transition paths between them, and program those on the specific hardware. There are also several tools that help designing state transition diagram, most time using the Unified Modelling Language (,

Flattr this!