This is my wife Alex. She is a fantastic woodworker, and she loves to build tables and other beautiful pieces of wood furniture.
She has built a bunch of amazing pieces, from small coffee tables, to our 8-foot long dining room table, to a gigantic conference room table for the company she works at.
She’s built virtually all of the wooden furniture in our house. Here is our living room, with all of the pieces she has built marked. And there’s even more in our office, bedroom, and patio!
Alex has a lot of fun with these projects. But one part of the process that isn’t so fun is sanding. She usually purchases large slabs and gets them planed, which requires a lot of sanding to get the surface finish to an acceptable point. Depending on the type of table she is building, there is also often sanding required after doing epoxy pours and prior to the application of the final top coat layer. As you can see in the vlog she made for our dining room table, the sanding process is messy, boring, and takes a really long time.
As a mechanical engineer, I figured I could come up with an automated sanding solution that could spare her this arduous part of the process. I had also been itching for a hobby project to apply and expand my knowledge of robotics and mechatronics. Possibly my favorite class in undergrad was a very hands-on mechatronics class (Stanford ME 210; shoutout to Professor Ohline), but my career took me in a direction where I never really got to apply those skills. During my masters’ program at USC from 2021-2022, I had taken several classes in controls and robotics, and really enjoyed them, but most of the assignments were either theoretical or done on simulated robots (ie in Simscape) rather than on physical hardware. I figured this would be a great chance to build hardware that would actually be useful to someone I really care about, while at the same time giving me a great learning experience.
Alex and I brainstormed a bit, and settled on the idea of a wheeled robot that would behave somewhat like a Roomba (credit where credit is due: she also came up with the name Sandra for the robot). You would plop the robot on the table and it would drive around with an orbital sander to sand the table. The initial implementation would not do any localization or mapping; it would either do a random walk or “lawnmower stripes” similar to the original Roomba and use downward-facing IR sensors to detect when it was getting close to a table edge and turn around. Later, if I got this version to work, I could add more advanced sensors and implement more complex algorithms for localization and mapping.
With this initial idea in mind, I went ahead and started designing!