Pioneer 2TM Robotics User Manual


 
ActivMedia Robotics
Autoconfiguration (SYNC2)
AROS automatically sends robot configuration information back to the client following
the last synchronization packet (SYNC2). The configuration values are three NULL-
terminated strings that comprise the robot’s FLASH-stored name, class, and subclass.
You may uniquely name your ActivMedia robot with the FLASH configuration tool we
provide. The class and subclass are constants normally set at the factory and not
changed thereafter. (See next chapter for details.)
The class string typically is Pioneer. The subclass depends on your robot model; P2D8
or P2AT8, for example. Clients may use these identifying strings to self-configure their
own operating parameters. ARIA, for instance, loads and uses the robot’s related
parameters file found in the special Aria/params directory.
Opening the Servers—OPEN
Once you’ve established a connection with AROS, your client should send the OPEN
command #1 (no argument; 0xFA, 0xFB, 0x03, 0x01, 0x00, 0x01) to the server, which
causes the ActivMedia robot controller to perform a few housekeeping functions, start its
various servers, such as for the sonar and motor controllers, listen for client commands,
and begin transmitting server information to the client.
Note that once connected, your robot's motors are disabled, regardless of their state
when last connected. To enable the motors after starting a connection, you must either
do it manually (press the black MOTORS/TEST button) or have your client send an ENABLE
client command #4 with an integer argument of 1 (0xFA, 0xFB, 0x06, 0x04, 0x3B, 0x01,
0x00, 0x05, 0x3B).
Keeping the Beat—PULSE
A safety watchdog expects that, once connected, your robot’s controller receives at
least one communication packet from the client every watchdog seconds (default is
two). Otherwise, it assumes the client-server connection is broken and stops the robot.
Some clients—ARIA-based ones, for instance—use the good practice of sending a PULSE
command #0 (no argument; 0xFA, 0xFB, 0x03, 0x00, 0x00, 0x00) just after opening the
AROS servers. And if your client application will be otherwise distracted for some time,
periodically issue the PULSE command to let your robot server know that your client is
indeed alive and well. It has no other effect.
If the robot shuts down due to lack of communication with the client, it will revive upon
receipt of a client command and automatically accelerate to the last-specified speed
and heading setpoints.
Closing the Connection—CLOSE
To close the client-server connection, which automatically disables the motors and other
server functions like sonar, simply issue the client CLOSE command #2 (no argument;
0xFA, 0xFB, 0x03, 0x02, 0x00, 0x02).
Once connected, send the ENABLE command
or press the white MOTORS button on the User Control Panel
to enable your robot’s motors.
37