Pages

Jan 22, 2009

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

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.

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...

of course there is a great deal of blurring between the two 'fully autonomous' and 'remote controlled' extremes, for example, a remote control helicopter normally has gyro stabilisation. is it therefore a robot? it has some autonomy.

As Parax said I guess you can call some remote control bots robots and those examples fulfill very worthwhile work. But I know an autonomous mobile robot gets me interested more than something that's no more sophisticated than a remote control car.

I think there is a key difference between an ROV (remotely operated vehicle) like a bomb disposal machine, and a robot (which is programmed to respond to a set of preprogrammed commands, and/or its surrounding environment). That difference being that without a person constantly giving the ROV commands, it cannot do anything.

BTW the ARMY is working on its land warrior program, which incorporates autonomously controlled bots that preform a predetirmined task

Well,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...

Well I guess you need to draw the line somewhere for semantic purposes, but I draw it much more inclusively than Jim does. I definitely consider many R/C machines to be "robots". A robot can be fully autonomous, R/C, or hybrid. A bomb disposal robot is R/C, a Mars Rover is hybrid, for example. To me, the R/C is just another form of sensor input for the robot. The robot doesn't know where the sensor input is coming from, and the program doesn't have to be any less complex or interesting. And even fully autonmous robots have controls that the humans press to start, adjust, override, re-direct, etc.

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.

Well, a R/C device of course needs to be "programmed" in order to respond to input from a remote control that is being controlled by someone. The NXT robot is also "programmed", to act autonomously, but it is following out the wishes of someone who programmed it. So I guess they are both robots, but an autonomous robot (to me) is a truer robot. By the way, I like the LEGO NXT robot because it can be autonomous & remote controled (wire & wireless). I think I missed something, why would someone want to use a VEX robot on a FLL field set-up???

I think that ROV and Hybrids are both just an extension of the human body. They are just doing things that we can't or don't feel like doing or something that is too risky to lose. The mars rovers are just there because we won't edure the long time going there more over the cost of sustaining us... So, we launched robots as somewhat like a extended arm to reach into mars and do what we normally do. 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!

Lots of interesting points here! However, as far as I'm concerned, it's not really important what kind of machines are technically considered "robots"... I mean, what's the big deal about the "official" name? Rather, I think more important factors are how interesting a particular kind of robot is, how difficult, educational, etc.

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.

Oh, and I would also like to add that I think the NXT team probably had more fun than his team. The experience was probably better on learning how to program autonomous robots and taking the challenge. Its always fun to take a challenge, especially against other platforms known to be better :D

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. :)

This is one reason I think FLL is more exciting than FTC or FRC. I certainly respect all of the work that goes into the creations, they are amazing machines. But without autonomy, it's just not as interesting to me. Just my opinion.

Don't get me wrong, I like autonomy a lot, and I would not post a simple R/C car in a robot blog, but...

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! :-))

BlueToothKiwi: I do understand that the VEX can be used in an autonomous mode. Very few people seem to do this however, including it seems the person in Jim's post. I wasn't talking down to the VEX in this case.

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 would be interest in seeing a remotely operated vehicle complete any FLL challenge in under 2.5 minutes. That would be impressive. Teleoperation usually slows things down. I've never been faster than a computer and don't ever see that changing.

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.

I don't think Brian and I fundamentally disagree here, I am just trying to help make the case for the R/C side in general, since that was Jim's question, and I am quite passionate about the lack of a standard R/C for the NXT kit. Given the target market age, this product should obviously incorporate an R/C, and if there were a suitable competitor that had one (with strong brand name, FIRST-like support, LEGO-compatibility, etc), it would crush the NXT in the marketplace. Fortunately for LEGO, there is not one.

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.

In the strictest meaning of the word, a "robot" is an independent device, capable of autonomous action. While one can do some really interesting things with remotely controlled devices, they're not, strictly speaking, robots. Of course, the point made in earlier comments about the blurring of this distinction due to hybrids is a valid one, as well.

I am pretty sure that a robot is anything that functions autonomously. If it can be run by remote control or autonomously, it can be a robot or a remotely operated vehicle (ROV) depending on which mode it is in. If a section of something is autonomous, that section is a robot, and the remotely controlled portions are not considered robots. Anything remote-controlled (like the Mythbusters "robots," though they may be good enough for Hollywood) is not considered a robot in my opinion. Please remember that this is just an opinion and I would like all comments to remain civilized. Anyone like to show the Mythbusters about Lego Mindstorms? (or this blog?)

I found the line between RC and robots! Then again, it doesn't look very straight... and it was drawn in crayon...

We've got all kinds of machines. A robot is an autonomous machine. Just because the term is misused, it does not change the definition. Yes, calling something a "robot" is cool which is why it does get misused. Also I don't think programming implies a robot. You can program a machine to work but that doesn't imply that it is autonomous.

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.

"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."

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... ;-)

R/c "robots" are probably a good start and practice for beginners but the big prize is still waiting for the developer of a truly independant autonomous robot that fulfills some useful work for householder or business.The experts don't need to practice building remote control watchame callits anymore they are all after the big prize.

Getting back to what was stated through that E-mail, a RC vehicle COULD be faster than an autonomous robot, but if the robot was built and programmed in the right way, it would win at least moments before RC, if not defeat it completly.

(...motors 1-1000 are synced, now to test 1001-2000... next time, we're using ONE drive motor)

Lol, yeah I agree that it would actually take a lot longer for a tele-operated robot to get a perfect score in FLL than an autonomous one, due to the problem with human-control accuracy. In a sense, my FLL Nano Quest team simply input all the R/C commands ahead of time so that they were the right commands with the right timing (we ended up using only Move blocks with rotation sensors). :-)

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.

you cant compare an rc robot to a non rc robot. You shouldve told him that NXT can be rc also but people like to show what it can unlike vex where people just make a robot and attach a remote to it making it 100% rc. In my opinion non rc beats any rc robot.

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

There seem to be various kinds of robot, RC robots, such as used in bomb disposal. Pre-Programmed robots, like those used to build cars, welding a panel onto a car because the program says its there. Then there are the 'clever' robots, those machines that respond to a sensor and make decisions based on the input.

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.

When trying to think of a general definition of what a robot is, I came up with: A robot is a machine that makes decisions to react to inputs.

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?

Books

Subscribe To

Follow by Email

ADULTS/PARENTS: We remove any inappropriate comments/postings as fast as possible. The LEGO® MINDSTORMS® NXT system is for all ages, but it is our goal to provide a blog that is useful to the youngest of tinkerers.

LEGO, MINDSTORMS, RCX, and NXT are registered trademarks of The LEGO Group.