The Nao Development Project My Quest for Personal Robotics

Project Home

Introduction

This is an opportunity for you to take part in the creation of an autonomous and intelligent blogging robot!  I need your help to obtain the robot platform so that I can develop the AI code that will make it work.  In turn you will receive the opportunity to follow, comment, and make your own suggestions as I embark on this task . . . in addition to receiving one of several awesome perks!

The Robot

The Nao robot is a complex platform that is a part of over 350 advanced research projects all over the world!  It is a robust platform used to explore a wide variety of research topics in the field of robotics, computer science, human-machine interaction, and social sciences.  This fully programmable robot has 17 sensors and 25 actuators/motors coupled with sophisticated embedded software--making it the ideal platform for this project.  Additionally, Nao has the built in ability of face and object recognition, speech recognition, text-to-speech synthesis, and full body motion.

Nao Specs

Aldebaran Robotics, the maker of the Nao robot, started a developer program back in November of last year to catalyze the creation of innovative and intelligent robot apps--their vision was to make true personal robotics a real possibility.  Aldebaran's developer program is still in full swing as it continues to pick up new software engineers who are excited about taking part in the future of robotics.  Just a few months ago I was invited to participate in this program and, after taking the prerequisite entrance test, was accepted!

"Robotics will be the next revolution of the digital age, like the personal computer 30 years ago, and NAO from ALDEBARAN Robotics will be its first incarnation as a humanoid robot.

We, a group of pioneers, want to be part of the adventure and pave the way to the future. We want to combine our skills and creativity to animate NAO and bring him to life."

-Aldebaran

Have you ever wondered where the fascinating robots depicted in the movies are?  Or wondered how far off technology is from producing artificial servants or companions?  The truth is, as you might already assume, that we still have a long way to go before we have protocol droids following us around and prattling on about our next course of action.  While it's true that there are some engineering marvels that are getting close to the physical embodiment of such a feat, there is still a large gap in the mental capacity of our machines.  What determines this mental capacity?  Certainly the computing hardware is a factor . . . but what really determines a machine's ability to learn, develop, and produce any semblance of a personality?  The answer: software.  And that's what this project is about.

Naos Dancing

 

The Project

If you've recently read the news, you may have heard of a robot creation that learns and adapts according to its environment [PC Magazine].  This robot uses a neural net algorithm known as a Self Organizing Incremental Neural Network (SOINN) which was developed by a Japanese scientist by the name of Osamu Hasegawa.  I plan on adapting my own version of this algorithm to help achieve at least a few of my 5 project goals: curiosity, personality, navigation, self-preservation, and self-documentation.

  • Navigation:  Nao will be able to navigate any obstacle which prevents him from achieving his goal.  He will also be able to map out his surroundings as he navigates them.  (Perhaps with the use of a Kinect)
  • Curiosity:  Nao will be driven by an insatiable desire to explore the world around him.  He will wander around from one thing of interest to the next in search of the next best thing.
  • Personality:  Nao's curiosity will be dictated by his personality.  He will develop his own sense of what is worthy of further exploration and what is not.  This will not be an instantaneous thing--personalities never are--but it will develop and emerge as time goes on.  Nao's vocabulary (refer to Self-Documentation) will develop as part of his personality.
  • Self-Preservation:  While curiosity will be the driving force behind Nao's exploits, he will not approach things without caution.  Who knows what my dogs' reaction to him will be . . . Nao certainly doesn't.  Self-Preservation will also include Nao seeking out power sources in time of need.
  • Self-Documentation:  There's no point in going on an adventure without being able to share it with someone.  While Nao is seeking after the curiosities of his world, he will take pictures of things that he finds interesting and post them to an Internet blog (using his camera and wifi connection).  He will also provide comments during his journeys and post them to the Web as well.
These goals with be gradually met as the project moves through each of its 5 main phases:
  • Research Phase (already underway)
  • Funding Phase (underway -- learn more at IndieGoGo)
  • Navigation Phase
  • Personality/Curiosity Phase
  • Blogging Phase

Nao on the phone

The Impact

Because of the open nature of this project, the research that I perform and the ideas/code that I develop will directly benefit the robotics/AI community.  This approach, as opposed to the traditional "closed door" method of R&D, helps produce a continually growing foundation--reducing or stopping the need to reinvent the wheel.  This PhD comic regarding Willow Garage's project describes this concept perfectly.  I'm not claiming that this project is guaranteed to produce groundbreaking results, but I do believe that the resulting process of discovery will at least provide others with a stepping stool to the next big breakthrough.

 

Comments (4) Trackbacks (0)
  1. you made a remark on indiegogo that you were going to start writing the code for this soon. Are you going to make this code available to those of us who donated?

    • Soon is a bit subjective–I still have quite a bit of research to do in order to adapt this to the Nao. I’m also thinking about adapting this to Willow Garage’s Robot Operating System (ROS) which already has an implementation of SLAM.

      As for your question: I’m not going to make the code available immediately. I will need time to develop a proper framework and get it to a certain point of stability. However, I will be documenting my findings and posting them to RoboWiki . . . to include important code fragments.

  2. You would probably get more contributors if you gave regular updates. What exactly are you working on now?

    • You’re probably right about the updates…I’ll commit to regular updates every 7 days–at the very least. At the moment progress has been slow due to my day job so there’s not much new to report on. I’m still working on SOINN research and developing the initial architecture. I’d really like to present my findings to you loyal readers, but I’m more concerned with making progress at the moment. Hopefully that doesn’t come across as being inattentive….


Leave a comment

No trackbacks yet.