What do you want your robot to do?

I pretty much have my platform mobile. I've posted some code and descriptions already, and I'll be making my website soon.
Does any one have any good ideas about what it should be able to do. Obviously, it should be able to move and avoid objects, do path planning, and so on, but what should it "do?"
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

You can program it to detect the presence of other people, and then direct itself to you with lights flashing and says loudly in its synthesized speech. "Danger danger ! Warning warning ! Aliens approaching !"
To deactivate the warning and lights, you reply to the robot. "Silence ! you bubble headed booby"
At which point it returns to previous tasks.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
RV wrote:

"Danger Danger Will Robinson!"

And what would that "previous task" be, other then being a semi-autonomous room decoration?
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

You could teach it to make a decent espresso coffee. Once it knows the aliens are in fact friends, it can make them coffee.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
MLW,
Why "semi-autonomous" instead of autonomous?
Rich

semi-autonomous

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
#1) autonomous mapping #2) cover all floor space program (vaccum, sweep) #3) human interaction mode when you bump the switch on his top --- computer on wheels #4) voice recognition to control all of it #5) "go to" mode. Tell robot "Go to kitchen" and he does #6) "go get" mode. Tell robot "go get ____" and he does (mine does this, items are on bottom shelf of my book case. #7) chase the cat, dog. Go retrieve a ball
please add to the list!
I ran out of ideas and started talking to friends and family about it. Some of the best ideas came from my dad and some from children at the school my mother works at.
Rich
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Person following is a classical and very useful behavior. The analog task (person leading) is also usefull, but more challenging. Think about making your robot an "autonomous labrador", that could effectively guide a blind person.... that is a very hard problem.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
mlw wrote: So we have the solution now what is the problem to solve :)
You can't have it do useful stuff like sweep the kitchen floor because that would go over the $500 budget.
It also rules out clearing the table and stacking the dishes, making the bed, taking out the rubbish, cooking the meals, removing unwanted house guests like spiders...
Perhaps it wouldn't be too difficult to add a fish tank water pump to water some pot plants. Maybe a simple dispenser to feed the fish or fill the cat/dog bowl at fixed times?
Mind you some people find repetitive work therapeutic and would resent the robot doing their job :)
So I guess you are left with entertainment?
Essentially about as useful (or useless) as a house cat.
With your PID control maybe it could learn to dance? Perhaps it could sing a tune at the same time? A cute shell and some flashing LED lights would add to its appeal.
I seem to recall you suggesting fetch/store might be interesting? The items could be in some standard sized boxes and some means for the robot to locate and recognize (perhaps by their location) these boxes. The robot would need some way of picking up and letting go of these boxes. Perhaps a piece of metal on the box and a electric magnet on the robot?
At this stage have you figured out how the robot is to sense its environment in order to navigate and avoid obstacles?
At this stage you haven't said what sensors you will have to navigate and avoid obstacles apart from the wheel encoders for dead reckoning.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

have it paint or play a guitar, getting it to make 'art' will be the real trick, but a robot that can physically do those things can be rather cheap.
--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail /

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
jim dorey wrote:
wrote:

By placing the canvas on the floor mlw's robot could do some artwork. Just needs a solenoid operated pen or pens of some kind.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

with a basic neural net the bot can try different algorithms, paint a picture based on it, then get a judgement about how good it is from the public. then it generates another algorithm, draws, then gets votes, repeating to infinitiy if need be. maybe a simple yes-maybe-no button on a remote that can also take votes from the net. eventually it would produce quite pretty, possibly saleable images.
--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail /

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
JGCASEY wrote:

I'm not sure how old you are, but there was a little robot "turtle" that did this back in the 1980's
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
mlw wrote:

Not a pen, but in the 1940s and early 50s Grey Walter used candles on top of his "turtle" robots (he coined the phrase) and used long exposures to capture their movements. The candles also served as light sensors for the robots to follow.
Art and function together.
http://www.ias.uwe.ac.uk/Robots/gwonline/gwarkive.html
(I'm pretty sure that Elsie and Elmer, thes subject in these photos, are on display at the Smithsonian.)
-- Gordon
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
I've got one sitting on my bench here, in fact Valiant still sell them.
I want to replace the circuit board in this one with a PIC based bard and get the old thing fired up again. On Sat, 23 Apr 2005 08:38:19 -0700, Gordon McComb

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
mlw wrote:

Of course the idea isn't new. It is one of the things you can do with the modern lego robot. Your current robot base is essentially a larger and more expensive lego robot with on board computing power instead of a wireless connection to a PC.
"What do you want *your* robot to do" was the question.
I have answered most of that question in previous posts and your robot doesn't have what I want and you have no intention of giving it that capability. You have simply dismissed my needs. If the product doesn't fill someone's needs they cannot use it. If you want to move furniture a sports car will not be useful no matter how good it is in other respects. It will fail to meet the goals of the particular user.
Apart from giving your robot entertaining behaviors it has no use at all to the general public. It might have some educational value to a student learning electronics and programming although I think a cheaper smaller robot would do just as well.
When you write about using some sort of triangulation navigation with a wireless router I think you a missing the big picture about what kind of system a "real" robot with "real" intelligence is about.
Essentially you are trying to provide an electronic railway track. It is a practical solution to moving a platform around where a physical rail track may not be acceptable but it is still the same thing. It is not addressing how animals navigate or interact with their environment to achieve some goals. To think for themselves and adapt to unexpected situations.
This is the other side of robotics. It was the point I was making about the need or not for a PID system. What if the PID system fails on your robot? A human will adapt and still achieve the desired goal with a simple on/off control of the motors. This is the kind of intelligence desirable, I think, in a robot. It goes beyond the electronics or the ability to program a multitasking operating system.
Regards,
John Casey
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

I have never had any interest in these track-schemes.
Just because you can't see the track doesn't make it any better.
A model train on a track is not interesting. And it does not present a programming problem that needs to be solved. To get the train to go around the track, you turn on the motor. It goes around the track.
Take away the track, and what do you have? A problem! And it is so much fun to solve. You start looking around on the net and can't find much on the subject. Ask a few questions, people let you know the terms used in navigation. You are directed to papers written by PHD's and Masters. A bit more digging and you begin to understand all of it.
Now to code! Do you program a simulator, or do you test the code on the robot?
In the end, you get a robot that has enough "intelligence" to navigate by itself. To map out a house. And it can go to a room you tell it to go to. You can even block it's path with a box, and it will figure out how to get around it.
I got a slot-car track when I was a child. I played with it one day.
I built a robot when I grew up. I played with it for years. I still do.
Rich
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
snipped-for-privacy@gmail.com wrote:

Did *it* figure out how to get around the obstacle or did *you* give it an algorithm that usually achieves that goal?
Can you put your robot in *any* home and tell it to go to (find) the kitchen/fridge/beer and to meet you in the lounge room?
Mapping out an area by filling in a grid with go/no_go cells is a practical method but not one a human would use. We use abstract schemas not accurate maps of our world. This is memory efficient and allows generalization.
John
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Figure out how to get around an obstacle: if it is a new obstacle, a box in the hallway, a side effect of the navigation program is that it will update its map, and figure out a way to get around it. I didn't have to program "avoid **NEW** obstacle"
I can put it in any home, give it some time to map it out, name certain areas (IE, this square = kitchen this square = lounge room)
I'd have to define the fridge as well. My robot cannot open the door on the fridge by itself. It needs help from a solenoid.
My vision software isn't the best, so it would take a while to grab the beer.
It has no problem "meeting" you anywhere. Just tell it coordinates or room name.
No, it isn't human. :-)
Humans don't use "flood fills" to navigate space.
If you consider a (flood fills leading edge) to be the "mind's eye" of your own mind thinking of a way to get from your house to the post office, then I think it certainly resembles the way we think.
I see in my mind getting up, getting in car, drive down the road, the turns I have to make. It is all in order.
As the navigation program flood fills it's memory of space to find a destination, the flood fill stops at walls... That is disreguarding that option, or NOT thinking about taking sharp turn into wall and bumping head. The flood continues down travelable paths.
It is better at finding the quickest route for sure.
Rich
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
snipped-for-privacy@gmail.com wrote:

No I assume you programmed it to avoid *any* obstacle by applying some algorithm. Fill in the cell/s as "occupied" and compute a new path? It may be a *new obstacle* but it is not a *new problem*.
This is the heart of the problem AI faces in that machines don't think, all the thinking is done by us. Machines simply automate it for us. We have to insert the behaviours and when they fail we have to step in and fix it. This is why we haven't any "intelligent" machines and maybe never will.

And wouldn't it be neat if you could put it in any home and it was able to recognize that this room had kitchen properties and thus you didn't have to name certain areas?

Until a robot has "arms" it is rather limited to what extent it can manipulate the world.

This is where English like commands might be an interesting problem?
"Get me a beer please."
The robot would have to translate that into a set of actions and decide what to do if it returns to find you have moved. Or would your moving be another "bug" you had to fix because machines can't really "think" and you didn't take your moving into account the first time?

Better than what other methods?
Just as you found playing with trains boring compared with robots, I find robots boring when it is limited to talking about the same old hardware subjects when the exciting bit is all in the software (or its hardware implementation).
You struck me as someone who likes to think beyond the robots physical mobile base requirements?
John
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

all true.

I started a thread here about "learning" programs but nobody seemed interested in contributing.

very neat. My ideas:
You have to have the robot learn this. Not program it in.
Robot, this item in your vision (point with mouse. We'll skip actually pointing at the item in real life for now) is the fridge.
Robot has coordinates of what mouse is pointing at. It flood fills the bitmap of the picture it just took. Finds the edges of "fridge". It derives endpoints for lines, dimensions, colors, features (vertical line half way up on the right side).
It asks you "is this the fridge?" and highlights the area on its picture which it thinks is fridge. Assume for now it is correct.
Now it asks "what is this?" and it points to vertical line half way up on the right side. You tell it "That is the handle"
The only way we can get the software to think like us is to program it to learn. Then we teach it.

Mine has an arm. Just not strong enough to open fridge. I guess I could fix a handle onto the bottom of the fridge door, hook his gripper on the handle, and back the whole robot up.

Understanding of language needs to be programmed. nevermind. You have to program it to listen, watch, and associate.
hear "door". watch vision: theres a rectangle in front of me. rectangle in vision = door.

same here. Hardware is done. People are copying eachother on hardware. Software is another story. You have to actually think about it to get something neat to watch as it executes.

My Base = mobilization of computing power. I have cheap motors, horrible encoders. All hacked together from some damaged aluminum tubing. I spent about 1 day on it. All it does is allow me to test software.
The software I've spent hundreds of hours on.
Rich
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here. All logos and trade names are the property of their respective owners.