Introduction: Simple Steps to Give Your Robot Personality
Working with robots is a fun, crazy, frustrating adventure. From the simplest vibrating nanobot to giant sized mecha-warriors, each robot seems to have its own personality - some quirky trait that can distinguish it even from identical models. Sometimes this is intentional, often it is seemingly random. Whatever the reasons, this personality can lead to a deeper bond between (wo)man and machine.
In this Instructable, I'll go over a few simple strategies to give your robots a bit of personality as well. Do note, I am not teaching you how to make a robot, that's still on you; however, all of the bots shown in this guide are my own creations.
Step 1: Design and Build Your Robot
Obviously, you have to have a robot; however, the personality can be decided long before you ever build anything.
- Dream: what do you want this robot to do?
- Decide: how should this robot actually do it?
- Design: what will this robot look like?
Keep in mind when designing what the robot looks like that it likely has a task to perform. You shouldn't give it a metallic Mohawk if the purpose is to take care of elderly patients - not that there's anything wrong with Mohawks, just that the personified personality doesn't match the purpose.
Step 2: Make It Unique
When building a robot (either from scratch, with kits, or other purchased parts) you might find that the design is lacking some aesthetic quality. Take this original iRobot Create, for example. No offense to the fine folks at iRobot, but this thing is utterly boring, and the bright green "Command Module" attachment only clashes with other parts I want to add. Whose idea was that?
Eventually, curiosity got the better of me, and I completely dismantled this thing to see what made it tick. While poking around inside, I decided to give the robot a face lift - make it more aesthetically appealing (to me, at least). A bit of painter's tape and spray painting along with some brush stroke detailing, and I was happy.
Also while inside, I modified the original design a bit. A few strands of clear fishing line were connected to the wheels (which were already capable of lowering from the chassis to detect holes) and run up through the frame to a pair of servos. These servos allowed me to manually lower the wheels, causing the robot to lift itself up, similar to hydraulics systems in a custom street car. In China, red is symbolizes good luck and happiness. Maybe they are on to something.
Step 3: Give It a Unique Purpose
Even for robots that don't have any particularly unique look to them, they can be made to do unique things. This small robot was first designed to draw geometric shapes, which it could do very well, but that wasn't unique.
When initial testing was done, I added some pseudo-random behavior to the bot. so that it would decide for itself what it wanted to draw. This isn't any sort of advanced AI, it's just a set of possible shapes, min/max parameter restrictions, and a random number generator. This particular robot also had a mechanism to push down one of two colored markers, so it could even choose what color to draw in. Each drawing was different in some way, and even two identical robots with identical firmware would create unique drawings.
Step 4: Give It a Name
Meet Megatron (blue) and Optimus Prime (red). These two bots form a search and rescue pair. Prime is outfitted with special sensors to locate victims in a dangerous structure, and Megatron is the "retrieval specialist." Although these two robots have a tumultuous past, they have put aside their differences in order to help others.
It's fairly common for robot names to be acronyms, for example, ASIMO supposedly stands for "Advanced Step in Innovative Mobility." Then again, those are English words, and ASIMO was unveiled in the year 2000 in Japan. Why would a Japanese company create and name something as an acronym using English words? I think you'll find that a lot of names are created long before the acronym...
Do note, the names can have absolutely nothing to do with the purpose of these robots, but it helps to identify them. If you design something for some corporation, you will likely have to name it a seemingly random string of numbers and letters. These characters likely define the company, product line, version, and optional additions, but calling something "Megatron" is much nicer than "moroxl-2.3."
Step 5: Make It Look Like Us
Up to this point, all of my robots have been small car-like objects. Some had an arm or a gripper, but none of them looked human. This is Flora; she was designed to be the flower girl in my wedding. Notice that gender assignment. Presently, gender identity is something commonly debated, but giving a mechanical object a gender is a quick way to define its personality (regardless of its purpose).
Although people walk and talk, the most defining characteristic of humans is our head - it's the first thing we look at in other people and ourselves. It houses our most vital sensors and the brain that controls everything else. Robots can have arms. Robots can have legs. Heck, robots can have genitalia. But put a head on a robot, and it suddenly seems.... human. Please, do not cut the head off of something else; make a new one.
Of course, arms and legs can help. This particular robot uses a wheeled base rather than legs, but we'll take care of that later...
Step 6: Give It Eyes
In humans, emotions are conveyed with our eyes. Don't believe me? Cover all of your face but your eyes and make faces in the mirror. Your eyes will show happiness, anger, sadness, confusion, and just about any emotion you can come up with. They can also be used to determine if we are nervous, calm, or telling the truth.
Of course, a full spectrum of emotions can only be created with a lot of advanced mechanical ability. If you don't want to be that detailed, there are other ways. We often associate color with emotions, and this can be used to our advantage. Earlier, I mentioned that in China, red was symbolic of happiness; however, red eyes have long been associated with anger and even evil. Take a look at Flora, disassembled. Doesn't she seem ... mad?
To contrast that, here is a picture of her at our wedding, with bright blue eyes shining. Normally, blue is associated with sadness, but here, she seems perfectly happy.
Another thing to keep in mind is the strength of the light. Intensity can be represented as a bright light, while sadness,exhaustion, or disinterest can be a dim light. If you are mechanically inclined, you can also create a sort of shutter eyelid to cover parts of the eye, creating different lit shapes. This can also be done using a matrix of LEDs and only driving some of them to create shapes, but the effect is not as good.
Step 7: Dress It Up
If you think about the ways we express our own individualism, you'll probably look to your closet. How we dress says a lot about us, or at least, a lot about what we plan to be doing. This same thing applies to robots. A "naked" mechanical structure is seen very differently than one encased in something. Similarly, a plastic shell looks very different than a dress.
Flora is a fancy robot made for a fancy event. I originally intended to put her in a plain white shell, but it turned out to be way too heavy. Instead, I found a $5 dress on ebay, did a few alterations for fit, and a flower girl was born. Her arms and neck are covered in a few layers of opaque tights, and a red velvet ribbon with a back bow was added around her waist to match the wedding colors. Lastly, I gave her a simple necklace to wear as well.
As a side bonus, this dress is a distraction. Flora rolls on wheels instead of walking. Although this is still obvious, the dress makes her movements look a lot smoother, almost like she's floating rather than bumping along.
Step 8: Accept the Personality It Already Has
Yes, you, as the creator, have the power to give your robot personality. Remember, you are programming the thing, so you have (some) control over its actions. Meet ASLOC - that's short for Autonomous, Split-Level, Omnidirectional, Construct, and yes, the acronym was created to fit the name. This robot is everything but simple. It can drive in any direction at once using omni-wheels. It has a rotating center portion that moves freely from the rest. It has way more sensors than are necessary. It has a fork lift capable of lifting 5 lbs without tipping over. It is a tiny beast.
ASLOC also has personality. It often went in the wrong direction and made the wrong decisions. Of course, since I programmed it, that is my fault. In addition to these undesirable traits, I gave ASLOC some additional features just for fun. It would randomly play 8-bit versions of classic rock songs as well as video game themes. It would (sometimes) spin around in a circle when it finished a task. Sometimes it should have done these things and just didn't. It also REFUSED to do anything any time I pressed record on a camcorder. Apparently, some robots are camera shy.
I learned to accept some of these things. After all, ASLOC wasn't designed for mission critical tasks. It did its job, just not always in the best way. It wasn't learning or doing things wrong on purpose, it was just the seemingly random nature of how robots work (and a lot of programming inexperience on my part). You can plan, and plan, and plan, but sometimes, robots like to go down their own path.
Just so long as that path doesn't involve the complete annihilation of the human race, I guess that's OK.