Let's Make Robots!

What can a robot do?

I asked a question here about a robot's reaction to input coming from standard sensors. I got a lot of good answers and a lot of very useful information however I am now finding out I asked the wrong question...

I am going to re-ask here and see what I come up with.

What can you have a robot do? What I mean is, when a robot is in say, "drive mode" and cruising around, what parameters could it have that would predict it's behavour? For example, on one of Frits's bots on code included is to look for open spaces, i.e. an open doorway etc. What other inputs could it react to? Or do you even want the robot to drive away from danger --Maybe it should drive to items just to avoid them. I like Mintvelt's little guy with the articulated head but when and how often, during a drive around cycle, should the bot stop and have a good look around? (The look around part is really the base of the question I asked here)

Other ideas, it is pretty easy for a bot to drive to a specific spot (via an IR beacon) but what to do when it gets there? -Pick something up, drop it off? There is so many options here.

In conclusion (and to restate the question) I really want to add some personality to my robots instead of them being in a constant "drive around and avoid loop". What could you have your robot do?

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

"Now that we found X, what are we gonna do about it?"

For varying values of X: Love, Skillz, deWalt hardware.

This should be in the ideas forum. And then again, maybe not. After all, there are none in your post. Yet.

The eternal question has been bugging me ever since I started thinking of building an actual robot. Sure you could build a vehicle that drives around. But what problem will you solve with all that engineering? You're not in it for the solving of problems. You're in it for the engineering. Any problem you solve is gonna be an artificial one. I find peace in that thought. And a little decadence.

I came up with ridiculous ideas like "pick up coat from floor, hang it on a coat hanger" or "drive around the house and map the electro smog".  I never dreamed of a robot that would e.g. do my laundry (from picking up the hamper to storing the folded clothes in my closet). But only because the real problems are too hard to crack.

How about a robot that closes all doors in its path. Preserving heat in the house and therefore saving the environment?

Wikipedia Affiliate Button

I guess, in general, I am thinking of my robots as "pets" more than servants or "forced labor" as the name inplies...

What I do is try to abstract from the "OK, now I can do it", and get back to "Wow, can I make it do that"? 

To me the inspiration always lies in the fascination. And sometimes fascination can disapear once you master the art.

I cannot play a guitar. I imagine, that if I could, I would just rock like wawbang!!

What would happen if I learned to play the guitar, would be that I spend a lot of time learning it, so all magic disappeared, and I would just play it, but not that enthusiastic.

Point is; get fascination back, see how cool it is that you can actually..


well, you could try and add some "pet-like" personality to your bot. Something like tamagotchi. I did it on my first robot (in a small scale). Example:


  • keep a variable that is the "happiness" of the robot.
  • define some things that make the robot happier, and others that make him sadder.
  • define some "somatic" behaviour, ie some way the robot show that it is sad or happy (involving some simple "motor dance", head nodding, beeping with the buzzer, etc).
  • same things with other variables of choice (angry/friendly, tired/energetic (maybe connected to battery), etc).
what i did with my robots was to increment the happiness when it could run straight, and decrease it when it encounters obstacles. To show angryness it shaked left and right (easy to do by quickly alternatin motors). It was nice becouse the more he was sorrounded by stuff, the angryest it was, untill you completely close it :P
I also added a lot of "randoms" in the code to have less predictable and more natural behaviour.
I think this will make for a different-from-average robots :) Added bonus: no extra hardware involved. (but a lot of software :P)


You need a purpose to know what a robot can do.

The IR beacons: why do you need to pick up or do anything when you get there, what was the purpose of it navigating? They could be used as waypoints. Set a perimiter around a location, have a bot or two go to the multiple(identifiable) waypoints. It could use heat sensors to detect if something like an animlal or person is around. 

Mintvelts articulated head bot: This could have ir recievers in the eyes(or eye like spaces) that have a very narrow view. See the above ir beacon example for navigating to a specific location. Rotating the head to locate the waypoint.

Here is another, golf ball retriever at the driving ranges. have it detect the sound of the ball landing and locate with something like a cmu cam.

Nasa has done some cool stuff with their mars exploreres :)

I like the idea of a robot as a pet. This post got me thinking about what my dogs do.  If im sat on the sofa they will sit there with me, looking around watching what is going on, occasionally having a wander around. if i get up they do too and follow me.  If i throw a ball they fetch it (sometimes), and i can send one of them off and he will bring me back something (normally a shoe!).  I think these would make great robot modes, i.e follow, fetch, go get.  I think the go get mode would be quite fun if the robot had a gripper on the front and it just wandered off and bought back something random.

I'm liking the idea or random. --That's really a major key here, huh? I have been watching my dogs as well, to see what kind of stuff they do. I guess that's probably my answer --Ah, Confucious say "you must observe first, young grasshoppah"... Not to say I want your ideas to stop.

Probably a clock IC and the "Random" command are good starting blocks...

FYI - Confucius say, "There really is no such thing as random, only the inability to see the pattern"

Although, it does seems prevalent in nature with trillions of variables, quantum mechanics and what all..

In simplistic structured emulators “randomness” is difficult,  that is why RSA gets the big bucks to randomize parts of our structured network.

Funny how random = more life-like…


Another random response…


Maybe random should be replaced by unexpected?

Hmm.  What should a robot do?  This is a great question, and a very important one too.  After all, what's the point of building a robot if we don't make it "do" anything interesting or worthwhile?  Right now the bot I'm working on will avoid walls, and nothing else.  There's not a whole lot more you can do with a single Ping sensor.  Perhaps once I get it working I'll improve the code with more complex programming that gives it a bit more personality.

I think Mintvelt's "Edward" bot is a great example of a robot with some personality.  Just stopping and looking around the room gives it a lot of character.

But ... my personal opinions about what a robot should do?  Personally, I think a robot should be entertaining.  That's the ultimate goal with the bots I want to make.  Once I complete this simple bot I want to build a Wall-E - like robot with several degrees of freedom and multiple sensors.  Here are a few ideas I've had for what he should "do":

-A built-in accelerometer (or tilt sensor) will alert him that he has fallen or been flipped over, in which case he will whine or call for help.  The Pleo does this -- I want to mimic its emotional response to that situation.

-If possible, I really want to have him react to moving objects, low to the ground, radiating heat (detected via IR radiation).  In other words, small children and pets.  Wall-E (or whatever I name him) will make cute noises and act gently if he detects this.

-Related to that last one, anything "hostile" near the robot will make him react differently ... quickly backing away or getting scared.  Perhaps objects that approach quickly or move fast.  Not sure if this would be possible. 

-Act curious, explore.  I want the robot to be curious about and react to objects that have rounded edges, or at the least are not purely composed of right angles.

-Have the ability to detect hallways, and look inside each room.

-Hum while travelling, like Wall-E sometimes did.

-Have degrees of personality that changes based on things that happen.  Maybe just a simple variable that gets added and subtracted to, 0 being "very happy" and 255 being "very sad." 

-React to loud noises and try to seek out the origin.

-A simple photoresistor on the top of the head will let the bot know he's outside, and he will react with awe and excitement.  If I put arms on I really want him to throw them up in excitement upon going outside, especially if it's been a while since he's been outside.

-Have him go to "sleep" after a period of nothing new happening, and then "wake up" via a motion detector.  Hopefully possible without killing the battery.

I've already bitten off more than I can chew by dreaming up these things, and I can feel my wallet getting lighter as I type.  I know it's ambitious and more than I'll probably be able to do, but just consider if "brainstorming" if you have doubts about what I'll actually be able to accomplish.