Keywords

1 Introduction

In the last three decades, the mobile robot has made a lot of attention because of exploring in the complex environment, space, rescue operation, and accomplish a task without human effort, etc. The mobile robot can be broadly classified into three categories; wheeled robot, tracked robot and legged robot [1]. The Development of terrestrial locomotion of legged robot has been grown constantly over the few decades because of more advantages than other robot vehicles. The advantages of legged locomotion depend on the postures, the number of legs, and the functionality of the leg [2]. Though wheeled and tracked robots can work in plane terrain, but most of them couldn’t fit in cluttered terrain, complex and hazardous environments, etc. The legged robot has more potential to roam almost all the earth surfaces in different terrains, just like a human and an animal. The quadruped robots are the best choice among all legged robots related to mobility and stability of locomotion [3]. The four legs of the robot are easily controlled, designed and maintained as compared to two or six legs. The conceptual design of the skeleton quadrupedal robot is shown in Fig. 1. The structure and parameters of each leg are identical with consist of 3 degrees of freedom (DOF).

Fig. 1
figure 1

Conceptual model of quadruped robot

2 Kinematic Mechanism of the Legged Robot

In order to find out the position and velocity of end-effector or feet of the quadruped robot, the kinematic analysis is very much important. Configuration model of quadrupedal robot is designed by 3-D modelling software, solid works. In this paper mechanical model of quadrupedal robot is divided into two main part: body or frame and legs. Each leg is identical in nature and symmetrically joined in the main body. Each leg is composed of a series of links connected by different joints. In model each leg has three joints and actuated by electric motor. Starting with the assumption that each connection between two links has a single degree of freedom. A robot leg with ‘n’ number of joints means it will have n + 1 links and associate with a joint variable. Each leg of the robot is behaved like a serial manipulator which is rigidly attached to the co-ordinate frame to each link. In order to get the co-ordinate of the origin of the feet/end effector relative to the base frame, by choosing the origin of the base frame at any arbitrary point. However, it is assumed that no slippage between feet and ground.

2.1 D-H Parameter Representation

In 1955, Denavit and Hartenberg proposed a D-H transformation matrix for attaching an arbitrary frame to each link of a spatial linkage [4]. In this D-H convention, transformation related with the joint \({z}_{i}\) and \({x}_{i}\). This is the most prominent method for the solving kinematics analysis of robotic system. The four parameters link twist (\(\alpha_{i}\)),link length (\(r_{i}\)), joint angle (\(\theta_{i}\)) and link offset (\(d_{i}\)) are associated with D-H convention method. Where, angle \(\alpha_{i}\) is the angle from \(z_{i - 1}\) to \(z_{i}\) measure about \(x_{i}\),\(r_{i}\) is the distance from \(z_{i - 1}\) to \(z_{i}\) measure along \(x_{i}\), \(d_{i}\) is the offset distance from \(x_{i - 1}\) to \(x_{i}\) measure along \(z_{i - 1}\) and angle \(\theta_{i}\) is from \(x_{i - 1}\) to \(x_{i}\) measure about \(z_{i - 1}\). The co-ordinate transformation of each link from previous co-ordinate system can be represent in notation

$$\begin{aligned} {}^{i - 1}T_{i} & = R_{{x_{i} }} (\alpha_{i - 1} ).T_{{x_{i} }} (r_{i - 1} ).T_{{z_{i} }} (d_{i} ).R_{{z_{i} }} (\theta_{i} ) \\ & = \left( {\begin{array}{*{20}c} {C\theta_{i} } & { - S\theta_{i} } & 0 & {r_{i - 1} } \\ {S\theta_{i} C\alpha_{i - 1} } & {C\theta_{i} C\alpha_{i - 1} } & { - S\alpha_{i - 1} } & { - S\alpha_{i - 1} d_{i} } \\ {S\theta_{i} S\alpha_{i - 1} } & {C\theta_{i} S\alpha_{i - 1} } & {C\alpha_{i - 1} } & { - C\alpha_{i - 1} d_{i} } \\ 0 & 0 & 0 & 1 \\ \end{array} } \right) \\ \end{aligned}$$
(1)

where Rot and Trans denote the rotation and translation respectively, and \(S\theta_{i}\) \(C\theta_{i}\) are the shortest form of \(\sin \theta_{i}\) and \(\cos \theta_{i}\) respectively. The desired model of Denavit-Hartenberg leg parameters for forward kinematics is given in Table 1 [5, 6]. For a single leg, each transformation matrices of link from previous co-ordinate system can be represented in notations like \({}^{b}T_{0}\),\({}^{0}T_{1}\), \({}^{1}T_{2}\)\({}^{2}T_{3}\) and \({}^{3}T_{4}\). The deduction of a homogeneous transformation matrix near by co-ordinate systems of one leg foot \(\left. {{\text{leg}}^{l} } \right)_{l = 1}\) is as follows (2–6):

Table 1 D-H parameter specification

Each leg of the robot has identical D-H co-ordinate frames and parameters so that direct kinematic equation can apply from joint-3 to joint-1. The transformation from joint (\(O_{{{\text{io}}}}\)) to co-ordinate of the base frame (\(O_{{\text{b}}}\)) for each leg can be expressed by the constant translational transformation matrix with considering different sign value of \(\lambda\) and \(\delta\) in Eq. (6).

$${}^{0}T_{1} = {\text{Rot}}(z,\theta_{1} )$$
(2)
$${}^{1}T_{2} = {\text{Rot}}(x,90^{ \circ } ){\text{Tran}}(r_{1} ,0,0){\text{Rot}}(z,\theta_{2} )$$
(3)
$${}^{2}T_{3} = {\text{Tran}}(r_{2} ,0,0){\text{Rot}}(z,\theta_{3} )$$
(4)
$${}^{3}T_{4} = {\text{Tran}}(r_{3} ,0,0)$$
(5)
$${}^{b}T_{0} = {\text{Trans}}(\lambda P, - \delta Q, - H){\text{Rot}}(y,90^{ \circ } )$$
(6)

In final, the homogeneous transformation matrix between two adjacent links becomes in the form of

$${}^{0}T_{4} = {}^{0}T_{1} .{}^{1}T_{2} .{}^{2}T_{3} .{}^{3}T_{4} = \left( {\begin{array}{*{20}c} {R_{3 \times 3} } & {p_{3 \times 1} } \\ 0 & 1 \\ \end{array} } \right)$$
(7)

where

\(R_{3 \times 3} = \left( {\begin{array}{*{20}c} {C\theta_{1} C\theta_{23} } & { - C\theta_{1} S\theta_{23} } & {S\theta_{1} } \\ {S\theta_{1} C\theta_{23} } & { - S\theta_{1} S\theta_{23} } & { - C\theta_{1} } \\ {S\theta_{23} } & {C\theta_{23} } & 0 \\ \end{array} } \right)\) \(P_{3 \times 1} = \left( {\begin{array}{*{20}c} {r_{1} C\theta_{1} + r_{2} C\theta_{1} C\theta_{2} + r_{3} C\theta_{1} C\theta_{23} } \\ {r_{1} S\theta_{1} + r_{2} S\theta_{1} C\theta_{2} + r_{3} S\theta_{1} C\theta_{23} } \\ {r_{2} S\theta_{2} + r_{3} S\theta_{23} } \\ \end{array} } \right)\).

Similarly, the co-ordinate of four feet in the base frame can be obtained by multiplying \({}^{b}T_{0}\) with \({}^{0}T_{4}\) transformation matrix. The position co-ordinates of one foot of \(\left. {{\text{leg}}^{l} } \right)_{l = 1}\) with respect to the base frame are given in detail from Eqs. (810). The x-z co-ordinates are generated for all combining possible of joint variables using forward kinematics in MATLAB as shown in Fig. 2.

$$p_{x} = r_{2} s\theta_{2} + r_{3} s\theta_{23} + P$$
(8)
$$p_{y} = r_{1} s\theta_{1} + r_{2} s\theta_{1} c\theta_{2} + r_{3} s\theta_{1} c\theta_{23} - Q$$
(9)
$$p_{z} = r_{1} c\theta_{1} - r_{2} c\theta_{1} c\theta_{2} - r_{3} c\theta_{1} c\theta_{23} - H$$
(10)
Fig. 2
figure 2

Foot’s workspace of the quadruped robot

where, \(c\theta_{ij} = \cos \theta_{i} \cos \theta_{j} - \sin \theta_{j} \sin \theta_{i}\),\(s\theta_{ij} = \sin \theta_{i} \cos \theta_{j} + \cos \theta_{i} \sin \theta_{j}\) and \(p_{x}\), \(p_{y}\) and \(p_{z}\) are denoted as the elements of position vector.

2.2 Inverse Kinematics

In this paper, we calculate in detail the joint variables by an inverse kinematic equation of \(\left. {{\text{leg}}^{l} } \right)_{l = 1}\) by the use of end-effectors co-ordinates (\(p_{x}\), \(p_{y}\), \(p_{z}\)) in base global point (\(O_{{\text{b}}}\)). The three joint variables are given directly as follows in Eqs. (1113).

$$\theta_{1} = \tan^{ - 1} - \left( {\frac{{Q + p_{z} }}{{H + p_{z} }}} \right)$$
(11)
$$\theta_{2} = \cos^{ - 1} \left( {\frac{{M^{2} + N^{2} - r_{2}^{2} - r_{3}^{2} }}{{2r_{2} r_{3} }}} \right)$$
(12)

where \(M = ( - r_{1} + p_{y} s\theta_{1} - Hc\theta_{1} + Qs\theta_{1} - p_{z} c\theta_{1} )\), \(N = (p_{x} - P)\).

$$\theta_{3} = a\tan 2(N,M) \pm a\tan 2\left( {\sqrt {\left( {(N^{2} + M^{2} - K^{2} } \right)} ,K} \right),{\text{Where}}\quad K = r_{2} + r_{3} c\theta_{3}$$
(13)

3 Dynamic Motion and Joint Space Formulation

The fundamental approaches to write equation of motion of a quadrupedal robot mechanism are generally represented in two methods: the Newton–Euler formulation and Langrage formulation [7]. For a rigid body, the spatial equation of motion is used for Newton and Euler’s equation. The must common conical form of the robot’s dynamic motion is the joint space formulation written in Eq. (14).

$$M\left( \theta \right)\ddot{\theta } + C\left( {\theta ,\dot{\theta }} \right)\dot{\theta } + G_{g} \left( \theta \right) = \tau$$
(14)

\(M\left( \theta \right)\), \(C\left( {\theta ,\dot{\theta }} \right)\dot{\theta }\), \(G_{g} \left( \theta \right)\) and \(\tau\) are inertial matrix, Coriolis and centrifugal, gravitational vector, and torque output vector respectively. In this paper, we used the langrage equation due to more favorable in complex robotic manipulator configuration. The internal force/reaction forces are neglected in this analysis. The dynamic equation of trotting motion can be developed by using the langrage equation,

$${\text{Langrange}}\left( L \right) = T - U\left( {{\text{Energies}}} \right)$$

where T and U are the total kinetic and potential energy respectively of the mechanical system. The Lagrange’s equation for each generalized co-ordinate of the dynamic equation of motion can be written in the form (15)

$$\frac{{\text{d}}}{\partial t}\frac{\partial L}{{\partial \dot{\theta }_{i}^{{}} }} - \frac{\partial L}{{\partial \theta_{i} }} = \tau_{i}$$
(15)

4 Simulation Results

At the beginning of the quadruped robot development, it is necessary to find the maximum torque for designing each joint actuator. However, the quadruped robot is a combination of a multi-body dynamic system; the calculation of torques of each joint is tedious. So MSC.ADAMS is the most famous multi-body dynamics simulation software, which can be a useful and convenient way to find out the driving torques. The virtual prototype of the design quadruped robot in ADAMS student edition is shown in Fig. 3. The reference driving torques for every joint of one leg is shown in Figs. 4, 5 and 6 respectively. Setting the parameter of the robot’s leg as \(r_{1} = 70\,{\text{mm}}\), \(r_{2} = 100\,{\text{mm}}\), \(r_{3} = 100\,{\text{mm}}\), \(\theta_{1} = - 10^{^\circ }\), \(\theta_{2} = - 35^{^\circ }\), and \(\theta_{3} = 45^{^\circ }\). As considering the uniform speed with 5-s simulation the displacement of the foot along x, y, and z-direction are shown in Figs. 7, 8 and 9. The relation between rotational angle of each joint and time is \(\theta_{1} = - 2t\), \(\theta_{2} = - 7t\) and \(\theta_{3} = - 9t\), where \(0 \le t \le 5\) the location of origin point of coordinate system (\(O_{0}\)) is given as (\(180,100, - 40\,{\text{mm}}\)) in co-ordinate system base (\(O_{{\text{b}}}\)).

Fig. 3
figure 3

The virtual prototype of the quadruped robot

Fig. 4
figure 4

The driving torque for joint-1

Fig. 5
figure 5

The driving torque for joint-2

Fig. 6
figure 6

The driving torque for joint-3

Fig. 7
figure 7

The displacement of foot along X-axis

Fig. 8
figure 8

The displacement of foot along Y-axis

Fig. 9
figure 9

The displacement of foot along Z-axis

5 Conclusions

  • In this paper, a conceptual model of the four-footed robot has been developed. From this study, a 3 DOF leg with kinematic modeling which used in quadruped robot and validated through simulation with the actual model.

  • The joint torque and end-effector position is calculated by considering the initial simulation parameter. The role of forward and inverse kinematic mechanism has been investigated for development and implementation on the quadruped robot.

  • The real-time analysis of joint variables and motion control of quadruped robot is perceived based on simulation results. In future work, a controller will be implemented to coordinate the position of all rotational joints consist of 12 DOF for the quadruped robot.