43
ARCOS supports a
GRIPPERpac
(type=224; 0xE0) packet type and related
GRIPREQUEST
command #37 to retrieve
setup and status information from the servers.
Normally disabled, your client program may request one or a continuous stream (command argument greater than one)
of Gripper packets. Send
GRIPREQUEST
with the argument value zero to stop continuous packets.
GRIPPERpac GRIP_STATE byte
B
IT
M
EANING WHEN SET
(1)
G
0
Paddles open¹
R
1
Paddles close¹
I
2
Paddles moving
P
3
Gripper error
L
4
Lift up¹
I
5
Lift down¹
F
6
Lift moving
T
7
Lift error
Note that the Gripper status information bits may also may be obtained from the respective
DIGIN
and
DIGOUT
values
of the standard SIP as related to the User I/O port states. See
Appendix A
for connection details.
H
EADING
C
ORRECTION
G
YRO
With the gyroscope accessory, your client software (ARIA 1.3 and later) or ARCOS itself (ARCOS 2.0 and later) may
detect and compensate for robot heading changes that aren't detected by the encoders, such as from slipping wheels.
The microcontroller supports the gyro via attachment to its AN6 and AN7 analog-to-digital input ports.
To enable the gyro, you must set the
HasGyro
FLASH parameter to either value one for client- or two for server-side
management using the ARCOScf tool (see next chapter). Set it to zero if the gyro isn't attached or you want to disable
the gyro.
ARCOS collects and averages 10-bit (0-1023) gyro rate and 8-bit (0-255) temperature data over a 25 millisecond time
period—the bandwidth of the gyro. When not moving, the gyro rate is centered around 512 or so, depending on the
gyro's temperature and other calibration factors which drift with use and should be corrected on the fly. Values below
that center point indicate counterclockwise rotation rates; values above the resting center measure clockwise rotation
rates. The gyro rate maximum is 300 degrees per second.
L
ABEL
D
ATA
D
ESCRIPTION
header
int
Exactly 0xFA, 0xFB
byte count
byte
Number of data bytes + 2 (checksum)
type
byte
Packet type = 0xE0
hasgripper
byte
Gripper type: 0=none; 1=Pioneer; 2=PeopleBot
grip_state
byte
See
below.
grasp_time
byte
Ms time controls grasping pressure.
checksum
integer
Computed checksum