# Real-Time Kinematics-Based Self-Collision Avoidance Algorithm for Dual-Arm Robots
## 1 Introduction
Compared to these traditional methods, some researchers have proposed a unified framework for detecting collisions in real time by using a series of sensors capable of estimating the joint torque and acceleration [14]. However, using sensors always increases the cost of the robot due to the more expensive hardware. In off-line methods, a collision-free trajectory is planned in advance. Based on the rapidly-exploring random tree (RRT) [21] algorithm, researchers have proposed an algorithm to plan a collision-free path [22] for each arm in advance. The extended stochastic trajectory optimization for motion planning (STOMP) algorithm, which is an improvement of the STOMP [23] algorithm, obtains a qualitatively collision-free trajectory according to user preferences [24]. Some researchers have presented a method for generating and synchronizing path-constrained trajectories for multi-robot systems [25]. Regarding the Asea Brown Boveri (ABB) company, they proposed a method to monitor the multi-arm, whether local at the collision space at the same time [26], before planning the path of each arm. With the development of machine learning, researchers can set different collision regions using efficient data-driven techniques to predict the joint collision position based on a support vector machine (SVM) algorithm [16; 17], which may lead to higher computational costs. In particular, the method proposed in [16] has already been applied on the Istituto Italiano di Tecnologia (IIT) SCAFoI humanoid robot. Compared with on-line methods, off-line planning can be dangerous. For example, a robot can be misguided in planning a collision trajectory. In off-line planning, the collision-free trajectory must be planned before the arm moves to the target, so off-line planning also leads to higher computational costs. In this paper, we propose an optimized collision model that decreases the computational cost as well as the robot hardware cost. In addition, it increases the reaction speed and accuracy simultaneously without any sensors to detect the relative distance of the two arms. To demonstrate the validity of the algorithm, two independent arms with conflicting tasks are considered, so that each arm is in danger of self-collision. The goal of this study is to develop a real-time self-collision avoidance method that consists of: (1) a collision model based on a finite number of spheres with different radii; and (2) a suitable self-collision avoidance strategy. The main contributions of this study are summarized as follows:  
1. In this study, we developed a collision model by using multiple discretized spherical bounding volumes with different radii, which has fewer spheres and can enclose the robot with a low approximation error. 2. To calculate all possible distances between spheres with different radii, a sensitivity index was proposed to measure the distance between different spheres. According to the minimal sensitivity index, the magnitude of the repulsive velocity can be measured using the sigmoid function. 3. The repulsive velocity will generate on each control point of each link. Based on the kinematic model of each arm, the repulsive velocity on each control point is projected in the velocity direction of the end-effector, which helps the robot modify the magnitude of the end-effector velocity, while generating the repulsive velocity on the control points to avoid self-collision at the collision spheres. The remainder of this paper has the following structure. In Section 2, the collision model of the dual-arm robot is developed, along with the method for calculating the minimum distance between the sphere bounding volumes. Section 3 describes the development of the real-time self-collision avoidance strategy of the robot. The repulsive velocity acts on the center of the spherical volumes to generate a smooth trajectory to avoid self-collision. In Section 4, the modeling parameters are identified in an example in which a robot is used. Simulations and experiments demonstrate the validity of the proposed algorithm.