Creating a Stimulating 3D Programming Environment by Integrating Complex Robot Types
Design of Robot-Oriented Thinking to Help Youths, or DOROTHY, is an educational tool that integrates 3D programming with robotics to teach core computing concepts to school students without prior knowledge of programming or robotics. The goal is to stimulate student interest and increase retention rates in science and engineering. Dorothy builds on Alice, a 3D programming environment that provides a drag and drop interface for students to create graphical routines to solve problems. Prior integration of Alice with robots (e.g., iRobot and Finch) has provided limited capabilities and unidirectional communication between Alice and robots. The current version of Dorothy, on the other hand, is integrated with Fluke robots (i.e., Scribbler robots with add-on cards for sensing and control), providing the capability to automatically translate graphical routines to programs executed on one or more Flukes. In addition, Dorothy enables bidirectional communication with robots, using sensory inputs from robots to create a virtual 3D environment that mimics the robotâ€™s immediate surroundings.Â This research project demonstrates the integration of Dorothy with Erratic, a more complex wheeled robot platform that can use on-board sensors and processor to autonomously map and visually observe the environment. The algorithms on Erratic are typically implemented using the Robot Operating System (ROS). The existing robot handler in Dorothy for the Flukes is altered and used in conjunction with the Paramiko Python module to create a secure connection to the Erratic robot. Movement commands from Dorothy are then sent through a socket stream to the Erratic robot handler and translated into appropriate ROS commands that are executed on the robot. Future work will exploit the mapping and visual sensing capabilities of the Erratic robot, further stimulating student interest in science and engineering by demonstrating realistic real-world applications of computing.