Project of the Month, May 2005

Robodance

The Robosapien Dance Machine is a powerful design environment to create complex scripts for your Robosapien robot so he can dance, do stunts, and perform in your very own comedy video, skit, or play. It features an easy-to-use, drag-and-drop graphical interface that even a complete novice can master within minutes. It is a fast track into a more powerful robot for those who can't wait for the Robosapien V2 to arrive in December. Its fast, accurate voice recognition fueled by the CMU Sphinx speech engine makes owning a personal robot more fun than ever before.

Project Name: Robosapien Dance Machine
Founded / Started:
2004

URL: http://www.robodance.com/
Project page: https://sourceforge.net/projects/robodance/

Description of project:

Robosapien Dance Machine - completely control your Robosapien with just your voice while you unleash the funky power of your Robosapien! Create dances, your own comedy movies, and more with this powerful interactive script editor.

Trove info:

  • Development Status: 3 - Alpha
  • Intended Audience: Developers, end users/desktop
  • License: GNU General Public License (GPL)
  • Operating System: 32-bit Microsoft Windows (NT/2000/XP)
  • Programming Language: Delphi/Kylix
  • Topic: Education, games/entertainment, artificial intelligence, robotics
  • Translations: English
  • User Interface: Win32 (Microsoft Windows)

Why and how did you get started?

Last year I bought a Robosapien robot when it first came out and absolutely fell in love with it. It wasn't long before ideas for a funny video were rolling around my head. The remote control that comes with the robot has a macro capability, but it is very limited. There is no screen, the macros have to be very short, and there is no way to adjust the timing between commands to the robot. To enter a command you have to hunt and peck for it on the remote control, picking it out of the 67 commands that are available -- a process that involves frequent use of the "shift" button to select between command levels.

I realized that if I wanted to make my video, I would need the power of a full-fledged personal computer and the ease of use of a graphical user interface to make it happen. I needed to be able to adjust the timings between robot commands so my Robosapien would move in sync with the dialogue I had written, and to dance in step with the song I wrote for the dance portion of the video. When I finished the software I made my video and released it. Thousands of people downloaded the video and I got many kind thank-you letters telling me how hilarious they thought the Robosapien robot movie was. Many of those who wrote me wanted to know how they could make their own videos or performances. It was then I realized that I had to release the software to the public and share the fun. I completely redesigned the original interface, which was clumsy and listbox oriented, to a modern, friendlier, drag-and-drop style interface. After completing the first release, I decided to make use of my past professional experience in the speech recognition industry to make my Robosapien robot even more fun. I discovered that the Sphinx speech recognition engine had been released as an open source project by Carnegie Mellon University, right here on SourceForge.net. In two weeks I was able to control my robot using just my voice.

What is the software's intended audience?

Anyone who owns a Robosapien robot and wants to extend its fun and play value, and in the future, owners of the Robosapien V2, Roboraptor, Robopet, and any other robotic or animatronic toy that either Mark Tilden or WowWee Toys releases.

How many people do you believe are using your software?

Right now the group is small. The first version of Robosapien Dance Machine was released only a short while ago.

What are a couple of notable examples of how people are using your software?

Most people are using it to create Robosapien robot videos to make their friends or family laugh. The interesting extensions so far have come from people adding hardware, such as the Recoton Infrared Extender, so they can have their personal computer upstairs running the software, while their robot dances or performs downstairs.

What gave you an indication that your project was becoming successful?

When SourceForge accepted the project so quickly for publication.

What has been your biggest surprise?

The creativity of the end users. It is refreshing and humbling to come into contact with the raw creativity and intelligence level of some of the people out there.

What has been your biggest challenge?

Time. There is never enough of it.

Why do you think your project has been so well-received?

Because it is is easy to use and it involves robots.

Where do you see your project going?

The project will eventually become a complete program suite to interface with the entire line of Robosapien robots and WowWee Toys animatronic heads. In the near future the emphasis lies on the Robosapien V2, but providing support for the entire line is critical to getting the maximum amount of fun and laughs from the robots. There are three main areas of growth planned:

First, a full-fledged plug-in API so other programmers can work together without stepping on each others' toes. This will allow the natural evolution of function modules, each extending the capability of the robot in some important way, such as machine vision, path planning, and decision-making.

Second, artificial personalities. Every robot owner wants his robot to be unique. There are research labs throughout the world trying to make robots more lifelike. Many of these robot engineers are SourceForge participants, and many more will join. The most exciting synergy I can think of is the coming together of different AI talents and technologies from the many branches of robot engineering, all interacting under the umbrella of a design environment that a typical consumer can run, and expressed in the endearing package of a playful digital companion.

Third, providing an online script exchange hub where all the users of the software can quickly share, rate, and review their creations and help each other create better ones.

What's on your project wish list?

The immediate planned features for the software are:

  • Voice recognition. People want to talk to their Robosapiens.
  • Multiple robot support, to allow people to control more than one robot at a time.
  • Wider support for more infrared devices, including those embedded in laptops and other robot kits.
  • Support for the Robosapien V2, Roboraptor, Robopet, and the WowWee Alive series of animatronic robotic heads as they are released.
  • Script flow control to add common programming idioms like "for" and "while" loops and "if" statements to the script execution engine.
  • Sensor support, so the scripts can take different paths based on what is coming in from the sensors.

What are you most proud of?

The success of the redesign. It is heartwarming to see the program go from the original "techie" design to the vastly friendlier drag-and-drop interface featured in the released version.

If you could change something about the project, what would it be?

I want more developers to join the team. More people equals more fun.

How do you coordinate the project?

Currently that is not a problem due to the size of the team. As others join, the plug-in architecture will help maintain good fences between modules. By that time, I will be making use of SourceForge's CVS source control system.

Do you work on the project full-time, or do you have another job?

Part-time. My full-time job is as an artificial intelligence programmer for Android Technologies, Inc.

If you work on the project part-time, how much time would you say you spend, per week, on it?

25 to 30 hours per week.

What is your development environment like?

My favorite environment is Borland's Delphi 6, which I feel is destined to become one of the classic integrated design environments of all time.

How can others contribute? People are most welcome to contribute to the project in the following areas:

  • Sensor module creation. Creating modules to handle interfacing with hardware sensors to facilitate tasks like object recognition, proximity detectors, and sonar detectors.
  • Community support. Creating code for our Web server to form a dynamic shareable repository of scripts, videos, tutorials, and other useful items.
  • Decision module creation. Creating modules that analyze sensor data or internal "personality" memory data and states and return a crisp discrete value that can be used to make the robot take a specific action.



Special Offer: For a limited time, buy a Robosapien at ThinkGeek and get an additional $10 off ThinkGeek's already low price -- just use promo code: ROBO


More projects of the month


Project Name: Robodance

Project Leader:

Name: Robert OschlerRobert Oschler
Age: 40
Occupation or experience: Veteran programmer with experience in database programming, user interface design, voice recognition and speech synthesis, neural nets, fuzzy logic, expert systems, genetic algorithms, and genetic programming. Favorite languages include Object Pascal (Delphi), C/C++, Assembler, Prolog, and Python.
Education: 2 years of college
Location: Boise, Idaho

Quote about SourceForge.net?

SourceForge.net is the physical expression of the noblest of human qualities: the desire to help your fellow man, and in the process of sharing, discover that you have gained far more than what you have given.

Why did you place the project on SourceForge.net?

SourceForge.net is the premier repository of professional-grade open source software in the world.

How has SourceForge.net helped you?

The staff at SourceForge.net have been perpetually friendly, helpful, and have provided me with a first-rate software management and distribution platform that I could not be happier with.

The number one benefit of using SourceForge.net is:

Benefiting from the help and guidance from the amazing people that created it and maintain it, plain and simple.