PDA

View Full Version : [Discussion] What is a "robot"????



Matt
07-16-2008, 02:04 PM
Let's have some fun :) If you are asked, "What is a robot?" how do you answer? What, to you, defines what a robot is?

Debate nice in here, remember that no one is wrong or right. It's all subjective opinion.

Adrenalynn
07-16-2008, 02:10 PM
Let me go out on a limb and give my multi-point definition:

- It doesn't occur in nature - ie. created by [likely a] human, or another robot (ACK! Recursive definition alert!)

- It can sense and interact with/manipulate its environment

- Appears to make "choices" based upon its sensing/interaction with its environment

- Makes coordinated movement around one or more axis based on its choices and/or sensing and/or interaction with its environment. These movements should at least appear to have intent.

Boom. There. I'm goin' with that!

MYKL
07-16-2008, 02:16 PM
Very nice.

My stab @ Robot:

I would define a Robot as any machine that accomplishes a defined task under its own power that is teleoperated, remotely controlled and/or autonomously controlled.

A-Bot
07-16-2008, 02:19 PM
The term has a very, very broad definition whether the purists like it or not.

I have a few criteria:

1. A robot must work. A design, a pile of parts, or an unfinished build are not robots.
2. A robot must have a microcontroller. An RC receiver is not a microcontroller. If RC, the receiver must integrate with a microcontroller for processing.
3. A robot must have at least one mechanical moving part, and the action must be controlled by the microcontroller. A computer by itself is not a robot.
4. It has to look like a robot. A microcontroller with a battery and servo dangling off is not a robot.

Here are some things that don't disqualify robots:

1. Having RC functions.
2. Being tethered.
3. Not being autonomous.
4. Not having an onboard brain.

Adrenalynn
07-16-2008, 02:42 PM
RC receivers have microcontrollers in them. They qualify inclusively under your rule that disqualifies them.

So, if you put a PC on a robot, it's no longer a robot because it doesn't have an underpowered computer on it? (ie. microcontroller vs microcomputer) - do you mean "microprocessor" rather than "microcontroller"?

LinuxGuy
07-16-2008, 03:06 PM
RC receivers have microcontrollers in them. They qualify inclusively under your rule that disqualifies them.
No, they don't, because R/C is for manual control. It's not fully autonomous. Simply having a microcontroller or microprocesor on it, does not qualify a machine as a robot. The robot has to be using the micro for autonomous control. Microprocessors or microcontrollers in an R/C receiver do not qualify.

8-Dale

Adrenalynn
07-16-2008, 03:10 PM
Aha. See, he didn't say "autonomous" - YOU'RE saying "autonomous". In fact, he specifically said that not being autonomous DOESN'T disqualify them. So now you need to come up with your own definition.



Here are some things that don't disqualify robots:

1. Having RC functions.
2. Being tethered.
3. Not being autonomous.

DresnerRobotics
07-16-2008, 03:15 PM
I think the definition of what makes a robot is still being defined, and will continue to be as technology progresses.

A fully autonomous, self aware robot isn't even achievable with today's technology, thus nothing being built right now could be classified as a true robot by the 'purists' definition.

MYKL
07-16-2008, 03:16 PM
When you move your joystick and/or steering wheel on your control interface to cause a reaction in your R/C creation do you physically turn the stick or wheel at the same rpms as the motor actuating the servo?

If not, how does the servo motor achive the speed/direction it needs to accomplish the task you wish it to perform?

Is it not through a series of electronic controls that autonomously make speed/direction changes?

A servo is a Robot.

DresnerRobotics
07-16-2008, 03:20 PM
When you move your joystick and/or steering wheel on your control interface to cause a reaction in your R/C creation do you physically turn the stick or wheel at the same rpms as the motor actuating the servo?

If not, how does the servo motor achive the speed/direction it needs to accomplish the task you wish it to perform?

Is it not through a series of electronic controls that autonomously make speed/direction changes?

A servo is a Robot.


I can see this. What is input? A joystick on a remote control unit could be defined as a sensor, and a purely remote operated robot simply reacts to input from that sensor. A robot that wanders around randomly via IRPD or sonar and reacts to the input from those sensors is really no more complex.

Adrenalynn
07-16-2008, 03:25 PM
Not only is it no more complex, in many ways it's less complex. A good motor controller can have different fly-by-wire augmentations. A Sabertooth RC has exponential and linear control modes. If I move the stick it behaves differently depending upon the mode and motor speed and speed the stick was moved. Its using a microcontroller to process not just what I told it to do, but also what it "thinks" I meant by that action. It is bionics at the very least. But more practically, it is taking my input on one of its sensors and making a calculated decision as to how to react to that input.

LinuxGuy
07-16-2008, 03:25 PM
Aha. See, he didn't say "autonomous" - YOU'RE saying "autonomous". In fact, he specifically said that not being autonomous DOESN'T disqualify them. So now you need to come up with your own definition.
A true robot is autonomous. Of course, we don't really have any truely autonomous robots, so we have to weaken the definition a bit or we'd have nothing qualified as a robot. In real life, our current robots must have some sort of fail safe in case something goes wrong. That usually implies some sort of manual shutdown for safety requirments. For smaller robots, it isn't an issue because we can just go catch it and turn it off.

What is and isn't a robot is difficult to define though. I'd qualify semi-autonomous machines as robots if they perform their functions without Human control other than as a manual over ride if things go wrong. Of course, then we have dual function machines which can be autonomous or be controlled by R/C or other Human controlled means.

I'd say that a machine would qualify as autonomous if it has the ability to act on its own and react to its environment without Human intervention. This is a bit of a change from my more hard core definition of being autonomous only. This definition of autonomous would also include manufacturing robots. Having a good definition for autonomous behavior is important to defining what a robot is or isn't.

R/C only controlled machines would NOT qualify as robots.

8-Dale

Adrenalynn
07-16-2008, 03:27 PM
A true robot is autonomous.

R/C only controlled machines would NOT qualify as robots.

You left out the "in my opinion" part.

Matt
07-16-2008, 03:27 PM
4. It has to look like a robot. A microcontroller with a battery and servo dangling off is not a robot.


LOL, that's awesome :)

Fair enough, everyone gets to define it for themselves :)

DresnerRobotics
07-16-2008, 03:28 PM
I'd say that a machine would qualify as autonomous if it has the ability to act on its own and react to its environment without Human intervention.


This robot won't ever exist then. 'Human intervention' made it 'react' on its own in the first place.

LinuxGuy
07-16-2008, 03:32 PM
So, if you put a PC on a robot, it's no longer a robot because it doesn't have an underpowered computer on it? (ie. microcontroller vs microcomputer) - do you mean "microprocessor" rather than "microcontroller"?
The level of computing power a machine has is irelevent. It's how that computing power is used that makes a difference. It's clear that you have a bias against using microcontrollers on robots, but you still end up using them even if your robot's main computer is PC class. PCs just don't have all the I/O that's required to interface to the real world, unless of course you want to add expensive analog boards and such.

It's good that there are Phidgets, because they open up the arena for using PC class computing power on robots, regardless of which OS they happen to run. All robots have a distributed architecture, whether it's obvious or not. :veryhappy: I just happen to prefer to use more microcontrollers, chosen for particular tasks, rather than PC class hardware, at present.

8-Dale

Adrenalynn
07-16-2008, 03:35 PM
Alas and unfortunately, none of us would individually live long enough to build the hardware around microcontrollers to equal the complex tasks a PC can perform out of the box and straight off the shelf for less money than a single microcontroller that can't perform 1/1,000,000,000,000,000 the tasks.

I use each piece for what it was designed and is most useful for. I don't try to pretend a microcontroller is a computer nor do I try to pretend a computer is a microcontroller.

MYKL
07-16-2008, 03:49 PM
PC class?

Didn't the first computers do the job of a nice watch calculator?

PC is defined by the current level of technology.

A servo has incorporated within itself a more powerful 'computer' than what used to occupy a room.

Matt
07-16-2008, 03:53 PM
You left out the "in my opinion" part.

Well Adrenalynn, this whole thread is "in my opinion" from everyone. Seriously people, there is no need to argue about it, it's a fun debate, you are SUPPOSED to not agree.

I posted this question in the forums partly to show just that point, which is that everyone disagrees on what a robot is. I think that's interesting. As soon as you try to nail it down someone pipes up with a loophole that screws up your definition. (As we've already seen.)

For me, I don't think RC type machines qualify as robots because someone is operating it and there is no autonomous behavior. I think there needs to be some kind of autonomous response to stimulous/envirionment/sensors/etc to qualify. So I'm saying a joystick is not a sensor. It's an input device controlled by an animal.

This is admittedly a broad definition. It would include a smart dishwasher with sensors or even mechanical machines that have no electronics. A wind up toy with little bumper switches could arguably qualify. Just like an abacus is still a computer (a machine that computes!)

ScuD
07-16-2008, 03:54 PM
Well given that, we can also discuss the meaning of "Personal Computer".

In it's literal form it sounds like nothing more than an abbacus...

/edit; matt, great minds think alike?

Adrenalynn
07-16-2008, 03:59 PM
So I'm saying a joystick is not a sensor. It's an input device controlled by an animal.

So if my dog jumped in front of my pseudo-SICK 3D mapping laser ranger and the robot computed a path around the dog based solely on the input from said mapper, then it wouldn't be a robot because it responded to an input controlled by an animal, right? :p

Is my dog autonomous? He'll chase an RC car around all day. Since I'm driving the car, I'm also driving the dog, right?

DresnerRobotics
07-16-2008, 04:04 PM
Well Adrenalynn, this whole thread is "in my opinion" from everyone. Seriously people, there is no need to argue about it, it's a fun debate, you are SUPPOSED to not agree.

I posted this question in the forums partly to show just that point, which is that everyone disagrees on what a robot is. I think that's interesting. As soon as you try to nail it down someone pipes up with a loophole that screws up your definition. (As we've already seen.)

For me, I don't think RC type machines qualify as robots because someone is operating it and there is no autonomous behavior. I think there needs to be some kind of autonomous response to stimulous/envirionment/sensors/etc to qualify. So I'm saying a joystick is not a sensor. It's an input device controlled by an animal.

This is admittedly a broad definition. It would include a smart dishwasher with sensors or even mechanical machines that have no electronics. A wind up toy with little bumper switches could arguably qualify. Just like an abacus is still a computer (a machine that computes!)


So what about something like a Mech? How many degrees of separation do we need from the input device to fall under the non-R/C category?

The reason I ask is because on something like my own mech project, input from a joystick will be read by one computer, transmitted wirelessly to another, which will then take that input and use it to determine which walking gaits to generate, when to call interupts on each step to change gaits, and all the while run an automatic balancing system based upon input from an IMU (well, thats how its supposed to work in theory).

Or how about a robot that is capable of avoiding obstacles, opening doors, etc... but only responds to your verbal commands? You tell it to go to the kitchen, and it does. Theres a degree of autonomy there as well.

I think my point here is that there is a big difference between an RC car that has an almost linear reaction of a single motor to the output of a single axis input device, and a robot that interprets commands and thus generates walking/navigation sequences based upon those commands.

ScuD
07-16-2008, 04:05 PM
In that sense, we're all being controlled by our toilet

Maybe I should explain that a bit more.. though we are autonomous, we are sometimes driven to do certain things either beyond our control or by agreeing to comply to said control.

If your boss asks you to do something you really don't want to, autonomy would mean you'd just sit there staring at him and get another cup of coffee.

Adrenalynn
07-16-2008, 04:19 PM
In that sense, we're all being controlled by our toilet

I've worshipped at one a time or two in my misspent youth... ;) All Hail The Mighty Thrown! :D

I think we could also do with a solid definition of "autonomy".

From my perspective:

if (generic_right_sensor) then turn_left();
if (generic_left_sensor) then turn_right();

certainly doesn't qualify as "autonomous" any more than an R/C stick does. The only difference is that the human made the decision ahead of time instead of in realtime...

Adrenalynn
07-16-2008, 04:20 PM
RC car that has an almost linear reaction of a single motor to the output of a single axis input device,

So where does that leave a skidsteer with an onboard mixer? Two motors, two axis. single axis input.

DresnerRobotics
07-16-2008, 04:28 PM
So where does that leave a skidsteer with an onboard mixer? Two motors, two axis. single axis input.

One or two degrees of separation further from direct remote control, which is my point. Where is the line drawn? :D

Adrenalynn
07-16-2008, 04:35 PM
So that makes the commonly defined "If (right_sensor) then turn_left()" just "one more step removed" from the RC? Seems like it's "one less step removed"

Adrenalynn
07-16-2008, 04:41 PM
If I say "go get my beer, please", and it does a lookup into a table and says "Oh, the beer is in the fridge and the fridge is at 38.01234 -121.98765", then says to its GPS "where am I now" and subtracts the numbers, plots a path, takes a dead reckoning from the compass as backup and compares them, and starts driving down the pre-defined path, but discovers a dead body along the way, plants a surveyors flag in its back for later cleanup, and navigates around it based on input from bump/IR/US/Laser, AND sets a waypoint so that it can calculate a better path on its way back - is THAT autonomous?

Or will it only be autonomous when it can decide, unprompted, to go get me a beer just because it wanted to do something nice for me and not because it was expecting something in return?



[wait for it]

[wait for it]

If it's the latter, I've yet to find any guys that qualify as "autonomous"... ;)

JonHylands
07-16-2008, 05:32 PM
My brother has a good definition on his site (http://www.davehylands.com/Robotics/):

"Robotics is the art of syncopating the arts of electronics, mechanics, structural and systems engineering along with a healthy dose of creativity, curiosity, aptitude and spare cash into a cryptic device that digests immense amounts of information about its surroundings, then discards it and drives into walls."

MYKL
07-16-2008, 05:40 PM
*Wipes tears (of laughter of course) from face*

*mental note to purchase an Arrogant Bastard for Adrenalynn*

I'll give it to you if we ever meet...

^_^

Matt
07-16-2008, 06:53 PM
One or two degrees of separation further from direct remote control, which is my point. Where is the line drawn? :D

To me it's whether or not that input is "driving" or not. Going around a person in the robots way is extremely different than a person driving a bot with joysticks.

I'd also sat that yes, preprogrammed instructions are the birth of autonomy. No one had to be there to tell the robot to do it. It made the decision autonomously. Everything is pre-programmed, even us to an extent. That's a separate debate in my book.

The beer fetching robot also would be autonomous. It was checking GPS, wall distance, reading labels etc. The initiating request didn't negate all the other robot stuff. The difference is that no one was driving it. A verbal command is not RC. Not Radio Control or Remote Control.

DresnerRobotics
07-16-2008, 07:04 PM
A verbal command is not RC. Not Radio Control or Remote Control.

What about a verbal command like: "Go forward?"

See, there are many degrees of autonomy and many degrees of level of control. It's a bit pretentious to state that if a robot isn't autonomous by X definition it isn't a robot, as 30 years from now we might be laughing wildly that we ever thought something like a Roomba could be considered autonomous.

I don't think that a robot should be defined by its degree of autonomy any more than a human should be defined by the amount of knowledge they possess, as it's something that will continue to expand with time.

Matt
07-16-2008, 07:19 PM
But the question posed is, what for you defines a robot. For me it is degrees of autonomy I guess. I'm not trying to state a universal or anything nor be pretentious. I think of a robot as an autonomous machine foremost. So my point is that I don't see a machine being controlled as autonomous. I see it as a tool. A roomba totally makes the grade in my book. An RC humanoid or mech doesn't. I understand that many people include those in their definition of a robot and that's fine.

There is more to my definition to. I also thing there has to be some kind of mechanical/physical thing going on. Otherwise a computer program alone could be a robot. Those aren't robots to me, so I have to add in the physical realm with the ability to do some kind of "work." (IE: move mass, travel, toggle relays even...)

DresnerRobotics
07-16-2008, 08:25 PM
But the question posed is, what for you defines a robot. For me it is degrees of autonomy I guess. I'm not trying to state a universal or anything nor be pretentious. I think of a robot as an autonomous machine foremost. So my point is that I don't see a machine being controlled as autonomous. I see it as a tool. A roomba totally makes the grade in my book. An RC humanoid or mech doesn't. I understand that many people include those in their definition of a robot and that's fine.

There is more to my definition to. I also thing there has to be some kind of mechanical/physical thing going on. Otherwise a computer program alone could be a robot. Those aren't robots to me, so I have to add in the physical realm with the ability to do some kind of "work." (IE: move mass, travel, toggle relays even...)

My bad, I wasn't trying to point the 'pretentious tag' at you or anyone here. I was actually thinking of a conversation I had on another robotics board (traitor, get him!) where someone simply would not budge on the topic. To him the definition of a Robot was black and white, autonomous or not, and there were no varying degrees. So called 'robot purists' just seem a bit silly to me as I don't consider today's robots to even be truly autonomous, the technology just isn't there yet. I think I'll see it in my lifetime though.

I do agree with you on many parts, though my own definition of a robot isn't based on autonomy alone and is pretty flexible. There is a very large gray area in regards to degrees of autonomy and remote control, and that rather than exclude machines from being considered robots due to lack of autonomy I simply categorize them. Autonomous robots, Remotely controlled robots, and the robots that fall in between.

A-Bot
07-16-2008, 09:53 PM
RC receivers have microcontrollers in them. They qualify inclusively under your rule that disqualifies them.

So, if you put a PC on a robot, it's no longer a robot because it doesn't have an underpowered computer on it? (ie. microcontroller vs microcomputer) - do you mean "microprocessor" rather than "microcontroller"?

Ok, I typed that original definition very quickly so obviously I didn't cover everything. :p

I think a haiku is in order to fully convey the depth of meaning:

electrical thing
transistor effect motion
robotic intent
:robotsurprised:

Stated slightly differently, here are my new rules for anything that could be considered 'robotic':

1. electrical thing: Must be a physical device powered by electricity.

Excludes purely mechanical automatons and computer simulations.

2. transistor effect motion: Must have transistor-based logic that effects mechanical motion.

Anything from a simple Symet circuit (i.e. hard-wired logic) to a computer (i.e. fully re-programmable) will meet the logic criteria. In most cases the motion is accomplished via an electric motor. The motion can't be always-on; it must be logic-controlled.

3. robotic intent: Device must have 'robotic intent'.

Surely there is some middle ground between "simple motor circuit" and "fully autonomous machine". But where do you draw the line? It's going to come down to the "eyeball test" for most people.
The first three rules include everything from RC cars to thermostats. Are all these things intrinsically robots? Most reasonable people would say no. But if you take an RC car, put a wireless camera on it, and control it from a screen, then it becomes an ROV. That's intent.

A-Bot
07-16-2008, 10:07 PM
A servo is a Robot.

I don't think a servo by itself is a robot. It needs a power source. It needs a 'controller' to tell it where and when to move.

LinuxGuy
07-16-2008, 10:21 PM
So what about something like a Mech? How many degrees of separation do we need from the input device to fall under the non-R/C category?
I'd say that if a machine can be completely controlled by R/C only, then it just doesn't qualify as a robot.


The reason I ask is because on something like my own mech project, input from a joystick will be read by one computer, transmitted wirelessly to another, which will then take that input and use it to determine which walking gaits to generate, when to call interupts on each step to change gaits, and all the while run an automatic balancing system based upon input from an IMU (well, thats how its supposed to work in theory).
If the mech does not do anything on its own, then it can't be classified as a robot.


Or how about a robot that is capable of avoiding obstacles, opening doors, etc... but only responds to your verbal commands? You tell it to go to the kitchen, and it does. Theres a degree of autonomy there as well.
There's more than a degree of autonomy here. You are giving very basic and general instructions, but it is entirely up to the robot to figure out how to carry them out. I'd say that qualifies as autonomous. If you instruct a child to do something, the child still acts on their own to accomplish what you want. I'd equate these two situations.


I think my point here is that there is a big difference between an RC car that has an almost linear reaction of a single motor to the output of a single axis input device, and a robot that interprets commands and thus generates walking/navigation sequences based upon those commands.
I agree completely here. There is a very big difference.

8-Dale

Adrenalynn
07-16-2008, 10:40 PM
So if it randomly crashes into stuff, bounces off with a bump switch, and drives in a new random direction - like the toys we've been seeing for 30+ years, it's a robot?

A-Bot
07-16-2008, 10:54 PM
So if it randomly crashes into stuff, bounces off with a bump switch, and drives in a new random direction - like the toys we've been seeing for 30+ years, it's a robot?

Depends on the shape of the toy. :p

Forr example, if it's Sesame Street Bumpers Cars, then it's a bumper car, not a robot. If it's shaped like a woman and is called 'Femisapien', then it's a robot. :D

Adrenalynn
07-16-2008, 11:37 PM
I don't know what a robot is, but darn it, I sure know it when I see one.

Matt
07-17-2008, 12:10 AM
So if it randomly crashes into stuff, bounces off with a bump switch, and drives in a new random direction - like the toys we've been seeing for 30+ years, it's a robot?

Well, I suppose there are such things as crappy robots :P LOL

Adrenalynn
07-17-2008, 12:40 AM
I think they almost *all* are today.

Just like we had mostly crappy computers in 1985. Remember the PC Jr.?

darkback2
07-17-2008, 12:48 AM
Well, I suppose there are such things as crappy robots :P LOL

In my opinion the first things that I would classify as robots are tea dolls. They definately aren't crappy. Check it out.

http://www.makershed.com/ProductDetails.asp?ProductCode=MKGK6

darkback2
07-17-2008, 12:49 AM
sorry if you found the original post confusing . I think I edited the changes in time.

DB

Adrenalynn
07-17-2008, 01:01 AM
What makes them "robots" for you? I think they break every definition of "robot" so far. Why don't they for you?

darkback2
07-17-2008, 01:06 AM
Lets see...tea dolls are a machine that completes a predetermined or defined task. That said, that isn't exactly my definition of robot. The word originated in the play RUR

http://en.wikipedia.org/wiki/R.U.R._(Rossum's_Universal_Robots)

in which it described "mechanical men servants". By men I'm assuming the author means humanoids because in the play they robots are in-differentiable from humans. Tea dolls even look like little people...and work under their own power.

DB

Adrenalynn
07-17-2008, 01:25 AM
Just for sake of argument, and I'm not going after you:

They have no autonomy. Originally, they were clockwork. They're pretty light on microcontrollers. They don't sense their environment in any meaningful way.

A garbage disposal and a dishwasher both "complete a predetermined or defined task". So does the aforementioned toilet. Are they robots too, or are these tea dolls only robots because they look humanoid-ish?

darkback2
07-17-2008, 01:35 AM
LOL :p why do we need a micro-controller to make something a robot? Tea dolls interact with their environment, they sense when the tea cup is placed in their little wooden hands, they take the tea across the table and serve it to our guests, and then when the tea cup is removed they return to their original position. I believe that is interaction in a very meaningful way.

A dishwasher could be said to be a robot also. Some dishwashers employ micro-controllers (I'm not really sure that is true, and don't really feel like looking it up...but you did say your clothes washer uses micro-controllers or something like that.), and they have sensors galore. Timers, thermostats...

That is the problem though with trying to define something. The looser your definition, the more slips in until you haven't defined anything at all, the tighter your definition, the more gets left out that should fit in.

LinuxGuy
07-17-2008, 01:43 AM
LOL :p why do we need a micro-controller to make something a robot? Tea dolls interact with their environment, they sense when the tea cup is placed in their little wooden hands, they take the tea across the table and serve it to our guests, and then when the tea cup is removed they return to their original position. I believe that is interaction in a very meaningful way.
Is this preprogrammed interaction or do they operate on their own? Can they react to random stimuli and act accordingly? If not, then they can not be classified as robots.


A dishwasher could be said to be a robot also. Some dishwashers employ micro-controllers (I'm not really sure that is true, and don't really feel like looking it up...but you did say your clothes washer uses micro-controllers or something like that.), and they have sensors galore. Timers, thermostats...
Just having a mircocontroller or other computer hardware, does not qualify a machine as a robot. A dishwasher is not a robot, nor is a toaster oven or microwave. These things do what they do the same way every time, according to settings programmed on their panels. Program the same settings and they will do things the same way every time.

8-Dale

darkback2
07-17-2008, 01:51 AM
technically...historically...the word comes from the word slave or forced labor. A robot is anything that does a "job" for us. A microwave cooks food so you don't have to. A dishwasher washes dishes and so on.

I know...language is plastic, but that also means that we ourselves have to be flexible in our acceptance of what a word might mean.

Again this leads to the problem of false inclusion and false exclusion, but that is life.

DB

darkback2
07-17-2008, 01:52 AM
sorry...anything artificial...though the word can be applied to people that do things repetitively or in a stiff manor.

Adrenalynn
07-17-2008, 02:43 AM
Almost all the "Robots" we see here on this forum are preprogrammed.

If their generic_left-sensor detects an (impact, open space, heat, light, etc), the robot takes a predetermined action - turn right, stop, go backward, dance a jig. It's all predetermined.

The AI Hexapod is one of the few I've seemn here that closes on autonomy

LinuxGuy
07-17-2008, 04:07 AM
Almost all the "Robots" we see here on this forum are preprogrammed.
I would say all robots are preprogrammed. It's how the programming works that matters. If the firmware takes inputs from sensors and chooses which of several behaviors to execute based on that input, then it qualifies as autonomous and is a robot.

Have you watched the early videos of W.A.L.T.E.R. 1.0? He's operating completely autonomously. Yes, the behaviors are preprogrammed, but that's as far as it goes. W.A.L.T.E.R. decides, based on sensory input, what to do. I'm getting into behavior based robotics now, which will give W.A.L.T.E.R. even more realistic and life like behaviors.

8-Dale

Alex
07-17-2008, 10:08 AM
Ok, I'll chime in...


A robot must satisfy my needs in every conceivable way. Oh wait... wrong forum:rolleyes:


For me, what defines a robot is a machine that is capable of making "intelligent" decisions on its own. It needs some level of autonomy. It doesn't necessarily have to make every decision(s) on its own to define it as a robot though; some degree of control by an "animal" is ok. But, it can't be solely dependent on it's master to help it.

I don't consider something like a Roomba a robot. All there is, is a vacuum cleaner with a simple bump switch on the front, designed to just turn around ignorantly until it finds an area that it can navigation to successfully. Same goes for those rovers you see with IR sensors that basically perform the same task as a Roomba (detect a wall, turn around, repeat).

Now, you have a robot (whether a humanoid, rover, etc) with IR sensors, but you add an extra degree of intelligence to it, and is now able to navigate a room and identify where it is located and as it finds obstacles (via mapping software), it remembers them, and figures out ways around the obstacles (and remembers the methods), then you have a robot. Wow! that was a nasty run on sentence.... hopefully that wasn't too painful on the eyes;).


Another form of a robot, imo, is a machine that is capable of knowing when it is being pushed too far. For example, just over the weekend, the Mars Phoenix shut down it's arm to prevent damaging itself (http://www.gizmodo.com.au/2008/07/mars_phoenix_lander_protects_itself_from_bad_nasa_ commands-2.html), due to bad commands issued by NASA. That, I would also call a robot.

I'm full of examples, but waay too many things to do right now.


For simplicities sake though, you'll always find me calling "non-robots" (according to my definition above), robots.

Adrenalynn
07-17-2008, 10:22 AM
I would say all robots are preprogrammed.


Then you might want to read up on neural networking a bit more.



It's how the programming works that matters. If the firmware takes inputs from sensors and chooses which of several behaviors to execute based on that input, then it qualifies as autonomous and is a robot.


Alas, the dictionary would disagree. "Not controlled by outside forces; independant" or "Independent in mind or judgement; self-directed." (American Heritage Dictionary, 2006)

There is no thought or judgement there.

ScuD
07-17-2008, 11:20 AM
But what is thought or judgement.

In my view it's reviewing input versus past experiences and/or knowledge to provide a certain output.

input -> processing -> output. simple as that.

That's where the neural networks come in. A feedback from the output to adjust the processing for future input. aka learning.

Adrenalynn
07-17-2008, 11:24 AM
Yes. Bump-lookup entry-turn is not "input vs past experiences and/or knowledge"

Matt
07-17-2008, 06:32 PM
This is true. My own def doesn't discriminate on decision cycle complexity which is what you are really talking about.

An evolution if you will...
bump > mechanical switch throws gears into reverse > spins away from wall
bump > code on a micro controller is run, 1 of 10 random functions runs. > turns X degrees & drives off
bump > all sensers queried, a DB of potential situations and reactions is analyzed, etc. > Intelligently traverses obsticle
bump > vision systems and neural networks are all spinning away learning, pulling memories, analyzing, etc. > writes poem on not running into walls :P

To me, these all fulfill the stipulation (mine) that a robot is a machine which reacts to external stimulus through "sensory" input.

What is interesting is that different people focus on different parts of the question. Some, like me, only care to define "what" a robot is in mostly a behavioral capacity with some physical stuff defined. While others get into almost metaphysical debates about what autonomy really means. In my own pondering of what a robot is I discovered that it's not hard to continue opening up the definition little by little as each new "but what if" is considered. Then you stop dead in your tracks and realize that your new found definition actually throws the net so wide that it includes humans.

*queue scary music... :P

MYKL
07-17-2008, 08:28 PM
And humans are not robots because?

They are constructed out of more exotic materials and they're programming is extensive but IMHO humans are the epitome of robotics perfected.

A-Bot
07-17-2008, 08:34 PM
Just like we had mostly crappy computers in 1985. Remember the PC Jr.?

I would have loved to have a PCjr back in 1985. Instead, this is what my parents got me:

http://oldcomputers.net/aquarius.html

I have all the hi-tech accessories- +16k memory card and receipt-roll printer. I even have the Mini Expander with the sweet controllers. And Snafu. Can't forget Snafu. :p

Oddly enough, this is one of the few things that I kept from my youth, and I still have it in a box. :)

Edit: Actually, the cassette tape drive was with the TI-99/4A that I got a while later, not the Aquarius.

metaform3d
07-18-2008, 02:59 AM
Oh, that's right -- start the most interesting discussions when I'm out of town...

How much of a robot something is (it's robotiness, if you will) is a continuum. It's a sliding scale that is the result of several factors. But let's start with a basic definition:

1) A robot is any mechanical device that changes its behavior based on sensing the state of its environment or its physical self.

This means a thermostat is a robot. It senses the temperature of the environment and flips a switch in response. A servo is not a robot because alone it doesn't react to anything. However a servo connected to a joystick is a robot -- it senses the deflection of the stick (the environment) and its own rotation (itself) and performs an action to keep them in sync.

While by my definition these are robots, they are very trivial robots. What we are striving for here are much more roboty robots. For that we need two other factors:

2) The complexity of a robot is measured by the number of ways in which it is able to respond to different environmental circumstances.

This is sometimes the same as "degrees of freedom" but it's more than just the number of axes that an arm might have. We also have to count the dimensions of sensory input that the robot can process. A photovore can only sense the difference between two photodiodes -- essentially one bit of sensory input. A blob tracker gets more bits but nothing like the full image. An object-identifying lidar system has quite a bit of complexity in its sensory system.

3) The autonomy of a robot is the ratio of the behaviors it's capable of performing relative to the amount of human input required to select those behaviors.

The lowest level of autonomy is 1:1 -- thermostat level. The human sets the trigger temperature and the robot flips a switch at that temperature. Battle robots are typically very close to 1:1 as well. The wheels and weapons operate in nearly linear relationship to the way the human moves the levers of the control device. On the other hand if the human operator sets a high-level goal using only a few bits of information and the robot has to perform many different actions and react to many different sensory data to achieve that goal then the robot has a high degree of autonomy.

Full autonomy is impossible. Even after a million generations of machines built and programmed entirely by other machines there would still be a lingering trace of the first human instruction to "go forth and multiply."

It's easy to make a robot, but it's hard to make a very roboty robot. Robotiness is conferred by high complexity or high autonomy, and ultimate robotitude requires both.

ooops
07-18-2008, 09:23 AM
Encarta says - "a mechanical device that can be programmed to carry out instructions and perform complicated tasks usually done by people". I'll add menial tasks to the complicated for my personal def.
For me that is good enough.
Garage door opener - robot - saves me getting out in the rain/sleet/snow/hail ... and although not complicated I consider it a wonderful bot to have!!!
Clothes washer (modern HE) - definitely a bot - does the work, makes decisions ... smarter than me in many ways!
Refrigerator - some are, most are not - if it knows when to call the repairman, then it is.
Toilet - the one at home is not - the ones at the airport that know when I walk away, and save me touching anything ... are! Same for the sinks:)
So at the end of the day my definition is pretty broad and relaxed.
Simple definitions for simple minds!

DresnerRobotics
07-18-2008, 10:16 AM
Oh, that's right -- start the most interesting discussions when I'm out of town...

How much of a robot something is (it's robotiness, if you will) is a continuum. It's a sliding scale that is the result of several factors. But let's start with a basic definition:

1) A robot is any mechanical device that changes its behavior based on sensing the state of its environment or its physical self.

This means a thermostat is a robot. It senses the temperature of the environment and flips a switch in response. A servo is not a robot because alone it doesn't react to anything. However a servo connected to a joystick is a robot -- it senses the deflection of the stick (the environment) and its own rotation (itself) and performs an action to keep them in sync.

While by my definition these are robots, they are very trivial robots. What we are striving for here are much more roboty robots. For that we need two other factors:

2) The complexity of a robot is measured by the number of ways in which it is able to respond to different environmental circumstances.

This is sometimes the same as "degrees of freedom" but it's more than just the number of axes that an arm might have. We also have to count the dimensions of sensory input that the robot can process. A photovore can only sense the difference between two photodiodes -- essentially one bit of sensory input. A blob tracker gets more bits but nothing like the full image. An object-identifying lidar system has quite a bit of complexity in its sensory system.

3) The autonomy of a robot is the ratio of the behaviors it's capable of performing relative to the amount of human input required to select those behaviors.

The lowest level of autonomy is 1:1 -- thermostat level. The human sets the trigger temperature and the robot flips a switch at that temperature. Battle robots are typically very close to 1:1 as well. The wheels and weapons operate in nearly linear relationship to the way the human moves the levers of the control device. On the other hand if the human operator sets a high-level goal using only a few bits of information and the robot has to perform many different actions and react to many different sensory data to achieve that goal then the robot has a high degree of autonomy.

Full autonomy is impossible. Even after a million generations of machines built and programmed entirely by other machines there would still be a lingering trace of the first human instruction to "go forth and multiply."

It's easy to make a robot, but it's hard to make a very roboty robot. Robotiness is conferred by high complexity or high autonomy, and ultimate robotitude requires both.


Great read man, couldn't have said it better myself.

Matt
07-18-2008, 11:15 AM
^^^ +1 Rep for metaform :) ^^^

Adrenalynn
07-18-2008, 12:13 PM
What is interesting is that different people focus on different parts of the question. Some, like me, only care to define "what" a robot is in mostly a behavioral capacity with some physical stuff defined. While others get into almost metaphysical debates about what autonomy really means. In my own pondering of what a robot is I discovered that it's not hard to continue opening up the definition little by little as each new "but what if" is considered. Then you stop dead in your tracks and realize that your new found definition actually throws the net so wide that it includes humans.

*queue scary music... :P

I think for me that defining "autonomy" is important as a basis for measurement. The problem is that we have too many undefined/loosely defined terms.

"Is a gargleblarp really a gargleblarp if it doesn't swinfel?"

The matrix is too deep here. We need to define some of the terms before we can decide on the meaning of the others.

And maybe that's why it's so hard to pin down both gargleblarps AND robots...

JonHylands
07-18-2008, 12:37 PM
I think for me that defining "autonomy" is important as a basis for measurement. The problem is that we have too many undefined/loosely defined terms.


How about this?

Given that a robot has sensory inputs that act on actuator outputs, we can say that there is a transformation function between sensory input and actuator output.

If the transformation function is trivial (in the mathematical sense), then there is no autonomy. The autonomy of the robot increases in proportion to the complexity of the transformation function.

metaform3d
07-18-2008, 01:15 PM
Given that a robot has sensory inputs that act on actuator outputs, we can say that there is a transformation function between sensory input and actuator output.

If the transformation function is trivial (in the mathematical sense), then there is no autonomy. The autonomy of the robot increases in proportion to the complexity of the transformation function.That's what I was calling "complexity". A robot can be complex without being autonomous. A modern fly-by-wire jet fighter is very complex in terms of the mapping from transducers to actuators, but it is not autonomous in any meaningful sense.

Adrenalynn
07-18-2008, 01:17 PM
That's great - I can buy into that, no problem. I think it might be a tough sales pitch for those using a "trivial transformation", though. Probably no more difficult than Matt's "crappy robots" though. :)

So we come down to a robot being defined by its triviality of "thought".

Which means that the robots used to assemble cars aren't really robots. They have almost zero input from the environment. They make many thousands of simple XYZ translations/day, but they have "trivial thoughts" in order to perform those actions.

darkback2
07-18-2008, 02:01 PM
Again with the complexity. If I show pretty much any person on the street a picture of a "pick and place robot" from an assembly line at ford, and ask them..."Is this a robot" They will probably answer "yes." Now of course that means that I've preloaded the question. But what about if I don't preload it. If I show my nephew a cardboard box with wheels duct taped to the bottom and a couple of antenni sticking out the top...maybe with a face drawn on the side, and ask him what it is, he will invariably say..."a robot?"

So...The question then comes down to the way in which we ask the question. I personally don't think you can define a robot, or even worse Autonomy or any other "wet/sticky" word without speaking in vague generalities. Its not like we are defining a triangle, or a sphere. Even then, it gets complex based on your level of resolution.

Ok...so then does it become a matter of resolution? I believe I am autonomous, but my wife has very definite control over a lot of my actions. Am I not autonomous? Does it matter?

Maybe...I'm a robot. :(

Matt
07-18-2008, 02:03 PM
I have to agree with the recent comments. Complexity doesn't equal autonomy, they must be separated. Autonomy is really "independence". How independent can a robot be running tasks on it's own? In this case a roomba is highly autonomous even though it is super simple. In an ideal room it could run for months bouncing around and self docking.

This isn't to say that Jon doesn't have a good point about the complexity of the decision cycle being related to the general autonomy and ability of a robot.

I would say that this is another defining feature for a robot. Ability. (anyone have a better word?) Take the roomba vs a warehouse security robot. Both are very autonomous, yet the security bot is clearly far more advanced. It has more skills, more memory, more data to work with, more sensors, more communication ability.

So that's 2 things:
Autonomy
Ability (better term?)

What else is there?

ooops
07-18-2008, 02:08 PM
Originally Posted by JonHylands http://forums.trossenrobotics.com/ambience/buttons/viewpost.gif (http://forums.trossenrobotics.com/showthread.php?p=15254#post15254)

If the transformation function is trivial (in the mathematical sense), then there is no autonomy. The autonomy of the robot increases in proportion to the complexity of the transformation function.



Not questioning where we are going with this, but are we defining a "Robot" or an "Autonomous Robot"?
Or should we just share the mental image that we get when one hears the word "robot"?
The modern HE clothes washer is a good example.


Quoted from ad
As soon as the wash cycle is started, Duet® and Cabrio™ washers use various sensors to determine the size of the load and precisely how much water is needed to clean it. Heat sensors then monitor the temperature, and make sure water is warmed gradually to make cleaning enzymes optimally effective. Suds sensors also work to prevent oversudsing in the low water wash system.


Now that may not seem like a big deal in the modern world. It doesn't go get the clothes, and dosen't fold them and put them away. So, it doesn't meet my "mental image" of a robot. It does seem to meet the "Encarta" definition.
But I guarantee that my Great grandmother would call it a robot! Or at least a "bewitched machine".
By the way, when I here the word "Robot", my mental image is of B9 - the lost in space robot.
Danger Will Robinson!!!!!!

And for $24,500. you can have one of your own http://www.lostinspacerobot.com/index.html
At that price I would expect it to fold the clothes and put them away!


http://statse.webtrendslive.com/dcs8maisiqljwpx4jia3u30hg_3d8m/njs.gif?dcsuri=/nojavascript&WT.js=No&WT.tv=8.0.0

Matt
07-18-2008, 02:47 PM
Not questioning where we are going with this, but are we defining a "Robot" or an "Autonomous Robot"?http://statse.webtrendslive.com/dcs8maisiqljwpx4jia3u30hg_3d8m/njs.gif?dcsuri=/nojavascript&WT.js=No&WT.tv=8.0.0

Just to be clear, we aren't trying to define it as a group. That would lead to in fighting for no reason. We are just debating the idea of a robot really. People are free to chime in and out with thoughts.

I just wanted to make sure that people understand that we don't need to come to any group conclusions or agreements in this thread.

[end transmission]

Adrenalynn
07-18-2008, 02:50 PM
If I show pretty much any person on the street a picture of a "pick and place robot" from an assembly line at ford, and ask them

If you stand on a busy street corner and look up at the sky and point, pretty soon you'll have a crowd of a thousand sheeple looking up at the sky and pointing. Just because a thousand people are doing it doesn't mean it is sensible.

Social Engineering was a favorite game of my friend and I back in highschool and early in college. People, in general, are very much like current and past generation robots in that they are trivial to program to perform tasks that look quite complex... ;)

JonHylands
07-18-2008, 02:55 PM
When I gave my definition earlier, I was not defining a robot. I was trying to define autonomy, in the context of a robot.

darkback2
07-18-2008, 03:19 PM
:(
If you stand on a busy street corner and look up at the sky and point, pretty soon you'll have a crowd of a thousand sheeple looking up at the sky and pointing. Just because a thousand people are doing it doesn't mean it is sensible.



True...but in my opinion, language created by and maintained by those very sheeple. Without the sheeple to agree to what a word means we wouldn't need the word...then again, we wouldn't exist...so ...never mind. :(

Adrenalynn
07-18-2008, 03:37 PM
I disagree to some extent. Concepts are fed to the masses by those they imbue with their trust to "think for them".

Once roboticists in general define the concept, the unwashed will follow.

ScuD
07-18-2008, 04:22 PM
Aha, now I see your intent ;-)

metaform3d
07-20-2008, 01:42 AM
Damn. I realize I need to change my answer. I said:


1) A robot is any mechanical device that changes its behavior based on sensing the state of its environment or its physical self.In my discussion of this concept I allowed that the control inputs for the device would count as sensors. The problem is that if I do that then virtually any machine is a robot. The throttle on my chainsaw, the keypad on my microwave, heck the handlebars on my bike -- if these can be called "sensors" then all of those things become robots. And they clearly aren't.

The simple adjustment would be to require that a robot have sensors of the environment beyond the operator's controls. This seems reasonable, and yet we find that we have to exclude a lot of things that would normally be called robots. Most humanoids would not be legitimate robots under this definition because they only react to user inputs. A more strained cased is to consider two battle bots. One is a straightforward RC device with no sensors of its own. The other is just the same but includes a mercury switch to detect inversion. The second would qualify as a robot because of that sensor. The first would not, and yet in this case the distinction seems quite arbitrary.

I'm going to suggest an alternative definition for robot but I hate it because it's more subjective. And yet that's where we seem to be ending up.

A robot is a machine that is evocative of the functions of living organisms.

Humanoid robots qualify, even if they are pure clockwork. Open-loop robot arms qualify. Battle bots are treated like pets because they scuttle about and have personality quirks despite being driven entirely by RC signals, so they qualify. Anything with complexity and autonomy would qualify -- as those are key traits of living organisms (I would be interested to hear any critique of my prior definition of those terms).

This means the issue for those of us who make utilitarian, non-biomimetic robots is to show that we are doing robotics. Perhaps we are just engineering automation. On the other hand if make our automata smart we can break into the robot club too. Nothing smart has ever been non-living.

BIGBUG
07-20-2008, 10:18 AM
-- A robot can be defined as a mechanical device that is capable of performing a variety of tasks on command or according to instructions programmed in advance. --

That is the commonly accepted definition of what constitutes a robot to the general public. We, as roboticists, will debate the issue way past the point of common sense and yet never achieve a definition that suits us all.

I am one of the diehard old schoolers that adhere to the following concepts:

- A remote control toy car is not a robot and never will be.
How then can a remote control humanoid be more than a remote control toy?

- Must be autonomous.
- Must have sensors capable of detecting its working environment.
- Must be able to make on board decisions concerning how to work within its working environment.

The second part of the debate seems to center around PC or Micros for a control system. As long as the PC performing the control task is unmanned and simply doing off device processing via a wireless link, more power to them. Unfortunately these types of bots tend to receive lots of outside assistance and start drifting into the land of really spendy remote control animatrons.

These are just my opinions of course. That means they work really well for me and my designs.

LinuxGuy
07-20-2008, 10:42 AM
I would say that this is another defining feature for a robot. Ability. (anyone have a better word?) Take the roomba vs a warehouse security robot. Both are very autonomous, yet the security bot is clearly far more advanced. It has more skills, more memory, more data to work with, more sensors, more communication ability.
I agree. It's just like for us, who have a widely varied set of skills (better term for ability?) and knowledge. We can't all do the same things, or at not least at the same level. We all have various limitations that define what we are and are not able to do, whether that be knowledge (which we can gain), skills (which we can learn), etc.

The real big difference between us and a robot is the ability to learn, both from mistakes and to learn new skills by being taught. For the robot, being taught usually consists of additional programming. This is at least true for most of the robots we build. We add new behaviors to our robots and conditions where those behaviors might be triggered.

Sometimes we get emergent behaviors we did not specifically allow for in the programming, which makes things even more interesting - conditions occur with sensory inputs we did not allow for in the programming and various interesting things can happen.

Consider the added programming teaching the robot (gaining knowledge). Adding new sensor(s) and/or manipulator(s) might be considered giving the robot new skills.

8-Dale

crabfu
07-20-2008, 01:12 PM
my eyes glazed over in the first page. I find that most people call my stuff robots... but non of them are autonomous, or have any sensors... all r/c, walking, treaded, wheeled, staionary, wiggly, or gimpy.

What I find in people who defines them as robots, are not looking for autonomous behavior, or any specific functionality... in fact I am trying to stay away from just that. I am talking about the masses that I've met, in doing some of these events that are not necessarily robotic.. I noticed people who calls them robots, do so because they want to believe in the ILLUSION of LIFE. They clearly can see that I am controlling it via r/c, and yet they say "HE" has a lot of character, or "He's" so cute etc. Even after chatting about how it works, what went into making it, they still refer to them as robots, and has associated that specific r/c machine with a personality. Of course non of them has real character, personality, or have any ability to sense or decide anything. Kids especially love robots... and they only look for a machine with character, and don't care about any of the technical aspects, it just need to be a non organic thing tugging at their organic heart strings.

So I think there are technical definition of robots, and then there are general public definition. Technical side can be argued to death about what has to go into a machine to be called a robot. General public definition of a robot, I think is a machine with personality - that personality does not have to be real, people are willing to accept the illusion, and fill in the gaps with their own perception of that machine, or accept that it has a fake personality all together. Most people buy humanoid kits, did so because they wanted a robot.... not because it has sensors, ability to think, or any of the technical definition. They wanted a machine that they have an emotional connection with, that moves in a familiar way, resembling life.

So in short... technically, robots are very specific and controversial in the exact definition, with lots of gray areas. But generally, robots are machines with illusion personality, it has nothing to do with the technical function or ability etc.

Just my 2 cents :wink:
-Crabfu

Adrenalynn
07-20-2008, 01:52 PM
You can thank Hollywood for that, IMHO. There is an ingrained sense of that artificial life impersonating biology ("biomimetic" as Metaform noted) as being the defining characteristic of a robot. You have captured that more than anyone else I've seen here on the TRC, Crabfu. I can't think of your critters as anything other than "robots" regardless of the control system.

metaform3d
07-22-2008, 01:58 AM
I had crabfu's creations in mind, actually. They are the epitome of the insensate robot.

And it's not just Hollywood -- Chapek's original robots were humanoids, basically artificial people. The word comes from "slave," although I prefer "Your plastic pal who's fun to be with."

ScuD
07-22-2008, 09:22 AM
although I prefer "Your plastic pal who's fun to be with."

That might be slightly misinterpreted though..