Loading ...
Sorry, an error occurred while loading the content.
 

Re: [SeattleRobotics] Re: Subsumption Architecture Article

Expand Messages
  • Lyle Joseph Chamberlain
    You re definately right. Don t get me wrong, I think your site is super useful and relevant. Thanks for putting it together! -Lyle
    Message 1 of 36 , Apr 4, 2004
      You're definately right. Don't get me wrong, I think your site is super
      useful and relevant. Thanks for putting it together!

      -Lyle

      On Mon, 5 Apr 2004, Chris Schur wrote:

      > Lyle:
      >
      > The concept is indeed two decades old, but with todays super cheap
      > processors it is easier than ever before to try out in home
      > robotics. When I did a search on the web and in different robotic
      > forums, nearly no one had anything on this subject. It provides an
      > important historical backbone if you may on robotics architecture. I
      > felt a small write up what I have learned over the past few years on
      > the job as a robotics engineer might have then some relavance. I
      > really appreciate everyones comments, and I had a fun time re doing
      > the old experiments with new parts.
      >
      > Chris
      >
      > --- In SeattleRobotics@yahoogroups.com, Lyle Joseph Chamberlain
      > <lyle@i...> wrote:
      > > Nice article Chris. That's some useful stuff!
      > >
      > > I've posted these refernces before, but I think they are good
      > enough to
      > > warrant reiteration. They answer some of the questions being
      > posted in
      > > an academic "scientific" format.
      > >
      > > Behavior-based control has matured significantly since the days of
      > > subsumption. Much research was performed through the nineties to
      > > qualitatively explore the weaknesses and strengths of subsumption
      > and
      > > other behavioral control techniques (among them, "voting" and
      > similar
      > > strategies).
      > >
      > > First, Arkin's book, "Behavior-Based Robotics (Intelligent Robotics
      > and
      > > Autonomous Agents)" gives a nice no-nonsense overview of whats been
      > done
      > > over the last 20 years since Rod Brooks and subsumption. It is an
      > easy
      > > read and not too technical. He discusses many of the remaining
      > problems
      > > as well (such as scalability and what happens when the goals of
      > different
      > > behaviors contradict).
      > > http://www.amazon.com/exec/obidos/tg/detail/-/0262011654/103-
      > 7308915-1261418?v=glance
      > >
      > > Second, Paolo Pirjanian's PhD thesis. (Paolo worked at the
      > Planetary
      > > Robotics lab at JPL for a while, and is now the chief scientist at
      > > Evolution Robotics). This is a lot more technical and is heavy
      > reading,
      > > but he gives an overview of the many "Behavior Coordination
      > Mechanisms"
      > > (like subsumption or voting) that are out there. He then does some
      > > significant statistical and reliability analysis of various
      > techniques
      > > and validates these analytical metrics through experimentation.
      > > http://www-robotics.usc.edu/~paolo/publications/
      > > His thesis is "Multiple Objective Action Selection & Behavrio
      > Fusion using
      > > Voting."
      > > A shortened version is "Multiple Objective Behavior-Based Control"
      > if you
      > > don't want to read the LONG thesis.
      > >
      > > If you are into hobby robots, subsumption may be just fine and it's
      > a
      > > pretty powerful easy to use technique. However, if you're a student
      > > like myself that wants to break into the world of robotics
      > research, I
      > > would suggest versing yourself in what else has happened. When I
      > first
      > > got into an academic setting I embarrased myself (though I didn't
      > know it)
      > > by touting "subsumption architecture" to a room full of people who
      > saw
      > > that as the headlines of 20 years ago. "Behavioral robotics," as
      > people
      > > generally call it, is not "subsumption architecture," which has many
      > > limitations that have since been overcome.
      > >
      > > Has anyone used a different behavioral scheme in their hobby robot?
      > > Personally, I have seen no need for more "advanced" techniques in my
      > > simple hobby persuits, but I'm sure that someone could benefit in
      > some
      > > application.
      > >
      > >
      > > -Lyle Chamberlain
      > >
      > >
      > > On Sun, 4 Apr 2004, John M wrote:
      > >
      > > > If you look at Chris's model, though, Avoid is at the bottom
      > level, and is
      > > > subsumed by everything else...in this model, Wander needs to
      > understand when
      > > > to relinquish control.
      > > >
      > > > (Aside to Chris: You might want to also discuss why you chose the
      > hierarchy
      > > > as you did, instead of inverted)
      > > >
      > > > Modeled the other way, as you are implying, where Avoid is at a
      > higher level
      > > > and subsumes Wander, does indeed mean there is less knowledge by
      > higher
      > > > levels of lower levels required.
      > > >
      > > > Let's take the classic case of Wander/Avoid, modeled your way
      > with Avoid at
      > > > the top level and Wander at the bottom. If Avoid is subsuming
      > Wander, it
      > > > must take over the inputs to the next level (Motor Control, or
      > raw outputs
      > > > to the motors themselves), duplicating functionality (albeit not
      > identical
      > > > functionality). Doesn't scale too well.
      > > >
      > > > Avoid ----
      > > > |
      > > > Wander--x------
      > > > |
      > > > Control Motors
      > > >
      > > >
      > > > Other problems with the architecture are adding new behaviors...
      > if you add
      > > > another behavior "LookForFood", you have to change Avoid to
      > suppress
      > > > LookForFood as well...Avoid implicitly has knowledge of what
      > LookForFood
      > > > does, since it knows to suppress it.
      > > >
      > > > Avoid ------------
      > > > |
      > > > LookForFood-----x--
      > > > | |
      > > > Explore-------x--x-
      > > > |
      > > > Control Motors
      > > >
      > > > I haven't really seen any implementations, but I've heard mention
      > of
      > > > blackboard-style models that modify the subsumption architecture
      > to do sort
      > > > of a consensus model; from what I understand it works something
      > like:
      > > >
      > > > All behaviors that need access to the motors, place a vote, with
      > a weighted
      > > > priority. Some generalized arbitrator then makes final decision
      > (the
      > > > arbitrator is not coded for particular behaviors). For instance,
      > say you
      > > > have three behaviors Wander, LookForFood, and Avoid. Wander has
      > a vote,
      > > > weight 5, which says go right. Avoid vaguely senses something
      > bad in the
      > > > distance, so prefers to go left with a weight of 3. LookForFood,
      > though not
      > > > too hungry, senses food to the left, so throws in a weight of 3
      > to the left.
      > > > Even though the strongest single vote says go right, the final
      > weighted
      > > > decision is to go left. Also, weights can change dynamically
      > with time.
      > > >
      > > > Again, I may be blowing smoke here...I can't find references.
      > Also, isn't
      > > > really based on FSMs. But, since Chris was wanting to fill in
      > gaps in the
      > > > lack of information, I thought this might be a good catalyst.
      > > >
      > > > Another interesting observation on the Subsumption Architecture
      > is that it
      > > > is a hierarchy of priorities, not a hierarchy of increasingly
      > complex
      > > > functionality. Its purpose seems to be to mediate access to
      > resources
      > > > (motors, in the case of the examples here), rather than allow more
      > > > complexity (building up compound behaviors from simple behaviors).
      > > >
      > > > Completely off-topic, but I wonder if anybody has tried
      > implementing a
      > > > Marvin Minsky "Society of Mind"-type architecture in a robot.
      > > >
      > > >
      > > > > -----Original Message-----
      > > > > From: Larry Barello [mailto:yahoo@b...]
      > > > > Sent: Sunday, April 04, 2004 2:25 PM
      > > > > To: SeattleRobotics@yahoogroups.com
      > > > > Subject: RE: [SeattleRobotics] Subsumption Architecture Article
      > > > >
      > > > > I thought the elegance of the Subsumption architecture is that
      > upper level
      > > > > routines don't need to know *anything* about the lower level
      > routines and
      > > > > vise-versa. The wander keeps on wandering even though
      > the "bump" routine
      > > > > has taken over control and is forcing the robot to do something
      > else.
      > > > >
      > > > > I implemented a version of this style control in the "multi-
      > tasking
      > > > > mini-sumo" sample code (www.barello.net/ARC - get the BASCOM
      > sample zip)
      > > > > It
      > > > > works really well. The priority scheme is inverted: basic
      > stuff like
      > > > > "edge
      > > > > detect" is first, then rear proximity, then front proximity,
      > then just
      > > > > cruising. If a lower (high up the list) task is triggered, it
      > cancels
      > > > > whatever is going on and takes over.
      > > > >
      > > > > Cheers!
      > > > >
      > > > > -----Original Message-----
      > > > > From: John M
      > > > > ...
      > > > > Interesting article Chris; in a future supplement, you might
      > want to
      > > > > discuss
      > > > > scalability of this method (multiple level one blocks subsuming
      > a single
      > > > > level 0 block, etc), and perhaps think about how to get around
      > one of the
      > > > > big flaws of subsumption architectures...namely that the
      > subsuming block
      > > > > has
      > > > > to understand quite a bit of the functionality of the subsumed
      > block (in
      > > > > your case, "wander" needs to understand the concept of a
      > sensor "hit" to
      > > > > back down and let "avoid" have its turn).
      > > > >
      > > > > Look forward to seeing more
      > > > > John
      > > > >
      > > > >
      > > > >
      > > > > Visit the SRS Website at http://www.seattlerobotics.org
      > > > > Yahoo! Groups Links
      > > > >
      > > > >
      > > > >
      > > > >
      > > >
      > > >
      > > >
      > > > Visit the SRS Website at http://www.seattlerobotics.org
      > > > Yahoo! Groups Links
      > > >
      > > >
      > > >
      > > >
      > > >
      > > >
      > > >
      >
      >
      >
      > Visit the SRS Website at http://www.seattlerobotics.org
      > Yahoo! Groups Links
      >
      >
      >
      >
      >
      >
      >
    • dan michaels
      ... myself. ... background ... Does Etienne also qualify was another name for Stephen? Has a nice sound to it too :). Regards books for starting out, I always
      Message 36 of 36 , Apr 23, 2004
        --- In SeattleRobotics@yahoogroups.com, "stephane641"
        <stephane641@r...> wrote:
        > Actually, it's Stephane (a french version of Stephen) and not
        > Stephanie but that's ok I'm used to it by now.
        >
        > Actually, although I'd like to help it's much too time consuming to
        > explain all these theories, especially when I'm still learning
        myself.
        > The trick is to read lots. That's all I did as I have no AI
        background
        > or anything. I'm just a hobbyist.
        >
        > Read all the subsumption links posted earlier and then I suggest the
        > two books mentionned earlier. (Jo Jones's "Behaviour Based
        > Programming" book is a great intro and will give you great pointers
        > for further research.)
        >
        > Remember, doing the research is half the fun!


        Does Etienne also qualify was another name for Stephen? Has a nice
        sound to it too :).

        Regards books for starting out, I always liked Joe Jones' other book,
        as it covers in detail all aspects of hardware and systems design,
        and also has a nice coverage of programming and also subsumption
        techniques in the last 4-5 chapters. Covers it all from the ground up.

        Mobile Robots, Inspirations to Implementations.
        http://www.amazon.com/exec/obidos/tg/detail/-/1568810970/

        I'm currently reading Jones' "new" book - mentioned above. It covers
        strategies for controlling bots in more detail than the old book, but
        is largely past the basics. Most people starting out won't care much
        about the 4-5 different ways to set module priorities, etc. The new
        book is nice in that Joe says things like, "over the past 15 years,
        I've tried this and that and that and that, and found that this one
        works best ..." :).


        - dan michaels
        www.oricomtech.com
        ==========================
      Your message has been successfully submitted and would be delivered to recipients shortly.