1 Introduction

Micro-assembly is one of the key techniques in the domain of advanced manufacturing, which can be widely applied to the fields of Micro-Electro-Mechanism System (MEMS), precision photo-electronic engineering, biotechnology, medical science, etc. [1,2,3,4]. Since the operating objects are small and easily damaged, micro-assembly not only needs microscopic vision to offer essential observation, but demands controlling the contact force during the operation to ensure the lossless as well. Thus, measuring and control technology of micro-force is regarded as one of the important technical supports for assembly tasks to meet accurate and lossless requirements. The research of measuring technology of micro-force mainly focus on the characteristic of micro-force, measuring methods, and sensors, etc. The control of micro-force in micro-assembly mainly involves two kinds of problems: (1) How to control the micro-gripper to grasp the objects stably and release without adhesion? (2) How to control the micro-force produced in the process of assembly to achieve the purpose of nondestructive?

Aiming at above problems, some achievements have been attained. For the former problem, Thompson et al. design ortho-tweezers to perform automated pick and place task of 200 × 200 × 100 micron blocks [5]. Tanikawa et al. propose a two-fingered micro gripper which has the capability of maintaining the force between the gripper and a micro ball with 5 μm in size based on the force sensor attached with finger [6]. Kim et al. design a monolithic MEMS-based micro-gripper with integrated force feedback along two axes and present the first demonstration of force controlled micro-grasping at the nanonewton force level [7]. Xu proposes a series of approaches based on sliding mode impendence control to regulate both position and contact force of a piezoelectric-bimorph microgripper for micromanipulation and microassembly applications [8, 9]. Komati et al. propose an automated guiding strategy based on external hybrid force/position control method to manipulate a flexible micro-part [10]. For the latter problem, Zhou et al. investigate the integration use of the microscopic vision and force feedback to perform the impact force control during the assembly [11]. Lu et al. study the issue of force transmission by designing a compound frictionless flexure stage, based on which the interaction force is controlled to follow a desired trajectory [12]. Shen et al. perform the assembly of micro mirror by regulating the micro contact force utilizing a polyvinylidene fluoride (PVDF) force sensor [13]. Li et al. propose a novel method based on the mapping between assembly force and position through a combined error back propagation network and a genetic algorithm. The method is used in the micro-adjustment process to achieve high assembly precision and high assembly quality [14]. Qin et al. present an active radial compliance method based on clustering and support vector machines to perform the insertion task of thin walled millimeter-sized cylinders [15]. Xu proposes the constant-force mechanism to perform microgripping of biological cells in the pursuit of avioding large deformation which will break the equilibrium state inside the cell [16]. Liu et al. realize high precision assembly of two components in the size of mm level with an interference fit based on microscopic vision and force information [17]. A micro-scale pinhole assembly was analyzed and a shear stress model for repeated interference fits is given considering different pin-tip edges in [18]. Kim et al. propose a shape recognition and a hole detection algorithm based on a 6-axis F/T sensor to realize the precision assembly of peg-in-hole [19].

Although many achievements have been attained in micro-force based micro-manipulation and micro-assembly, the research concerns the automatic 3-D space micro-assembly based on multi-dimensional micro torques are few. The main difficulty lies in that the relationship between the attitude deviation and torque is not the one-to-one mapping relationship due to the uncertain contact state in the process of assembly. One solution for eliminating the attitude deviation without consideration of the uncertain contact state is to make the robot arm, wrist or gripper has certain compliance [20]. However, the limitation of this passive compliant control method is that a larger force may be produced in the assembly process which is absolutely not allowed in many application such as laser target fabrication [21]. In addition, the compliant gripper is also not easy to be fabricated.

Aiming at the above problems, an automatic assembly method for peg and hole insertion based on multidimensional micro forces and torques is developed which can minimize the contact forces and torques in the meanwhile. Firstly, the relationship between the forces and torques from the force sensor and the attitudes deviation of peg and hole is discussed. Moreover, a novel method based on active constraint state is proposed to solve the uncertain relationship between the attitude deviation and torques. On this basis, a control strategy for controlling the horizontal contact forces and torques during the insertion process is designed to achieve automated insertion of peg and hole. Peg and hole micro assembly experiments are conducted to validate the effectiveness of the proposed scheme and the results demonstrate the rationality of proposed approaches.

The rest of the paper is organized as follows. Section 2 analyses the relationship between the forces and torques from the force sensor and the attitudes deviation of peg and hole. Then the method for estimating the deviation angles between the peg and the hole through the force sensor is presented. Section 3 analyzes the control strategy of the automated insertion. Section 4 shows the experiment results and error analysis. Finally, conclusions and suggestions for future work are given in Sect. 5.

2 The Model of Relationship Between the Forces and Torques from the Force Sensor and the Attitudes Deviation of Peg and Hole

2.1 Problem Formulation

The process of peg and hole assembly is generally divided into two stages: (1) the stage of locating the hole; (2) the insertion stage of peg and hole. In the field of micro assembly, micro vision is usually needed to locate micro devices. Therefore, compared with the macro peg and hole assembly, the stage of locating the hole can be directly realized by micro vision, which not only improves the assembly efficiency, but also avoids the damage caused by the searching operation. However, micro vision usually fails in the insertion stage of peg and hole due to occlusion. Meanwhile, for the assembly task of the easily damaged micro part such as thin wall micro part, the forces produced in the insertion stage need to be monitored to ensure the lossless assembly of components.

Since the force or torque produced in the insertion stage is mainly caused by the position and posture deviation of the two parts, it is necessary to solve how to eliminate position and posture deviation based on force or torque information. However, it is difficult to achieve the posture deviation elimination based on torque information since the relationship between them is not the one-to-one mapping relationship due to the uncertain contact state in the process of assembly. To break through this problem, first of all we have to make clear the relationship between the forces and torques from the force sensor and the attitudes deviation of peg and hole.

Thus, the peg and hole insertion method based on six-component force sensor is studied by employing a 7-DOF (degree of freedom) micro-assembly robot whose kinematic scheme is shown in Fig. 1. The robot is able to translate hole A in 3 translational DOF (x, y and z) by utilizing motion platform W1 and rotate peg B in 3 rotational DOF (θx, θy and θz) in combination of 1 translational DOF (z) in virtue of motion platform W2 simultaneously. Moreover, a six-component micro force sensor is employed to monitor the forces and torques exerted on the hole A. In addition, to express the force, torque, position and pose clearly, three categories of frame should be established first including motor coordinate system, force sensor system and conjoined coordinate system. As shown in Fig. 1, oW1xW1yW1zW1 and oW2xW2yW2zW2 are motor coordinate systems attached to motion platform W1 and W2 respectively with their axes parallel to the stepper motors’ moving directions accordingly. osxsyszs is labeled as force sensor coordinate system whose axes coincide with direction of the forces sensing. opxpypzp and ohxhyhzh are conjoined coordinate systems attached to peg B and hole A respectively with opzp and ohzh are parallel to their axes accordingly.

Fig. 1
figure 1

Kinematic scheme of the micro-assembly robot for peg-hole insertion

The general output torque equation of force sensor can be expressed as follows

$$\varvec{M}_{\mathbf{xs}} = \varvec{l}_{\mathbf{zs}} \times \varvec{F}_{\mathbf{ys}} + \varvec{l}_{\mathbf{ys}} \times \varvec{F}_{\mathbf{zs}}$$
(1)
$$\varvec{M}_{{{\mathbf{ys}}}} = \varvec{l}_{{{\mathbf{zs}}}} \times \varvec{F}_{{{\mathbf{xs}}}} + \varvec{l}_{{{\mathbf{xs}}}} \times \varvec{F}_{{{\mathbf{zs}}}}$$
(2)
$$\varvec{M}_{{{\mathbf{zs}}}} = \varvec{l}_{{{\mathbf{ys}}}} \times \varvec{F}_{{{\mathbf{xs}}}} + \varvec{l}_{{{\mathbf{xs}}}} \times \varvec{F}_{{{\mathbf{ys}}}}$$
(3)

where Fxs, Fys and Fzs are the forces from the force sensor which are parallel to axes osxs, osys and oszs respectively. Mxs, Mys and Mzs are the torques exerted on the force sensor which are around the axes osxs, osys and oszs respectively. lxs, lys and lzs are components of the vector of force arm which is from os to contact point C as shown in Fig. 1. Based on the above torque equations, the relationship between the forces and torques from the force sensor and the attitudes deviation of peg and hole is discussed in the following part.

2.2 The Model of Relationship Between the Forces and Torques from the Force Sensor and the Attitudes Deviation of Peg and Hole

The objective of the insertion process can be considered as the adjustments of the position deviation between the peg and the hole axes and the angle between axes of the peg and the hole. Since the case of only position deviation exists is simple, we focus on the analysis for the case of attitudes deviation. When the attitudes deviation exists, there are two types contact situations. One is single point of contact such as the situation of S1, S2, S4 and S5 shown in Fig. 2, and the other is two-point contact situation as S3 and S6.

Fig. 2
figure 2

Force and torque analysis for the insertion of peg and hole

Before the analysis for the kinds of situations, some notation should be introduced first for the sake of clarity. Cu is labeled as the contact point of the upper surface of the peg and inner side wall of hole. Similarly, Cd denotes the contact point of the lower surface of the hole and the outer side wall of peg. Moreover, Fxui, Fyui and Fzui denote the component of resultant force exerted on the contact point Cu along axes osxs, osys and oszs respectively in the case of Si (i = 1,…6). Fxyui is the resultant force of Fxui and Fyui. lxui, lyui, lzui are the components of vector \(\overrightarrow {{O_{{\mathbf{s}}} C_{{\mathbf{u}}} }}\) along axes osxs, osys and oszs respectively. Correspondingly, Fxdi, Fydi and Fzdi denote the component of resultant force exerted on the contact point Cd along axes osxs, osys and oszs respectively. Fxydi is the resultant force of Fxdi and Fydi. lxdi, lydi, lzdi are the components of vector \(\overrightarrow {{O_{{\mathbf{s}}} C_{{\mathbf{d}}} }}\) along axes osxs, osys and oszs respectively. In addition, Fxsi, Fysi and Fzsi are the forces from the force sensor which are parallel to axes osxs, osys and oszs respectively. Mxsi, Mysi and Mzsi are the torques exerted on the force sensor which are around the axes osxs, osys and oszs respectively. The angle between Fxyui and axis osxs is named as θi which is in the range of [−π, π]. The angle between the axis of hole and peg is named as φi which is in the range of [0, π/2). Likewisely, θ i denotes the angle between Fxydi and axis osxs with range of [−π, π]. exs, eys and ezs are unit vector along axes osxs, osys and oszs respectively. ht is the height of transmit component. rh and rp are the radius of hole and peg respectively. di is the distance from Cu to bottom of hole as shown in Fig. 2.

In the case of S1, contact force and friction force named as Nu1 and fu1 respectively are exerted on the contact point Cu1 of hole as shown in Fig. 2. The direction of Nu1 is perpendicular to the axis of hole and parallel to the plane osxsys. The direction of fu1 is parallel to the axis of hole. Thus, in the situation of S1, the output force and torque equations of force sensor is given as

$$\varvec{F}_{{{\mathbf{xs1}}}} = \left| {\varvec{N}_{{{\mathbf{u1}}}} } \right|\cos \theta_{1} \varvec{e_{{{\mathbf{xs}}}}}$$
(4)
$$\varvec{F}_{{{\mathbf{ys1}}}} = \left| {\varvec{N}_{{{\mathbf{u1}}}} } \right|\sin \theta_{1} \varvec{e_{{{\mathbf{ys}}}}}$$
(5)
$$\varvec{F}_{{{\mathbf{zs}}1}} = \left| {f_{{{\mathbf{u1}}}} } \right|\varvec{e_{{{\mathbf{zs}}}}} = \mu \left| {\varvec{N}_{{{\mathbf{u1}}}} } \right|\varvec{e_{{{\mathbf{zs}}}}}$$
(6)
$$M_{{{\mathbf{xs1}}}} = \varvec{l}_{{{\mathbf{zu1}}}} \times \varvec{F}_{{{\mathbf{ys}}1}} + \varvec{l}_{{{\mathbf{yu1}}}} \times \varvec{F}_{{{\mathbf{zs}}1}} = (d_{1} + h_{{\text{t}}} + r_{{\text{h}}} \mu )\left| {\varvec{N}_{{{\mathbf{u1}}}} } \right|\sin \theta_{1} \varvec{e_{{{\mathbf{xs}}}}}$$
(7)
$$\varvec{M}_{{{\mathbf{ys1}}}} = \varvec{l}_{{{\mathbf{zu1}}}} \times \varvec{F}_{{{\mathbf{xs}}1}} + \varvec{l}_{{{\mathbf{xu1}}}} \times \varvec{F}_{{{\mathbf{zs}}1}} = - (d_{1} + h_{{\text{t}}} + r_{\text{h}} \mu )\left| {\varvec{N}_{{{\mathbf{u1}}}} } \right|\cos \theta_{1} \varvec{e_{{{\mathbf{ys}}}}}$$
(8)
$$M_{{{\mathbf{zs1}}}} = 0$$
(9)

where μ is coefficient of the friction force. lxu1, lyu1 and lzu1 are expressed as \(\varvec{l}_{{{\mathbf{xu1}}}} = r_{\text{h}} \cos \theta_{1} \varvec{e}_{{{\mathbf{xs}}}}\), \(\varvec{l}_{{{\mathbf{yu1}}}} = r_{\text{h}} \sin \theta_{1} \varvec{e}_{{{\mathbf{ys}}}}\) and \(\varvec{l}_{{{\mathbf{zu1}}}} = - (d_{1} + h_{\text{t}} )\varvec{e}_{{{\mathbf{zs}}}}\) respectively. It can be seen that, in the case of S1, the forces Fxsi and Fysi or torque Mxs1 and Mys1 are only related to the angle θ1 from Eqs. (4), (5), (7) and (8). In addition, the output force and torque equations of force sensor in the case of S4 are same as S1.

Similarly, in the case of S2, contact force and friction force named as Nd2 and fd2 respectively are exerted on the contact point Cd2 of hole. To be different of the case of S1, the direction of Nd2 is perpendicular to the axis of peg and the direction of fd2 is parallel to the axis of peg. Therefore, the resultant force of Nd2 and fd2 can be divided into two component forces named as Fxyd2 and Fzd2 whose direction are parallel to the plane of osxsys and axis oszs respectively. The magnitude of Fxyd2 and Fzd2 can be calculated as

$$\left| {\varvec{F}_{{{\mathbf{xyd2}}}} } \right| = \left| {\varvec{N}_{{{\mathbf{d2}}}} } \right|\cos \varphi_{2} - \left| {\varvec{f}_{{{\mathbf{d2}}}} } \right|\sin \varphi_{2} = \left| {\varvec{N}_{{{\mathbf{d2}}}} } \right|{\text{g}}_{1} (\varphi_{2} )$$
(10)
$$\left| {\varvec{F}_{{{\mathbf{zd2}}}} } \right| = \left| {\varvec{N}_{{{\mathbf{d2}}}} } \right|\sin \varphi_{2} + \left| {\varvec{f}_{{{\mathbf{d2}}}} } \right|\cos \varphi_{2} {\kern 1pt} {\kern 1pt} = \left| {\varvec{N}_{{{\mathbf{d2}}}} } \right|{\text{g}}_{2} (\varphi_{2} )$$
(11)

where \(g_{1} (\varphi _{2} ) = (\cos \varphi _{2} - \mu \sin \varphi _{2} )\) and \({\text{g}}_{2} (\varphi_{2} )=(\sin \varphi_{2} { + }\mu \cos \varphi_{2} )\).

Then, the output force and torque equations of force sensor in the case of S2 are given by

$$\varvec{F}_{{{\mathbf{xs2}}}} = \left| {\varvec{F}_{{{\mathbf{xyd2}}}} } \right|\cos \theta_{2}^{\prime } \varvec{e_{{{\mathbf{xs}}}}} = \left| {\varvec{N}_{{{\mathbf{d2}}}} } \right|{\text{g}}_{1} (\varphi_{2} )\cos \theta_{2}^{\prime } \varvec{e_{{{\mathbf{xs}}}}}$$
(12)
$$\varvec{F}_{{{\mathbf{ys2}}}} = \left| {\varvec{F}_{{{\mathbf{xyd2}}}} } \right|\sin \theta_{2}^{\prime } \varvec{e_{{{\mathbf{ys}}}}} = \left| {\varvec{N}_{{{\mathbf{d2}}}} } \right|{\text{g}}_{1} (\varphi_{2} )\sin \theta_{2}^{\prime } \varvec{e_{{{\mathbf{ys}}}}}$$
(13)
$$\varvec{F}_{{{\mathbf{zs2}}}} = \left| {\varvec{F}_{{{\mathbf{z}}{\text{d}}{\mathbf{2}}}} } \right|\varvec{e_{{{\mathbf{zs}}}}} = \left| {\varvec{N}_{{{\mathbf{d2}}}} } \right|{\text{g}}_{2} (\varphi_{2} )\varvec{e_{{{\mathbf{zs}}}}}$$
(14)
$$\begin{aligned} \varvec{M}_{\mathbf{xs2}} & = \varvec{l}_{\mathbf{zd2}} \times \varvec{F}_{\mathbf{ys2}} + \varvec{l}_{\mathbf{yd2}} \times \varvec{F}_{\mathbf{zs2}} \\ & = [(h_{{\text{h}}} + h_{{\text{t}}}) {\text{g}}_{1} (\varphi_{2} ) + r_{\text{h}} {\mathrm{g}}_{2} (\varphi_{2} )]\left| {\varvec{N}_{\mathbf{d2}} } \right|\sin \theta_{2}^{\prime } \varvec{e_{\mathbf{xs}}} \\ \end{aligned}$$
(15)
$$\begin{aligned} \varvec{M}_{{{\mathbf{ys2}}}} & = \varvec{l}_{{{\mathbf{zd2}}}} \times \varvec{F}_{{{\mathbf{xs2}}}} + \varvec{l}_{{{\mathbf{xd2}}}} \times \varvec{F}_{{{\mathbf{zs2}}}} \\ & = - [(h_{{\text{h}}} + h_{{\text{t}}} ){\text{g}}_{1} (\varphi_{2} ) + r_{\text{h}} {\mathrm{g}}_{2} (\varphi_{2} )]\left| {\varvec{N}_{{{\mathbf{d2}}}} } \right|\cos \theta_{2}^{\prime } \varvec{e_{{{\mathbf{ys}}}}} \\ \end{aligned}$$
(16)
$$\varvec{M}_{{{\mathbf{zs2}}}} = 0$$
(17)

where lxd2, lyd2 and lzd2 can be calculated as \(\varvec{l}_{{{\mathbf{xd2}}}} = r_{\text{h}} \cos \theta_{2}^{\prime } \varvec{e}_{{{\mathbf{xs}}}}\), \(\varvec{l}_{{{\mathbf{yd2}}}} = r_{\text{h}} \sin \theta_{2}^{{\prime }} \varvec{e}_{{{\mathbf{ys}}}}\) and \(\varvec{l}_{{{\mathbf{zd2}}}} = - (h_{\text{h}} + h_{\text{t}} )\varvec{e}_{{{\mathbf{zs}}}}\) respectively. Hence, from Eqs. (15) and (16) it can be seen that the forces Fxs2 and Fys2 or the torque Mxs2 and Mys2 are simultaneously related to the angle θ 2 and φ2 which are different from the case S1. In addition, the output force and torque equations of force sensor in the case of S5 are same as S2.

For the case of S3 which is belong to the two-point contact type, the two contact points Cu3 and Cd3 are impacted by contact force and friction force named as Nu3, fu3, Nd3 and fd3 respectively. The direction of Nu3 and Nd3 are perpendicular to the axis of hole and peg respectively while direction of fu3 and fd3 are parallel to the axisof hole and peg respectively. Thus, the magnitude of Fxyu3, Fzu3Fxyd3 and Fzd3 can be calculated as

$$\left| {\varvec{F}_{{{\mathbf{xyu3}}}} } \right| = \left| {\varvec{N}_{{{\mathbf{u3}}}} } \right|$$
(18)
$$\left| {\varvec{F}_{{{\mathbf{zu3}}}} } \right| = \left| {\varvec{f}_{{{\mathbf{u3}}}} } \right|$$
(19)
$$\left| {\varvec{F}_{{{\mathbf{xyd3}}}} } \right| = \left| {\varvec{N}_{{\varvec{d}{\mathbf{3}}}} } \right|(\cos \varphi_{3} - \mu \sin \varphi_{3} ) = \left| {\varvec{N}_{{\varvec{d}{\mathbf{3}}}} } \right|{\text{g}}_{1} (\varphi_{3} )$$
(20)
$$\left| {\varvec{F}_{{{\mathbf{zd3}}}} } \right| = \left| {\varvec{N}_{{{\mathbf{d3}}}} } \right|(\sin \varphi_{3} + \mu \cos \varphi_{3} ) = \left| {\varvec{N}_{{{\mathbf{d3}}}} } \right|{\text{g}}_{2} (\varphi_{3} )$$
(21)

where \({\text{g}}_{1} (\varphi_{3} ) =(\cos \varphi_{3} - \mu \sin \varphi_{3} )\) and \({\text{g}}_{2} (\varphi_{3} ) = (\sin \varphi_{3} { + }\mu \cos \varphi_{3} )\).

$$\varvec{F}_{{{\mathbf{xs3}}}} = \varvec{F}_{{{\mathbf{xu3}}}} + \varvec{F}_{{{\mathbf{xd3}}}} = [\left| {\varvec{N}_{{{\mathbf{u3}}}} } \right|\cos \theta_{3} + \left| {\varvec{N}_{{{\mathbf{d3}}}} } \right|{\text{g}}_{1} (\varphi_{3} )\cos \theta_{3}^{{\prime }} ]\varvec{e_{{{\mathbf{xs}}}}}$$
(22)
$$\varvec{F}_{{{\mathbf{ys3}}}} = \varvec{F}_{{{\mathbf{yu3}}}} + \varvec{F}_{{{\mathbf{yd3}}}} = [\left| {\varvec{N}_{{{\mathbf{u3}}}} } \right|\sin \theta_{3} + \left| {\varvec{N}_{{{\mathbf{d3}}}} } \right|{\text{g}}_{1} (\varphi_{3} )\sin \theta_{3}^{{\prime }} ]\varvec{e_{{{\mathbf{ys}}}}}$$
(23)
$$\varvec{F}_{{{\mathbf{zs3}}}} = \varvec{F}_{{{\mathbf{zu3}}}} + \varvec{F}_{{{\mathbf{zd3}}}} = [\mu \left| {\varvec{N}_{{{\mathbf{u3}}}} } \right| + \left| {\varvec{N}_{{{\mathbf{d3}}}} } \right|{\text{g}}_{2} (\varphi_{3} )]\varvec{e_{{{\mathbf{zs}}}}}$$
(24)
$$\begin{aligned} \varvec{M}_{{{\mathbf{xs3}}}} & = \varvec{l}_{{{\mathbf{zu3}}}} \times \varvec{F}_{{{\mathbf{ys3}}}} + \varvec{l}_{{{\mathbf{yu3}}}} \times \varvec{F}_{{{\mathbf{zs3}}}} + \varvec{l}_{{{\mathbf{zd3}}}} \times \varvec{F}_{{{\mathbf{ys3}}}} + \varvec{l}_{{{\mathbf{yd3}}}} \times \varvec{F}_{{{\mathbf{zs3}}}} \\ & = h_{\text{c1}} \left| {\varvec{N}_{{{\mathbf{u3}}}} } \right|\sin \theta_{3} \varvec{e_{{{\mathbf{xs}}}}} + [h_{\text{c2}} {\mathrm{g}}_{1} (\varphi_{3} ) + r_{\text{h}} {\mathrm{g}}_{2} (\varphi_{3} )]\left| {N_{{{\mathbf{d3}}}} } \right|\sin \theta_{3}^{{\prime }} \varvec{e_{{{\mathbf{xs}}}}} \\ \end{aligned}$$
(25)
$$\begin{aligned} \varvec{M}_{{{\mathbf{ys3}}}} & = \varvec{l}_{{{\mathbf{zu3}}}} \times \varvec{F}_{{{\mathbf{xs3}}}} + \varvec{l}_{{{\mathbf{xu3}}}} \times \varvec{F}_{{{\mathbf{zs3}}}} + \varvec{l}_{{{\mathbf{zd3}}}} \times \varvec{F}_{{{\mathbf{xs3}}}} + \varvec{l}_{{{\mathbf{xd3}}}} \times \varvec{F}_{{{\mathbf{zs3}}}} \\ & = - h_{\text{c1}} \left| {\varvec{N}_{{{\mathbf{u3}}}} } \right|\cos \theta_{3} \varvec{e_{{{\mathbf{ys}}}}} - [h_{\text{c2}} {\mathrm{g}}_{1} (\varphi_{3} ) + r_{\text{h}} {\mathrm{g}}_{2} (\varphi_{3} )]\left| {\varvec{N}_{{{\mathbf{d3}}}} } \right|\cos \theta_{3}^{{\prime }} \varvec{e_{{{\mathbf{ys}}}}} \\ \end{aligned}$$
(26)
$$\varvec{M}_{{\varvec{zs}3}} = 0$$
(27)

where lxu3, lyu3, lzu3lxd3, lyd3, lzd3, hc1 and hc2 can be calculated as \(\varvec{l}_{{{\mathbf{xu3}}}} = r_{h} \cos \theta_{3} \varvec{e}_{{{\mathbf{xs}}}}\),\(\varvec{l}_{{{\mathbf{yu3}}}} = r_{h} \sin \theta_{3} \varvec{e}_{{{\mathbf{ys}}}}\),\(\varvec{l}_{{{\mathbf{zu3}}}} = - (d_{3} + h_{\text{t}} )\varvec{e}_{{{\mathbf{zs}}}}\), \(\varvec{l}_{{{\mathbf{xd3}}}} = r_{h} \cos \theta_{3}^{\prime } \varvec{e}_{{{\mathbf{xs}}}}\), \(\varvec{l}_{{{\mathbf{yd3}}}} = r_{h} \sin \theta_{3}^{\prime } \varvec{e}_{{{\mathbf{ys}}}}\), \(\varvec{l}_{{{\mathbf{zd3}}}} = - (h_{\text{h}} + h_{\text{t}} )\varvec{e}_{{{\mathbf{zs}}}}\), \(h_{\text{c1}} = d_{ 3} + h_{\text{t}} + r_{\text{h}} \mu\), \(h_{\text{c2}} = h_{\text{h}} + h_{\text{t}}\) separately. Hence, from Eqs. (25) and (26) it can be seen that the forces Fxs3 and Fys3 or the torque Mxs3 and Mys3 are simultaneously related to the angle θ3, θ 3 and φ3. In addition, the output force and torque equations of force sensor in the case of S6 are same as S3.

Based on above analysis, two conclusions can be drawn as follows:

  1. 1.

    It is difficult to deduce which type of contact case the hole and peg should be belongs to in the process of insertion only based on the forces and torques from force sensors. Because no distinctive feature is existed on the force sensor’s output equation between single point contact case and two-point contact case despite their calculation formula are different. In other word, one group of force sensor’s output value may be corresponding to multiple contact cases.

  2. 2.

    For the contact case S1 or S4 which are attribute to single point contact case type, it can’t be estimated the attitudes deviation from the force and torque equation because the forces Fxsi and Fysi or torque Mxsi and Mysi are only related to the angle θi (i = 1 or 4). Coupled with the problem of uncertain contact cases, it can’t be obtained the pose deviation between the peg and hole directly only based on the forces and torques from force sensors. To overcome the above difficulties, we present a novel method to estimate the attitudes deviation between peg and hole in the following section.

2.3 The Method for Estimating the Attitude Deviation from the Force Sensor Based on Active Constraint State

Besides the contact states with attitudes deviation, the contact cases of the peg and hole also include the cases that only position deviation exists. Thus, in consideration of the above discussion, one can see that the contact case type should be certain before estimating the attitudes deviation. Hence, as shown in Fig. 3, the principle of our solution is to find a condition to force the peg and hole to be one certain contact state distinguishing from the kinds of contact states. We define the condition and the certain contact state as constraint state condition and active constraint state respectively. The constraint state condition is defined by the output forces of the micro force sensor and given as

Fig. 3
figure 3

The princple of the method for estimating the attitudes deviation from the force sensor based on active constraint state

$$\varvec{F}_{{{\mathbf{xs}}}} = 0$$
(28)
$$\varvec{F}_{{{\mathbf{ys}}}} = 0$$
(29)

Then, the active constraint state is defined as the contact state which satisfies the above constraint state condition. Specifically, the active constraint state must not be the case of position deviation and not be the single point contact case as well due to Fxsi and Fysi are not be zero simultaneously in those cases. The active constraint state is confirmed be the special two-points contact case which satisfies the constraint condition at same time. In this case, the forces exerted on the hole can be given by

$$\varvec{F}_{\mathbf{xyu}} = \varvec{F}_{\mathbf{xyd}}$$
(30)

From the above equation combined with Eqs. (18)–(21), the following equations can be obtained as

$$\left| {\varvec{N}_{{\mathbf{u}}} } \right| = \left| {\varvec{N}_{{\mathbf{d}}} } \right|(\cos \varphi - \mu \sin \varphi )$$
(31)
$$\cos \theta = - \cos \theta^{\prime }$$
(32)
$$\sin \theta = - \sin \theta^{\prime }$$
(33)

Substituting the above equations into Eqs. (24)–(27), the remainder output force and torque equations of force sensor in the active constraint state are expressed as

$$\varvec{F}_{{{\mathbf{zs}}}} = \varvec{F}_{{{\mathbf{zu}}}} + \varvec{F}_{{{\mathbf{zd}}}} = \left| {\varvec{N}_{{\mathbf{d}}} } \right|[2\mu \cos \varphi + (1 - \mu^{2} )\sin \varphi ]\varvec{e}_{{{\mathbf{zs}}}}$$
(34)
$$\begin{aligned} \varvec{M}_{{{\mathbf{xs}}}} & = \varvec{l}_{{{\mathbf{zu}}}} \times \varvec{F}_{{{\mathbf{ys}}}} + \varvec{l}_{{{\mathbf{yu}}}} \times \varvec{F}_{{{\mathbf{zs}}}} + \varvec{l}_{{{\mathbf{zd}}}} \times \varvec{F}_{{{\mathbf{ys}}}} + \varvec{l}_{{{\mathbf{yd}}}} \times \varvec{F}_{{{\mathbf{zs}}}} \\ & = - [(h_{\text{h}} - d)(\cos \varphi - \mu \sin \varphi ) + (1 + \mu^{2} )r_{\text{h}} \sin \varphi ]\left| {\varvec{N}_{{\mathbf{d}}} } \right|\sin \theta \varvec{e}_{{{\mathbf{xs}}}} \\ \end{aligned}$$
(35)
$$\begin{aligned} \varvec{M}_{{{\mathbf{ys}}}} & = \varvec{l}_{{{\mathbf{zu}}}} \times \varvec{F}_{{{\mathbf{xs}}}} + \varvec{l}_{{{\mathbf{xu}}}} \times \varvec{F}_{{{\mathbf{zs}}}} + \varvec{l}_{{{\mathbf{zd}}}} \times \varvec{F}_{{{\mathbf{xs}}}} + \varvec{l}_{{{\mathbf{xd}}}} \times \varvec{F}_{{{\mathbf{zs}}}} \\ & = [(h_{\text{h}} - d)(\cos \varphi - \mu \sin \varphi ) + (1 + \mu^{2} )r_{\text{h}} \sin \varphi ]\left| {\varvec{N}_{{\mathbf{d}}} } \right|\cos \theta \varvec{e}_{{{\mathbf{ys}}}} \\ \end{aligned}$$
(36)
$$\varvec{M}_{{{\mathbf{zsi}}}} = 0$$
(37)

where hh − d = 2(rh − rp/cosφ)ctgφ.

From Eq. (20), it can be concluded that the value of cosφ − μsinφ is greater than or equal to zero. Furthermore, since φ is in range of [0, π/2), the value of [(hh − d)(cosφ − μsinφ) + (1 + μ2)rhsinφ] is greater than or equal to zero too. Thus, from Eqs. (35) and (36), it can be found that the direction of Mxs and Mys are decided by θ which is the angle between Fxyu and axis osxs. The attitudes deviation between peg and hole can be completely determined by the angles θ and φ.

Based on above analysis, two conclusions can be drawn as follows:

  1. 1.

    In the active constraint state, the direction of the toques Mxsi and Mysi are decided by θ.

  2. 2.

    Equations (35) and (36) indicates that the toques Mxsi and Mysi exerted on the hole can be controlled by adjusting the attitudes deviation and the relationship between them is nonlinear.

In summary, when the assembly is in the active constraint state, the attitude deviation between the peg and hole can be estimated by the torque information. On the other hand, the torque between the peg and hole can be controlled through the adjustment of the attitude difference. It should be pointed out that the same conclusions can be drawn for the case of the peg and hole are placed in the opposite direction using the same analytical method. Therefore, for the assembly of micro peg and hole, the problem of eliminating the attitudes difference can be converted to eliminate the torques exerted on them active constraint model. Based on this, the next part of the paper will introduce the control method based on force and torque information to realize the automatic assembly of peg and hole in detail.

3 The Automatic Assembly Control Method for Peg and Hole Based on Active Constraint State

In order to automatically assemble the peg and hole, and minimize the contact forces and torques in the meanwhile, the automatic control method based on active constraint state is designed. The main contribution of the method lies in making use of the active constraint state to eliminate the attitude deviation based on torque information. Thus, as shown in Fig. 4, the whole control system is mainly consists of three control loops as (1) Multidimensional active compliant forces control loop; (2) Multidimensional torques control loop; (3) Progressive insertion control.

Fig. 4
figure 4

Control system for multi forces and toques based on active constraint state

To better explain the working principle of the designed control loops, the control flow chart is shown in Fig. 4b and illustrated as follows. When the insert operation begins, the motion along the axis of zw1 with a step of ∆uz is performed as the progressive insertion. The multidimensional active compliant forces control loop is designed to ensure the peg and hole be in the active constraint state. When Fxs and Fys are zero, the control process goes into the step of multidimensional torque control loop. When Mxs and Mys are not zero, the attitude deviation between the peg and hole exists which can be known from the above moment analysis. Thus, the module of multidimensional torque control is designed to eliminate the attitude deviation based on on Mxs and Mys. At this time, it is necessary to further judge the Fzs and insertion depth named as dmax whether reached the threshold. If they do not reach the threshold, the control process goes into the step of progressive insertion. Otherwise, it indicated that the peg and hole had been assembled.

3.1 Multidimensional Active Compliant Forces Control Loop

Multidimensional active compliant forces control loop consists of rotation matrix J1, PI controller I, motion platform W1, microforce sensor and Kalman filter. The input of the control loop is two dimensional force error vector e1 and defined as

$$\varvec{e}_{1} = [\begin{array}{*{20}c} {F_{\text{xs}} - F_{\text{xs}} ^{*}} & {F_{\text{ys}} - F_{\text{ys}} ^{*}} \\ \end{array} ]^{T}$$
(38)

where Fxs and Fys are horizontal force exerted on A which are obtained from micro force sensor through Kalman filter. The rotation matrix J1 describes the rotation relationship between plane coordinate system ow1xw1yw1 and osxsys. Thus, the output of the PI controller I which is fed into the stepping motor of W1 is given as

$$[\Delta u_{\text{x}} ({\text{k}}), \,\Delta u_{\text{y}} ({\text{k}})]^{\rm T} = K_{{{\text{P}}1}} \varvec{J}_{1} (\varvec{e}_{1} ({\text{k}}) - \varvec{e}_{1} ({\text{k}} - 1)) + K_{{{\text{I}}1}} \varvec{J}_{1} \varvec{e}_{1} ({\text{k}})$$
(39)

where KP1 and KI1 are the proportional and integral coefficients of PI controller I respectively. e(k) and e(k−1) represent the current forces error and forces error at instant k-1 accordingly. Thus, once the forces error had been controlled within specified range, the peg and hole is in the active constraint state.

3.2 Multidimensional Torques Control Loop

After peg and hole entering the active constraint state, it is necessary to eliminate attitude error between them based on torque information. To this end, a PI control system based on multidimensional torque information is designed which mainly includes the rotation matrix J2, PI controller II, motion platform W2, micro force sensor and Kalman filter. The error of torque vector at instant k is defined as

$$\varvec{e}_{2} = [\begin{array}{*{20}c} {M_{\text{xs}} ({\text{k}}) - M_{\text{xs}} ^{*}} & {M_{\text{ys}} ({\text{k}}) - M_{\text{ys}} ^{*}} \\ \end{array} ]^{T}$$
(40)

where Mxs and Mys are torques which are also obtained from micro force sensor through Kalman filter. The input of the PI controller II is torque vector through the rotation matrix J2 while its output is fed into the stepping motor of W2 to change the angles of the turning joints θx and θy. The control law can be expressed as

$$[\Delta u_{\theta x} (k), \,\Delta u_{\theta y} (k)]^{T} = K_{{{\text{P}}2}} \varvec{J}_{2} (\varvec{e}_{2} (k) - \varvec{e}_{2} (k - 1)) + K_{{{\text{I}}2}} \varvec{J}_{2} \varvec{e}_{2} (k)$$
(41)

where KP2 and KI2 are the proportional and integral coefficients of PI controller respectively. The rotation matrix J2 is utilized to estimate the rotation relationship between plane coordinate system ow2xw2yw2 and osxsys.

It is noted that the forces exerted on A will change due to the change of the plane position between the A and B when the output of PI controller II is fed into the stepping motor of W2. In order to make forces exerted on A not change rapidly, it is necessary to adjust the position of the hole A to make a rough compensation while adjusting the attitude of the B. The amount of position compensation is calculated according to the attitude adjustment amount and given as

$$[\Delta u_{\text{xc}} ({\text{k}}), \,\Delta u_{\text{yc}} ({\text{k}})]^{T} = K_{\text{C}} [\Delta u_{\theta x} ({\text{k}}),\Delta u_{\theta y} ({\text{k}})]^{T}$$
(42)

where KC is the compensation coefficient obtained by off-line calibration. Nevertheless, the forces exerted on A may not be completely eliminated after rough position compensation. Then the multidimensional active compliant forces control loop is utilized to let A and B be active constraint state again.

3.3 Progressive Insertion Control

The progressive insertion control is relatively simple as it is only a switch control for the motion along the axis of zw1 with a step of ∆uz through the switch Sw2. The condition of the switch Sw2 is given as

$$\varvec{s}_{w2} = \left\{ {\begin{array}{*{20}l} {1{\kern 1pt} \quad F_{\text{xs}} = F_{\text{ys}} = 0,M_{\text{xs}} = M_{\text{ys}} = 0,d_{z} \le d_{z}^{ * } ,F_{zs} \le F_{zs}^{ * } } \hfill \\ {0\quad F_{\text{xs}} = F_{\text{ys}} = 0,M_{\text{xs}} = M_{\text{ys}} = 0,(d_{z} > d_{z}^{ * } ||F_{zs} > F_{zs}^{ * } )} \hfill \\ \end{array} } \right.$$
(43)

where dz is the insertion depth which can be obtained from microscopic vision. d *z and F *zs are the threshold of dz and Fzs respectively. Note that once all the conditions are satisfied, the switch Sw2 will be closed for the insertion operation. Otherwise, once insertion depth dz or force Fzs is greater than their corresponding thresholds, the assembly ends immediately.

4 Experiment and Analysis

4.1 Experiment System Setup

In order to verify the proposed automatic assembly control method, the assembly of micro peg and hole was conducted on the micro-assembly robot as shown in Fig. 5. The robot is able to translate the hole A in 3 translational DOF by utilizing motion platform W1 whose axes are driven by Suruga’s KS102 with the resolution of 1 μm. The peg B is fixed on 4-DOF motion platform W2 whose rotational axes are driven by Suruga’s KAW06050 and KRW06360 with resolution of 0.01° and 0.03° respectively. Moreover, ATI’s six-component micro force sensor Nano43 is employed to monitor the forces and torques whose resolution are 1/128 N and 1/20 N mm respectively. The range of forces and torques are given as ± 18 N and ± 250 N mm separately. To measure the position for the alignment of peg and hole, microscopic vision detection system are designed including three microscopic vision systems with their optic axis orthogonal reciprocally named as top view, front view, and side view respectively.

Fig. 5
figure 5

The micro-assembly robot

The outer diameter and height of the hole and the peg are given as 8.012 mm × 10.085 mm and 5.002 mm × 9.013 mm, respectively. The matching gap between the outer diameter of the peg and the inner diameter of the hole is 50um. Before the assembly begins, A and B are roughly aligned by using the front and side microscopic vision. In order to better verify the effect of forces and torques control, a certain attitude deviation between A and B is made in advance.

As given in Table 1, the control period of force and torque is 0.6 s. The proportional and integral coefficients of PI controller I are KP1 = 0.08 and KI1 = 0.16 respectively. The coefficients of torque controller are KP2 = 0.03 and KI2 = 0.09 respectively. Note that the rotation matrix J1 is approximated as identity matrix after calibration which implies that the axes ow1xw1 and ow1yw1 are substantially parallel to the axes osxs and osys, respectively. Besides, the rotation matrix J2 is also approximated as identity matrix after calibration.

Table 1 Parameters of controllers

4.2 Experiment Result and Analysis

Figure 6 illustrates the process of an assembly experiment of A and B where the images of the upper part and the lower part are collected by the front microscopic vision and side microscopic vision respectively. Note that there is a certain height difference between the upper and lower parts of the image due to the installation deviation of the horizontal height of the front microscopic vision and side microscopic vision. It can be seen that the attitude difference exists between A and B before the assembly begins. The attitude deviation between A and B is eliminated after the adjustment of the position and attitude gradually. From Figs. 7, 8, 9, and 10, the six dimension force and torque which produced in an assembly experiment and the output of controllers are given.

Fig. 6
figure 6

Sequence snapshots of the automated micro-assembly

Fig. 7
figure 7

The force curve of the hole A in an assembly experiment

Fig. 8
figure 8

The moment curve of the hole A in an assembly experiment

Fig. 9
figure 9

The curve of position adjustment control output in an assembly experiment

Fig. 10
figure 10

The curve of attitude adjustment control output in an assembly experiment

Figure 7 illustrates the force exerted on the hole A in an assembly experiment measured by force sensor. According to the control strategy shown in Fig. 4, at the beginning of the assembly, the Fxs and Fys are basically zero because the peg and hole do not touch each other. Meanwhile, as shown in Fig. 8, Mxs and Mys are also basically zero. The motion along the axis of zw1 with a step of ∆uz is implemented continuously. Until about 17.6 s, when the peg and hole began to contact, the hole A began to be affected by the contact force and the torque was generated. At this moment, the peg and hole are still in the active constraint state since Fxs and Fys are below the threshold. However, Mxs and Mys exceed the threshold level. Hence, it is necessary to adjust the attitudes between A and B according to the amplitude and direction of Mxs and Mys. Figure 10 gives the curve of the attitude adjustment control output of B in the whole assembly process. Note that the change of B’s attitude will cause the plane position between peg and hole change. In order to make the force exerted on A do not change sharply due to the attitude adjustment of B, the position of A needs to be adjusted for rough compensation when B’s attitudes is adjusted. Figure 9 illustrates the curve of position adjustment control output named as ∆ux and ∆uy.

After the rough adjustment of A’s position, the force Fxs, Fys, Mxs and Mys are all below the threshold and A needs to be inserted by exerting the control amount uz along the axis ow1zw1. At the next moment of 19.2 s, Mxs and Mys are still exceeds the threshold, so it is necessary to further adjust the attitude of B. After two adjustments periods, Fxs, Fys, Mxs and Mys are in the threshold range, and then A continues to be inserted.

To further validate the performance of the proposed control method, we will analyze the change of forces and torques in detail from t1 = 85.6 s to t5 = 92.8 s. When t1 = 85.6 s, as shown in Figs. 7 and 8, Fxs, Fys, Mxs and Mys are below the threshold and A continues to be inserted along axis ow1zw1. At the next time t2 = 86.4 s, A is still in the active constraint state and the control process goes into the step of multidimensional torque control. The two dimensional torque controller II is utilized to control the posture of B. As shown in Fig. 10, the output of controller II named as ∆uθx and ∆uθy are fed into the stepping motor of W2 to change the angles of the turning joints θx and θy. At the same time, as shown in Fig. 9, the output of controller I named as ∆ux and ∆uy are fed into the stepping motor of W1 to apply rough compensation. However, the above, rough compensation does not completely eliminate the position difference between the A and B caused by the attitude adjustment. Thus, as shown in Fig. 7, Fxs and Fys are beyond the threshold range when t3 = 87.2 s. In this case, A is not in the active constraint state and the controller I is used to carry out two dimensional force control. Through the force change curve from t3 to t4 shown in Fig. 7, the controller I is proved to have good performance of controlling the error of Fxs and Fys within 0.05 N. Then, the control process enters the two-dimensional torque control state at instant t4.

As shown in Figs. 7 and 8, from t1 to t5, the assembly process has undergone two dimensional force control and two dimensional torque control sequence. In the case of Fxs, Fys, Mxs and Mys were all within the threshold range, the next insert operation is performed at the t5 instant. Similar to the process of t1 to t5, Fxs, Fys, Mxs and Mys have maintained a low level in the whole assembly process due to employment of our control strategy. Thus the compliance of the assembly is guaranteed. It is noted that there is a similar and specific pattern in two plots in Fig. 10. The shape of the two plots is determined by the error of torque vector and the rotation matrix J2 according to the control law given in Eq. (41). Since the rotation matrix J2 is approximated as identity matrix after calibration, the similarity of the two plots in Fig. 10 is related to curve similarity between Mxs and Mys in Fig. 8.

In addition, through the force change of Fzs in Fig. 7, we can see that Fzs has also maintained a very low level in the whole assembly process. Moreover, through the change curve of Mzs shown in Fig. 8, we can see that Mzs is near zero during the whole assembly process, which further validates the rationality of the model established in this paper. Figure 11 shows the trajectory of the hole A in the assembly process. It can be seen that the assembly is a progressive insertion process accompanying with the adjustment of the horizontal position. From this point of view, our control strategy imitates human’s assembly experience to some extent.

Fig. 11
figure 11

The trajectory of the hole A in the assembly process

To further validate the robust of the proposed method, twenty five times assembly tasks with varying initial attitude deviation between peg and hole are implemented, and 24 assembly attempts are successful, giving a success rate of 96%. To illustrate the advantage of the proposed method, the control results are compared to the control method in [17] which only uses the three dimensional force information. Its insertion control strategy is to reduce the horizontal forces by adjusting the position difference with a fixed step when the horizontal force exceeds the threshold value. Ten times assembly tasks with varying initial attitude deviation between peg and hole are implemented. Only three assembly attempts are successful whose initial attitude deviation are less than 0.8°. Noted that the initial attitude deviation is measured by front and side microscopic vision. The other seven assembly experiments failed because of blocking. Moreover, the larger the attitude deviation, the smaller the insertion depth of the blocking. The experimental results show that the limitation of the method in [17] lies in the high accuracy requirement for the initial attitude deviation difference between peg and hole. In contrast, our proposed method has been proved that can be well adapted to the situation of attitude deviation due to the reasonable use of moment information.

In summary, the assembly task for peg and hole in this paper involves both multidimensional forces and torques control for the elimination of position and attitude deviation. The force and torque curves obtained in the experiments have demonstrated that the proposed two dimensional force and two dimensional torque control method can meet the precision requirements well, and the control accuracy of the forces and torques are 0.05 N and 0.5 Nmm respectively. Meanwhile, the maximum contact forces and torques in the whole assembly process are controlled within 0.15N and 3Nmm respectively which met and lossless assembly requirements.

5 Conclusions

An automatic assembly method for peg and hole insertion based on multidimensional micro forces and torques is studied through this paper. A novel method is proposed to estimate the deviation angles between the peg and the hole through the toques exerted on the sensors. A control strategy for controlling the horizontal contact forces and torques during the insertion process is presented to achieve automated insertion of peg and hole by eliminating the position and attitudes deviation interactively. Experiments conducted on the micro-assembly robot demonstrate the effectiveness of the proposed method and the assembly tasks were performed with the following accuracy: 50mN for force error and 0.5Nmm for the torque error. Future work will concern the assembly of flexible micro peg and hole with shrink fit requirement based on micro force and micro torque.