Activ
Media Robotics
S
TALL
V
AL AND
S
TALL
C
OUNT
An AROS stall monitor maintains a running average of PWM values for each wheel over a
500 millisecond integration period. PWM values get added to the sum if the wheel speed
is below 100 mm/sec. The average is then compared with the
stallval
FLASH value. If
it exceeds that value, in other words the motors are being given lots of power but are
barely moving if at all, then a stall happens. Once stalled, power is removed and the
motors relax for the
stallwait
period, after which power gets reapplied.
B
UMPERS
Introduced in AROS version 1.6, use the
BumpStall
FLASH parameter to set the default
for the robots behavior when its front and/or rear bumper gets triggered. Normally,
BumpStall
is engaged for both front and rear (default value of 0) bumpers. Reset it to 3
to disengage bump stalls altogether; 1 to trigger stalls only when the rear bumpers
engage; or 2 for front bumps only.
You may over-ride the
BumpStall
FLASH default with the
bump_stall
client command
number 44, although the command arguments are the reverse: enabling versus disabling
the various bumper-stall combinations.
Your robot’s
BumpStall
behavior reverts to the FLASH default on reset and up
disconnection from the client.
Next-generation client-side software will need to know if you have bumpers or not and
how they are configured. And new bumper hardware inverts the Pioneer 2’s bumper
signal bits which confuses the client-server software. Moreover, different AROS-enabled
robots have different numbers of bumper segments, front and rear. Accordingly, the
new AROS v1.6 implements three new FLASH parameters that specify states (invert or not)
and numbers of front and rear bumper segments. Unfortunately, we have no way of
knowing automatically what bumpers your robot may have, if any, so we are forced to
assume you DON'T have bumpers or that you have the old-style (non-inverting) bumpers.
Use AROScf to indicate the type and number of bumper segments. Set the new
InvertBump
FLASH parameter's value to 1 if you have new bumpers in front, which
signals need to be inverted; 2 if in the rear; or 3 if both front and rear bumper signals
need inverting. Set to the default 0 if your robot has no bumpers or has the original style
(non-inverting) bumpers.
Set the
FrontBump
and
RearBump
parameters to the number of bumper segments for the
front and rear bumpers, repectively; or to 0 if you don't have a particular bumper. For
pre-AROS 1.6 robots, you don't need to set these values to have them work with AROS
1.6. The number of segments are used to isolate the bumper bits, if any, and to apply
InvertBump
as needed, so that a triggered bumper is reported as digital 1 regardless of
the hardware, and is reported as such in the standard SIP.
IOpac
, on the other hand,
simply reports the bit-mapped states of the input bytes associated with the bumpers,
regardless of hardware.
The
FrontBump
and
RearBump
byte values also are reported at the end of the new
CONFIGpac
for AROS 1.6.
If for any reason you remove a new-style bumper from your robot, you MUST reset the
InvertBump
FLASH value or disable
BumpStall
for that bumper. Otherwise, the robot will
stall incessantly.
57