Activ
Media Robotics
13
P2OS command packet and sends them along the HOST serial communication port to
the robot’s servers. You may also use the functions provided by the Saphira plugin. See
later sections for details.
ARM_INFO and ARMINFOpac
P2OS maintains detailed information about each servo-driven joint, as well as connection
and power status with the Pioneer 2 Arm. Your client software may request that detailed
information with the
ARM_INFO
command number 70, which P2OS responds to with an
ARMINFOpac
SIP. See the
Pioneer 2 Operations Manual
for details about P2OS SIPs and
guidelines on how to write client-side packet decoders. Arm-related SIP decoders come
with both the provided ARIA code and the Saphira 6.2 plugin software.
Table 3. ARMINFOpac server information packet contents
Byte Value(s)
Description
1
0xA1
ARMINFOpac server information packet ID
2-n
string
NULL-terminated string containing the Pioneer 2 Arm’s version number
response, or “No arm” if not connected.
n+1
0-7
Number of Pioneer 2 Arm joints; default is six; 0 if no Arm.
n+2
0-127
Servo #1’s speed setting.
n+3
0-255
Servo #1’s home position setting.
n+4
0-127
Servo #1’s minimum position value.
n+5
~127
Servo #1’s center position value.
n+6
127-255
Servo #1’s maximum position value.
n+7
1-255
Servo #1’s ticks per 90 degree rotation value.
n+8 to n+50
…
Servo #’s 2-6 speed, home, minimum, center, maximum, and ticks/90deg
settings.
ARM_STAT and ARMpac
The
ARMpac
SIP provides current Pioneer 2 Arm servo position information as well as arm
status. Get one or a continuous stream (one per P2OS cycle) of
ARMpac
SIPs with the
ARM_STAT
command.
Table 4. ARMpac contents
Byte Value(s)
Description
1
0xA0
ARMpac server information packet ID
2 bit-
endcoded
status
Bit-encoded servo power (b
0
) and connection (b
1
) status; respective bit is set
(1) if servo power enabled or a connection established between Arm controller
and P2OS.
3 bit-encoded
status
Bit-encoded motion status for each servo-driven joint; bit set (1) if respective
joint in motion. Note that only bits 1-6 are active, corresponding to the current
Pioneer 2 Arm’s six servo motors and joints.
4-9
0-255 ea
Servos 1-6 current positions.