I am computer science student and I have no knowledge on robotics.

In my project, I am trying to find controllers for modular robots to make them do specific tasks using evolutionary techniques. For the moment I am doing this in a simulator, but if I want to make physical robots I have to know a priori the components to add to the robot, where do I place them, especially if modules of robot are small (cubes of 5*5*5cm)...

So my questions are:

  1. What are must have components to make physical robot ? (arduino, batteries, sensors, ...)
  2. For a small robot how many batteries do I need ?
  3. If modules have to communicate with wifi, do I have to put a wifi card on each module?
  4. I want to add an IMU. Is its position important, I mean do I have to put it in the middle of the robot ?

Thank you very much.


Its very difficult to answer this question because you haven't asked specific enough questions. Its very difficult for you to ask specific questions because you don't know the answers to the questions you have.

  1. That depends on what you want the robot to do, swim, walk, fly or wheels.
  2. You need enough batteries to meet the power requirements of your robot for the time you want it to run. Leave batteries till last.
  3. That's your decision. Do they need Wi-Fi, what about cheaper blue tooth, or could you have on transmitter per robot and all the cubes use wired comms, SPI, Serial or I2C?
  4. If the IMU is a cube then it doesn't matter now, you can experiment and move it around based on you results.

Don't limit yourself at this early stage. You have said you are using an Arduino and then said you want Wi-Fi, what about an ESP8266 instead (I have seen something about mesh computing on them) There are probably other more suitable processors out there, just leave that cube as "Processor" until you get things a bit firmer.

It sounds a really interesting project

| improve this answer | |
  • $\begingroup$ thank you for your reply :) I want to my robot to walk, avoid obstacles and think by him self what are the moves to do depending on its environment. Like I said, the robot will be composed of a set of modules and a joint between each two modules. For communication, maybe I will try you suggestion (ESP8266 or wired). A processor board, batteries, motors, communication and sensors are these components enough ? $\endgroup$ – djou Nov 16 '15 at 9:02
  • $\begingroup$ one more question, Do I need a battery for each motor ? Because I will have for one robot maybe 10 to 15 joints, so 10 to 15 motors. $\endgroup$ – djou Nov 16 '15 at 10:14

I agree that this is quite an interesting project. There are several concerns here.

  1. I think you need to check the dimensions of all the small arduinos to determine whether it can fit in your modules. If not, you probably have to create your own circuit with atmega chip as the controller.
  2. The positioning of the IMU is not crucial if you are only concerned about the robot's orientation like yaw, pitch and roll. But if you want to measure angular velocity and angular acceleration, then the positioning is important because you have to take into account the centripetal force effect on the IMU.
| improve this answer | |
  • $\begingroup$ thanks for your answer. Is the atmega chip smaller then Arduino and do the same job as arduino? If I will measure angular velocity and angular acceleration, in general the IMU should be placed in the center ? $\endgroup$ – djou Nov 16 '15 at 9:28
  • $\begingroup$ Yes, atmega is the brain for the arduino. Arduino makes it easy for us by laying out most of the pins in socket form. I've seen some modular cube-shaped robot before and they are tiny. So there is no way you can fit an arduino inside. Have you checked on nano, pro mini? Maybe other manufacturers do make some smaller boards based on atmega. Feel free to correct me on this because I am not an expert and I am still learning. $\endgroup$ – goddar Nov 16 '15 at 11:16
  • $\begingroup$ To make things easier for you, the IMU should be placed at the axis of rotation. $\endgroup$ – goddar Nov 16 '15 at 11:19

Not the answer you're looking for? Browse other questions tagged or ask your own question.