Robot Control near Singularity and Joint Limit Using ... - SAGE Journals

1 downloads 0 Views 2MB Size Report
least-square inverse Jacobian matrix was proposed to. Hyejin Han and Jaeheung Park: Robot Control near Singularity and Joint. Limit Using a Continuous Task ...
ARTICLE International Journal of Advanced Robotic Systems

Robot Control near Singularity and Joint Using Continuous Task RobotLimit Control near a Singularity Transition Algorithm and Joint Limit Using a Continuous Task Transition Algorithm Regular Paper Hyejin Han1 and Jaeheung Park1, 2, 1 Graduate

School of Convergence Science and Technology, Seoul National University, Republic of Korea Institutes for Convergence Technology, Republic of Korea  [email protected] Hyejin Han1 and Jaeheung Park1,2,*

2 Advanced

1 Graduate School of Convergence Science and Technology, Seoul National University, Republic of Korea 2 Advanced Institutes for Convergence Technology, Republic of Korea * Corresponding author E-mail: [email protected] Received 29 Dec 2012; Accepted 31 May 2013 DOI: 10.5772/56714 ∂ 2013 Han and Park; licensee InTech. This is an open access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Abstract When robots are controlled in the task space, singularities and joint limits are among the most critical and difficult issues that can arise. In this paper, we propose a new approach for the robots to operate in the regions near singularities and joint limits using the operational space control framework. Specifically, a continuous task transition algorithm called the intermediate desired value approach is applied to the hierarchically structured controller in the operational space control framework. In this approach, new tasks are defined for dealing with singularities and joint limits, and the tasks are activated or deactivated using the continuous task transition algorithm to guarantee the continuous execution of the tasks during the execution of the main task. The proposed approach is implemented on a 6-DOF manipulator called Roman-MD. The experimental results demonstrate its performance near the singular regions and joint limits. Keywords Joint Limit Avoidance, Singularity, Operational Space Control, Task Transition

1. Introduction The workspace of robots is limited by singularities and joint limits. When robots are controlled by task space www.intechopen.com

Figure 1. When robots operate in a human environment they can encounter singularities and joint limits during the execution of their tasks.

control algorithms, it is necessary to handle singularities and joint limits during the execution of tasks so as to perform the tasks successfully (Figure 1) [1]. There have been various approaches to operating robots near singularities and joint limits in task space control. To deal with singularities in the kinematic control, a damped least-square inverse Jacobian matrix was proposed to Hyejin Han and Jaeheung Park: Robot Control Singularity and Joint Int. j. adv. robot. syst., near 2013, Vol. 10, 346:2013 Limit Using a Continuous Task Transition Algorithm

1

resolve the singularity problem [2–4]. It provided an approximate solution when the robot was close to a singular position. Later, the transpose of the Jacobian was used instead of the inverse, which also approximates the solution [5, 6]. In addition, a redundancy-control method based on a task-priority strategy was proposed as a means of kinematic control [7–9]. This approach allows robots to move near or even pass through singular configurations. Moreover, a method is proposed to control the robot to stop and switch its controller when it is detected that the robot is near a singular region in a kinematic control scheme [10, 11]. On the other hand, there have been few studies on this issue in the framework of operational space control. Some of the solutions were specifically designed for the singularity types on PUMA560 robots [12, 13]. Meanwhile, to overcome the problem of joint limits, a method was proposed based on a weighted least norm solution for a redundant robot in the kinematic control [14, 15]. The weighted least norm solution was also compared with the gradient projection approach [16], showing that the weighted least norm method can avoid unnecessary self-motion and oscillation when the correct magnitude of self-motion is used. In line with redundancy resolution algorithm, quadratic programming (QP) methods have been proposed in the kinematic control [17] and the QP-based dynamical system approach has been developed [18]. For the operational space control framework, a typical solution is to use the classical potential field approach [19]. However, it is often difficult to select appropriate gains because the selection depends on the configuration and the controller of the existing tasks. Moreover, it was pointed out that the potential field methods have some problems such as local minimum and oscillations [20–22]. A solution for dealing with unilateral constraints, including both singularity and joint limit, was proposed for the kinematic control [23, 24], which modifies the null-space projection matrices for continuous control law during the transition among multiple tasks. This approach was further developed to be applied in the operational space control framework [25]. Similarly, a method using continuous null space projections was proposed for torque-controlled robots [26]. Both of the methods are based on the modification of the null space projection matrix and limited in the use of multiple hierarchical structures. Recently, a task transition approach called the intermediate desired approach was proposed to deal with task transition among multiple tasks in kinematic control [27] and was further developed to be used in the operational space control framework [28]. This approach is different from the previously mentioned approaches [25, 29] in that the desired values are modified while the control structure remains the same. Additionally, multiple constraints and tasks can be performed with multiple levels of priorities, which is important when dealing with joint limit avoidance, singularities and tasks in different priorities. In this paper, the problems of singularity and joint limit avoidance are resolved by this intermediate desired value approach in the operational space control framework.

2

Int. j. adv. robot. syst., 2013, Vol. 10, 346:2013

The main contribution of this paper compared to our previous works is that the present study provides complete details pertaining to issues relating to singularity and joint limit tasks during the implementation of the intermediate desired value approach in the operational space while also demonstrating its feasibility via its performance on a physical robot. The main idea of using the intermediate desired value approach when dealing with singularities and joint limits is first to define the tasks corresponding to the singularities and joint limits, and then to insert or remove these tasks while the main task of the robot is executed. The intermediate desired value approach provides a smooth transition among multiple tasks with or without a hierarchy. Specifically, constraint tasks, such as joint-limit-avoidance tasks, are provided with high priority over the primary task in order to conduct tasks accurately and to maintain uninterrupted transitions with a continuous task transition algorithm. This approach is implemented both in simulation and on a physical robot which is a 6-DOF manipulator called Roman-MD. In the experiments of joint limit avoidance, the proposed approach is compared with the potential field approach [19]. Then, the operation of the robot is demonstrated approaching near singularity and coming back to the initial position. Finally, the control of the robot is performed in the configuration near both joint limit and singularity. The paper is organized as follows. First, the task transition algorithm in the operational space control framework is summarized in Section 2. Second, stability during transitions is discussed in Section 3. Singularity and joint limit avoidance using the task transition algorithm are presented in Section 4 and 5, respectively. The experimental results are plotted and discussed in Section 6. The paper is concluded in Section 7. 2. Continuous Task Transition Approach We approach the problems of handling singularities and joint limits by applying a continuous transition algorithm [27]. In the following sub-sections, we first recall a hierarchical control structure in the operational space control framework and then introduce a continuous task transition approach. 2.1. Hierarchical Control Structure When a robot is controlled in the operational space control framework, the task space dynamics is described as follows: [30] Λt x¨ t + µt + pt = Ft ,

(1)

and Λt = (Jt A−1 JtT )−1 µt = Λt (Jt A−1 b − J˙ t q˙ ) pt = Λ t J t A

−1

(2)

g.

Here, q, A, b and g are the vectors of the joint angles, the joint space mass/inertia matrix, the Coriolis/centrifugal www.intechopen.com

torque, and the gravity torque, respectively. The terms Jt , Λt , µt , pt and Ft are the Jacobians corresponding to the task xt , the task space inertia matrix, the vector of Coriolis/centrifugal forces, the vector of gravity forces, and the control force for this task. The control torque for control of the task can then be composed using the task dynamics [30]. Γt = JtT Ft = JtT {Λt ft∗ + µt + pt }

= JtT Λt {ft∗ + ηt + ζt } = JtT Λt f˜t ,

and

ηt = Λt−1 µt ,

ζt = Λt−1 pt .

(3)

(4)

In these equations, ft∗ is the control input for the unit mass system for the task xt . At this point, when the robot has a constraint task, such as a joint limit avoidance task, we consider the constraint task as xc and the primary task as xt in a hierarchical structure. In other words, the command torque for the primary task is controlled in the null space of the constraint task as follows [30],

= =

+ NcT Γt + NcT (JtT Ft )

NcT = I − JcT J¯ cT J¯ cT

=

(7)

Λt|c x¨ t + µt|c + pt|c = Ft

(8)

−1

(9)

pt|c = Λt|c Jt A−1 g.



Jt1 Jt2



,

f˜ti =



i f˜t1 i ˜ ft2



NcT = I − JcT J¯ cT

Λt−|c1 = Jt Nc A−1 NcT JtT .

(13)

(14)

(15)

The intermediate values are defined by

f˜ci = hc f˜c + (1 − hc )Jc A−1 Γ∗[/c]

i f˜t1 = ht1 f˜t1 + (1 − ht1 )Jt1 A−1 Γ∗[/t1]

(16)

i f˜t2 = ht2 f˜t2 + (1 − ht2 )Jt2 A−1 Γ∗[/t2] .

These equations provide a continuous transition among prioritized tasks when the task xc is inserted at a higher priority. The activation parameters hc , ht1 and ht2 change from 0 to 1 continuously for a smooth transition when the task is inserted, whereas they change to 0 when the task is removed. The term Γ∗[/n] denotes the torque input using the intermediate desired value excluding the n task: Γ∗[/c] = JtT Λt f˜ti

(17)

i T = ht1 f˜t1 + (1 − ht1 )Jt1 A−1 Jt2 ht2 Λt2 f˜t2 f˜t1

(18)

where

Using the equations of motion in the constraint and task spaces, the control forces Fc and Ft can be formulated as follows: Fc = Λc fc∗ + µc + pc = Λc f˜c (10) ∗ ˜ Ft = Λ t | c ft + µt | c + pt | c = Λ t | c ft . (11) If the two equations are combined, the control torque for the hierarchical task set is Γ = JcT Λc f˜c + NcT JtT Λt|c f˜t .

Γ = JcT Λc f˜ci + NcT JtT Λt|c f˜ti Jt =

and

Λc x¨ c + µc + pc = Fc

µt|c = Λt|c (Jt A−1 b − J˙ t q˙ )

i T = ht2 f˜t2 + (1 − ht2 )Jt2 A−1 Jt1 ht1 Λt1 f˜t1 . f˜t2

In the equations above, in order to compute Γ∗[/c] , we need to consider task xt1 and xt2 , which have the same priority level. On the other hand, in the cases of Γ∗[/t1] and Γ∗[/t2] , we take into account task transitions with priority. Therefore, Γ∗[/t1] can be computed as

(12)

When a constraint with a high priority is added or removed, the torque command switches between (3) and (12). The task transition approach is introduced in the next section to resolve the issue of a discontinuity in such cases. www.intechopen.com

For one typical example, we consider the execution of one constraint task with two tasks with equal priorities: xc , xt1 and xt2 . By applying the intermediate desired value approach, the term f˜c is modified to f˜ci as follows:

(6)

A−1 JcT Λc

Λt|c = (Jt Nc A−1 NcT JtT )

In addition, for dealing with singularity, some parts of an existing task can be selected for removal, in which case the task removal or insertion transition is at the same hierarchical level as the existing task. Moreover, we need an algorithm to deal with operations that avoid both joint limits and singularities simultaneously.

(5)

where Jc and Jt are the Jacobians corresponding to the constraint and primary tasks, respectively. The matrix J¯ c is the dynamically consistent inverse of the Jacobian Jc . The terms Fc and Ft are the control forces corresponding to xc and xt , respectively. The term NcT is the null space projection matrix of the constraint task. The dynamics in the constraint and task space can then be derived [30]:

where

The continuous task transition algorithm known as the intermediate desired value approach is applied for a smooth transition when new tasks are inserted or removed. A joint limit avoidance task, for example, can be created with a high priority level while a primary existing task is executed. Therefore, we can revise equation (12) by applying the intermediate desired value approach.

where

Γ = Γconstraint + Γtask JcT Fc JcT Fc

2.2. Task Transition Approach for both Prioritized Tasks and Non-prioritized Tasks

where

T i Λt2|c f˜t2 Γ∗[/t1] = JcT Λc f˜ci + NcT Jt2 T ht2 Λt2 f˜t2 f˜ci = hc f˜c + (1 − hc )Jc A−1 Jt2

i f˜t2 = ht2 f˜t2 + (1 − ht2 )Jt2 A−1 JcT hc Λc f˜c .

(19)

(20)

Hyejin Han and Jaeheung Park: Robot Control near Singularity and Joint Limit Using a Continuous Task Transition Algorithm

3

Lower limit

3. Stability During Transition

Now, the stability during transition is discussed in this section. The intermediate desired value approach is applied to the control inputs f˜c and f˜t in (12), which correspond to constraint and task. During transition, the intermediate desired values of the control inputs, f˜ci and f˜ti , are computed using (16). Each intermediate desired value of the control input in (16) is composed of two parts: the control input of the constraint or task itself and the effect from the control of other constraints or tasks. They are scaled down by hc or ht , and (1 − hc ) or (1 − ht ), respectively. As the activation parameter decreases, the control of the constraint or task itself diminishes. That is, the DOF of the system used for the control of the corresponding constraint or task is gradually used by the other constraints or tasks. Considering this constitution of the sub-systems, their stability depend on each controller with the control input of the constraint or task itself. In this paper, a PD control is designed for each sub-system, which behaves as a unit mass system by using the operational space control framework if not in transition [31]. The proportional and derivative gains can be chosen to have critically damped responses for each unit mass system. Then, when the task is in transition, the effect of using the activation parameters is to decrease the proportional and derivative gains with the same ratio. Therefore, the response of each system in transition becomes over-damped with a lower bandwidth. Since the system becomes over-damped, the system is still stable with the comprised bandwidth of the task. 4. Joint Limit Avoidance As stated in the Introduction section, there has been much research on implementing stable operation near joint limits or on avoiding joint limits. The task transition approach can also be very effective in the application of a joint limit avoidance scheme in the operational space control framework. We need to manage the robot so that it moves within the range of joint movement while the main task xt is performed. This can be accomplished by inserting a joint limit avoidance task as a new task with a higher priority level than the other tasks when one of the joints comes close to its lower or upper joint limits. We set the joint limit buffer regions considering each joint limit, and a new task of avoiding the joint limit is created within this buffer region considering the range of joint motion [27]. In this buffer region, we treat the formation and destruction of joint limit avoidance task as cases of task insertion and removal, respectively. Consequently, we need a smooth task transition during the performance of these tasks.

4

Int. j. adv. robot. syst., 2013, Vol. 10, 346:2013

1 Activation parameter[h]

The proposed approach uses the operational space control framework with a hierarchical structure having priorities. The control structure is not modified in this approach, so the controlled system is stable if not in transition. The modelling uncertainties may affect the performance of the system, but these are mostly overcome by the feedback on the unit-mass system in the operational space control framework.

0.8

Upper limit Activation buffer

Activation buffer

0.6 0.4 0.2 0 -0.8

-0.6

0 0.6 Joint angle(rad)

0.8

Figure 2. The activation parameter for a joint limit avoidance task.

Considering the task of avoiding the joint limit, the torque command is computed as Γ = J Tjl Λ jl f˜jli + N Tjl Γt

(21)

f˜jli = h jl f˜jl + (1 − h jl )J jl A−1 JtT Λt f˜t

(22)

where Γt = JtT Λt| jl f˜t .

In these equations, J jl , F jl and N Tjl are the Jacobian, the control force for joint limit avoidance, and its null-space projection matrix, respectively, while Γt is the torque for the main task. For example, if the fourth joint is in the buffer region of its joint limit, J jl is defined as follows for a 6-DOF manipulator: J jl = [0

0

0

1

0

0]

(23)

Moreover, to maintain smooth operation while the joint limit avoidance task is active or inactive, the activation parameter of the joint limit avoidance task varies continuously between 0 and 1 as a function of the corresponding joint angle. The activation parameter increases as the corresponding joint angle approaches the joint limit. In this experiment, the activation function in an earlier study [27] is used, as plotted in Figure 2. Specifically, the activation function hi is designed as follows:  1.0, if qi ≥ qi     if qi < qi < qi   f ( q i ), if qi ≤ qi ≤ qi hi = 0.0, (24)    g ( q ) , if q < qi < qi  i  i    1.0, if qi ≤ q i

and



 π π (qi − qi ) − β 2 (25)   π π ( qi − qi ) + . g(qi ) = 0.5 + 0.5sin β 2  The ith joint angle, qi , is constrained by the lower limit q and the upper limit qi , and β denotes the size of the i activation buffer f (qi ) = 0.5 + 0.5sin

qi = qi − β

qi = q + β. i 

(26) www.intechopen.com

On the other hand, the activation parameter for the primal task is maintained at 1 throughout the execution of the task because it is always fully activated.

The corresponding Jacobians are defined as

The size of the buffer region can be determined depending on the specific task. If the size is large, the transition will be more smoothly conducted. However, the normal workspace would be smaller and the transition time would be longer. The size is set to approximately 10% of the joint range, 0.15rad, in this experiment.

Accordingly, task xt,ns and task xt,s are at the same priority level and the control torque is computed as

Note that the dimension of the Jacobian for the joint limit depends on how many joints are in the buffer region. The activation parameters for each joint limit task, which correspond to each row in J jl , have different values because the joints are at different points in their buffer regions. For example, if the first and fourth joints are in transition for a 6-DOF robot, we have two joint limit avoidance tasks x jl1 and x jl2 at the same priority level. The Jacobian can be formulated as follows:   J jl1 J jl = (27) J jl2 where J jl1 = [1

0

0

0

0

0]

J jl2 = [0

0

0

1

0

0] .

(28)

The transitions among these joint limit avoidance tasks can be regarded as non-prioritized tasks in equation (13). Above all, the joint limit avoidance task x jl needs to have a higher priority than the primal task xt . 5. Singularity Avoidance In this section, we discuss the implementation of singularity avoidance using the intermediate desired value approach in the operational space control framework. The idea is to deactivate the task along the singular direction near the singularity. The singular value decomposition (SVD) is used on the inverse of the task space inertia matrix to identify the singular directions and to define the task associated with it. The activation parameter for continuous transition is designed to change based on the singular value which is lower than a certain threshold. First, singularity is constantly monitored by the singular value decomposition (SVD) of the inverse of the inertia matrix of the primary task xt . Λt−1 = Jt A−1 JtT = Ut Σt UtT

(29)

Here, Σt is a diagonal matrix with singular values, and Ut is a rotation matrix [30, 32]. When one of the singular values is less than a threshold, the corresponding direction is considered as a singular direction. Therefore, Ut is decomposed into two parts: Uns for non-singular directions and Us for the singular direction. Ut = [Uns Us ] (30) The primary task xt is then decomposed into two tasks as follows: T xt,ns = Uns xt

www.intechopen.com

and

xt,s = UsT xt

(31)

T Jt,ns = Uns Jt

and

Jt,s = UsT Jt .

Γ = JtT Λt f˜ti

(32)

(33)

where Jt =



Jt,ns Jt,s



,

f˜ti =



i f˜t,ns f˜i t,s



(34)

and i T f˜t,ns = ht,ns f˜t,ns + (1 − ht,ns )Jt,ns A−1 Jt,s ht,s Λt,s f˜t,s

i T f˜t,s = ht,s f˜t,s + (1 − ht,s )Jt,s A−1 Jt,ns ht,ns Λt,ns f˜t,ns .

(35)

In the following experiment of controlling the end-effector as a main task, the orientation task is given a higher priority level than the position. This is because the singular values and the corresponding directions have more intuitive physical meaning when the position and orientation tasks are separately considered [33]. Thus, it is proper to divide the tasks initially into two main parts: the position and the orientation. Herein, a hierarchical structure, which is similar to a constraint-task structure, is applied and the task of controlling the end-effector is divided into two parts (13). The subscripts o and p indicate the orientation task and the position task, respectively. When the singular direction comes up from the position task, the control torque can be formulated as Γ = JoT Λo f˜oi + NoT J Tp Λ p|o f˜pi

(36)

where Jp =



J p,ns J p,s



,

f˜pi

=



i f˜p,ns i ˜ f p,s



(37)

and f˜oi = ho f˜o + (1 − ho )Jo A−1 Γ∗[/o]

i f˜p,ns = h p,ns f˜p,ns + (1 − h p,ns )J p,ns A−1 Γ∗[/p,ns] i f˜p,s

=

(38)

h p,s f˜p,s + (1 − h p,s )J p,s A−1 Γ∗[/p,s] .

The activation parameter for task xt,ns is kept at 1 because we want to execute the task fully along the non-singular direction. Thus, task xt,s along the singular direction is activated or deactivated by the activation parameter which is designed as a function of the corresponding singular value. The activation parameter for the singular value starts with 1 at the threshold value and then decreases as the singular value decreases such that the control of the task in that direction will be progressively deactivated. One example of such an activation parameter is plotted in Figure 3, where the threshold is set to 0.02 and decreases until the value reaches 0.01. These values and the shape of the function can be designed by considering the physical intuition of the inertial property of the manipulator. Hyejin Han and Jaeheung Park: Robot Control near Singularity and Joint Limit Using a Continuous Task Transition Algorithm

5

Threshold region

Activation parameter[h]

1 0.8 0.6 0.4 0.2 0 0.01

0.012

0.014 0.016 Singular value[σ]

0.018

0.02

Figure 3. The activation parameter of the singular direction task is designed as a function of the singular value by singular value decomposition (SVD)

At this point, when we consider both a joint limit and a singularity simultaneously, the joint limit avoidance task has a higher priority. Moreover, as already stated, task xt is initially decomposed into the orientation task xo and the position task x p when singularity avoidance is considered. Hence, the order of task priorities is the joint limit, the task for orientation control xo , and then the position control task x p : (39) Γ = Γijl + Γio + Γip where Γijl = J Tjl Λ jl f˜jli Γio = (Jo N jl ) T Λo| jl f˜oi

(40)

and Jp =

J p,ns J p,s



,

f˜pi =



i f˜p,ns i f˜p,s



.

f˜oi = ho f˜o + (1 − ho )Jo A−1 Γ∗[/o]

i f˜p,ns = h p,ns f˜p,ns + (1 − h p,ns )J p,ns A−1 Γ∗[/p,ns]

(42)

The experiment demonstrates that the joint limit task is activated and deactivated without any abrupt change in the control of the end-effector (Figure 7). The position of the robot cannot be controlled as desired when the constraint task of joint limit avoidance is activated.

i f˜p,s = h p,s f˜p,s + (1 − h p,s )J p,s A−1 Γ∗[/p,s] .

6. Experimental Results The proposed approach was implemented on a 6-DOF manipulator called Roman-MD (Figure 4). The robot is controlled using software called RoboticsLab [34]. The servo rate was set to 500 Hz when reading the encoders and sending the torque commands to the motors. In the following experiments, the control input for the tasks is composed by PD control. (43)

where xd , x and x˙ are the desired value, the current state and the derivative of the current state of the task. The terms k p and kv are the proportional and derivative feedback gains, respectively. Because each task becomes a unit mass system using the nonlinear feedback Int. j. adv. robot. syst., 2013, Vol. 10, 346:2013

In this experiment, the position of the end-effector is controlled to move to the lower-right direction and come back to the initial position while the orientation of the end-effector is controlled to be the initial orientation, as illustrated in Figure 5. The first joint limit avoidance task is inserted while the positioning task is performed.

In this experiment, the upper and lower limits for all joints are set to 0.78rad and −0.78rad, respectively. These chosen values are smaller than necessary to show the performance of the proposed algorithm effectively. Furthermore, the size of the buffer region is 0.15rad, and the activation parameter in Figure 2 is used.

f˜jli = h jl f˜jl + (1 − h jl )J jl A−1 Γ∗[/jl ]

6

6.1. Joint Limit Avoidance Task

(41)

The intermediate values are defined as follows:

f ∗ = k p (xd − x) − kv x, ˙

linearization by the operational space control framework, the gains can be selected based on the task specifications. In this paper, the closed-loop frequency and damping ratio were chosen as 20.0 rad/sec and 1.0, respectively, to be a critically damped system. The gains kp and kv are then 400.0 and 40.0 because it is a unit mass system.

In order to avoid the joint limit, the activation parameter of the first joint increases at around three seconds, as the first joint enters its joint limit buffer region, as shown in Figure 6.

Γip = (J p No| jl N jl ) T Λ p|o| jl f˜pi 

Figure 4. Joint configuration of Roman-MD and the Cartesian coordinates of a robot system.

In the next experiment, we compared the potential field approach and the proposed task transition approach for joint limit avoidance through the simulation using the 6-DOF manipulator. The control input f i using the potential field approach [19] is,     1 1 1  η − , if ρ ≤ ρ  ρ ρ  ρ2 i i (0)  i i (0) i   0.0, if ρ > ρ i i (0) fi = (44)    1 1 1  − η − , if ρ ≤ ρ  2  i i (0) ρi ρ i (0) ρ  i   0.0, if ρi > ρi(0) where

ρ = qi − q i

i

ρi = qi − qi .

(45) www.intechopen.com

Figure 8. Simulation: execution of the joint limit task using the potential field approach and the proposed continuous control approach.

0.3 0.1 0 -0.1 -0.2 -0.3

0

0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0

2

4

6

8

10

12

14

Joint angle(rad)

0.2

2

4

6

8

10

12

0

2

14

0

2

4

6

8

2

4

6

8

10

12

14

0.08

0.58

12

14

12

14

0.56 0.54 0.52 0

2

4

6

8

10

Time(s)

Here, ρ

and ρi(0) are the distance limit of the potential field influence. The ith joint angle is qi , and q and qi i represent the lower limit and the upper limit.

0.06 0.04 0.02 0 0

2

4

6

8

0.33

10

12

14

desired y actual y

0.32 0.31 0.3 0.29

i (0)

In this simulation, the desired position is set out of the joint range. While the task is performed, the fourth joint reaches its limit buffer region (Figure 8). In the case of the potential field approach, the constant gain η was chosen as 0.5, and the distances ρ and ρi(0) are 0.08 and -0.08, respectively. i (0)

0.28 0.27

10

Figure 9. Fourth joint angle and end-effector position during the joint limit avoidance simulation using the potential field approach.

desired x actual x

0.1

14

desired z actual z

0.6

0

12

0.1 0.06 0.04

q = 0.63 rad

10 desired y actual y

Figure 6. Joint velocity, joint angle and activation parameter of the first joint during the joint limit avoidance experiment.

X(m)

8

0.08

0.5

Y(m)

6

0.12

0.62

Time(s)

0

2

4

6

8

10

12

14

desired z actual z Z(m)

4

0.14 Y(m)

0

0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0

-0.1 -0.2 -0.3 -0.4 -0.5 -0.6 -0.7 -0.8 0.16

Activation buffer

Z(m)

Activation parameter[h]

Joint angle(rad)

Joint velocity(rad/s)

Figure 5. Snapshots from the joint limit avoidance experiment.

0.3

As shown in Figure 9 and Figure 10, the potential field approach, in comparison with the proposed approach, can easily cause oscillation and instability unless the gains are carefully tuned. Although the oscillatory response of the potential field approach shown in this experiment can be improved by changing the parameters of η and ρ at i (0)

0.28 0

2

4

6

8

10

12

14

Time(s)

Figure 7. Plots of end-effector position during the joint limit avoidance experiment.

www.intechopen.com

the specific configuration, it is not easy to find suitable values for all the configurations of the robot [21, 22]. The oscillatory and unstable response is shown in this experiment to point out the typical problem of using the potential field approach in the application of joint limit avoidance. Hyejin Han and Jaeheung Park: Robot Control near Singularity and Joint Limit Using a Continuous Task Transition Algorithm

7

Activation parameter[h]

1 a larger sequence of images (more than 3) and stored for 0.8 its coordinates error σ = 0.02 are updated for every succeeding σ = 0.02 image.0.6The number of sequences depends on the following 0.4 condition:  c+c¯ 0.2 < 0.02c  = c¯ c−c¯ σ | ξ= (13) 0 ¯ 2c¯ | c = c,

Joint angle(rad)

-0.1 Accordingly, this step can only be carried out if the -0.2 matching -0.3 procedure was already performed for the first error image. Therefore, only areas that were not removed -0.4 during-0.5the first matching procedure are extended by -0.6 corresponding areas of the subsequent error images. -0.7 Otherwise, the noise (falsely detected areas) would cause -0.8 0 2 incorrectly 4 6detected 8 areas. 10 The 12red short 14 an enlargement of 0.16 y dashed rectangles in Figure 8 mark desired 2 examples of such 0.14 corresponding areas. Resulting areasactual thaty are too large 0.12 are removed from the error images In and In+1 . This is 0.1 indicated by the areas in the right lower corner of error 0.08 image0.06 In in Figure 8. As can be seen, the resulting error image0.04 In from Figure 8 is used as input (error image In ) in 2 the extension 4 6 8 10 the12midmost 14 Figure 7. 0Without of the areas, 0.62 z candidate in Figure 7 would have beendesired rejected.

2

4

6

8

10

12

14

Singular value[σ]

Y(m)

0.6

0

where0.024 c is the number of found corresponding areas and c¯ is the number of missing corresponding areas for one 0.02 candidate starting Threshold with region the image where the candidate 0.016 was found again. If ξ < 0 ∨ ξ > 10, the candidate is 0.012 Moreover, the candidate is no longer stored if it rejected. 0.008 was detected again in 3 temporal succeeding images. In this case, 0.004 it is detected during the matching procedure. 0 2 4 to this 6 8 10 is shown 12 14in An example concerning procedure Time(s) Figure 9(b). As one can imagine, error image In in Figure 9(a) is equivalent (except area-extension) to In+1 in Figure whereasparameter error image In in value Figure 9(b)the is Figure 12. 7,Activation and singular during experiment of singularity. equivalent tohandling In+2 in Figure 9(a).

actual z

Z(m)

0.58 real moving objects are sometimes not detected As some 0.56 image as a result of an inaccurate optical flow in an error 0.54 calculation or (radial) distortion, the temporal matching would0.52 fail. This could already be the case if only one 0.5 area in one that 0 error2 image 4 is missing. 6 8Thus,10candidates 12 14 Time(s) were detected once in 3 temporal succeeding error images and 4 greyscale images (original images), respectively, are stored sequence 3 error subsequent to the Figure for 10. a Fourth jointof angle and images end-effector position during image the matching wasusing successful, cf. Figure 9(a). the jointwhere limit avoidance simulation the intermediate desired value approach. Their coordinates are updated for the succeeding error images by using the optical flow data. As a consequence, 6.2. Handling Singularity they can be seen as candidates for moving objects in the but they not used within the The succeeding experiment images, of controlling the are robot near singularity is matching procedure as input. If in within this sequence presented in this section. As noted Section 5, the robot of a corresponding is foundtheagain, it is canimages deal with singularities by area deactivating task along the singular direction.

Z(m)

Y(m)

desiredthe y For a0.32 further processing of the data, only position actual y (shown 0.28 as small black crosses in the left lower corners of the rectangles in Figures 7 and 9) and size of the rectangles 0.24 marking 0.20 the candidates are of relevance. Thus, for every error image the afore mentioned information is stored 0.16 for candidates that were detected during the matching 0 2 4 6 10 14 procedure, for candidates that were8 detected up12to 3 error 0.28before and for candidates thatdesired images werez found again actual z 0.26 (see above). On the basis of this data, candidates that are 0.24 very close to each other are combined and candidates that 0.22large are rejected. are too 0.20 0.18

 iscommanded   In this experiment,  the end-effector to move    0 2 4  6 8 10 12 14 Time(s) from the upper-right to the lower-left position and come back to the initial position (Figure 11). The position of the end-effector cannot reach the desired position exactly Figure 13. Plots of position y and position z during the experiment of handling singularity. because the deactivated direction is not fully controlled. 

The activation parameter of the task is designed as  a function of the singular value by singular value decomposition (SVD), and the buffer of the singular values is identical to that plotted in Figure 3.  

6.3. Joint Limit and Singularity Avoidance

In this section, related to Section 5, the case is demonstrated in which both the joint limit and singularity   are handled the end-effector of the robot    when  controlling  Figure 12 and Figure 13 show the data plots from this as a primary task. As shown in Figure 14, the position of (a) experiment. The activation parameter for the singular the end-effector is commanded to move toward the desired direction starts to decrease at σ = 0.02 (around 4 seconds) position and come back to the initial position.           and the positioning task becomes smoothly deactivated As shown in Figure 15, when the singular value enters along the singular direction. Because the singular direction the buffer region at approximately three seconds, the is on the y-z plane, the position in the z-direction does not activation parameter for the singular direction decreases follow the desired position trajectory when the position according to the activation function of the singular value  task in the singular direction is in transition region. as designed. Approximately 1 second later, the task of  avoiding the fourth joint limit is added to the commanding     

     (b)

Figure 9. Preventing rejection of candidates for moving objects that were detected only in a few sequences. (a) Storage of candidates for which a further matching fails. These candidates are marked by a blue dotdashed rectangle. The green dashed rectangle marks a candidate for which a corresponding area was found again and the red short-dashed rectangle marks a candidate with successful matching. (b) Storage of candidates for which a corresponding area was found again. The 2 areas drawn with transparency in error image In indicate Figure 14. Joint limit and singularity avoidance experiment. Figure 11. Experiment of the singularity avoidance. the position of the candidates, but they are not part of the error image.

8

Int. j. adv. robot. syst., 2013, Vol. 10, 346:2013

www.intechopen.com

Singular value[σ]

0.021 0.018

Threshold region

0.015 0.012 0.009 0

Activation parameter[h]

singularity and joint limit. The proposed algorithm executed the primary task of controlling the end-effector without abrupt change in motion near the singularity while avoiding the joint limit.

0.024

1

2

4

6

8

10

12

σ > 0.02

0.8

σ > 0.02

σ = 0.02

0.6

14

σ = 0.02

0.4 0.2

σ < 0.02

0 0

2

4

6 8 Time(s)

10

12

14

Activation parameter[h]

Joint angle(rad)

Figure 15. Singular value and activation parameter of the singular direction when the robot is controlled near both singularity and joint limit. 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6

Activation buffer

0

2

4

6

8

10

12

14

1 0.6 0.4

q = 0.63 rad

0.2 0 0

2

4

6

8

10

12

14

Figure 16. Joint angle and activation parameter of the second joint when the robot is controlled near both singularity and joint limit. 0.48

desired y actual y

0.45 Y(m)

In this paper, we propose a control strategy for dealing with singularities and joint limits using the intermediate desired value approach in the operational space control framework. The intermediate desired value approach in the operational space control framework enables an effective and stable transition when tasks are inserted and removed. Controlling the robot near singularity is implemented by deactivating the task along the singular direction. In addition, the transition algorithm is effectively applied to both the insertion and the removal of the joint limit task with a hierarchical control structure. The experimental results demonstrate that the robot is successfully controlled when it approaches its joint limits and a singular region using the proposed approach. The proposed approach in this paper demonstrated the robot operation with only motion tasks. Our future work is directed toward generalizing this control approach to deal with tasks involving both motion and contact so that it can be used in robot-environment interaction. 8. Acknowledgement

0.8

Time(s)

0.42 0.39 0.36 0.33 0

Z(m)

7. Conclusion

2

4

6

8

0.48 0.45 0.42 0.39 0.36 0.33 0.3

10

12

14

desired z actual z

0

2

4

6

8

10

12

14

Time(s)

Figure 17. Position of the end-effector when the robot is controlled near both singularity and joint limit.

task, as shown in Figure 16. The position of the end-effector during the experiment is plotted in Figure 17. It should be noted that the position of the end-effector did not follow the desired trajectory completely near www.intechopen.com

This work was sponsored by the Basic Science Research Program (no.2010-0005799) and by the Global Frontier R&D Program on funded by the National Research Foundation of Korea grant funded by the Korean Government(MSIP) (no.2011-0032014). 9. References [1] B. J. Nelson and P. K. Khosla. Strategies for increasing the tracking region of an eye-in-hand system by singularity and joint limit avoidance. The Int. Journal of Robotics Research, 14:255–269, 1995. [2] A. A. Maciejewski and C. A. Klein. Numerical filtering for the operation of robotic manipulators through kinematically singular configurations. Journal of Robotic Systems, 5:527–552, 1988. [3] C. W. Wampler. Manipulator inverse kinematic solutions based on vector formulations and damped least-squares methods. IEEE Trans. on Systems, Man and Cybernetics, 16:93–101, 1986. [4] Y. Nakamura and H. Hanafusa. Inverse kinematic solutions with singularity robustness for robot manipulator control. ASME Trans. Journal of Dynamic Systems, Measurement, and Control, 108:163–171, 1986. [5] C. C. Cheah. Task-space pd control of robot manipulators: Unified analysis and duality property. International Journal of Robotics Research, 27:1152–1170, 2008. [6] L. Sciavicco and B. Siciliano. A solution algorithm to the inverse kinematic problem for redundant manipulators. IEEE Journal of Robotics and Automation, 4:403–410, 1988.

Hyejin Han and Jaeheung Park: Robot Control near Singularity and Joint Limit Using a Continuous Task Transition Algorithm

9

[7] S. Chiaverini. Singularity-robust task-priority redundancy resolution for real-time kinematic control of robot manipulators. IEEE Trans. on Robotics, 13:398–410, June 1997. [8] P. Baerlocher and R. Boulic. Task-priority formulations for the kinematic control of highly redundant articulated structures. In IEEE Int. Conf. on Intelligent Robots and Systems (IROS’98), pages 323–329, Victoria, B.C., Canada, October 1998. [9] P. Chiacchio, S. Chiaverini, L. Sciavicco, and B. Siciliano. Closed-loop inverse kinematics schemes for constrained redundant manipulators with task space augmentation and task priority strategy. The Int. Journal of Robotics Research, 10:410–425, 1991. [10] M. Hayakawa, K. Hara, D. Sato, A. Konno, and M. Uchiyama. Singularity avoidance by inputting angular velocity to a redundant axis during cooperative control of a teleoperated dual-arm robot. In IEEE Int. Conf. on Robotics and Automation, pages 2013–2018, Pasadena, CA, USA, May 2008. [11] C. C. Cheah and X. Li. Singularity-robust task-space tracking control of robot. In IEEE Int. Conf. on Robotics and Automation (ICRA’11), pages 5819–5824, Shanghai, China, May 2011. [12] Kyong-Sok Chang and Oussama Khatib. Manipulator control at kinematic singularities: A dynamically consistent strategy. In IEEE Int. Conf. on Intelligent Robots and Systems, volume 3, pages 84–88, 1995. [13] D. Oetomo, M. Ang, and S Lim. Singularity handling on puma in operational space formulation. In Experimental Robotics VII, pages 491–500, 2001. [14] T. Chang and R. Dubey. A weighted least-norm solution based scheme for avoiding joints limits for redundant manipulators. IEEE Trans. Robot. Automat., 11:286–292, 1995. [15] B. Dariush, M. Gienger, B. Jian, C. h. Goerick, and K. Fujimura. Whole body humanoid control from human motion descriptors. In IEEE Int. Conf. on Robotics and Automation, pages 2677–2684, Pasadena, CA, USA, May 2008. [16] H. Zghal, R. V. Dubey, and J. A. Euler. Efficient gradient projection optimization for manipulators with multiple degrees of redundancy. In IEEE Int. Conf. on Robotics and Automation, pages 1006–1011, 1990. [17] Y. Zhang, J. Wang, and Y. Xia. A dual neural network for redundancy resolution of kinematically redundant manipulators subject to joint limits and joint velocity limits. IEEE Trans. on Neural Networks, 14:658–667, 2003. [18] Y. Zhang, S. S. Ge, and T. H. Lee. A unified quadratic-programming-based dynamical system approach to joint torque optimization of physically constrained redundant manipulators. IEEE Trans. on Systems, Man, and Cybernetics, 34:2126–2132, 2004. [19] O. Khatib. Real-time obstacle avoidance for manipulators and mobile robot. The Int. Journal of Robotics Research, 5:90–98, 1986. [20] Y. Wang and G. S. Chirikjian. A new potential field method for robot path planning. In IEEE

10 Int. j. adv. robot. syst., 2013, Vol. 10, 346:2013

[21]

[22]

[23]

[24] [25] [26]

[27]

[28]

[29]

[30]

[31]

[32] [33]

[34]

Trans. on Robotics and Automation, pages 977–982, San Francisco, CA, USA, 2000. I. Iossifidis and G. Schoner. Dynamical systems approach for the autonomous avoidance of obstacles and joint-limits for an redundant robot arm. In IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, pages 580–585, 2006. J. Ren, K. A. McIsaac, and R. V. Patel. Modified newton’s method applied to potential field-based navigation for mobile robots. IEEE Trans. on Robotics, 22:384–391, 2006. F. Chaumette and E. Marchand. A redundancy-based iterative approach for avoiding joint limits: Application to visual servoing. IEEE Trans. Robot. Automat., 17:719–730, 2001. D. Raunhardt and R. Boulic. Progressive clamping. In IEEE Int. Conf. on Robotics and Automation, pages 4414–4419, Roma, Italy, April 2007. N. Mansard and O. Khatib. A unified approach to integrate unilateral constraints in the stack of tasks. IEEE Trans. on Robotics, 25:670–685, 2009. A. Dietrich, T. Wimbock, A. Albu-Schaffer, and G. Hirzinger. Integration of reactive, torque-based self-collision avoidance into a task hierarchy. IEEE Trans. on Neural Networks, 28:1278–1293, 2012. J. Lee, N. Mansard, and J. Park. Intermediate desired value approach for task transition of robots in kinematic control. IEEE Trans. on Robotics, 28:1260–1277, 2012. H. Han, J. Lee, and J. Park. A continuous task transition algorithm for operational space control framework. In Int. Conf. on Ubiquitous Robots and Ambient Intelligence, pages 148–152, November 2012. A. Dietrich, A. Albu-Schaffer, and G. Hirzinger. On continuous null space projections for torque-based, hierarchical, multi-objective manipulation. In IEEE Int. Conf. on Robotics and Automation, pages 2978–2985, RiverCentre, Saint Paul, Minnesota, USA, May 2012. O. Khatib, L. Sentis, J. Park, and J. Warren. Whole-body dynamic behavior and control of human-like robots. International Journal of Humanoid Robotics, 1:29–43, 2004. O. Khatib. A unified approach for motion and force control of robot manipulators : The operational space formulation. The Int. Journal of Robotics Research, 3(1):43–53, 1987. G. Strang. Linear Algebra and Its Applications, Fourth Edition. Thomson Brooks/Cole, 10 Davis Drive, Belmont, CA 94002-3098, USA, 2006. D. Oetomo and M. Ang. Singularity robust algorithm in serial manipulators. In Robotics and Computer-Integrated Manufacturing, volume 25, pages 122–134, November 2009. SimLab. Roboticslab, http://www.rlab.co.kr/.

www.intechopen.com

Suggest Documents