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.

      etc....

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?