Collision sensing including collision position, collision direction, and force size could make robots smoothly interact with environment, so that the robots can strongly adapt to the outside world. Skin sensor imitates principles of human skin using special material and physical structure to obtain collision information, but this method has some disadvantages, such as complex design, low sampling rate, and poor generality. In this paper, a new method using force/torque sensor to calculate collision position, collision direction, and force size is proposed. Detailed algorithm is elaborated based on physical principle and unified modeling method for basic geometric surface. Gravity compensation and dynamic compensation are also introduced for working manipulators/robots in gravity and dynamic environment. In addition, considering algorithm solvability and uniqueness, four constraints are proposed, which are force constraint, geometric constraint, normal vector constraint, and current mutation constraint. In order to solve conflict solution of algorithm in redundant constraints, compatibility solution analysis is proposed. Finally, a simulation experiment shows that the proposed method can achieve collision information efficiently and accurately.

1. Introduction

In recent years, more and more sensors are installed on robots to realize sensing and interacting with environment. These sensors help robots achieve a large amount of information about the environment, which contributes robots to make correct decision and planning. For example, vision sensor assists robots in obtaining appearance information of environment, which is used to realize target tracking and object capture, and so forth.

Collision sensing is also an important environment sensing method, through which robots sense collision point and collision direction to avoid collision again, and makes compliment control come true [1, 2]. In the environment containing human and robots, collision sensing is extremely significant to avoid serious collision. In addition, in [3], collision sensing is also used for compliance assembly. Since that collision sensing has so many applications, realization of whole robotic body sensing is gradually carried out [4, 5].

Skin force sensor like human skin system, which is pasted on the whole surface of robots, could sense force action point, force direction and size [2, 5]. In the research filed, MIT has developed a special compound material called QTC (Quantum Tunneling Composite), which is pressed by metal and nonmetal [2, 6]. This sensor measures force information by resistance change when it is pressed. Similar researches also include organic thin film composed of pentacene molecular (U-Tokyo, Japan) and E-skin (Philips Company), and so forth [1]. The skin force sensor looks like an ideal solution for robot force sensing, but there are many disadvantages that make it hard to be used in real world, such as being easy to damage during collision, expensive price, complex design and high environment requirements, low sampling rate, and poor generality [4, 7]. Moreover, sensitivity of skin sensor system could not achieve information of collision direction and could be influenced by many factors, such as temperature and humidity [1].

Skin force sensor is the direct method to measure force information; on the other way, it also could be checked out through indirect techniques [8, 9]. In [10] Mason and Salisbury have proposed the theory of calculating force information using force/torque sensor and in [11] Bicchi et al. have developed experiments to verify it. Zhou and Han use the theory to realize skin force sense on the one freedom finger [1214]. In this paper, theories of manipulator with multiple degrees of freedom are applied and method of compatibility solution analysis to solve contradiction of solutions is proposed.

The rest of this paper is organized as follows. Section 2 describes detection principle, when point collision happens, unified equation for collision sensing considering gravity and manipulator dynamics, and unified modeling method for basic geometric surface. In the gravity environment, force analysis is proposed in Section 3. In Section 4, force analysis is shown when manipulator is in a working condition. Solvability analysis is provided in Section 5, which includes force constraint, geometric constraint, normal vector constraint, current mutation constraint, and compatibility solution analysis. In Section 6, the simulation experiment and results are shown to prove effectiveness of the algorithm. Finally, the concluding remarks follow in Section 7.

2. Detection Principle

In this section, physical principle about point collision on manipulator is introduced. On the one hand, the whole process of force effect needs meets force analysis principle, and on the other hand, the result of calculation should suit physical laws, such as point which is on the manipulator surface and the angle of force direction and normal vector is less than .

2.1. Force Analysis

Assume that no gravity and manipulator are static; force analysis is shown in Figure 1. In order to apperceive whole system, force/torque sensor is assembled on the base and close to the first joint. The force/torque sensor could measure force in three directions and torque rotated of three coordinate axes.

In Figure 1, point means collision point, which is assumed on th joint. The center of force/torque sensor is expressed as , which is set as origin of coordinate system. Every joint of manipulator is built coordinate system as according to DH parameter method. represents coordinate system of th joint, and , , and , respectively, mean collision force, measured force, and measured torque. represents normal vector of point . could be achieved by translating coordinate system and no rotation. Then coordinate of point in is obtained by coordinate transformation, as shown in the following:where

When collision occurs, the outside force is , and data of force/torque sensor are and . According to force analysis, data of outside force in should be equal to measured data in ideal condition, as shown in the following:where

In (4),and means extraction of elements of the first three rows and the first column.

In (5),

Considering factor of gravity and manipulator dynamics in real world, general equation could be shown as follows:

In (8), and , respectively, express force and torque caused by collision mapping in basic coordinate system ; and , respectively, mean force and torque caused by gravity mapping in basic coordinate system , which will be analyzed in Section 3; and , respectively, express force and torque caused by manipulator dynamics mapping in basic coordinate system , which will be shown in Section 4.

In (8), , , , and could be calculated based on states of manipulator and joint physical properties, such as joint angle, joint velocity, joint acceleration, and joint quality. Collision information is just contented in and , that is, the parameters of , , , , , and .

2.2. Physical Constraint

Normal geometrical surface contains ellipsoid, sphere, cylindrical surface, and plane. They are able to construct all simple surfaces including outline of manipulators. Mathematical description mode of all manipulator surface is achieved through coordinate transformation. From the role of geometrical change, the core of four types of surface is ellipsoid, which is able to change to other three types by changing parameters, as shown in Figure 2.

Assume three axis lengths of ellipsoid are , , and , setting center as origin of coordinate system. When , sphere will be formed; when , cylindrical surface is achieved; and when , , and , plane surface is displayed. In summary, it just needs to build ellipsoid mode to describe all surface, as shown in the following:where

Normal vector of point is set as and could be calculated with equation as follows:where means coordinate values and represents gradient.

3. Gravity Compensation

In the above section, gravity element is sampled as and . In this section, gravity influence on sensor will be analyzed, which relates to joint length, joint angle gravity center of joint, and quality. All joints cause force and torque on sensor, so each of them needs to be calculated. Force analysis is shown in Figure 3 in gravity.

In Figure 3, is gravity center position in coordinate; then means coordinate of gravity center of th joint and is expressed aswhere

Assuming variety of sensors is , , then (14) and (15) are achieved:

In (14), () and is the total number of joints.

In (15), in order to easily calculate with matrix, vector is transformed into matrix :

4. Dynamic Compensation

In Section 3, manipulator dynamic is sampled as and . In this section, dynamic factor is analyzed. When manipulator works, it also causes reaction force to sensor, so calculation is also needed. Dynamic force is very complex, which relates to joint length, joint angle, joint angular velocity, joint angular acceleration, and so on. In Figure 4, dynamic force is analyzed.

In Figure 4, assume is joint angular acceleration and is gravity center position in coordinate. Then, acceleration of gravity center is expressed as

In coordinate, in order to keep moving as in Figure 4, the force and torque are calculated as shown in the following:

In (18), and , respectively, express quality and inertia of th joint, and

Due to the fact that is a motional coordinate, Coriolis force emerges in the whole system, which is expressed as

In (20), and , respectively, mean velocity vector and angular velocity vector of coordinate relative to basic coordinate.

Based on the principle of equivalence, the above forces and torque of joint are transfered to , which could be expressed as

In the above equation, and , respectively, mean acceleration force and Coriolis force in the basic coordinate; and express torque of force transformation; torque could transfer with no other changes, so .

Manipulator contains many joints, so all effect of force of joints on the basic coordinate is shown as

5. Solvability Analysis

At present, problem will be analyzed under the following limits in this subsection:(a)Material of manipulator is rigid, which means no deformation produce.(b)Collision is caused by manipulator and point of object.(c)All sensor is ideal.(d)Gravity is ignored in this subsection, because it has to be calculated in Section 5.3.(e)Manipulator dynamic is discussed in Section 5.4, so assume manipulator is static and motion of outside object causes collision.

In order to ensure solvability and uniqueness, four constraints are provided and compatibility principle is proposed.

5.1. Force Constraint

From Section 2, combine (8) and (9); seven equations are achieved with six variables. Moreover, , , , and are zero under the above assumption.

In order to easily calculate with matrix, vector is transformed into matrix :

Then, part of (8) could be changed to

Combining (1), (8), and (24), the following equation is achieved:where

is relation matrix and it is singular matrix in ideal condition, that is, rank() = 5. A series of solutions about (24) are obtained. There are many states that make rank() = 6, such as noise of sensor, precision of sensor, and deformation. This problem will be solved in Section 5.5.

5.2. Geometric Constraint

Force act on the surface of manipulator, so mathematical direction of whole outline is necessary to constraint solution, that is, means mathematical direction of manipulator surface.

5.3. Normal Vector Constraint

Because that force can only apply to manipulator from outside, the angle of force direction and normal vector is less than . Based on this constraint, equation could be shown as

5.4. Current Mutation Constraint

Strange geometries of manipulator surface and multiple degrees of freedom of manipulator may cause different force action with the same data of force/torque sensor. In this condition, uniqueness solution could not be calculated, so current mutation constraint is drawn in.

Assuming collision point is on the th joint, then the current of this joint will change suddenly. In addition, the current of th () joint also produces mutation, but the current of th () joint will not change suddenly. In this law, collision point will be judged on the th joint.

On the one hand, this constraint avoids multiple solutions, and on the other hand, it could ensure the range of collision point and accelerate the speed of calculation.

5.5. Compatibility Solution Analysis

In Section 5.1, if rank() = 5, then uniqueness solution will be achieved combining with (9) which means compatibility is the best. But many elements cause rank() = 6, such as noise of sensor, precision of sensor, and deformation. There is no solution through combining (8) and (9), so compatibility solution analysis is proposed to ensure an approximate solution. In Figure 5, process of method is shown.

From Figure 5, when rank() = 6, five equations will be chosen from matrix equation (25) and combining with (9); then one group of solution is obtained. Other five groups of solutions will be also achieved by the same way. Every solution includes the information about position and force size in three coordinate axes. Six normal vectors about solution position are achieved through (25). Then singular solutions should be removed by deviation of positions and normal vectors. At this moment, average values of the rest of solutions are calculated, and choose the closest point in outline of manipulator as approximate solution. At last, force size in three coordinate axes will be achieved by (25). This method avoids no solution condition and achieves an approximate solution.

6. Simulation Experiment

One manipulator with three degrees of freedom is established, as shown in Figure 6. In order to simplify analysis, the outline of manipulator is composed of cylindrical surface and semisphere, and the size is set to . In addition, the material of every joint is uniform and set as 1060 alloys ( kg/m3) and geometry of every joint is central symmetry; then gravity center of joint lies on central axis.

When collision occurs, data of force/torque sensor change with time. In engineering application, some signal processing methods will be adopted to achieve effective data. In this paper, our attention is focused on the method of collision sensing, so in order to simplify analysis, assume that manipulator is static. Parameters of links are listed in Table 1.

In Figure 6,  mm,  mm,  mm,  mm, and  mm. Due to the fact that joint connected surface is complex, assume collision point is only on link rod. Surface of each joint is described in coordinate of itself as follows:Link 1: Link 2: Link 3: Top of Link 3:

According to coordinate transformation matrix as shown in equations of links’ outline in basic coordinate will be obtained as shown in the following:Link 1:Link 2:Link 3:Top of Link 3:where

Considering gravity compensation, the manipulator is analyzed as shown in Figure 7, where  mm and  mm,

Mode of manipulator is built in ADAMS, and two groups of data are tested to verify our algorithm.

Assume , , and , and 100 N force applies on the surface. Ten points are tested, throughout the entire surface.

In another experiment, assume , , and , but force size is changed at the same position = (206.08 72.79525.46).

In Tables 2 and 3, force size, force direction, and force position are known and set as input conditions; detected force and detected torque express the data of force/torque sensor, which could be achieved by measurement; calculated position and calculated force could be obtained by (8) and coordinate transformation with a series of calculations; force size error, force direction error, and position error are put forward to judge accuracy and validity of the calculation. Equation of each error is shown as follows:Force size error:Force direction error:Position error:

In these three equations, , , and mean force size of calculated force and , , and mean calculated position mapping to three axes in basic coordination; , , and mean force size of force and , , and mean calculated position mapping to three axes in basic coordination.

From Tables 2 and 3, collision detection is effective and the relative error is extremely small in simulation environment. In order to intuitively express data relation, Figures 8 and 9 are drawn to show them. In Figure 8, relation between different collision positions and each error is established. In Figure 9, relation between different force sizes and each error is established.

In Figure 8, force size error, force direction error, and position error all become larger with farther distance. Different collision point produces different error and each error will be larger with farther distance. If we use this method to test collision information, it must ensure whether the biggest errors meet accuracy requirements at the farthest point of manipulator.

In Figure 9, force direction error and position error become smaller with bigger force, and force size error is fluctuating. Sensitivity of this method is almost certain at the same point, so force direction error and position error become smaller with bigger force. About fluctuating of force size error, (40) has given our explanation that numerator and denominator influence force size error at the same time and have the same trend.

7. Summary

Both animal’s arm and person’s arm are wrapped by skins, which help them protect their biological organization and apperceive environmental information, such as temperature change and object collision. Researchers except manipulators also have the same function with biological arm, but the method is expensive and easily damaged by distributing sensors on the whole manipulator’s outline, so one indirect method to detect collision point and direction by using force/torque sensor is put forward. Compared to skin force sensor, the force/torque sensor is easy to be installed and maintained. In our method, constraint equations and compatibility solution analysis is used to ensure existence of solution. Moreover, gravity compensation and dynamic compensation are also described, which indicate this theory could be effective in gravity environment and when manipulators are exercising. At last, the simulation experiment is executed to verify our algorithm and the result is perfect.

But there exist a lot of engineering problems, if this method is used in real system, which could be as follows: how to extract more accurate force and torque information, based on the fact that signal of sensor is fluctuant; how to describe manipulator’s outline accurately, because it has complex shape; how to measure force and torque in an instant when manipulator collides; how to realize real-time perception, on the condition that this theory contents a lot of calculations. In order to promote the theory in engineering application some experiments will be done on a real system, especially putting focus on the above problems.

Conflict of Interests

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


This work is supported by National Postdoctoral Foundation of China under Grant 2013M541258, State Key Laboratory of Robotics (2015-Z08).