×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Teaching Robots New Tricks Without Programming

timothy posted about a year and a half ago | from the use-the-force-feedback-luke dept.

AI 42

cylonlover writes "Maya Cakmak, a researcher from Georgia Tech, spent the summer at Willow Garage creating a user-friendly system that teaches the PR2 robot simple tasks. The kicker is that it doesn't require any traditional programming skills whatsoever – it works by physically guiding the robot's arms while giving it verbal commands. After inviting regular people to give it a try, she found that with few instructions they were able to teach the PR2 how to retrieve medicine from a cabinet and fold a t-shirt."

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

42 comments

The Program is Right There in the Article. (5, Insightful)

Anonymous Coward | about a year and a half ago | (#42015663)

"Without programming?"

Bullshit. Look in the article, in the picture in the article.

Program's right there, on the right side. [gizmag.com]

"Test subjects were provided instructions on how to teach the robot similar to what you'd expect when buying a sophisticated appliance."

"Tutorial: Programming PR2 by Demonstration."

"Step 1... Say: 'TEST MICROPHONE'."

"Step 2... Say: 'RELEASE RIGHT ARM.' ... Move the arm to a neutral pose and say HOLD RIGHT ARM."

If this isn't programming, then I'm not a programmer. Instead, I'm just someone who manipulates a text editor.

Re:The Program is Right There in the Article. (1)

Dr Max (1696200) | about a year and a half ago | (#42015903)

Getting a robot to write it's own program has been done for a long time (10 years at least). This isn't even a new way of doing it, they are just using this guys code http://www.eejournal.com/archives/fresh-bytes/baxter-is-the-humanoid-robot-you-can-teach-without-programming/ [eejournal.com] .

Re:The Program is Right There in the Article. (0)

Anonymous Coward | about a year and a half ago | (#42016569)

This isn't even a new way of doing it, they are just using this guys code http://www.eejournal.com/archives/fresh-bytes/baxter-is-the-humanoid-robot-you-can-teach-without-programming/ [eejournal.com] .

How do you figure?

The project in this article (and all the software that the PR2 is run on) is open source ros.org [slashdot.org] . Baxter is closed source but reportedly uses ROS under the hood, it is in fact baxter leveraging the code from this article.

Re:The Program is Right There in the Article. (2)

Dr Max (1696200) | about a year and a half ago | (#42016625)

It uses the same os but from what i understood the baxter guy open sourced his physical self learning code to them.

Re:The Program is Right There in the Article. (2, Insightful)

Anonymous Coward | about a year and a half ago | (#42016595)

The point is that this is an advancement in Human Robot Interaction, not that they did away with programming. I blame the article and slashdot for this misleading premise.

Re:The Program is Right There in the Article. (0)

Anonymous Coward | about a year and a half ago | (#42016915)

Serious question:

What's the difference between learning and programming?

Re:The Program is Right There in the Article. (1)

Guignol (159087) | about a year and a half ago | (#42017933)

You meant teaching I guess
The difference is quite clear if you see the extremes, that would be like asking what is the difference between white and black when we are observing shades of grey.
So the difference, as a teacher vs programmer , is your level of expectation toward your student / compiler
There is a joke that goes like "this damn compiler is doing exactly what I tell it to instead of what I want it to"
For the student, you do expect it to get what you mean instead of what you say
But of course, there is a grey area

SKIDDIES REJOICE !! (-1)

Anonymous Coward | about a year and a half ago | (#42015673)

Because that's what they like !!

Corrected title... (5, Insightful)

davidwr (791652) | about a year and a half ago | (#42015711)

Teaching Robots New Tricks With Non-Traditional Programming

There, fixed that for you.

GOOD! (0)

Anonymous Coward | about a year and a half ago | (#42015899)

Isn't that still an important and useful qualitation, since the vast, vast majority of people can't, shouldn't and don't fucking want to write code?

And, I would argue, nor should they ever need to. Writing arbitrary invented languages, with awkward syntax and extremely-non-human thought-structures, to accomplish esoteric tasks has never been an intuitive or optimal way of getting shit done.

Re:GOOD! (3, Insightful)

Kjella (173770) | about a year and a half ago | (#42016123)

Isn't that still an important and useful qualitation, since the vast, vast majority of people can't, shouldn't and don't fucking want to write code? And, I would argue, nor should they ever need to. Writing arbitrary invented languages, with awkward syntax and extremely-non-human thought-structures, to accomplish esoteric tasks has never been an intuitive or optimal way of getting shit done.

Trust me, everybody would loooooooove for the computer to take instructions like a human but it's not going to happen because of everything that's implicitly understood. So you can teach this computer to fold a shirt, if you hand it an XS shirt and an XXL shirt will it figure out that it must adapt the folding action to the size of the shirt? I bet you any 5yo would figure that out all on their own because they've understood the basic concept of folding a shirt. Take a fundamental sentence like "put the black and white pants on the top shelf" did we mean the black pants and the white pants, or the black and white checkered pants?

All that happens is that some really smart people will try really hard to write code that guesses what it was people actually meant but without actually knowing the context and purpose they'll fail miserably. Not to mention all the times they'd have to guess at do what I meant, not what I said because normal people when facing a choice between the reasonable and the absurd pick the reasonable like. Like say you have a knife and a chicken and you ask what to do with the knife and they answer "Cut the chicken to pieces and put it in the oven" most people will understand that you're to put the chicken in the oven, not the knife - even though you didn't ask what to do with the chicken.

Or the TL;DR version: Good luck, I don't think we'll be unemployed any time soon.

Seeds of understanding (0)

Anonymous Coward | about a year and a half ago | (#42016585)

So... how did that 5yo come to "implicitly understand" so much that you never had to write code to teach her how to adapt the folding action to the size of the shirt?

DNA defines how to grow a brain, not really how it will understand the world it encounters, how it will respond to that world, or the methods of thought internally used to process either of those things. Is there really any reason why artificial creatures shouldn't follow biology's lead in the whole "learning" thing?

Would simplify the "implicit understanding" bit, provided that we didn't simply iterate up an approaching-to-perfect understanding baseline which is then used as the base over which to grow more specialized knowledge, skills, behaviors and such... isn't this really what culture already does for our wetware?

In the future, mental illness will go away before we get our flying cars.

Re:Seeds of understanding (2)

Kjella (173770) | about a year and a half ago | (#42017039)

So... how did that 5yo come to "implicitly understand" so much that you never had to write code to teach her how to adapt the folding action to the size of the shirt? DNA defines how to grow a brain, not really how it will understand the world it encounters, how it will respond to that world, or the methods of thought internally used to process either of those things. Is there really any reason why artificial creatures shouldn't follow biology's lead in the whole "learning" thing?

Actually I'd say that's a pretty complex question how much the brain is "preprogrammed" by DNA, clearly all the inputs like sight, hearing, taste, smell and touch are hooked up in some fashion with some form of processing, some basic output like crying, a lot of reflexes and instincts and possibly also knowledge are considered innate and studies on twins vs siblings vs half-siblings vs adopted have shown considerable correlation on "how it will understand the world it encounters, how it will respond to that world, or the methods of thought internally used to process either of those things". For example religiousness has been shown to be a partly hereditary trait, even though the specific religion is a matter of upbringing.

But those things aside, sure the brain works on electrochemical processes not magic and pixie dust and there are projects underway to both simulate a brain and the contents in it. That said, even with today's fastest supercomputers we're not even close to simulating a full human brain with ~100 billion neurons - I think the best we've done is the Blue Brain project of ~1 million, so we're another 5 orders of magnitude away. There's a proposal for a 10 year, 1 billion euro "Human Brain Project" that may have a full brain simulator in 2023 out now. In short it might eventually happen as some LHC-class project, but it won't be folding shirts any time soon.

Oh and in case you were wondering, no you can't take whatever that 100 billion neuron brain has learned and easily transfer it to anything less, each neuron encodes parts of the learning. This is no longer a Von Neumann architecture, each neuron is it's own little processor with thousands of synapses and even the wiring of those is dynamic much like a FPGA. If you thought programming was hard before, you should really see it once we simulate the human brain. The programming model is so bizarrely complex we'll need entirely new tools to even understand the behavior, much less modify it. We'll not be happy black-box training computers the way we do people.

Yes, that's the hard problem (1)

Animats (122034) | about a year and a half ago | (#42017389)

Trust me, everybody would loooooooove for the computer to take instructions like a human but it's not going to happen because of everything that's implicitly understood. So you can teach this computer to fold a shirt, if you hand it an XS shirt and an XXL shirt will it figure out that it must adapt the folding action to the size of the shirt?

Yes, that's the hard problem in learning from demonstration - working back from the demonstration to a model which can be generalized to new tasks. One way to approach this is by doing the same task with variations - guide the robot through folding various different shirts, and then use a machine learning system to separate the commonalities from the differences. There's been some progress in recent years in making this work. It's not very powerful yet, but it's getting to be good enough for teaching assembly line robots.

Re:Corrected title... (0)

Anonymous Coward | about a year and a half ago | (#42020789)

Not so. Within the Industrial Robotics field, this IS the "traditional" way to program a robot.

You create movement paths and joint bends etc by moving (jogging) the robot arm to the designated position, hit a button on your control module to store the point (translation matrices for all joints) then you move to the next one.

This is exactly how Industrial Robots have been programmed for over 40 years,

Re:Corrected title... (-1)

Anonymous Coward | about a year and a half ago | (#42021467)

Well, in that case, the article title was completely wrong.

Slip and fall into a robot's hand (0)

Anonymous Coward | about a year and a half ago | (#42015713)

it will love you forever

Macro? or something more? (0)

Anonymous Coward | about a year and a half ago | (#42015729)

Is this like the 'record a macro' function (which I'd nearly managed to forget) from VBA? Does the robot just replay to moves verbatim? Or is there something more going on?

Re:Macro? or something more? (0)

Anonymous Coward | about a year and a half ago | (#42017867)

programming based on storing human-manipulated movements has been how robots used to build automobiles have been "taught" for years.... nothing to see here

Seriously (-1)

Anonymous Coward | about a year and a half ago | (#42015749)

OK, I've fucked about everything that can be fucked. Yes I like the female, but I've done goats, dogs ("bitches"), cows, and several other non-human pussies. I've even done a few under-aged illegal alien Mexican chicks. One time a Russian guy told me I could do his 13 yo daughter for $150, but I passed, only because I only had $100 cash.

Seriously.

Re:Seriously (0)

Anonymous Coward | about a year and a half ago | (#42017261)

and they all said "Is it in yet?"

Fold a shirt? (1)

qbitslayer (2567421) | about a year and a half ago | (#42015835)

That's an amazingly complicated task. If the robot can be taught to do that, that's a pretty advanced robot. I wonder how anybody can teach a robot to fold a t-shirt unless you have a load of constraints on movements. In which case, you'd be better off folding your own t-shirt.

Re:Fold a shirt? (3, Funny)

oodaloop (1229816) | about a year and a half ago | (#42015849)

I hear ya. I've found folding laundry so complicated, that I just have my mom do it for me and bring the folded clothes to my basement.

Re:Fold a shirt? (0)

Anonymous Coward | about a year and a half ago | (#42017505)

My wife still cannot fold t-shirts properly after 35 years. Happily, though, she is great at working the washer and dryer and cooks delicious beans. Our Roomba does the floors. I suppose now we will be able to get an Olderfa for the clothes.

P.S. Dry cleaning shops are worth every penny you can spare.

Next step in Artificial Intelligence (0)

DaemonDan (2773445) | about a year and a half ago | (#42016065)

As someone already mentioned, the robots obviously have to be programmed to learn new tricks via "non-traditional" programming. I still think that this is a big step in AI tech though, because these robots are programmed to add to/edit their own programming based on their interactions with the world. By being guided through certain actions they've never done before they learn how to do them on their own. It's still a far-cry from advanced AI, but it's an important step.

Nao (1)

Anonymous Coward | about a year and a half ago | (#42016165)

Robot Nao from French Aldebaran Robotics does that already like it is last year's news and no tommorw Charlie..It has been know in robotics as a Gepetto programming...but then again if it doesn't come from "some_American_academic_institution" it didn't happen. Also Battle for Seatlle in 1992 started current world-wide revolution...right? Or at least something along those lines..

Great, only need a sexy skin now (0)

youn (1516637) | about a year and a half ago | (#42016525)

then tons of slashdot people will want to program it to be their virtual girlfriend... I am sorry I don't have a car analogy for that yet :)

Re:Great, only need a sexy skin now (1)

Turminder Xuss (2726733) | about a year and a half ago | (#42016965)

This will definitely accelerate the encryption/decryption cycle. Early adopters programming sexbots, roommates investing many pizzas hacking sexbot to behave ... differently ...

For a Second There (1, Funny)

Greyfox (87712) | about a year and a half ago | (#42017021)

I read the headline as "Teasing Robots Without Programming."

"Hey Robot, look at you just sitting there! It's because you don't have any programming! I'm going to sharpie a penis on your case! Ooh! Don't like that? If you had some programming you could do something about it! And you'd have the ability to not like it!"

Oh dear, now someone's probably going to arrest me for cyber-bullying...

We already have these things... (1)

hyades1 (1149581) | about a year and a half ago | (#42017103)

I'm not sure what the big deal is. We have these things already. We call them "infants" and even half-witted, mouth-breathing hillbillies can make them from the time they're about 12.

We have them in the industry (0)

Anonymous Coward | about a year and a half ago | (#42018155)

This is how we teach industrial robots, in case some of you software guys weren't aware. "Teach them points" by driving them into position first. No traditional programming needed, necessarily - simple tasks can be expressed in tabular form. This is now harnessed with some fuzzy logic employing command interpreter and a speech recognifier.

Nice job nevertheless.

Agreed, the only innovation is the speech (1)

tlambert (566799) | about a year and a half ago | (#42018911)

Yeah, Common practice.

It's pretty easy to teach points by running with external software that looks for a location deviation of .001 on an axis, and then moves the robot in that direction repeatedly until there's no long a deviation vs. where the servo thinks it should be on that axis.

I never got around to more than a test program to validate the idea for the Google Touchbot, but it's quite common practice in the industry to do that sort of thing with Toshiba CA-100 and similar robot controllers. All the code (in Python) that I wrote for doing everything that a teaching pendant could do for one of these systems is fully published, and it's about 30 lines of Python to do this sort of teaching using a keyboard to put it in the mode and to record the points. About the only innovation here is voice commands, which is not all that innovative, since you have to physically be at the robot anyway in order to exert the force against one or more of the servos.

Frankly, in the end, just using the keyboard was faster, which is why I never more than prototyped it, but since the robot I was programming was intended to test touch sensors, the feedback from a known good sample of the sensor being tested to ensure that it was getting the right input for the test was more important, and hand positioning was not as accurate as keyboard based positioning when you wanted a specific amount of capacitive coupling from the "finger(s)".

BEAM Robotics (0)

Anonymous Coward | about a year and a half ago | (#42020995)

Search BEAM robotics for anything that can be programless (and even then one can strech the definition of programming to take into account networks).

Check for New Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...