17
the computer OS to communicate with them. Unless you change internal settings on these devices, you can leave them
as configured by MobileRobots.
genpowerd
To protect your robot’s onboard PC data, ARCOS can signal Linux to shutdown when the battery power is low. ARCOS
raises the HOST RS-232 serial port's DSR pin 6 to high and puts the RI pin 9 to low when the microcontroller is
operating normally and your robot’s battery power is above the
ShutdownVolts
value set in the firmware configuration
(default is 11 Volts DC.)
The RI pin goes high when power drops consistently below
ShutdownVolts
. The
genpowerd
daemon running on the
onboard Linux system monitors the RI pin on /dev/ttyS0 (COM1) and detects the change of state and initiates OS
shutdown after a short wait, during which the shutdown may be canceled by raising the battery voltage, such as by
attaching a charger.
Windows does not support this low battery shutdown method.
G
YROSCOPE
The accessory gyroscope provides maximum 300 degrees-per-second rotational rate data to the AN6 analog port on
your robot’s microcontroller. With all versions, ARCOS and ARIA-based client software provide client-side support for the
gyro. With the FLASH parameter
HasGyro
set to 1, the microcontroller, upon receiving the client command
GyroRequest
(#58 with argument 1), will acquire, average, and relay rate data (GYROpac 0x98) to ARIA, which applies
the data to correct and compute the robot’s actual x,y, th position, relieving errors due to wheel slippage, for instance.
The gyro’s calibration setting for this mode of operation is found as the
GyroScaler
value in your robot’s respective
ARIA parameters (“.p”) file;
p3dx-sh.p
, for example.
In ARCOS version 2.0 and later, there is server-side support for the gyro with finer heading resolution and more reliable
calibration. The new
GyroCW
and
GyroCCW
FLASH parameters, with companion
CYROCALCW
(#38) and
GYROCALCCW
(#39) client commands, let you set the clockwise and counterclockwise configuration values separately (they tend to be
different) for computing heading. The FLASH-based values are more permanently associated with the platform and
much less likely to be changed or moved, as often happens with the mostly platform independent ARIA client software.
Set
HasGyro
to 2 in order to have ARCOS automatically use the gyro rate data to compute the
ThPos
heading and
XPos, YPos position values in the standard SIP, as well as automatically correct for platform misalignment due to
encoder-based rotations, such as if you manually rotate the robot without moving its wheels.
In all cases, the translation component for wheel velocities and position integration, and the rotational velocity, are
encoder-based. And, of course, you may choose to ignore the gyro and rely on entirely on the encoders for your
platform odometry. Consult the ARCOS Chapters 6 and 7 for more details.