What do you want your robot to do?

Translate This Thread From English to

Threaded View
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?"

Re: What do you want your robot to do?



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.



Re: What do you want your robot to do?



"Danger Danger Will Robinson!"

And what would that "previous task" be, other then being a semi-autonomous
room decoration?

Re: What do you want your robot to do?



You could teach it to make a decent espresso coffee.
Once it knows the aliens are in fact friends, it can make them coffee.



Re: What do you want your robot to do?

MLW,

Why "semi-autonomous" instead of autonomous?

Rich


semi-autonomous


Re: What do you want your robot to do?

#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


Re: What do you want your robot to do?

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.



Re: What do you want your robot to do?


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.


Re: What do you want your robot to do?



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/

Re: What do you want your robot to do?



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.


Re: What do you want your robot to do?



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/

Re: What do you want your robot to do?



I'm not sure how old you are, but there was a little robot "turtle" that did
this back in the 1980's

Re: What do you want your robot to do?


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

Re: What do you want your robot to do?

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



Re: What do you want your robot to do?



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


Re: What do you want your robot to do?


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


Re: What do you want your robot to do?



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


Re: What do you want your robot to do?

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


Re: What do you want your robot to do?




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


Re: What do you want your robot to do?


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


Site Timeline