Keywords

1 Introduction

In enabling a manipulator or legged robot or so-called limbed robot mechanism moving around the workspace, effective actuation is required to ensure the force on end-effector focus on targeted workspace [1]. Prismatic and revolute are the types of joints that used in connecting between the two or more links of the limbed robot, depending on design and application. For the case of a limbed system with revolute joint, electric motor becoming a common device since this configuration required the direct actuating and direction feedback measurement as well. It is different to the limbed robot with a prismatic joint that some of configured with the pneumatic and hydraulic actuator. However with the recent technology, electric motor with linear guided features becoming a favorable device for prismatic limbed robot mechanism due to the cost, precision and safety factors if compared to the pneumatics and hydraulic type.

Regarding on control point of view, the prismatic limbed robot required the specific translation in drive process since the actuating process on each joint is indirect. Also, precise control of each joint of the prismatic limbed robot is essential and crucial to ensure the effectiveness of the motion input to the system. For this case, the control objective is emphasized in handling the actual joint position \((\theta_{f} (t))\) track the same as the desired joint motion \((\theta_{d} (t))\) from trajectory input to ensure end-effector of the robot able to complete the task precisely. Fundamentally, this situation is related to the joint’s actuating devices as well as for kinematics chains as a translator.

A conventional control is known as Proportional, Integral and Derivative (PID) control are commonly and practically used in industrial automation, in which the robustness only required simple fine-tuning [2]. However, the complexity increases as it confronted with the nonlinear event such as, noise and interference, a windup phenomenon as well as gravitational factors, this control method need some adaptive element or maybe need to be replaced with another more intelligent control system. The interference of sensor noise occurred especially to the system that implemented sensor with voltage leveling type. During trajectory tracking, to complete the error correction into zero error, a controller may results in a jerky movement even when the sensor used in the system have a good and stable range of feedback reading as the sensitivity of the controller toward error is high. A method to implement deadband for error proposed by [3] in the simple Proportional and Derivative (PD) position control, is used to set an acceptable range of error in controlling the cab rotation. Unfortunately, the method will reduce the accuracy of the physical driven devices placement. Another issue that needs tackle is when implementing a controller that used an integral element such as in PID is the windup phenomenon.

The windup phenomenon happens when the control signal (u(t)) from PID continuously accumulating and increasing due to the action of the integral term as soon as the physical variables reached the saturation point (physical limitation). This phenomenon caused overshoot response. As proposed by [4] this problem can be eliminated by immobilizing the integral term, where the windup phenomenon eliminated through anti-windup approaches. Furthermore, rather than emphasized on nonlinearity in the internal system of any types of the control system, an external factor such as the gravity effect on the moving link should be taken into account. The gravity compensation happened as any of the link moving in a robotic leg or manipulator mechanism. The scenario happened when the link’s weight does not yield a significant fraction or any of torque at the actuation of the actuator [5]. This condition occurred when the force direction of the moving link is the same as the direction of the gravitational force.

Recently, the involvement of the artificial intelligent algorithm in robot dynamics becoming trendy especially in cater the positioning control encompassing indirect control of force/torque. As for example, a reconfigurable constraint arm implemented a hybrid combination of force into position control by using the adaptive neural network (NN) [6], where Li et al. suggested to use compensator which is adaptive NN onto the targeted robot dynamic model uncertainty. Besides, NN also is adapted to underactuated robotic arm position control through forwarding learning and inverse estimating in resolving the inverse problem by the network inversion [7]. The main objective of the proposed method is to ensure the passive joint of the robotic arm capable of follows the motion reference based on the predictable trajectory. On the other hand, Fuzzy Logic Control (FLC), as stated in [8, 9], is also one of the favorable model-free control with artificial intelligence that widely deployed in industrial level. The benefits of FLC in the control practices is on its flexibility in the characterizing of linguistic term usage while escaping complex mathematical methods [2]. For instance, a two-link planar type robot with underactuated link configuration used two inputs single output FLC [10], where the active link was the only highlighted as controlled link while the position of the passive link is in consideration. The advantage of intelligent control integration into conventional mathematical-based control is to reduce the complexity of the control and to realize model-free approach that able to avoid iteration processes.

Therefore this research has taken the initiative to improve the previous works on giving better position control on each leg joints of a multi-legged robot named Hexaquad. This progress is a sequel of a hybrid of proportional and integral anti-windup with FLC (PIA-FLC) proposed in [11] for each nth-joint of bio-inspired Hexaquad robot leg [12]. The adaptive derivative (D) element in the controller is proposed to increase the precision of each dominant nth-joint better than previous PIA-FLC. The structure of this paper is arranged as follows: Sect. 2 discusses briefly on the summary of Hexaquad robot mechanism as well as its leg kinematics chain whereas Sect. 3 explained the details of the proposed PIA-FLC with D element system design and Sect. 4 discusses the experimental setup, results, and analysis. Lastly, in Sect. 5, conclusions are drawn.

2 Overview of Hexaquad Robot Mechanisms and Leg Kinematics

A bio-inspired legged robot with converting form between Hexapod and Quadruped known as Hexaquad [13], with the objective to be operated submerged on the riverbed or seabed and expected to conduct task of the pick-and-place object that weight maximum of 50 kg. Hexaquad development was inspired by the characteristics of arthropod which having a quadruped or hexapod configurations and peristaltic creatures [12] where during Quadruped mode, the center set of Hexaquad’s legs can move in either of two directions as displayed in Fig. 1. Also, on each tip of the Hexaquad’s leg is equipped with foot-to-gripper (FTG) transformation. The actuators specifications on each joint of Hexaquad’s leg are listed Table 1 where one bipolar stepper motor is equipped on joint 1 \((\theta_{1} )\) as actuating devices while joint 2 \((\theta_{2} )\) and joint 3 \((\theta_{3} )\) of Hexaquad’s leg are installed with one linear actuator motor on each joint. Moreover, to enable the ability of FTG transformation, tubular actuator motor is equipped on each of leg’s tip. The Hexaquad’s legs are considered to be in underactuated configuration.

Fig. 1
figure 1

Hexaquad robot system

Table 1 Actuator specification for hexaquad robot

However, in designing control system, the system is considered as fully actuated with 3 degrees of freedom (DOF) formation since the movement of the linear actuator on each link is influenced by a position sensor installed directly to each joint. As shown in Fig. 2, a1, a2 and a3 denotes as the length of Link 1, Link 2 and Link 3 respectively. By using Denavit-Hartenberg (DH) conversion as in Eqs. 1 and 2, a translation between Cartesian coordinates of the tip of the Hexaquad’s leg (end-effector) and Hexaquad leg’s joints angular coordinates are expressed.

Fig. 2
figure 2

Hexaquad’s leg link orientation

$$\left( {\begin{array}{*{20}c} {x_{e} } \\ {y_{e} } \\ {z_{e} } \\ \end{array} } \right) = \left( {\begin{array}{*{20}c} {a_{1} cos(\theta_{1} ) + a_{2} cos(\theta_{1} )cos(\theta_{2} ) + a_{3} cos(\theta_{1} )cos(\theta_{23} )} \\ {a_{1} sin(\theta_{1} ) + a_{2} sin(\theta_{1} )cos(\theta_{2} ) + a_{3} sin(\theta_{1} )cos(\theta_{23} )} \\ {a_{2} sin(\theta_{2} ) + a_{3} sin(\theta_{23} )} \\ \end{array} } \right)$$
(1)
$$\begin{aligned} \theta_{3} & = \cos^{ - 1} \frac{{\left( {\frac{{x_{e} }}{{\cos (\theta_{1} )}} - a_{1} } \right)^{2} + z_{e}^{2} - a_{2}^{2} - a_{3}^{2} }}{{2a_{2} a_{3} }} \\ \theta_{2} & = \tan^{ - 1} \left( {\frac{{a_{3} \sin \left( {\theta_{3} } \right)}}{{a_{2} + a_{3} \cos \left( {\theta_{3} } \right)}}} \right) \\ & \quad + \sin^{ - 1} \left( {\frac{{z_{e}^{2} }}{{\sqrt {a_{2} + a_{3} \cos (\theta_{3} )^{2} + a_{3} sin(\theta_{3} )^{2} } }}} \right) \\ \theta_{1} & = \tan^{ - 1} \left( {\frac{{x_{e} }}{{y_{e} }}} \right) \\ \end{aligned}$$
(2)

3 PIA-FLC-D for a Hexaquad’s Leg Precision Motion

3.1 Inner Loop System of Hexaquad’s Leg

The same architecture of inner-loop control was designed on each Hexaquad’s leg but with different parameters values as illustrated in Fig. 3. The Hexaquad’s leg nth-joint position control was originated from [14] which is Proportional Integral with Antiwindup (PIA) control to control each joints positioning of Hexaquad robot’s legs. However a modification is made in [11], by adding gravity compensator using single input single output (SISO) Fuzzy Logic Control (FLC) into the PIA controller during walking trajectory tracking where FLC will compensate to decrease control output (u(t)) of PIA during Hexaquad’s leg links movement yielding with gravity force and increase u(t) when against it.

Fig. 3
figure 3

Hexaquad’s leg position control architecture

In order to achieve a walking pattern, there is only two basic sequences are designed which are a lift to swing sequence and drag sequence. By referring to Fig. 4, the basic sequence is portrayed where during the lift to swing sequence, the Hexaquad’s leg required to lift the leg to place the leg into new placement while at dragging sequence, the leg imparting force to the environment to move the robot’s body to a new location. The walking motion was designed with a semi-circle shaped where \((xyz)_{o}\) was the starting point and green arrow indicating the direction of motion of Hexaquad’s leg tip. The Cartesian coordinates of Hexaquad’s leg tip generated via the designed motion in Fig. 4 were translated using inverse kinematics, as expressed in Eq. 2, into Hexaquad leg’s joint angular coordinates and supplied to the inner-loop system in Fig. 3.

Fig. 4
figure 4

Hexaquad basic leg motion according to the foot point

3.2 An Addition of a Derivative Element into PIA-FLC

As presented in [11], the PIA-FLC is incapable of following precisely and responding quickly toward the motion track as it lagging behind. This situation will reduce the accuracy of the joints moving and unable to give satisfactory results. The controller required to respond faster to the motion designed so that no problem arises in the future. A precise trajectory tracking is vital in order to enable physical hardware to translate the designed pattern into actual movement. As previously shown in PIA-FLC performance, the controller had delay especially during swing sequence since the motion speed during swing sequence is faster than motion speed during drag sequence. This situation happened due to no element for error speed response control toward the motion track. Hence, the addition of derivative (D) element into PIA-FLC is done. The D element is the representation of the change in error in the controller over time as expressed in (3). As shown in Fig. 5, \(K_{P}\), \(T_{s}\), \(K_{T}\) and \(K_{I}\) are proportional gain, sampling time, anti-windup gain and integral gain respectively for PIA unit in the proposed controller and the modification is made as illustrated by the red outline indicated the addition of D element where \(K_{D}\) is denote as derivative gain. The D element is expected to generate new value based on the speed of the motion. As the change in error increases, the D element generates higher output which then added to the PIA-FLC u(t).

Fig. 5
figure 5

The detail on proposed PIA-FLC-D control architecture

$$K_{D} \left( {\frac{de(t)}{dt}} \right) = K_{D} \left( {\frac{e(t) - e(t - 1)}{\Delta t}} \right)$$
(3)

4 Results and Discussions

4.1 Experiment Setup

The modified controller, PIA-FLC-D is tested on joint 2 and joint 3 of Hexaquad’s 1st leg based on designed motion in Fig. 4. In this experiments, only two dominant joints are considered for validation since joint 1 is set to static (zero). As shown in Fig. 6, the 1st leg of Hexaquad robot is left hanging, and the direction of motion is shown in the figure. A 360° rotational type potentiometer is equipped on each of Hexaquad’s leg joints as a position sensor. The experiment is run in two sessions whereby the 1st session is for PIA-FLC controller and the second session is for PIA-FLC-D controller.After fine-tuning, the gain parameters for PIA-FLC were obtained as listed in Table 2 for both Hexaquad’s leg joints. The gain parameters value listed in Table 2 also applied to PIA-FLC-D with derivative gain \((K_{D} )\) is set to 0.0001.

Fig. 6
figure 6

Test rig setup on the 1st leg of Hexaquad

Table 2 Gain parameters for joint 2 and 3

4.2 Performance Comparison Between PIA-FLC and PIA-FLC-D

As shown in Figs. 7 and 8, the comparison of performance for both controller are presented for joint 2 \((\theta_{2} )\) and joint 3 \((\theta_{3} )\) respectively, whereby black, blue and red lines denote the reference, PIA-FLC, and PIA-FLC-D tracks respectively. For both figures, the swing sequence started at 15–19.5 s and continue with drag sequence at 19.5–23 s. The change in motion during swing sequence is faster than in drag sequence. Both controllers showed a good response during drag sequence without overshooting and delay. However, the performance during swing sequence showed that PIA-FLC is having a gap between it track with the reference track especially at 16.5–19 s on both joints. Also, the performance distinction between the two controllers can be seen in Fig. 8 where PIA-FLC delayed approximately 0.25 s from the reference track while PIA-FLC-D only yields with approximately 0.1 s lagging behind the track. Contrary to the PIA-FLC, the controller with the additional D parameter showed a better response toward the reference track as it able to directly follow the reference motion on both joints.

Fig. 7
figure 7

Sample experiment of \(\theta_{2}\)

Fig. 8
figure 8

Sample experiment of \(\theta_{3}\)

5 Conclusion

The proposed PIA-FLC-D for joint position control was successfully applied to both joints of Hexaquad’s leg. The results showed that both joints especially during swing sequence, the PIA-FLC-D responses faster to the reference track whereas the PIA-FLC has a response delay and resulting in lagging behind the track due to the change between motions is faster than during drag sequence. The result was validated that PIA-FLC-D has given precise results in following the reference input during drag and swing sequences. The additional of proposed D element helped the original PIA-FLC to increase or decrease u(t) of the controller while completing the trajectory tracking. As for the future works, the improvement will be emphasized on giving a dynamic response on each Hexaquad leg in facing a soft terrain with mild unstructured terrain.