Implementation and design of new low-cost foot pressure sensor module using piezoelectric sensor in T-FLoW humanoid robot

Received May 4, 2018 Revised Aug 8, 2018 Accepted Aug 23, 2018 Basically, human can sense the active body force trough the soles of their feet and can feel the position vector of zero moment point (ZMP) based on the center of pressure (CoP) from active body force. This behavior is adapted by T-FLoW humanoid robot using unique sensor which is piezoelectric sensor. Piezoelectric sensor has a characteristic which is non-continuous reading (record a data only a moment). Because of it, this sensor cannot be used to stream data such as flex sensor, loadcell sensor, and torque sensor like previous research. Therefore, the piezoelectric sensor still can be used to measure the position vector of ZMP. The idea is using this sensor in a special condition which is during landing condition. By utilizing 6 unit of piezoelectric sensor with a certain placement, the position vector of ZMP (XY-axis) and pressure value in Z-axis from action body force can be found. The force resultant method is used to find the position vector of ZMP from each piezoelectric sensor. Based on those final conclusions in each experiment, the implementation of foot pressure sensor modul using piezoelectric sensor has a good result (94%) as shown in final conclusions in each experiment. The advantages of this new foot pressure sensor modul is low-cost design and similar result with another sensor. The disadvantages of this sensor are because of the main characteristic of piezoelectric sensor (non-continuous read) sometimes the calculation has outlayer data.


INTRODUCTION
Generally human behavior was adapted in many systems which has special requirement in each part such as mechanical design (body design, kinematics, dynamics, or mechanic characteristic) and control design (PID control, fuzzy control, or neural network). In T-FLoW humanoid robot system has several special requirements. T-FLoW humanoid robot is humanoid robot from EEPIS Robotics Research Center (ER2C) Laboratory. T-FLoW humanoid robot has 28 Degree of Freedom (DoF) version and teen size of mechanical body. In the development of T-FLoW humanoid robot, there is one behavior which will adapted by T-FLoW humanoid robot and will discuss in this paper as shown in Figure 1. This behavior is sense the active body force trough the soles of their feet. In humanoid robot, the behavior to sense the active body force trough the soles of the feet are same as with directly measuring the position vector of Zero Moment Point (ZMP) based on Center of Pressure (CoP) [1][2][3].
In previous research, there are several sensors which normally used in humanoid robot such as Force Sensing Resistant (FSR) sensor [4,5], LoadCell sensor [6], and F/T sensor and several methods to obtain the  [7][8][9][10][11][12][13]. Based on previous research before, this paper will discuss about how to measure the position vector of ZMP using a unique sensor which is piezoelectric sensor. Piezoelectric sensor is very unique sensor which has a characteristic non-continuous reading (record a data only a moment) when receive a single continuous pressure (non-polarization process) [14][15][16][17][18][19][20][21][22][23][24][25][26][27][28][29][30][31]. Because of it, this sensor cannot be used to stream data such as flex sensor, loadcell sensor, and torque sensor like previous research [7][8][9][10][11][12][13]. Therefore, the piezoelectric sensor still can be used to measure the position vector of ZMP. The idea is using this sensor in a special condition which is during landing condition. By utilizing 6 unit of piezoelectric sensor with a certain placement, the position vector of ZMP (X-Y-axis) and pressure value in Z-axis from action body force can be found. The force resultant method is used to find the position vector of ZMP from each piezoelectric sensor. Because the sensor placement is fixed, the force resultant method can be used to find the position vector of ZMP (X-Y-axis) and pressure value in Z-axis.

RESEARCH METHOD
The research method is describing about why and how the piezoelectric sensor is used to gain the position vector of ZMP based on CoP. Research method has several sub-sections which is piezoelectric sensor characteristic, piezoelectric sensor usage, resultant force method, design of foot sensor module, and hardware overview.

Piezoelectric sensor characteristic
Piezoelectric sensor has different characteristic with another pressure sensor as mentioned before. This section will explain about piezoelectric sensor characteristic. Piezoelectric is a material which transform the energy from mechanical domain into electrical domain or electrical domain into mechanical domain. This transformation process is called piezoelectric effect. Piezoelectric effect has 2 conditions based on transform domain. The example of piezoelectric effect is when piezoelectric material is applied with electricity (electrical domain), the piezoelectric material will vibrate (mechanical domain) and causing a sound. Another example is when piezoelectric material is applied with pressure, touch, or vibration (mechanical domain), the piezoelectric material will generate an electricity (electrical domain) with dynamic range based on the frequency and how strong the applied pressure, touch, or vibration.
Piezoelectric effect which has relation with this discussion is when piezoelectric material as shown in Figure 2 is transform the mechanical domain into electrical domain. The mechanical domain in this discussion is pressure force in the soles of the feet caused by active body force and the electrical domain is electricity which generated by piezoelectric material based on the applied pressure force as shown in Where , is applied pressure force. is thickness of piezoelectric sensor. , , and is wide area of piezoelectric electrode, material, and metal. and is piezoelectric constant (based on material). , is generated voltage caused by applied pressure force

Piezoelectric sensor usage
Based on the characteristic of piezoelectric sensor, this section will explain about how to use this sensor to obtain the pressure data. When piezoelectric material is used to transform the data from mechanical domain (pressure) into electrical domain (electricity), the pressure force must have a non-continuous pressure (polarization process/several pressure in a time domain) to generate a continuous electricity as shown in Figure 4. If the pressure force is continuous pressure (non-polarization process/single continuous pressure), the piezoelectric sensor has a single data reading with dynamics pick based on the how big applied pressure force as shown in Figure 5. Because of it, the piezoelectric sensor has opposite usage and opposite characteristic from another pressure sensor such as FSR, LoadCell, and F/T sensor. Therefore, the piezoelectric sensor still can be used to obtain the position vector of ZMP as result of this discussion. The idea to achieve this result is, the piezoelectric sensor is used in a special condition as seen in Figure 5. The special condition is during landing condition (when feet of legs is touching the ground/base). As seen in Figure 5, the special condition has unequal data with highest and lowest peak. The data must be reconditioned to obtain the average data (2). The (3) is used to obtain the real applied pressure force ( , ) from average data of piezoelectric sensor ( , , ).
, , Where , , is piezoelectric sensor average output. , , and , , is upper and lower limit. ∆ , is the difference between upper and lower limit.
, is real applied pressure force from average data of piezoelectric sensor ( , , ).The piezoelectric sensor is placed in the soles of the feet. To obtain the position vector of ZMP, at least needs 3 unit of piezoelectric sensor [19]. In this discussion, T-FLoW humanoid robot will utilize 6 unit of piezoelectric sensor with a certain placement (fix placement). The data from these piezoelectric sensors ( , ) is combined and processed by using resultant force method to obtain the position vector of ZMP (X-Y-axis) and pressure value in Z-axis from action body force can be found.

Resultant force method (non-parallel)
Sometimes, a force usually has a certain angle ( , ) from normal axis (X-Y-axis). The resultant force is how to transform this kind of force into force vector (X-Y-axis). The resultant force method has 2 kinds of calculation based on the force angle which can be seen in Figure 6 and Figure 7.
To transform the scalar force( , ) into force vector ( , ,( , ) ) is used (6). The equation can be used to calculate both of resultant force models above. The resultant force calculation with certain force angle model is used in this discussion because it has a fix position (fix force angle).

Design of foot sensor module
As mentioned before, the resultant force method is used to calculate the position vector of ZMP based on CoP from 6 unit of piezoelectric sensor. Each sensor has fixed placement in the soles of the robot feet as seen in Figure 8.
Where , is resultant force vector (X-Y-Z-axis) in a piezoelectric sensor. , is force value which applied in a piezoelectric sensor.
, is certain angle of piezoelectric sensor point to the origin point of the robot feet. is the number of piezoelectric sensor in T-FLoW humanoid robot. To obtain the force resultant in piezoelectric sensor 1 ( , ): To obtain the force resultant in piezoelectric sensor 3 ( , ): To obtain the force resultant in piezoelectric sensor 5 ( , ): To obtain the force resultant in piezoelectric sensor 6 ( , ):  , , , , , , , , , , , , , , , and , , is pressure force value which applied in each piezoelectric sensor.
, , , , , , , , , , and , is certain angle in each piezoelectric sensor point to the origin point of robot feet. , , , , , is position vector of ZMP based on CoP.

Hardware framework of foot sensor module
The hardware framework of foot pressure sensor module is shows in Figure 9. Where the output of piezoelectric sensor ( , , ) as input for the SLAVE block. The SLAVE block is a hardware with integrated micro-processor such as AVR or ARM. The data from piezoelectric sensor ( , , ) is processed by using resultant force method to obtaining the position vector of ZMP ( ,( , , ) ) and send it through serial communication (UART) to the MASTER block. MASTER block is a hardware with high speed clock such as mini-PC or laptop.

RESULTS AND ANALYSIS
This section is explaining an implementation results of foot sensor modul using piezoelectric sensor. Several experiments such as walk in place, walk in place with forward force disturbance, and walk in place with right side force disturbance was implemented into T-FLoW humanoid robot. In the explanation in subsection, the analysis is focused into the main issue of disturbance. During walk in place experiment, the analysis is focused in the position vector of ZMP based on CoP calculation in the X-axis. It is because the position vector of ZMP based on CoP in Y-axis is undominant. During walk in place with forward force disturbance experiment, the analysis is focused in the position vector of ZMP based on CoP calculation in the X-axis similar with walk inplace experiment. During walk in place with right side force disturbance experiment, the analysis is focused in the position vector of ZMP based on CoP calculation in the Y-axis because position vector of ZMP based on CoP in Y-axis is dominant. Those experiments were doing with same walking locomotion parameters and in the flat floor (flat base).

Walk in place
This sub-section is explaining an implementation result of foot sensor modul using piezoelectric sensor during walking locomotion (walk in place). The implementation process is shown in Figure 10 and the result of foot sensor module calculation (position vector of ZMP based on CoP) is shown in Figure 11. Figure 10 is shows the walking locomotion process in the normal condition (without disturbance). T-FLoW humanoid robot needs 1.5 second to doing 1 full step of walk. From Figure 11, the calculation of position vector of ZMP based on CoP has maximum and minimum value (range) at 16 mm until -22 mm. The average value in positive area (forward direction in X-axis) has value at 0.8 mm and the average value in negative area (backward direction in X-axis) has value at -1.1 mm. From this data, the final conclusion of T-FLoW humanoid robot during walk in place has dominant characteristic walk in place with backward direction (with comparison about -0.3 mm).

Walk in place with forward force disturbance
This sub-section is explaining an implementation result of foot sensor modul using piezoelectric sensor during walking locomotion (walk in place with forward force disturbance). The implementation process is shown in Figure 12 and the result of foot sensor module calculation is shown in Figure 13.

Walk in place with right side force disturbance
This sub-section is explaining an implementation result of foot sensor modul using piezoelectric sensor during walking locomotion (walk in place with right side force disturbance). The implementation process is shown in Figure 14 and the result of foot sensor module calculation is shown in Figure 15.  . The final conclusion in third experiment is T-FLoW humanoid robot during walk in place has dominant characteristic walk in place with right side direction (with comparison about -66.6 mm). Based on those final conclusions in each experiment, the implementation of foot pressure sensor modul using piezoelectric sensor has a good result (94%) as shown in final conclusions in each experiment. The advantages of this new foot pressure sensor modul is low-cost design and similar result with another sensor such as flex sensor, loadcell sensor, and torque sensor. The disadvantages of this sensor are needed to recalculation because of the main characteristic of piezoelectric sensor (non-continuous read). Because of it, sometimes the calculation has outlayer data such as in the third experiment. But overall, the proposed model of foot pressure sensor modul in this research is work fine and already implemented in T-FLoW humanoid robot.