
1.2 Control and Software
engineering Interplay
A not less significant goal is the creation of an har-
mony between the computer science world and the
control engineering world. Not rarely, control engi-
neers are faced with obstacles arising from the pro-
gramming work required for controlling and driv-
ing hardware devices. The software architecture de-
scribed here allows a control engineer to forget about
issues related to device drivers, real time program-
ming, concurrencies or thread programming. Thus,
he/she only needs to concentrate on the specific con-
trol algorithm. As it will be seen, by using this
software platform, the designer is only faced with
the creation a ”module”, for which a template-based
methodology is used. This goal will result in a pro-
gramming time saving for the control designer and
thus the consequence of investing the whole energy
in the control design itself.
1.3 Existing Architectures
The generalized needs of facilitating efficient robotic
system designs and implementations resulted in
the development of several software architectures.
In (
`
Eve Coste-Mani
`
ere and Redi Simmons, 2000)
these general needs are formalized. Furthermore, the
importance of making the right architecture choice
is noted, and some architectures are compared and
contrasted.
Some architectures for robotic systems are very
complete packages which consider the overall struc-
ture for controlling a robot, including all possible
levels of competence in a robotic system (sensing,
mapping, modeling, planning, AI, task execution,
motor control, etc...) either in a hierarchical layered
style (Albu et al., 1988), in a behavioral one (Brooks,
1986), or in an hybrid one (Borrelly et al., 1998),
(Schneider et al., 1998), (RTI, 2004), (Volpe et al.,
2001). However these kind of architectures are more
appropriate for autonomous robot vehicles where
a control at high level or, alternatively, a Decision
Layer, as mentioned in (Volpe et al., 2001), is of high
importance.
Other architectures are not so concerned with
layered structures and emphasize instead the real
time operation as a sequence of control components
executed at a lower level. These architectures tend to
be simpler but more flexible (Scholl, 2001), (Stasse
and Kuniyoshi, 2000).
The DIMSART architecture shines for its simplic-
ity, flexibility and portability. It can be included to the
second group of architectures, but it is more focused
in the automatic control level. Furthermore, it can
be easily embedded in other architectures or systems
with almost any Linux/Unix operating system type:
Linux, Solaris, RTLinux, VxWorks.
The outline of this paper is as follows. We first
present, in section 2, a chapter dedicated to general
robotic control concepts with a particular scheme ex-
ample which will be used in the subsequent sections
to introduce the DIMSART architecture. We then de-
scribe the software platform and its main parts in sec-
tion 3. Section 4 introduces a complete experimen-
tal setup as a DIMSART configuration example. Fi-
nally, in section 5, some concluding remarks and fu-
ture lines are given.
2 ROBOT CONTROL
We will make use of a telepresence control scheme
example to focus our interest in three aspects: dis-
tributed control, the data flow and the definition of the
acting regions of our framework. Also in this chap-
ter, a more abstract view of a general robotic control
scheme will be introduced, and later it will be speci-
fied within the mentioned example.
2.1 Wave Variables Scheme as
Bilateral Control Example
In fig.2 a block diagram of a Wave Variable control
scheme can be seen. The Wave Variables Theory
is a common approach to minimize the degradative
effects of time-delayed communication channels
in telepresence systems. For detailed information
about this theory refer to (Niemeyer, 1996) and
(Artigas, 2003) . It is not the aim of this paper to
detail the control theory behind the scheme. Rather,
it is intended to be used as a reference point for the
DIMSART approach. We will refer to this example
in some of the following sections to give support to
the theoretical explanations of the architecture.
Figure 2: Global control software is decoupled from hard-
ware device, driver and communication
DIMSART: A REAL TIME - DEVICE INDEPENDENT MODULAR SOFTWARE ARCHITECTURE FOR ROBOTIC
AND TELEROBOTIC APPLICATIONS
103