What a robot should do

There are tons of robot around the world which could execute a simple task... line follower, light detector... etc... but all of these robots are designed to perform and reach a predetermined objective.

I think we would like to have a robot ‘general purpose’ and we don’t have the possibility to buy Asimo; moreover, maybe we aren’t interested in having a robot, but we would like interact with an automatic system using natural language (I’m thinking about home automation). Maybe we would like an home automation system capable of driving a robot remotely!

 

In any case, the question we have is this: Which behaviors should a robot and/or an automatic system have ? I’m tryng to create a list of these behaviors: any comment/implementation will be appreciated

  1. text-to-speech capabilities: the system have to speak using the preferred language selected by user. The system will use the speech to tell the user something about its status... i.e. battery low or other diagnostics messages or to reply at predetermined queries (for example menu navigation)

  1. speech-to-text capabilities:the system will have to recognize the user speech. The user asks to system something about its status (e.g. battery status, memory status, etc) or gives the system a predetermined command to perform an action

  1. vision capabilities: the system should have the capability to recognize the environment, objects and the users. Obstacle avoidance and robot motion tracking could be based on this ability. Below a list of vision functions

    1. face detection: the system detects a face and recognizes the user; it could give to user a welcome message based on his smile percentage

    2. object tracking: the user ask the system to track a know object (the system use this capability at point 2 - Speech-to-text) or the user shows to the system the object to track

    3. stereo vision capability for obstacle avoidance (in case the system is a moving robot)

    4. optical flow to track the robot motion: the moving robot should have a webcam pointing at ceiling. I thing using the optical flow algorithm it should be possible estimate how much the robot is moving on its path

    5. streaming video: the video captured by stereo could be sent streaming to other devices or video messages could be recorded by robot

    6. remote presence and guidance: using the above capability, it is easy to implement a remote video presence; in this case, the remote user could drive the moving robot

  1. message recording: the user could ask the system to record a video or vocal message. The user define who has to ear the message or when the message has to be played. For example, the user ask the system to record a message addressed to somebody; when the system sees (using face detection capability) the subject, then the system play the message to him. Moreover, the user could ask the system to record a message addressed to himself; the message has to be played at a determined time

  1. Chatbot having conversational capability; generally the chatbots give an answer to a query (for example ‘where are you from’, ‘what’s your name’, etc) but it will be very amazing  a chatbot able to make a little conversation

  1. Tamagotchi-like capability; I mean the user should take care of the system, nearly as a pet. The system is affected by user behavior   

  1. arm moving. If a system have one or more arms, it should be able to grab objects in front of it and within the action range of the arms (like the childrens do). The system should be able to grab objects the user has asked (for example, the user asks the system ‘please, grab the tennis ball’)

  1. Speech/sound origin detection: the system should detect the speech or sound origin and should point  the tracking hardware in that direction

     

Comment viewing options

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

Really amazing, i love Iron

Really amazing, i love Iron Man movie, and it looks like "Jarvis"  ;) lot of work to do...but step by step we can succeed in this big project...  IF YOU BELIEVE IT , YOU ACHIEVE IT !!!!! :D

GroG's picture

Excellent !

All good ideas.

MRL is flexible, and extensible - so even if these services aren't perfect, if a better service comes up in the future we can easily plug the new one in.   For example GoogleSTT is slow because of necessary data type changing to send sound file over the network, if this improves or there comes along a better solution it's easy to plug it in.

What helps me significantly are small fun projects with good documentation,  It helps in 3 ways.
1. It helps me determine problems and weaknesses quickly, so I can get elves working on the important issues.
2. The small projects are like bricks, they are easy to make, and play with, but they also can make something much bigger !
3. Fun and well documented projects encourage others to get involve - this adds more fun & energy to the project - (it takes on its own life)

One small tracking tutorial for Cix, One giant leap for Iron Man Build ! :D

bstott's picture

Interaction

Also,
A robot should have some human-robot interactive routines.

- Play some various board games.

* Chess
* Checkers
* Sorry

- A Chatbot addition - Talk with its hands. Not necessarily sign language but, using common human gestures during conversation.

- Random motions - eye movements, head motions for monitoring its environment and maybe some human behaviors will relax the person interacting? Flexing hands, moving shoulders or arms slightly at random times.

GroG's picture

Ha !  We already got Chess

Ha ! 
We already got Chess ! 

http://hackaday.com/2011/05/23/why-build-a-cnc-mill-when-you-can-have-a-chess-robot-instead/

We already got a ChatBot - have you seen mr.turing in the shoutbox ?  If so you've met MRL's chatbot service ;)

Random Eye Motions ? - those aren't random motions - It's learning about its environment !

I looked at tamagotchi - which looks like it would be a very fun concept for a small robot.

Thanks for the feedback !

bstott's picture

HA! HA!

ah Grog ---- It is a list. You didn't point out the other things you already have. Maybe the list can be marked with a color for what exists in MRL? And Random Eye Movements - YES - collect data but, are still random and to be included as a set of natural like human twitch patterns. <p> Oh, I learned a new term yesterday - The Academics call remote stuff -- Tele. And they specialize in telepresence. Kinda like - Tele - Vision.... TV.  <chuckle> Ooops, I forgot speach recognition to add.

Cix's picture

Yes, it is a list

bstott, you're right ! my intention was to create a list of capabilities that we would like our robots should have. Of course, as all of us are hobbysts, these capabilities should be reachable ;-)

GroG's picture

Its a great start Cix ! Let's

Its a great start Cix !

Let's keep it rolling with new ideas !  As I said I've never even heard of Tamagotchi - but I can see this concept making very intresting behaviors !  

You might want to look at - http://myrobotlab.org/download to see what has been implemented (some of these are very much "in dev")

Cix's picture

The blog is growing...

 

Ok, the blog is growing and it is what I wanted !
Anyway GroG, I know current MRL services and their implementation status (you already noted to me, eh eh eh), but my initial question was 'what a robot should do' and not 'what MRL should do': once we all will have a robot, what do we do with it ? The mountain climbers say the challenge is climbing, not stay on top: our challenge is make a robot or we would like 'to play' with it, nearly as it be a pet ?
 
What think other people about this topic ? What other things people would like have by their robot ? 
 
I think the answers and the whole discussion could help the MRL development.
 
Thanks for every post 
GroG's picture

Ok, going with that ... Here

Ok, going with that ...
Here is what the robot should do ...   it should do all the things I DONT WANT TO DO !!!

  • vacume floors - Roomba does this already, but I have a vacume made human, I want my robot to use the vacume I have !
  • wash dishes - this involves unloading dishwasher and putting away dishes (big challenge!), and finding dirty dishes and loading dishwasher - starting dishwasher
  • Ooooh .. make coffee :) - not just brewing it, but getting the coffee and  loading it all up, or cleaning the old one out.
  • GO GROCERY SHOPPING - I fully intend to do this one sometime (got a wheelchair base, going to put InMoov on top) - this seems like it would be a good design to go to the grocery store and pick up the groceries.  This includes the Beer challenge !   Willow Garages $2 million dollar PR2 could get a beer from the fridge.. but what happens when you run out of beer..  The beer challenge is to go to the store and buy beer and bring it back ..  I am Sooo going to get it.
  • Wash cloths
  • Walk dog

The list will grow

GroG's picture

Speech Recognition - Ya ..

Speech Recognition - Ya .. got that too...  (2 flavors)

List - Ya got that - but it's a list of PRESENT Services - not FUTURE - it's here below the download tab - http://myrobotlab.org/download

The stars represent various levels of WORKY 

This seems to be a list of FUTURE services.

I don't believe in "random", only the inability to calculate the statistical probablity :D
Could make a "Behavior Service" - perhaps one of the modes is "Twitchy" :)