Hybrid Functional Machine Strategy to Avoid Singularities in

advertisement
Preprints of the 18th IFAC World Congress
Milano (Italy) August 28 - September 2, 2011
Hybrid Functional Machine Strategy to
Avoid Singularities in Underwater
Vehicle-Manipulator Systems ⋆
Carlos Henrique Farias dos Santos ∗ Edson De Pieri ∗∗
Robotics Research Group, Western Paraná State University, Foz do
Iguaçu, Paraná, Brazil (e-mail: chf.santos@uol.com.br).
∗∗
Automatic Systems Department, Santa Catarina Federal University,
Florianópolis, Santa Catarina, Brazil (e-mail: edson@das.ufsc.br)
∗
Abstract: In this paper, the problem of singularity avoidance to autonomous underwater
vehicle-manipulator system (UVMS) is addressed. For this purpose, an algorithm which explores
a hybrid approach with a functional machine as one of its states is adopted. This approach
imposes desired motions to the UVMS kinematic chain. The computer simulation results
demonstrate the beneficial characteristics of the proposed method.
Keywords: Functional Machine, Hybrid Systems, Singularity, Underwater Vehicle-Manipulator
Systems.
1. INTRODUCTION
The demand for advanced underwater robot technologies
is growing and will eventually lead to fully autonomous
underwater vehicle-manipulator systems (UVMS’s). This
autonomy is hampered by some difficulties that include
the system’s highly nonlinear dynamics, the poor knowledge of the hydrodynamic coefficients, the occean currents
disturbances and the subject of this work, the inherent
kinematicaly redundancy of such systems. This redundancy is caused by the additional degrees of freedom (dofs)
provided by the vehicle. It should be remarked that in
UVMS it is not always efficient to use vehicle thrusters to
move the system end-effector because of the difficulty of
controlling the vehicle in hovering Yoerger (1990).
In this paper the kinematic control of the UVMS is researched, in which the goal is to find a suitable vehicle/manipulator joints trajectories that correspond to a
desired end-effector trajectory. The output of this kinematic control provides the reference values to the dynamic
control law of the UVMS. The kinematic control independent of the dynamic control is considered as in Antonelli
(2003).
The most common ways to obtain the redundancy resolution are based on pseudoinverse approaches Antonelli
(2003). However, the use of the pseudoinverses introduce
dimensional inconsistencies Davidson (2004). Another approach is the augmented Jacobian, which could introduce
algorithmic singularities Antonelli (2003).
In order to address these issues, an algorithm that imposes
the vehicle velocities is proposed, which are chosen such
that the vehicle is kept at rest until a manipulator singularity vicinity is reached and is moved such that this
⋆ Thanks for financial support from Western Paraná State University, Itaipu Technological Park Cience and Technology and Santa
Catarina Federal University
Copyright by the
International Federation of Automatic Control (IFAC)
singularity is avoided. To this end, we introduce some
qualitative kinematic concepts as fundaments to our algorithm. This algorithm incorporates artificial intelligence
techniques combined with hybrid systems theory to avoid
singularity postures on the UVMS. These postures are
identified by a kinematic performance index which is supervised by an automaton. The automaton structure has
one of the states driven by a functional machine and the
other kinematic states are driven by a reflexive agent. The
switching between these states provides a kinematic behaviour to the UVMS such that its potential singularities
should be avoided.
The remainder of this paper is organized as follows. In
section 2 the kinematics of the UVMS using the concept
of virtual chain employed by the method of Davies is
described, which is used to obtain the inverse kinematics
of the UVMS and we define our problem. Next, section
3 provides preliminary concepts which are necessary to
define the functional machine structure. In section 4, a
hybrid automaton to complement the functional machine
effect is shown. Two simulation results are analysed in
section 5. The paper conclusions are presented in section
6.
2. UVMS KINEMATIC MODEL
In this section, we describe the UVMS kinematic model
using screws Davidson (2004) combined with the Davies’
method to represent its differential motion.
According to Davies (1981), the constraint equation of a
mechanism with movements in a d order screw system is
given by
N(d×Fb ) Ψ(d×1) = 0(d×1)
(1)
where N is the network matrix containing the normalized
screws with signs that depend on the circuit orientation,
5920
Preprints of the 18th IFAC World Congress
Milano (Italy) August 28 - September 2, 2011
Ψ is the magnitude vector and Fb is the gross degree
of freedom, i.e. the sumPof the degrees of freedom of all
mechanism joints (Fb =
fi ), with fi being the degree of
freedom of the ith joint.
The use of the constraint equation, Eq. 1, allows to calculate the passive joint velocities as functions of the active
joint velocities. The magnitude vector Ψ is rearranged in
d secondary or unknown magnitudes and FN primary or
.
known magnitudes Ψ , i.e. Ψ = [Ψ .. Ψ ]. Rearranging
s
p
the network matrix N(d×Fb ) coherently with the magnitude
division, where the secondary network sub-matrix Ns corresponds to the secondary joints and the primary network
sub-matrix Np corresponds to the primary joints.
This equation may be rewritten as Ns Ψs = −Np Ψp and
the joint space kinematics solution is given by
Ψs = −Ns−1 Np Ψp
(2)
In the case of an UVMS, the end effector motion description in a Cartesian frame may be obtained closing
the chain by introducing a virtual chain composed of
three prismatic joints ($e1 , $e2 , $e3 ) and a spherical joint
S($e4 , $e5 , $e6 ) (PPPS) between the base and the end
effector as in Fig.1. To obtain the inverse kinematics, we
specify the vehicle velocity magnitudes. This should be
done considering energy savings that result in keeping the
vehicle at rest. In this way, the primary matrix results
Np = [$̂v1 · · · $̂v6 − $̂rz · · · − $̂px ], where $̂i represents the
normalized screw of twist $. Consequently, the secondary
matrix is Ns = [$̂m1 · · · $̂m6 ]. This secondary matrix could
be inverted if it is full rank, i.e. if the kinematic chain is
not at a singularity.
$ m2
$
$ m3 $m4 m5
$m1
S ($ $ v5 $ v6 )
v4
$
e3
$ v2
$ v1
Y
Z
where J(q) is the Jacobian matrix of the manipulator. This
manipulability measure is easy to compute. However, its
numerical value does not constitute an absolute measure
to the actual closeness of the manipulator to a singularity.
Because of this, in this work we use a normalized index.
We define this index (named γ) as the absolute rate
between the determinant of the secondary matrix Ns ,
described in the Eq. 2 and the determinant value at some
singular vicinity given by qsv . The index results,
det(Ns ) γ=
(4)
det[Ns (qsv )] Equation 4 uses the per unit notation. This notation has
a vast application in electric power systems, where the
transformation constants are located at a reasonable numerical band. Moreover, at this band, the values correction
is quickly approached Fitzgerald (1971).
In terms of the vehicle motion necessity, if the index γ
is higher than unit value it means that the vehicle could
be kept at rest and, when γ is smaller than the unit, it
means that the vehicle needs to be moved. This leads
to a vehicle movement concept which must achieve the γ
recovery commitment when necessary and it is presented
in the next subsection.
According to Santos (2006) the end-effector velocity $E
can be expressed in a suitable coordinate screw system as
$E = $V + $M
(5)
S ($ e4 $ e5 $ e6)
$ e2
X
The closeness of a manipulator singular configuration
could be measured by a performance index as the manipulability measure Yoshikawa (1985) or other indices Park
(2002). The manipulability measure is usally defined as,
ω = |det(J(q)|
(3)
3.2 Kinematic reactivation
$ m6
$ v3
3.1 A normalised kinematical performance index
$ e1
Fig. 1. UVMS’s closed kinematic chain
As pointed out before, keeping the vehicle at rest should
lead the manipulator kinematic chain to reach a singular posture during the task performance. This could
be avoided by moving the vehicle conveniently. However,
given some particular initial conditions, the vehicle movement is not enough to avoid singularity postures. In this
sense, it is necessary to modify the current primary and
secundary UVMS joint arrangement, i.e. to change the
current kinematic state.
3. QUANTITATIVE KINEMATIC CONCEPTS
To obtain a vehicle motion specification in order to avoid
vicinity of singularities and avoid discontinuities, we introduce the kinematically quantitative concepts described in
this section.
where, $V and $M are the vehicle and manipulator velocity
respectively. In order to overcome potential singular configurations we propose that the specified vehicle velocity
is taken proportional to the end effector desired velocity,
that is $V = α$E , where α is a reflex agent that makes
the system react even if the performance index detects a
vicinity of a singularity. This reflex agent is defined as the
inverse of the system performance and is given by α = γ1 .
To reduce the energy consumption, we intend to move the
vehicle only when the manipulator reaches a vicinity of
singularities and keep it at rest in any other situation. This
may introduce a discontinuous behaviour that should be
avoided.
An avoidance of this discontinuity using a functional
machine which includes some system kinematic knowledge
is proposed, more specifically, the kinematic regulation
index (ω̂) described in the next subsection.
3.3 Kinematical regulation
The regulation concept is a usual subject in power electric
systems theory and our goal is to adjust it to kinematic
5921
Preprints of the 18th IFAC World Congress
Milano (Italy) August 28 - September 2, 2011
control applications. For the sake of clarity, first is shown
how the regulation concept is used in electric problems.
For electric generators the regulation is defined as
VN L − VF L
,
VR=
VF L
(6)
where V R, VF L and VN L are the percentage voltage
regulation and the terminal voltage with full load and no
load, respectively. Eq. 6 shows, by a relative way, how
much the voltage of the system changes when a load
is employed, i.e. it informs the percentual voltage that
must be developed by the generator to restore the original
voltage Kosow (1972).
Likewise in the case of electric power systems, we adopt
here analogous concepts that are applied in kinematical systems Santos (2006). We first establish a physical
meaning of the kinematical performance by a regulation
to measure the singularity approach. This measurement
to consider the vicinity of singularities, detected by the
index of kinematical performance γ, as a load applied to
the kinematical system. In this case, γ is reciprocal to
the situation where the kinematical system supports a
singularity load (γ ≡ VF L ). In the other side, the reflexive
agent α is reciprocal to the situation where the kinematical
system its free of singularity loads (α ≡ VN L ). Thus, an
analogy between the electric system regulation and the
kinematical system regulation is give by,
α − γ ,
(7)
ω̂ = γ where ω̂ is the kinematic regulation index. Intuitively, Eq.
7 measures the size of the action to avoid the singular
configuration and it will be used as the weight of the
functional machine designed in the next section.
4. FUNCTIONAL MACHINE
4.1 The functional construction
weight (vector W). The output weights are added to
determine the level of function activation, this added to
a threshold, θp , known as polarization or bias. The output of the
Pn computer unit can be expressed as follows:
s = f ( i=1 wi xi + θp ), where f should be any activation functions, including the hyperbolic tangent and the
sigmoid functions. The polarization θp works as a reactive
agent, which is presented with more details in the next
subsection.
θp
y1
x1
y2
x2
ym
xn
input layer
output layer
hidden layer
Fig. 2. Functional Machine topology
Figure 2 shows a topology of a Functional Machine,
where the linear combination of functions is organized into
layers. The functions that receive inputs from the machine
(x1 . . . xn ) form the input layer, the last function is the
output. The functions between the input layer and the
output form the middle layer.
4.2 Polarization surface
The polarization agent θp governs the vehicle movement
in order to avoid unnecessary motions. The polarization
proposed is given by a finite state machine based on the
polarization surface showed in Fig. 3 Santos (2006).
The functions can be manipulated in a variety of ways
in functional programming. Functions are first-class variables, which means that functions can be parameters or
input values to other functions and can return values or
output of a function Cousineau (1998). Thus, a combination of functions can be done in order to approach a new
role materializing the solution of the problem.
γ
γ
max
1
γ
tol
Therefore, a program can be seen as an implementation
of the function f , which is a mathematical entity that
works like a machine, receiving raw inputs and returning
the final outputs. In this sense, the purpose of this work
is to solve the problem of driving the vehicle through
a functional machine. This machine consists of several
functions, linearly combined, describing the UVMS movement. The monitoring of the rest and motion conditions
is developed by a reactive agent, incorporated into the
functional machine structure.
The basic computational unit of functional machine are
interconnected by connections with variable values called
weights. Essentially, a set of inputs (vector X) is applied
to a function, each representing an output of another
function. Each input is multiplied by a corresponding
Fig. 3. Polarization surface
This figure presents the performance index γ and the
corresponding reflexive agent α time histories, the vicinity
of singularities (γ = 1) and the limits γmax and γtol .
The corresponding finite state machine has three states,
namely: S1 is the rest state, in which the vehicle is kept at
rest while (γ ≥ 1); S2 is the acceleration state, in which
the vehicle is moved while (γ < 1) until the performance
reaches some value higher or equal the unit named γaccel ,
i.e. while (γ < γaccel ); S3 is the deceleration state, in
which the vehicle is decelerated while γ < γmax since
sgn(1 − α) > 0. This last one is a safe condition in which
the signum of (1 − α) is measured to foresee if the vehicle
has to mantain the deceleration or it has to come back
5922
Preprints of the 18th IFAC World Congress
Milano (Italy) August 28 - September 2, 2011
to the acceleration state S2. The finite state machine is
showed in Fig. 4.
A hybrid automaton, is a finite state machine with discrete
states {q1 , q2 , . . . , qn }, in which each discrete state has
associated continous dynamics ẋ = f (qi , x, u), with x ∈
Rn , and external inputs u ∈ U .
YES
S1
γ> 1
NO
S2
NO
γ < γaccel
YES
γ < γmax
5.2 Hybrid Automaton
Definition: A hybrid automaton is a collection M =
(L, X, A, W, E, Inv, Act), where the symbols have the following meanings van der Shaft (2000):
YES
• L : is a finite set, called the set discrete states. They
are the vertices of a graph.
• X : is the continuous state space of the hybrid
automaton in which the continuous state variables x
take their values.
• A : is a finite set of the symbols which serve to label
the edges.
• W : is the continuous communication space in which
the continuous external variables w take their values.
• E : is a finite set of edges called transitions (or
events).
• Inv : is a mapping from the locations L to the set of
subsets of X.
• Act : is a mapping that assigns to each location
l ∈ L a set of differential-algebriaic equations Ft . The
solutions of these differential-algebriaic equations are
called the activities of the location.
NO
YES
sgn( 1 − α) > 0
S3
NO
Fig. 4. Finite state machine
4.3 Functional machine control formulation
Finally, using our proposed mathematical model of the
vehicle activation, equation $V = α$E is replaced by
$V = sα$E ,
(8)
wherePs is the sum of functional machine (FM) outputs
(s =
yi ), α is the reflexive agent and $E is the column
vector of the end-effector velocities. However, over some
bad initial conditions, the vehicle movement is not enough
to avoid singularity postures and to overcome this drawback, a hybrid automaton approach as complementary
strategy is adopted.
−1
ϕ = −[Ns ] [Np ] ϕ
p
s
q
ε
0
5. MODELING SINGULARITY AVOIDANCE AS
HYBRID AUTOMATON
−1
ϕ = −[Ns ] [Np ] ϕ
p
s
ε
q
We present in this section a hybrid automaton model of
singularity avoidance.
−1
ϕ = −[Ns ] [Np ] ϕ
p
s
q
5.1 Singularity Avoidance Models
We assume that each UVMS task is a sequence of movements from the initial kinematic state to one or until three
of the following states:
• Kinematic state 1 : In which the singularity of the
original kinematic state is avoided by other state with
det(Ns ) as a combination of joints that include the
joints of the previous state.
• Kinematic state 2 : In which the singularity of the
original kinematic state is avoided by other state
with det(Ns ) independent of the joints of the previous
state.
• Kinematic state 3 : In which the singularity of the
original kinematic state is avoided by other state
independent of joints, det(Ns ) = 1 for example.
In this paper we consider the singularity avoidance as the
choice of the kinematic state of maximum performance
index, i.e. (γmax ), when the current performance is below
of a given tolerance (γtol ).
1
β
2
Fig. 5. Singularity avoidance system as a hybrid automaton
One possible UVMS singularity avoidance, which will be
simulated in the next section, can be modeled by the
automaton of Fig. 5. The finite set is L = {q0 , q1 , q2 },
which states are defined as follows: q0 is the state in
which the vehicle movement is imposed by the FM, q1
works as a kinematic state 3, in which the vehicle moves
as a secondary joint set and in the state q2 the vehicle
movement is imposed by a polynomial interpolating law
to keep the current position, for the energy savings. The
continuous state A is (Ψs ) ∈ R2 and the continuous
communication space W is γ. The finite set of edges E
is composed of ǫ, β wich defined (γ < γtol ) and (γ > 1),
respectively.
The idea of finding the next kinematic state is to simulate
the motion until a violation of the constraint γtol . If
5923
Preprints of the 18th IFAC World Congress
Milano (Italy) August 28 - September 2, 2011
such an event occurs, a search is made to find the jth
kinematic state which has γmax or an unit performance
(γ = 1) as in kinematic state 3. Once it has been
established, the transition between the kinematic states
is developed from the initial conditions of time, position,
velocity and aceleration, respectively: ξi = [ ti pi vi ai ] in
the kinematic state of maximum performance. However,
it is necessary to define a rule to conduct the current
primary joint. In this work, this strategy applies the
reflexive agent α to the initial position of the ξi . This
condition develops a polynomial interpolating law position
of ξf = [ tf pf vf af ], and since that (vf = af = 0), the
final position is
pf = α j p i ,
(9)
where αj is the reflexive agent of j state αj = 1/γj .
Intuitively, αj works as a maneuver factor of the joint.
The next section presents simulation results of this hybrid
automaton applied to an UVMS.
6. CASE STUDY
We consider an UVMS with six degrees of freedom, i.e. a
manipulator with three dofs mounted on the vehicle.
φ
q
2
φ
In the following, two groups of simulations related with
a UVMS kinematic model will be presented, i.e. only the
kinematic model will be considered and dynamics effects
are not considered. The first mission consists a path of 2πr
in a deformed circle, where its center is located 1.25 meters
to right and 0.5 meters above from end-effector. In the
second mission, a path of 3πr in a deformed circle, where
its center is located 1.25 meters to the right from endeffector is considered. In both cases, simultaneously, the
vehicle aligment fore aft direction with the ocean current
of 0.78 rads is pursued. The duration of the simulations is
60 seconds.
Figure 7 shows that the index γ reaches values above
of γtol , hence the functional machine is enough to avoid
singularities. When this last happens, the vehicle returns
to a primary state which drives the vehicle to keep its
current position. Figure 8 exposes the smooth actuation
of the vehicle, while in Fig. 9 the joints positions and
velocities are smooth and safe of discontinous behaviour.
e
q
3
q
1
ye
y
this case, we admit the boundaries of the polarization
surface as γmax = 1.42 and γtol = 0.65. The vehicle
deceleration begins when the performance is higher than
γaccel = 1.05. In the kinematic
state (q1 ), the primary
vector is composed by, Ψp = ẋe ẏe φ̇e q̇1 q̇3 φ̇ , while
the secondary vector is, Ψs = [ ẋ ẏ q̇2 ] . As stated before,
this choice results in the unitary determinant of the
secundary matrix det[Ns3 ] = 1. The kinematic state (q2 )
has a primary vector composed by the same way of state
(q0 ), but the vehicle movement is imposed by a polynomial
interpolating law to keep the current position, for the
energy savings.
10
x
8
1.5
xe
4
[u]
[m]
6
1
2
0
0.5
γ
α
−2
−4
Fig. 6. Kinematic chain of the UVMS in the XY plane
5
10
20
t(s)
40
60
Fig. 7. UVMS and performance for first mission
2
0.3
1.5
[m],[rad]
The implemented functional machine is constructed with
one input layer with one computational unit, a hidden
layer with two computational units and an output layer
with only one computational unit. FM inputs are: α and
kα − γmin k.
In the original kinematic state (q0 ), the primary vector
is composed
by the end-effector
and vehicles magnitudes,
Ψp = ẋe ẏe φ̇e ẋ ẏ φ̇ while the secondary vector is the
manipulator dofs, Ψs = [ q̇1 q̇2 q̇3 ]. This choice results
in the following determinant of the secondary matrix
det[Ns ] = a1 a2 sin(θ2 ), where a1 and a2 are the first and
the second links lenghts of the manipulator and θ2 is the
angle of the second joint. It can be easily seen that the
maximum value of det[Ns ] occurs when sin(θ2 ) = 1. The
singularity vicinity is established as θsv = 0.78 rad. In
[m]
1
x
y
φ
0.5
0
0
xp
yp
φp
0.2
[m/s],[rad/s]
This vehicle movement is equivalent to the virtual kinematic chain xyφ as the vehicle dofs in the horizontal XY
plane. To close this open chain a virtual kinematic chain
xe ye φe is employed to represent the end-effector movement
as shown in Fig. 6.
0
0
0
20
t(s)
40
0.1
0
−0.1
60
−0.2
0
20
t(s)
40
60
Fig. 8. Vehicle: position and velocity for first mission
Figure 10 shows that γ reaches values below of γtol , hence
the switch to other states is necessary. When this last
happens, the switching to the kinematic state 3, where
the vehicle is secondary until γ takes the unit value again.
Figure 11 exposes the smooth actuation of the vehicle,
5924
Preprints of the 18th IFAC World Congress
Milano (Italy) August 28 - September 2, 2011
ACKNOWLEDGEMENTS
0.3
2
0.2
1
0.1
rad/s
rad
3
0
q1
q2
q3
−1
This work has been supported by ”Western Paraná State
University” (UNIOESTE), ”Itaipu Technological Park
Cience and Technology” and ”Santa Catarina Federal University” (UFSC), Brazil.
0
−0.1
−0.2
−2
q1p
q2p
q3p
−0.3
−3
0
20
t(s)
40
60
−0.4
0
20
40
t(s)
REFERENCES
60
Fig. 9. Joint: position and velocity for first mission
while in Fig. 12 joints positions and velocities are smooth
and safe of discontinuous behaviour.
10
8
1.5
4
[u]
[m]
6
1
2
0
0.5
γ
α
−2
−4
0
[m]
5
0
0
10
20
t(s)
40
60
Fig. 10. UVMS and performance for second mission
5
0.5
x
y
φ
0.3
3
2
1
0
0
xp
yp
φp
0.4
[m/s],[rad/s]
[m],[rad]
4
0.2
0.1
0
−0.1
20
t(s)
40
60
−0.2
0
20
t(s)
40
60
Fig. 11. Vehicle: position and velocity for second mission
3
0.4
Antonelli, G. (2003). Underwater Robots, Motion and
Force Control of Vehicle-Manipulator Systems. Springer
Tracts in Advanced Robotics, Germany.
Cousineau, G.; Mauny, M. (1998). The Functional Approach to Progamming. Cambridge University Press,
U.K.
Davidson, J.K.; Hunt, K. (2004). Robots and screw theory.
Oxford University Press, U.K.
Davies, T. (1981). Kirchhoff’s circulation law applied to
multi-loop kinematic chains. Mechanism and Machine
Theory, 16, 171–183.
Fitzgerald, A.E.; Kingsley Jr., C.K.A. (1971). Electric
Machinery. McGraw-Hill, USA.
Kosow, I. (1972). Electric machinery and transformers.
Prentice-Hall, USA.
Park, T-W, Y.H.S. (2002). A study on singularity avoidance and robust control of redundant robot. Proceedings
of 4 World Congress on Intelligent Control and Automation.
Santos, C.H. dos, G.R.D.P.E. (2006). A reactive neural network to redundancy resolution for underwater
vehicle-manipulator systems. Proceedings of IEEE International Conference on Robotics and Automation.
van der Shaft, A. J.; Schumacher, J.M. (2000). An
Introduction to Hybrid Dynamical Systems. Spriger,
USA.
Yoerger, D.R., C.J..S.J.J. (1990). The influence of thruster
dynamics on underwater vehicle behavior and their
incorporation into control system design. IEEE Journal
of Oceanic Engineering, 15, 167–178.
Yoshikawa, T. (1985). Manipulability of robotic mechanisms. Int. J. Robotics Research, 3–9.
2
0.2
rad/s
rad
1
0
−0.2
−1
q1
q2
q3
−2
−3
0
0
20
t(s)
40
q1p
q2p
q3p
−0.4
60
−0.6
0
20
t(s)
40
60
Fig. 12. Joint: position and velocity for second mission
7. CONCLUSIONS
A singularity avoidance resolution for UVMS’s based in
specifying the velocities joints of its kinematic chain according to a kinematical performance index is presented.
The method is based on a hybrid system model as complemental strategy to an initial functional machine. Simulation results shows that the proposed resolution scheme is
efficient, since the commitments to avoid singular postures
and keep the continuity of the all velocity joints of the
UVMS are achieved.
5925
Download