MOBILE ROBOTICS TEACHING USING ARDUINO AND ROS

Robotics teaching is nowadays limited by the expensiveness of the electronic material required. In this paper, a new low-cost, user friendly robotic system has been developed. This system provides an advanced mobile robotics teaching frame using cheap hardware and software resources. This platform consists on a little mobile robot able to navigate through the environment avoiding obstacles and performing a map of its surrounding. This system performs these tasks using open hardware and software tools. The robot, made from an Arduino board, cheap sensors, motors and wheels, has been programmed using C++ language on Arduino and ROS. The system communicates in real time with a PC where the map is drawn using OpenCV libraries. Regarding to the hardware, the robot has the structure of a PopBot-168 Arduino kit, which consists of a circular structure and two motors connected to their corresponding wheels. The robot also has two encoders and a magnetometer to perform location task. The processor is an Arduino Mega board. The system features two infrared sensors that get the distances of robot’s environment in every directions due to a servomotor that moves them. The developed robot is able to perform a map of its environment and draw it in a computer. The communication between the robot and the computer is performed using ROS. This project has managed to introduce a ROS node on the Arduino board. In the computer there are another two nodes, one for draw the map and another which decide where to move. Finally, as experimental results, an example of how the robot works building a 2-dimensional reconstruction from an environment is shown. Students can learn about the problem of auto-location and other difficulties due to robotics itself. It is also a very good mechanism to learn from the beginning to design, assemble and program a mobile robot; use and gather data from the sensors.