Content area
A Blocks-based Visual Environment to Teach Robot-Programming to K-12 Students This paper considers the use of a blocks-based visual environment to demonstrate and teachrobot-programming to K-12 students. A visual programming environment is built using theopen-source, JavaScript-based, Blockly library developed by Google. Our approach illustratesthat robot-programming can be done in an easy, educational, and fun manner without burdeningthe students to first acquire the knowledge and experience with advanced programming conceptsand robot hardware. For illustrative purposes, we employ a low-cost, single-board computer,such as Raspberry Pi, with embedded microcontrollers, such as Brick Pi for LEGO or ArduinoUNO. The drag and drop feature of blocks, common to visual programming environments suchas Scratch, make the developed interface familiar and appealing to K-12 students and allows it tobe intuitive to learn robot-programming. To promote students’ understanding of programmingconcepts and constructs, the developed visual environment allows them to view the underlyingC-code of the block diagram that they create for robot-programming. This approach enables thestudents to compare the codes for different blocks on the fly while programming the robot and itallows them to comprehend the expected behavior of the robot.On-board the robot, a Raspberry Pi computer is used to run a Linux-based server which streamsthe web-based visual programming environment to the end user’s web browser. The end usercreates her robot-program by interacting with the visual programming environment on the webbrowser. This web-based approach offers operating system (OS) independence, thus obviatingthe need to develop OS-specific applications and allowing the end user to work with Mac, Linux,or Windows OS. To demonstrate this blocks-based visual programming environment, we showthe control of two different mobile robots. First, we consider a wheeled mobile robot that isconstructed using the LEGO NXT hardware, with a Brick Pi serving as its embeddedmicrocontroller that is interfaced with the Raspberry Pi computer. In this configuration, the BrickPI serves as an interface between the Raspberry Pi and LEGO NXT sensors and actuators.Second, we consider a two legged mobile robot that is constructed using 3D-printed componentsfor body parts and joints and servo motors for actuation, with an Arduino UNO serving as itsembedded microcontroller that is interfaced with the Raspberry Pi computer. To command andcontrol each of the mobile robots, the developed visual tool employs blocks corresponding tobasic programming constructs such as loops, conditional statements, variables, and procedures.For a user-created robot-program, the web-based programming tool Blockly is used to generatethe corresponding C-code and is wirelessly sent from the user’s browser to the server running onthe Raspberry Pi hosted on the mobile robot. The Raspberry Pi automatically compiles andexecutes the received C-code.To illustrate the ease, education, and fun value of our approach, a maze-based educational gamehas been developed. Specifically, the game requires the user to program a robot through ourvisual tool to navigate the maze and score points that are distributed throughout the maze. Thefinal paper will provide details of the visual tool, two mobile robots, and preliminary results froma pilot study involving students’ interaction with the aforementioned robot-programming tool inthe game environment.
Details
Operating systems;
Actuation;
Students;
Programming environments;
Hardware;
Embedded microcontrollers;
Automation;
Education;
Servomotors;
Robots;
Block diagrams;
Three dimensional printing;
Actuators;
Body parts;
Linux;
Three dimensional bodies;
Pilot projects;
Games;
Gamification;
Computers;
Human-computer interaction;
Robotics;
Environment
