Journal of Control Science and Engineering
Volume 2015 (2015), Article ID 540259, 9 pages
http://dx.doi.org/10.1155/2015/540259

Research Article

Obstacle Avoidance Algorithm for 7-DOF Redundant Anthropomorphic Arm

Haoyu Shen, Hongtao Wu, Bai Chen, Yanjie Jiang, and Cheng Yan

College of Mechanical and Electrical Engineering, Nanjing University of Aeronautics and Astronautics, Nanjing, Jiangsu 210016, China

Received 23 October 2014; Revised 14 December 2014; Accepted 21 December 2014

Academic Editor: Onur Toker

Copyright © 2015 Haoyu Shen et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Abstract.

To deal with the problem of obstacle avoidance for redundant robots, an obstacle avoidance algorithm based on the internal motion of the 7-DOF redundant anthropomorphic arm is presented. The motion of that critical points move away from the closest points on the obstacles is defined as obstacle avoiding motion. Two transitioning variables were used to make a smooth, continuous transition between the primary and the secondary tasks. Using this approach, the robot can get the target configuration while avoiding the obstacles. Finally, the validity of the obstacle avoidance algorithm based on transitioning between tasks is manifested by simulation. The results show that, for the obstacle avoiding problem, the redundant robot not only can realize the obstacle avoidance, but also prevents the conflict between tasks by the proposed approach.

1. Introduction

Robots are now on their way of diverging into various fields. In particular, in the field of services, the research has gained much interest. Differing from traditional industrial robots, the service robots in human environments like handling tools, objects, and equipment are still challenging issue, because human environments are complex, dynamic, uncontrolled, and difficult to be perceived reliably. One key requirement of service robots is the avoidance of collisions between robot and obstacles. A redundant robot has the ability to move the end-effector along the same trajectory using different configurations of the mechanical structure. This provides means for solving sophisticated motion tasks such as avoiding obstacles, avoiding singularities, optimizing manipulability, and minimizing joint torques. It is well recognized that collision avoidance for redundant robots is a significant issue in current robotics research, which has gained extensive attention recently [1–6].

In general, the obstacle avoidance approaches can be divided into two categories: off-line and online methods. Off-line path-planning methods are very computationally demanding and the calculation times are significantly longer than the typical response time of a robot. This computational complexity limits their use for practical obstacle avoidance to just simple cases. Furthermore, off-line path-planning methods are restricted to structured environments and static obstacles. Online methods, on the other hand, are less computationally demanding, can handle unstructured environments as well as moving obstacles, and can be used for sensor-based low-level motion planning [7, 8]. These distinguishing characteristics make off-line path-planning methods more excellent than online collision avoidance, especially in unstructured environments. For the problem of the collision avoidance of redundant robots, the local methods proposed have been the focus of research [9, 10]. Maciejewski and Klein suggested to assign to the critical point a velocity with which the point is moved away from the closest obstacle [11]. Colbaugh et al. used gesture control to address the avoidance problem and defined a constraint function for avoiding obstacles [12]. Subsequently, McLean and Cameron raised the issue of using a potential function to resolve the obstacle avoidance problem [13]. Guo and Hsia defined the objective function of the distance between the obstacle and robot to deal with the obstacle avoidance problem [14]. Chyan used particle swarm optimization method to solve the obstacle avoidance problem of redundant robots.

Using these traditional approaches, the obstacle avoidance problem of redundant robots is defined as how to control the robot to track the desired end-effector trajectory while simultaneously avoiding the obstacles [1]. In the unstructured environments, the obstacle position is not known in advance. The motion of the end-effector of robots can be disturbed by any obstacles, which may create a conflict between the obstacle avoiding motion and the trajectory tracking motion, and the traditional approaches will yield the erroneous results. In view of this problem, we propose a novel obstacle avoidance algorithm for 7-DOF redundant anthropomorphic arms. The proposed algorithm allows a smooth, continuous priority transition between the trajectory tracking motion of the end-effector and the obstacle avoiding motion using the real-time minimum distance. Finally, the validity of the obstacle avoidance algorithm is manifested by simulations.

2. The Structure of 7-DOF Redundant Anthropomorphic Arm

By studying the human skeleton and behavior, the redundant anthropomorphic arm has 7 degrees of freedom such the shoulder has three degrees of freedom, the wrist has three degrees of freedom, and the elbow has one degree of freedom, as shown in Figure 1.

Figure 1: CAD model of the anthropomorphic arm.

The coordinate frames of the redundant anthropomorphic arm are shown in Figure 2. The corresponding Denavit-Hartenberg (D-H) parameters are reported in Table 1.

Table 1: D-H coordinate design parameters of the anthropomorphic arm.

/(rad)
/(m)
/(m)

1

0

2

0

3

0

4

0

5

0

6

0

7

0

Figure 2: D-H coordinate frames of the anthropomorphic arm.

3. The Problem of Obstacle Avoidance for Redundant Robots

According to the position relation between the obstacle and robot, the problem of obstacle avoidance for redundant robots can be divided into the following two categories.

3.1. The Problem of Obstacle Avoidance Corresponds to the First Kind of Obstacle

For the first kind of problem of obstacle avoidance, as shown in Figure 3, the motion of the end-effector is not disturbed by any obstacle. In other words, the trajectory tracking motion of the end-effector of the robot is independent of the obstacle avoiding motion. Therefore, the redundant robot can realize the obstacle avoidance without affecting the trajectory tracking task of the end-effector. This problem can be solved by traditional obstacle avoidance algorithms. The obstacle avoidance strategy is to ensure all the links of the robot are away from obstacles, while the robot can track the desired trajectory [1].

Figure 3: The obstacles do not disturb the motion of the end-effector.

3.2. The Problem of Obstacle Avoidance Corresponds to the Second Kind of Obstacle

For the second kind of problem of obstacle avoidance, as shown in Figure 4, obstacle appears in the desired trajectory. Conflict will take place between the trajectory tracking motion of the end-effector of the robot and the obstacle avoiding motion. Thus, the trajectory tracking motion and the obstacle avoiding motion cannot be completed simultaneously. The traditional obstacle avoidance algorithms will fail in this case.

Figure 4: The condition of obstacles appears in the desired trajectory.

4. Obstacle Avoidance Algorithm for Redundant Robots Based on Transitioning between the Primary and the Secondary Tasks

For the two kinds of obstacle avoidance problem, we propose a universal algorithm for redundant robots based on transitioning between the primary and the secondary tasks. The robot can realize the obstacle avoidance while the end-effector of the robot can get the target configuration accurately at the same time by the proposed approach.

4.1. The Operational Space of Obstacle Avoiding Motion

The points on the robot that are near obstacles will be identified as critical points. The obstacle avoiding motion is realized by assigning to the critical points a motion in the direction of the line connecting the critical point with the closest point on the obstacle. This is a one-dimensional constraint, so the operational space of obstacle avoiding motion can be defined as one-dimensional space [15]. Let be the vector connecting the closest point on the obstacle and the critical point. The unit vector in the direction of is . Consider

The Jacobian matrix associated with the critical point can be calculated as

where is the Jacobian defined in the Cartesian space. Clearly, .

4.2. Obstacle Avoidance Algorithm Based on Transitioning between the Primary and the Secondary Tasks

For the obstacle avoidance problem of several kinds of obstacle existing simultaneously, the joint velocity in the proposed algorithm is defined as

where the obstacle avoidance velocity vector and the matrix are given as

where is a -dimensional vector representing the joint velocity, the end-effector velocity is represented by the -dimensional vector , is the Jacobian matrix, is the generalized inverse of the Jacobian matrix , is scalar representing the nominal avoiding velocity, and and are the transitioning variables defined as

where is the distance between the closest point on the obstacle and the critical point and is the given threshold value.

Two transitioning variables are used to make a smooth, continuous priority transition between the trajectory tracking motion of the end-effector of the robot and the obstacle avoiding motion. If , . Now, (3) can be rewritten in the form

Thus, while no obstacle is near the robot end-effector can achieve very high tracking accuracy. When the robot is very close to an obstacle, the obstacle avoiding motion will transition into primary task. If , . Equation (3) can be rewritten in the form

However, the tracking accuracy is decreased due to the obstacle avoiding motion. If , and . Then, (3) can be rewritten in the form

In this case, the obstacle avoiding motion will remain as the primary task and the velocity of the obstacle avoiding motion will be much larger. Meanwhile, tracking error will increase further.

5. Simulation Experiments and Analysis

In this section, two examples are given to demonstrate the obstacle avoidance algorithm proposed in the prevision section.

The configuration matrix of the end-effector of the robot in the base frame of the robot can be expressed by a six-dimensional vector, . is the Cartesian position vector of the end-effector with respect to the base frame of the robot (Figure 11), and is the Roll-Pitch-Yaw angels of the end-effector with respect to the base frame.

The obstacle avoidance algorithm proposed in the prevision section is verified by mathematics-based simulations with two examples. The link length of the anthropomorphic arm is chosen as = 0.45 m, = 0.327 m, = 0.322 m, and = 0.3 m.

5.1. Example 1

Here, the initial angle of the robot is and the initial configuration is . The robot will move to the final configuration in a straight trajectory and the time of the simulation is 5 sec:

The form of the obstacles is spherical and the radius of the spheres is 0.05 m. The coordinate of the first obstacle center is assumed as with respect to the base coordinate frame. Thus, the obstacle appears in the desired trajectory, as shown in Figure 5. It belongs to the second kind of obstacle. The coordinate of the first obstacle center is assumed as with respect to the base coordinate frame. This obstacle does not disturb the motion of the end-effector, so it belongs to the first kind of obstacle. The simulation results of robot before obstacle avoidance path planning are shown in Figure 5. Consequently, the robot is not able to avoid any of the obstacles.

Figure 5: Trajectory of robot before obstacle avoidance trajectory planning.

The simulation results of robot using the proposed approach are shown in Figure 6. Figure 7 shows the simulation results of the obstacle avoidance using the traditional approach [5, 11]. By observing the top plot in Figures 8 and 9, where the minimal distance between the robot and the center of the obstacles is shown, we can see that, for the traditional approach, the robot comes closer to the obstacle compared to the approach proposed.

Figure 6: Trajectory for obstacle avoidance using the approach based on transitioning between tasks.

Figure 7: Traces for obstacle avoidance using the traditional approach.

Figure 8: Closest distance using the approach based on transitioning between tasks.

Figure 9: Closest distance using the traditional approach.

The radius of the spheres is 0.05 m, so the minimal distance between the closest point on the obstacle and the robot is about 0.01 m using the approach proposed. The robot can avoid the obstacles and get the target configuration perfectly. Obviously, the traditional approach is not able to avoid the obstacles.

Figure 8 shows all the joint angles. Figures 9 and 10 show the simulation results of the changes of position and attitude coordinates of the end-effector using the approach proposed. Simulation results show that the actual trajectory is smooth and continuous. We can see that the task for obstacle avoidance smoothly takes over when the robot is very close to an obstacle. However, the tracking error is significant when the robot is avoiding the obstacle. Of course, when the robot is far away from obstacles, the robot end-effector can achieve very high tracking accuracy.

Figure 10: Angles of all joints.

Figure 11: The changes of the position of the end-effector.

5.2. Example 2

The task is the same as in Example 1, but the obstacle is an open container. The initial angle of the robot is and the initial configuration is . The robot will move to the final configuration in a straight trajectory and the time of the simulation is 5 sec:

Ports of the open container appear in the desired trajectory, as shown in Figure 13. So, it belongs to the second kind of obstacle. The simulation results of robot before obstacle avoidance path planning are shown in Figure 13. Consequently, the robot is not able to avoid the obstacle.

The simulation results of robot using the proposed approach are shown in Figure 14. The robot can avoid the obstacle and get the target configuration perfectly. The plot in Figure 15 shows the minimal distance to the obstacle. We can see that the minimal distance between the closest point on the obstacle and the robot is about 0.02 m. So, the robot can avoid the container. Figure 16 shows all the joint angles. Figures 17 and 18 show the simulation results of the changes of position and attitude coordinates of the end-effector (Figure 12). Simulation results show that the actual trajectory is also smooth and continuous.

Figure 12: The changes of the attitude of the end-effector.

Figure 13: Trajectory of robot before obstacle avoidance trajectory planning.

Figure 14: Trajectory for obstacle avoidance using the approach based on transitioning between tasks.

Figure 15: Closest distance.

Figure 16: Angles of all joints.

Figure 17: The changes of the position of the end-effector.

Figure 18: The changes of the attitude of the end-effector.

The above examples show that the obstacle avoidance algorithm can be efficiently used in a general range of tasks. However, we can see that the tracking error is significant when the robot is avoiding the obstacle. This means that the proposed approach can only be used if tracking accuracy of the end-effector motion is not very important.

6. Conclusions

On the basis of the self-motion of the redundant robot, the obstacle avoidance algorithm for 7-Dof redundant anthropomorphic arm based on transitioning between the primary and the secondary tasks is presented. The approach proposed can realize a smooth, continuous priority transition between the trajectory tracking motion of the end-effector of the robot and the obstacle avoiding motion when necessary.

The effectiveness of the proposed approach was shown by the simulation of the anthropomorphic arm. The proposed approach is very convenient to solve the obstacle avoidance problem that the motion of the end-effector of robots is disturbed by any obstacles. Thus, it overcomes some defects of the traditional approaches and has universality.

Appendices

A. Forward Kinematics Analysis of the Robot

The homogeneous transformation matrix and the D-H parameters are used to analyze the kinematic problem of the robot. So, we can obtain the general form of transformation matrix :

where, and .

The transformation matrix from the coordinate frame of the end-effector to the 0th coordinate frame or the base coordinate frame can be obtained as

B. The Jacobian of the Robot

The Jacobian of the robot is as follows:

Conflict of Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.

Acknowledgments

This work is supported by the National Natural Science Foundation (Grant no. 51375230), the National High Technology Research and Development Program of China (863 Program) (Grant no. 2013AA041004), and the Jiangsu Province Science and Technology Support Key Projects (Grant nos. BE2013003-1 and BE2013010-2).

References

Z. Lu and G. P. He, Principle and Application of Redundant Robots, China Machine Press, Beijing, China, 2007, (Chinese).

N. Bojan, Z. Leon, and O. Damir, “Comparison of null-space and minimal null-space control algorithms,” Robotica, vol. 25, no. 5, pp. 511–520, 2007.

S. Y. Shin, J. Won Lee, and C. H. Kim, “Humanoid's dual arm object manipulation based on virtual dynamics model,” in Proceedings of the IEEE International Conference on Robotics and Automation (ICRA '12), pp. 2599–2604, IEEE, 2012.

H. T. Wu, C. G. Wang, and H. G. Cai, “Kinematic and dynamic optimization redundant manipulators,” Journal of Harbin Institute of Technology, vol. 26, no. 1, pp. 113–117, 1994 (Chinese).

Q. X. Jia, Q. R. Zhang, X. Gao et al., “Dynamic obstacle avoidance algorithm for redundant robots with pre-selected minimum distance index,” Robot, vol. 35, no. 1, pp. 17–22, 2013 (Chinese).

W. G. Wu, X. J. Deng, and H. G. Cai, “Coordi nated kinematics of double 7-DOF bionics arms,” Journal of Harbin Institute of Technology, vol. 31, no. 6, pp. 45–47, 1999 (Chinese).

L. Jiang, Y. Zhou, K. Sun, and H. Liu, “Obstacle avoidance control for 7-DOF redundant manipulators,” Optics and Precision Engineering, vol. 21, no. 7, pp. 1795–1802, 2013 (Chinese).

R. V. Patel, F. Shadpey, F. Ranjbaran, and J. Angeles, “A collision-avoidance scheme for redundant manipulators: theory and experiments,” Journal of Robotic Systems, vol. 22, no. 12, pp. 737–757, 2005.

L. Sun, J. Zhao, and Z. Du, “Concept and application on 7-DOF redundant manipulator of index to measure capability of collision-avoidance for single redundant manipulator,” Chinese Journal of Mechanical Engineering, vol. 43, no. 5, pp. 223–229, 2007 (Chinese).

A. Shukla, E. Singla, P. Wahi, and B. Dasgupta, “A direct variational method for planning monotonically optimal paths for redundant manipulators in constrained workspaces,” Robotics and Autonomous Systems, vol. 61, no. 2, pp. 209–220, 2013.

A. A. Maciejewski and C. A. Klein, “Obstacle avoidance for kinematically redundant manipulators in dynamically varying environments,” International Journal of Robotics Research, vol. 4, no. 3, pp. 109–117, 1985.

R. Colbaugh, H. Seraji, and K. Glass, “Obstacle avoidance for redundant robots using configuration control,” Journal of Robotic Systems, vol. 6, no. 6, pp. 721–744, 1989.

A. McLean and S. Cameron, “The virtual springs method: path planning and collision avoidance for redundant manipulators,” International Journal of Robotics Research, vol. 15, no. 4, pp. 300–319, 1996.

Z. Y. Guo and T. C. Hsia, “Joint trajectory generation for redundant robots in an environment with obstacles,” Journal of Robotic Systems, vol. 10, no. 2, pp. 199–215, 1993.

T. Petrič and L. Žlajpah, “Smooth continuous transition between tasks on a kinematic control level: obstacle avoidance as a control problem,” Robotics and Autonomous Systems, vol. 61, no. 9, pp. 948–959, 2013.