Skip to content

Once I Had A Robot

To celebrate 2nd anniversary of my bachelor graduation day on March 8th (yeah it is so important for me, I still remember the struggle to finish it, lol), I want to share a little bit about my Final Project, or Thesis, or whatever its name. I just checked my blog postings on two years ago, there isn’t any writings about it, so here it is.

At that time, even searching for the inspirations was so hard, it took few months for me to realize what topic I wanted to work on, after I set my mind as simple as: what do I need? I was laying down on my bed, and asking that question to myself, while looking around my messy room: I NEED to clean up my room. If only I have a remote control for each thing inside my room so I could move it from this point to another without moving my ass (yea I am that lazy). If only I have a personal assistant who cleans my room according to my commands without any hurt feelings. So from that, a robot to clean a room!

Even with my interests in Robotics and Artificial Intelligence, it still looked really unreal. So I started to break down the requirements to more details, feasible and more Informatics. My major was more on programming part and not in hardware, so my research should not be focused on assembly of the robot (I bet the Mechanical or Electrical engineers are more expert on that part), instead it should be focused on the intelligence program inside the robot controller. So, I decided to use Lego Mindstorms Robotics Invention System (RIS), which was provided from Artificial Intelligence laboratory in my university for research. It has a basic set of robotic parts: microcontroller, motors and sensors, easy to build and program it, but also become a drawback which we cannot program it with too complex codes.

It was started with a very nice proposal and idea. The scenario is: camera sensor will take the whole picture of one room, then the picture is being extracted by some algorithms in PC to return object points (for example: a TABLE in point (x,y), a BOOK in point (x1, y1)), these points are sent to Robot, then Robot starts walking to BOOK, take it and put it onto TABLE, and so on until all objects are put on/in their appropriate place (book on the table, pillow on the bed, etc). Then my room would be clean. Even with 2 Lego sets we can only build a small robot that could not hold any real things, so I’ll make a simulation room with a tiny table, tiny book, tiny pillow, tiny bed, etc.

Well, it will take forever to discuss about this project (okay not forever, 1.5 years!) and it would be so much boring if I wrote here about technical details of the program inside (if you’re interested, I used Genetic Algorithm, which is a Behavior-Based approach, for robot’s path-planning), so I’ll just post collection of pictures in the process of building robot from the scratch.

In memorial: Kreacher, a Room Order Mobile Robot!

In the beginning I named it Dobby, a kind house-elf in Harry Potter story (you could see the eyes of my robot looked like Dobby’s big eyes). But then *spoiler* Dobby died in book 7, it feels like a bad sign (that my project was not finished yet at that time), so I changed the name into Kreacher, another house-elf (*spoiler* the bad one but lately in book 7 it turns out that Kreacher is a really good house-elf)! House-elf in Harry Potter story is like a little servant, so was my robot.

As I told before, the Lego sets are owned by university, so I needed to give them back once my research was finished. So long, Kreacher! There are also some parts that I and my teachers decided in the end to skip implementing them because we’d need more time but I needed to graduate soon T.T that’s why deep down in my heart I still want to do more research on them. But I am not sure, will I be back to learn about Robotics again someday or it only ends up as a good memory.

“My burning question is what is it that lets matter transcend itself to become living”
(Rodney Brooks, Director of MIT Artificial Intelligence Laboratory)

Leave a Reply

Your email address will not be published.