Hexapod PC-controlled robot

After watching a large number of articles and videos about spider robots, I wanted to create one myself. It was decided to do everything “from scratch”, that is, create a robot casing, solder the board and program it.

The robot case was decided to be made of plexiglass, this material is easy to process and quite durable. The shape of the limbs and the body of the robot is created independently according to existing analogues. I apologize for the insufficient number of sizes in the drawings, I drew for myself.


All parts were cut from Plexiglas 3 mm thick with a jigsaw. To make everything look prettier, all parts were covered with a carbon film. Next, it was necessary to choose servos. It was decided to use MG90S servos in development.

These are the cheapest servos with metal gears. At the time of purchase, they stood 200 rubles apiece. As a result, the assembly of the housing and servos turned out to be this.

It was decided to build the whole system on two AVR ATmega 32 microcontrollers, the choice is justified by the fact that I had these stones, and the use of two at once is explained by the fact that it would be difficult for one to cope with all the tasks that the robot must perform. Namely:

- movement in any direction, as well as rotation around its axis in any direction;
- retention of the horizon on an inclined surface;
- impossibility of collision with static objects during movement.

Thus, one microcontroller receives commands from the user via a radio channel, receives and processes information from sensors (range finder, accelerometer), sends commands to the second microcontroller and sends the data requested by the user from a personal computer. The second microcontroller receives commands from the first microcontroller and controls the movement of the servos using pulse-width modulation. As a result, the idea can be reflected in the structural diagram.

A popular ultrasonic distance sensor HC-SR04 was used as a range finder.

The MMA7361 sensor was used as an accelerometer - it is a low-power, capacitive microelectromechanical acceleration sensor in a low-profile housing, characterized by a unipolar low-pass filter, a temperature compensation and self-test circuit, a zero acceleration detector to determine linear free fall and the ability to select one of two acceleration levels. Zero acceleration voltage level and sensitivity are factory-set and do not require additional external components. MMA7361 has a sleep mode.

These sensors are inexpensive and convenient to use at home.

It remained to decide how to connect the PC and the robot. It was decided to use the radio. As a result, a set of 3DRobotics radio modems was purchased.

So, having collected all the necessary iron, it was necessary to create a board. When developing the concept, it was necessary to take into account the power of all nodes of the system. The power of the servos must be separated from the power of the rest of the circuit in order to avoid the influence of interference on the operation of microcontrollers and sensors.

According to the calculations, it was found that with the active operation of all servos, the maximum current in the circuit is three amperes. For greater reliability, it was decided to split the power of the servos into two parts. Also, according to calculations, it became clear that with the active work of microcontrollers and sensors, their consumption will be no more than one ampere. Thus, the maximum current in the circuit will be one and a half amperes.

A 7.4 volt battery was available. In the circuit, it was necessary to provide two voltage stabilizers from 7.4 to 5 volts with a load current of three amperes to power the servos and one voltage stabilizer from 7.4 to 5 volts with a load current of one ampere to power the rest of the circuit. To solve this problem, Chinese stabilizers KIS-3R33S were used, since I also had them.

Next, a board was developed.

Made by laser-ironing method, etched in ferric chloride and tinned with Rose alloy.

Then everything was neatly soldered.
During the assembly process, it was decided to add a camera as well. In the end, this happened.

Next, programs for microcontrollers and a simple program for a PC were written. The program interface for the PC is as follows, with the help of this program the robot is controlled and its movements are debugged.

Holding the horizon is not yet ready, so only tilt angles are displayed in the program. Also, the program has not yet screwed the video broadcast, the video can only be watched using the standard program that came with the camera.

Well, that’s all for now, the robot walks and stops in front of obstacles, the robot doesn’t go straight in the video, because its legs are slipping, it is necessary to equip them with something that clings.

Also popular now: