# A Comparison between Two Force-Position Controllers with Gravity Compensation Simulated on a Humanoid Arm

Authors: Giovanni Gerardo Muscolo; Kenji Hashimoto; Atsuo Takanishi; Paolo Dario
Journal: Journal of Robotics
 (2013)

---

## Abstract

The authors propose a comparison between two force-position controllers with gravity compensation simulated on the DEXTER bioinspired robotic arm. The two controllers are both constituted by an internal proportional-derivative (PD) closed-loop for the position control. The force control of the two systems is composed of an external proportional (P) closed-loop for one system (P system) and an external proportional-integrative (PI) closed-loop for the other system (PI system). The simulation tests performed with the two systems on a planar representation of the DEXTER, an eight-DOF bioinspired arm, showed that by varying the stiffness of the environment, with a correct setting of parameters, both systems ensure the achievement of the desired force regime and with great precision the desired position. The two controllers do not have large differences in performance when interacting with a lower stiffness environment. In case of an environment with greater rigidity, the PI system is more stable. The subsequent implementation of these control systems on the DEXTER robotic bioinspired arm gives guidance on the design and control optimisation of the arms of the humanoid robot named SABIAN.


---

## Body

## 1. Introduction

The manipulation control [1] presents difficulties, especially in the variation of the compliance with the environment [2]. For the safety of persons that surround the manipulator, a variation of the stiffness of the humanoid robotic arms is necessary.A real contact is a distributed phenomenon which involves the local elastic properties of both the manipulator and the environment. Many methodologies allow modifying the stiffness of the manipulator in relation to the task. The compliance inside the DC servo actuators is usually generated by mechanical systems such as linear or torsional springs. In these types of studies, a hardware modification is developed.The actuators with variable stiffness are increasingly used in the field of humanoid robotics [3]; an example of this application on humanoid robot iCub is presented in [4]. A different kind of application of variable stiffness, which uses pneumatic or hydraulic systems as compliance element formed by the fluid, is presented in [5]. In [6], a control for regulation tasks of robot manipulators with flexible links is proposed.In this paper, in order to modify the compliance of the manipulator, the authors modified only the software parameters.ConsideringKA as the environment stiffness matrix and by increasing or decreasing its value, it is possible to modify the compliance of all external part of the arm. Increasing the value of KA allows the manipulator to reach a given position; thus, the arm encounters an obstacle that may not physically exist but in reality exerts a contact force which opposes the motion of the robotic arm and causes its arrest.In this paper, the authors propose a comparison between two force-position control systems with gravity compensation simulated on a bioinspired manipulator of eight DOFs named DEXTER (Figure1 and Tables 1, 2, 3, 4, and 5) [2, 6]. The next steps will be the implementation of these systems into the DEXTER robotic arm with the ultimate aim of control and design of the two arms of the humanoid robot SABIAN (Figure 5) [7, 8].Table 1
DEXTER characteristics.
Characteristics
DEXTER
Dimensions (mm) width-length-height
400-400-950
Weight (kg) (payload)
40 (2)
Workspace (mm-°)
1200-350°
Velocity (m/s)
0.2
DOF
Total: 8Table 2
Motor data sheet.
Axis
Type of DC motor
Nominal voltage(V)
Torque constant (mNm/A)
0
PMI S9M4HI
24
84.10
1
PMI S9M4HI
24
84.10
2
3557 024 CR
24
42.90
3
3557 024 CR
24
42.90
4
3557 024 CR
24
42.90
5
3557 024 CR
24
42.90
6
3557 024 CS
24
41.00
7
3557 024 CS
24
41.00Table 3
Drivers.
Axis
Type of driver
Continuous current(A)
Peak current(A)
G
i
=
I
peak
/MaxInput(A/V)
0
Elmo ISA 10/80
5
10
1
1
Elmo ISA 10/80
5
10
1
2
Elmo ISA 10/80
4
12
1.2
3
Elmo ISA 10/80
4
12
1.2
4
Elmo ISA 10/80
4
12
1.2
5
Elmo ISA 10/80
4
12
1.2
6
Elmo ISA 10/80
2
6
0.6
7
Elmo ISA 10/80
2
6
0.6Table 4
Denavit-Hartenberg parameters.
Joint
a
i (mm)
d
i (mm)
α
i (rad)
θ
i (rad)
1
0
0
π
/
2
θ
1
2
144
450
-
π
/
2
θ
2
3
0
0
π
/
2
θ
3
4
−100
350
-
π
/
2
θ
4
5
0
0
π
/
2
θ
5
6
−24
250
-
π
/
2
θ
6
7
0
0
π
/
2
θ
7
8
100
0
0
θ
8Table 5
Center of mass of the links.
r
x (mm)
r
y (mm)
r
z (mm)
m (kg)
Link 0
0
6.92
27.72
9.429
Link 1
−139.35
174.49
46.08
12.051
Link 2
0
−6.11
34.59
1.627
Link 3
90.72
133.77
−0.24
2.488
Link 4
0.01
−3.72
20.30
0.818
Link 5
−24.01
141.05
0.11
0.541
Link 6
−0.05
2.36
6.78
0.266
Link 7
10.35
1.81
33.26
0.095Figure 1
DEXTER bioinspired robotics arm.The two proposed controllers are both constituted by an internal proportional-derivative (PD) closed-loop for the position control. The force controller of the two systems is composed of an external proportional (P) closed-loop for one system (P system) and an external proportional-integrative (PI) closed-loop for the other system (PI system).This paper is composed of three parts. The first part describes the dimensional characteristics of the DEXTER and the SABIAN robots. In the second part, the two force-position controllers are proposed and discussed. In the third part, the analysis of simulational data and future applications based on these results are proposed.


## 2. Materials and Methods

### 2.1. DEXTER Bioinspired Robotics Arm

The DEXTER arm (Figure1) has eight DOFs with eight rotational joints [2, 6]. The joints are implemented by many electric DC servo motors, located in the first link. The motors transmit torque through a cables and pulleys system. The motor-reducer for the coupling 0 is integrated in the mobile base, while the joint 1 is mounted on the link 0. The motors of the other joints are all in the link 1.The advantage of this type of mechanical structure is to improve the dynamic performance of the robot because there is a reduction of the masses in motion. The disadvantage is related to the complexity of the mechanical transmission system.In Tables1, 2, 3, 4, and 5, the physical dimensions, the motor data sheet, the drivers, the parameters of Denavit-Hartenberg, and the coordinates of the centers of mass of the links are, respectively, represented.In Figures2 and 3, the scheme of the manipulator is shown.Figure 2
DEXTER robotic arm: axis, joints, and links position.Figure 3
DEXTER DOF configuration.The DEXTER manipulator system includes the functional blocks of the Figure4. The manipulation is constituted coordinating the joint movement of the arm with the movement of the hand mounted on the force sensor.Figure 4
Functional architecture of the DEXTER manipulator system.SABIAN humanoid robot.
(a)
(b)


### 2.2. SABIAN Humanoid Robot

SABIAN [7, 8] (Figure 5) has two 7-DOF legs, a 2-DOF waist, and a 2-DOF trunk. Each actuator system of the joint consists of a DC motor, a harmonic drive gear, a lug belt, and two pulleys. This double speed reduction mechanism allows a high reduction ratio and also a joint axis to be set apart from the motor axis. This mechanism provides designs for a human-like joint mechanism without a considerable projection. Figure 5(a) is a photograph of SABIAN. The height of the robot is 1480 mm and the weight is 40.7 kg without batteries. SABIAN is the Italian version of the WABIAN-2 robot [8] (see Figure 6). SABIAN does not have arms, and the head is a version of the ICUB head [4].WABIAN-2 humanoid robot.
(a)
(b)


### 2.3. WABIAN-2’s Arm: Characteristics

The arm of WABIAN-2 has 7 DOFs, and Figure7 shows the 3D-CAD model. The arms were designed based on a concept that the arms of the robot can hold the robot’s weight while it leans on a walk-assist machine as shown in [9]. Since the robot can lean on a walk-assist machine, most of its weight will be distributed on both its forearms.Figure 7
WABIAN-2’s arm.In general, a force/torque sensor is mounted on a robot's wrist in order to enable it to grasp, push, or pull something using a hand as an end-effector. But because one of the design concepts of WABIAN-2 is a robot that can lean against a walk-assist machine, a 6-axis force/torque sensor is mounted on each upper arm, which enables the robot to measure external forces acted on the forearm.In order to realize a humanoid robot with great dexterity not only in locomotion as in WABIAN-2 but also in manipulation as in DEXTER, it is necessary to redesign the WABIAN-2’s arm and implement it on the SABIAN robot.


### 2.4. WABIAN-2’s Arm: Control Architecture

A conventional position controller is used for WABIAN-2's arms. The six-dimensional hand trajectories are given, and each joint angle is calculated by solving the inverse kinematics, and the result is theϑp value as input in Figure 8. The DC motor is driven by motor drivers (Model no.: TD12770-48W05) developed by TOKUSHU DENSO Co., Ltd, which enables speed control using an electrical governor without a tachogenerator with a 100 kHz PWM. The maximum output current range of TD12770-48W05 is greater than 15 A at 48 V. The current monitor port mounted on the motor drivers is utilized in energy consumption experiments. Figure 9 shows the photograph of the motor driver. The xd is the fixed ideal value of the hand position.Figure 8
Position control scheme for WABIAN-2's arm.Figure 9
Servo driver used for WABIAN-2's arm (TD12770-48W05).


## 2.1. DEXTER Bioinspired Robotics Arm

The DEXTER arm (Figure1) has eight DOFs with eight rotational joints [2, 6]. The joints are implemented by many electric DC servo motors, located in the first link. The motors transmit torque through a cables and pulleys system. The motor-reducer for the coupling 0 is integrated in the mobile base, while the joint 1 is mounted on the link 0. The motors of the other joints are all in the link 1.The advantage of this type of mechanical structure is to improve the dynamic performance of the robot because there is a reduction of the masses in motion. The disadvantage is related to the complexity of the mechanical transmission system.In Tables1, 2, 3, 4, and 5, the physical dimensions, the motor data sheet, the drivers, the parameters of Denavit-Hartenberg, and the coordinates of the centers of mass of the links are, respectively, represented.In Figures2 and 3, the scheme of the manipulator is shown.Figure 2
DEXTER robotic arm: axis, joints, and links position.Figure 3
DEXTER DOF configuration.The DEXTER manipulator system includes the functional blocks of the Figure4. The manipulation is constituted coordinating the joint movement of the arm with the movement of the hand mounted on the force sensor.Figure 4
Functional architecture of the DEXTER manipulator system.SABIAN humanoid robot.
(a)
(b)


## 2.2. SABIAN Humanoid Robot

SABIAN [7, 8] (Figure 5) has two 7-DOF legs, a 2-DOF waist, and a 2-DOF trunk. Each actuator system of the joint consists of a DC motor, a harmonic drive gear, a lug belt, and two pulleys. This double speed reduction mechanism allows a high reduction ratio and also a joint axis to be set apart from the motor axis. This mechanism provides designs for a human-like joint mechanism without a considerable projection. Figure 5(a) is a photograph of SABIAN. The height of the robot is 1480 mm and the weight is 40.7 kg without batteries. SABIAN is the Italian version of the WABIAN-2 robot [8] (see Figure 6). SABIAN does not have arms, and the head is a version of the ICUB head [4].WABIAN-2 humanoid robot.
(a)
(b)


## 2.3. WABIAN-2’s Arm: Characteristics

The arm of WABIAN-2 has 7 DOFs, and Figure7 shows the 3D-CAD model. The arms were designed based on a concept that the arms of the robot can hold the robot’s weight while it leans on a walk-assist machine as shown in [9]. Since the robot can lean on a walk-assist machine, most of its weight will be distributed on both its forearms.Figure 7
WABIAN-2’s arm.In general, a force/torque sensor is mounted on a robot's wrist in order to enable it to grasp, push, or pull something using a hand as an end-effector. But because one of the design concepts of WABIAN-2 is a robot that can lean against a walk-assist machine, a 6-axis force/torque sensor is mounted on each upper arm, which enables the robot to measure external forces acted on the forearm.In order to realize a humanoid robot with great dexterity not only in locomotion as in WABIAN-2 but also in manipulation as in DEXTER, it is necessary to redesign the WABIAN-2’s arm and implement it on the SABIAN robot.


## 2.4. WABIAN-2’s Arm: Control Architecture

A conventional position controller is used for WABIAN-2's arms. The six-dimensional hand trajectories are given, and each joint angle is calculated by solving the inverse kinematics, and the result is theϑp value as input in Figure 8. The DC motor is driven by motor drivers (Model no.: TD12770-48W05) developed by TOKUSHU DENSO Co., Ltd, which enables speed control using an electrical governor without a tachogenerator with a 100 kHz PWM. The maximum output current range of TD12770-48W05 is greater than 15 A at 48 V. The current monitor port mounted on the motor drivers is utilized in energy consumption experiments. Figure 9 shows the photograph of the motor driver. The xd is the fixed ideal value of the hand position.Figure 8
Position control scheme for WABIAN-2's arm.Figure 9
Servo driver used for WABIAN-2's arm (TD12770-48W05).


## 3. Analysis of Control Schemes

### 3.1. DEXTER Bioinspired Robotics Arm: Control Architecture

The matrixKr of the reduction of the DEXTER robot motion is given by
(1)Kr=Kr′A,
where A is the matrix of the speed reduction related to the mechanical transmission system; Kr′ represents the diagonal matrix of the reduction coefficients. Consider
(2)A=[100000000100000000-4.37500000001.162-3.3750000000.58303.424000000.4830-1.0052.88200000.8940-0.6380-1.1060000.8940-0.6380-1.106-1.557],Kr′=[28200000000141000000006600000000660000000043000000004300000000660000000043].The reduction system is constituted by redactors in proximity of each joint. The generic elementKrij of the matrix Kr expresses the ratio of proportionality between the rotation of the joint j and the rotation of the rotor i. The relationship between the torque vector of the motors to the torque vector of the joints is given by
(3)τ=KrTτm.This relationship allows to implement the conversion blockτ→τm and to directly move the motors. The size of Kr matrix is 7×7 for the elimination of the first row and first column relating to the joint 0 which is controlled by a PID controller. The standard PID controller used is expressed by the control law:
(4)Tn=KPEn+KD(En-En-1)+KISn+KUUn+64KZZn+KO.T
n represents the analog voltage control of the generic motor output from the PID with a value ranging from −10 V to +10 V. KP, KD, and KI are, respectively, the gains proportional, derivative, and integral. En represents the position error to the joints determined in each sampling instant. Sn is the integrated error, and in particular, conditions can be expressed as Sn=Sn-1+En;  Un and Zn are the speed and the acceleration of the feed-forward terms; KU and KZ introduce the speed and the acceleration of the feed-forward terms. KO is a static offset, used to compensate the small variations in the output voltage, due to the D/A converters or also to the offset of the amplifiers. After notifying the movement commands to the PID, the first of the 8 motors is implemented with a voltage value equal to Tn. Figures 10 and 11, respectively, show the functional architecture of the subsystem of the arm and the functional scheme of the PID controller.Figure 10
Functional architecture of the subsystem of the arm.Figure 11
Functional scheme of the PID controller.Figure12 shows the PID controller of the joint 0. Figure 13 shows the solution used to bypass the PID control of the joint 0.Figure 12
Joint 0.Figure 13
Joints 1–7.The control law used for the analysis of the position of the 1–7 joints is given by(5)τ=KPq~-KDq˙+g(q),
where τ is the torque vector; KP and KD, are respectively, the proportional and derivative matrices; g(q) is the gravity compensation, and qd is the vector of the desired joint position. q~=qd-q is the error. The relation (5) calculates the value of the torque τ but not of the speed dq. Thus, it is necessary to bypass the PID control to be able to control directly the actuators (Figure 13).From (5), we obtain
(6)τm=(KrT)-1τ,τm=Ktim,im=Givm,im=Kt-1τm,vm=Gi-1im,
where Kt is the diagonal matrix of motor torque constant derived from data-sheet of the 7 motors (Table 2). Gi is the gain matrix of the power drivers. im and vm are, respectively, the parameters of the currents and voltages in input to the power drivers. The technical specifications of the system implementation of the 8 joints are shown in Tables 2, 3, 4, and 5.The software procedure achieves a conversion of the control voltage from volt (vm) to increments (vm_inc).The used relations are(7)x~=xd-x,
and if  x˙d=0,
(8)x~˙=-JA(q)q˙,
where JA(q) is the Jacobian matrix  which allows to rewrite (6) in [1] as
(9)τ=JAT(q)KPx~-JAT(q)KDJA(q)q˙+g(q).The interaction force can be controlled in an indirect manner by acting on thexd reference variable of the position controller of the manipulator; the interaction between manipulator and the environment is directly influenced by the characteristics of the compliance of the environment and of the manipulator. The measure of the force is corrupted by noise, for which the derivative control cannot be used.In Figures14 and 15, two examples of force control schemes, respectively, with position and velocity internal closed-loop as in [1] are shown. Md is a generic diagonal positive matrix used for the impedence control.Figure 14
Classical force controller with internal position closed-loop [1].Figure 15
Classical force controller with internal velocity closed-loop [1].Indicating withfd the desired constant force, with CF a diagonal matrix whose elements characterize the actions of control to exert along the directions of interest of the operative space, with xe the equilibrium position of the not deformed environment, with KA the stiffness matrix of the environment, and with xF a reference that should then be put in relation with an error of force, we have the following relationships, as in [1]:
(10)xF=CF(fd-f),f~=fd-f.The difference between the desired force and the force actually developed by the manipulator gives the error. Figure14 shows that if CF is proportional, f cannot be similar to fd because xe modifies the interaction force; if CF also expresses an integral action on the force components, it is possible to obtain f=fd and at the same time to limit the influence of xe on f. Therefore, an action proportional-integral (PI) can be chosen for CF.In Figure16, an example is shown (as in [1]) of a force-position control. It is a modification of Figure 14 with xd used in input to the position loop.Figure 16
Classical force-position control scheme [1].


### 3.2. Force Controllers

Two force-control schemes were constructed as external closed-loop: a first system in which the force exerts a proportional-integral (PI System) controller (Figure17) and a second system in which action developed by the controller is a proportional type (System P) (Figure 18).Figure 17
PI System.Figure 18
P System.


#### 3.2.1. PI System Force Controller

The block diagram of this system is shown in Figure17. The action exerted by the force controller is proportional-integral (PI). For controlling the position of the joints, the law (5) has been used.For the force control, the following law was used:(11)XF=KFf~+KI∫f~dt.The position transducer provides an electrical signal proportional to the angular displacement of link carried by the robot. The force sensor is used as the connecting member to the wrist between the last arm of DEXTER and the End-Effector. Through the use of the exteroceptive and proprioceptive sensors, it is possible to obtain the measured values ofq and f. Using the control law of force (11), XF is obtained, which allows to obtain in output the error in the operational space ΔX. The joints error q~ is obtained by means of inverse kinematics, and the vector of torque to be supplied to the actuators is obtained by using the law for the position control.


#### 3.2.2. P System Force Controller

In this scheme (Figure18), the force controller exerts a proportional (P) action. As for the PI system, the law (5) is used for the position control, while for the force control, the following has been used:
(12)X˙F=KIf~.In contrast to the scheme of Figure17, this second system allows to derive the joints position error q~ through considerations on the speed and not on the positions in the operational space.In the P system, a single block of inverse kinematics is present and this helps to reduce errors that can arise as a result of transformation from work space to the joints space.


## 3.1. DEXTER Bioinspired Robotics Arm: Control Architecture

The matrixKr of the reduction of the DEXTER robot motion is given by
(1)Kr=Kr′A,
where A is the matrix of the speed reduction related to the mechanical transmission system; Kr′ represents the diagonal matrix of the reduction coefficients. Consider
(2)A=[100000000100000000-4.37500000001.162-3.3750000000.58303.424000000.4830-1.0052.88200000.8940-0.6380-1.1060000.8940-0.6380-1.106-1.557],Kr′=[28200000000141000000006600000000660000000043000000004300000000660000000043].The reduction system is constituted by redactors in proximity of each joint. The generic elementKrij of the matrix Kr expresses the ratio of proportionality between the rotation of the joint j and the rotation of the rotor i. The relationship between the torque vector of the motors to the torque vector of the joints is given by
(3)τ=KrTτm.This relationship allows to implement the conversion blockτ→τm and to directly move the motors. The size of Kr matrix is 7×7 for the elimination of the first row and first column relating to the joint 0 which is controlled by a PID controller. The standard PID controller used is expressed by the control law:
(4)Tn=KPEn+KD(En-En-1)+KISn+KUUn+64KZZn+KO.T
n represents the analog voltage control of the generic motor output from the PID with a value ranging from −10 V to +10 V. KP, KD, and KI are, respectively, the gains proportional, derivative, and integral. En represents the position error to the joints determined in each sampling instant. Sn is the integrated error, and in particular, conditions can be expressed as Sn=Sn-1+En;  Un and Zn are the speed and the acceleration of the feed-forward terms; KU and KZ introduce the speed and the acceleration of the feed-forward terms. KO is a static offset, used to compensate the small variations in the output voltage, due to the D/A converters or also to the offset of the amplifiers. After notifying the movement commands to the PID, the first of the 8 motors is implemented with a voltage value equal to Tn. Figures 10 and 11, respectively, show the functional architecture of the subsystem of the arm and the functional scheme of the PID controller.Figure 10
Functional architecture of the subsystem of the arm.Figure 11
Functional scheme of the PID controller.Figure12 shows the PID controller of the joint 0. Figure 13 shows the solution used to bypass the PID control of the joint 0.Figure 12
Joint 0.Figure 13
Joints 1–7.The control law used for the analysis of the position of the 1–7 joints is given by(5)τ=KPq~-KDq˙+g(q),
where τ is the torque vector; KP and KD, are respectively, the proportional and derivative matrices; g(q) is the gravity compensation, and qd is the vector of the desired joint position. q~=qd-q is the error. The relation (5) calculates the value of the torque τ but not of the speed dq. Thus, it is necessary to bypass the PID control to be able to control directly the actuators (Figure 13).From (5), we obtain
(6)τm=(KrT)-1τ,τm=Ktim,im=Givm,im=Kt-1τm,vm=Gi-1im,
where Kt is the diagonal matrix of motor torque constant derived from data-sheet of the 7 motors (Table 2). Gi is the gain matrix of the power drivers. im and vm are, respectively, the parameters of the currents and voltages in input to the power drivers. The technical specifications of the system implementation of the 8 joints are shown in Tables 2, 3, 4, and 5.The software procedure achieves a conversion of the control voltage from volt (vm) to increments (vm_inc).The used relations are(7)x~=xd-x,
and if  x˙d=0,
(8)x~˙=-JA(q)q˙,
where JA(q) is the Jacobian matrix  which allows to rewrite (6) in [1] as
(9)τ=JAT(q)KPx~-JAT(q)KDJA(q)q˙+g(q).The interaction force can be controlled in an indirect manner by acting on thexd reference variable of the position controller of the manipulator; the interaction between manipulator and the environment is directly influenced by the characteristics of the compliance of the environment and of the manipulator. The measure of the force is corrupted by noise, for which the derivative control cannot be used.In Figures14 and 15, two examples of force control schemes, respectively, with position and velocity internal closed-loop as in [1] are shown. Md is a generic diagonal positive matrix used for the impedence control.Figure 14
Classical force controller with internal position closed-loop [1].Figure 15
Classical force controller with internal velocity closed-loop [1].Indicating withfd the desired constant force, with CF a diagonal matrix whose elements characterize the actions of control to exert along the directions of interest of the operative space, with xe the equilibrium position of the not deformed environment, with KA the stiffness matrix of the environment, and with xF a reference that should then be put in relation with an error of force, we have the following relationships, as in [1]:
(10)xF=CF(fd-f),f~=fd-f.The difference between the desired force and the force actually developed by the manipulator gives the error. Figure14 shows that if CF is proportional, f cannot be similar to fd because xe modifies the interaction force; if CF also expresses an integral action on the force components, it is possible to obtain f=fd and at the same time to limit the influence of xe on f. Therefore, an action proportional-integral (PI) can be chosen for CF.In Figure16, an example is shown (as in [1]) of a force-position control. It is a modification of Figure 14 with xd used in input to the position loop.Figure 16
Classical force-position control scheme [1].


## 3.2. Force Controllers

Two force-control schemes were constructed as external closed-loop: a first system in which the force exerts a proportional-integral (PI System) controller (Figure17) and a second system in which action developed by the controller is a proportional type (System P) (Figure 18).Figure 17
PI System.Figure 18
P System.


### 3.2.1. PI System Force Controller

The block diagram of this system is shown in Figure17. The action exerted by the force controller is proportional-integral (PI). For controlling the position of the joints, the law (5) has been used.For the force control, the following law was used:(11)XF=KFf~+KI∫f~dt.The position transducer provides an electrical signal proportional to the angular displacement of link carried by the robot. The force sensor is used as the connecting member to the wrist between the last arm of DEXTER and the End-Effector. Through the use of the exteroceptive and proprioceptive sensors, it is possible to obtain the measured values ofq and f. Using the control law of force (11), XF is obtained, which allows to obtain in output the error in the operational space ΔX. The joints error q~ is obtained by means of inverse kinematics, and the vector of torque to be supplied to the actuators is obtained by using the law for the position control.


### 3.2.2. P System Force Controller

In this scheme (Figure18), the force controller exerts a proportional (P) action. As for the PI system, the law (5) is used for the position control, while for the force control, the following has been used:
(12)X˙F=KIf~.In contrast to the scheme of Figure17, this second system allows to derive the joints position error q~ through considerations on the speed and not on the positions in the operational space.In the P system, a single block of inverse kinematics is present and this helps to reduce errors that can arise as a result of transformation from work space to the joints space.


## 3.2.1. PI System Force Controller

The block diagram of this system is shown in Figure17. The action exerted by the force controller is proportional-integral (PI). For controlling the position of the joints, the law (5) has been used.For the force control, the following law was used:(11)XF=KFf~+KI∫f~dt.The position transducer provides an electrical signal proportional to the angular displacement of link carried by the robot. The force sensor is used as the connecting member to the wrist between the last arm of DEXTER and the End-Effector. Through the use of the exteroceptive and proprioceptive sensors, it is possible to obtain the measured values ofq and f. Using the control law of force (11), XF is obtained, which allows to obtain in output the error in the operational space ΔX. The joints error q~ is obtained by means of inverse kinematics, and the vector of torque to be supplied to the actuators is obtained by using the law for the position control.


## 3.2.2. P System Force Controller

In this scheme (Figure18), the force controller exerts a proportional (P) action. As for the PI system, the law (5) is used for the position control, while for the force control, the following has been used:
(12)X˙F=KIf~.In contrast to the scheme of Figure17, this second system allows to derive the joints position error q~ through considerations on the speed and not on the positions in the operational space.In the P system, a single block of inverse kinematics is present and this helps to reduce errors that can arise as a result of transformation from work space to the joints space.


## 4. Analysis of Experimental Data

The behaviour of the two control systems of Figures17 and 18 was simulated using Matlab/Simulink software. In Figure 19(a), simulation of the PI System implemented in a planar representation of the DEXTER arm (3 DOF) and with and without an obstacle is shown.Simulation of the PI System in a planar representation of the DEXTER arm (3DOF) with (a) and without (b) an obstacle:x=1.86, y=1.5 is the initial position of the End-Effector; x=2.35, y=1.8 is the final position of the End-Effector; x=2.2 is the position of the obstacle.
(a)
(b)Five gains (KF, KP, KI, KD, and KA) were established as inputs to the simulation models. The simulation graphs are shown from Figure 20 to Figure 27. In particular, the force (N) value and the error position (m) value of the End-Effector of the DEXTER are presented. For each K gain, a maximum, a minimum or an intermediate value has been assigned in order to evaluate the behaviour of the system varying K gains. In Tables 6 and 7, the reference K values for the PI and P systems are presented. The reference K values are referred to the DEXTER robot during its movements.Table 6
Reference values of the PI System.
K
F
K
I
K
P
K
D
K
A
0.0005
0.08
106
6000
1000Table 7
Reference values of the P system.
K
P
K
I
K
D
K
A
106
0.05
6000
1000End-Effector force value (N) varying theKF gain in the PI system: (a) KF=0.0005; (b) KF=0.001; (c) KF=0.005.
(a)
(b)
(c)


### 4.1. PI System Force Controller

Figure17 represents the block diagram of a force/position control system that uses a proportional-integrative (PI) and a proportional-derivative (PD) controller, respectively, to measure the force and the position of the End-Effector.Considering Figure20 and varying KF, the measured (or real) force presents a peak value of 15 N, while the ideal (or desired) force has a value of 10 N. With the advancement of the simulation, after a time of 2000 ms, the measured force oscillates around the value of the ideal force.Bringing the value ofKF ranging from 0.0005 to 0.005, a smaller difference between the measured and the ideal force is obtained with a consequent reduction of the amplitudes of oscillation after the 2000 ms. There are no substantial differences in the trends of the position and position error of the End-Effector varying KF.Figure21 is made to vary only KI maintaining the other values of Table 6. Decreasing this parameter from 0.08 (Figure 20(a)) to 0.04 (Figure 21(a)), the difference between the measured and ideal impulse force increases goes over the threshold of 18 N. Assigning to KI a value equal to 0.12 (Figure 21(b)), the value of the difference between the measured and the ideal force is no more than 3.5 N.End-Effector force value (N) varying theKI gain in the PI system: (a) KI=0.04; (b) KI=0.12.
(a)
(b)Decreasing the value ofKP, from 106 (Figure 20(a)) to 250000 (Figure 22(a)), a higher peak pulse is created. Varying KP value from 106 (Figure 20(a)) to 107 (Figure 22(b)), the maximum value of the measured force decreases.End-Effector force value (N) varying theKP gain in the PI system: (a) KP=250000; (b) KP=107.
(a)
(b)Figure23 shows the trends of the error position. Analysing the graphs, it is noted that the increase of KP decreases the error. Differences in force, position, and position error were not noted in PI system varying KD gain.End-Effector error position value (m) varying theKP gain in the PI system: (a) KP=250000; (b) KP=107.
(a)
(b)


### 4.2. P System Force Controller

Figure18 represents the block diagram of a force/position control system that uses a proportional (P) and a proportional-derivative (PD) controller, respectively, to measure the force and the position of the End-Effector.Using values of Table7 and decreasing the value of KI from 0.05 to 0.02, an increment of the force in Figure 24 is shown. The measured force value is equal to 26 N (Figure 24(a)). If KI is equal to the 0.08 value (Figure 24(c)), the peak of the measured force in the P system decreases as it was decreased in the PI system.End-Effector force value (N) varying theKI gain in the P system: (a) KI=0.02; (b) KI=0.05; (c) KI=0.08.
(a)
(b)
(c)Figure25 shows the measured and the ideal force of the End-Effector of the P system varying KP. If the KP value decreases from 106 (Figure 24(b)) to 250000 (Figure 25(a)), the measured peak value will be equal to 20 N.End-Effector force value (N) varying theKP gain in the P system: (a) KP=250000; (b) KP=107.
(a)
(b)As for the PI System, in the P System, the position error decreases ifKP is equal to 107, and the simulation graphs are similar to the graphs of Figure 23.A comparison between the simulation graphs of the two systems (PI and P) (Figures from20 to 25) shows that in the P system the peak value of the measured force is bigger with respect to the other one.


### 4.3. Comparison between PI and P Systems: The Environment Interaction

In the last section, graphs were obtained from the simulation of the two systems by changingKF, KP, KI, and KD gains. In this section, the behaviour of the two controllers will be analysed by varying only the stiffness matrix value (KA).The authors consideredKA as the environment stiffness matrix, and by increasing or decreasing its value, it is possible to modify the compliance of all external part of the arm. Increasing the value of KA allows the manipulator to reach a given position; thus, the arm encounters an obstacle that may not physically exist but in reality exerts a contact force which opposes the motion of the robotic arm and causes its arrest.In the graphs of Figures26 and 27, the force, the position, and the error position values, respectively, of the PI and P systems are presented.Force (N), position (m), and error position (m) of PI system assuming thatKA=10000.
(a)
(b)
(c)Force (N), position (m), and error position (m) of P system assuming thatKA=5000.
(a)
(b)
(c)Increasing theKA value from 1000 (Figure 20(a)) to 10000 (Figure 26(a)), a high pulse of force was generated as shown in Figure 26. When the manipulator is working in a higher stiffness environment, the pulse of force that the End-Effector notes is naturally higher.An increment of the real force from 18 N (Figure24(b)) to 24 N (Figure 27(a)) is noted in Figure 27(a) assuming a KA value equal to 5000.The differences between the PI and P Systems are evident by a comparison of Figures26(a) and 27(a). In particular, in Figure 26(a), the peak of the measured force is equal to 18 N, but no more oscillations were observed. In Figure 27(a), the peak of the measured force is 24 N, and the force value is variable before the 2000 ms. A comparison of these graphs indicates that the P system is more influenced by the environment (varying KA) with respect to the PI system. By means of the analysis of Figures 26(b), 26(c), 27(b), and 27(c), it was noted that the increase or decrease of the KA value influences only the trends of the force and not the position of the End-Effector of the manipulator.


## 4.1. PI System Force Controller

Figure17 represents the block diagram of a force/position control system that uses a proportional-integrative (PI) and a proportional-derivative (PD) controller, respectively, to measure the force and the position of the End-Effector.Considering Figure20 and varying KF, the measured (or real) force presents a peak value of 15 N, while the ideal (or desired) force has a value of 10 N. With the advancement of the simulation, after a time of 2000 ms, the measured force oscillates around the value of the ideal force.Bringing the value ofKF ranging from 0.0005 to 0.005, a smaller difference between the measured and the ideal force is obtained with a consequent reduction of the amplitudes of oscillation after the 2000 ms. There are no substantial differences in the trends of the position and position error of the End-Effector varying KF.Figure21 is made to vary only KI maintaining the other values of Table 6. Decreasing this parameter from 0.08 (Figure 20(a)) to 0.04 (Figure 21(a)), the difference between the measured and ideal impulse force increases goes over the threshold of 18 N. Assigning to KI a value equal to 0.12 (Figure 21(b)), the value of the difference between the measured and the ideal force is no more than 3.5 N.End-Effector force value (N) varying theKI gain in the PI system: (a) KI=0.04; (b) KI=0.12.
(a)
(b)Decreasing the value ofKP, from 106 (Figure 20(a)) to 250000 (Figure 22(a)), a higher peak pulse is created. Varying KP value from 106 (Figure 20(a)) to 107 (Figure 22(b)), the maximum value of the measured force decreases.End-Effector force value (N) varying theKP gain in the PI system: (a) KP=250000; (b) KP=107.
(a)
(b)Figure23 shows the trends of the error position. Analysing the graphs, it is noted that the increase of KP decreases the error. Differences in force, position, and position error were not noted in PI system varying KD gain.End-Effector error position value (m) varying theKP gain in the PI system: (a) KP=250000; (b) KP=107.
(a)
(b)


## 4.2. P System Force Controller

Figure18 represents the block diagram of a force/position control system that uses a proportional (P) and a proportional-derivative (PD) controller, respectively, to measure the force and the position of the End-Effector.Using values of Table7 and decreasing the value of KI from 0.05 to 0.02, an increment of the force in Figure 24 is shown. The measured force value is equal to 26 N (Figure 24(a)). If KI is equal to the 0.08 value (Figure 24(c)), the peak of the measured force in the P system decreases as it was decreased in the PI system.End-Effector force value (N) varying theKI gain in the P system: (a) KI=0.02; (b) KI=0.05; (c) KI=0.08.
(a)
(b)
(c)Figure25 shows the measured and the ideal force of the End-Effector of the P system varying KP. If the KP value decreases from 106 (Figure 24(b)) to 250000 (Figure 25(a)), the measured peak value will be equal to 20 N.End-Effector force value (N) varying theKP gain in the P system: (a) KP=250000; (b) KP=107.
(a)
(b)As for the PI System, in the P System, the position error decreases ifKP is equal to 107, and the simulation graphs are similar to the graphs of Figure 23.A comparison between the simulation graphs of the two systems (PI and P) (Figures from20 to 25) shows that in the P system the peak value of the measured force is bigger with respect to the other one.


## 4.3. Comparison between PI and P Systems: The Environment Interaction

In the last section, graphs were obtained from the simulation of the two systems by changingKF, KP, KI, and KD gains. In this section, the behaviour of the two controllers will be analysed by varying only the stiffness matrix value (KA).The authors consideredKA as the environment stiffness matrix, and by increasing or decreasing its value, it is possible to modify the compliance of all external part of the arm. Increasing the value of KA allows the manipulator to reach a given position; thus, the arm encounters an obstacle that may not physically exist but in reality exerts a contact force which opposes the motion of the robotic arm and causes its arrest.In the graphs of Figures26 and 27, the force, the position, and the error position values, respectively, of the PI and P systems are presented.Force (N), position (m), and error position (m) of PI system assuming thatKA=10000.
(a)
(b)
(c)Force (N), position (m), and error position (m) of P system assuming thatKA=5000.
(a)
(b)
(c)Increasing theKA value from 1000 (Figure 20(a)) to 10000 (Figure 26(a)), a high pulse of force was generated as shown in Figure 26. When the manipulator is working in a higher stiffness environment, the pulse of force that the End-Effector notes is naturally higher.An increment of the real force from 18 N (Figure24(b)) to 24 N (Figure 27(a)) is noted in Figure 27(a) assuming a KA value equal to 5000.The differences between the PI and P Systems are evident by a comparison of Figures26(a) and 27(a). In particular, in Figure 26(a), the peak of the measured force is equal to 18 N, but no more oscillations were observed. In Figure 27(a), the peak of the measured force is 24 N, and the force value is variable before the 2000 ms. A comparison of these graphs indicates that the P system is more influenced by the environment (varying KA) with respect to the PI system. By means of the analysis of Figures 26(b), 26(c), 27(b), and 27(c), it was noted that the increase or decrease of the KA value influences only the trends of the force and not the position of the End-Effector of the manipulator.


## 5. Conclusions and Future Developments

In this paper, the authors propose a comparison between two force-position control systems with gravity compensation, designed for an eight-DOF bioinspired robotic arm, named DEXTER. The two position controllers are both proportional-derivative (PD); the two force controllers are one proportional (P system) and one proportional-integrative (PI system).The simulation tests performed with the two systems on a planar representation of the DEXTER (3-DOF arm in the plane) show that by varying the stiffness of the environment, with a correct setting of parameters, both systems ensure the achievement of the desired force regime and with great precision the desired position. The two controllers do not have large differences in performance when interacting with a lower stiffness environment. In case of an environment with greater rigidity, the PI system is more stable.The next step of this work will be the implementation of these systems into the DEXTER robotics arm with the ultimate aim of control and design of the two arms of the humanoid robot SABIAN.In this paper, the authors explained the differences between the proposed method and other studies. The proposed approach is oriented to execute a software modification of the compliance in humanoid robotics in opposition to the hardware modification of the compliance developed by other studies. On the other hand, a comparison between two force-position controllers could be used by the science and technology community.



---

*Source: 256364-2013-03-11.xml*