Let's Make Robots!

Robot Musings: Robot Tricks

Many of the robot references I have read, recommend that you decide what functions your robot will perform as you start the design process.  This makes sense, as the robot's functions will determine what sensors, actuators and other parts, you must build into it, so it can complete its mission.

Many robots fall short of public expectations.  I think this is because many of the desired functions are too complex.  Anything that requires object recognition and manipulation is a very difficult task at this stage of robot evolution.

My own focus is on robots as pets/companions.  Within this scope there are many things a robot can do and do well.

When it comes to thinking of what functions I want my robot to do, I find it easiest if I think of these as "tricks",  much like you might teach a pet.  By defining the functions as tricks it reduces them to clear and relatively simple tasks.

I currently want my first robot, Ajax, to perform the following list of tricks:

     STOP - The single most important robot trick.  Stop.  Do nothing.

     WANDER - Move around not bumping into anything.  A very common robot trick here on LMR.

     GUARD - Stand in once place and alert (wave arms in air make noise) if anything approaches.

     DANCE - Do the robot dance.

     DRIVE - Drive around where I direct, (IR remote control) without driving into obstacles.

These are the tricks I hope to get from my SHR robot, but the list of course is nearly endless.  Some other tricks that come to mind, assuming a robot has the right equipment are:

     CLOCK - Announce the time on the hour and half-hour.

     ALARM - Act as an alarm clock at the specified time.

     ANSWER - Answer the phone, (like a wireless speaker phone)

     CALL - Place a call, (like a wireless speaker phone)

     LIGHT - Turn on a built-in light either on command or if the room goes dark.

     SING - Play music or songs.

     FOLLOW - Follow someone around keeping a short distance.


Thinking of robot functions as tricks helps to define the desired robot function in a clear fashion for me.

Another use for this is that the number of tricks a robot can perform, could be used as one factor in calculating a robot's level of complexity.

I wonder if a standardized list of robot tricks might be useful?








Comment viewing options

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

thank you, collected.

Nice post.  It’s easy to get so caught up in the technical challenges of giving our bots capabilities that we forget for a moment the importance of giving our bots purpose.  I like the notion of robots as pets or companions because it adds as social, interactive dimension to the conversation.  Likewise I think referring to behaviors as tricks puts a slightly different spin on how to think about programming.  

I like the robot pet idea too. I am just designing a robot for my little daughter. Here is the first draft:

In robotics you rather hear the term skill than trick. You hear teach instead of program.

well, i created Project Phoenix as my own robot pet, perhaps, a robot pet might be a great idea for you!

Funny Maxhirez and sounds quite a bit like living with my own lovable mutt.  It reminds me also that my flesh and blood pet has a mind of his own and very seldom does what I tell him, unless of course it suits him at the moment.  Free will makes him interesting, and I assume is also part of the formula which makes him a good companion.  Another thing that makes him interesting is that he initiates some of our interactions.  Sometimes it’s for food, sometimes to go outside for our walk, and sometimes just for the sake of it.  It might be a fun exercise to consider how some basic behaviors might be layered into a subsumption-like architecture.   A robot pet might have some basic autonomous explore and avoid functions, on top of that could be a drive for periodic social interaction, and at the very top could be some willingness to take commands.

I really have enjoyed reading the discussion on this. 

There are some important aspects of the "pet" concept  I have overlooked.  Oddbot's comments on "interactivity" is a big one.  I remember seeing his son play with the robot puppy and of course thought it was ADORABLE, but overlooked how interaction was playing a huge role in this.

MarkusB's robo-bunny is too cute and this has gotten me to thinking about the importance of "adorable factor" in a good robot pet.  I seem to remember someone using robot seals in a nursing home environment in Japan with great success because they were warm and cuddly and responsed to the patients.  I actually would like to make big and scary robots, but that is only because I am childish and simple-minded.  If you wanted something you could sell, adorable is the way to go.

Ralph's comment about making the "pet" initiate some of the actions is great too.  After all this could be driven off some random number generator.

I noticed your dog in one of your robot videos Max.  We have five cats.  The reality of cats is that they are fur-covered psychopathic serial killers.  But, since they are cute, warm, covered with fur and can purr, they get away with murder, often literally...LOL.


Indeed, a robot pet must be adorable.

I am just studying eye movements, using animated GIFs, exported from the 3-D-drawing :)