image features at the beginning and at the end of the
movement are measured and the coefficients
⎟
⎟
⎠
⎞
⎜
⎜
⎝
⎛
∆⋅
∆
=
∆⋅
∆
=
∆⋅
∆
=
tq
enddisp
h
tq
leftendv
h
tq
uerror
h
mmm 2
32
2
22
2
12
_
,
__
,
_
&&&
(8)
are evaluated. The joint J2 is then pulled back to its
initial position, procedure that is repeated for J3 and
J1. Regarding the movement of the joint J1, as the
cameras are fixed to the manipulator base, it does
not result in any change in the position of the end-
effector in the image planes. Thus, it is necessary
that the object stays stopped in the space during an
experiment on the "Perception" mode, serving as a
reference to the base movements (landmark). It is
used the correspondence that the end-effector
movement, in this case, is equal to the inverse of the
object movement in the image planes, for the
calculation of the coefficients h
13
, h
23
and h
33
. It
should be observed that the position of the object is
not learnt, and the object can (actually it should) be
put in different positions on the running of various
experiments.
At the end of this initial training step, all the
coefficients of Ĥ would be estimated for the initial
positions of the manipulator and the object, thus
allowing knowing how to move the manipulator in a
rough way. Continuing in the "Perception" step, the
end-effector is commanded to get progressively
closer to the object, while allowing moving just one
of the first three joints in each iteration, in an
alternate way. For doing that, the control system
verifies if the coefficients h
11
, h
21
and h
31
of the
transformation matrix corresponding to the
addressed cell were not estimated, sending an
actuation command to the joint J3. Case this
estimation has been already performed, it verifies if
the parameters h
12
, h
22
and h
32
are missing, and sends
an actuation command to joint J2 if affirmative.
Finally, if the coefficients of both lines have already
been estimated, it alternates the commands of J3 and
J2. The articulation J1 is commanded between the
command of J3 and J2, since the movement of either
J3 or J2 does not change the position of the object.
Thus, new columns of coefficients of Ĥ are
generated and stored in the corresponding cells. If
there is a previous value for the estimated
coefficient, they are averaged with the new values,
before being updated. At the end of each
experiment, the columns of coefficients of the
transformation matrix in the data structures are
copied to files, thus allowing saving values which
are loaded to the data structures in the beginning of
another experiment, giving to the system the ability
of memorizing any estimated model.
3.2 Visuo-Motor Coordination
The values stored in the two data structures of the
incremental visuo-motor model can be used to
coordinate the manipulator. At the "coordination"
step the first three articulations of the manipulator
can be commanded simultaneously, together with J4,
which is moved in order to keep the claw
approaching the horizontal. In this step, however,
there will be no estimation of the coefficients of Ĥ.
The manipulator is initially commanded to its initial
position. The image features are measured, and it is
verified if all the coefficients of the cell addressed
by the end-effector ((h
11
, h
21
, h
31
) and (h
12
, h
22
, h
32
))
and the coefficients of the cell filled by the object
(h
13
, h
23
, h
33
), were estimated. If this has not
happened, the coefficients associated to the last
totally filled area that the manipulator and the object
passed by are adopted. This is a solution that
degrades the performance of the estimated model,
but it is expected to be very seldom when a great
number of experiments is run at the "Perception"
mode for various positions of the object placed on
the space of interest.
The desirable variations in the image features are
obtained starting from the expressions of
proportional control action. This means that
uerrorKuerror __
1
, (10)
leftverrorKleftendv ____
2
⋅=∆
, (11)
disperrorKenddisp __
3
, (12)
with
leftendleftobj
vvleftverror
__
__
, (13)
enddispobjdispdisperror _ _ _ −=
, (14)
rigobjendobj
uuobjdisp
__
_
. (15)
The proportional gains were experimentally
adjusted, resulting in K
1
= 0.20, K
2
= 0.22 and K
3
=
0.22. Then, the speeds of the motors corresponding
to the articulations are calculated through the
solution of the linear equations (
∆
t is 1 s)
⎪
⎩
⎪
⎨
⎧
∆=⋅+⋅+⋅
∆=⋅+⋅+⋅
∆=⋅+⋅+⋅
enddispqhqhqh
leftendvqhqhqh
uerrorqhqhqh
mmm
mmm
mmm
_
__
_
133232331
123222321
113212311
&&&
&&&
&&&
. (16)
Finally, each evaluated speed is match to one of the
speed levels shown in Table 1. The control system
recalculates the reference speeds in an interval of 0.5
s, until the characteristic errors are smaller than the
following thresholds (in pixels): (|error_u| = 10, -20
COORDINATION OF A PROTOTYPED MANIPULATOR BASED ON AN EXPERIMENTAL VISUO-MOTOR
MODEL
307