Sunday 30 September 2012

Components selection

A tetrapod robot is a mechanical vehicle that walks on 4 legs.
After some research I've selected the following components to achieve my walking robot. I don't want to say too much information at same time as many of the topics below will be developed in future posts:
 
Microcontroller (Brain)
 
ATmega1280 (datasheet) mounted on a Arduino Mega microcontroller board.

Why? Lots of inputs/outputs (to talk to motors, sensors and other devices). Open source and extensible software and hardware (lots of info in the web), cost effective, clear programming environment. The fact to have the microcontroller on a board like the Arduino Mega simplifies the connexions and also allows us to interact with sensors and other devices (like distance sensor, mobile phones & Wii nunchuck). Has 4 serialcommunications.

Motors

RC Servos. Not decided model yet until a torque study is done. This study will provide size (torque) needed. I will purchase a couple of standard servos for first tests.

Why? Provide precise control of motor output (in terms of an angle). We will give sequences of angles to the legs in order to create walking motion.



 
SSC-32 Servo Controller (link)

This servo controller board can communicate with a microcontroller like Arduino via serial communication and control up to 32 servos.

Why? Why not... Joking. My tetrapod has 4 legs with 3 servos in each leg to give nice movements. To control 12 servos using the Arduino Mega is feasible but because each servo has 3 cables to be connected this can become quite messy. The SSC-32 has header pins that facilitates the connexion a lot. I purchased mine here.

On top of that the SSC-32 can control motion on speed, time or a combination. Also has "Group Move" commands that allow any combination of servos to begin and end motion at the same time, even if the servos have to move different distances. This is a very powerful feature for creating complex walking gaits for multi servo walking robots. It has also 4 digital inputs that can be handy.
 
 

Physical structure (legs and body)

Legs and body will carry motors, sensors , batteries and electric boards. I will use aluminium or plastic if possible to keep weight down. The physical size (leg length) has to be as small as possible again to keep weight down but also to keep torque as low as possible.

Why? The overall weight and length of parts attached to servos is a key factor when sizing the servos. A heavier and long legged robot requires bigger (more expensive) servos. We will see this when discussing the "Torque Study".



Power

We need to give power to the Arduino, SSC-32 and servos. The 2 boards will be powered with a 9V battery and servos need 4V-7.4V (depending on type).
For servos I will use 7.4V Li-Po battery. Arduino can give power to other devices like sensors and Wii nunchuck.

Why? Because I have a 7.4V Li-Po battery from our RC helicopter. Although, even if I select servos rated to 6V I'm planning to use 7.4V battery as people has been using them with no issues. I invite you to contradict this (and the sooner the better as I don't want to burn any servo). The weight of this battery is also a lot less than 4AA batteries (this give us 6V (1.5Vx4)) and as I said before weight is critical for sizing cheaper servos.



Software

We need to tell (program) the microcontroller what to do and when to do thinks. I will use the Arduino IDE. This is cross-platform application that "controls" your software to make sure the microcontroller will understand. Also will allow us to send the software to microcontroller so our brain knows what to do. The Arduino IDE comes with a C/C++library called "Wiring" (from the project of the same name), which makes many common input/output operations much easier

Why? Quite simple and easy language with lots of info in the net. And it's designed to talk to Arduino.
Recently I've heard that has some limitations but I will see if as I develop the project.

No comments:

Post a Comment