Gupi - How It Started
Back in January, I promised to make Gupi my first Lego Mindstorms NXT robot. Unfortunately, I wasn’t selected as part of the Mindstorms Developer Program (MDP) and so I cannot build it right now. But I have decided to take the opportunity to go through the initial robot design stages in a series of articles. The articles will run all the way to July, which is when I hope to finally get my hands on a Lego Mindstorms NXT set.A nice resource for learning what Gupi is can be found here.


Robonetics developed a number of robots, and started to work on a solution to the core problem facing us: behavior coordination. We created the language RIDL, the Robot Intelligence Definition Language.

I’m holding the large robot doll prototype "Anty", left of me is Stefaan Decorte, chief designer for RIDL, and right of me holding the Gupi prototype, is Michael Uyttersprot, chief robotics designer.
Robonetics did not raise any venture capital. However, having seen what Robonetics did with its demo robots, Jo Lernout, former chairman of Lernout & Hauspie (L&H), asked me if we could build a furry toy robot that could be mass produced. The concept had to be cheap in production, but blow other toy robots away because of its far superior intelligence. As you can imagine, we were extremely excited by the prospect of such a project. We brainstormed with Jo Lernout about possible concepts, and ended up with the idea of a guinea pig, at the time codenamed R2. R2 was derived from roborat, but also hinted at the second generation of robots, and off course reminded of the robot R2D2 in Star Wars. A group of investors around Jo Lernout founded a company called R2, and Robonetics got the project to design and prototype the robot.


The RS100 is very different in design from Lego Mindstorms NXT. Lego has chosen to use a commercial-off-the-shelve 32-bit microprocessor. Whenever the robot wants to control many motors and inputs, it rapidly switches between its tasks to provide the illusion of concurrency. Our RS100 provided a very different architecture, much closer to how real brains work: every small piece of code literally ran at the same time. Using today’s terminology, you could say we designed a processor core with a really simple instruction set, but put a lot of cores on a single chip. We were able to use a really simple instruction set because we didn’t need to interface dynamically with memory (because memory was on chip and loaded from Flash memory only at boot time), disks, or other hardware other than digital incoming sensor signals, and digital outgoing motor signals. The real trick was to control concurrency (especially on the motors) and to ensure some sort of coordination between the behaviors. That’s where RIDL came in.
For Gupi, we had to create our own robot body. Having started as a software-only company, we found we now had people working full time on both mechanics and electronics. I guess for a mass-production robot, there really was little other choice at the time. Near the end of the project, we managed to reduce our hardware efforts by mounting as much as we could on Lego bricks with our own generic connector. If Lego Mindstorms NXT had been available at the time, then we would have been able to build our prototype entirely out of standard lego bricks (using both Lego and third party supplied NXT parts).



this April 2003 video will look very familiar.
In the end, we allowed CET to temporary use a research prototype of Gupi for marketing purposes. Some time after that, CET didn’t need our services anymore. They had found an "alternative", and this new company had miraculously built the very same functionality, including bugs, for Gupi. Unfortunately for CET, the research Gupi didn’t run the latest software version of Gupi, only the most stable version. As a result, a number of features and bug fixes that Robonetics developed never made it into the commercial Gupi. Robonetics also never received any royalties on Gupi, whereas this type of payment was the very basis of the original contract. Robonetics eventually went bankrupt about a year after the Gupi project was terminated abruptly. The last movie we made on Gupi was this, split in parts one, two and three.
Since then, first R2 and later CET also went bankrupt, having sold only a few ten thousand robots, far below the breakeven point. By the time Gupi was on the market, our research had stopped for about 18 months, while the original conception only took 9 months. Our original Gupi had a whole continuum of feelings, based on real guiney pigs we had in the lab and at home with the chief robotics designer Michael Uyttersprot. Gupi’s responses could be really complex and unexpected at times. This also means the robot does not do what you want at sales presentations. It may just not feel like playing. I guess this was too hard to sell, because when Gupi was finally released, that continuum had been “corrected” into just 2 states, later expanded to 4. Although I respect the work others have done on Gupi, I still feel that since Robonetics was taken off the project, there has not been a big rise in intelligence in Gupi. I like to think sales would have been better with more advanced, more playful, and more learning intelligence on board.
So now, it is time to reopen the research on Gupi. With Lego Mindstorms NXT, it is actually possible to build a body with sensors that is close enough to Gupi. Using just the Lego bricks from the standard NXT set should allow anyone to build his own Gupi, and contribute to the research.
The next article on Gupi will be on the design of the Lego body of “Gupi NXT”.
14 Comments:
Very interesting story! Maybe it's just me, but I had assumed you to be an enthusiastic kid, maybe 20 at most - but you're even older than I am ... wow ;)
I have to admit that I don't care much for guinea pigs, and much less for robotic pets. Sony's recent announcement to discontinue the Aibo shows that I'm apparently not the only one. And whatever happened to the Furry? Or the Tamagochi, for that matter?
Your story sounds like many of those .com stories, where the original inventors were eventually driven out of the company once big money came in and they wanted/had to sell products. It must be awful to see the enthusiasm and hard work go down the drain in battles with lawyers and VCs that once supported you.
Are you going to make code available eventually? While it will probably be fairly easy to build a robot that has the right motors and sensors, I guess few will be able to program any kind of complex behavior into it.
When I read your posting it made me think about the Functional and Technical specs that I deal with in my job and I started to wonder how working with robots what kind of specs or how these type of specs would change because you are do things in the physical world instead of everthing going on inside the beige box.
I would love to hear you comments on this.
Thanks
Robert,
I'm going to make it possible for others to not just download and run Gupi software on their Lego NXT creations, but I also intend to make it easy to change or extend the robot's behavior.
I don't intend to make the original code of Gupi available, which wouldn't work anyway because the we had written our custom compilers for RIDL.
Anonymous: user specifications were along the lines of "we would like it to walk along walls", "it shouldn't fall off the table", ... Actually, the problem in the project is not getting some sort of specifications, but its the fact that the customer *really* doesn't know what to ask. Some things are really easy to add, whereas others are impossible with the given sensors. We could make the robot be attracted to people, but we couldn't make it go to its owner (in a crowd). We could avoid obstacles, but we couldn't recognize them. Etceteras.
The reason why we made a lot of prototypes, is to show something to the customer and get feedback.
Technical specifications were therefore to allow for the shortest possible demonstration time, but make sure the robot was open ended for further extension. The design-for-change architecture helped us be develop very fast.
Hey Filip!
Do you know why Jim don`t update his blog?
I am checking in on youre and jim`s blogs every day!!
Andy
Hi anonymous. Glad you keep checking in!
Jim has said there would be great new information in about 2 weeks time from now, when the non-disclosure ends. And if he isn't working on that content, then he is probably writing his new Lego Mindstorms NXT book he'll be publishing later this year.
Andy,
This is Jim... I try to update my blog when new information becomes available OR at least when I actually have something to say or comment on with regards to existing stuff.
Right now, there simply are no new NXT videos and pictures floating around. Believe me, I look ALL OVER for new stuff, but LEGO isn't giving many demonstrations of the robotics kit and those of us in the MDP are not allowed to share videos and pictures just yet...
But in 2 weeks, I probably won't be able to keep up with the amount of information being released. Many of the MDP members are preparing their own websites and blogs to demo their projects and work...
Thanks for checking out Filip's blog and my own... and please do keep checking in because as May 1st comes near, I'm guessing the LEGO and Education NXT blog sites may be releasing their own information.
And Filip is right about the book... 20 chapters and I'm on chapter 3 right now (on schedule, though). It does take a lot of my time... but I'll try and make sure not to ignore my blog.
Jim
so you guys were planning on having a custom silicon chip produced for gupi? isnt that very expensive? or were the ideas just tested on an fpga or something?
Hi Chris,
In the lab, we used FPGA. Transferring that chip design to ASIC (custom chip) isn't expensive at all. You can take a loaded and working FPGA (like the one we had in our demonstration Gupi that CET borrowed), go to China, and simply download the design to a custom ASIC. Custom ASICs are a lot cheaper than using commercial-off-the-shelve general processors (when ordering more than 10.000 units). The cost is in the design of the FPGA-code (i.e. chip design).
Filip
I just looked at the videos, and wondered if you were planning to do anything about the noise the Gupi made. It's really quite loud (and I know how much noise servos make, it's not just the video), I wonder if that wouldn't have kept people from buying it.
Robert,
I guess most robots suffer from that problem. The very nature of the robot "mussles" will have to change before that problem goes away (or you have to add lots of material for artificial dampening, which tends to be bulky).
I'll be using standard NXT parts, so I'd expect Gupi NXT to be noisy as well.
Gupis are sold turned off in the box, and they are very silent in that state ;-).
Filip.
For home-built robots it doesn't matter of course, but for ones that you want to sell - especially as pets. Anyway, just wondering.
Hi Robert,
You are right, off course. Actually, we figured the same thing at the start of the project. Unfortunately, cents mattered when designing Gupi, and more silent motors were simply more expensive.
Filip.
I got a gupi for christmas of my uncle and i was looking for some info on him so i looked and i found a gupi birth certificurt and it is great i got it lamanated well so far gupi is going great. my nephew's love him to bits so gupi is the perfect gift!
Is it posible for me to buy a gupi prototype? I used to have a gupi but the prototype is more realistic.
Post a Comment
Subscribe to Post Comments [Atom]
<< Home