Systems and methods are presented that enable a higher-level software
application to control a robot's motion through a generic motion
interface. In one embodiment, a system includes a controller, an
interface, and a set of robot driver modules. The interface receives a
command from the controller and translates the command into another
command to send to the driver modules. The interface includes a client, a
server, and a network. The server includes two interfaces: a client
interface to communicate with the client and a driver interface to
communicate with the driver modules. The server also includes two
buffers: a command queue and a reply queue. The command queue stores
commands received from the controller (via the client). The reply queue
stores replies received from the driver modules.