Software and Programming
Table 2. Pioneer Arm client-command set
C
LIENT
C
OMMAND
C
OMMAND
N
UMBER
V
ALUE
(
S
) D
ESCRIPTION
INFO
70
none
Request an ARMINFOpac server-information packet
STATUS
71
0, 1 or 2 Request one or a continuous stream of ARMpac
information packets; 0 stops continuous
INIT
72
none
Warm-reset the Pioneer Arm
CHECK
73
none
Has Arm servers check to make sure it’s still
responding to commands; reflects in status byte of
ARMpac.
POWER
74
0 or 1
Switches power off (0) or on (1) to all the Arm
servos
HOME
75
1-6 or >6 Sends all (>6) or specified joint (1-6) to the
HOME position
PARK
76
none
Sends all joints to their HOME positions and shuts
power off.
POS 77
two
bytes:
1-6, 0-
255
Sends joint (1st byte) to the position specified
in the 2nd byte, subject to end-limits specified
in FLASH parameters
SPEED 78 two
bytes:
1-6, 1-
127
Delay in milliseconds (2nd byte) between
incremental steps to control the speed and motion
of the joint (1st byte)
STOP 79
1-6
or
255
Stop the specified (1-6) or all (255) moving
joints
AUTOPARK
80
0-65535
Disable the autopark watchdog (0) or reset it to
some time in seconds other than default
AutoParkTimer in FLASH
GRIPPARK
81
0-65535
Disable the gripper watchdog (0) or reset it to
some time in seconds other than the default
GripperParkTimer
Once connected, you may query for status, current servo positions, and other salient information as
included in special arm server-information packets, as well as modify joint speeds. But the Pioneer
Arm will not move nor will the servers update joint positions unless your robot’s controller verifiably
has communication with the arm’s controller and the arm’s servo power is enabled.
There is a special warm-reset protocol your client must perform in the case that the Pioneer Arm
controller is not in contact with the robot’s controller when your client software requests to enable
servo power, or in the case that communication between them is lost during an active session.
Your client software must package arm commands into a special communication packet, and retrieve
and decode the Pioneer Arm-related server-information packet (SIP), as described in your robot’s
Operations Manual
and supported in part by various MobileRobots development software.
INFO and ARMINFOpac
The robot’s arm server software maintain detailed information about each servo-driven joint, as well
as connection and power status. Your client software may request that detailed information with the
INFO
client command #70, which prompts your robot controller to respond with an
ARMINFOpac
SIP.
See your
Operations Manual
for details about SIPs and guidelines on how to write client-side packet
decoders. Arm-related SIP decoders come with the provided ARIA software.
POWER
After establishing a client-server connection, you must send the client command #74 with argument
value of one to have power enabled to the Pioneer Arm’s servos in order to move its joints to positions
other than
HOME
.
If you subsequently tell the servers to disable power to your arm’s servos (command #
74,0
), or if your
client disconnects when the servos are enabled, the arm automatically returns to its
HOME
position and
disables servo power.
12