The software architecture has a client-server structure and is based
on the following modules, all running simultaneously:
- a Web server
- a Servlet server with various Servlets
- one or more Grab server
- one or more Telelab server
- a client module for every user (Applet java)
There are a
Grab server and a Telelab server installed for every experimental
The Web server
(Apache server for Linux) manage the remote accounts and the web
(and its server, Tomcat 5 for Linux) control the connections to
all the experimental systems and manage the activities of all the
Grab and Telelab servers allowing a remote interaction with
the robots. Every system available for remote experimentation is
connected to the Servlet by the TCP/IP protocols. This means that
the systems can be located everywhere, with any significance for the
telelab. The Servlet is also necessary to allow the access of more
users simultaneously to the telelab, even if every robot can be
controlled only by a user at once.
The Grab server
controls a webcam, managing directly the grabbing of the frames.
The Grab server also produces a video in MPEG format starting from
the collected frames.
With a webcam and the Grab server the user can monitor in real time
the evolution of the experiments and download an MPEG video to analyze
it off line.
server controls the activities of the phisycal systems, running
the real time code of the controller and managing the remote access
to the systems. The Telelab server also logs the data of some variables
of interest for the specific experiment (like the links velocities
or positions and the motors currents) and yields them available
for a download.
The next figure
shows the software architecture of the telelabratory. The Web server
and Servlet server are joined together under the name server Web.