Not sure how to title this one...
Okay, so I received an email a few weeks back from a reader who sent me a picture of his VEX robot with some Technic parts used to create a small basket in front (maybe back?) for holding small items. I was asked if I'd include the picture and his writeup on the blog.
I politely responded that our blog focused on NXT robots (with an occasional off-topic post but we try to keep it related to NXT or at least robotics in general) - "Thanks for sharing... sorry to have to say no, but keep up the good work... etc."
I got a reply back stating that the VEX robot was using NXT parts (he seems to not understand that Technic parts are Technic and not limited to just NXT) and that he couldn't get an NXT robot to complete some challenge map (he didn't specify). He then went on to rip on NXT and saying how VEX was better... blah blah blah. Nothing I haven't heard in emails before. But then... he goes and says this:
"I can drive my VEX robot around and finish the challenge in half the time it took (NXT team name) to do the same stuff because they don't have remote control! LOL LOL LOL"
Hmmm... where was I to begin? I responded politely (again) that driving a robot around via remote control completely negates the "robot" description. I included Webster's online definition:
–noun
–adjective
I mentioned the key to me: "operating automatically" and congratulated him. Of coure, I couldn't just let it go completely, so I added "Technically, the NXT team wins the challenge in my mind as their robot completed the challenge without human control."
And this started a firestorm which has since caused me to block that user's email due to some not-so-nice language and unprofessional behavior. No follow-up info to report.
But this brings me to the purpose of this post - do you consider a remote controlled "robot" to be a robot? If something is being manually controlled by a human versus performing actions autonomously, which do you find more interesting - challenging - impressive?
In the NXT world, I'm sure this is bordering on the Mac vs. PC debate, so keep your responses clean and professional. I'm just curious to know what our readers think...
I politely responded that our blog focused on NXT robots (with an occasional off-topic post but we try to keep it related to NXT or at least robotics in general) - "Thanks for sharing... sorry to have to say no, but keep up the good work... etc."
I got a reply back stating that the VEX robot was using NXT parts (he seems to not understand that Technic parts are Technic and not limited to just NXT) and that he couldn't get an NXT robot to complete some challenge map (he didn't specify). He then went on to rip on NXT and saying how VEX was better... blah blah blah. Nothing I haven't heard in emails before. But then... he goes and says this:
"I can drive my VEX robot around and finish the challenge in half the time it took (NXT team name) to do the same stuff because they don't have remote control! LOL LOL LOL"
Hmmm... where was I to begin? I responded politely (again) that driving a robot around via remote control completely negates the "robot" description. I included Webster's online definition:
–noun
1. | a machine that resembles a human and does mechanical, routine tasks on command. |
2. | a person who acts and responds in a mechanical, routine manner, usually subject to another's will; automaton. |
3. | any machine or mechanical device that operates automatically with humanlike skill. |
4. | operating automatically: a robot train operating between airline terminals. |
I mentioned the key to me: "operating automatically" and congratulated him. Of coure, I couldn't just let it go completely, so I added "Technically, the NXT team wins the challenge in my mind as their robot completed the challenge without human control."
And this started a firestorm which has since caused me to block that user's email due to some not-so-nice language and unprofessional behavior. No follow-up info to report.
But this brings me to the purpose of this post - do you consider a remote controlled "robot" to be a robot? If something is being manually controlled by a human versus performing actions autonomously, which do you find more interesting - challenging - impressive?
In the NXT world, I'm sure this is bordering on the Mac vs. PC debate, so keep your responses clean and professional. I'm just curious to know what our readers think...
Comments
Well it carries out a users commands but not in the same way that a Mars Rover does.
I'm of the opinion there are two classess and the distinction is automation.
BTW the ARMY is working on its land warrior program, which incorporates autonomously controlled bots that preform a predetirmined task
Dismay
they are 2 diferent things or there would not be the discussion. :)
The point is how to name them. When the diference is needed I like the idea to call the human-operated ROV as Dismay said and the independent one as autonomous robot or simply robot.
Of course the ROV may have degrees of autonomy when its possible to have some autonomous behaviours which are commanded by the operator.
But what about an "autonomous" robot that interacts with a person? Can it be considered another form of remote control?
Take the robot from "Bicentennial Man" movie for example. In a sense it is autonomous but it is completely controlled by the orders it receives due to the 3 laws...
I have designed many NXT things that use a combination of controls, and in fact many of the R/C ones are more complex than the autonomous ones, probably because it is so much easier to get interesting or reliable results with some human control that you can do more.
I think a remote control for the NXT (sold separately if necessary, but LEGO branded, reliable, built-in software support, etc.) is sorely missing.
By "intelligence" I mean : doing / getting feedback / adjusting.
What is great with NXT is that sensors make it possible to do that artificially.
As long as a human uses its own sensors, brain and muscles to help the robot, it's far less interesting, imho.
e.g : what do you like in NXT segways ? not the fact that it goes where you want, it's obvious. The interesting part is the autonomous standing.
NXT doesn't miss a remote control at all. It misses more precise sensors.
Autonomy is what i'm interested in.
Hoever, for me personally, About 90% of the 'machines' 'animals' and 'vehicles' I build are 'Remote controlled' to start with:
Many of my NXT robots start off as remote controlled robots - then I program them and add autonomy. Sometimes I get bored with them before it gets automated - so they never make it to this blog.
And many of my NXT robots are remote controlled robots, where the NXT's role is simply being a fat battery pack for the motors and a Blue Tooth receiver for my hand held device (Bluetooth) I use.
But most of the robots I write about here in the blogs are VERY autonomous. I think it is important - as that is what many people want to read about when they come to this site.
My 2c.
A robot would be something that would be limited to pre defined actions. Robots should repsond on their own pre determined instinct. But if I defined a robot as something with predefined actions, RC robots can be counted as robots because we are giving it pre determined commands. As far as our brains go, it is still limited in a way. Our world is controlled (sorta...) by math that is a set thing that is pre determined. Our natural reflexes are pre determined and our common sense is pre determined. Robots with AI run with a list of rules in their memory.
But that is my under standing of this topic and I can't say that any of this is right or wrong, an interesting topic!
Personally, I like robots that utilize both human control and autonomy, such as military robots. The FTC competition involves this kind of robots, and I really like it. The competition has a major driver-control period where team members drive the robot around with joysticks, but it also has a 30-second autonomous mode where robots can gain significant points by doing things without human input.
In addition, the driver-control period is not as simple as an R/C car-type thing. For one, teams have to program the robot's behavior in driver-control mode, just like any other program. In fact, at least for my team, the controller program is by far our most complicated one. Also, robots can be programmed to do several things autonomously in driver-control period. One of my goals coming into this competition was to find ways to make our robot assist the human drivers by taking care of certain functions by itself. For example, we've programmed our robot such that the driver can maneuver the robot into any of a wide range of positions, and then simply press a button to make the robot autonomously line itself up properly with a goal.
-Jonathan
Even a "dumb" RC car has to translate the RF signal into control (and nowadays, that's often done with at least simple logic, if not a full microprocessor). And even a very autonomous robot generally needs to be turned "on" or have the batteries changed. Inbetween is a lot of room to wiggle...
However, I think there's likely a huge *distance* between the VEX construction of Jim's correspondent, and what I would generally term a "robot". I agree a robot embodies autonomy; the intelligence is on-board, and in particular does not depend on real-time interaction with a human being. If a human is ultimately in control in real-time, that's remote control... and no, it's not nearly as impressive (or difficult) as doing it autonomously.
There's a reason robotic line-following is not done with remote control... or why robot sumo doesn't allow remote control... etc. A VEX machine running around under the command of a human isn't in the same class, *at all*, as a robot working under it's own programming *without real-time assistance of a higher power* (i.e., a human being).
Truthfully, I'm not sure I would have been as polite as Jim on this one. :)
Dean
vex-robotics programming kit .
Actually, personally, I think FLL is a poor champion for the "superiority" of autonomous programs (but it's age appropriate, so no complaints)... 99% of FLL programs are the ultimate in human control: the human told the robot EXACTLY what to do, in sequence, without so much as a single "if" statement, ahead of time. The program is a complete bore. A very sophisticated autonomous FLL program that tries to have some kind of "fail safe" behavior is much more interesting, but so are complex R/C programs that need to consider many different possible input sequences, and hybrid auto-R/C programs like Johnathan mentions. The programs are all processing an input sequence and they are all mathematically equivalent.
In the end, humans are always controlling the robots, either at design time, run time, or both. Don't get me started on Artificial Intelligence... I was in a Ph.D. program in AI until I discovered it was all an illusion and I switched to a specialty in User Interfaces... Definition of AI? A deterministic program that the programmer doesn't understand how/when/if it works. (Hold your flames AI students, I'm being somewhat dramatic for effect, and I said don't get me started! :-))
Dave Parker: "I think FLL is a poor champion for the 'superiority' of autonomous programs".
I tend to agree, and there are plenty of events that push autonomy much better (line following, fire-fighting, micromouse, etc.). But FLL does have one critical aspect that FTC and FRC lack - it is not remote control (no part of it). Which means the student need to think a lot more about how the problem is actually solved, so they can "explain" it to the robot.
"In the end, humans are always controlling the robots, either at design time, run time, or both."
True in a sense... but I think we should acknowledge there is a *huge* difference between those two. Being able to pass a larger fraction of the decision-making ability into the robot (instead of in a human in direct control of the robot) is a very important attribute. Clearly the original poster didn't get this. Remember their quote:
"I can drive my VEX robot around and finish the challenge in half the time it took (NXT team name) to do the same stuff because they don't have remote control! LOL LOL LOL"
To which I would simply reply "and I can solve all the FLL missions using my hand (a mechanism under remote control of my nerves) in even less time than you can using an RC VEX". Complaining about how the NXT "can't do" something the VEX can (due to remote control), or "laughing" at how the NXT is so slow at the "same" task... while not acknowledging that the task isn't remotely the "same"... well, those sort of response point out to me how little some folks understand about the process.
"The programs are all processing an input sequence and they are all mathematically equivalent."
Hmm. By that definition, any basic Turing machine working on a binary data sequence that is a virtual representation of a problem is 'equivalent' to any other solution (including a "real-world" robot). While I understand the mathematical equivalence of these, I'd say that strongly obscures the fundamental difference.
I was always hoping they'd get clever, autonomous attacks etc, then they cancelled it! (Probably becuse they were no longer under human control so who do you sue when it goes wrong?)
@anonymous: Auto-correction does not make a device a robot.
So is an NXTway a robot? if all it does is standup?
It's all very gray.
I though that some simple target recognition and an auto-attack mode (with a deadman safety switch of course) would have been a huge advantage in Robot Wars. The show started to get kind of stale after about five episodes of the pincer robot going after the hammer robot and the spinning kinetic energy robot.
On equivalancy of programs in practice (rather than in theory), for the target market: 99% of autonomous programs make no real decisions. Of the few complex ones, most will make decisions something like "when I reach the line, stop". This is equivalent to "when the button is pushed, go", which are the *minimally* complex R/C decisions. Complexity (and interesting-ness) for either then goes up from there, and look very similar in practice. Granted, a typical R/C program will then top out in complexity at some point, but this is already farther than most people in the target market will ever go with an autonmous program. Coolness is certainly in the eyes of the beholder, though...
On the learning value for kids: After each FLL season is over, I do an R/C "Battle Bots" challange with my teams, and every year, most of the kids learn more about programming (and building) during this challenge than they did all season doing autonomous stuff.
You can certainly say that the requirement of autonomy in FLL forces strategic thinking, and I totally agree and think this is very age-appropriate for several reasons (including the maturity to handle performance anxiety). But also note that if FLL allowed R/C and the time limit was 1 min sec instead of 2:30, and/or the missions were harder/different, strategy comes right back, and the top scoring teams would need sophisicated hybrid strategies. Again, I am not suggesting this for FLL, this is a thought experiment.
Finally, on the "interesting" project factor, I took a quick look through the 56 projects I currently have posted on nxtprograms.com, and I may be biased (probably am), but all of these were designed with a totally clean slate and the goal of simply "What is something fun and interesting you can do with your NXT", and about 1/3 are autonomous, 2/3 user-controlled. AND, of the ones with more complex programs, closer to 3/4s are user-controlled.
Sorry, I'll try to shut up now.
I found the line between RC and robots! Then again, it doesn't look very straight... and it was drawn in crayon...
...OK, Captain Kirk, I'll get back to work...
Rovers, R/C, bomb disposal are all types of machines.
R2D2 is a robot. Roomba is a simple robot.
Sure, there can be be hybrid machines that include robot functionality.
NXT is a (very cool) machine that can be programmed to behave like a robot. It can also be programmed to be an alarm clock.
1. It is non-living.
2. It has on-board sensors.
3. It has an on-board processor (or more than one) which receives input from the sensors and makes decisions based on the input.
3. The decisions made by the processor have a visible effect on the device's behavior.
This definition eliminates simple R/C toys. It eliminates some NXT creations. It includes such devices as a NXT room explorer, a Roomba. or a Mars rover. Note that the presence or absence of a R/C link is not part of the definition.
2. It has on-board sensors.
3. It has an on-board processor (or more than one) which receives input from the sensors and makes decisions based on the input.
3. The decisions made by the processor have a visible effect on the device's behavior.
This definition eliminates simple R/C toys."
Actually, a R/C car meets EVERY single one of these criteria. It is not living, it has on-board sensors (at the very least, a receiver for the remote control), it has a on-board processor (to translate the commands from the remote), and it makes decisions based on the sensors (it turns or goes forward or backwards depending on it's sensor; you're remote control) and the decisions make a obvious change on the device' behavior (self-explanatory). So as you can see, it takes alot more than a few criteria to solve this problem. Even if we get to the point where robots are so self-capable that they surpass us in intelligence (which I doubt will happen any time soon...) can they be called a remote controlled machine? Our commands, sure, might've been given years ago and the robot might've changed them, but they're still in SOME way obeying commands given to them when they were originally programmed. This could be debated over for years. (Which it has... ;-)
The experts don't need to practice building remote control watchame callits anymore they are all after the big prize.
(...motors 1-1000 are synced, now to test 1001-2000... next time, we're using ONE drive motor)
anonymous,
>but the big prize is still
>waiting for the developer of a
>truly independant autonomous robot
Not necessarily... it's definitely *a* big prize, but there are also big prizes for making human-operated robots, such as robots for the military or outer space. There are definitely experts working on those kinds of robots.
-Jonathan
I agree that it is hard to give a definition that is both short and sufficiently restrictive, but I thought it was worth a try. In this case it appears that I didn't make my idea of sensor restrictive enough. I don't consider an R/C link receiver a sensor. I should have made it clear that by 'sensor' I meant a device that collects data about the local environment of the robot
All three types can be made using the NXT, and regularly feature here (except the second).
But which is really a robot. It looks to me that people (journalists for example) call anything that isn't an RC car is called a robot. Putting a fancy arm on something then remotely controlling it isn't a robot, its a remotely controlled arm.
Yes the pre-programmed robot is a robot, as its doing something automatically, unsupervised. But this kind of robot is rather dull.
So, the robot loaded with sensors, seeing, hearing, touching, listening then decision making and responding appropriately autonomously is the real robot.
But the NXT can't be anything more than a robot, such as a Cyborg or Android. Not enough motors for one thing, and besides the battery would go flat.
Three types of 'robot'?
Direct human input/control
Pre programmed human input/control
Artificial Intelligent Control
Maybe what we want a robot to be (Artificially intellegent) has not been done yet, maybe thats why we find it had to define what a robot is...
Entry: ro-bot
Part of speech: noun
Definition: robot
I think it sounds accurate, but Merriam-Webster put something more detailed, if you saw the article we are commenting on...
R/C cars therefore could be robots to under such a definition, as they contain a program that will decide on what a motor should do based on different inputs provided ultimately from a user. Even so could a drill with a micro controller which is programmed to control the speed of the drill at varying inputs by the user be a robot. Is this reasonable?
Some other thoughts: Should a robot also be in reference to stand-alone units? If so, then an AI program to control a house (such as Jarvis in Iron Man) could not be a robot because it is not a separate entity; it is part of the house. Or could a house with such intellegence also be considered a robot?
This topic of "what is a robot" is very interesting.