Developing the Foundation to be an Applied Roboticist
Boston Cleek (MSR '20) talks about his experience in Northwestern Engineering's Master of Science in Robotics (MSR) program and his new job at PickNik Robotics.
When Boston Cleek (MSR '20) applied to Northwestern Engineering's Master of Science in Robotics (MSR) program, he thought the program would give him the chance to explore a variety of both interesting and challenging projects.
He was right.
"Sometimes I had a hard time falling asleep because I was so excited to go to the lab the next day," Cleek said. "I couldn’t have chosen a better program."
After graduating in December, Cleek will start a new job as an applied roboticist at PickNik Robotics, where he did his summer internship and where he will develop robotics software for a range of client projects and contribute to open source software, specifically MoveIt. Until then, he's working on his final project, which features the newest robot available to MSR students.
Cleek recently took time to talk about his final project, his work at PickNik, and how MSR was exactly what he was looking for in a master's program.
What did you do at PickNik during your summer internship?
I explored grasping methods such as grasp pose detection (GPD) and Dex-Net, and I added support for both GPD and Dex-Net within the MoveIt Task Constructor. Here is a tutorial I wrote on how to get started and use these within MoveIt.
How, if at all, will your new job relate to what you did over the summer?
PickNik has a wide range of client projects. It is possible that I will refine my work from the summer so that a client can use it. However, I gained more experience with the Robot Operating System (ROS) and writing code in C++, which is what I will be doing every day at my new job.
How was your summer experience impacted by the COVID-19 pandemic?
My internship was remote except for one week when I visited PickNik's office and was able to test GPD on a UR5 robot. Half of the PickNik team was remote before the pandemic and the rest of MoveIt's contributors are spread across the world. Everyone had already adapted to working remotely, so it was easy for me to jump in. Since PickNik develops software, it is easy to write code from anywhere, even on a bean bag chair. I think the major benefit to going into an office is enhanced communication, but there are a lot of tools now that make communication easy. Overall, the experience was minimally affected by the pandemic.
What is your final MSR project and how is it going?
I am working on an exploration and mobile manipulation project involving a robot we call the Sawback. The Sawback is a ridgeback (Clearpath's mecanum wheel base) plus a Sawyer arm. The overall goal is to have the Sawback explore an unknown environment and look for an object. When it finds this object, it will pick it up and return it to a specified location.
For this project I am developing an ROS exploration package that performs receding horizon trajectory optimization. The robot explores areas of a map where it is likely to gain the most information. Because I am developing this package from the ground up, I have to ensure that the robot will not collide with any obstacles and can recover if it gets stuck. There is a lot to think about when you are developing a fully autonomous system.
How beneficial has it been to work with the new robot?
Bringing up a new robot has enhanced my debugging skills and I have learned significantly more about computer networks. These are skills roboticists need for maintaining more complex systems. The project involves several sensors, a mobile base, an arm, the user's computer, and optionally a router. It was difficult to get all the components working together in a way that made using the robot easy. This sort of system design and planning is exactly what prepared me for my interview with PickNik.
When you implement an algorithm that you intend to deploy on a larger and faster moving robot, you have substantially more responsibility. You have to consider the edge cases where your algorithm might fail or behave differently than expected. In order for my package to work correctly, it needs to perform mapping, planning, control, collision avoidance, and recover if stuck. This requires more effort in the software architecture design. Being able to architect larger programs is challenging and another valuable skill needed for developing robotics software.
How would you say MSR has prepared you to succeed in the robotics field after graduation?
I am very well prepared to succeed. My advisor, Matt Elwin, is an incredibly knowledgeable and excellent professor, and I am extremely thankful to have had the opportunity to work with him. I took two of his classes that allowed me to excel at my internship.
The program has also helped me mature mathematically. I am able to read papers more effectively and learn new concepts that are mathematically dense. These skills are important for developing new robotics software. The field changes quickly and it is our job as roboticists to update current approaches and implement new ones.
What have been the highlights of your time in MSR?
The comradery among the cohort has been great. The opportunity to come to Northwestern and learn from and work with the highly experienced and respected faculty and fellow students has allowed me to accelerate my knowledge of robotics. The projects and classes are the toughest I have experienced. Also, when the robot does exactly what you want it to do, it feels amazing.
What advice would you give to a prospective student considering MSR?
The faculty at Northwestern want you to succeed and they will work very hard around the clock to help you. Be prepared to work hard and you will gain confidence, knowledge, and friends, and you will come out with excellent career opportunities.