How to control a motor – part 1

December 19, 2009

This is a series of posts regarding the basic aspects of controlling a motor.

Being an open system, a robot interacts with the environment.



The input is made of what the robot senses from the environment and the exterior energy it gets, while the output is the action it takes over the environment.

Robots are complex systems with several inputs and outputs. In order to survive, a system has to optimize its inputs and outputs.

At its simplest, a robot is this system:

where the energy input can be a battery. This simple system gets exterior energy from the environment and produces mechanical work through its actuator. I doubt such a simple system would survive but it is a good example for the purpose of this article.

There are several types of exterior energy a robot can use and other several types of actuators, but as the most efficient way of controlling it is through computing which works with electricity, I will consider this system:

The control system has 3 parts:

– sensor control

– actuator control

– mixed control

(This is the same as our biological neurons: some control our muscles, some sense the environment and some proceed information in between.)

For this article I will consider this subsystem:

The Cubebot Project – Part 1

November 11, 2009

This is the first from a series of posts regarding the designing and building of a number of cube units which I’ll call cubebots that will use swarm intelligence skills and reconfiguration of the overall shape to overcome obstacles in an unknown and complex environment.

I don’t know yet how will this project end; it is something new for me. I will change the design and the prototype many times till I’ll get something better each time. If you are curious how come I got interested in such kind of project, this was the start.

The general purpose is to make the modules as simple and small as possible.

General design problems:

1) Are the units going to be homogenous or heterogenous?

To decrease costs and for simplicity’s sake, the units might be homogeneous, but I’ve noticed that these kind of units get too big if each of them contains all the components.

2) What will be their source power?

The main source power will be batteries, rechargeable if possible. Much later, I would add some solar panels to some or all of the units to increase autonomy.

3) How will they be actuated?

I will try several different actuators to compare them and for the novelty’s sake: electrical motors, shape memory alloys, linear electromagnetic motors and piezoelectric motors. Most projects I have seen utilized servomotors so I’ll start with this kind of actuator.

4) What device(s) will be used for the control of these modules?

Given the fact that I want to make the units as small as possible, I should use microcontrollers. I might use other devices if some of the units will be larger than the average, but for now I will keep them homogeneous.

5) What mechanism will be used for their connection and reconnection?

To increase the number of possible configurations, the connection should be genderless. Till now though, the only mechanism of connection that seems easy to control is to use magnets, either an electromagnetic one and a permanent one, either 2 electromagnetic ones.

6) What materials will be used?

Just like with actuators, I’m planning to try a lot of materials. For the structural part I’ll try plastics, composite materials (fiberglass, carbon fiber), metals (aluminum), organic materials – not so sure about that- and according to the material I’ll use screws or adhesives.

7) What is the optimum number of cubebots for the maximum number of possible – or rather useful  – configurations?

Right now I have no idea!

8 ) What are the different configurations the cubebots will adopt?

Snakes and spiders are one of the most adaptable creatures in terms of locomotion types and these animals will be my inspiration for the configurations. Snakes can crawl through the narrowest tunnels and they can swim too. As about spiders, they can glide if falling from altitude, have legs for uneven terrain and at least one species is able to roll in emergency cases – just take a look.

9) Should the units have a different shape to adopt these configurations more efficiently?

I have seen some units that are hexagons or dodecahedrons but I haven’t studied them in detail, so for the moment the units will be cubic.

10) What software will be used for this design?

The operating system I use is Linux and I still haven’t find any good 3D CAD for it. Besides that, I will use Eagle for the PCB and OpenOffice for the bill of materials and things like that. About the programming language, I hope I’ll use Java but that also depends on the microcontroller of choice.

11)Are the bots going to change their configuration through rotations or translations?

I’ll start with rotations, because I have more information on that but I’ll study the differences in detail later and if necessary build other cubebots.

12) The platform will be the motor’s case.

The PCB’s design will have to include:

– the motor control

– the sensor reading

– the communication

– the microcontroller

– the power management

– the glue logic: flex cables in this case

The answers to these problems are going to be revised during the project.

Robots and molecubes

November 8, 2009

I didn’t have time for new posts as I have been reading like a maniac 🙂

The first one was a robotics wikibook:

It reached so many aspects of robotics, but didn’t go into detail with many of them; I appreciate that because it determined me to research the topics of interest- like shape memory alloys and piezoelectric motors, very useful actuators for tiny robots.

I have also appreciated that it insisted on the practical skills in robotics – unlike many other books I’ve read- and it included many different approaches for actuators and control devices, unlike the standard book that deals only with electric motors and microcontrollers. It didn’t include a tutorial on PCB building which I find would have been very useful for begineers.

The second one is another wikibook:

which I didn’t finish yet but it won’t last long as I am nuts over cellular network robots. They seem like the most adaptable robots I have seen. They can adopt so many different types of locomotion and maybe different types of grippers too.

About self-replication

October 25, 2009

Chess has been played by people vs. computers for some time and the humans did not always win. Can we say that the computer has intelligence in this case,although it does not have the general intelligence we are accustomed at people?The Turing test was developed in this purpose: it says that a machine is as intelligent as a human being if based on their actions you can’t decide who is who. I think this definition is pretty anthropomorphic as it doesn’t take into consideration the possibility of a machine outsmarting a human being.

Robots are far from being as intelligent as people because they do not understand what they execute, but does a bacterium with no brain understand how its genetic code works? We all agree that bacteria are organisms, but is it because they reproduce or because they use the same type of chemistry as us?  A bacterium is considered a living being while it is stupid while a robot can beat people at chess and they are considered things. Why is that?

Meanwhile I have read a book called “What is life” by Schrödinger which is written by a physicist and not a biologist and this is what makes it so unique.This way I got to the conclusion that a form of life is an assembly of molecules that get exterior energy in order to decrease their internal entropy.

So where is the line between things and organisms? Are robots considered things because they do not reproduce by themselves as organisms do and because they are not a product of reproduction like sterile organisms are? If yes then this is a shaky definition as a robot can recreate one alike. Mechanical self-replication of machines does already happen and it will improve by time.They can obtain materials, manufacture the parts, provide the energy and do all the testing. These assembler robots represent the future of nanotechnology. Computer viruses are also able to self-replicate so how come they are not considered alive?

It seems as ?life as we know it? is different than ?life as it might be?.

P.S. You can read the book at this link:

Welcome to the world of robots!

October 25, 2009

Robotics is much more of an art rather than a science. This is why I love it so much as I can be creative and precise at the same time. You do not need fancy education to build a robot, just some basic mechanical and electrical skills, a desire to learn and imagination. You will find a lot of theoretical articles here because 90% of the time it takes to build a robot is designing it. The topics I deal with range from different mechanisms useful when considering a certain output, how to model the robot and its environment, biological approaches for different types of locomotion and a lot of other things.