To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.roboticsOpen lugnet.robotics in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Robotics / 21799
21798  |  21800
Subject: 
RE: Bump switches and "aggression"
Newsgroups: 
lugnet.robotics
Date: 
Wed, 3 Dec 2003 19:25:37 GMT
Original-From: 
Rob Limbaugh <rlimbaugh@greenfieldgroupNOSPAM.com>
Viewed: 
814 times
  
-----Original Message-----
From: Jim Choate [mailto:ravage@einstein.ssz.com]
Sent: Wednesday, December 03, 2003 9:58 AM
To: lego-robotics@crynwr.com
Cc: hangar18-general@open-forge.org;
open-science-general@open-forge.com; hell@einstein.ssz.com
Subject: Bump switches and "aggression"

<SNIP>

I generaly use a bump switch on my bots, in fact several. I
however do not give them each a seperate channel. I tie them
all to one input and use the bump switch acctuation to
initation a 'avoidance algorithm' since something has
interfered with the current trajectory of the bot. If it's
going forward, back up. If it's turning R then turn L. If
it's moving slow, perhaps increase speed.

The current approach I'm looking for is to model the 'fight or flight'
behavior and this seems like a prime candidate. I also see it
as being very compatible with subsumption architecture and
nervous network approaches, which I think is critical.

To my thinking there are two approaches to this, really too
levels of difficulty,

- Make it deterministic, in that if a switch is bumped invert your
  current trajectory axis, if going forward then reverse, if going R
  then go L.

- Make it more stochastic. The first choice when a bump
switch goes off
  is whether to stop, reverse your current trajectory, or
select a random
  trajectory.

I believe the second level provides a pretty good simulation
to the 'fight or flight' approach by extending it to cover
'camouflage' strategies which are quite prevelant in
biological systems. Take rabbits for example, they are
sensitive to ground vibration. They generaly have two
strategies (assuming they aren't in heat) freeze (ie stop) or
run in a (semi-)random direction (ie zig-zag). This higher
level approach is the current best candidate we have for the
reference platform. It's also important to recognize that the
'stop' behavior must include a watchdog timer or else it
becomes very boring behavior.

I think that your example indirectly shows that there are two things to
be aware of.  Survival is one.  Obstacle detection/avoidance is the
other.  In thinking about it, I can see where there is a fine line
between the two.

Consider the rabbit is just exploring his surroundings and instinctively
knows nothing should bump it (sign of attack or agression) since it is
not moving.  What is the appropriate response?  It would seem that going
in the direction opposite of the sensed "attack" would be the best
choice, perhaps even in a randomized zig-zag pattern.  In nature, the
rabbit would still assume there is a threat chasing it for some period
of time.  But, what of obstacles encountered in that zig-zag path?  If a
rabbit comes up to a wall, it will run along it to look for an escape
rather than turn around to face the agressor (depending on how long the
flight has lasted).  If the rabbit is running away and it is touched
again, shouldn't it also run faster (if possible) in a direction based
on direction and location of attack?

In the original example given, a closed switch could mean "I ran into
something", "something bumped into me while I'm going somewhere",
"something is attacking me", or "something is attacking me while I'm
going somewhere".  My opinion is that the best action is dependant on
the circumstances.

- Rob



1 Message in This Thread:

Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR