An affordable mobile robot soccer (ReROSO): A student’s project of robotics trainer for sophomore

Nowadays, the education system in Indonesia as an emerging country is on the advanced stage. There are many private high schools include the robotics system in their extra curriculum. However, robotics is a complex system. Therefore, it is difficult to do so for the nonengineering school’s students. Hence, developing a robotics kit to assist students on how to learn robotic system will give some benefits. This paper presents the final project of a student of Electrical Engineering Education, that is an affordable robot trainer for learning robotics system in HS. It has features that learners have the flexibility to modify, and easy to program as well as to operate. The testing of ReROSO gave the evidence that event though it was constructed using a low-cost of robotics part. The result also proves that the design of ReROSO is adequate to teach robotics for the sophomore.


Introduction
In recent decades, researchers argued that robotics is very important because it has a role to solve some problems that existed in the manufacturing as well as in daily life [1]. In education, robotics can play an additional role to stimulate learners' sensitivity when facing life problems [2]. It can also to be used on developing cognitive and social skills [3]. Therefore, it is necessary to include the robotics learning curriculum into various level of education. Hence, the robotics system could be taught not only in university education but also in high school (HS).
In the process of learning, how to understand the programming algorithm always makes a constraint. This occurred due to the lack of instructional media can be used by teachers [4]. The development of learning media using the robot has been running rapidly, as evidenced by some of the research that uses robots as learning media, among others: robot balance [3], soccer robot [5], humanoid robot [6], dance robot [7], etc. But most of the robot learning media is limited because it uses only certain sensor modules only and must also use additional devices.
Learning media in this study using an SBC (Single Board Computer) Raspberry Pi model 3 (Raspi3). Raspi3 in its programming can be done without the use of enhancements making it easier and not necessarily driver installation to the computer [8]. Raspi3 has an affordable price so in making the robot does not spend a lot of money [9]. SBC in its programming can use several types of programming languages like C, C ++ and Python. Learners can choose the programming language according to the student's ability. In this SBC there is GPIO (General Pin Input / Output) and a USB port that can help learners create creative sensors as desired. The purpose of this paper is to present the design and development of affordable robot soccer (ReROSO) platform intended as a robotic trainer for the sophomore. ReROSO is a final project work of a student of Electrical Engineering education. The ReROSO have features, i.e., easy to modify, easy to program, and easy to operate. Therefore, learners are expected to have a good understanding of the robot programming algorithm and system work. The examination of ReROSO gave the evidence that it can be used in robotics extra curriculum in HS.

Platform requirement and analyses
The process to build the ReROSO started by analysing the robotics features. ReROSO is intended to be used as a robotics learning kit. Hence, it should provide the features as follows.

Easy to modify.
To assemble robot soccer, the student needs to understand some basic requirement, i.e., electronic circuit and microcontroller, and also mechanical knowledge. Hence, because of this issue, ReROSO should provide learners with the flexibility of learning robotics. As such, ReROSO designed by a modular approach that could be easy to modify. Each part of ReROSO could be attached and detached easily, and it also supports the future expansion not only as robot soccer but also for other robot types such as robot of the crawler, fire-fighting, and obstacle avoidance.

Easy to program.
Robotics programming similar to the other system, that sometimes getting harder for the sophomore. Learners should understand basic programming algorithm and mastery in one of the programming languages, such as C or C++. ReROSO designed to help learners construct and debug robotics program without serious obstacle. It is the advantage of ReROSO. How the robot can be programmed described as follow. Programming is using predefined library embedded into Raspi3. Learners just need to call such a library in the programming IDE installed in a PC/laptop. The robot could be programmed directly using Raspi3, desktop computer or even a smartphone. For direct programming, the student just adds the monitor screen, keyboard and mouse connected to the Raspi3. Programming ReROSO can also be done using a desktop computer. In this ability, ReROSO becomes a hotspot. So, desktop computers used to program the robot can connect to ReROSO through the Raspi3 Wi-Fi. Furthermore, it will provide the learners with an easy way to program the robot, because the computer connects to the SSID of the robot at all time. After a laptop connected to the robot, the student uses the Remote Desktop Connection. Hence all windows in Raspi3 can be seen in a seamless operation. Besides, the programming can be done through an Android smartphone using the RemoteToGo-RDP / VNC application for Android. Initially the same as using a computer, the smartphone is connected to a robot hotspot then connect via an android application.

Easy to operate.
As an educational tool, ReROSO designed to have a feature of easy to operate. Furthermore, ReROSO could be played by everyone without educational background limitation. With such feature, ReROSO could also be used not only for an extra-curricular program of sophomore but also for demonstration and exhibition of robotic for elementary, and also for short training of how a robot could assist human in daily life for university student and adults.

Construction of ReROSO
ReROSO is designed to have a lightweight concept as shown in Figure 1. The body platform of ReROSO using acrylic to achieve the concept of lightweight but strong enough, hence it could support the durability robot trainer kit. The main processor of the kit using Raspi3. For the movement, ReROSO used four wheels drive of DC motors. The motor is controlled through the motor driver connected to the Raspi3 GPIO. To sensing the environment, there are two robot sensors. The first sensor is to determine the position using a compass sensor (CommSEN). The use of CommSEN is to exactly measure robot position. CommSEN connected to Raspi3 through I2C (Integrated to Integrated Circuit) communication. The second sensor is Raspberry camera (RaspCAM) used to recognize the soccer ball with orange colour. To do so, ReROSO detects the soccer ball by image recognition through the camera. The camera can be directly connected to the camera port of Raspi3. However, the power required by Raspi3 is 5V. Because of the used battery is 7.4 V. Furthermore the supply voltage must be lowered than the battery voltage. So, a module of Ultimate Battery Eliminator Circuit (UBEC) is used to achieve this purpose. The specific function of ReROSO components describes as follows.

Robot movement.
The movement of ReROSO using four-wheel drives of Omni wheel with X configuration as shown in Figure 2. Actually, using four Omni wheels will be more difficult to control the robot. However, it will allow the robot to accelerate with the same speed in all directions [10]. Furthermore, Omni wheel construction has some advantages to the system, i.e., low strain, high acceleration, and less risk of motor burn [10]. In addition, the current of DC motors of robot wheel control by UBEC to provide various speed of robot movements. The drive system uses a dc motor and L298 motor driver, then the interface between the motor driver and raspberry pi directly uses GPIO from raspberry pi.

Robot controller.
To control ReROSO movement, Raspi3 has been used. It utilized Raspbian Jessie as a common Raspi3 operating system for a robotics project. However, some libraries should be included in the OS installation, such as OpenCV for image processing, C++ module for Raspi3 programming, and Python language for communication between ReROSO and Raspi3. To make clear how ReROSO is programmed, its programming algorithm could be explained as follow. The first step is to activate CommSEN. The specific function of CommSEN is to determine the position of the goal woodwork and crossbar. The next step is activating the camera to scan the orange ball position by image recognition. If the robot could not find the orange ball position, the robot wheels will move and rotate the body of the robot to find the exact positionthe way to find the target ball combined with the movement of servo motor where the camera attached. When the ball position detected, the wheels will move to align the body of the robot to the ball and the goal crossbar position. Then, the robot will dribble the ball to the target.

Robot eye.
ReROSO equipped with a robot eye by image processing using RaspCAM Version 1.3. However, due to the viewing angle received on the camera is so small, the robot could not reach the surrounding area in wide view. Hence, to tackle the problem, the RaspCAM was modified to have a wide lens. By doing so, the range of the robot's vision extended to wider angle. Figure 3a shows the modified RaspCAM into wide angle camera using smartphone camera accessories, and Figure 3b

Economic analyses
Robot Soccer platform is not a new technology use in education. Most of such platforms were used for competition involved university students in the globe. There are many commercial robot platforms ready to use. However, to have such robots platform is not easy because the majority of the platform are pricey. To gauge the economic benefit of building its own robot soccer training kit, the following are economic analyses of ReROSO.
From Table 1, it can be calculated that to build a usable mobile soccer robot only spent IDR1,694,800 (USD111,19). It is worth to spend this amount of money because of the mobile robotics kits in the market is more expensive. For instance, MICROSOT-100 could be bought at prices above USD1000. Hence, an HS establishing an extra-curricular of robotics can build more low-cost mobile robot soccer kit like ReROSO. Image recognition test. The image processing system is used to filter images with 3 variables, that are hue, and saturation value (HSV). Initially, the image was taken using modified RaspCAM and will be processed by the OpenCV library. The image that consisted of red, green, and blue (RGB) elements will convert into HSV format. Figure 4 shows the difference between the original image (RGB) and the image with the HSV format.  After the image converted to HSV format, then image is filtered separately, between hue, and saturation value (HSV). For each variable, the tolerance range is given. Hence, the robot can adjust to the difference in light intensity.
The hue value shows a comparison with the actual colour. Figure 5a you can see the hue colour filter shown as 0-16. Figure 5b shows the saturation value in the range 189-255. This value shows the strength or purity of colour. Figure 5c shows the value of values in the range 70-129. This value shows the brightness of the colour, the higher the value, the brighter the desired colour.
From the results of the filter image hue, saturation, and separate values, the value is in logic and so that the combined value between hue, saturation and value is obtained as shown in Figure 5d. This value is the final value that can be used as a benchmark for finding robot positions ball. However, there is a problem that should be concerned. Because, the light surrounding the robot influences the image processing. Hence, to have accurate detection of the ball, ReROSO's eye should be calibrated several times.

PID control and movement.
The previous section explained how the robot could recognise the ball and the goal woodwork and crossbar. Based on the results of filtering the HSV format, the position coordinates of the object are taken. So, the position and coordinate of the ball against the robot are known.
However, the x and y coordinate on this robot is the point where the value is 140 degree. So this value is set as a set point. By using the Proportional, Integral, Derivatives algorithm (PID), the output can be generated in the form of pulse width modulation (PWM). In consequence, the robot can adjust its position to the ball. Figure 6 shows the coordinate position of the spherical object. The motor control system uses PWM so that the motor speed can be controlled. Because the robot's movement system uses an Omni wheel, the robot can move in all directions without turning the robot head. However, because the Omni wheel used is made of nylon, the wheel will be slippery if run on the sleek surface, therefore it should be run in a rather rough like on a carpet. Besides, the PID system in the robot is also used for controlling compass sensors. The set point value is obtained when initializing the robot. This value is processed through the PID algorithm, and the output value is produced to position the robot with the goal.
In the ReROSO, two servo motors are installed as a camera actuator. Hence, the camera can move without rotating the robot. Furthermore, it can facilitate the robot in the process of scanning the ball position.

Programming algorithm.
The programming algorithm is as follows. First, the compass is activated to determine the position of the opponent's goal; then image processing is activated to scan the ball. If the ball has not been found the robot will continue to rotate. If the ball is found, then the robot straightens with the ball position then the robot straightens its position with the goal. Finally, the robot kick the ball into the opponent's goal.

Advantages of ReROSO as an educational robotics platform
As an educational robotics platform, ReROSO designed to facilitate the learners to learn practical robotics easily. A student could study the following advantage features of ReROSO, that are: kinematics of robot movement, Omni wheel control, PWM, image processing, compass sensor programming and data analyses, PID, and Robotics integrative function. This ability can be seen in Figure 8.