Ardusumo: an Open Source Platform for Fighting Robots using Arduino
Ardusumo is a universal platform to build robots on wheels that can move around avoiding obstacles using infrared sensors and follow routes marked with dark lines on a white background.
We have created Ardusumo to bring young students to the world of robotics: if suitably programmed, Ardusumo allows robots to perform various autonomous movements, it integrates sensors and actuators of various types with wheels and electric motors.
The platform is Arduino based but consists of a single molded frame that is both mechanical and electronic circuit. It has also various possible assembly, thanks to the modularity and versatility of the connections.
The electronic circuit of the Ardusumo robot is very simple: the core is an Arduino UNO board, interfaced with four sensors – three in front and one on the back- and two Sharp infrared radar. The optical sensors are pointed down and used to follow tracks marked on the ground and recognize when the robot is crossing a delimited border.
Each optical sensor contains a light emitting diode, pointing towards the ground and a detector for reflected light. In this way it can distinguish thanks to light intensity (more light is detected when a more reflective surface is illuminated) the track to follow. The three front sensors are aligned. The middle one follows a track and detect whether the robot it has gone away from it. In that case the microcontroller detects the movement and imparts commands to correct it. The rear sensor is designed to detect when the robot approaches the edge of the ring. In this case, the firmware sends a forward motion command to break the deadlock.
The two infrared radar are pointed forward and slightly tilted sideways. They are the eyes of the robot, used to perceive obstacles and walk around them.
Two LEDs, to illuminate the scene in front of the robot, are interfaced to the Arduino. There’s also a buzzer to give alerts and a dual engines controller used to operate the two geared motors for the traction wheels.
The wheels are placed on the same virtual axis and, by varying the rotation speed, Arduino “steers” the robot.
In the front, a “ball-caster” support serves as the third wheel for balance. A second ball-caster is located on the opposite side and contributes further to balanceing .
With the same track you can print both: the PCB that hosts all the basic electronics (works as a actual phisical basis) and the four mechanical and electrical connection to the infrared sensors. This in case you decide to mount them.
The Electric Scheme
Ardusumo electronic circuit is based on Arduino: are the connections needed for the contacts on the board are available on side pin-strip. Via D4, D5, D6, D7, D8, D9 and D10, Arduino manages the motors controllers. PWM is used to drive the two motors so they provide traction and rotation to the robot. The robot steers with the same principle used for tanks: by rotating wheels in opposite directions.
The controller is a TB6612FNG: it contains a double PWM bridge driver, controllable by means of a simple logic. Each of the drivers is composed of an output bridge formed by four complementary MOSFET protected by a diode.
Each section of the pilot is controlled with a PWM signal to be applied to PWMA and PWMB lines (respectively channel A and B). That signal that is duplicated identical between M1 and M2. The AIN1 and AIN2 set A bridge operating mode, while BIN1 BIN2 and do the same for the bridge B.
For more detail: Ardusumo: an Open Source Platform for Fighting Robots using Arduino