Students develop free robot programming simulator
When it comes to programming actual robots, things get very expensive, very quickly.
"Robots are unforgiving," says Dr. Jeffrey McGough, professor of mathematics and computer science at South Dakota School of Mines & Technology. "And maintenance of robots is painful."
Students learning to program autonomous robots often spend more time repairing them after they are damaged as a result of coding mistakes than they do learning to actually program. An incorrectly programmed robot might drive off a table top or crash into a wall, requiring hours of hands-on repair work, McGough says.
McGough began looking for curriculum and/or software to teach his students robot programming seven years ago. He quickly realized there was little available. He experimented with a Roomba Robot Vacuum, but the maintenance costs quickly added up.
Eventually, McGough conceived the RoboScience Simulator, which became a senior design project for a group of his computer science Mines seniors during the 2017-2018 academic year.
McGough says the K-12 level of robotics programming already has adequate curriculum available to schools. And while there are simulator packages on the market for post high school students, they tend to be excessively expensive. The least costly program McGough found on the market priced at $3,000 per student. "My goal was to create something more affordable," he says.
The RoboScience Simulator will be an open source simulation program that universities can use without cost, including an online portal, free textbooks and basic robotics software.
On the computer screen, the RoboScience Simulator program looks a bit like a rudimentary video game, with a simple outline of a "robot" moving through various obstacles. RoboScience Simulator allows new programmers to work out the kinks of a program, watching a simulation of an autonomous robot on a screen, before applying it to an actual machine. It may start with something as simple as programming a robot do a figure 8 on the screen. If the programming is not quite right, and the robot launches into the "wall" instead, there's no harm. The student simply starts over on the computer coding.
McGough says students learn programming at a much faster pace with a simulation program than they would an actual robot. Mistakes in programming on a simulator can easily be corrected. Students will also be able to use the simulators at home, which increases the amount of time they can experiment with programming.
The RoboScience Simulation student team started from scratch at the beginning of the academic year, putting aside earlier programming attempts. "They started from zero – ground up," McGough says. "I described what I wanted to see, and they figured out how to build it. And they engineered it correctly because they are our students."
The team logged about 1,000 hours together and about 200 per student on the RoboScience Simulator.
McGough hopes to teach his class using the RoboScience Simulator course materials in the fall of 2018. By summer 2019, it could be ready to test in another university setting. And by 2020, he hopes it will be available to everyone.