Two wheeled mobile robot for minisumo competition
I want to show you a two wheeled mobile robot for minisumo competition. It was designed and made in 2011.
Assumptions concerning the mechanical part of the robot:
- Length and height below 10 cm, mass below 500 g (minisumo category requirements).
- Set low the center of gravity of the robot.
- Drives based on two DC motors placed in bottom part of construction. Robot has three points of contact with the ground (2 wheels and front edge).
- Use of easily accessible and light materials.
Assumptions concerning the electronic part of the robot:
- The control system of the robot based on AVR microcontroller which generates two PWMs to regulate rotational speed of motors shafts.
- Robot equipped with a set of sensor for detect white lines (ring contour).
- Four sensors for enemy detection, placed at the front and sides of robot.
- The system for monitoring of the battery charge level.
- Measurement of robot displacement from at least two independent sources.
Mobile robot gallery
Casing was made of epoxy laminate covered with copper. It was used soldered connections . It is enough reliable, cheap and easy. The robot case has properly holes for white lines sensors and IR distance sensors Sharp GP2Y0D340K.
They were designed and made wheels of polyurethane adhesive. Wheels have very well adhesion to ground and they are have a low inertia. Hubs were made of aluminum.
It was used two motors Pololu HP geared 30:1 because of they small size and significant power. The greater part of motors were placed inside of wheels what allows to use wider wheels to receive better adhesion. Moreover, such an arrangement of motors protects gears from the dust.
White lines sensors
It was used analog TCRT1010 sensors because of small size and THT montage. The state of sensors is checked by A/D converter of microcontroller. If the white line is below the sensor then phototransistor is open, current flow increase and measured voltage too is higher.
Sensors for enemy detection
It was used two infrared (IR) sensors Sharp GP2Y0D340K placed in front part of robot to detect enemy located in front of the robot. Sensors have about 8 ms measurement time.
The mobile robot was equipped with analog accelerometer MMA7361 to detect if robot is on the ground. Moreover, accelerometer is additional sensor for displacement measurement (except of encoders). It was designed separate PCB for accelerometer and properly power supply system.
The robot was equipped with microcontroller ATmega 32A and external quartz resonator 16 MHz. This 8bit microcontroller is very cheap and has a lot of useful integrated circuits.
Motors are controled by TB6612 H-bridges. Every IC has two channels but because of significant current consumption two channels of every IC control one motor. The signals which determines rotation direction and PWM duty are connected directly from microcontroller. The scheme of circuit was showed below.
Power supply system
It was used a lithium polymer battery with 500 mAh capacity. The battery has three cells and nominal voltage about 11.1 V. To protect battery it was used circuit showed in the next part.
Stabilization and filtration of power supply
It was used L1117 Low-dropout (LDO) stabilizator because most of control electronics of robot needs 5V power supply. To filtrate power supply it was used several electrolytic capacitors. The second stabilizator was placed in accelerometer circuit because accelerometer needs a 3.3 V.
Accumulator charge monitoring
The robot was equipped with circuit for monitor charge level of battery. It used voltage comparator which compare voltage from Zener diode with divided voltage from battery. The value of R14 was calculated to current flows through diode has about 5 mA. The voltage divider was calculated to receive shutdown threshold about 9.25 V. As comparator was used LM358 double operational amplifier.
The software was written in C language. The states of sensors are checked in interruption from timer. In dependence on which state was detected it is choosen properly action. It was implemented diagnostic mode which allows to check all robot components. Moreover, it was implemented graphical user application in C++ with Qt library which allows to control robot and change it setting. A communication with robot was made with UART interface.
The construction of minisumo robot was my first designed robot. Unfortunatelly, not all assumptions are equally done. The used encoders are not completly useful especially because of not enough reliability. Moreover, the accelerometer circuit for slides detection too is not enough precise. The weight of robot with battery was about 170 g, so it was neccesary to weight on it. It was used the lead weights for that. Used motors were not enough reliable. Two of them were damaged by brushes burning.