So I have decided to build a robot. What’s next? I need to consider which hardware and software platform to build my robot. But before that, I have to ask myself what I want my robot to do.
My "dream robot" would be one that behaves somewhat intelligently, like R2-D2 or C-3PO in Star Wars, or Baymax the health care robot in Big Hero 6. How about near-term, more attainable goals? Here is what I have in mind for the robot:
- Navigate in a home environment and figure out where it is. For example, I can say "go to kitchen” and it will get there.
- Recognise people and objects and learn their names, just like how a person would.
- Provide and receive information using conversation, and build up knowledge over time.
- Perform simple actions such as turning on and off internet-enabled appliances, taking photos and recordings, on my requests.
Given the above requirement, some robotics options can be eliminated, e.g. small robots without camera.
One option is to build a custom robot from scratch, starting with a mini computer such as RaspberryPi and then add whatever components needed, perhaps some servos, wheels, camera and speakerphone. However this would probably mean a lot of time spent on hardware and drivers before I could do anything more interesting like navigation or machine learning.
A better option would be to utilise some kind of robotics platform where a lot of ground work has already been done. I found that the following seems promising.
Kobuki + custom hardware
Image by Yoojin Robot
Kobuki looks like a typical vacuum cleaning robot, i.e. a round-shaped “disc" that can move around, except that it is without the vacuum, is programmable and has more interfaces. It has been designed to allow more components to be added on top, so that a more feature-rich robots can be built. It costs $350 US dollars and is designed by a Korean company.
Image by TurtleBot.com
Turtlebot2 is Kobuki + a set of predefined components, so that you don't need to think about what custom hardware to put on Kobuki. It looks like a small coffee table that can move around. It is basically a laptop, a 2D+3D camera and some metal bars and board added on top of the Kobuki mobile base.
TurtleBot2 is an initiative of the Open Source Robotics Foundation and has a lot of documentation and support in the community. It was available since Oct 2012. It uses “open-source hardware” which means that the design and specification of the hardware is freely available on public domain. You can in theory find the parts, follow the design and assemble the robot yourself and install open-source software on it.
In reality I guess most people like me would save the time of doing all that and just buy the robot from a “distributor”. It usually costs around $1,800 US dollars or more, depending on where the distributor company is, if all assembling has been done, etc.
Deep Learning Robot by Autonomous
Image by Autonomous.ai
Deep Learning Robot created by Autonomous is very similar to TurtleBot2 except that it is quite a lot cheaper at $999 USD. So similar indeed, that it attracted some criticism. It seems to be available since early 2016. It is TurtleBot2-compatible, i.e. software that runs on TurtleBot2 should also run on it.
Image by SoftBank Robotics
If you live in Japan, there is actually one more option - you can buy the beautifully built Pepper, originally from Aldebaran Robotics which is now acquired by Softbank.
This is very different from the previous options. It is a lot more expensive, and there is zero effort required by you to work on the hardware. You can even turn it on and interact with it right out of the box. You can also write programs using its SDK.
The initial purchase price is around $2,000 USD but there is a payment scheme that requires monthly fee for 3 years. Total cost of ownership is about $10,000 USD. Pepper is only available for sale in Japan at the moment.
What I Chose
In the end I chose Deep Learning Robot by Autonomous. It seems to be a great package that offers the best value for money.
I don't like its name though. Imagine Apple releases their next phone and calls it “Smart Phone”. That is basically what Autonomous did by calling the robot “Deep Learning Robot”. It makes searching info about this robot difficult. To make it worse, even the company name “Autonomous” is a word commonly associated with robots.
I later came across an article that explains their rationale in giving robots generic names,
"The company purposely gave the robot a rather bland name — the “Artificial Intelligence Personal Robot” — because it wants people to name the robot themselves in order to personalize the experience.”
People can still name their own robots even if the robot has a name from the manufacturer!
That aside, it seems to be a great product. I will write about my ordering and unboxing experience.
As a reference, here are more info about the Deep Learning Robot by Autonomous: