Say Hello to M.I.A

This is M.I.A., a simple humanoid robot platform.

M.I.A. Basic Specifications

 

Microcontroller:

  • Arduino Mega

Shield:

  • Custom made shield
  • Screw terminal for battery connection
  • Low dropout voltage regulator LM2940 for microcontroller, EMIC 2 text-to-speech module, color sensor, LED eyes/mouth, Sharp IR distance sensor, LCD and PS/2 keyboard
  • 6V voltage regulation for servos by voltage drop diode array
  • Pin header connectors for 4 servos
  • Pin header connector for Sharp IR distance sensor
  • EMIC 2 text-to-speech module
  • Reset push button

Head:

  • 2 DOF (pan/tilt)
  • RGB LED eyes
  • LED mouth
  • Small custom made LED driver PCB 

Sensors/Interfaces:

  • Color sensor based on TCS 3200 with collimating lens
  • Sharp IR distance sensor
  • Connector for PS/2 keyboard

Output devices:

  • Loudspeaker 8Ω, 0.5W/EMIC 2 text-to-speech module
  • 16x2 serial LCD blue

Propulsion:

  • 2 modified HITEC HS645MG servos
  • 2 Lynxmotion servo wheels - 2.63" x 0.35"
  • 2 Caster wheels

Battery:

  • 7.2V/3200 mAh/NiMH

M.I.A. is completely open source. I will publish the Gerber files for manufacturing the shield and the LED driver PCB later, the sketchup 3-D drawing is already attached. Currently I am building a prototype of M.I.A. and developing example codes.

Shield PCB prototype:

Robot prototype:

After development is finished I might try to sell M.I.A. as a kit and support a public welfare foundation with the proceeds (for instance cancer research).

The assembly instructions are listed on the end of this post

 

Assembly Instructions

 

Interacts with its environment and human beings and learn from them

  • Actuators / output devices: 1 Red Led, 2 continues rotating servos, loudspeaker, 16 x 2 LCD, 2 Standard Servos, 2 RGB LED
  • Control method: autonomous
  • CPU: Arduino Mega
  • Power source: 7.2V/3200 mAh Ni-MH
  • Programming language: Arduino C
  • Sensors / input devices: Color Sensor, Sharp IR, PS/2 Keyboard
  • Target environment: indoors

This is a companion discussion topic for the original entry at https://community.robotshop.com/robots/show/say-hello-to-m-i-a

Looks promising…

Hi MarkusB. I like your style. This design is very nice and this project looks promising. I think “social robot”, as you described it, is the way to evolve our robots. I’ll keep an eye on it.

I love the idea of more open

I love the idea of more open source robotic models. The only one I think I’ve seen here so far was K12’s Bob model. Forgive me please if I’ve forgotten anyone.
If I could suggest though, a head would be a good addition for a social robot. Just sticking the sharp on the top leaves it looking like a box of electronics. A social robot needs to create a feeling of attachment to whoever it interacts with.
A head could take any form, it doesn’t even have to have a neck or swivel. but the main ingredients are eyes and a mouth.
I’m looking forward to seeing how this one develops and any copies, improved versions inspired by it.

No worries, Mr. Merser.

No worries, Mr. Merser. There will be an upgrade head available :slight_smile:

MIA_3D_-_upgrade.jpg

[Adafruit OLED display]

I was going to mention/ask about eInk, but,

the dev kit that adafruit has http://www.adafruit.com/products/1316 is a rather large board, the kit is $10 more expensive, and, probably saves very little power.

Ideas for sensor mounting

Nice design, somehow simple and appealing!

Getting humanoid feeling although on the base of basic two wheel drive. What do you think is main purpose of having color sensor on the chest? I couldn’t figure out very much use for it because objects must goto sensor before color can be readed?

I think it would be nice to have easy mounting option for some common obstacle avoidance sensors around the body. Obstacle avoidance seems to be something almost everybody wants to try sooner or later :slight_smile:

 

I have no experience of omniwheels and i don’t know how well they perform on different surfaces. I think lot of robots weight rests on this one wheel, could that be problem? Just something came to my mind.

Hi Juchen,Thanks for your

Hi Juchen,

Thanks for your input. I have some ideas regarding the color sensor. One idea is to use a perceptron alogorithm to teach the robot color recognition, another idea is for the swarm bot use: The robots holding colored plates in their ‘hands’. If one robot encounters another robot, they moving the color plates up to the color sensor position. According to the colors of each other, they starting different behaviors.

The Omni-wheel can withand a payload of 5kg or more - no problem. It also performs well on different smooth sufaces.

Mounting option for different sensors is a good idea. I have thought about it to add a mounting plate on the front for IR, ultrasonic rangers, bumper sensors, line following sensors etc.

 

 

Besides my comment below I

Besides my comment below I will give some thought to that project.

I like the idea of Open Source. Do you consider to have a set of nice pictures? If so then please send your robot to Shanghai then :slight_smile: Ok, now to your robot. I am missing a cam. For a social robot you could have a cam with a face recognition…something like chickenparmi did. Besides that I am again impressed about your ideas. But what’s with your other projects? Pending? Canceled?

 

I’ll send me together with

I’ll send me together with the robot to Shanghai:p

Camera: Ok, maybe later…

Other projects: Some pending…some merged to a new one.

Too less time, too many ideas…

Good idea, I will wait for

Good idea, I will wait for your arrival :slight_smile:

I see, quite busy. Me too, it’s just not enough time…

missing in action?

Actually I just realised I didn’t ask what M.I.A. stands for? Shield looks good. Hows the emic 2 in output quality Are there any examples of it’s sound anywhere to listen to?

The name of my daughter. It

The name of my daughter. It could also stand for Maschine, Intelligence, Artificial. Here you can listen to the EMIC: http://www.youtube.com/watch?v=JcaezclC8lo

You could add a second lcd

You could add a second lcd to the head to display a mouth. a few different combinations would allow it to show emotion.

Awesome!
I like the hands, reminds me of some Dr. Seuss thang :stuck_out_tongue:

I hope you did not

I hope you did not disassemble one of your daughters toys to get those arms. 

The robot looks just awesome. Most of the times the initial sketch looks different than the final robot. However, it’s looking great. That arms give him a nice and friendly appearance. When you will show him in action?

great

regarding the lcd, is it necessary to type data in a specific format? Or the brain of the robot actually understands English? The bot looks awesome. I was thinking of making an insect bot with lcd. Your one, which is of course well ahead of my idea, reminded me that. Looking forward to the finished stuff.

I bought the toy at

I bought the toy at Carrefour for a small money. My daughter never saw the toy assambled :stuck_out_tongue:

I think I need a few weeks more. Currently I am working on two new ideas:

- Face recognition by color sensor (skin color, hair color, eye color)

- Remote by PS2 controller with memory function, so you can train the robot some movements.

Later, after development is finished I might try to sell the robot as a kit. I don’t want to earn any money. The little margin I might make, I want donate to cancer research for some private reasons.

The LCD I am using is a

The LCD I am using is a Serial LCD from Devantech. You might read the datasheet as well following: http://playground.arduino.cc/Learning/SerialLCD

The data format the LCD is displaying is a char. The text processing is done via Strings. The robot does not understand English. It just search for keywords in the text you type and prepare a random answer of a given set of responses. Currently every keyword has 3 possible responses. If there is no keyword found, the algorithm ouputs a kind of response the user most likey will answer something where a keyword is found again. The robot sort of try to manipulate you. If you repeat yourself, the robot recognize this as well and output an answer like “Please don’t repeat yourself”.

The math solving algorithm I have explained already in my post. I have attached a draft code of the chat section of the robot if you want to take a look.

 

Good that you not took your

Good that you not took your daughters toys :slight_smile:

Face recognition with color sensor. Is the sensitivity enough? I mean eye color…how close have the cam to be to detect that.

Donate the money…you want to tell me more about that? (email if you wish)

Addictive new look

I like the face soooooooooooooo much. If U permit, some day I would like to make a similar version of it.