Robot coding for everyone

Computer science researchers seek to make it possible for owners to program their own robots

Doctoral student Felipe Fronchetti and David Shepherd, Ph.D., test a new robot coding language they are developing in the Engineering Research Building’s computer science research neighborhood.
(From left) Doctoral student Felipe Fronchetti, YuMi, David Shepherd, Ph.D.

From the Jetson’s maid, Rosie, to Star Wars’ R2-D2, images of robots are everywhere. But relatively few people have much direct interaction with robots. There are good reasons why.

“Robots can be super dangerous to be around. They’re really efficient. They’re really fast. But unless they’re programmed with sensors, they can’t say, ‘Hey, I’m about to smash into a person,’” said David C. Shepherd, Ph.D., associate professor of computer science at VCU Engineering.

In addition, the robots that have sensors to make them safe around humans — called collaborative robots — are programmable only by experts with years of training.

Shepherd has received $750,000 from the National Science Foundation to make collaborative robots programmable by their owners. His goal is to empower small business owners, lab technicians, small-scale manufacturers and others to program a robot to do useful tasks.

This will increase access to technology and drive down costs, Shepherd said. A robot comes out of the box knowing how to do specific tasks. To make it take on another job, a specialized programmer has to be brought in to write new code.

“Every time you have to reprogram, it’s almost as much or more than the cost of the robot, and the robots aren’t cheap,” Shepherd said. “If you could just buy the robot once, then program it yourself, you could cut out the majority of the costs.”

Shepherd’s lab is developing a programming language that turns the complicated code that robots understand into colorful blocks on a screen. With minimal training, a user can click and drag these blocks like Lego bricks to communicate directly with the robot.

The language they are developing operates on the same principles as other block-based programming languages such as Scratch, which is used to help children learn to code.

Shepherd and doctoral student Felipe Fronchetti are testing it on a YuMi (“you and me together”) collaborative robot that Shepherd helped develop when he worked for robotics industry giant ABB. The YuMi robot will go back and forth between VCU Engineering and the Commonwealth Center for Advanced Manufacturing, whose robotics experts are also working on this project.

“The great thing is that it’s more of an idea than a language,” Fronchetti said. “The code for the ABB robot is written in RAPID, but different companies use different languages. [Our language] doesn’t just rewrite code for ABB robots. We can also [use it to] translate code for Universal Robots or robots from [German robotics company] KUKA. It’s very versatile.”

Initially, Shepherd and his team will be programming the YuMi robot to do three basic tasks: picking objects up and putting them down, handing objects off and, finally, basic two-handed movements such as tightening a screw or snapping parts together.

The robot’s right and left arms must be programmed individually, Fronchetti explained, so to make it simpler for the user, commands display on screen as press-and-play buttons for each arm, with a separate button that synchronizes the motions.

Next year they plan to apply their method to mobile robots, which have wheels and can move across the floor. Those who envision a robot that unloads the dishwasher aren’t far off, according to Shepherd, as collaborative mobile robots can be excellent at lab or workspace cleaning tasks.

Down the road, augmented reality may also help make robot programming more user-friendly.

“Let's say you have a program that moves the robot through various locations, but you don’t really know where those locations are in the real world. You may be surprised when you press ‘play,’” Shepherd said. “With augmented reality, you could put on a headset and see the locations as the robot sees them and know how to edit the program.”

High school senior Boden Kahn is looking forward to being part of this journey. He is currently working with Shepherd through the Dean’s Early Research Initiative (DERI), which allows high school students to research with VCU Engineering professors and grad students.

Kahn said DERI, and the prospect of working with Shepherd and Fronchetti this summer, are why he is enrolling at VCU Engineering this fall.

“This is an amazing opportunity to establish myself as a university researcher before I even start college. I’ll come into my freshman year with, hopefully, two papers under my belt already. I don’t think I could have gotten that anywhere else,” Kahn said. “And the fact that it’s real-world applications with robots — that’s the wave of the future, and it’s exactly what I want to do in my career.”