# Research of a New 6-Dof Force Feedback Hand Controller System

Authors: Xin Gao; Yifan Wang; Jingzhou Song; Qingxuan Jia; Hanxu Sun
Journal: Journal of Robotics
 (2014)

---

## Abstract

The field of teleoperation with force telepresence has expanded its scope to include manipulation at different scales and in virtual worlds, and the key component of which is force feedback hand controller. This paper presents a novel force feedback hand controller system, including a 3-dof translational and 3-dof rotational hand controllers, respectively, to implement position and posture teleoperation of the robot end effector. The 3-dof translational hand controller adopts innovative three-axes decoupling structure based on the linear motor; the 3-dof rotational hand controller adopts serial mechanism based on three-axes intersecting at one point, improving its overall stiffness. Based on the kinematics, statics, and dynamics analyses for two platforms separately, the system applies big closed-loop force control method based on the zero force/torque, improving the feedback force/torque accuracy effectively. Experimental results show that self-developed 6-dof force feedback hand controller has good mechanical properties. The translational hand controller has the following advantages: simple kinematics solver, fast dynamic response, and better than 0.05 mm accuracy of three-axis end positioning, while the advantages of the rotational hand controller are wide turning space, larger than 1 Nm feedback, greater than 180 degrees of operating space of three axes, respectively, and high operation precision.


---

## Body

## 1. Introduction

At present, the robot systems are widely used in hazardous operations, disaster, nuclear environment, deep sea, space, and other areas, which can replace humans in dangerous and extreme conditions to complete the tasks [1, 2]. When robots are working in special environment, the task usually requires high operating precision [3–5].Due to the combination of human decision-making capacity and operational capability of robots in hazardous environment, teleoperation can complete complex and special tasks while making people away from the site [6, 7]. As an important interface used to build a close dynamic coupling between operators and robots, hand controller can send position, posture, and other information to the operation object. It can also accept the environmental information from control system, such as the force/torque, providing the operator with force telepresence and implementing effective interventions and control for robots [8]. In the teleoperation system, hand controller’s performance has a direct impact on the operating performance and reliability of the bilateral control system [9, 10].According to the structure form, hand controller is divided into serial type, parallel type, and compound type [11]. Serial mechanism has obvious drawbacks. Firstly, the workspace of serial mechanism contains multiple singularities where the transmission performance will deteriorate quickly. Second, because of the cantilever structure, and in order to get structural stiffness, serial mechanism makes system structure cumbersome and increases the quality of institutions and the moment of inertia. The third disadvantage is that it has low stiffness which is bad for effective force feedback. The features of parallel mechanism are that translation and rotation can be decoupled which is helpful to improve the motion precision, and the rigidity of institutions gives rise to strong bearing capacity. But because of the complex structure, parallel mechanism not only brings difficulties to design the system but also results in the friction of motion pairs increasing. Meanwhile, the friction which is often difficult to eliminate in design cannot be compensated by driving elements easily after design. Moreover, parallel mechanism has little motion space. Compound mechanism is the complementation of serial mechanism and parallel mechanism. But due to the difficult design and implementation, compound mechanism has not been widely used.At first, hand controller is often designed for a specific application [12], which takes researchers much time to design devices, so modern hand controllers pay more attention to generalization. For the uncertainty of the task, mechanisms of the generic hand controller are much different from those of the slave, which also makes the manipulator control complicated. It is difficult to model accurately for operator, dynamics of force feedback main hand and the environment, so current studies for the control problems of force sensing interface equipment mainly focus on ensuring the stability of the system. Developing simple and reliable controller with higher stability and transparency is still the key of master hand control.This paper presents a novel force feedback hand controller. The 6-dof hand controller can be divided into a 3-dof orthogonal parallel translational platform and a 3-dof serial rotational platform. The former has large workspace and high stiffness, and the latter takes full account of the comfort while operating, the complexity of control algorithm, etc. The paper makes kinematics, statics, and dynamics analyses on the two platforms, respectively. On this basis, using servomotors and force/torque sensors produce the detection/drive module. What is more, a big force closed-loop control method based on the force sensor and a torque real time control method based on the speed adjustment are presented. In the end, the effectiveness of the control method is verified by experiment results which show that 6-dof force feedback hand controller obtaining desirable force telepresence has good mechanical properties.


## 2. The Whole Scheme Design of Hand Controller

For meeting the basic requirements of the movement, hand controller system should have 6 degrees of freedom [13]. Meanwhile, in order to reduce difficulties of the institutions design and control, this paper adopts the method that translational and rotational degrees of freedom are decoupled, namely, to design a separate structure for 3 translational and 3 rotational degrees of freedom and to be controlled by the same PC control program in different threads (shown, respectively, in Figures 1 and 2).Figure 1
Picture of translational platform under SolidWorks.Figure 2
Picture of rotational platform under SolidWorks.Translational platform is a 3-dof orthogonal mechanism, which is composed of the base and three branched chains. Drive components are three linear motors installed on the orthogonal bases separately and detection units are three grating rulers matched with linear motor platforms. Three motors are pairwise orthogonal and each branched chain consists of a sliding pair, three revolute pairs, and two member bars. The axis of sliding pair is parallel with that of revolute pairs. This mechanism has the advantages of simple structure, decoupling branched chains, no singularity in operating space, simple kinematic analysis, and easy control.Rotational platform is a 3-dof serial mechanism which is composed of the base and three branched chains. The handle is installed in the center of an edge that is a part of the end of the branched chains. Drive components are three motors which are in the coaxial direction with the revolute pairs separately and detection units are encoders installed coaxially with the rotating direction of the branched chains. Three serial axes of the revolute pairs intersect at one point vertically. The structure is simple and can control the rotation angle through large angle. Each branched chain is directly installed with an encoder, so the clearance generated after using the planetary gear reducer can be eliminated and the rotation angle can also be measured accurately.In order to make the working range of hand controller cover that of hands as far as possible, the workspace of translational platform is designed to work between ±280 mm and ±320 mm. In theory rotational platform is able to achieve ± 180° rotation with any one of the three degrees of freedom. The grating ruler and encoder should detect the change of hand’s position and posture in real time. The measurement accuracy, in general, is higher than the control accuracy. But for hand controller system, as the result of detection is the change of hand’s position and posture, it is satisfactory that the measurement accuracy adapts to the kinematic accuracy of hands sufficiently; namely, the millimeter is all right. Therefore, the detection accuracy of a 3-dof translation is in the millimeter level and that of a 3-dof rotation can be ±0.1°. The scope of force feedback is a very important parameter because it directly affects the feeling of operators and the judgment on the slave environment. The hand controller system adopts the force closed-loop control method that makes the institutions to follow the movement of hands smoothly, so operators will not receive obvious force feelings in no force feedback stage. Finally, the force and torque feedback are limited within the scope that hands have obvious feelings and the long time operation will not produce fatigue.


## 3. The Kinematics and Statics Analysis of Hand Controller

### 3.1. Translational Platform

The translational platform drive components: linear motor is mounted on a base with which theX,Y,Z three-axis coincide, and therefore sliding pairs are used as the mechanism drive. In the following, this paper will make kinematic analysis about sliding pairs.First, the positive and inverse kinematic solutions of the translational platform are calculated. Because of the exactly same situation of the three-branched chains, this paper will analyze the branched chain on theX axis. The positive kinematic solution can be described as follows: knowing that the linear motor displacement is S(u,v,w), find the coordinates of point P(Px,Py,Pz), which is the end of the hand controller. As xi,yi,zi(i=1,2,3) are revolute pairs and they parallel each other, xi(i=1,2,3) plane parallels YOZ plane. Therefore, it is obvious that Px=u,Py=v,Pz=w which can be expressed as a vector form:
(1)P=S.In the above equation,P=[Px,Py,Pz]T,S=[u,v,w]T. It is not necessary to analyze the position inverse solution of the mechanism because it resembles to the positive one.As for the speed analysis of the translational platform, it is important to know the relationship between its Jacobian matrix and the speed of the end and the drive. With the differential equations, the speed relationship between the motion platform and the linear motor block is deduced:(2)[u˙v˙w˙]=J[P˙xP˙yP˙z].In this equation, Jacobian matrixJ is a 3×3 unit matrix. When applying the speed V on the handle, it is divided into Vpx,Vpy,Vpz in X,Y,Z three directions. And then when transporting the speed to the linear motor, the required speeds are Vpx,Vpy,Vpz.The last part is the statics analysis. Through the statics analysis, there is an overview of the mechanism force and the capacity against load. Using the virtual work principle can elicit the relationship between the driving forcefi(i=1,2,3) of the sliding pairs and the generalized force vector fof the end P of the handle. Assuming that the virtual displacement vector of each linear motor block on X,Y,Z axis is δS1, and the virtual displacement vector of the corresponding platform is δP, the virtual work of the sliding pairs and the end of the motion platform will be
(3)w=fiT·δS1,w=fT·δP.According to the principle of virtual work, the virtual work, which is produced by the virtual displacement of the sliding pairs caused by the output force of the drive parts, is equal to the one produced by the bottom motion platform virtual displacement; namely,(4)fiT·δS1=fT·δP.Through the kinematic analysis, there is a one-to-one relationship between the displacements of the linear motor slider and the bottom motion platform:(5)P=S.So the statics equation of translational platform is as follows:(6)[fxfyfz]=JT[f1f2f3]J=[111].The left of (6) is the output force vector of the movement platform, while the right is the linear driving force vector. The output and input forces in three directions are corresponding to each other, because the Jacobian matrix is the unit vector.


### 3.2. Rotational Platform Analysis

Rotational platform belongs to a 3-dof serial mechanism, so it just provides the posture information of the slave robot. Meanwhile, due to the decoupling design, the translational platform has no influence on the end posture of the slave robot, only the posture information of the rotational mechanism on the static platform is required. The positive solution is provided by theD-H method. Set up the basic and the joints coordinate system of the serial mechanism just like Figure 3, assuming that the three-rotary axis is orthogonal at the initial position for convenience.Figure 3
Three-axis intersection serial mechanism.A data table, as shown in Table1, is established according to the D-H method.Table 1
D-H parameters.
Member bars
a
i
-
1
α
i
-
1
d
i
θ
i
1
0
0
d
1
0
2
0
90
0
90
3
0
90
0
0Using the parameters shown in Table1 can get the coordinate transformation matrix:
(7)Tii-1=[cos⁡θi-sinθi0ai-1sinθicos⁡αi-1cos⁡θicos⁡αi-1-sinαi-1disinαi-1sinθisinαi-1cos⁡θisinαi-1cos⁡αi-1dicos⁡αi-10001].Therefore,(8)T10=[cos⁡θ1-sinθ100sinθ1cos⁡θ100001d10001]T21=[cos⁡θ2-sinθ20000-10sinθ2cos⁡θ2000001]T32=[cos⁡θ3-sinθ30000-10sinθ3cos⁡θ3000001].It is only necessary to analyze the inverse kinematics solution of the rotational platform to meet actual requirements, as (7) reveals
(9)T30=[nxoxaxpxnyoyaypynzozazpz0001].In addition,(10)T-110·T30=T21T.32Therefore,(11)[nxc1+nys1oxc1+oys1axc1+ays1pxc1+pys1nyc1-nxs1oyc1-oxs1ayc1-axs1pyc1-pxs1nzozaz-d1+pz0001]=[c2c3-c2s3s20-s3-c300s2c3-s2s3-c200001].
Let (1,2)2+(3,3)2 on the two sides of the equation be equal:
(12)(axc1+ays1)2+az2=s22+c22=1.Then,(13)axc1+ays1=±1-az2=t.It is known thataxc1+ays1=t. Solve the equation with the universal formula, and make these equations set up:
(14)u=tanθ2;cos⁡θ=1-u21+u2;sinθ=2u1+u2.Bring it back to (12) and get this quadratic equation with one unknown u:
(15)(t+ax)u2-2ayu+t-ax=0,u=2ay±4ay2-4(t2-ax2)2(t+ax)=ay±ax2+ay2-t2t+ax.So far there are four groups of solutions ofθ1; then θ2 and θ3 should be worked out.In terms of the statics analysis of the rotational platform, assuming that the output torques of the motors on the three-rotary directions areτi(1,2,3) and the microangle displacements are δθi(1,2,3) while the output torques of the bottom handle are Ti(1,2,3) and the microangle displacements are δψi(1,2,3), and using the virtual work principle can get the following relationship:
(16)τi·δθi=Ti·δψi.According to the kinematics, there is(17)θi=ψi.The statics equation of the rotational platform will be(18)[T1T2T3]=I[τ1τ2τ3]I=[111].


## 3.1. Translational Platform

The translational platform drive components: linear motor is mounted on a base with which theX,Y,Z three-axis coincide, and therefore sliding pairs are used as the mechanism drive. In the following, this paper will make kinematic analysis about sliding pairs.First, the positive and inverse kinematic solutions of the translational platform are calculated. Because of the exactly same situation of the three-branched chains, this paper will analyze the branched chain on theX axis. The positive kinematic solution can be described as follows: knowing that the linear motor displacement is S(u,v,w), find the coordinates of point P(Px,Py,Pz), which is the end of the hand controller. As xi,yi,zi(i=1,2,3) are revolute pairs and they parallel each other, xi(i=1,2,3) plane parallels YOZ plane. Therefore, it is obvious that Px=u,Py=v,Pz=w which can be expressed as a vector form:
(1)P=S.In the above equation,P=[Px,Py,Pz]T,S=[u,v,w]T. It is not necessary to analyze the position inverse solution of the mechanism because it resembles to the positive one.As for the speed analysis of the translational platform, it is important to know the relationship between its Jacobian matrix and the speed of the end and the drive. With the differential equations, the speed relationship between the motion platform and the linear motor block is deduced:(2)[u˙v˙w˙]=J[P˙xP˙yP˙z].In this equation, Jacobian matrixJ is a 3×3 unit matrix. When applying the speed V on the handle, it is divided into Vpx,Vpy,Vpz in X,Y,Z three directions. And then when transporting the speed to the linear motor, the required speeds are Vpx,Vpy,Vpz.The last part is the statics analysis. Through the statics analysis, there is an overview of the mechanism force and the capacity against load. Using the virtual work principle can elicit the relationship between the driving forcefi(i=1,2,3) of the sliding pairs and the generalized force vector fof the end P of the handle. Assuming that the virtual displacement vector of each linear motor block on X,Y,Z axis is δS1, and the virtual displacement vector of the corresponding platform is δP, the virtual work of the sliding pairs and the end of the motion platform will be
(3)w=fiT·δS1,w=fT·δP.According to the principle of virtual work, the virtual work, which is produced by the virtual displacement of the sliding pairs caused by the output force of the drive parts, is equal to the one produced by the bottom motion platform virtual displacement; namely,(4)fiT·δS1=fT·δP.Through the kinematic analysis, there is a one-to-one relationship between the displacements of the linear motor slider and the bottom motion platform:(5)P=S.So the statics equation of translational platform is as follows:(6)[fxfyfz]=JT[f1f2f3]J=[111].The left of (6) is the output force vector of the movement platform, while the right is the linear driving force vector. The output and input forces in three directions are corresponding to each other, because the Jacobian matrix is the unit vector.


## 3.2. Rotational Platform Analysis

Rotational platform belongs to a 3-dof serial mechanism, so it just provides the posture information of the slave robot. Meanwhile, due to the decoupling design, the translational platform has no influence on the end posture of the slave robot, only the posture information of the rotational mechanism on the static platform is required. The positive solution is provided by theD-H method. Set up the basic and the joints coordinate system of the serial mechanism just like Figure 3, assuming that the three-rotary axis is orthogonal at the initial position for convenience.Figure 3
Three-axis intersection serial mechanism.A data table, as shown in Table1, is established according to the D-H method.Table 1
D-H parameters.
Member bars
a
i
-
1
α
i
-
1
d
i
θ
i
1
0
0
d
1
0
2
0
90
0
90
3
0
90
0
0Using the parameters shown in Table1 can get the coordinate transformation matrix:
(7)Tii-1=[cos⁡θi-sinθi0ai-1sinθicos⁡αi-1cos⁡θicos⁡αi-1-sinαi-1disinαi-1sinθisinαi-1cos⁡θisinαi-1cos⁡αi-1dicos⁡αi-10001].Therefore,(8)T10=[cos⁡θ1-sinθ100sinθ1cos⁡θ100001d10001]T21=[cos⁡θ2-sinθ20000-10sinθ2cos⁡θ2000001]T32=[cos⁡θ3-sinθ30000-10sinθ3cos⁡θ3000001].It is only necessary to analyze the inverse kinematics solution of the rotational platform to meet actual requirements, as (7) reveals
(9)T30=[nxoxaxpxnyoyaypynzozazpz0001].In addition,(10)T-110·T30=T21T.32Therefore,(11)[nxc1+nys1oxc1+oys1axc1+ays1pxc1+pys1nyc1-nxs1oyc1-oxs1ayc1-axs1pyc1-pxs1nzozaz-d1+pz0001]=[c2c3-c2s3s20-s3-c300s2c3-s2s3-c200001].
Let (1,2)2+(3,3)2 on the two sides of the equation be equal:
(12)(axc1+ays1)2+az2=s22+c22=1.Then,(13)axc1+ays1=±1-az2=t.It is known thataxc1+ays1=t. Solve the equation with the universal formula, and make these equations set up:
(14)u=tanθ2;cos⁡θ=1-u21+u2;sinθ=2u1+u2.Bring it back to (12) and get this quadratic equation with one unknown u:
(15)(t+ax)u2-2ayu+t-ax=0,u=2ay±4ay2-4(t2-ax2)2(t+ax)=ay±ax2+ay2-t2t+ax.So far there are four groups of solutions ofθ1; then θ2 and θ3 should be worked out.In terms of the statics analysis of the rotational platform, assuming that the output torques of the motors on the three-rotary directions areτi(1,2,3) and the microangle displacements are δθi(1,2,3) while the output torques of the bottom handle are Ti(1,2,3) and the microangle displacements are δψi(1,2,3), and using the virtual work principle can get the following relationship:
(16)τi·δθi=Ti·δψi.According to the kinematics, there is(17)θi=ψi.The statics equation of the rotational platform will be(18)[T1T2T3]=I[τ1τ2τ3]I=[111].


## 4. Design of Control System

### 4.1. Master-Slave Bilateral Control

Teleoperation is an important human-machine interaction in the robot operation, and transparency is the characteristic that ideal teleoperation system should have, which can make operators feel the real influence of the environment [14]. At present, location-location type, force-location type, and force feedback-location type are three kinds of control structure used in the teleoperation [15]. Wherein, the force feedback-location type can produce better effect of force telepresence; accordingly this paper designs the hardware structure of hand controller as follows: without considering the slave, the force sensor installed at the end of the handle can detect the actual force situation of operators and then adjust the stress to achieve the best effect of force feedback through the control system in real time.


### 4.2. Force Closed-Loop Control Strategy

Basic control methods based on force control can be divided into the impedance control, hybrid control, and explicit force control according to the relationship between the position, velocity, and force control variables [16–18]. In the above categories, the suitable strategies for hand controller system in this paper are the impedance control, admittance control, and explicit force control based on location. Comparing the robot system with the force feedback hand controller system, it is obvious that the expected stress of the end in robot system is the same as the force feedback in bilateral control of hand controller system. However, the force control of robot system is radically different from that of hand controller system. In robot system, the force signal of the end detected should be converted into speed adjustment through the admittance model or position adjustment through the force controller, and the control system must have an integral speed loop or position loop, namely, the desired speed X˙D or desired position XD, on the basis of which the adjustment amount could be regulated. Hand controller system is operated by operators who control the motion speed and the stop position of institutions, so it cannot be adjusted by the desired speed or position.Considering the above problems and planning to integrate the teleoperation and bilateral control into one control algorithm, this paper puts forward a kind of force closed-loop control method based on the force sensor. The core idea aims to adjust the output of drive parts in real time and get the desired output of the system according to the actual stress of hands detected by the force sensor. Control structure diagram is as shown in Figure4.Figure 4
Force closed-loop control structure.F
ε
(
τ
ε
) is the interactive force/torque measured or calculated when the slave robot or objects in virtual environment contact with the environment; Fh(τh) is the actual stress of hands detected by the force sensor. In the teleoperation stage Fε(τε)=0, the target output of system is 0 N (Nm). If hand controller can follow the movement of hands precisely, the value detected by the force sensor should be 0 as far as possible; in the bilateral stage, Fε(τε) has a specific value which is the force/torque that operators can actually feel. With this value as the desired output of system, the controller can adjust the output of drive parts in real time to make the force/torque detected by the force sensor remain in the size of Fε(τε).Getting the differenceE=ΔF(Δτ) between the desired value Fε(τε) and the actual value Fh(τh), speed variation ΔX˙(Δθ˙) could be acquired after ΔF(Δτ) is calculated by the PID arithmetic. The control law is shown as follows:
(19)Δθ˙=P·Δτ+I·∫Δτdt+D·dΔτdt.The reason for using the PID controller is that it does not need to establish the corresponding model for translational platform and rotational platform. If using the impedance control, it is necessary to confirm the inertia coefficient, damping coefficient, and stiffness coefficient, which is not easy to obtain accurately and will increase the difficulty of design and the complexity of system. PID control, however, because of its simple calculation and a good response speed guaranteed by all hardware devices, can achieve good control effect after using a certain method to adjust and select the three parameters ofP,I, and D.After the PID controller calculates the speed variationΔX˙(Δθ˙), this speed value according to the required command format should be sent to the Pmac motion control card which can parse the command and send analog signals to drive parts; after receiving the analog signals, drive parts will drive motors to achieve the speed control according to the relationship between the voltage and speed collated in advance. The part inside the dashed line in Figure 4 shows that the driver and drive components (linear motors and rotary motors) will be treated as a whole. After receiving the desired speed value, the driver will complete the speed control of motors on the basis of the parameters adjusted automatically.


## 4.1. Master-Slave Bilateral Control

Teleoperation is an important human-machine interaction in the robot operation, and transparency is the characteristic that ideal teleoperation system should have, which can make operators feel the real influence of the environment [14]. At present, location-location type, force-location type, and force feedback-location type are three kinds of control structure used in the teleoperation [15]. Wherein, the force feedback-location type can produce better effect of force telepresence; accordingly this paper designs the hardware structure of hand controller as follows: without considering the slave, the force sensor installed at the end of the handle can detect the actual force situation of operators and then adjust the stress to achieve the best effect of force feedback through the control system in real time.


## 4.2. Force Closed-Loop Control Strategy

Basic control methods based on force control can be divided into the impedance control, hybrid control, and explicit force control according to the relationship between the position, velocity, and force control variables [16–18]. In the above categories, the suitable strategies for hand controller system in this paper are the impedance control, admittance control, and explicit force control based on location. Comparing the robot system with the force feedback hand controller system, it is obvious that the expected stress of the end in robot system is the same as the force feedback in bilateral control of hand controller system. However, the force control of robot system is radically different from that of hand controller system. In robot system, the force signal of the end detected should be converted into speed adjustment through the admittance model or position adjustment through the force controller, and the control system must have an integral speed loop or position loop, namely, the desired speed X˙D or desired position XD, on the basis of which the adjustment amount could be regulated. Hand controller system is operated by operators who control the motion speed and the stop position of institutions, so it cannot be adjusted by the desired speed or position.Considering the above problems and planning to integrate the teleoperation and bilateral control into one control algorithm, this paper puts forward a kind of force closed-loop control method based on the force sensor. The core idea aims to adjust the output of drive parts in real time and get the desired output of the system according to the actual stress of hands detected by the force sensor. Control structure diagram is as shown in Figure4.Figure 4
Force closed-loop control structure.F
ε
(
τ
ε
) is the interactive force/torque measured or calculated when the slave robot or objects in virtual environment contact with the environment; Fh(τh) is the actual stress of hands detected by the force sensor. In the teleoperation stage Fε(τε)=0, the target output of system is 0 N (Nm). If hand controller can follow the movement of hands precisely, the value detected by the force sensor should be 0 as far as possible; in the bilateral stage, Fε(τε) has a specific value which is the force/torque that operators can actually feel. With this value as the desired output of system, the controller can adjust the output of drive parts in real time to make the force/torque detected by the force sensor remain in the size of Fε(τε).Getting the differenceE=ΔF(Δτ) between the desired value Fε(τε) and the actual value Fh(τh), speed variation ΔX˙(Δθ˙) could be acquired after ΔF(Δτ) is calculated by the PID arithmetic. The control law is shown as follows:
(19)Δθ˙=P·Δτ+I·∫Δτdt+D·dΔτdt.The reason for using the PID controller is that it does not need to establish the corresponding model for translational platform and rotational platform. If using the impedance control, it is necessary to confirm the inertia coefficient, damping coefficient, and stiffness coefficient, which is not easy to obtain accurately and will increase the difficulty of design and the complexity of system. PID control, however, because of its simple calculation and a good response speed guaranteed by all hardware devices, can achieve good control effect after using a certain method to adjust and select the three parameters ofP,I, and D.After the PID controller calculates the speed variationΔX˙(Δθ˙), this speed value according to the required command format should be sent to the Pmac motion control card which can parse the command and send analog signals to drive parts; after receiving the analog signals, drive parts will drive motors to achieve the speed control according to the relationship between the voltage and speed collated in advance. The part inside the dashed line in Figure 4 shows that the driver and drive components (linear motors and rotary motors) will be treated as a whole. After receiving the desired speed value, the driver will complete the speed control of motors on the basis of the parameters adjusted automatically.


## 5. The Implementation of Hand Controller System

### 5.1. The Hardware System Composition

The hardware of hand controller system consists of the controller, detection components, and drive components. Wherein the controller includes IPC and Pmac motion control card; detection components include ATI six-dimensional force/torque sensors, grating rulers, and rotary encoders; drive components include Parker linear motor and Maxon rotary motors. 3-dof translational platform and 3-dof rotational platform are shown in Figure5.Translational platform and rotational platform.
(a)
(b)The hardware composition and relationship of the whole system are shown in Figure6.Figure 6
System composition schematic diagram.


### 5.2. Principal Computer Control Software

This paper selects Windows XP as the development platform because all the hardware devices including the force sensor, data acquisition card, Elmo driver, and Pmac motion control card have good drive support and development support for this operating system, which will reduce unnecessary compatibility problems. Meanwhile, Visual Studio 2010 and C++ are selected to develop the control software. The workflow of the control program is as follows.(
1
) Hardware initialization: before starting, hand controller system should initialize the hardware, such as Pmac motion control card and the force sensor. After successful initialization, hand controller system waits for the teleoperation stage.(
2
) Teleoperation stage: operators control the handle and the force/torque value collected should be sent to the control program which will invoke the matrix calculation function to complete the calculation of force/torque value; the output of motors that drives the hand controller system to follow the movement of hands can be calculated through translational and rotational control algorithm; meanwhile, communication thread will send the position and posture variation that is collected and calculated to the slave.(
3
) Bilateral control stage: when there is force/torque feedback information from the slave back to the master, translational control thread and rotational control thread will invoke the associated control algorithm to adjust the output of motors and make operators feel the force feedback effect.The flow chart of control software is shown in Figure7. After the control program works, there will be three threads calculating simultaneously in the background, which are translational platform control thread, rotational platform control thread, and communication thread. The first two are mainly responsible for completing the algorithm during teleoperation stage and bilateral stage, calculating the output of motors in real time, and controlling motors through the communication with Pmac card; the last one reads the data of the grating ruler and the rotary encoder from the Pmac card and then give it to the principal computer, calculate the position and posture variation of hand controller, and control the data transmission between the master and the slave.Figure 7
PC control software flow chart.


### 5.3. Experiments and Results

The precision of hand controller is very important to the robot teleoperation system; therefore, to design a high precision hand controller and calibrate the precision of the main hand through scientific experiments have a positive meaning. Precision calibration can improve the geometric accuracy of institutions effectively and have deep influence on the accuracy of the master-slave operation. In this paper, using laser tracking to detect the position precision of hand controller, and the experiment data, is shown in Table2.Table 2
The position precision of hand controller.
3-Dof moving distance of motor platform (mm)
3-Dof tracking distance of target ball (mm)
X axis precision test
Y axis precision test
Z axis precision test
30
29.983
30.184
29.886
30
29.992
30.065
30.035
30
29.943
30.044
30.015
30
29.891
30.065
30.014
30
29.846
30.124
30.012
30
29.811
30.061
30.031
Relative error
0.3%
0.3%
0.003%The force closed-loop control algorithm is tested on the translational platform. Firstly, the performance in the teleoperation stage is tested. Because the desired force value of the outer ring is 0 N in the stage, when operators control the hand controller to move, the value measured by the force sensor should also remain close to 0 N. The experiment result is shown in Figure8.Figure 8
The movement in teleoperation stage.In Figure8, the coarse curve represents the real force information measured by the force sensor, and the fine curve represents the desired value. When operators control the hand controller, the control algorithm will drive institutions to conform to the movement of hands according to the motor velocity calculated by the deviation between desired value and measured value, which can ensure that the value detected by the force sensor remains at around 0 N. As can be seen from Figure 8, ignoring the jitter of hands while operating, the feeling force of hands maintains at around 0 N, while the fluctuating error is within the scope of 0.01 N. So operators can control the hand controller easily and smoothly.Operators may often change the operation direction, and whether the control algorithm can drive institutions to follow the movement of hands very well or not will affect the hand feel. In the experiment, the commutation ability is tested under both low speed and high speed, and the results are shown in Figures9 and 10. The fine curve represents the analog signal calculated by the algorithm and sent to the motor; the coarse curve represents the force information detected by the force sensor.Figure 9
Low-speed reverse.Figure 10
High-speed reverse.Through the conversion of semaphore, the velocity of low-speed movement is about 0.75 m/s and that of high-speed movement is about 2.4 m/s. As can be seen from Figures9 and 10, when the operation direction of hands changes, the algorithm can quickly adjust the output of the motor so as to follow the movement of hands. Because the commutation delay of the whole system is about 5 ms, operators will feel no obvious delays in practice.In bilateral control phase, a big closed-loop force control method is used to make accurate control for the real force operators feel, and the force value measured by the force sensor should be close to the desired feedback. During the bilateral stage, this paper adds 3 N feedback forces to theX axis and measures the data separately in the condition of static and motion state, as shown in Figures 11 and 12.Figure 11
The stress in static state.Figure 12
The stress in motion state.As can be seen from Figure11, while joining 3 N feedback forces and keeping the handle in a quiescent state, the actual force detected fluctuates around 3 N and the error is about ±0.1 N because of the jitter of hands; under the condition that the feedback force is still 3 N, the motion experiment against the feedback force direction at first and then along the feedback force direction is carried out, and the result is shown in Figure 12. Because of the superposition of manpower and the motor driving force, the motion platform will produce an acceleration. If the motion direction is opposite to that of feedback force, the value measured by the force sensor is more than 3 N. Conversely, if they are in the same direction, the value will be less than 3 N. But on the whole, the actual stress still fluctuates in the vicinity of 3 N.In the stage of bilateral control, when the slave sends feedback force to the master, operators will immediately feel obvious force feedback and still be able to complete the scheduled operation stably and smoothly.After the above tests, it shows that on the basis of achieving the control target of teleoperation and bilateral control stage, the two control methods integrate into one control algorithm perfectly. Teleoperation and bilateral control can take control quickly according to the values measured by the force sensor and the response time is only about 5 ms. Moreover, switching between the two stages will have no obvious time delay. Therefore, the proposed force closed-loop control algorithm based on the force sensor can meet the control requirements of the proposed hand controller system very well.


## 5.1. The Hardware System Composition

The hardware of hand controller system consists of the controller, detection components, and drive components. Wherein the controller includes IPC and Pmac motion control card; detection components include ATI six-dimensional force/torque sensors, grating rulers, and rotary encoders; drive components include Parker linear motor and Maxon rotary motors. 3-dof translational platform and 3-dof rotational platform are shown in Figure5.Translational platform and rotational platform.
(a)
(b)The hardware composition and relationship of the whole system are shown in Figure6.Figure 6
System composition schematic diagram.


## 5.2. Principal Computer Control Software

This paper selects Windows XP as the development platform because all the hardware devices including the force sensor, data acquisition card, Elmo driver, and Pmac motion control card have good drive support and development support for this operating system, which will reduce unnecessary compatibility problems. Meanwhile, Visual Studio 2010 and C++ are selected to develop the control software. The workflow of the control program is as follows.(
1
) Hardware initialization: before starting, hand controller system should initialize the hardware, such as Pmac motion control card and the force sensor. After successful initialization, hand controller system waits for the teleoperation stage.(
2
) Teleoperation stage: operators control the handle and the force/torque value collected should be sent to the control program which will invoke the matrix calculation function to complete the calculation of force/torque value; the output of motors that drives the hand controller system to follow the movement of hands can be calculated through translational and rotational control algorithm; meanwhile, communication thread will send the position and posture variation that is collected and calculated to the slave.(
3
) Bilateral control stage: when there is force/torque feedback information from the slave back to the master, translational control thread and rotational control thread will invoke the associated control algorithm to adjust the output of motors and make operators feel the force feedback effect.The flow chart of control software is shown in Figure7. After the control program works, there will be three threads calculating simultaneously in the background, which are translational platform control thread, rotational platform control thread, and communication thread. The first two are mainly responsible for completing the algorithm during teleoperation stage and bilateral stage, calculating the output of motors in real time, and controlling motors through the communication with Pmac card; the last one reads the data of the grating ruler and the rotary encoder from the Pmac card and then give it to the principal computer, calculate the position and posture variation of hand controller, and control the data transmission between the master and the slave.Figure 7
PC control software flow chart.


## 5.3. Experiments and Results

The precision of hand controller is very important to the robot teleoperation system; therefore, to design a high precision hand controller and calibrate the precision of the main hand through scientific experiments have a positive meaning. Precision calibration can improve the geometric accuracy of institutions effectively and have deep influence on the accuracy of the master-slave operation. In this paper, using laser tracking to detect the position precision of hand controller, and the experiment data, is shown in Table2.Table 2
The position precision of hand controller.
3-Dof moving distance of motor platform (mm)
3-Dof tracking distance of target ball (mm)
X axis precision test
Y axis precision test
Z axis precision test
30
29.983
30.184
29.886
30
29.992
30.065
30.035
30
29.943
30.044
30.015
30
29.891
30.065
30.014
30
29.846
30.124
30.012
30
29.811
30.061
30.031
Relative error
0.3%
0.3%
0.003%The force closed-loop control algorithm is tested on the translational platform. Firstly, the performance in the teleoperation stage is tested. Because the desired force value of the outer ring is 0 N in the stage, when operators control the hand controller to move, the value measured by the force sensor should also remain close to 0 N. The experiment result is shown in Figure8.Figure 8
The movement in teleoperation stage.In Figure8, the coarse curve represents the real force information measured by the force sensor, and the fine curve represents the desired value. When operators control the hand controller, the control algorithm will drive institutions to conform to the movement of hands according to the motor velocity calculated by the deviation between desired value and measured value, which can ensure that the value detected by the force sensor remains at around 0 N. As can be seen from Figure 8, ignoring the jitter of hands while operating, the feeling force of hands maintains at around 0 N, while the fluctuating error is within the scope of 0.01 N. So operators can control the hand controller easily and smoothly.Operators may often change the operation direction, and whether the control algorithm can drive institutions to follow the movement of hands very well or not will affect the hand feel. In the experiment, the commutation ability is tested under both low speed and high speed, and the results are shown in Figures9 and 10. The fine curve represents the analog signal calculated by the algorithm and sent to the motor; the coarse curve represents the force information detected by the force sensor.Figure 9
Low-speed reverse.Figure 10
High-speed reverse.Through the conversion of semaphore, the velocity of low-speed movement is about 0.75 m/s and that of high-speed movement is about 2.4 m/s. As can be seen from Figures9 and 10, when the operation direction of hands changes, the algorithm can quickly adjust the output of the motor so as to follow the movement of hands. Because the commutation delay of the whole system is about 5 ms, operators will feel no obvious delays in practice.In bilateral control phase, a big closed-loop force control method is used to make accurate control for the real force operators feel, and the force value measured by the force sensor should be close to the desired feedback. During the bilateral stage, this paper adds 3 N feedback forces to theX axis and measures the data separately in the condition of static and motion state, as shown in Figures 11 and 12.Figure 11
The stress in static state.Figure 12
The stress in motion state.As can be seen from Figure11, while joining 3 N feedback forces and keeping the handle in a quiescent state, the actual force detected fluctuates around 3 N and the error is about ±0.1 N because of the jitter of hands; under the condition that the feedback force is still 3 N, the motion experiment against the feedback force direction at first and then along the feedback force direction is carried out, and the result is shown in Figure 12. Because of the superposition of manpower and the motor driving force, the motion platform will produce an acceleration. If the motion direction is opposite to that of feedback force, the value measured by the force sensor is more than 3 N. Conversely, if they are in the same direction, the value will be less than 3 N. But on the whole, the actual stress still fluctuates in the vicinity of 3 N.In the stage of bilateral control, when the slave sends feedback force to the master, operators will immediately feel obvious force feedback and still be able to complete the scheduled operation stably and smoothly.After the above tests, it shows that on the basis of achieving the control target of teleoperation and bilateral control stage, the two control methods integrate into one control algorithm perfectly. Teleoperation and bilateral control can take control quickly according to the values measured by the force sensor and the response time is only about 5 ms. Moreover, switching between the two stages will have no obvious time delay. Therefore, the proposed force closed-loop control algorithm based on the force sensor can meet the control requirements of the proposed hand controller system very well.



---

*Source: 646574-2014-04-16.xml*