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

Page 43
Image 43
Pioneer 2TM, 3TM Autoconfiguration SYNC2, Opening the Servers-OPEN, Keeping the Beat-PULSE, Closing the Connection-CLOSE