Look, Ma, I Built a Robot

This post was originally published on this site

Class by class, lecture by lecture, question asked by question answered, an education is built. This is one of a series of visits to one class, on one day, in search of those building blocks at BU.

The only hints that this classroom is actually a makeshift robot factory are the two soldering irons tabled on opposite walls. The point of Introduction to Robotics is that you don’t need a fully equipped mad scientist’s lab to build an automaton in 2019—just some off-the-shelf parts and a little know-how, courtesy of Roberto Tron, a College of Engineering assistant professor of mechanical engineering.

So Florence Xhori (ENG’19) soldiers and solders on, joining 20-plus classmates in the first step in DIY robots: constructing the body. “It’s fun to put it together, but it’s so many components,” she says, proving the point when a baggie of Amazon-ordered parts slides off her desk, scattering tiny metal washers across the rug.

Meanwhile, Marybelle Raymond (ENG’19), on bended knee at one soldering station, affixes wires to the tiny computer in Mr. Roboto, as she’s christened her creation, smoke snaking before her face. She expects ’bot body building will be a snap compared with engineering mechanical minds—that will be the coming months’ task, when the students learn to program the robots.

Assembling the hardware is like a jigsaw puzzle, Raymond says: “mindless fitting together of pieces until you end up with a final product.” Coding, by contrast, “is more like a sudoku: a little bit more critical thinking. You will definitely make mistakes and have to rethink your approach.”

Marybelle Raymond building a simple robot

Marybelle Raymond (ENG’19) building a simple robot early in Roberto Tron’s Introduction to Robotics class. Photo by Cydney Scott

By the time the class ends, Raymond, Xhori, and their peers have built three-wheeled nests of wires, motors, a metal platform, washers, and screws, the size of a model dune buggy. It may not be the Terminator or even the synthetic humans in the 1921 Czech play R.U.R., which the syllabus references as having coined the word “robot.”

But such “robot lore,” says Tron, is not his aim in this class. Rather, his syllabus promises that since “the building blocks for a robot…are well understood,” students—after he’s taught them elementary tools like the programming language Python and run them through a few mini-hackathons—“will learn these basics, and build a simple but complete system.”

If I only had a brain

Two months after the January hardware assembly, the classroom scene is very different. No parts littering the floor, no sideline soldering. The sounds of assembly have been replaced by the clicks of fingers alighting on keyboards, as seated students begin simple coding.

Following a brief introduction from Tron as he types code that’s displayed on the class screen, their task is to manipulate an image of BU’s logo on their computer screens, a step towards programming the cameras installed in their robots to recognize faces and objects. That’s a crucial robo-skill for that final project: each robot’s camera will have to take a picture of the floor, segment out the green pixels marking the tape, and follow its course.

Students are expected to know linear algebra and probability as course prerequisites to help them program their creations for increasingly complex commands. Robotics “brings together a lot of stuff that engineers already study,” says Tron in explaining the course’s value. “Robotics is sort of like an entry way to say, oh yes, all that I studied in mechanics or probability all can come into a physical system.”

Robotics, he adds, is “like the password you should know to a pure knowledge.”

The finale

The final day of April finds the final mini-hackathon in a windowless fluorescent-lit ENG basement room. On the tile floor, three winding courses, each a few paces long, are traced in green tape—one a straightforward square, the other two approximating a pear and a triangle, respectively.

Students divide into teams, each with one robot that the team codes for the assignment, which is to use the robot’s built-in camera to guide it along a course, navigating its twists and turns. An image of the green line beams onto students’ laptops so they can monitor their creation’s progress, adjusting speed and other factors if necessary. Amid the whirring of little motors, the atmosphere is informal, with teams clustering along worktables or knee-to-knee in chairs in the middle of the room, typing on laptops to ready their robots for the courses at their own pace.

The students’ efforts floor their professor—literally: Tron kneels on the tile periodically to closely watch the three-wheelers tackle the tracks. The results are mixed.

One team puts its robot on a track, only to watch it immediately wander off the tape. “Didn’t quite work,” notes an amused Tron. They remove it, adjust the programming, and try again. This time, it spins in circles.

Xhori’s team’s robot also spins in place. As she expected, she says, coding “was the tough part” of the class.

One trio’s robot, however, successfully weaves around the square track on the first try, with just a few glitches, though “we’ve been working on it the past week,” confides Ryan Mack (ENG’19). The pear-shaped track is tougher; in tight turns, the camera spies not just the tape immediately in front of it, but tape on the other side of the track, confusing the robot and causing it to skip part of the course.

“One of the big things in this class,” Mack says, “is it teaches you how to combine the code with a mechanical system, figuring out how to put that mechanical model into computer code so that the robot can then do what you want it to do.”

Fun factor? “Any hands-on class is fun,” he says.

“This class has made me more confident in my Python programming skills,” Raymond says. “Although I had prior exposure to robotics, taking a class about it really helped facilitate what I learned. Now I can confidently say I understand the use of some functions and why we use them in robotics.”

That’s the goal, says her professor, who’s fond of quoting sci-fi writer Arthur C. Clarke: “Any sufficiently advanced technology is indistinguishable from magic.”

“If you’re an engineer and you take a class into that, it’s not magic anymore,” says Tron, “because you know there are all these different pieces that come together.”

Introduction to Robotics will be taught again in spring 2020.

Bill Politis can be reached at [email protected].