Learning Collaboratively Alongside Robots

For his final MSR project, Joe Blom (MSR '25) developed a proof of concept of a robot that learned a task together with the user

Joe Blom was drawn to Northwestern Engineering's Master of Science in Robotics (MSR) program because of its project focus. He felt the program's structure and flexibility would be a great way to explore topics he was most interested in.  

Based on his final project, Blom (MSR '25) was right.  

"MSR is a very self-starter program with a lot of responsibility and freedom to explore personal passions," he said. "The whole program was set up to foster this kind of mindset and it made a project like mine an even better opportunity than it would have been as just another assignment." 

Blom developed a proof of concept for a collaborative robot able to work alongside a user and learn a task while the user learned the same task. For the project, Blom wanted to teach the robot to draw two-dimensional shapes.  

His goal was to provide small corrections as the robot executed the task. These adjustments would feed back into the system and improve how the robot subsequently performed the task.  

"A big focus of my project was to implement this process live so that there is no stopping or manual data labeling," he said. "The system learns dynamically. I did this by combining ergodic trajectories and admittance based user control." 

Ergodic control, a modern method enabling robots to efficiently learn about unknown environments, was not something Blom knew about prior to MSR, but instead was a concept he learned in Todd Murphey's Active Learning in Robotics course. Taking the ideas learned in the classroom and applying them to a real robot were one of the things Blom most looked forward to with his project.  

What he learned was that transferring concepts from controlled settings to real environments was more challenging than he initially suspected. 

"I gained a massive appreciation for the kinds of messy problems that are involved with taking code to the real world," he said. "Robotic hardware is in a lot of different conditions and can often not be very powerful. This is something I learned to always consider when designing a system. I grew to start considering the whole picture and not just the software when it comes to writing code." 

The experience reaffirmed what Blom felt when he was a young child learning to code. Even then, Blom was fascinated by programming, but as he got more experienced with coding, it felt detached from the every-day world.  

"I loved technology, but I felt that code in the abstract did not have a lot of impact," he said. "I come from a software engineering background and I joined the program because I wanted to work with companies that needed code but for real world problems, not just digital ones." 

By the end of the final project, Blom got his robot to go from no understanding of a task to helping a user draw shapes in fewer than 10 minutes. He has ideas for how he could continue refining the learning method and extending the system to more complex tasks, but for now, he's celebrating his final project accomplishments.  

He's also excited about the additional tactical skills he learned along the way. 

"I got some great experience prioritizing workflows, as I had to really focus on the parts that would push the project forward and not get bogged down in small details," he said. "I also learned to organize my work as I went for outside review. This made the feedback and advice I received much better and directly contributed to the success of the project." 

McCormick News Article