We have always talked about the need to incorporate programming into traditional educational structures, but the truth is that we don't just want to see kids writing code, but also building and having fun with it. That idea leads us to initiatives like Open Roberta, an open source platform that combines visual programming with robotics, and has the potential to become an entire ecosystem compatible with a wide variety of devices.
When we take the words "programming" and "robotics" and place them inside a school, we are likely to remember things like the Logo programming language and the corresponding "robotic turtles" that appeared on the market. When I learned Logo at school, the robotic turtle was absent, but its digital equivalent served as a "gateway" to the world of computing. Today, the little ones at home have smartphones, tablets, hyper-connected consoles, smart TVs, and other extraordinary resources that in a way fight to win a place in the classrooms. Of course, we need to have the right tools, because learning is not limited to students but also reaches teachers. Learning to program and control robots in the process is effective, dynamic, and definitely fun. With that said, let's make room for Open Roberta.
Open Roberta: Programming Robots from Your Browser
The complete structure of Open Roberta may be a bit difficult to explain, but let's start with this: It is a platform that enables children, teenagers, and teachers to program Lego Mindstorms EV3 robots directly from a browser. The platform operates entirely in the cloud, meaning it can be used immediately, without downloading dependencies or additional modules. The visual programming language, named NEPO, is based on Google's Blockly (one of the project's main partners), and with minimal instruction, students will be able to control sensors, motors, and the EV3-Brick module without hassle. Another interesting aspect is that the remote server generates a simulation of the robot and its commands, so students have an additional tool to verify that their code is correct, and that the robot is not left at the mercy of a bug that could make it fly off a table or crash into anything.
Those who are not so interested in depending on the cloud to program robots have good news: This is an open source project, and anyone can create their own local server, either on a conventional computer or on something more compact like a Raspberry Pi. And as if that were not enough, the middleware role that Open Roberta assumes allows converting NEPO code into instructions compatible with two of the most important environments used in Lego Mindstorms EV3: LeJOS (Java) and ev3dev (Python). The next step is logically to expand Open Roberta's horizons, and incorporate support for more hardware, such as robots based on Arduino hardware.