3. Prototypes of different walking robots

Advances computer modeling can be useful to increase the efficiency of designed machines, by introducing required modifications to the mechanical construction, depending on the results obtained during virtual tests. Currently, numerous computer programs, such CATIA, SimDesigner, ADAMS, or SolidWorks software, support researchers in virtual prototyping of machines, including walking robots, for instance, see papers [19–21]. In our study we also designed different walking robots, with different numbers of limbs and their different structures. All our designs presented in Figure 1 were created in Inventor Professional 2019 software. In general, each robot consists of the main body part (trunk) and four

Figure 1. CAD models of different bio-inspired walking robots created in inventor professional 2019 software.

(quadruped), six (hexapod), or eight (octopod) legs with crab-like or mammal-like structures. Following many previous researches, during modeling of all robot's legs, we were inspired by the morphology of limbs of typical insects or mammals, reduced to three main segments [2, 12, 22–27]. To avoid mutual collisions between the legs, in all presented designs, the robot's legs are symmetrically distributed on two sides of the robot's body. By adopting the initial positions of individual leg's joints, different leg's configurations, which correspond to configurations of lower limbs of different animals met in nature, can be implemented [15]. In all designs presented in Figure 1, each joint of the robot's leg is actuated by Power HD AR-1201MG servomotor controlled by the pulse-width modulation (PWM) technique. This servomotor has inner closed loop feedback of the position control and a proportional controller.

Both kinematic and dynamic models of crab-like or mammal-like robots were detail presented in our previous papers [8, 10, 11]. On the contrary to the abovementioned references, in this study we focused only on novel mathematical formulations regarding full control of the robot on a planar, irregular, unstable, or vibrating ground, which have not been presented before. To investigate the possibility of the robot's control, we have developed a general, three-dimensional, fully parametric simulation model of a walking robot created in the Mathematica software. The created simulation model allowed us to visualize behavior of the investigated robot and control the correctness of the obtained results. Especially, we were able to control the spatial position of individual elements of the robot and the configurations of the legs. It also allowed us to better understand the obtained simulation results. Through the appropriate choosing of the parameters and configurations of the limbs, we are able to quickly generate various types of walking robots.

## 4. Kinematics of the robot

In one of the recent papers [11], we considered and investigated the problem of planning the trajectory of the robot body in the vertical direction, during walking on a planar plane in any (i.e., forward, lateral, oblique, etc.) direction. On the contrary to the mentioned paper, in this study we extended significantly the control possibility of the investigated robot, including full control of all six spatial degrees of freedom of the robot's body (i.e., three deviations and three rotations along and around three different axes, respectively), as well as control of all robot's legs on planar, nonregular, unstable, and vibrating ground. As it was mentioned before, this control possibility can be really helpful, when it comes to both the navigation and obstacle avoidance in natural environment of the robot. As a result, the presented robot can be treated as a fully controlled walking Stewart platform. The created simulation models allow to visualize the investigated robots during walking and control the correctness of the obtained results. Especially, it was able to control the spatial position of individual elements of the robot and the configurations of the legs. Finally, it allows to understand the obtained simulation results better.

Figure 2 shows exemplary simulation model of a hybrid octopod robot. Four of its legs (two front and two hind) have mammal-like structures, whereas four middle legs have crab-like structures. In addition, for more general considerations, we used different initial configurations of the mammal-like legs for front and hind legs. Model of this hybrid octopod robot standing on a planar surface is presented in Figure 2.

The robot is embedded in a global coordinate system Oxyz. In addition, other local coordinate systems are fixed to the robot. The coordinate system O<sup>0</sup> x0 y0 z<sup>0</sup> is associated with the center of the robot's body. In turn, other local coordinate

On the Controlling of Multi-Legged Walking Robots on Stable and Unstable Ground DOI: http://dx.doi.org/10.5772/intechopen.90208

Figure 2. Simulation model of a hybrid octopod walking robot.

systems are associated with the robot's legs. In Figure 2 we presented only one local coordinate system O}x}y}z} fixed to the leg L1.

In general, we consider irregular and unstable ground, where a height (z- component) for the coordinates x and y for time t has the following general form:

$$z = z\_G(\mathbf{x}, y, t). \tag{1}$$

The vectors rGð Þt describing positions of all points on the ground in the global coordinate system Oxyz have the form

$$\mathbf{r}\_{\rm G}(t) = \mathbf{R}\_{\rm G}(a\_{\rm G}(t), \boldsymbol{\beta}\_{\rm G}(t), \boldsymbol{\gamma}\_{\rm G}(t)) \cdot \mathbf{r}\_{\rm G}^{init} + \Delta \mathbf{r}\_{\rm G}(t), \tag{2}$$

where <sup>Δ</sup>rGðÞ¼ <sup>t</sup> <sup>Δ</sup>xGð Þ<sup>t</sup> , <sup>Δ</sup>yGð Þ<sup>t</sup> , <sup>Δ</sup>zGð Þ<sup>t</sup> � �<sup>T</sup> , rinit <sup>G</sup> are vectors describing positions of points of the ground in the initial time, i.e., for the angles αGðÞ¼ t 0, βGðÞ¼ t 0, γGðÞ¼ t 0 and linear deviations ΔxGðÞ¼ t 0, ΔyGðÞ¼ t 0, and ΔzGðÞ¼ t 0,

$$\mathbf{R}\_G(a\_G(t), \boldsymbol{\beta}\_G(t), \boldsymbol{\gamma}\_G(t)) = \mathbf{R}\_G^{(x)}(\boldsymbol{\gamma}\_G(t)) \cdot \mathbf{R}\_G^{(y)}(\boldsymbol{\beta}\_G(t)) \cdot \mathbf{R}\_G^{(x)}(a\_G(t)) \tag{3}$$

is the rotation matrix, whereas

$$\mathbf{R}\_{G}^{(x)}(a\_{G}(t)) = \begin{bmatrix} 1 & 0 & 0 \\ 0 & \cos a\_{G}(t) & -\sin a\_{G}(t) \\ 0 & \sin a\_{G}(t) & \cos a\_{G}(t) \end{bmatrix},\tag{4}$$

$$\mathbf{R}\_{G}^{(y)}(\boldsymbol{\beta}\_{G}(t)) = \begin{bmatrix} \cos \beta\_{G}(t) & \mathbf{0} & \sin \beta\_{G}(t) \\ \mathbf{0} & \mathbf{1} & \mathbf{0} \\ -\sin \beta\_{G}(t) & \mathbf{0} & \cos \beta\_{G}(t) \end{bmatrix},\tag{5}$$

$$\mathbf{R}\_{G}^{(y)}(t) = \begin{bmatrix} \cos \gamma\_{G}(t) & -\sin \gamma\_{G}(t) & \mathbf{0} \\ \mathbf{0} & \mathbf{0} \end{bmatrix}$$

$$\mathbf{R}\_G^{(x)}(\boldsymbol{\chi}\_G(t)) = \begin{bmatrix} \sin \boldsymbol{\chi}\_G(t) & \cos \boldsymbol{\chi}\_G(t) & \mathbf{0} \\ \mathbf{0} & \mathbf{0} & \mathbf{1} \end{bmatrix} \tag{6}$$

are elementary rotation matrices of the ground, respectively. All vectors rRð Þt of the robot in the global coordinate system Oxyz are expressed by

$$\mathbf{r}\_{R}(t) = \mathbf{R}\_{R}(a\_{R}(t), \boldsymbol{\beta}\_{R}(t), \boldsymbol{\gamma}\_{R}(t)) \cdot \mathbf{r}\_{R}^{init} + \Delta \mathbf{r}\_{R}(t), \tag{7}$$

where <sup>Δ</sup>rRðÞ¼ <sup>t</sup> <sup>Δ</sup>xRð Þ<sup>t</sup> , <sup>Δ</sup>yRð Þ<sup>t</sup> , <sup>Δ</sup>zRð Þ<sup>t</sup> � �<sup>T</sup> , rinit <sup>R</sup> are vectors describing positions of points of the robot in the initial time, i.e., for the angles αRðÞ¼ t 0, βRðÞ¼ t 0, and γRðÞ¼ t 0 and linear deviations ΔxRðÞ¼ t 0, ΔyRðÞ¼ t 0, and ΔzRðÞ¼ t 0,

$$\mathbf{R}\_{\mathcal{R}}(a\_{\mathcal{R}}(t), \boldsymbol{\beta}\_{\mathcal{R}}(t), \boldsymbol{\gamma}\_{\mathcal{R}}(t)) = \mathbf{R}\_{\mathcal{R}}^{(x)}(\boldsymbol{\gamma}\_{\mathcal{R}}(t)) \cdot \mathbf{R}\_{\mathcal{R}}^{(y)}(\boldsymbol{\beta}\_{\mathcal{R}}(t)) \cdot \mathbf{R}\_{\mathcal{R}}^{(x)}(a\_{\mathcal{R}}(t)) \tag{8}$$

is the rotation matrix, whereas

$$\mathbf{R}\_{\mathbb{R}}^{(\boldsymbol{x})}(a\_{\mathbb{R}}(t)) = \begin{bmatrix} 1 & \mathbf{0} & \mathbf{0} \\ \mathbf{0} & \cos a\_{\mathbb{R}}(t) & -\sin a\_{\mathbb{R}}(t) \\ \mathbf{0} & \sin a\_{\mathbb{R}}(t) & \cos a\_{\mathbb{R}}(t) \end{bmatrix},\tag{9}$$

$$\mathbf{R}\_{R}^{(p)}(\beta\_{R}(t)) = \begin{bmatrix} \cos \beta\_{R}(t) & \mathbf{0} & \sin \beta\_{R}(t) \\ \mathbf{0} & \mathbf{1} & \mathbf{0} \\ -\sin \beta\_{R}(t) & \mathbf{0} & \cos \beta\_{R}(t) \end{bmatrix},\tag{10}$$

$$\mathbf{R}\_{R}^{(x)}(\boldsymbol{\gamma}\_{R}(t)) = \begin{bmatrix} \cos \boldsymbol{\gamma}\_{R}(t) & -\sin \boldsymbol{\gamma}\_{R}(t) & \mathbf{0} \\ \sin \boldsymbol{\gamma}\_{R}(t) & \cos \boldsymbol{\gamma}\_{R}(t) & \mathbf{0} \\ \mathbf{0} & \mathbf{0} & \mathbf{1} \end{bmatrix}. \tag{11}$$

The determination of the coordinates describing the positions of the feet of all the robot's legs requires consideration of the vectors rGð Þt in contact points between the robot's legs and the ground, as well as the inverse matrix R�<sup>1</sup> <sup>R</sup> . Next, the appropriate articulated variables for all joints of the robot's legs can be determined.
