Accessory commands and packets, Packet processing, Ccessory – Pioneer 2TM User Manual
Page 49: Ommands and, Ackets
ActivMedia Robotics
Normally enabled (default was disabled in P2OS), change E_STALL by sending the
AROS command #56. With argument of zero, E_STALL gets disabled. An argument
value of one re-enables E_STALL.
A
CCESSORY
C
OMMANDS AND
P
ACKETS
Several types of alternative server information packets (SIPs) come with AROS to better
support the ActivMedia Robotics community. On request from the client by a related
AROS command, the AROS server packages and sends one or a continuous stream of
information packets to the client over the HOST serial communication line. Extended
packets get sent immediately after the standard SIP that AROS sends to your client every
SIP milliseconds (typically 100).
The standard SIP takes priority and gets sent as soon as the communication port is free
and the cycle timer expires. So you may have to adjust the communications baud rate
to accommodate all data packets in the allotted cycle time, or some packets may
never get sent.
Packet Processing
Identical with the standard SIP, all AROS server information packets get encapsulated
with a header (0xFA, 0xFB), byte count, packet type byte, and trailing checksum. It is up
to the client to parse the packets, sorted by type for content. Please consult the
respective client application programming manuals for details.
ARIA, for example, comes with a framework for packet parsing and has an internal
parser for the PSOS/P2OS/AROS packet type 0x3S (S=0-2; aka “standard” SIP), as well as
for some of the extended packets we describe in this section.
Table 8. CONFIGpac contents (AROS v1.5 and later)
LABEL
DATA
DESCRIPTION
HEADER
int
Common packet header = 0xfAFB
T
YPE
byte
IDs ENCODERpac = 0x20
B
YTE COUNT
byte
Number of following data bytes
R
OBOT
T
YPE
str
Typically
“Pioneer”
SUBTYPE
str Identifies
the ActivMedia robot model; e.g. “p3dx”,
S
ERIALNUM
str
Serial number for the robot.
4M
OTS
byte Antiquated (=1 if AT with P2OS)
R
OT
V
EL
T
OP
int
Maximum rotational velocity; deg/sec
T
RANS
V
EL
T
OP
int
Maximum translation speed; mm/sec
R
OT
A
CC
T
OP
int
Maximum rotation (de)acceleration; deg/sec
2
T
RANS
A
CC
T
OP
int
Maximum translational (de)acceleration; mm/sec
2
P
WM
M
AX
int
Maximum motor PWM (500=fully on).
N
AME
str
Unique name given to your robot.
SIP
byte Server information packet cycle time
H
OST
B
AUD
byte Baud rate for client-server HOST serial: 0=9.6k, 1=19.2k,
2=38.4k, 3=56.8k, 4=115.2k.
A
UX
B
AUD
byte Baud rate for AUX serial port 1; see HostBaud
GRIPPER
int
0 if no Gripper; else 1
FRONT SONAR
int
1 if robot has front sonar array enabled, else 0
REAR SONAR
byte 1 if robot has rear sonar enabled, else 0
L
OW
B
ATTERY
int
In 1/10 volts; alarm activated when battery charge falls
below this value.
R
EV
C
OUNT
int
Current number of differential encoder ticks for a 360
degree revolution of the robot.
W
ATCH
D
OG
int
Ms time before robot automatically stops if it has not
22
You may have to adjust the HOST serial baud rate to accommodate the additional communications traffic.
43