r
, θ, B, F, τ
r
, θ, B, F, τ
static
yes
Graphical Object
r
, θ, F
r
static
no
Joint
r
, θ
r
, θ
static
no
Manual Input
r
, θ
-
static
no
Recorder
r
, θ, B, F, τ
r
, θ, B, F, τ
dynamic
yes
Switch-box
r
, θ, B, F, τ
r
, θ, B, F, τ
dynamic
yes
Monitor
-
r
, θ
static
no
WiiMot
θ, B
B
static
no
Falcon
r
, B
F
static
no
Digital I
/O
B
B
static
no
Table 6.1: Components and their assigned emitter and receiver ports
It is worth noting that during run-time the number and type of emitter and receiver
ports could be fixed (static) or could be configured by the user (dynamic). The user
interfaces this management scheme through a signal matrix which is continuously updated
in run-time. As shown in Figure 6.4 it could be considered a skewed representation of
connections in an interconnected block diagram. This window consists of all existing
objects at any given time as rows and columns. The rows exhibit all objects with emitters
while the columns exhibit all objects with receivers.
1
Even if the signals from a data-type point of view are identical: for instance position and force signals
90
6.4 Signal management
Ob.4
Ob.2
Ob.1
Ob.3
Ob.2
Ob.1
Ob.4
Ob.3
Ob.2
Ob.1
Ob.4
Ob.3
Emitters
Receivers
Objec
t.1
Object.3
OUTport
1
INport 1
OUTport
2
INport 2
INport 3
INport 4
Figure 6.4: Mapping the inputs
/outputs signals of interconnected blocks from a block
diagram scheme to a signal matrix scheme
91
6 Software Environment
Since an object can contain both emitting and receiving ports, it is common to see the same
object both in the rows and the columns. By clicking on the intersection between a row and
column another matrix-like window pops-up (channels) with a check-box corresponding
to each emitter port. For instance, if the user wishes to establish a connection between
the position from object no.1 to object no.2 in run-time, he only has to tick the check-box
corresponding to such a connection in the channels windows. It is important to note that,
a port can send its signals to several other ports, but it could only receive from one port.
However, the signal matrix becomes very complicated and increasingly error-prone for
large numbers of objects. Therefore, a signal configuration saving and loading mechanism
through the settings window as described in section 6.3.4 is available. Figure 6.5 shows a
real example of the proposed mechanism. In the top configuration, the robot1-wrist3 object
-which is a graphical representation of the robot- receives its position and orientation from
an external source (the UDP Connection object), while in the bottom configuration, the
robot1-wrist3 object receives its positions and rotations directly from manual user input
(the Manual Input object)
Figure 6.5: An example highlighting the flexibility of the signal matrix
6.4.3 Control module interfacing
To reduce the complexity of interfacing the control functionalities it is imperative to
redesign the interfaces between the system components. Since hardware interfaces are
usually specified in advance by the vendor, they remain to a large extent unaltered during
design and run-time. On the other hand, software and control components depend on the
92
6.4 Signal management
required functionality, architectural and structural design of the system. To accommodate
di
fferent needs, two types of interfaces are provided:
Signal
/parameter interface
Such an interface facilitates a direct and low-level access to the inner-most
control loops and its accompanying parameters (Figure 6.6). This gives the
operator unrestricted power over the workings of such laws, such that the
user dictates the parameters of a certain control law according to the needed
response and hence directly influences the outcome of the measured signals.
Although this could be preferable for experimenting with control strategies
and tuning their parameters, it nevertheless burdens the operator with many
low level control decisions which are not of real interest to him.
Manipulator
Force Sensor
Trajectory
Impedance
Compliance
Do'stlaringiz bilan baham: |