Background

Compared with conventional surgery, MIS is accomplished by inserting the surgical tool into the patient’s body through small incisions. MIS has some advantages such as less pain, less invasive, less recovery time, fewer postoperative complications. MIS becomes more and more popular and is accepted by the public; many companies and research institutions are engaged in MIS. However, due to small incisions, there are some disadvantages such as lower flexibility of the surgical instruments, easy fatigue, eye-hand incoordination, lack of depth feeling, and reduced view of surgical area. In order to solve the limitation of MIS application, computer and robotics assistance is an appropriate choice.

According to the fixed point constraint, RCM is indispensible in the surgery. There are two main ways to achieve RCM; the first method is a control method which is achieved by kinematic redundancy control, but the high reliability and stability requirement for hardware and algorithms make this method rarely used. There are a small amount of medical robots controlled by this way, such as DLR MIRO surgical robot [1, 2] and TelelapXALF [3] surgical robot. Another method is mechanism constraint, such as parallelogram mechanism, circular mechanism, spherical mechanism, and passive joint.

There are many minimally invasive surgical robots utilizing parallelogram mechanisms to achieve RCM, such as the Black Falcon medical robot developed by MIT [4], the LARS medical robot developed by Johns Hopkins University associated with IBM [5], the RobIn Heart medical robot by the University of Lodz, Poland [6, 7], the DaVinci medical robot introduced by Intuitive Surgical Inc. [8] which received US FDA license, and the Berkeley/UCSF medical robot developed by Cavusoglu M C [9].

The Imperical College London developed the Probot medical robot applying circular mechanism to achieve RCM. The Korea Advanced Institute of Science and Technology developed the KalAR [10] endoscopic surgical robot utilizing circular mechanism to achieve RCM, too. Freehand Inc. launched the medical robot called Freehand endoscopic achieving RCM by virtue of circular mechanism.

Many institutes and companies have some research achievements utilizing spherical mechanism to achieve RCM, such as the EndoBot robot system [11, 12], LER endoscopic [13], raven medical robot [14], MC2E surgical robot [15], five freedom CURES medical robot [16], laparoscopic holder assisting robot [17], a spherical wrist mechanism robot that replaced human assistant developed by Jeff K. Hsu [18].

Many medical robots utilize passive joint to achieve RCM, such as AESOP [19] and ZEUS [20] which were developed by Computer Motion and received US Food and Drug Administrator (FDA) license, respectively, and the HISAR medical robot [21] developed by IBM and Johns Hopkins University.

However, there are many institutes and researchers who apply mechanism constraint to achieve RCM, due to the safety and control reliability of mechanism constraint. So the mechanism constraint is the main trend realizing RCM.

Prior preoperative adjustment is important and indispensable for MIS. In order to be easy to adjust the manipulator, electromagnetic clutch is installed between the reducer and the end effector. At the same time, the corresponding gravity compensation mechanism is needed for safety. When power is off, the electromagnetic clutch opens and the end effector can be adjusted easily. After adjustment, turn on the power and the end effector is fixed. However, this method has some shortcomings, such as: the electromagnetic clutch and compensation mechanism will increase the difficulty of joint design and the value and mass of the joint. In the surgery, there are some safety problems because the electromagnetic clutch opens when the power is off. The new prior operative adjustment is necessary.

The content of this paper is organized as follows. In the ‘Methods’ section, the principle and optimization of the mechanism are explained in the kinematic modeling of mechanism. The ‘Preoperative adjustment design’ section discusses resistance compensation method used in the preoperative adjustment design. The ‘Results and discussion’ section validates the optimization results and resistance compensation method. Conclusions are drawn in the last section.

Methods

The principle of the triangle mechanism

When rotating or translating along random both sides of the triangle, the trajectory of the motion intersects at a point, which is the fixed point as shown in Fig. 1a. However, many triangles are in series and have common intersection, when rotating along dotted and solid line or translating along the solid line (show in Fig. 1c), the trajectory of the motion intersects at a point which is the fixed point (shown in Fig. 1b). There are only two freedoms which are pitch and roll to achieve RCM in MIS; the ultimate schematic diagram is shown in Fig. 1b.

Fig. 1
figure 1

Schematic diagram of the triangle. (a): one triangle schematic, (b): two serial triangle schematic, (c): many serial triangle schematic

The kinematic analysis of the triangle mechanism

Kinematic analysis is the foundation of analysis and dynamic modeling of mechanism. D-H coordinates of the triangle are shown in Fig. 2. D-H parameters of the triangle are shown in Table 1.

Fig. 2
figure 2

D-H coordinates of the triangle

Table 1 D-H parameters of the triangle

The forward kinematic is calculated as follows:

$$ {}_3{}^0T=\left(\begin{array}{cccc}\hfill {n}_x\hfill & \hfill {o}_x\hfill & \hfill {a}_x\hfill & \hfill {p}_x\hfill \\ {}\hfill {n}_y\hfill & \hfill {o}_y\hfill & \hfill {a}_y\hfill & \hfill {p}_y\hfill \\ {}\hfill {n}_z\hfill & \hfill {o}_z\hfill & \hfill {a}_z\hfill & \hfill {p}_z\hfill \\ {}\hfill 0\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 1\hfill \end{array}\right) $$
(1)
$$ \begin{array}{l}{p}_x=ds{\alpha}_2\left(c{\theta}_1s{\theta}_2+c{\alpha}_2c{\alpha}_1s{\theta}_1\right)+ dc{\alpha}_2s{\theta}_1s{\alpha}_1\\ {}{p}_y= dc{\alpha}_2\left(c{\beta}_0c{\alpha}_1+c{\theta}_1s{\beta}_0s{\alpha}_1\right)\\ {}-ds{\alpha}_2\left(c{\theta}_2c{\beta}_0s{\alpha}_1+s{\theta}_1s{\theta}_2s{\beta}_0-c{\theta}_1c{\theta}_2c{\alpha}_1s{\beta}_0\right)\\ {}{p}_z=ds{\alpha}_2\left(c{\theta}_2s{\beta}_0s{\alpha}_1-c{\beta}_0s{\theta}_1s{\theta}_2+c{\theta}_1c{\theta}_2c{\beta}_0c{\alpha}_1\right)\\ {}- dc{\alpha}_2\left(c{\alpha}_1s{\beta}_0-c{\theta}_1c{\beta}_0s{\alpha}_1\right)\end{array} $$
(2)

where cθ 1 = cosθ 1, sθ 1 = sinθ 1, cθ 2 = cosθ 2, sθ 2 = sinθ 2, cβ 0 = cosβ 0, sβ 0 = sinβ 0, cα 1 = cosα 1, sα 1 = sinα 1, cα 2 = cosα 2, sα 2 = sinα 2.

In the surgery, the information about location of the end effector is given by the master, then the inverse kinematic about the corresponding angle θ i (i = 1,2) and expansion length d is obtained as follows:

$$ d=\sqrt{{\left({p}_x\right)}^2+{\left({p}_y\right)}^2+\Big({p}_z}\Big){}^2 $$
(3)
$$ {\theta}_2=\pm \arccos \left(\frac{\left({p}_{\mathrm{y}}\operatorname{s}{\alpha}_0-{p}_z\operatorname{c}{\alpha}_0+d\operatorname{c}{\alpha}_1\operatorname{c}{\alpha}_2\right)}{\left(d\operatorname{s}{\alpha}_1\operatorname{s}{\alpha}_2\right)}\right) $$
(4)
$$ \begin{array}{l}{\theta}_1=a \cot \frac{k_1}{k_2}\kern1em \mathrm{or}\kern1em {\theta}_1= pi+a \cot \frac{k_1}{k_2}\\ {}{k}_1={p}_xs{\alpha}_2{s}_2-\left({p}_yc{\alpha}_0+{p}_zs{\alpha}_0\right)\left(c{\alpha}_1s{\alpha}_2{c}_2+s{\alpha}_1c{\alpha}_2\right)\\ {}{k}_2={p}_x\left(c{\alpha}_1s{\alpha}_2{c}_2+s{\alpha}_1c{\alpha}_2\right)+sc{\alpha}_1s{\alpha}_2{c}_2\\ {}+s{\alpha}_2{s}_2\left({p}_yc{\alpha}_0+{p}_zs\alpha \right)\end{array} $$
(5)

Jacobian matrix is deduced by differential transformation method. The Jacobian matrix is as follows:

For rotary joint, the Jacobian matrix is as follows:

$$ {J}_i={\left[{\left(p\times n\right)}_z\kern1em {\left(p\times o\right)}_z\kern1em {\left(p\times n\right)}_z\kern1em {n}_z\kern1em {o}_z\kern1em {a}_z\right]}^T $$
(6)

For translational joint, the Jacobian matrix is as follows:

$$ {J}_i=\left[\begin{array}{cccccc}\hfill {n}_z\hfill & \hfill {o}_z\hfill & \hfill {a}_z\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 0\hfill \end{array}\right]d{q}_j $$
(7)

n, o, a is the rotational transformation matrix vector from the ith link to the end coordinate system of the robot, and p is the position vector from the ith link to the end coordinate system of robot.

The pose of the RCM is mainly considered, as d = 0. The Jacobian of remote center mechanism is as follows:

$$ {J}_3={\left[0\kern0.5em 0\kern0.5em 1\kern0.5em 0\kern0.5em 0\kern0.5em 0\right]}^T $$
(8)
$$ {J}_2={\left[0\kern0.5em 0\kern0.5em 0\kern0.5em 0\kern0.5em \sin {\alpha}_2\kern0.5em \cos {\alpha}_2\right]}^T $$
(9)
$$ {J}_1={\left[\begin{array}{l}0\kern1em 0\kern1em 0\kern1em \sin {\theta}_2 \sin {\alpha}_1\kern1em \\ {} \cos {\alpha}_1 \sin {\alpha}_2+ \cos {\theta}_2 \sin {\alpha}_1 \cos {\alpha}_2\kern1em \\ {} \cos {\alpha}_1 \cos {\alpha}_2- \cos {\theta}_2 \sin {\alpha}_1 \sin {\alpha}_2\end{array}\right]}^T $$
(10)
$$ J=\left[\begin{array}{ccc}\hfill {J}_1\hfill & \hfill {J}_2\hfill & \hfill {J}_3\hfill \end{array}\right] $$
(11)

However, roll and pitch are the main issue. The simplification of Jacobian matrix is expressed as follows:

$$ J=\left(\begin{array}{cc}\hfill \sin {\alpha}_1 \sin {\theta}_2\hfill & \hfill 0\hfill \\ {}\hfill \cos {\theta}_2 \sin {\alpha}_1 \cos {\alpha}_2+ \cos {\alpha}_1 \sin {\alpha}_2\hfill & \hfill \sin {\alpha}_2\hfill \end{array}\right) $$
(12)

Performance analysis of the triangle mechanism

The Jacobi condition number is expressed as:

$$ {k}^{\hbox{'}}=\left\{\begin{array}{l}\left\Vert J(q)\right\Vert \left\Vert {J}^{-1}(q)\right\Vert \kern1em m=n\\ {}\left\Vert J(q)\right\Vert \left\Vert {J}^{+}(q)\right\Vert \kern1em m<n\end{array}\right. $$
(13)

where \( \left\Vert J(q)\right\Vert =\sqrt{tr\left(J(q)\omega J{(q)}^T\right)} \), ω = 1/n, n is the J(q) matrix number, J +(q) = J T(q)(J(q)J T(q))− 1. The relation between the condition number with singular value is written as follows:

$$ {k}^{\hbox{'}}=\frac{\mu_l}{\mu_r} $$
(14)

So, 1 ≤ k ' ≤ ∞ μ l is maximum singular value, μ r is minimum singular value.

Dexterity is expressed as the inverse of the Eq. 14, so 0 ≤ k ≤ 1.

$$ k=\frac{\mu_r}{\mu_l} $$
(15)

Figure 3 indicates the relation between k and α 1 and α 2; the best configuration is α 1 = (90/180)*π and α 2 = (90/180)*π. Figure 4 indicates the relation between k and α 1 and α 2; the best configuration is α 2 = (70/180)*π and α 1 = (90/180)*π. Figure 5 indicates the relation between k and α 1 and α2; the best configuration is α 2 = (50/180)*π and α 1 = (70/180)*π. Figure 6 indicates the relation between k and α 1 and α 2; the best configuration is α 2 = (30/180)*π and α 1 = (50/180)*π. Figure 7 indicates the relation between k and α 1 and α 2; the best configuration is α 2 = (10/180)*π and α 1 = (10/180)*π. From the above analysis, k is related with posture of mechanism.

Fig. 3
figure 3

The relation between k and α 1 and α 2. When α 2 = (90/180)*π, A α 1 = (10/180)*π, B α 1 = (30/180)*π, C α 1 = (50/180)*π, D α 1 = (70/180)*π, E α 1 = (90/180)*π

Fig. 4
figure 4

The relation between k and α 1 and α 2. When α 2 = (70/180)*π, A α 1 = (10/180)*π, B α 1 = (30/180)*π, C α 1 = (50/180)*π, D α 1 = (70/180)*π, E α 1 = (90/180)*π

Fig. 5
figure 5

The relation between k and α 1 and α 2. When α 2 = (50/180)*π, A α 1 = (10/180)*π, B α 1 = (30/180)*π, C α 1 = (50/180)*π, D α 1 = (70/180)*π, E α 1 = (90/180)*π

Fig. 6
figure 6

The relation between k and α 1 and α 2. When α 2 = (30/180)*π, A α 1 = (10/180)*π, B α 1 = (30/180)*π, C α 1 = (50/180)*π, D α 1 = (70/180)*π, E α 1 = (90/180)*π

Fig. 7
figure 7

The relation between k and α 1 and α 2. When α 2 = (10/180)*π, A α 1 = (10/180)*π, B α 1 = (30/180)*π, C α 1 = (50/180)*π, D α 1 = (70/180)*π, E α 1 = (90/180)*π

Gosselin [22] defined global performance indicator (GPI) as follows:

$$ {\eta}_J=\frac{{\displaystyle {\int}_{\omega }kd\varpi }}{{\displaystyle \int d\varpi }} $$
(16)

where ϖ is the reachable workspace and k is the dexterity of mechanism. The relationship between η J and α 1 and α 2 is shown in Fig. 8. The best configuration is (0.5π, 0.5π). GPI is the average level of performance of mechanism in the whole workspace. GPI does not indicate the performance fluctuations margin. Shi et al. [23] define performance fluctuations indicator (PFI) by Eq. 17. PFI is the supplementary of GPI. The relationship between σ and α 1 and α 2 is shown in Fig. 9.

Fig. 8
figure 8

The relationship between ηJ and α 1 and α 2

Fig. 9
figure 9

The relationship between σ and α 1 and α 2

$$ \sigma =\sqrt{\frac{{\displaystyle {\int}_{\varpi }{\left(\frac{1}{k-{\eta}_J}\right)}^2d\varpi }}{{\displaystyle {\int}_{\varpi }d\varpi }}} $$
(17)

However, in order to explore the potential of mechanism, the improvement of GFI (IGFI) [24] is shown as follows. The relationship between σ J and α 1 and α 2 is shown in Fig. 10.

Fig. 10
figure 10

The relationship between σ J and α 1 and α 2

$$ {\sigma}_J=\frac{{\displaystyle {\int}_{\varpi }k{\left(k-{\eta}_J\right)}^2d\varpi }}{{\displaystyle {\int}_{\varpi }d\varpi }} $$
(18)

Optimization of the triangle mechanism

GPI (a1), GFI (a2), IGF (a3), mechanism mass (a4), mechanism stiffness (a5), workspace surface area (a6), collision probability (a7), and gravity torque (a8) are chosen as evaluation indicators. However, three indexes consisting of a1, a2, and a3 are the main factors, and the others are auxiliary factors. Each factor weight is divided by AHP which is a combination of quantitative and qualitative analysis method and is proposed by T. L. Saaty. Value standards of judgment matrix is shown in the paper [25]. Judgment matrix value is achieved and shown in Table 2. When CI = 0 and CR = 0, the judgment matrix is completely consistent.

Table 2 Judgment matrix value

The weights of a1, a2, a3, a4, a5, a6, a7, and a8 are 0.1818, 0.1818, 0.1818, 0.0909, 0.0909, 0.0909, 0.0909, and 0.0909, respectively. CI = CR = 0. Judgment matrix is completely consistent.

The optimization algorithm is nonlinear programming algorithm.

Constraint conditions: 0 < α 1 ≤ 0.5π, 0 < α 2 ≤ 0.5π.

Objective function:

$$ \begin{array}{l} \min \kern0.5em f=\raisebox{1ex}{$a1$}\!\left/ \!\raisebox{-1ex}{$a \max $}\right.*0.1818+\raisebox{1ex}{$a2$}\!\left/ \!\raisebox{-1ex}{$a2 \max $}\right.*0.1818-\\ {}\raisebox{1ex}{$a3$}\!\left/ \!\raisebox{-1ex}{$a3 \max $}\right.*0.1818-\raisebox{1ex}{$a4$}\!\left/ \!\raisebox{-1ex}{$a4 \max $}\right.*0.0909+\\ {}\raisebox{1ex}{$a5$}\!\left/ \!\raisebox{-1ex}{$a5 \max $}\right.*0.0909+\raisebox{1ex}{$a6$}\!\left/ \!\raisebox{-1ex}{$a6 \max $}\right.*0.0909\\ {}-\raisebox{1ex}{$a7$}\!\left/ \!\raisebox{-1ex}{$a7 \max $}\right.*0.0909-\raisebox{1ex}{$a8$}\!\left/ \!\raisebox{-1ex}{$a8 \max $}\right.*0.0909\end{array} $$
(19)

Optimization result of α 1 and α 2 is 74.1955° and 51.4°,respectively; after rounding, α 1 = 74° and α 2 = 51°.

Three-dimensional model is shown in Fig. 11. The principle prototype is shown in Fig. 12.

Fig. 11
figure 11

Three-dimensional model of the triangle

Fig. 12
figure 12

RCM mechanism prototype

Preoperative adjustment design

Preoperative adjustment is an important part for surgical operation. In order to adjust the surgical instrument and manipulator conveniently, many researchers try to design some back-drivable equipments; however, due to the safety of medical equipments, these devices are rarely used. In order to accomplish preoperative adjustment, electromagnetic clutches are used in the medical devices. However, clutches increase the weight and volume of the device which leads to vibration and unstable equipment. So an easy way to achieve preoperative adjustment is needed.

When surgeons try to move the manipulators to the appropriate location, gravity torque and friction torque are the main obstacles to overcome; however, the prior way which used electromagnetic clutches is not conventional because surgeons have to overcome resistance that is mentioned previously. A new way to adjustment is realized by gravity and friction compensation. When the surgeon wants to adjust the manipulator poster or location, a button is pressed and then the control system works. The surgeon moves the manipulator easily, and after adjustment, the button is released and the manipulator keeps stable. The control block diagram is shown in Fig. 13.

Fig. 13
figure 13

Block diagram of gravity and friction compensation

The kinetic energy and gravitational potential energy of the first link are calculated in Eq. 20.

$$ \begin{array}{l}d{K}_1=\frac{1}{2}\left({}^0v_1\right) dm=\frac{1}{2}\left({Q}_1^0\right)\left({}^0T_1\right)\left({}^{\mathrm{i}}r_1\right){\left({}^{\mathrm{i}}r_1\right)}^T{\left({}^0T_1\right)}^T{\left({Q}_1^0\right)}^T{\left({\overset{\bullet }{\theta}}_1\right)}^2 dm\\ {}{K}_1={\displaystyle \int d{K}_1=}\frac{1}{2}\left({Q}_1^0\right)\left({}^0T_1\right){\displaystyle \int \left({}^{\mathrm{i}}r_1\right){\left({}^{\mathrm{i}}r_1\right)}^T dm}{\left({}^0T_1\right)}^T{\left({Q}_1^0\right)}^T{\left({\overset{\bullet }{\theta}}_1\right)}^2=\frac{1}{2}\left({Q}_1^0\right)\left({}^0T_1\right){I}_1{\left({}^0T_1\right)}^T{\left({Q}_1^0\right)}^T{\left({\overset{\bullet }{\theta}}_1\right)}^2\\ {}{P}_1=-{m}_1g\left({}^0T{{}_1}^i\overline{r_1}\right)\end{array} $$
(20)

The kinetic energy and gravitational potential energy of the second link are calculated in Eq. 21.

$$ \begin{array}{l}{K}_2={\displaystyle \int d{K}_2}=\frac{1}{2}\Big(\left({Q}_1^0\right)\left({}^0T_2\right){\displaystyle \int \left({}^{\mathrm{i}}r_2\right){\left({}^{\mathrm{i}}r_2\right)}^T dm}{\left({}^0T_2\right)}^T{\left({Q}_1^0\right)}^T{\left({\overset{\bullet }{\theta}}_1\right)}^2+2{Q}_1^0\left({}^0T_2\right){\displaystyle \int \left({}^{\mathrm{i}}r_2\right){\left({}^{\mathrm{i}}r_2\right)}^T dm}{\left({}^0T_2\right)}^T{\left({Q}_2^0\right)}^T{\overset{\bullet }{\theta}}_1{\overset{\bullet }{\theta}}_2+\\ {}{Q}_2^0{}^0T_2{\displaystyle \int \left({}^{\mathrm{i}}r_2\right){\left({}^{\mathrm{i}}r_2\right)}^T dm}{\left({}^0T_2\right)}^T{\left({Q}_2^0\right)}^T{\left({\overset{\bullet }{\theta}}_2\right)}^2\left)=\frac{1}{2}\right(\left({Q}_1^0\right)\left({}^0T_2\right){I}_2{\left({}^0T_2\right)}^T{\left({Q}_1^0\right)}^T{\left({\overset{\bullet }{\theta}}_1\right)}^2+2{Q}_1^0\left({}^0T_2\right){I}_2{\left({}^0T_2\right)}^T{\left({Q}_2^0\right)}^T{\overset{\bullet }{\theta}}_1{\overset{\bullet }{\theta}}_2+\\ {}{Q}_2^0{}^0T_2{I}_2{\left({}^0T_2\right)}^T{\left({Q}_2^0\right)}^T{\left({\overset{\bullet }{\theta}}_2\right)}^2\Big)\kern1em \\ {}{P}_2=-{m}_2g\left({}^0T{{}_2}^i\overline{r_2}\right)\end{array} $$
(21)

The kinetic energy and gravitational potential energy of the third link are calculated in Eq. 22.

$$ \begin{array}{l}{K}_3=\frac{1}{2}\Big(\left({Q}_1^0\right)\left({}^0T_3\right){\displaystyle \int dm}\left({}^{\mathrm{i}}r_3\right){\left({}^{\mathrm{i}}r_3\right)}^T{\left({}^0T_3\right)}^T{\left({Q}_1^0\right)}^T{\left({\overset{\bullet }{\theta}}_1\right)}^2+2{Q}_1^0\left({}^0T_3\right){\displaystyle \int dm}\left({}^{\mathrm{i}}r_2\right){\left({}^{\mathrm{i}}r_2\right)}^T{\left({}^0T_3\right)}^T{\left({Q}_2^0\right)}^T{\overset{\bullet }{\theta}}_1{\overset{\bullet }{\theta}}_2+2{Q}_1^0{}^0T_3{\displaystyle \int \left({}^{\mathrm{i}}r_3\right){\left({}^{\mathrm{i}}r_3\right)}^T dm}{\left({}^0T_3\right)}^T\\ {}{\left({Q}_3^0\right)}^T{\overset{\bullet }{\theta}}_1{\overset{\bullet }{\theta}}_3+2{Q}_2^0{}^0T_3{\displaystyle \int \left({}^{\mathrm{i}}r_3\right){\left({}^{\mathrm{i}}r_3\right)}^T dm}{\left({}^0T_3\right)}^T{\left({Q}_3^0\right)}^T{\overset{\bullet }{\theta}}_2{\overset{\bullet }{\theta}}_3+{Q}_2^0{}^0T_3{\displaystyle \int \left({}^{\mathrm{i}}r_3\right){\left({}^{\mathrm{i}}r_3\right)}^T dm}{\left({}^0T_3\right)}^T{\left({Q}_2^0\right)}^T{\left({\overset{\bullet }{\theta}}_2\right)}^2+{Q}_3^0{}^0T_3{{\displaystyle \int \left({}^{\mathrm{i}}r_3\right)\left({}^{\mathrm{i}}r_3\right) dm}}^T{\left({}^0T_3\right)}^T\\ {}{\left({Q}_3^0\right)}^T{\left({\overset{\bullet }{\theta}}_3\right)}^2\left)=\frac{1}{2}\right(\left({Q}_1^0\right)\left({}^0T_3\right){I}_3{\left({}^0T_3\right)}^T{\left({Q}_1^0\right)}^T{\left({\overset{\bullet }{\theta}}_1\right)}^2+2{Q}_1^0\left({}^0T_3\right){I}_3{\left({}^0T_3\right)}^T{\left({Q}_2^0\right)}^T{\overset{\bullet }{\theta}}_1{\overset{\bullet }{\theta}}_2+2{Q}_1^0{}^0T_3{I}_3{\left({}^0T_3\right)}^T{\left({Q}_3^0\right)}^T{\overset{\bullet }{\theta}}_1{\overset{\bullet }{\theta}}_3+2{Q}_2^0{}^0T_3{I}_3{\left({}^0T_3\right)}^T\\ {}{\left({Q}_3^0\right)}^T{\overset{\bullet }{\theta}}_2{\overset{\bullet }{\theta}}_3+{Q}_2^0{}^0T_3{I}_3{\left({}^0T_3\right)}^T{\left({Q}_2^0\right)}^T{\left({\overset{\bullet }{\theta}}_2\right)}^2+{Q}_3^0{}^0T_3{I}_3{\left({}^0T_3\right)}^T{\left({Q}_3^0\right)}^T{\left({\overset{\bullet }{\theta}}_3\right)}^2\Big)\kern1em \\ {}{P}_3=-{m}_3g\left({}^0T{{}_2}^i\overline{r_3}\right)\end{array} $$
(22)

Lagrange equation is show shown in Eq. 23.

$$ \begin{array}{l}K={K}_1+{K}_2+{K}_3\\ {}P={P}_1+{P}_2+{P}_3\\ {}L=K-P\\ {}{T}_i=\frac{d}{dt}\left[\frac{\partial L}{\partial {\overset{\bullet }{q}}_i}\right]-\frac{\partial L}{\partial {q}_i}\end{array} $$
(23)

The three-dimensional model is simulated by dynamic analysis software ADAMS, and the rotary joint information can be measured. The simulation condition is shown in Eq. 24. By comparison of two figures, the difference between the two pictures of Figs. 14, 15, and 16 is very small, and dynamic model of RCM mechanism is right.

Fig. 14
figure 14

Joint 1 torque diagram. (a): adams simulation result, (b): Matlab simulation result

Fig. 15
figure 15

Joint 2 torque diagram (a): adams simulation result, (b): Matlab simulation result

Fig. 16
figure 16

Joint 3 force diagram (a): adams simulation result, (b): Matlab simulation result

$$ \begin{array}{l}{\theta}_1=0.5*\mathrm{pi}* \sin \left(\left(2*\mathrm{pi}/5\right)*\mathrm{t}\right);\\ {}{\theta}_2=\hbox{-} 1.4* \sin \left(\left(2*\mathrm{pi}/5\right)*\mathrm{t}\hbox{-} 0.5*\mathrm{pi}\right)\hbox{-} 1.4;\\ {}\mathrm{d}=0.075* \sin \left(\left(0.4*\mathrm{pi}\right)*\mathrm{t}\hbox{-} 0.5*\mathrm{pi}\right)+0.075;\end{array} $$
(24)

The transfer function between the joint positions and joint motor torque is Eq. 25. The joint model is shown in Fig. 17. The state space equation is achieved by Eq. 26. The state space equation in matrix form is Eq. 27.

Fig. 17
figure 17

The joint model

$$ G(s)=\frac{1}{Js+b}\cdot \frac{1}{s} $$
(25)
$$ \left\{\begin{array}{l}\dot{x}(t)= Ax(t)+Bu(t)\\ {}y(t)=Cx(t)\end{array}\right. $$
(26)

where \( A=\left[\begin{array}{ccc}\hfill 0\hfill & \hfill 1\hfill & \hfill 0\hfill \\ {}\hfill 0\hfill & \hfill -\frac{b}{J}\hfill & \hfill \frac{1}{J}\hfill \\ {}\hfill 0\hfill & \hfill 0\hfill & \hfill 0\hfill \end{array}\right]=\left[\begin{array}{ccc}\hfill 0\hfill & \hfill 1\hfill & \hfill 0\hfill \\ {}\hfill 0\hfill & \hfill -10\hfill & \hfill 100000\hfill \\ {}\hfill 0\hfill & \hfill 0\hfill & \hfill 0\hfill \end{array}\right]\ B=\left[\begin{array}{c}\hfill 0\hfill \\ {}\hfill \frac{1}{J}\hfill \\ {}\hfill 0\hfill \end{array}\right]=\left[\begin{array}{c}\hfill 0\hfill \\ {}\hfill 100000\hfill \\ {}\hfill 0\hfill \end{array}\right]\ \begin{array}{c}\hfill \hfill \\ {}\hfill \hfill \\ {}\hfill C=\left[\begin{array}{ccc}\hfill 1\hfill & \hfill 0\hfill & \hfill 0\hfill \end{array}\right]\hfill \end{array} \)

$$ \left\{\begin{array}{l}\left[\begin{array}{c}\hfill \dot{\theta}\hfill \\ {}\hfill \dot{\omega}\hfill \\ {}\hfill {\dot{T}}_d\hfill \end{array}\right]=\left[\begin{array}{ccc}\hfill 0\hfill & \hfill 1\hfill & \hfill 0\hfill \\ {}\hfill 0\hfill & \hfill -\frac{b}{J}\hfill & \hfill -\frac{1}{J}\hfill \\ {}\hfill 0\hfill & \hfill 0\hfill & \hfill 0\hfill \end{array}\right]\left[\begin{array}{c}\hfill \theta \hfill \\ {}\hfill \omega \hfill \\ {}\hfill {T}_d\hfill \end{array}\right]+\left[\begin{array}{c}\hfill 0\hfill \\ {}\hfill \frac{u}{m}\hfill \\ {}\hfill 0\hfill \end{array}\right]\\ {}\kern2em \theta =\left[\begin{array}{ccc}\hfill 1\hfill & \hfill 0\hfill & \hfill 0\hfill \end{array}\right]\left[\begin{array}{c}\hfill \theta \hfill \\ {}\hfill \omega \hfill \\ {}\hfill {T}_d\hfill \end{array}\right]\end{array}\right. $$
(27)

The observability matrix of the joint system is calculated by Eq. 28 because viscous friction coefficient b and moment of inertia J is not zero. Eq. 29 is achieved, and the system is observable.

$$ \left[{C}^T\kern0.5em {A}^T{C}^T\kern0.5em \dots \kern0.5em {\left({A}^T\right)}^2{C}^T\right]=\left[\begin{array}{ccc}\hfill 1\hfill & \hfill 0\hfill & \hfill 0\hfill \\ {}\hfill 0\hfill & \hfill 1\hfill & \hfill -b/J\hfill \\ {}\hfill 0\hfill & \hfill 0\hfill & \hfill -1/J\hfill \end{array}\right] $$
(28)
$$ \mathrm{rank}\left[{C}^T\kern0.5em {A}^T{C}^T\kern0.5em \dots \kern0.5em {\left({A}^T\right)}^{n-1}{C}^T\right]=3 $$
(29)

The three poles of the system is 0, −10, and 10. According to the principle, the poles of the state observer are λ 1 = −60, λ 2 = −60 + 10i, and λ 3 = −60 − 10i. The characteristic polynomial of the desired observer is deduced by Eq. 30. The polynomial coefficients is aa 1 = 180, aa 2 = 10800, and aa 3 = 21 6100. The selection matrix is obtained by Eq. 31. Eq. 32 is the general expression of the state observer. The diagram of the state observer is shown in Fig. 18. Matlab/simulink simulation is shown in Fig. 19. Figure 20 is a comparison between actual value and observed value of the system state space. In the beginning, the observer has some vibration; however, the observer follows the original system soon and achieves reliable tracking in the later.

Fig. 18
figure 18

The simulation diagram of system state space observer

Fig. 19
figure 19

Matlab/Simulink simulation of the state space observer. a: the fist state space, (b): the second sate space, (c): the third state space" is modified as "Matlab/Simulink simulation of the state space observe

Fig. 20
figure 20

Comparison between actual value and observed value of the system state space (a): postion, (b): velocity, (c): Torque

$$ \left(s-{\lambda}_1\right)\left(s-{\lambda}_2\right)\left(s-{\lambda}_3\right)={s}^3+180{s}^2+10800s+216,100 $$
(30)
$$ \begin{array}{l}{\tilde{L}}^T=\left[\begin{array}{ccc}\hfill {e}_1\hfill & \hfill {e}_2\hfill & \hfill {e}_3\hfill \end{array}\kern0.5em \right]\kern0.5em =\left[\begin{array}{ccc}\hfill a{a}_3-{a}_3\hfill & \hfill a{a}_2-{a}_2\hfill & \hfill a{a}_1-{a}_1\hfill \end{array}\right]\\ {}Q=\left[\begin{array}{ccc}\hfill {C}^T\hfill & \hfill {A}^T{C}^T\hfill & \hfill {\left({A}^T\right)}^2{C}^T\hfill \end{array}\right]\left[\begin{array}{ccc}\hfill {a}_2\hfill & \hfill {a}_1\hfill & \hfill 1\hfill \\ {}\hfill {a}_1\hfill & \hfill 1\hfill & \hfill 0\hfill \\ {}\hfill 1\hfill & \hfill 0\hfill & \hfill 0\hfill \end{array}\right]\\ {}{L}^T={\tilde{L}}^T{Q}^{-1}=\left[\begin{array}{ccc}\hfill 170\hfill & \hfill 9200\hfill & \hfill 2.2\hfill \end{array}\right]\end{array} $$
(31)
$$ \dot{\widehat{x}}(t)=\left(A-L\cdot {C}_{\mathrm{obs}}\right)\widehat{x}(t)+Ly(t)+Bu(t) $$
(32)

where \( {C}_{\mathrm{obs}}=\left[\begin{array}{ccc}\hfill 1\hfill & \hfill 0\hfill & \hfill 0\hfill \end{array}\right] \) and L is the selection matrix. \( \widehat{x}(t) \) is the state observer value, and y(t) is the actual value of the joint. u(t) is the theoretical output torque of the joint motor.

Eq. 33 is a viscous resistance model which is established by polynomial form. However, viscous resistance compensation is the fraction of the actual resistance. The actual viscous resistance compensation is finally determined by Eq. 34. The viscous resistance model is shown in Fig. 21. Eq. 35 is an inertial model. However, inertial model compensation is the fraction of the actual inertial resistance, and the actual inertial resistance compensation is finally determined by Eq. 36. Considering that the velocity and acceleration is relatively low, the simplification of inertial resistance is determined by Eq. 37. The inertia model is shown in Fig. 22.

Fig. 21
figure 21

Block diagram of viscous resistance model

Fig. 22
figure 22

Block diagram of inertia model

$$ {T}_{\mathrm{viscous}}={c}_1\cdot \widehat{v}+{c}_2\cdot {\widehat{v}}^3+{c}_3\cdot {\widehat{v}}^5 $$
(33)
$$ {T}_{\mathrm{comp}\_\mathrm{vis}}={\eta}_1\cdot {T}_{\mathrm{viscous}} $$
(34)
$$ {T}_{\mathrm{inertial}}=\mathrm{Ma}\ \left(\mathrm{p}\mathrm{o}\mathrm{s}\right) \times \mathrm{a}\mathrm{c}\mathrm{c} + \mathrm{C}\mathrm{o}\mathrm{r}\ \left(\mathrm{p}\mathrm{o}\mathrm{s},\mathrm{v}\mathrm{e}\mathrm{l}\right) $$
(35)

Where Ma(pos) is the inertial matrix, acc is the acceleration, and Cor(pos, vel) is the centripetal and coriolis force.

$$ {T}_{\mathrm{comp}\_\mathrm{i}\mathrm{n}\mathrm{e}}={\eta}_2\cdot {T}_{\mathrm{inertial}} $$
(36)
$$ {J}_{\mathrm{comp}}={\eta}_2\cdot J $$
(37)

Results and discussion

The dexterity of the triangle mechanism is shown in Fig. 23. The paper [26] indicates that surgeons in a MIS environment spend 95 % of the time in a 60° cone with a tip located at the port. In addition, in order to reach the full extent of the abdomen, the tool needed to be moved 90° in the lateral/medial direction (left to right) and 60° in the superior/inferior (foot to head) direction. The workspace of the triangle mechanism is shown in Fig. 24, and the workspace is 102° cone; the tool can be moved 180° in the left to right and 102° in the foot to right. The workspace meets the requirement.

Fig. 23
figure 23

The relation between dexterity and θ2

Fig. 24
figure 24

The partial cross-sectional view of workspace

In order to validate resistance compensation, resistance compensation block diagram is shown in Fig. 25. A small perturbation excitation is added to the system. The system will produce large motion which is shown in Fig. 26. The simulation result validates the resistance compensation method.

Fig. 25
figure 25

The system simulink simulation

Fig. 26
figure 26

The joint position changes in tinny disturbance under different pole configuration. (a) Three times, (b) six times, (c) eight times, and (d) nine times

Conclusions

A new RCM mechanism called the triangle mechanism is proposed. The mechanism performance analysis of the triangle mechanism and optimization of the triangle mechanism are achieved, the best α 1 and α 2 is 74° and 51°, respectively. Then, the RCM mechanism is built up. A new preoperative adjustment method achieved by resistance compensation method is proposed, and the dynamic equation of triangle mechanism is deduced. The simulation results validate the resistance compensation method.