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
-
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)
-
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
-
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
-
face detection: the system detects a face and recognizes the user; it could give to user a welcome message based on his smile percentage
-
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
-
stereo vision capability for obstacle avoidance (in case the system is a moving robot)
-
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
-
streaming video: the video captured by stereo could be sent streaming to other devices or video messages could be recorded by robot
-
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
-
-
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
-
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
-
Tamagotchi-like capability; I mean the user should take care of the system, nearly as a pet. The system is affected by user behavior
-
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’)
-
Speech/sound origin detection: the system should detect the speech or sound origin and should point the tracking hardware in that direction
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
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
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.
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 !
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.
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 ;-)
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")
The blog is growing...
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 !!!
The list will grow
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" :)