Singularity Avoidance in Redundant Robots Using ... - IEEE Xplore

1 downloads 0 Views 813KB Size Report
Singularity Avoidance in Redundant Robots Using Hybrid Automaton. Carlos Henrique dos Santos, Guilherme Bittencourt, Raul Guenther and Edson De Pieri.
Proceedings of the 2006 IEEE International Conference on Control Applications Munich, Germany, October 4-6, 2006

FrB08.2

Singularity Avoidance in Redundant Robots Using Hybrid Automaton Carlos Henrique dos Santos, Guilherme Bittencourt, Raul Guenther and Edson De Pieri

Abstract— We investigate in this work the possibility to solve the problem of singularity in redundant robotic systems using a hybrid automaton model. In this way, an index of kinematic performance as method of singularity verification is introduced. Simulation results of a planar redundant manipulator shows that the method is promising.

I. I NTRODUCTION Recently, a great variety of applications of redundant robots is being identified. These activities incorporate actions from non-manufacturing applications, such as underwater, nuclear, medical until fire fighting and emergency rescue operations. The research in this type of robotic system is a recent subject, in this way, it is faced with some challenges. The singular configurations, that the robotic manipulator can reach during some task execution is one of them. In this sense, many research efforts to avoid the singularity problem in redundancy resolution has been developed. The most common ways to obtain the redundancy resolution are based on pseudoinverse approaches [3]. However, the use of the pseudoinverses introduces dimensional inconsistencies [6]. Another approach is the augmented Jacobian, which could introduce algorithmic singularities [3]. A possible singularity avoidance solution would be a system in which a switching to a safe condition is necessary. This approach considers the system as a hybrid dynamical system consisting of a family of continuous-time subsystems and a rule that governs the switching between them. The hybrid phenomenon captured by such mathematical models occurs in a great diversity of complex engineering applications, including air-traffic control, automotive control, robotics, automated manufacturing, and chemical process control [1]. Moreover, the last years have seen considerable research effort in both computer science and control theory directed at the study of mixed discrete and continuous systems [2], [13]. In view of this, we believe that a singularity avoidance strategy could be modeled as a hybrid system. In this work an algorithm that incorporates hybrid system theory to avoid singularity postures is proposed. These postures are identified by a kinematic performance index which is supervised by an automaton. Each automaton state This work has been supported by Conselho Nacional de Desenvolvimento Cient´ıfico e Tecnol´ogico (CNPq), Brazil. Carlos Henrique dos Santos, Guilherme Bittencourt and Edson De Pieri are with Department of Automation and Systems, Federal University of Santa Catarina, University Campus, Trindade, CEP 88040-900, Florianpolis SC, Brazil carlosh,gb,[email protected] Raul Guenther is with the Department of Mechanical Engineering, Federal University of Santa Catarina, University Campus, Florianpolis SC, Brazil [email protected]

0-7803-9796-7/06/$20.00 ©2006 IEEE

is driven by a reactive action that controls some manipulator joints. The other joints are controled by constraint polynomial interpolating laws. The switching between these states provides a kinematic behavior to the robot such that its potential singularities are avoided. The remainder of this paper is organized as follows. In section II we describe the kinematics of the redundant robots using the concept of virtual chain employed by the Davies method, which is used to obtain the inverse kinematics. Next, section III provides preliminary concepts that are necessary to define kinematic performance and the hybrid automaton model. In section IV, we describe the proposed hybrid automaton to avoid singularities in the robot according to a kinematic performance index variation. Simulation results are shown and analysed in section V. The paper conclusions are presented in section VI. II. T HE DAVIES M ETHOD According to [5], the algebraic sum of relative velocities of kinematic pairs along any closed kinematic chain is zero. Representing the velocity of link i relative to link (i − 1) by the twist $ni , this law establishes that for a closed kinematic chain, i=1 $i = 0, where n is the number of links of the closed chain and 0 is a zero vector with dimension corresponding to the twists dimension. According to the normalized definition [14] this equation may be rewritten n screw ˆ as i=1 $i Ψi = 0, where ˆ$i represents the normalized screw of twist $i and Ψi corresponds to the velocity magnitude of the twist i. This last one is the constraint equation which, in general, could be written as N Ψ = 0,

(1)

where N is the network matrix containing the normalized screws whose signs depend on the screw definition on the closed circuit orientation, and Ψ is the magnitude vector. A closed kinematic chain has active (or actuated) joints, here named primary joints, and passive joints, here named secondary joints. The constraint equation, Eq. 1, allows to calculate the secondary joint velocities as functions of the primary joint velocities. To this end, the constraint is rearranged highlighting the primary and the secondary joint velocities and Eq. 1 can be rewritten as follows: ⎤ ⎡ Ψs .. (2) [Ns . Np ] ⎣ · · · ⎦ = 0, Ψp where Np and Ns are the primary and secondary network matrices, respectively, and Ψp and Ψs are the corresponding primary and secondary magnitude vectors, respectively.

2854

This equation may be rewritten as Ns Ψs = −Np Ψp and the joint space kinematics solution is given by Ψs = −Ns−1 Np Ψp .

(3)

A. The virtual kinematic chain concept The virtual kinematic chain, virtual chain for short, is essentially a tool to obtain information about the movement of a kinematic chain or to impose movements on a kinematic chain [5]. In this paper, we use the virtual kinematic chain concept introduced by [4], who defines a virtual chain as a kinematic chain composed by links (virtual links) and joints (virtual joints) satisfying the following three properties: a) the virtual chain is open; b) it has joints whose normalized screws are linearly independent; and c) it does not change the mobility of the real kinematic chain. With the goal of using the Davies method, the next section presents a virtual kinematic chain composed by two prismatic (2P) and one rotative (R) joints used to close an open-loop chain in order to obtain information about the end-effector motion in a planar Cartesian frame and to impose movements to the real kinematic chain. B. Example of application to the robot 2P4R The objective of inverse kinematics is to find joint trajectories that correspond to a desired end effector trajectory. The end effector motion description in a Cartesian frame may be obtained closing an open kinematic chain by introducing a virtual chain between the base and the end effector. One example of this methodology is shown in Fig. 1, where an open kinematic chain 2P4R (x, y, φ, q1 , q2 , q3 ) is closed by the virtual chain 2PR (xe , ye , φe ) which represents the end-effector movement and provides the Davies method application. In this case, regarding the circuit orientation indicated in Fig. 1, the closed-loop chain network matrix is given by  N= ˆ $x ˆ $y ˆ $φ ˆ $q1 ˆ $q2 ˆ $q3

Fig. 1.

−ˆ $ φe − ˆ $ye − ˆ$xe

 (4)

Closed kinematic chain of the 2P4R manipulator

where ˆ $i represents the normalized screw of twist $. The corresponding magnitude vector is Ψ = [Ψx Ψy Ψφ Ψq1 Ψq2 Ψq3 Ψφe Ψye Ψxe ]

(5)

To obtain the inverse kinematics, we select the velocity of the kinematic pairs magnitudes as the components of the secondary magnitude vector Ψs and velocity magnitudes corresponding to the operational space (virtual kinematic pairs) as the components of the primary magnitude vector Ψp . In this case, the primary matrix results Np = [−ˆ$φe − ˆ$ye − ˆ $xe ] and $q2 ˆ $q3 ]. the secondary matrix results Ns = [ˆ$x ˆ$y ˆ$φ ˆ$q1 ˆ To avoid the typical drift related to numerical integration of the end-effector velocity vector, a closed-loop version can be adopted in the form.

Ψ∗e = Ψ∗φe Ψ∗ye Ψ∗xe

(6)

where Ψ∗e = Ψe +K(ξd −ξ), in which ξd and ξ are the desired and the current end-effector position vectors respectively. To calculate the secondary pairs magnitudes, we need to invert the secondary matrix. By observing the matrix Ns , it becomes clear that this matrix cannot be inverted because it has six columns and only three rows. This drawback may be overcomed by specifying six supplementary velocity magnitudes. This should be done considering energy savings that result in, keeping prismatic joints at rest for example and imposing an appropriated orientation to the rotative joint φ according to task. Therefore, this velocity magnitudes are chosen as the following primary matrix results Np = [ˆ$x ˆ$y ˆ$φ − ˆ$φe − ˆ$ye − ˆ$xe ] and the secondary matrix is Ns = [ˆ$q1 ˆ$q2 ˆ$q3 ]. This secondary matrix can be inverted if it is full rank, i.e. if the kinematic chain is not at a singularity. This work has the proposal to overcome the singularity problem in redundant manipulators through a simple change between primary and secondary joints using a hybrid automaton model. Meanwhile, the next section presents preliminary concepts to our hybrid singularity avoidance development. III. BACKGROUND To obtain a vehicle motion specification in order to avoid singularity vicinities and avoid discontinuities, we introduce the kinematically qualitative concepts described in this section. A. A normalised kinematical performance index The closeness of a manipulator singular configuration could be measured by a performance index as the manipulability measure [15] or other indices [9]. The manipulability measure is usually defined as ω = |det(J(q)|, 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. 3 and the determinant value at some singular vicinity given by qsv . The index results, det(Ns ) . γ= (7) det[Ns (qsv )]

2855

Equation 7 uses the per unit notation. This notation has several applications in electric power systems, where the transformation constants are locate at a reasonable numerical range. Moreover, at this range, the values correction is fastly approached. Another advantages of the per unit notation are the design and performance informations about the equipment [7]. This index will be used to enable the transition event between states of our hybrid automaton. However, a previous concept is necessary and it is presented in the next subsection. B. Reactive kinematic control In this work, we consider that the reactive kinematic control makes the system reacting when the performance index detects a vicinity of a singularity. This control could be represented as the inverse function of the kinematic performance index γ given by α=

1 . γ

(8)

This control will be used as a maneuvering strategy that provide the final point that the primary joint must to be maneuvered. C. Hybrid systems A basic hybrid dynamical system is one whose state may either evolve continuously for some duration of time according to one set of differential equations or be abruptly reset to a new value from which evolution is governed by another set of differential equations, with the switches typically triggered by the occurrence of some discrete event [1]. Some hybrid approaches use hybrid automaton or supervisory control. A (basic) hybrid automaton is a closed system with a “built in” control structure determining when and how the system switches between its various discretes modes, where the continuous behavior in each discrete mode is governed by a vector differential equation (or differential inclusion). In contrast, the supervisory control perspective on hybrid systems retains a clear separation between plant and control [1]. In this work we use the hybrid automaton formalism and the next section shows how to model each kinematic state of the redundant robotic system. IV. M ODELING S INGULARITY AVOIDANCE AS H YBRID AUTOMATON A. Singularity Avoidance Models In this section a methodology to singularity avoidance is presented. This methodology takes into account the redundant robotic system movement composed by a sequence of states. Which one of these states has a particular arrangement of primary and secondary joints and termed by kinematic states. These kinematic states are based on a preliminary stage, where possible secondary joint combinations are arranged in j secondary matrices (Nsj ). One of these matrices is chosen as the initial kinematic state, i.e. the secondary matrix at the task beginning (Ns0 ). In the sequence, the initial kinematic

state determinant is calculated det(Ns0 ) = f0 (θk ), where f0 (·) is the function of the k joints, which to compose the determinant result. On the other hand, the (j − 1) remaining secondary matrices are classified based on its determinant result according to the initial kinematic state. In this sense, we assume that each robot task is a sequence of movements from the initial kinematic state (Ns0 ) to one or until three of the following set of kinematic states: • Kinematic states of type 1 : The determinant of the secondary matrices are joint functions that has joints from previous kinematic state det(Ns1 = f1 (θp , θk )), where p = k. Besides to include θk , these states could has a complementar determinant algebraic expression compared to previous state, i.e. f0 = sin(θk ), while f1 = cos(θp , θk ). • Kinematic states of type 2 : The determinant of the secondary matrices are joint functions that do not include joints from the previous kinematic state det(Ns2 ) = f2 (θp ). As the previous case, these states could have a complementary determinant algebraic expression compared to previous state, i.e. f0 = sin(θk ), while f2 = cos(θp ). • Kinematic states of type 3 : In which the singularity of the original kinematic state is avoided by other set of states independent of joints, det(Ns ) = 1 for example. This kind of state happens typicalally in kinematic chains that has prismatic joints as mobile manipulators. In this paper we consider the singularity avoidance as the choice of the kinematic state of maximum performance index (γmax ) between the states of the same type when the current performance is below of a given tolerance (γtol ). On the other hand, the alteration of type of kinematic states occurs if the performance sum of states of same type reaches the major safe value between the types of kinematic states ( γi = γsaf ). The next section shows the modeling formalism of hybrid automaton which is used in our approach. B. Hybrid Automaton A hybrid automaton is a finite state machine with discrete states {q1 , q2 , . . . , qn }, in which each discrete state has associated continuous dynamics x˙ = f (qi , x, u), with x ∈ Rn , and external inputs u ∈ U . Definition: A hybrid automaton is a collection M = (L, X, A, W, E, Inv, Act), where the symbols have the following meanings [12]: • 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).

2856

• •

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-algebraic equations Ft . The solutions of these differential-algebraic equations are called the activities of the location.

π

q

−1 ϕ = −[Ns ] [Np ] ϕ p s q

q

3

q

−1 ϕ = −[Ns ] [Np ] ϕ p s q

π

Fig. 3.

α

−1 ϕ = −[Ns ] [Np ] ϕ p s q

1

α θ

Fig. 2.

1

α

Hybrid automaton with three kinematic states

γmax . Once it has been established, the transition between the kinematic states is developed from the initial conditions of time, and acceleration, respectively:

position, velocity ξ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 control α 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

α

0

β

β

2

q

π

π

θ

−1 ϕ = −[Ns ] [Np ] ϕ p s

−1 ϕ = −[Ns ] [Np ] ϕ p s

3

β

θ

0

β

β

−1 ϕ = −[Ns ] [Np ] ϕ p s

π

α

−1 ϕ = −[Ns ] [Np ] ϕ p s

Hybrid automaton with four kinematic states

pf = αj pi , According to the previous section, the robot singularity avoidance can be modeled by the simplified hybrid automaton of Fig. 2. The finite set is L = {q0 , q1 , q2 , q3 }, whose states are defined as follows: q0 is the initial state that some joints movement is imposed by a polynomial interpolating law to keep the current position, for the energy savings. q1 works as a kinematic state 1, with det(Ns ) as a combination of joints that include the joints of the initial state. In the state q2 , det(Ns ) is a function of joints, without the joints of the initial state. On the other hand, in the state q3 the singularity of the original kinematic state is avoided by a joint independence, det(Ns ) = 1 for example. The finite set of the symbols A composed of β, α, θ and π to label the finite set of edges E which is defined respectively by, (γ0 = γmax ), (γ1 = γmax ), (γ2 = γmax ) (γ3 = γmax ), where γi is the performance of the state i, γmax is the maximum performance value between the states. The secondary joints computation Ψs provides the continuous space X. Besides, the interaction between Ψs and E provides the hybrid automaton activities. Another possible hybrid automaton model is showed in Fig. 3. In this case, the definitions are the same, except that the finite set is L = {q0 , q1 , q3 } and the finite set of edges E is composed of β, α and π which is defined respectively by, (γ0 = γmax ), (γ1 = γmax ) and (γ3 = γmax ). The idea of finding the next kinematic state is to simulate the motion until a violation of some constraint. In this case, this constraintcould be (γi = 1) for the kinematic states q0 , q1 , q2 or ( γi = γsaf ) for the kinematic state q3 , i.e. the constrain happens if the performances sum of the other states reaches a safe value γsaf . If such an event occurs, a search is made to find the ith kinematic state which has

(9)

where αj is the reactive control 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 a redundant manipulator composed of two prismatic and four rotational joints (2P 4R). V. C ASE S TUDY In this section we compare our approach in two situations; the first one models the system as a hybrid automaton with three kinematic states including the initial state (see Fig. 3), while the second one models the system as a hybrid automaton with four kinematic states including the initial state (see Fig. 2). To illustrate the performance of our hybrid approach the serial manipulator 2P4R in Fig. 1 is used. The first link of the manipulator has a length of 2.5 meters, while the other has 2 meters. The initial length of the prismatic joints x and y is 1 meter. As pointed out in section 2, we adopt the original kinematic state q0 composed by the end-effector and the virtual kinematic chain xyφ, Ψp =



Ψ∗xe

Ψ∗ye

Ψ∗φe

Ψx

Ψy

Ψφ



.

(10)

while the secondary vector has the three remaining rotational joints, Ψs =



Ψq1

Ψq2

Ψq3



.

(11)

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 lengths of the manipulator

2857

10

and θ2 is the angle of the second joint. It can be easily noted that the maximum value of det[Ns ] occurs when sin(θ2 ) = 1. The singularity vicinity is establish as θsv = 0.78 rad. The kinematic state q1 has the primary and secondary vectors composed as follows,

8

[m]

6

4

2

0

−2 −2

Ψp =



Ψx

Ψq2

Ψs =

Ψφ

Ψ∗φe

Ψy

Ψq1

Ψ∗xe

Ψq3

Ψ∗ye





Ψq3

Ψy

Ψs =



Ψφ

Ψ∗φe

.

.

Ψx

Ψq1

Ψ∗xe

Ψq2





4

Fig. 4.

,

.

(14)

Fig. 5 shows that the index of the initial kinematic state γ0 reaches a value below of unit, hence the switching to the kinematic state 1, since its index γ1 is the higher performance when this event happens. However, after some seconds other switching is necessary, since that γ1 takes values below of the unit value. In view of this, the kinematic state 3 with γ3 is enable until the performance sum of the kinematic states reaches a safe value γsaf = 2.2. When this last happens, the robotic system returns to the initial kinematic state, since this state has the maximum performance at this moment. This state drives the prismatic joints to keep its current position by a quintic polynomial interpolating law. Each one of the previous events are detached by arrows as follows.

(15) −7

Ψs =

Ψ∗φe

Ψx

Ψq1

Ψy

Ψq3

Ψq2



Ψφ



[m]

rad/s2

5

1 γ0 γ1 γ3

0.5

0 0

Fig. 5.

,

x 10

6

5

10 t(s) 15

20

4 3 2 1 0 0

25

5

10 t(s) 15

20

25

Performances states evolution and end-effector position error

(16)

(17)

. This choice results in an unitary determinant of the secondary matrix, det[Ns3 ] = 1, that is independent of joints, as noted before. Although the choice of other kinematic states with equivalent features is possible, we will limit to the previous ones just to validate our theory. On the other hand, additional states make the system more robust to the singularities. In this task the end-effector has to track a segment of 2 m along x and, after a steady state, has to track a segment of 1.5 m along y. Simultaneously, the orientation φ to aline in the direction of 0.52 rads as detached in Fig. 4. The duration of the simulation is 25 s. The simulations uses a integration step of 2.10−3 seconds with the Euler method and developed with the SIMULINK - MATLAB software version 6.1.

Even in Fig. 5, the position error shows the transition effect to the end-effector virtual kinematic chain which is overcomed by the closed loop control K = 1. Fig. 6 exposes the smooth actuation of the kinematic chain xyφ. On the other hand, Fig. 7 shows the joint q2 crossing the singularity of the original kinematic state and the continuity of joint velocities, respectively.

2858

4

1

xp yp φp

0.8

3

0.6 [m/s],[rad/s]

Ψ∗ye

7

1.5

[m],[rad]

Ψ∗xe

10

A. 3 kinematic states

This choice results in the following determinant of the secondary matrix det[Ns ] = a1 cos(φ + θ1 ). In this case, det[Ns ] is an combination of the joints that exclude the joint from the initial kinematic state q2 . The singularity vicinity is established as (φ + θ1 )sv = 1.15 rad. In the kinematic state q3 , the primary and secondary vectors are composed by,

8

Planar view of the 2P4R system

2

Ψp =

6

(12)

(13)

Ψ∗ye

2

[m]

This choice results in the following determinant of the secondary matrix det[Ns ] = a1 sin(φ + θ1 ) + a2 sin(φ + θ1 + θ2 ). In this case, det[Ns ] is an combination of the joints of the initial kinematic state q0 and the joint of the current state. The singularity vicinity is establish as (φ + θ1 )sv = (φ + θ1 + θ2 )sv = 0.5 rad. The kinematic state q2 has the primary and secondary vectors composed as follows, Ψp =

0

2 x y phi

1

0.4 0.2 0

−0.2

0 0

Fig. 6.

5

10

t(s)

15

20

25

−0.4 0

5

10

t(s)

15

20

25

Prismatic and orientation joint positions and velocities

0.4

1.5

1.5

0.3

q1 q2 q3

1

1

0

−0.2

−2 0

5

Fig. 7.

10

t(s)

15

−0.4 0 25

20

5

10

t(s)

15

20

−1.5 0

25

Fig. 10.

Time hystory of the joint’s positions and velocities

B. 4 kinematic states An analysis of the hybrid automaton model of Fig. 2 shows, as before, that the initial kinematic state γ0 reaches a value below of unit, hence the switching to the kinematic state 1. However, after some seconds other switching is necessary again, since that γ1 takes values below of the unit value too. In view of this, the kinematic state 2 with γ2 is enabled since its performance has the maximum value between the other kinematic states. Each one of the previous events are detached by arrows in Fig. 8. 4

2

γ0 γ1 γ 2 γ

rad/s2

1.5

3 [m]

2

1

10

t(s)

15

20

0 0

25

5

10 t(s) 15

20

25

Performances states evolution and end-effector position error

As detached as before, Fig. 8 shows the closed loop control K = 1 actuation to overcomes the transition effect over the end-effector virtual kinematic. Fig. 9 shows that the prismatic movement is reduced since a fifth order interpolator polynomial law impose that the current position is keeping. As noted in the previous case, the proposed transition technique preserves the velocities continuity as showed in Fig. 10. 5

3 2

0.2 0

−0.2

1

Fig. 9.

u v r

0.4 [m/s],[rad/s]

[m],[rad]

0.6

x y phi

4

5

10 t(s) 15

20

25

−0.4 0

10

t(s)

15

20

25

−0.4 0

5

10

t(s)

15

20

25

Time hystory of the joint’s positions and velocities

This work has been supported by “Conselho Nacional de Desenvolvimento Cient´ıfico e Tecnol´ogico” (CNPq), Brazil R EFERENCES

1

5

−0.3 5

ACKNOWLEDGMENT

x 10

3

0.5

−0.2

between kinematical states according to its performances. Simulation results shows that the proposed resolution scheme shows satisfactory, since that the commitments to avoid singular postures and keep the continuity of all velocity joints of the robot are achieved. Moreover, we believe that this model can be used as a complementary strategy to other redundancy resolutions such as collision avoidance.

−7

2.5

0

−0.1

−1

q1p q2p q3p

−1.5

0 0

0

−0.5

−1

Fig. 8.

rad/s

rad

q1 q2 q3

−0.5

0 0

0.1

0.5

0

rad/s

rad

0.5

q1p q2p q3p

0.2

0.2

5

10 t(s) 15

20

25

Prismatic and orientation joint’s positions and velocities

VI. C ONCLUSIONS

[1] J.M.Davoren, A.Nerode “Logics for Hybrid Systems”, Proceedings of the IEEE in Hybrid Systems: Theory & Applications, vol. 88, NO. 7, 2000, pp. 985-1010. [2] S.Engell and R. Sivan, Modeling, Analysis and Design of Hybrid Systems,Springer, 2004, LNCS. [3] Antonelli, Gianluca; Underwater Robots, Motion and Force Control of Vehicle-Manipulator Systems, Springer tracts in advanced robotics, 2003. [4] Campos, Alexandre; Martins, Daniel; Guenther, Raul “Unified Differential Kinematics of Serial Manipulators”, Proceedings of the X DINAME, SP Brazil, March 2003. [5] Davies, T.H.; Kirchhoff’s circulation law applied to multi-loop kinematic chains Mechanism and Machine Theory, vol. 16, pp. 171-183, 1981. [6] Davidson, J.K., Hunt, K.H.; Robots and screw theory, Oxford University Press, 2004. [7] Fitzgerald, A.E.; Kingsley Jr., Charles; Kusko, Alexander; Electric Machinery, McGraw-Hill, 1971. [8] Hunt, K.H., “Robot Kinematics - A Compact Analytic Inverse Solution for Velocities”, in Trans. ASME, Journal of Mechanisms, Transmissions and Automation in Design, vol. 109, pp. 42-49, March 1987. [9] Park, T-W, Yang, H-S “A Study on Singularity Avoidance and Robust Control of Redundant Robot”, Proceedings of 4 World Congress on Intelligent Control and Automation, Shangai, P.R.Chine, June 2002. [10] Santos, C.H. dos, Guenther, R., “The Inverse Kinematics of Underwater Vehicle-Manipulator Systems”, technical report, Robotics Laboratory, Santa Catarina Federal University, March 2004. [11] Santos, C.H. dos, Guenther, R., “Inverse kinematics of the underwater vehicle-manipulator systems using kinematic constrains”, in 11th IEEE Int. Conf. on Methods and Models in Automation and Robotics, Miedzyzdroje Poland, August 2005. [12] A.V.D.Shaft, H.Schumacher, An Introduction to Hybrid Dynamical Systems, Springer-Verlag, 2000. [13] C.Tomlin, I.Mitchell, R. Ghosh, “Safety Verification of Conflict Resolution Maneuvers”, in IEEE Transactions on Intelligent Systems, VOL. 2, NO. 2, June 2001. [14] Tsai, L.-W., Robot Analysis: the Mechanics of Serial and Parallel Manipulators, John Wiley & Sons, New York, 1999. [15] Yoshikawa, T. ; “Manipulability of Robotic Mechanisms”, Int. J. Robotics Research, 4(1) 3-9, 1985.

We have presented a method of singularity avoidance for redundant robots based on a hybrid strategy. Method switches 2859