Programming robots is kinda hard. There's a lot of coding involved, and despite the zillion learn-to-code courses that have sprung up in recent years it's probably fair to say that most people won't ever develop the skills necessary to program a robot from scratch.
That's why researchers from Washington State University's School of Electrical Engineering and Computer Science are working on alternatives - and one that they've discovered is the use of techniques normally designed to train animals.
In real-world animal training, dogs tend to be slow to respond to instructions when they're learning them, and react faster once they're more confident. So the researchers designed a computer program that lets humans teach a virtual robot dog and included the ability for dog-bot to react at different speeds.
"At the beginning, the virtual dog moves slowly. But as it receives more feedback and becomes more confident in what to do, it speeds up," said Bei Peng, who worked on the project.
When the user taught the robot dog tasks by reinforcing good actions and punishing incorrect ones, it was able to learn to effectively predict the correct course of action in different circumstances. The more feedback it got, the better it got.
Additionally, the algorithm allowed the dog-bot to confront the tricky task of knowing what no feedback at all means. "When you're training a dog, you may withhold a treat when it does something wrong," said Matthew Taylor, who also worked on the study.
"So no feedback means it did something wrong. On the other hand, when professors are grading tests, they may only mark wrong answers, so no feedback means you did something right."
It's hoped that these principles could one day be used to let people with no programming skills teach their robots what they want them to do. The researchers say they also hope it could teach people how to be more effective animal trainers.
"We want everyone to be able to program, but that's probably not going to happen," said Taylor. "So we needed to provide a way for everyone to train robots – without programming."