Keywords

1 Introduction

STEM term was firstly introduced by the NSF (National Science Foundation) in the 1990s as SMET [2], and it was used to refers to teaching and learning in the fields of Science, Technology, Engineering, and Mathematics (STEM derivatives), or it is used as a generic label for any action, policy, program or practice that involves one or more of its disciplines [3]. In the literature [1, 4,5,6] there is a big variety of the STEM education term’s definition. There are two different approaches to integrate STEM into education [7]:

  • The content integration that focuses on merging content fields into a single teaching activity to highlight “big ideas” from multiple content areas.

  • The contextual integration that focuses on the content of a single scientific field, while frameworks from other disciplines are used to make the subject more relevant.

One such STEM integration is Educational Robotics (ER), a broad term that refers to a collection of activities, educational programs, technology or Robotic Platforms (RPs), educational resources, and pedagogical theories of learning within and outside schools [1, 8]. Robots and specifically ER have been gaining popularity in recent years and Greece, the main mobility currently seen in STEM education in schools concerns ER applications [1]. There has been a great interest among researchers [9], and educators [10], since ER [11] is a powerful learning and supportive tool for the development of cognitive-social skills. ER is introduced in many learning environments as an innovative teaching and learning tool [12] that supports students: (i) developing high-level skills, (ii) creating multiple representations of understanding the object, (iii) constructive communication and collaboration between them, (iv) developing and improving their learning by solving complex authentic problems, (v) implementing abstract design ideas to reflect and immediately notice the results of this effort, (vi) facilitating student learning through research and experimentation by contributing to the development of knowledge in the STEM areas. Besides, STEM and ER activities promote problem-based learning and critical thinking, as they focus on research and analysis of a complex real-world problem and it is also important the play aspect involved in making them particularly attractive to students especially in primary education [13]. Furthermore, gender stereotypes are often the basis of gender roles, the behaviors that society teaches that are ‘correct’ for boys and girls. Several studies have suggested that ER can help to eliminate gender stereotypes about the role of girls with and technology [14,15,16].

2 Problem Statement

Τhe purpose of the present research is, to design and develop a low-cost, open-source RP for primary school students, to be used as an educational tool for applying ER activities and STEM education. The RP implementation takes into account the students’ needs extracted from the 1st cycle of participatory action research. The research’s objectives are: (i) The 1st version of RP’s design and specifications, are based on observations and survey results, in the framework of action research beginning with an ER event -as described briefly below- and, (ii) RP’s development has to be low-cost, based on open-source software and hardware, and can be programmed using a visual programming language (e.g. block-based programming). In November 2019, in the context of an ER event handled at the municipality of Agia Varvara (Athens, Greece), a survey was conducted to record students and parents on ER and STEM education [17]. Among others were questions about students’ experience in educational robots and the willingness to engage in their development. The results were particularly interesting. The majority (49%) of the participants didn’t know what STEM education is, they are not sure (50%) about what is ER is, but the vast majority of them (86%) know RPs, particularly the Lego RP (68%) [18]. While the vast majority of them (83%) had not participated in an ER seminar in the past, they would like to get involved and develop (88%) their robot and the majority of them (55%) would have unlimited time to complete its construction. Moreover, particularly encouraging is the fact that the vast majority (67%) of their parents want to get involved and support their children in robots’ development. And that was this research’s motivation to go on designing and developing an RP suitable for the whole educational community (students, teachers and parents). RP’s specifications were extracted by the combination of quantitative and qualitative data collection and analysis tools, to summarize the most important of them: (i) the vast majority of the participants (54%) prefer to program the RP using any device (smartphone, tablet, PC), (ii) they want (92%) RP’s software-hardware to be open-source, (iii) they would like (50%) to build their RP using a 3D printer, and (iv) the RP should be compatible with old technology devices (40%). As to RP’s total cost, two are the most prevalent trends: (i) a 36% of the participants want the RP’s cost to range between 31€-50€, and (ii) a 32% of them would prefer a cost range between 51€-100€. This last specification is also the research’s milestone in RP’s design since the goal was to keep its cost close to 50€, as opposed to the high cost (180€) of the corresponding Lego WeDo II. To recap and following the above remarks came the initial specifications of the RP such as: (i) has to be low-cost and open-source, (ii) has to be programmed by any device (and also be compatible with old technology), and (iii) can be built using a 3D printer.

3 Robotic Platform’s Architecture

RP was designed and developed with ease of construction and use. Several considerations had to be done to fulfill the educational community needs:

  • Keep the hardware cost as low as possible (close to 50€).

  • Keep the hardware free from “exotic” difficult to find electronic parts.

  • Use open-source hardware and software the most.

  • Can be easily be assembled by students, teachers, and parents.

  • It can be programmed by almost any device: smartphone, tablet, PC.

  • No need for software to download and install. A Visual Programming Language (VPL) will be embedded into the RP.

The RP’s construction consists of a mechanical chassis, 2 servo motors converted to DC, sensors, actuators, 2 microcontrollers (μC), electronic parts for interfacing, and various mechanical parts such as wheels, M4 screws, nuts, and washers, etc. A complete part list is shown below in Table 1.

Table 1. RP’s components list.

All the electronic schematics, mechanical designs, and software were designed and developed by the researchers and would be freely available to the educational community under the Attribution-By Creative Commons (CC-BY) license [19]. This implementation based on the use of perforated aluminum plates (Fig. 1), offering a modular construction with the possibility to extend the robot frame in both three dimensions. Besides, the above construction has been introduced into educational activities and has been positively evaluated [20], however, the final version will have a frame of plastic parts that can be easily manufactured using a 3D printer. The Arduino Uno was chosen as the RP’s main μC because of its low cost and high availability (there are also many Uno’s cheap clones in the market) [21]. Although Uno is programmed in C/C++ through the Arduino IDE [11], this implementation uses a different innovative approach; it uses the ESP 32 μC [22] as an intermediate web server to integrate Blockly [23], an open-source Block based VPL focus to young age students. In this way, it innovates in that Uno programming is implemented through any device (smartphone, tablet, PC) equipped with Internet connectivity (Wi-Fi card and browser software) and not through specialized software or app that the user has to install on his device.

Fig. 1.
figure 1

Bottom view of RP’s mechanical parts and RP’s photo.

In Figs. 2 and 3 the RP’s electronic schematic and block electronic diagram are respectively presented. Arduino Uno is used as the basic programming controller (μC) for the RP. It is connected to motors through the L239D motor driver to support the needed current (350–500 mA per motor) [24].

Fig. 2.
figure 2

RP’s electronic schematic

Fig. 3.
figure 3

Robot’s hardware block diagram.

It is also connected to the sensors (Sonar, LDR and buttons) and the actuators (LEDs, buzzer) through electronic-circuit interfaces [25]. ESP μC is primarily used as a web server. It is connected to Uno through the TX, RX signals to upload syntactically correct C/C++ code. A logic level converter circuit is necessary as an intermediate between the two μCs’ because of their different voltages use. ESP is responsible for (i) client-server connection, (ii) listen and answer client’s requests, (iii) send Blockly’s HTML, CSS and JS code to the client, (iv) convert Blocks to C/C++ code and (v) upload code to Uno. Uno is responsible for (i) control motors, (ii) read digital (sonar, button) and analog sensors (LDR), and (iii) switch on/off actuators (LEDs, buzzer). Arduino Uno - ESP32 combination is chosen mainly because of the low cost. However, there are many other more expensive open-source μCs that may be used instead such as Arduino Uno Wi-Fi, Arduino MKR Wi-Fi, Arduino YUN, etc.

4 Software Implementation

RP’s software implementation includes: (i) Arduino’s functions for reading and storing sensors data, and for driving RP’s actuators (motors, LEDs, buzzer), (ii) ESP’s web-server software to serve client (devices) requests, (iii) webpage software and Blockly library, implemented in HTML, CSS, JavaScript, which are responsible for webpage’s UI and visual programming language (VPL). Blockly is integrated into the ESP μC, to provide RP’s ability to be programmed without the need for the client’s software installation. Blockly allows users to create programs through graphical manipulation [26], by dragging blocks around a screen and using flow diagrams, state diagrams, another component wiring, and icons or non-text representation. Blockly is an open-source developer library that provides a block editor UI and a framework for generating code in text-based languages such as JavaScript, Lua, PHP, Dart, and Python; custom generators for other text languages may also be created [26]. Blockly code is represented by blocks, which may be dragged around the screen and have connection points where they can be attached to other blocks and chained together (Fig. 4). For generating Arduino’s C/C++ code there is a dedicated Blockly version called Blockly@rduino [27].

Fig. 4.
figure 4

Blockly’s blocks and generating PHP code

Blockly’s downside is that does not provide a full vocabulary of blocks or a runtime environment, so it needs to integrate it with some form of output which was this research’s case.

5 Robotic Platform’s Kinematics

This RP employs a differential drive of a two-wheel vehicle to achieve mobility in two-dimensional space (Fig. 5). In this way, the RP can move in all directions (forward, backward, left and right) by directly controlling the speed and direction’s rotation of the DC motors [11].

Fig. 5.
figure 5

RP’s dynamics-coordinates and RP’s movements concerning its motors’ rotation

RP’s posture as seen in the above figure is described by the following mathematics [11]:

$$ \left[ {\begin{array}{*{20}c} {\dot{X}_{p} } \\ {\dot{Y}_{p} } \\ 0 \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {\cos \varphi } & 0 \\ {\sin \varphi } & 0 \\ 0 & 1 \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} V \\ \omega \\ \end{array} } \right] = F\left( \varphi \right)u $$
(1)

Where: V is the RP’s linear velocity, ω is the RP’s rotational velocity, φ is RP’s orientation, Xp and Yp are the RP’s coordinates of the center of its mass, and the vector u is the control command depending on the right and left wheels’ speeds. RP’s linear (V) and rotational (ω) velocities can be obtained from the right and left wheels’ velocities, according to the next functions:

$$ \omega = \frac{d\varphi }{dt} = \frac{{V_{R} - V_{L} }}{b} $$
(2)
$$ V = \frac{{V_{R} - V_{L} }}{2} $$
(3)

Where: VR and VL are the velocity of the right and left wheels respectively, and b is the distance between the centers of the right and left wheels. These equations are implemented in the RP’s movement control functions; a sample code of RP’s variable-speed forward movement with respect to its motors’ rotation (Fig. 5) is presented:

const int MotorLeftP=10; const int MotorLeftM=11; const int MotorRightP=9; const int MotorRightM=6; pinMode(MotorLeftP,OUTPUT); pinMode(MotorLeftM,OUTPUT); pinMode(MotorRightP,OUTPUT); pinMode(MotorRightM,OUTPUT); void loop() {forwardSpeed(128); delay(1000)} void forwardSpeed(int RPspeed) {     //PR speed range value: 0-255 (RP’s speed: 0-100%)    digitalWrite(MotorLeftPlus,LOW);     analogWrite(MotorLeftPlus,RPspeed);     digitalWrite(MotorRightPlus,RPspeed);     analogWrite(MotorRightMinus,LOW);}

6 Discussion

According to researchers, educators, and Papert, ER has numerous advantages and benefits for students [1, 8, 28,29,30]: (i) improves concentration and the overall learning process, (ii) increases motivation to learn, (iii) offers hands-on exposure to a wide range of subjects (mechanical, electrical, computer engineering) and is a useful aid for STEM, (iv) remains students’ high levels of attention and curiosity (v) develops cognitive and social skills including teamwork, problem-solving, creativity, and robot design, (vi) attracts students to technological and scientific studies, and (vii) encouraged students to promote their interest and improve their English ability. From a technical perspective, the first step towards ER and STEM is to choose and use an RP [1]. It may seem simple however the above ER event’s survey (see section Problem Statement) evidence a lack of students’ engagement in ER due to the high RPs cost. In this research, a low-cost RP implementation was thoroughly presented, where it’s specifications came from the 1st cycle of action research results. According to the educational community’s needs, the RP’s specifications should be the following: low-cost (<50 €), open-source, should be programmed by any device, should be compatible with old technology devices, and should be built by a 3D printer.

7 Perspectives and Future Work

The next step of this research is the RP’s evaluation. For this purpose, a future workshop and an experiential seminar are scheduled to introduce students and teachers to the RP and measure theirs’ acceptance, thoughts, and suggestions. These results would be used to improve RP’s design and repeat an action research circle. The main goal is for this RP to have widespread acceptance by the educational community, so the future step is a large scale evaluation study to collect quantitative and qualitative data. Although it’s building architecture based on low-cost hardware, electronic and software solutions, it still ensures the efficiency of the platform for many beyond educational applications. While the current design focuses on using the RP by younger students –due to the embedded VPL-, it can also be used in conjunction with other programming environments (e.g. Arduino IDE, MATLAB, etc.). For this purpose, future releases of the RP can be evolved by incorporating the following specifications: (i) adding a camera for image processing, (ii) swapping μC to Raspberry Pi [28] with Ubuntu [29] for machine learning support, (iii) adding a speech synthesizer circuit and Bluetooth connectivity, plus a large-scale evaluation.