←
Hardware
Robots
Robot Arms
Robot Arms

Robots 🤖

They seem to be all the hype these days. For so long, I've only worked in the software domain - web apps, mobile apps, backend systems, etc. I'd never had the itch to explore hardware.

The most "hardcore" hardware thing I ever did was build my own gaming desktop when I was 14.

So where did my itch to explore hardware finally come from?

My fear of feeling left behind in technology. No, of course not. Okay maybe it's partially true.

Regardless, the "coolness" factor of working with hardware came from watching videos of robots folding t-shirts, successfully, or making coffee, successfully. Albeit, at 1x speed though it still captured my imagination and excitement.

So off I went! My next steps were to find projects that could direct me towards learning hardware and to building a self-learning robot.

First learn some basic hardware, then build a robot.

A brief online search and a few Youtube rabbit holes later, I decided to get an electronic starter kit. Perfect for learning the capabilities of common electronic parts.

electronic kit

Despite it being a hardware kit, I found the best part of the kit was the projects booklet. It made learning so much more accessible and rewarding - the instructions were simple and clear and I could get a working demo within 10 - 15min. Starting from ...

making LEDs turn on in various ways...

to controlling other parts like ...

After finishing the entire booklet, I felt like I was ready to take on more challenging projects. I had a few ideas in mind: a homemade security camera, e-ink temperature display, wireless controlled car, etc. But I still wanted to build that self-learning robot.

A few online searches, a few Youtube rabbit holes later ... and I arrived at the SO-ARM101 kit. It was perfect. After waiting a little over a week, the box finally arrived.

robot box kit

Since this build required more hands-on assembly, I found some tools and 3D printers at a local makerspace to make it happen. Shout out to Kwartzlab for providing such a wonderful communal space for makers of all kinds. I'm truly grateful a place like that exists.

After the assembly was done, it was time to teach the robot to do something a one year old could do. Like pickup a marker and place it inside a roll of tape. Not exactly impressive when watching a one year old do it, but a robot doing it? *Eyes and jaws wide open*.

But first, I had to record some examples, or episodes.

Then it was time to train it on a policy. I chose ACT as recommended by professionals because of its effectiveness in getting a working demo with roughly 50 recorded episodes. However, through some trial and error, I had to record several 50 episodes as the consistency and quality of each recorded data greatly affected the final outcome during inference.

So here's the best showcase of my robot doing the thing ...

Sure, it's not perfect but how amazing is that!? I was in shock for a solid 10 minutes the first time I watched it. I bet any one year old would also be equally impressed.

Now what? Well, there are many avenues I could take this project. I could train it to do more complex tasks like sorting objects, picking up multiple objects, assembling simple objects, etc. Or maybe add another arm so it can finally fold my t-shirts or do my dishes ... the possibilities are endless.

Returning to the initial shock, the moments of seeing the robot arm finally come "alive" felt magical. Why? Well, we have a robot learning how to navigate 3D space and manipulate 3D objects using primarily 2D imagery and motor feedback - primitive inputs. Yet, we are able take those primitive inputs, apply some simple and complex math, and teach a machine to learn and perform physical behaviours! Isn't that incredible?

For me, the central, main character in this story is the math.

Not the software or the hardware. The math. For me, it finally feels like math is shaping our physical reality in a much more visible and consequential way.

With all that said, working on this project has renewed my interests in learning math again. Perhaps understanding the math better can help demystify all that hype and offer a glimpse into the remaining work that lies ahead in making robots truly capable. 🤖