February 24, 2021
Watch as sophomore Stephen Bowen explains the programming used to code Spot (Video courtesy of Kristofferson Culmer)
It’s not quite dancing in viral videos just yet, but Mizzou Engineering’s Spot is getting a little smarter each day, thanks to an inaugural group of student programmers. Spot is an agile mobile robot from Boston Dynamics perhaps best known for videos of it dancing to popular tunes such as Bruno Mars’ “Uptown Funk” and “Do You Love Me?” by The Contours. The Information Technology Program acquired a Spot this semester to help students learn to work with autonomous systems.
Now, sophomore Max Cilek is reverse-engineering the robot’s movements to create a Spot simulation—allowing others to learn to program it in a virtual environment. And Sophomore Stephen Bowen is in the early stages of designing a companion mobile app that would allow people to control the dog from a smartphone.
So what’s it like to work with Spot?
“Really cool,” Bowen said. “It was surreal seeing it in person.”
Simulated Spot
Not every student can work directly with the actual Mizzou Engineering Spot. There’s only one, so students have to schedule time with it. And it’s a large machine that requires special training to handle it.
To allow more students to experience Spot, Cilek is creating it in a simulated environment. He is working on making a lifelike virtual Spot, and envisions that students in the future will design a simulated environment for Spot to explore. Eventually, this system will allow students to program the simulated robot from the convenience of their computers.
Building an animated Spot is trickier than it sounds. It’s requiring Cilek—a double major in computer science and mathematics—to put his combined coursework to use.
To make the virtual experience realistic, Cilek plans to set up a video camera and record Spot from the front and the side. He’ll put stickers on the robot’s joints to track its movements.
“I’m looking at its maximum step height—given how high it steps you can use projectile motion and physics to figure out the distance it can go with each step,” Cilek said. “I’m also calculating the axis of rotation for its joints. If the videos are at the same height and timed just right, we should be able to calculate its motion to see the angles at which his joints are rotating.
It’s cool to see the movements and wide range of motion its body can twist and turn. The math is interesting.”
Companion Mobile App
Bowen is working on a proof of concept to see whether he can create a mobile app that would control Spot.
“We’re still trying to figure out what it’s capable of because there are so many intricate parts of it, and you can add parts to help it do tasks,” he said. “But the controller that comes with Spot is huge and expensive. It’s also proprietary, so it’s expensive to replace. If we could make a more customizable app, you could have a lot more room to play and get it to do what you want it to do.”
One idea would be to have Spot follow a smart phone, meaning it would simply follow its “handler” without the remote control or any additional programming.
Bowen believes Spot robots will be most useful in situations that pose threats to humans.
“The real application is in dangerous or harder areas where people can’t access easily such as power plants, nuclear reactors and construction sites,” he said.
He doesn’t envision a day where Spots will run loose on the streets with their own agendas. Rather, Spot is just a tool.
“It’s a lot of code, a computer and a bunch of motors,” Bowen said. “I see it as a really high tech remote control car with legs.”
‘Great Opportunity’
Bowen, who switched his major from finance to computer science last summer, admitted he never dreamed he’d be programming a robot his sophomore year of college.
He inquired about undergraduate research opportunities last semester after taking a class with Associate Teaching Professor Dale Musser. When Musser mentioned Spot, he jumped at the opportunity.
“I had heard of it passively because I’d done research on Boston Dynamics, and I’d see them in the news from time to time,” Bowen said. “So I knew what it was, but I hadn’t seen one in person.”
Bowen is currently enrolled in Musser’s iOS app development course, which is helping him create the Spot mobile app.
Cilek is enrolled in Musser’s Introduction to Python—the programming language used to control Spot. Because Cilek is already proficient in Python, Musser gave him the opportunity to work with Spot as part of the class.
“As a teacher, he is incredibly supportive,” Cilek said. “It’s incredible that he reached out to me and offered this as an extra educational opportunity. The fact he went above and beyond and wants students to learn things like this—I really appreciate that.”
Cilek also thanked Kristofferson Culmer in the IT Program for taking extra time to train students to work with Spot.
“The teachers here are incredible when it comes to Information Technology and Computer Science,” he said. “They’re very knowledgeable, helpful, and they have a lot of connections, as well.”
Bowen agreed, saying he would highly recommend Mizzou Engineering to others.
“Because of stuff like Spot,” he said. “You get the opportunity to talk to incredible, cool and intelligent people working on all sorts of crazy stuff like robots or drones or self-driving cars. I walk through the engineering building and see all of the cool stuff going on. I consider myself extremely lucky to be a part of it.”