Pioneer 2 operating system – Pioneer 2 User Manual

Page 32

Advertising
background image

Pioneer 2 Operating System

26

Pioneer 2 Operating System

All Pioneers use a client/server robotics architecture developed by Dr. Kurt Konolige, including the Pioneer
2 Operating System (P2OS; see Figure 6-1). In the model, the server works to manage all the low-level
details of the mobile robot’s systems. These include operating the motors, firing the sonar, collecting sonar
and motor encoder data, and so on

all on command from and reporting to a separate client application,

such as Saphira or Ayllu.

With this client/server architecture, high-level robotics applications developers do not need to know many
details about a particular robot server, because the client typically insulates them from this lowest level of
control. Some of you, however, may want to write your own robotics control and reactive planning
programs, or just would like to have a closer programming relationship with your robot. This chapter
explains how to communicate with Pioneer via the P2OS client/server interface. The same P2OS functions
and commands are supported in the various client-programming libraries accompanying Pioneer.

Experienced Pioneer users can be assured that P2OS is directly upwardly compatible with PSOS, imple-
menting all the same commands and information packets. P2OS, of course, extends the servers to add new
functionality, improve performance, and provide additional information about the robot's state and sensing.
Hence, P2OS-specific programs may not operate on Pioneer 1s or ATs.

Figure 6-1. The architecture of Saphira’s client-robot server

Communication Packet Protocol

P2OS communicates with a client application using a special packet protocols: command packets from
client to server, and server information packets (SIPs) from the server to client. Both are bit streams
consisting of four main elements (Table 6-1): a two-byte header, a one-byte count of the number of
command/data bytes, the client command and its arguments or the server information data, and finally, a
two-byte checksum.

Advertising