Northeastern students pour software, engineering skills into Mars rover
Author: Milton Posner
Date: 12.12.22
On a sunny, late spring day in the southern Utah desert, more than 100 miles from the nearest hospital, an astronaut lay motionless. Time was running out.
He needed help at that moment, someone to discover and deliver him from a parched and unforgiving landscape. What he got was a robot sidling up to him and unceremoniously dropping a water bottle onto his chest.
The astronaut, it bears mentioning at this point, was a mannequin. The time running out had more to do with a competition than the astronaut’s vital signs. And the eager, water-bearing bot was designed by the Northeastern University Mars Rover Team, a student organization of engineers and software aficionados devoted to building the best desert-roaming vehicle possible.
Ninety-nine university teams from around the globe applied to attend the 2022 Mars Society University Rover Challenge, in which teams complete as many equipment servicing, autonomous navigation, and object delivery tasks as possible within the allotted time. Northeastern’s vehicle, Watney Mark 3.0 — a nod to Mark Watney from The Martian — was one of 36 that passed the system acceptance review round and made it to the competition in Utah. There, Northeastern placed 16th, a strong finish for an on-the-rise squad rebounding from the graduation of numerous leaders.
“It felt like our first time. No one was legacy; no one had been to the competition before,” says team leader Garrit Strenge, a fourth-year computer science and computer engineering student. “None of the parts worked at the start of the year, and to see everything come together, to see the team drive the rover and control the arm, it was an incredibly proud moment.”
The collaboration that produced that moment was complex and frenzied, a delicate dance between the mechanical team that crafts the hardware, the electrical team that wires it together, and the software team that codes the vehicle’s controls and behaviors.
“We’re controlling the rover from the lowest-level, closest-to-bare-metal code all the way up to high-level UI code,” Strenge says. “The software team has to think about absolutely everything and how it integrates together.”
This year, that team is the domain of software co-leads Shannon McInnis and Brooke Chalmers, both computer science majors at Khoury College. McInnis focuses on firmware, and spent much of the previous academic year working on the rover’s all-important arm.
“It was brand new and we didn’t have any software for it, so the biggest challenge was just getting it to move at all,” McInnis says. Because the team’s feature-rich motor controllers are intended for the FIRST Robotics Competition, she “had to figure out how to use their libraries in ways that weren’t necessarily intended.”
Initially, the team planned to control the arm with an Xbox controller, the same way they control the vehicle’s driving and the arm’s gripper. But McInnis had a more ambitious idea: a miniature arm whose movements the vehicle arm would mimic.
“The arm has six degrees of movement, and it’s hard to translate that movement onto an Xbox controller. You could only move one joint at a time, which makes it less precise and extremely slow; plus, if you mess up one move, you have to go back,” McInnis explains. “I was really happy when the model arm worked because it took so much effort.”
It was, Chalmers adds, an “intuitive way to get it working.” The team is now augmenting the arm for Watney Mark 4.0, which is where Chalmers’s control UI specialization takes over.
“We’re going to try to add inverse kinematics; that way we can tell the arm to move to a given position, and the arm will figure out its joint position along the way,” she says.
The arm is one of many planned improvements. Unlike last year, the team is starting with a working rover, affording them the bandwidth to add higher-level features. Chalmers wants to use computer vision for the autonomous challenge, combining it with GPS data so the rover can better pinpoint markers in the desert. She also wants to fully integrate the existing stereoscopic cameras, boost processing power to support the sensors, and increase the driver’s capability.
Such features, the team emphasized, are ends in and of themselves — but they do improve their competition chances. After a last-minute virtual competition left the team to develop their rover in a simulation in 2021, they returned to Utah in 2022. The 12-person crew — one expert for each rover part — earned their strong overall finish despite the occasional scramble, and they relished the chance to bond with each other.
“My favorite part of my Rover experience was being off in the AirBnB in Utah,” Chalmers says, recalling a night of component testing illuminated by rental car headlights. “Building up to that, it felt like I’d been working in a professional setting. So it was really cool to get to know people on a personal level and spend all my time with them.”
And this year, the team expects last year’s progress to compound, especially since they can start practicing sooner.
“You don’t need the technically best robot. It can be pretty janky, but if you’ve practiced controlling it and know exactly how it works, you can outperform someone with a perfect rover who hasn’t practiced with it,” Strenge notes. “I think a podium finish is definitely doable.”
That finish will rely on the same sponsors that supported the rover’s construction and enabled the team to attend the competition last year: Khoury College, the College of Engineering, the College of Science, and the student body.
“Sponsors allow us to do bigger things and allow more people to get this experience,” Strenge says. “A lot of the equipment costs a lot of money, and it’s great to give these students the ability to work with real-life, practical equipment and software.”
But a podium will also require fresh talent — motivated students who buy into the group’s mission and work. To incorporate those students quickly, the software team tries to make their onboarding useful for coding vets and newbies alike.
“We want people without technical experience to be able to join,” McInnis explains. “We make sure everyone has things to work on, that it’s enjoyable, that they feel supported, and that we can answer their questions.”
“It augments the classroom side of things,” Chalmers adds. “We work with version control, manage collaboration, pass down knowledge through a wiki — practices that show up in co-op and beyond. Getting experience with those things through Rover is a great way to learn.”
The software team’s members agree. The club’s internal surveys reflect a unanimous feeling that Rover bolsters members’ collaboration skills, and a majority believe their participation helped them to achieve in classes, earn co-ops, and sharpen their skills in numerous coding languages.
“None of us would be on this team if not for the help we’re getting from classes, but the stuff you learn here is practical experience you don’t get in the classroom,” Strenge says. “It’s like you’re working at a real company. The experience is second to none.”