Mimbo - A Friendly Robot

 by wkl
Featured
_DSC0139##.jpg
_DSC0124#.jpg
_DSC0135#.jpg
_DSC0103#.jpg
Mimbo is a friendly robot who mimics your emotions. He has a cardboard box body, an iPhone for a face, and a Processing sketch for a brain.
 

 
Remove these adsRemove these ads by Signing Up

Step 1: Build the Body

Screen shot 2011-12-31 at 5.50.11 PM.png
Mimbo's body is made out of a single sheet of cardboard.

The best way to make the body is to first glue the pattern on the cardboard. Then, using an exacto knife, cut out the pattern. Score the fold lines lightly and valley fold such that the paper pattern is now on the inside and nice clean cardboard is on the exterior.

The files provided are designed for an iPhone 3GS but also work with an iPhone 4/4s with little fuss.

To Design Your Own:
- If you're a student, use Solidworks or Autodesk Inventor to turn your 3D model into a flat drawing with the sheet metal tools.
- Otherwise check out Pepakura

instrumata says: Sep 10, 2012. 6:45 AM
I wish to make one, but I don't have Mac. A complete beginner, not understand the coding, but definitely will try once I understand it. Thank for sharing this. Waiting for Windows-based version too. :)
wbautista1 says: May 18, 2012. 1:15 AM
This is absolutely one way of being creative and saving the mother earth, let us make the most out of our junk, let us recycle.
wbautista1 says: May 18, 2012. 1:14 AM
This just happen to be to be one of the most useful recycling ideas I ever saw on the net. This is useful.
ynze says: Apr 15, 2012. 11:59 AM
Hi wkl,

Inspired in your Mimbo, roy-t and I built a Windows-based version. We named it Wimbo :-)

We're currently working on an instructable for it. In the mean time: here are some pics...

it runs on a PC with two displays. Roy-t is the programming guy, he wrote the OSC alternative. I did the hardware.

Thanks for sharing!
Wimbo-16.jpgWimbo-18.jpgWimbo-05.jpg
sewonist says: Mar 14, 2012. 3:17 AM
Hi Guy

It's really nice work.
so I just follow you. I've made like this one.
You can watch the video on my blog (http://sewonist.com/?p=2776)

Cheers

Flyinseamnky says: Feb 18, 2012. 1:28 AM
Reminds me of the robot head from Lex!
emihackr97 says: Jan 7, 2012. 7:45 AM
WOW, i'm defiantly making one, i have an old iPod touch which allready has TouchOSC on it, so i'm using that! 5 stars!
jimkiller says: Jan 5, 2012. 1:33 PM
I'm having trouble with loading the libraries in processor. I downloaded the oscP5 library, unzipped it and put the folder in sketchbook/libraries but I get an error saying the library is still missing. Any idea what I'm doing wrong? I'm on OSX10.6
wkl (author) in reply to jimkillerJan 5, 2012. 2:29 PM
Have you restarted Processing? (quit out and then opened it up again).

When you look in your sketchbook do you see the oscP5 library there?
(File->Sketchbook->libraries->oscP5).

If so, open one of the examples and see if that works....
jimkiller in reply to wklJan 5, 2012. 3:37 PM
I've restarted Processing multiple times. When I look in my sketchbook libraries isn't there but if I look at the same folder in finder then it is there. I've tried opening the examples that come with oscP5 and they won't run either I get the same error...
sketch.jpgsketch2.jpg
wkl (author) in reply to jimkillerJan 5, 2012. 8:30 PM
Hmm... That's odd. There's another way to inject the library into Processing that you could try:

Navigate to your Processing application (mine's in the Applications folder), right-click it and select "Show package contents."

Then navigate to /Contents/Resources/Java/libraries and drop the oscP5 folder there.

Let me know if that works or not...
jimkiller in reply to wklJan 6, 2012. 10:31 AM
That didn't work either. I'm going to try getting another version of Processing.
Cmac678 says: Jan 2, 2012. 3:36 PM
I can't get the .DXF file to print out, can you post a PDF or other file so I can print it out and use it for the robot's cardboard body?

Thanks, Can't Wait To Make It!
wkl (author) in reply to Cmac678Jan 2, 2012. 6:36 PM
Sure thing. I just uploaded a pdf. Hope that helps.
jasechong in reply to wklJan 6, 2012. 1:58 AM
Thanks for the pdf - but it seems to be missing the mouth? I just cut one out anyway :)
Cmac678 in reply to wklJan 3, 2012. 8:11 AM
Thanks A Lot!
Cmac678 says: Jan 4, 2012. 8:12 AM
What do I do with the .pde files
wkl (author) in reply to Cmac678Jan 4, 2012. 10:59 AM
Open them in Processing and hit run. (You can download at http://processing.org/) Oh and be sure to change the IP address to that of your computer and phone in the code as well.
Cmac678 in reply to wklJan 4, 2012. 8:53 PM
Thanks for your help. I got everything up and running, but when I open the .oscd file and look at the /found it shows 0 and the other values don't change, also the eyes are fading in and out on my phone. What can I do? Sorry, this is the first time I am doing something like this, its really cool though.
I can get the code running to my phone.

Thank You
wkl (author) in reply to Cmac678Jan 4, 2012. 9:26 PM
It's great that you have the eyes fading in and out. It means the processing sketch is communicating with the phone... he's just asleep because he doesn't see anyone.

Is FaceOSC running properly and showing a mesh on your face? If it's running and can't find you it should say "searching for face..." in the top left corner of the video feed. Otherwise, if it's found you, it'll have a frame rate (some number that usually varies between 30 and 130). If all of that seems good then the problem is on the osculator side.

On the osculator side.... is it running? There's a big green pause/start button in the top left corner. If it's running and FaceOSC seems to be working but /found is still 0 then it could be that FaceOSC is sending data to the wrong OSC port or osculator is listening at the wrong incoming port. The default value in the osculator .oscd I provided is 8338. To check the port that FaceOSC is sending to right click on the FaceOSC application and select "show package contents." Then, navigate to /contents/data and open settings.xml. The osc output settings should be set to localhost and 8338.

Let me know if that helps or not...
Cmac678 in reply to wklJan 5, 2012. 8:02 AM
I now have the values changing on the OSCulator. The only thing is that only the fading eyes are showing on the phone. I verified that I am using the right code for face tracking and I am using port 8338 in the code and in faceOSC. What am I doing wrong?
jasechong in reply to Cmac678Jan 6, 2012. 1:57 AM
I had that problem. This seemed to work for me:
1) In Osculator, click the Parameters button
2) Change to the OSC Routing tab
3) Check that localhost:8000 is selected, or add it if not in there. I found mine was routing elsewhere and thus Processing and the Mimbo pde script didn't get any events
wkl (author) in reply to Cmac678Jan 5, 2012. 8:18 AM
I would try adding some print out statements in the oscEvent function in the processing sketch. At the end of the function (before the last curly bracket) try adding "println" statements for mouthWidth, found, and leftEyebrowPos (do one at a time). You should be seeing values roughly between 0 and 1 in the debug/printout area below the code window in Processing. If you're not, then there's a problem with osculator communicating with processing. In that case make sure that osculator is routing the OSC messages to localhost:8000 (I uploaded a new picture in the last step to clarify this).

It should look like this...
....
} else if (addr.indexOf("/pose/position/0") != -1) {
faceXPos = theOscMessage.get(0).floatValue();
} else if (addr.indexOf("/pose/position/1") != -1) {
faceYPos = theOscMessage.get(0).floatValue();
}
println(mouthWidth);
}
emihackr97 in reply to wklJan 7, 2012. 8:26 AM
Please help, i cannot find localhost:800, it only sees "will's iPhone"n and "iPod touch" (my ipod)
wkl (author) in reply to emihackr97Jan 7, 2012. 10:58 AM
To add an OSC routing address, click on the message to route and then open up parameters and go to the OSC routing tab.

Under "Will's iPhone" or "so and so's iPod Touch" double click in the empty field. A cursor should appear and you just need to type: localhost:8000. Then ensure that it is selected with the radio button.
antpgomes says: Jan 4, 2012. 1:30 PM
love the project!!!!!

question: would this work in an arduino LCD rather than iphone?
wkl (author) in reply to antpgomesJan 4, 2012. 9:32 PM
I've thought about it but I think there are some definite hurdles that make it a bit of a challenge.

For one, the cost would be quite high. An equivalently sized smart color LCD screen is roughly $100. Even if the whole robot was scaled down a bunch and used a 1.44" screen, it'd be at least $30 on the screen alone.

That being said, I don't think it'd be too hard to get a wireless serial connection going with an xBee or Wixel and get it working that way instead of via wifi.

The major difficulty would be in making a standalone device that didn't need a script running on a nearby computer. At that point it makes much more sense to just develop an app on a smartphone. (The cost of an unlocked android phone is about as much as you'd spend in parts making it yourself with an arduino or similar microcontroller)
marc.cryan says: Jan 3, 2012. 6:47 PM
Nice! And thanks for the tip about Pepakura
Error53 says: Jan 2, 2012. 10:35 PM
Awesome! Makes me want to make 790 from Lexx. =P

http://sharetv.org/shows/lexx_ca/cast/790
nof-z says: Jan 2, 2012. 4:18 PM
i want one
XOIIO says: Jan 1, 2012. 6:08 AM
Nice, I love the bender type exaggerated look it has when it just starts XD
Pro

Get More Out of Instructables

Already have an Account?

close

PDF Downloads
As a Pro member, you will gain access to download any Instructable in the PDF format. You also have the ability to customize your PDF download.

Upgrade to Pro today!