<?xml version="1.0" encoding="UTF-8"?><?xml-model type="application/xml-dtd" href="http://jats.nlm.nih.gov/publishing/1.1d3/JATS-journalpublishing1.dtd"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1d3 20150301//EN" "http://jats.nlm.nih.gov/publishing/1.1d3/JATS-journalpublishing1.dtd">
<article xmlns:ali="http://www.niso.org/schemas/ali/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" dtd-version="1.1d3" specific-use="Marcalyc 1.2" article-type="research-article" xml:lang="en">
<front>
<journal-meta>
<journal-id journal-id-type="redalyc">3442</journal-id>
<journal-title-group>
<journal-title specific-use="original" xml:lang="es">TecnoLógicas</journal-title>
</journal-title-group>
<issn pub-type="ppub">0123-7799</issn>
<issn pub-type="epub">2256-5337</issn>
<publisher>
<publisher-name>Instituto Tecnológico Metropolitano</publisher-name>
<publisher-loc>
<country>Colombia</country>
<email>tecnologicas@itm.edu.co</email>
</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="art-access-id" specific-use="redalyc">344273557002</article-id>
<article-id pub-id-type="doi">https://doi.org/10.22430/22565337.2412</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Artículos de investigación</subject>
</subj-group>
</article-categories>
<title-group>
<article-title xml:lang="en">Design and Construction of a Snake-Like Robot Implementing Rectilinear and Sidewinding Gait Motions</article-title>
<trans-title-group>
<trans-title xml:lang="es">Diseño y construcción de un robot tipo serpiente que implementa movimientos de marcha rectilínea y sidewinding</trans-title>
</trans-title-group>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="no">
<contrib-id contrib-id-type="orcid">https://orcid.org/0000-0001-5172-8913</contrib-id>
<name name-style="western">
<surname>Marín Arciniegas</surname>
<given-names>Jairo José</given-names>
</name>
<xref ref-type="aff" rid="aff1"/>
<email>jjmarin@unicauca.edu.co</email>
</contrib>
<contrib contrib-type="author" corresp="no">
<contrib-id contrib-id-type="orcid">https://orcid.org/0000-0001-5381-8234</contrib-id>
<name name-style="western">
<surname>Vivas Albán</surname>
<given-names>Oscar Andrés</given-names>
</name>
<xref ref-type="aff" rid="aff2"/>
<email>avivas@unicauca.edu.co</email>
</contrib>
</contrib-group>
<aff id="aff1">
<institution content-type="original">Universidad del Cauca, Popayán – Colombia,    jjmarin@unicauca.edu.co</institution>
<institution content-type="orgname">Universidad del Cauca</institution>
<country country="CO">Colombia</country>
</aff>
<aff id="aff2">
<institution content-type="original">Universidad del Cauca, Popayán – Colombia,    avivas@unicauca.edu.co</institution>
<institution content-type="orgname">Universidad del Cauca</institution>
<country country="CO">Colombia</country>
</aff>
<pub-date pub-type="epub-ppub">
<season>Enero</season>
<year>2023</year>
</pub-date>
<volume>26</volume>
<issue>56</issue>
<elocation-id>e2412</elocation-id>
<history>
<date date-type="received" publication-format="dd mes yyyy">
<day>17</day>
<month>05</month>
<year>2022</year>
</date>
<date date-type="accepted" publication-format="dd mes yyyy">
<day>22</day>
<month>11</month>
<year>2022</year>
</date>
</history>
<permissions>
<copyright-year>2019</copyright-year>
<copyright-holder>Instituto Tecnológico Metropolitano</copyright-holder>
<ali:free_to_read/>
<license xlink:href="https://creativecommons.org/licenses/by-nc-sa/2.5/ar/">
<ali:license_ref>https://creativecommons.org/licenses/by-nc-sa/2.5/ar/</ali:license_ref>
<license-p>Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-CompartirIgual 2.5 Argentina.</license-p>
</license>
</permissions>
<abstract xml:lang="es">
<title>Resumen</title>
<p>Los robots bioinspirados ofrecen versatilidad de locomoción en una amplia variedad de terrenos a los que los robots convencionales no pueden acceder. Una de esas plataformas bioinspiradas son los robots con forma de serpiente, que son mecanismos diseñados para moverse como serpientes biológicas. El objetivo de este artículo fue implementar y validar, mediante la comparación en pruebas reales y de simulación sobre un terreno llano, el diseño de un robot serpiente que permite movimientos en dos planos perpendiculares mediante la aplicación de modos tridimensionales de locomoción. El prototipo del robot contó con una arquitectura modular y secuencial compuesto por ocho segmentos impresos en 3D. Los pares necesarios para cada motor se encuentran mediante una simulación en Matlab – Simulink y la herramienta SimScape. El simulador de robótica móvil Webots se utilizó para crear un modelo virtual parametrizado del robot, donde se programaron dos tipos de marcha: sidewinding y rectilínea. Los resultados mostraron que el comportamiento del robot evidencia valores menores a 1 segundo en el tiempo de ejecución para alcanzar la distancia total en cada una de las marchas propuestas en comparación con la simulación. Además, se obtuvieron diferencias en promedio de 6 cm para las distancias durante el experimento del modo sidewinding y de 1.2 cm en el desvió rectilíneo sobre un terreno plano. En conclusión, existe una gran similitud entre las pruebas de simulación y las realizadas al robot real; igualmente se pudo verificar que el comportamiento del prototipo del robot es satisfactorio en recorridos cortos.</p>
</abstract>
<trans-abstract xml:lang="en">
<title>Abstract</title>
<p>Bio-inspired robots offer locomotion versatility in a wide variety of terrains that conventional robots cannot access.  One such bio-inspired platform is snake-like robots, which are mechanisms designed to move like biological snakes. The aim of this paper was to implement and validate, through comparison in real and simulation tests on flat terrain, the design of a snake robot that allows movements in two perpendicular planes, by the application of three-dimensional locomotion modes. The prototype robot had a modular and sequential architecture composed of eight 3D printed segments. The necessary torques for each motor are found by means of a simulation in Matlab – Simulink and the SimScape tool. The Webots mobile robotics simulator was used to create a parameterized virtual model of the robot, where two types of gaits were programmed: sidewinding and rectilinear. Results showed that the robot undertakes lower than 1 second in execution time to reach the total distance in each of the proposed marches when comparted to the simulation. In addition, mean differences of 6 cm for the distances during the sidewinding mode experiment and 1.2 cm in the deviation in the rectilinear mode on flat terrain were obtained. In conclusion, there is a great similarity between the simulation tests and those performed with the actual robot, and it was also possible to verify that the behavior of the prototype robot is satisfactory over short distances.</p>
</trans-abstract>
<kwd-group xml:lang="en">
<title>Keywords</title>
<kwd>Robot control</kwd>
<kwd>simulation modeling</kwd>
<kwd>robot motion</kwd>
<kwd>biomimetic robot</kwd>
<kwd>snake robot</kwd>
</kwd-group>
<kwd-group xml:lang="es">
<title>Palabras clave</title>
<kwd>Control de robots</kwd>
<kwd>modelado de simulación</kwd>
<kwd>movimiento del robot</kwd>
<kwd>robot biomimético</kwd>
<kwd>robot serpiente</kwd>
</kwd-group>
<counts>
<fig-count count="15"/>
<table-count count="3"/>
<equation-count count="1"/>
<ref-count count="26"/>
</counts>
<custom-meta-group>
<custom-meta>
<meta-name>How to cite / Cómo citar</meta-name>
<meta-value>J. J. Marín-Arciniegas, O. A. Vivas-Albán, “Design and Construction of a Snake-Like Robot Implementing Rectilinear and Sidewinding Gait Motions,” <italic>TecnoLógicas</italic>, vol. 26, nro. 56, e2412, 2023. <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.22430/22565337.2412">https://doi.org/10.22430/22565337.2412</ext-link>
</meta-value>
</custom-meta>
</custom-meta-group>
</article-meta>
</front>
<body>
<sec>
<title>
<bold>Highlights</bold>
</title>
<p>
<list list-type="simple">
<list-item>
<p>Snake robots are versatile mechanisms composed of multiple links and joints, which allow it to move with flexibility replicating the movements of a real snake</p>
</list-item>
<list-item>
<p>The snake robot, rather than wheel and leg mechanisms, offers high stability and tends to be inherently more robust by implementing various modes of locomotion</p>
</list-item>
<list-item>
<p>The simulation results in Webots software provide a satisfactory description of the data obtained in the experimental tests of the snake robot on a flat terrain</p>
</list-item>
<list-item>
<p>The approach of building a modular snake-like robot with locomotion capabilities in two perpendicular planes ensures the application of three-dimensional gait modes</p>
</list-item>
</list>
</p>
</sec>
<sec>
<title>
<bold>1.     INTRODUCTION</bold>
</title>
<p>Today, it has become increasingly common to find robots in society, both in industrial automation and in various commercial applications. The design of these robots varies according to their intended activities and are often inspired by nature. Bio-inspired robots offer locomotion versatility in a wide variety of terrains that conventional robots cannot access. One such bio-inspired platform is snake-like robots; which are mechanisms designed to move like biological snakes [<xref ref-type="bibr" rid="redalyc_344273557002_ref1">1</xref>]. These robots are hyper-redundant devices [<xref ref-type="bibr" rid="redalyc_344273557002_ref2">2</xref>], since consist of multiple modules connected in series that can rotate in one or more planes, thus obtaining many degrees of freedom, although they are notoriously difficult to control. Nevertheless, such mechanisms are advantageous since, a long and flexible body, facilitates the need to move and operate in unknown and complex environments that humans cannot easily access.</p>
<p>In consequence, surpassing the movement capabilities of robots with legs, wheels, and tracks in irregular environments [<xref ref-type="bibr" rid="redalyc_344273557002_ref3">3</xref>]. These characteristics make a snake-like robot ideal for tasks in agricultural environments, earthquake exploration, pipeline inspection in the oil and gas industry, and search and rescue operations, among others [<xref ref-type="bibr" rid="redalyc_344273557002_ref4">4</xref>]–[<xref ref-type="bibr" rid="redalyc_344273557002_ref6">6</xref>].</p>
<p>Research on snake robots has been conducted for several decades. The first study of snake locomotion methods was presented in [<xref ref-type="bibr" rid="redalyc_344273557002_ref7">7</xref>], where he made the mathematical description of all the forces acting when a biological snake moves. Subsequently a close approximation to the shape of a biological snake during lateral undulation was presented by a plane curve whose curvature varies sinusoidally [<xref ref-type="bibr" rid="redalyc_344273557002_ref8">8</xref>]. From this research, the famous serpenoid curve equation (the most common form of snake locomotion) was proposed. On the other hand. The first snake robot equipped with passive wheels along its body, which facilitated the mechanism to achieve propulsion on flat surfaces, was developed. The latter has been a feature traditionally used in the development of this type of platform [<xref ref-type="bibr" rid="redalyc_344273557002_ref9">9</xref>]. However, passive wheels may not allow a convenient control in unstructured environments, restraining these approaches to navigation and control tasks assessment mainly on flat terrain [<xref ref-type="bibr" rid="redalyc_344273557002_ref10">10</xref>]. Recent models of snake robots have shown alternative design strategies, integrating active wheels with passive joints or treads to increase terrain accessibility, but the increment in these active mechanisms poses challenges while performing useful tasks such as climbing or rolling [<xref ref-type="bibr" rid="redalyc_344273557002_ref11">11</xref>]. Wheelless or limbless variants are often designed with a high number of degrees of freedom as an advantage to the locomotion over rough terrain. However, these limbless platforms movement rely significantly on friction between the ground surface and the robot's body, regardless of the environment complexity. Moreover, navigation algorithms and additional sensors that acquire data from the terrain required. Despite the performance and potential advantages of these current platforms they still lag far behind actual biological snakes locomotion [<xref ref-type="bibr" rid="redalyc_344273557002_ref11">11</xref>], [<xref ref-type="bibr" rid="redalyc_344273557002_ref12">12</xref>]. The models currently employed are uniquely proposed to represent movements in controlled environments. In spite the above, there is a growing trend in the literature to optimize snake robot locomotion for all types of terrain [<xref ref-type="bibr" rid="redalyc_344273557002_ref13">13</xref>]. For this reason, gait modes inspired by the biological behavior of these animals have been implemented, such as lateral undulation or serpentine [<xref ref-type="bibr" rid="redalyc_344273557002_ref14">14</xref>], concertina [<xref ref-type="bibr" rid="redalyc_344273557002_ref15">15</xref>], rectilinear [<xref ref-type="bibr" rid="redalyc_344273557002_ref16">16</xref>], and sidewinding [<xref ref-type="bibr" rid="redalyc_344273557002_ref17">17</xref>].</p>
<p>In addition, some researchers have found new movement modes for these robots aiming for higher locomotion efficiency; such movements as fusion gait [<xref ref-type="bibr" rid="redalyc_344273557002_ref18">18</xref>], lateral rolling [<xref ref-type="bibr" rid="redalyc_344273557002_ref19">19</xref>], helix [<xref ref-type="bibr" rid="redalyc_344273557002_ref19">19</xref>], and obstacle-assisted locomotion [<xref ref-type="bibr" rid="redalyc_344273557002_ref20">20</xref>].</p>
<p>In fact, on the literature approaches on these platforms make a great contribution to the progress of snake robots. Nevertheless, there are still some typical problems with these mechanisms in terms of their large size, low speed, and complex control [<xref ref-type="bibr" rid="redalyc_344273557002_ref21">21</xref>].</p>
<p>This article shows a contribution on the design of a first snake robot prototype, specifically the configuration of its joints and the planning of its gait when tested on a flat terrain. The paper is organized as follows. In section 2, the kinematic model and the planning of the locomotion modes are introduced. Section 3 presents the configuration, mechanical design, and component selection of the robot. Section 4 reports the results of the simulations, implementation, and tests performed with the real robot. Finally, Section 5 presents the conclusions of the research.</p>
</sec>
<sec>
<title>
<bold>2. METHODOLOGY</bold>
</title>
<sec>
<title>
<bold>2.1 Kinematic Modeling and Planning of Locomotion Modes</bold>
</title>
<p>A snake-like robot was developed, which included 8 identical modules composing its body, besides customized modules for both the head and tail. Moreover, each joint has one degree of freedom, and the axis of rotation is connected to the previous module perpendicularly, enabling two axes movement in the snake-like robot, one in the dorsal plane and the other in the lateral plane. Such configuration allows the robot to perform movements in all three dimensions.</p>
<sec>
<title>
<bold>2.1.1  Kinematic Structure of the Snake Robot</bold>
</title>
<p>The designed robot has 8 rotational joints, (a type typically used in conventional serial manipulators). However, there is a difference since mobile robots, e.g., snake robots, do not have a base point or ground connection at one end, which are considered as floating base systems. I.e., all their links can move freely in three dimensions or rotate around any axis in space. In order to identify these particular kinematics, there are several methodologies described in  [<xref ref-type="bibr" rid="redalyc_344273557002_ref22">22</xref>], [<xref ref-type="bibr" rid="redalyc_344273557002_ref23">23</xref>] . The approach of this research consists in transforming the floating base system into a fixed base system, through the introduction of a virtual orientation and positioning structure. This structure adds 6 degrees of freedom with zero distance between them, where 3 are prismatic joints representing the position and 3 are rotational joints representing the orientation. This allows the robot to be unfixed to a base point. In addition, the joints of the virtual structure have neither mass, nor moment of inertia, and nor exert forces on the robot.</p>
<p>The geometric notation proposed by  [<xref ref-type="bibr" rid="redalyc_344273557002_ref25">24</xref>], [<xref ref-type="bibr" rid="redalyc_344273557002_ref26">25</xref>]  is used to calculate the kinematics of the entire robot structure. Then, the joint axes are identified and drawn on the snake-like robot structure, where the z<sub>j</sub>-axis is the axis of the j-joint and the x<sub>j</sub>-axis is perpendicular common to the z<sub>j</sub> and z<sub>j</sub>+1. axes. <xref ref-type="fig" rid="gf1">Figure 1</xref> shows the location of each of these axes. To define the geometric parameters for each of the robot joints, which are identified in <xref ref-type="table" rid="gt6">Table 1</xref>, the following considerations must be taken into account:</p>
<p>
<table-wrap id="gt5">
<alternatives>
<graphic xlink:href="344273557002_gt2.png" position="anchor" orientation="portrait"/>
<table style="border-collapse:collapse;border:none;" id="gt2-526564616c7963">
<tbody>
<tr>
<td style="padding:0cm 5.4pt 0cm 5.4pt">σ<sub>j</sub>:</td>
<td style="padding:0cm 5.4pt 0cm 5.4pt">type of joint (σ<sub>j </sub>=   0 if the joint is a rotoid joint; σ<sub>j</sub> = 1 if the joint is a   prismatic joint).</td>
</tr>
<tr>
<td style="padding:0cm 5.4pt 0cm 5.4pt">α<sub>j</sub>:</td>
<td style="padding:0cm 5.4pt 0cm 5.4pt">angle between the axes z<sub>j-1</sub>   and z<sub>j</sub> corresponding to a rotation around x<sub>j-1</sub>.</td>
</tr>
<tr>
<td style="padding:0cm 5.4pt 0cm 5.4pt">d<sub>j</sub>:</td>
<td style="padding:0cm 5.4pt 0cm 5.4pt">distance between z<sub>j-1</sub>   and z<sub>j</sub> along x<sub>j-1</sub>.</td>
</tr>
<tr>
<td style="padding:0cm 5.4pt 0cm 5.4pt">θ<sub>j</sub>:</td>
<td style="padding:0cm 5.4pt 0cm 5.4pt">angle between the axes x<sub>j-1</sub>   and x<sub>j</sub> corresponding to a rotation around z<sub>j</sub>.</td>
</tr>
<tr>
<td style="padding:0cm 5.4pt 0cm 5.4pt">r<sub>j</sub>:</td>
<td style="padding:0cm 5.4pt 0cm 5.4pt">distance between x<sub>j-1</sub>   and x<sub>j</sub> along z<sub>j</sub>.</td>
</tr>
</tbody>
</table>
</alternatives>
</table-wrap>
</p>
<p>
<fig id="gf1">
<label>Figure 1.</label>
<caption>
<title>Structural diagram of the robot</title>
</caption>
<alt-text>Figure 1.  Structural diagram of the robot</alt-text>
<graphic xlink:href="344273557002_gf2.png" position="anchor" orientation="portrait"/>
<attrib>Source: Created by the authors.</attrib>
</fig>
</p>
<p>
<table-wrap id="gt6">
<label>Table 1.</label>
<caption>
<title>Geometric parameters</title>
</caption>
<alt-text>Table 1.  Geometric parameters</alt-text>
<alternatives>
<graphic xlink:href="344273557002_gt3.png" position="anchor" orientation="portrait"/>
<table style="border-collapse:collapse;border:none;  " id="gt3-526564616c7963">
<tbody>
<tr style="height:14.15pt">
<td style="width:38.25pt;border-top:solid windowtext 1.0pt;   border-left:none;border-bottom:solid windowtext 1.0pt;border-right:none;      padding:0cm 5.4pt 0cm 5.4pt;height:14.15pt">
<italic>j</italic>
</td>
<td style="width:42.1pt;border-top:solid windowtext 1.0pt;   border-left:none;border-bottom:solid windowtext 1.0pt;border-right:none;      padding:0cm 5.4pt 0cm 5.4pt;height:14.15pt">
<italic>σ<sub>j</sub>
</italic>
</td>
<td style="width:46.8pt;border-top:solid windowtext 1.0pt;   border-left:none;border-bottom:solid windowtext 1.0pt;border-right:none;      padding:0cm 5.4pt 0cm 5.4pt;height:14.15pt">
<italic>α<sub>j</sub>
</italic>
</td>
<td style="width:45.05pt;border-top:solid windowtext 1.0pt;   border-left:none;border-bottom:solid windowtext 1.0pt;border-right:none;      padding:0cm 5.4pt 0cm 5.4pt;height:14.15pt">
<italic>d<sub>j</sub>
</italic>
</td>
<td style="width:50.75pt;border-top:solid windowtext 1.0pt;   border-left:none;border-bottom:solid windowtext 1.0pt;border-right:none;      padding:0cm 5.4pt 0cm 5.4pt;height:14.15pt">
<italic>θ<sub>j</sub>
</italic>
</td>
<td style="width:50.75pt;border-top:solid windowtext 1.0pt;   border-left:none;border-bottom:solid windowtext 1.0pt;border-right:none;      padding:0cm 5.4pt 0cm 5.4pt;height:14.15pt">
<italic>r<sub>j</sub>
</italic>
</td>
</tr>
<tr style="height:14.15pt">
<td style="width:38.25pt;border:none;   padding:0cm 5.4pt 0cm 5.4pt;height:14.15pt">1</td>
<td style="width:42.1pt;border:none;   padding:0cm 5.4pt 0cm 5.4pt;height:14.15pt">1</td>
<td style="width:46.8pt;border:none;   padding:0cm 5.4pt 0cm 5.4pt;height:14.15pt">0°</td>
<td style="width:45.05pt;border:none;   padding:0cm 5.4pt 0cm 5.4pt;height:14.15pt">0</td>
<td style="width:50.75pt;border:none;   padding:0cm 5.4pt 0cm 5.4pt;height:14.15pt">0°</td>
<td style="width:50.75pt;border:none;   padding:0cm 5.4pt 0cm 5.4pt;height:14.15pt">
<italic>r<sub>1</sub>
</italic>
</td>
</tr>
<tr style="height:14.15pt">
<td style="width:38.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">2</td>
<td style="width:42.1pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">1</td>
<td style="width:46.8pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">90°</td>
<td style="width:45.05pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">0</td>
<td style="width:50.75pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">90°</td>
<td style="width:50.75pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">
<italic>r<sub>2</sub>
</italic>
</td>
</tr>
<tr style="height:14.15pt">
<td style="width:38.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">3</td>
<td style="width:42.1pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">1</td>
<td style="width:46.8pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">90°</td>
<td style="width:45.05pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">0</td>
<td style="width:50.75pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">90°</td>
<td style="width:50.75pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">
<italic>r<sub>3</sub>
</italic>
</td>
</tr>
<tr style="height:22.9pt">
<td style="width:38.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:22.9pt">4</td>
<td style="width:42.1pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:22.9pt">0</td>
<td style="width:46.8pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:22.9pt">90°</td>
<td style="width:45.05pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:22.9pt">0</td>
<td style="width:50.75pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:22.9pt">
<italic>θ<sub>4</sub>
</italic>
</td>
<td style="width:50.75pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:22.9pt">0</td>
</tr>
<tr style="height:14.15pt">
<td style="width:38.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">5</td>
<td style="width:42.1pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">0</td>
<td style="width:46.8pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">-90°</td>
<td style="width:45.05pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">0</td>
<td style="width:50.75pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">
<italic>θ</italic>
<italic>
<sub>5</sub>
</italic>
</td>
<td style="width:50.75pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">0</td>
</tr>
<tr style="height:14.15pt">
<td style="width:38.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">6</td>
<td style="width:42.1pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">0</td>
<td style="width:46.8pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">-90°</td>
<td style="width:45.05pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">0</td>
<td style="width:50.75pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">
<italic>θ</italic>
<italic>
<sub>6</sub>
</italic>
</td>
<td style="width:50.75pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">0</td>
</tr>
<tr style="height:14.15pt">
<td style="width:38.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">7</td>
<td style="width:42.1pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">0</td>
<td style="width:46.8pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">0°</td>
<td style="width:45.05pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">
<italic>D<sub>7</sub>
</italic>
</td>
<td style="width:50.75pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">
<italic>θ</italic>
<italic>
<sub>7</sub>
</italic>
</td>
<td style="width:50.75pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">0</td>
</tr>
<tr style="height:14.15pt">
<td style="width:38.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">8</td>
<td style="width:42.1pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">0</td>
<td style="width:46.8pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">-90°</td>
<td style="width:45.05pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">
<italic>D<sub>8</sub>
</italic>
</td>
<td style="width:50.75pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">
<italic>θ</italic>
<italic>
<sub>8</sub>
</italic>
</td>
<td style="width:50.75pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">0</td>
</tr>
<tr style="height:14.15pt">
<td style="width:38.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">9</td>
<td style="width:42.1pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">0</td>
<td style="width:46.8pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">90°</td>
<td style="width:45.05pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">
<italic>D<sub>9</sub>
</italic>
</td>
<td style="width:50.75pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">
<italic>θ<sub>9</sub>
</italic>
</td>
<td style="width:50.75pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">0</td>
</tr>
<tr style="height:14.15pt">
<td style="width:38.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">10</td>
<td style="width:42.1pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">0</td>
<td style="width:46.8pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">-90°</td>
<td style="width:45.05pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">
<italic>D<sub>10</sub>
</italic>
</td>
<td style="width:50.75pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">
<italic>θ<sub>10</sub>
</italic>
</td>
<td style="width:50.75pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">0</td>
</tr>
<tr style="height:14.15pt">
<td style="width:38.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">11</td>
<td style="width:42.1pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">0</td>
<td style="width:46.8pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">90°</td>
<td style="width:45.05pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">
<italic>D<sub>11</sub>
</italic>
</td>
<td style="width:50.75pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">
<italic>θ<sub>11</sub>
</italic>
</td>
<td style="width:50.75pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">0</td>
</tr>
<tr style="height:14.15pt">
<td style="width:38.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">12</td>
<td style="width:42.1pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">0</td>
<td style="width:46.8pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">-90°</td>
<td style="width:45.05pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">
<italic>D<sub>12</sub>
</italic>
</td>
<td style="width:50.75pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">
<italic>θ<sub>12</sub>
</italic>
</td>
<td style="width:50.75pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">0</td>
</tr>
<tr style="height:14.15pt">
<td style="width:38.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">13</td>
<td style="width:42.1pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">0</td>
<td style="width:46.8pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">90°</td>
<td style="width:45.05pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">
<italic>D<sub>13</sub>
</italic>
</td>
<td style="width:50.75pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">
<italic>θ<sub>13</sub>
</italic>
</td>
<td style="width:50.75pt;border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">0</td>
</tr>
<tr style="height:14.15pt">
<td style="width:38.25pt;border:none;border-bottom:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">14</td>
<td style="width:42.1pt;border:none;border-bottom:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">0</td>
<td style="width:46.8pt;border:none;border-bottom:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">-90°</td>
<td style="width:45.05pt;border:none;border-bottom:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">
<italic>D<sub>14</sub>
</italic>
</td>
<td style="width:50.75pt;border:none;border-bottom:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">
<italic>θ<sub>14</sub>
</italic>
</td>
<td style="width:50.75pt;border:none;border-bottom:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt">0</td>
</tr>
</tbody>
</table>
</alternatives>
<attrib>Source: Created by the authors.</attrib>
</table-wrap>
</p>
<p>Before the implementation of the robot prototype, it is appropriate to analyze if the mathematical model of motion based on sinusoidal waves can be applied to the robot. Thus, the model will be debugged in a simulation environment since reduces the risk of damaging any physical component of the robot. For performing the simulation, the identified geometric parameters used, which give us the representation of the position and orientation of the robot in its movement process.</p>
</sec>
<sec>
<title>
<bold>2.1.2 Gate Types</bold>
</title>
<p>Snake robots must have the ability to switch between different gait modes to adapt and overcome difficult environments. In this work, to achieve to mimic the motion of a snake, locomotion modes based on Hirose's serpentinoid curve and its three-dimensional variations were implemented [<xref ref-type="bibr" rid="redalyc_344273557002_ref19">19</xref>]. These curves can be described as sine waves propagating through the body, one for horizontal motion and another for possible vertical motion, as demonstrated in <xref ref-type="disp-formula" rid="e1">(1)</xref>.</p>
<p>
<disp-formula id="e1">
<label>(1)</label>
<graphic xlink:href="344273557002_ee2.png" position="anchor" orientation="portrait"/>
</disp-formula>
</p>
<p>Where n is the motor number, A<sub>x </sub>and A<sub>y</sub> are the wave amplitudes, δ<sub>x</sub> and δ<sub>y</sub> is the spatial frequency, ω<sub>x</sub> and ω<sub>y</sub> represents the temporal frequency, and ϕ is the phase difference between the sine waves in the horizontal and vertical plane.</p>
<p>This paper will not consider unnatural gait modes and instead addresses lateral and rectilinear wavelet motions, which are two basic locomotion modes that allow the robot to adapt to different environments. <xref ref-type="table" rid="gt7">Table 2</xref> shows the variables for the two implemented gait modes.</p>
<p>
<table-wrap id="gt7">
<label>Table 2.</label>
<caption>
<title>Parameters for running modes</title>
</caption>
<alt-text>Table 2. Parameters for running modes</alt-text>
<alternatives>
<graphic xlink:href="344273557002_gt4.png" position="anchor" orientation="portrait"/>
<table style="width:311.95pt;border-collapse:collapse;border:none;" id="gt4-526564616c7963">
<tbody>
<tr style="height:14.15pt">
<td style="border-top:solid windowtext 1.0pt;border-left:none;   border-bottom:solid windowtext 1.0pt;border-right:none;padding:   0cm 5.4pt 0cm 5.4pt;height:14.15pt" rowspan="2">Parameters</td>
<td style="border:none;border-top:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt;   height:14.15pt" colspan="2">Gate type</td>
</tr>
<tr style="height:14.15pt">
<td style="border:none;border-bottom:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.15pt">Sidewinding</td>
<td style="border:none;border-bottom:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.15pt">Rectilinear</td>
</tr>
<tr style="height:1.0cm">
<td style="border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:1.0cm">Amplitude [rad]</td>
<td style="border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:1.0cm">
<italic>A<sub>x   </sub>= 5π/36</italic>
<italic>A<sub>y   </sub>= π/18</italic>
</td>
<td style="border:none;padding:0cm 5.4pt 0cm 5.4pt;   height:1.0cm">
<italic>A<sub>x   </sub>= 0</italic>
<italic>A<sub>y   </sub>= π/6</italic>
</td>
</tr>
<tr style="height:1.0cm">
<td style="border:none;padding:0cm 5.4pt 0cm 5.4pt;height:1.0cm">Temporal frequency [rad]</td>
<td style="border:none;padding:0cm 5.4pt 0cm 5.4pt;height:1.0cm">
<italic>ω<sub>x   </sub>= π</italic>
<italic>ω<sub>y   </sub>= π</italic>
</td>
<td style="border:none;padding:0cm 5.4pt 0cm 5.4pt;height:1.0cm">
<italic>ω<sub>x   </sub>= 0</italic>
<italic>ω<sub>y   </sub>= 2π</italic>
</td>
</tr>
<tr style="height:1.0cm">
<td style="border:none;padding:0cm 5.4pt 0cm 5.4pt;height:1.0cm">Spatial frequency [rad]</td>
<td style="border:none;padding:0cm 5.4pt 0cm 5.4pt;height:1.0cm">
<italic>δ<sub>x   </sub>= 2π/3</italic>
<italic>δ<sub>y   </sub>= 2π/3</italic>
</td>
<td style="border:none;padding:0cm 5.4pt 0cm 5.4pt;height:1.0cm">
<italic>δ<sub>x   </sub>= 0</italic>
<italic>δ<sub>y   </sub>= 8π/9</italic>
</td>
</tr>
<tr style="height:14.15pt">
<td style="border:none;border-bottom:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.15pt">Phase difference [rad]</td>
<td style="border:none;border-bottom:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.15pt">
<italic>Φ </italic>
<italic>=   -π/4</italic>
</td>
<td style="border:none;border-bottom:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.15pt">
<italic>Φ </italic>
<italic>=0</italic>
</td>
</tr>
</tbody>
</table>
</alternatives>
<attrib>Source: Created by the authors.</attrib>
</table-wrap>
</p>
<p>Before the construction of the robot, it is convenient to analyze virtually the mathematical equations of motion with the selected parameters. Therefore, a simulation of the robot is performed using Matlab - Simulink software with the combination of the SimScape tool, which allows an efficient and fast multibody simulation, formulating and solving the equations of motion of any mechanical system.</p>
<p>The simulations present the torque required to create the movement patterns and allow to check if the parameters chosen for the equations of motion produce the desired result. Consequently, the model can be debugged in the simulation environment without running the risk of causing unexpected motions and overloading the motors. <xref ref-type="fig" rid="gf2">Figure 2</xref> shows the block diagram representing the robot, the floor, and the locomotion equations.</p>
<p>
<fig id="gf2">
<label>Figure 2.</label>
<caption>
<title>General diagram of the robot in SimMechanics</title>
</caption>
<alt-text>Figure 2.  General diagram of the robot in SimMechanics</alt-text>
<graphic xlink:href="344273557002_gf3.png" position="anchor" orientation="portrait"/>
<attrib>Source: Created by the authors.</attrib>
</fig>
</p>
<p>The above diagram is decomposed into several blocks. To determine the global reference frame of the model, the block (World frame) is used, and a 6-degree-of-freedom (6-DOF-1) joint is implemented, which represents the virtual orientation and positioning structure discussed in section 2.1. This joint establishes the initial position of the robot concerning the global reference of the system. Within the Robot block in <xref ref-type="fig" rid="gf2">Figure 2</xref>, the eight bodies, the tail, and the head of the robot are represented, which are connected to each other (see <xref ref-type="fig" rid="gf3">Figure 3</xref>).</p>
<p>
<fig id="gf3">
<label>Figure 3.</label>
<caption>
<title>Block diagram of the robot bodies</title>
</caption>
<alt-text>Figure 3. Block diagram of the robot bodies</alt-text>
<graphic xlink:href="344273557002_gf4.png" position="anchor" orientation="portrait"/>
<attrib>Source: Created by the authors.</attrib>
</fig>
</p>
<p>Additionally, some blocks called (Transform) can be observed, where the rotations and translations of the axes of each link are specified, which correspond to the kinematic solution presented in <xref ref-type="fig" rid="gf1">Figure 1.</xref> The body blocks inside each contain a rotational joint and a linkage position and torque signal output (<xref ref-type="fig" rid="gf4">Figure 4</xref>). In addition, the body block_1 contains the robot head.</p>
<p>
<fig id="gf4">
<label>Figure 4.</label>
<caption>
<title>Block diagram of the first body</title>
</caption>
<alt-text>Figure 4.  Block diagram of the first body</alt-text>
<graphic xlink:href="344273557002_gf5.png" position="anchor" orientation="portrait"/>
<attrib>Source: Created by the authors.</attrib>
</fig>
</p>
<p>The simulation confirmed that the desired locomotion modes could be created with <xref ref-type="disp-formula" rid="e1">(1)</xref>.</p>
<p>A maximum torque value was also obtained throughout the measurements on all joints. This maximum torque value was requirement for choosing the appropriate motors for the actual robot. <xref ref-type="fig" rid="gf5">Figure 5</xref> presents the torques of two joints during the execution of the sidewinding gait. The maximum torque is approximately 0.48 Nm for the sixth joint, which was the highest torque obtained when verifying the results of the other joints in simulations for the sidewinding and rectilinear gait modes.</p>
<p>
<fig id="gf5">
<label>Figure 5.</label>
<caption>
<title>Torques of joints 2 and 6</title>
</caption>
<alt-text>Figure 5.  Torques of joints 2 and 6</alt-text>
<graphic xlink:href="344273557002_gf6.png" position="anchor" orientation="portrait"/>
<attrib>Source: Created by the authors.</attrib>
</fig>
</p>
</sec>
</sec>
<sec>
<title>
<bold> 2.2 Robot Design</bold>
</title>
<p>A modular design was preferred during the snake-like robot implementation, since the use of a modular architecture facilitates the replacement or addition of modules, in consequence, decreasing or increasing the degrees of freedom. The current design consists of 8 similar modules for each of the body links, in addition to a customized head module and a tail module.</p>
<sec>
<title>
<bold>2.2.1  Actuator</bold>
</title>
<p>Many different types of drives can be used for snake robots, such as pneumatics, electric motors, servos, or driving wheels [<xref ref-type="bibr" rid="redalyc_344273557002_ref27">26</xref>]. For this specific project, servo motors were considered. Considering the maximum required torque results of the simulations seen in <xref ref-type="fig" rid="gf5">Figure 5</xref>, the Dynamixel AX-12 servo motor was chosen. This servo motor has a built-in microprocessor to provide TTL or RS-485 serial communication and a daisy-chain speed of 1 Mbps - 3 Mbps. It also features adjustable torque speed and responsive control with position, load, voltage, speed, and temperature feedback, allowing the implementation of a control system with relative ease. This servomotor reference runs at 12 V, weighs 55 g, and provides a torque of 1.47 Nm, providing a good margin above the 0.48 Nm required in the simulation.</p>
</sec>
<sec>
<title>
<bold> 2.2.2  CAD Designing</bold>
</title>
<p>The snake robot modules were designed in SolidWorks software and then 3D printed. Each module is intended to function as a rotational joint with one degree of freedom as seen in <xref ref-type="fig" rid="gf6">Figure 6.</xref> The module consists of a housing, a Dynamixel servomotor, and an internal channel for a convenient disposition of the communication and power cables forming a serial bus.</p>
<p>
<fig id="gf6">
<label>Figure 6.</label>
<caption>
<title>Snake robot module</title>
</caption>
<alt-text>Figure 6.  Snake robot module</alt-text>
<graphic xlink:href="344273557002_gf7.png" position="anchor" orientation="portrait"/>
<attrib>Source: Created by the authors.</attrib>
</fig>
</p>
<p>Each module of the robot is connected to the previous one positioning their axis of rotation as perpendicular and allowing a ± 90° rotation in comparison to its predecessor, as seen in <xref ref-type="fig" rid="gf7">Figure 7.</xref> This configuration allows two axes of motion in each pair of modules, which means that the robot can use three-dimensional gait modes. The current design consists of a head module, a tail module, and 8 symmetrical modules, which can be modified according to the application. Dimensionally the robot is 76cm long, with an approximate diameter of 5 cm, and a total weight of 2 kg.</p>
<p>
<fig id="gf7">
<label>Figure 7.</label>
<caption>
<title>Prototype of the snake robot</title>
</caption>
<alt-text>Figure 7.   Prototype of the snake robot</alt-text>
<graphic xlink:href="344273557002_gf8.png" position="anchor" orientation="portrait"/>
<attrib>Source: Created by the authors.</attrib>
</fig>
</p>
</sec>
</sec>
</sec>
<sec>
<title>
<bold>3.     RESULTS AND DISCUSSION</bold>
</title>
<sec>
<title>
<bold>3.1   Experiment and Simulation Parameters</bold>
</title>
<p>In this section, two of the four gait modes are validated using <xref ref-type="disp-formula" rid="e1">(1)</xref>, and simulations as well as testing the real robot on a flat surface.</p>
<sec>
<title>
<italic>
<bold>3.1.1  Test Setup for the Real Robot</bold>
</italic>
</title>
<p>The snake robot has a BNO055 IMU in the head, where the axis of rotation Yaw (see <xref ref-type="fig" rid="gf7">Figure 7</xref>), helps to verify the angle of deviation (or orientation) of the first link of the robot during the two proposed modes of operation. In addition, the robot is powered by an external 12 V supply, the chosen actuators use half-duplex asynchronous serial asynchronous TTL communication, facilitating a daisy chain connection. The motors are controlled through a laptop computer and a USB communication board (U2D2) to transmit the locomotion commands. The configuration for the experiment is seen in <xref ref-type="fig" rid="gf8">Figure 8</xref>. The distance from the start point to the endpoint was 1 m for the sidewinding locomotion mode tests, and 1.5 m for the rectilinear locomotion tests. For each of the locomotion modes, 10 experiments were performed and the time that that the robot took for reaching the end point was also collected.</p>
<p>
<fig id="gf8">
<label>Figure 8.</label>
<caption>
<title>Experiment configuration</title>
</caption>
<alt-text>Figure 8.  Experiment configuration</alt-text>
<graphic xlink:href="344273557002_gf9.png" position="anchor" orientation="portrait"/>
<attrib>Source: Created by the authors.</attrib>
</fig>
</p>
<p>Finally, since the prototype of the snake robot does not have a sensor or a motion capture system attached, the centerline deviation data in the rectilinear gait were measured manually with the help of the vernier tool.</p>
</sec>
<sec>
<title>
<italic>
<bold>3.1.2  Webots Simulator</bold>
</italic>
</title>
<p>The Webots robotics simulator simulated the movements of the snake robot. This software, developed by Cyberbotics Ltd., provides multiple rapid prototyping tools for modeling, programming, and simulating mobile robots. For each object added to the program, physical parameters such as inertia matrix, density, texture, mass, and friction can be defined. In addition, it allows equipping the robot with a large number of available sensors and actuators.</p>
<p>The shape of the robot was imported directly from CAD models designed in SolidWorks software to Webots as shown in <xref ref-type="fig" rid="gf9">Figure 9</xref>. The physical properties of the robot, the maximum speed, and the torque of the motors were included in the simulated robot. Also, the current model has sensors such as IMU and GPS to obtain the exact global position of the robot. Webots allowed to quickly evaluate the performance of the robot, and in particular its behavior on completely flat terrain.</p>
<p>
<fig id="gf9">
<label>Figure 9.</label>
<caption>
<title>Robot simulation on Webots</title>
</caption>
<alt-text>Figure 9. Robot simulation on Webots</alt-text>
<graphic xlink:href="344273557002_gf10.png" position="anchor" orientation="portrait"/>
<attrib>Source: Created by the authors.</attrib>
</fig>
</p>
</sec>
</sec>
<sec>
<title>
<bold>3.2   Simulation and Experimental Results</bold>
</title>
<sec>
<title>
<italic>
<bold>3.2.1  Sidewinding Gate</bold>
</italic>
</title>
<p>This section presents the results obtained by running the sidewinding gait pattern experiment. This mode was included because it is commonly used in projects related to snake robots. Therefore, we want to demonstrate that using (<xref ref-type="disp-formula" rid="e1">1</xref>) and the parameters described in<xref ref-type="table" rid="gt6"> Table 1</xref>, the desired forward motion is obtained. To achieve this, a value different from 0 is placed on the phase difference<italic> ϕ</italic>, for example for a value of <italic>-π/4</italic>, the robot moves forward to the left concerning the direction in which the head is pointed. <xref ref-type="fig" rid="gf10">Figure 10</xref> shows two views of the position of the real and simulated robot executing the sidewinding type gait.</p>
<p>
<fig id="gf10">
<label>Figure 10.</label>
<caption>
<title>Sidewinding with the real robot and in simulation</title>
</caption>
<alt-text>Figure 10.  Sidewinding with the real robot and in simulation</alt-text>
<graphic xlink:href="344273557002_gf11.png" position="anchor" orientation="portrait"/>
<attrib>Source: Created by the authors.</attrib>
</fig>
</p>
<p>For the Webots simulation of the sidewinding locomotion type, the robot had to reach a distance of one meter on the X-axis. The experiment was repeated 10 times, in which the distance on the Y-axis and the time taken to complete each trial were approximately the same (see <xref ref-type="fig" rid="gf11">Figure 11</xref>).</p>
<p>
<fig id="gf11">
<label>Figure 11.</label>
<caption>
<title>Path of snakehead position and distance vs. time for the simulated sidewinding gait pattern</title>
</caption>
<alt-text>Figure 11.  Path of snakehead position and distance vs. time for the simulated sidewinding gait pattern</alt-text>
<graphic xlink:href="344273557002_gf12.png" position="anchor" orientation="portrait"/>
<attrib>Source: Created by the authors.</attrib>
</fig>
</p>
<p>It is observed that the path taken by the robot is as expected, performing a displacement to the left of the robot's head as it advances until reaching the meter on the X-axis. The time taken for each of the simulations was 79.168 s and the distance reached on the Y-axis was 1.234 m. Subsequently, the 10 experiments were carried out with the real robot. where the following results were obtained: the time of the tests was 80.089 s ± 1.96 s and the displacement in the Y-axis was 1.295 m ± 0.052 m. The latter, suggests that these values are very close to the simulated ones, since, on average, the difference in the simulation time is less than one second and the distance was greater in the real robot with a difference of approximately 6 cm. One of the possible causes of said difference in the displacement is that the robot must pull the external source, thus counteracting the weight of the power cable. In addition, during the tests performed, it was observed that the actual robot had a slight inclination to the left in each execution cycle, which is an additional factor that could affect its movement and contributed to the results obtained in simulation.</p>
<p>
<xref ref-type="fig" rid="gf12">Figure 12</xref> presents a graph comparing the simulated values with the experimental values of the Yaw angle recorded by the IMU located in the robot’s head. Notice that sidewinding motion is a three-dimensional gait mode in which two sinusoidal waveforms interact to generate alternating forward/backward and left/right movements. The figure shows the horizontal movements of the head, where angles ranging in the simulation range from 5° to -10° are obtained. Even, up to 50 seconds there is a great similarity in the comparison of results, then, the angle readings on the actual robot may be affected due to the noise generated by the stress when the external power supply starts to crawl, changing the initial state of the reading of the three IMU rotation axes.</p>
<p>
<fig id="gf12">
<label>Figure 12.</label>
<caption>
<title>Yaw angle for the sidewinding walking pattern</title>
</caption>
<alt-text>Figure 12. Yaw angle for the sidewinding walking pattern</alt-text>
<graphic xlink:href="344273557002_gf13.png" position="anchor" orientation="portrait"/>
<attrib>Source: Created by the authors.</attrib>
</fig>
</p>
</sec>
<sec>
<title>
<italic>
<bold>3.2.2  Rectilinear Gate</bold>
</italic>
</title>
<p>Rectilinear motion is common among boas since they have large bodies. <xref ref-type="fig" rid="gf13">Figure 13</xref> presents images of rectilinear locomotion tests both in simulation and the real robot. Although this type of locomotion is slow and inefficient in motion, it would allow a snake robot to pass through narrow circular or linear pipes, where it is difficult to perform other forms of gait. <xref ref-type="fig" rid="gf14">Figure 14</xref> presents the position tracking results of the robot’s head in one of the ten tests performed with the simulation software.</p>
<p>
<fig id="gf13">
<label>Figure 13.</label>
<caption>
<title>Rectilinear motion with the real robot and in simulation</title>
</caption>
<alt-text>Figure 13.  Rectilinear motion with the real robot and in simulation</alt-text>
<graphic xlink:href="344273557002_gf14.png" position="anchor" orientation="portrait"/>
<attrib>Source: Created by the authors.</attrib>
</fig>
</p>
<p>
<fig id="gf14">
<label>Figure 14.</label>
<caption>
<title>Snakehead position path and distance vs. time for the simulated rectilinear gait pattern</title>
</caption>
<alt-text>Figure 14. Snakehead position path and distance vs. time for the simulated rectilinear gait pattern</alt-text>
<graphic xlink:href="344273557002_gf15.png" position="anchor" orientation="portrait"/>
<attrib>Source: Created by the authors</attrib>
</fig>
</p>
<p>From the previous figure, it can be observed that the robot does not have a full rectilinear behavior, presenting a slight deviation to the right of 8.9 mm on the Y-axis, which is insignificant in the short runs. The simulation time in each of the tests that the robot took to reach 1.5 m was 60.064 s, obtaining a speed of 2.49 cm/s.</p>
<p>With the real robot, a small deviation of less than 3 cm is also observed in each of the tests. The average of this deviation with respect to the Y-axis is 1.97 cm ± 0.87 cm, with a total run time of 60.69 s ± 0.85 s, for a mean speed of 2.47 cm/s. the results presented above see suggest that the data of this locomotion mode are closer between the physical robot and simulation than those obtained in the sidewinding gait. <xref ref-type="fig" rid="gf15">Figure 15</xref> shows the Yaw angle or angle of rotation with respect to the vertical axis perpendicular to the robot.</p>
<p>
<fig id="gf15">
<label>Figure 15.</label>
<caption>
<title>Yaw angle for the rectilinear gait pattern</title>
</caption>
<alt-text>Figure 15.   Yaw angle for the rectilinear gait pattern</alt-text>
<graphic xlink:href="344273557002_gf16.png" position="anchor" orientation="portrait"/>
<attrib>Source: Created by the authors.</attrib>
</fig>
</p>
<p>It can be observed that during the first 15 seconds of the execution of the rectilinear motion in the robot a deviation angle is generated that increases progressively until it oscillates up to -0.4°. This angle of rotation does not significantly affect the trajectory of the robot as shown in the left graph of <xref ref-type="fig" rid="gf13">Figure 13</xref>. unlike what can be observed in the real robot, where the angle presents greater oscillation, but always with values close to zero. This deviation may be a consequence of the design and construction of each of the rounded edges of the robot bodies, as well as the effort made by the robot when dragging the external power supply. In addition, during this gait mode, the motors of the odd joints should not move and their setpoint should remain on zero, which is currently not being accurately controlled in the locomotion algorithm.</p>
<p>Although there are several sources of error influencing the data acquired by the real robot, we see that the plots comparing simulation and experimental results provide a satisfactory description of the system before validating the proposed robot. Furthermore, the simulation software and the physical parameters included in it form a fairly accurate model of the snake robot.</p>
</sec>
</sec>
</sec>
<sec>
<title>
<bold>4.     CONCLUSIONS</bold>
</title>
<p>This article presented the design of a snake-like robot, its modeling in CAD software, and its subsequent simulation. The robot was built using eight Dynamixel AX-12 servomotors, which facilitate daisy-chaining and serial TTL communication. The robot also has an inertial measurement sensor (IMU) to obtain rotation angle data. In total it has six motors for the body and two more that serve as the head and tail of the body.</p>
<p>The simulation of the robot was first performed in the Matlab - Simulink environment, using the SimScape tool, where the initial model was tested with its respective mathematical equations, and the necessary torques for the motors were obtained. Then the Webots mobile robotics simulation software was used, which allows the synthesis and testing of various movement patterns in two and three dimensions for the snake robot. Two walking modes were tested both in simulation and with the real robot: sidewinding and rectilinear. The results obtained show two interesting behaviors: first, the tests in simulation and with the real robot are quite similar; second, the behavior of the real robot is satisfactory in short runs, with a small deviation error mainly attributable to the fact that the robot has to drag the source that feeds it energetically. Future work will implement other modes of locomotion, in addition to testing its behavior in uneven terrain to apply correctives in both its architecture and its control, so that it can perform tasks with greater versatility. This could be achieved by adding sensors that can acquire data from the terrain to overcome irregular surfaces.</p>
</sec>
</body>
<back>
<ack>
<title>Acknowledgments</title>
<p>The article did not have a source of financing due to a joint project with a funding agency, institution, or organization, either public or private.</p>
</ack>
<ref-list>
<title>
<bold>REFERENCES</bold>
</title>
<ref id="redalyc_344273557002_ref1">
<label>[1]</label>
<mixed-citation>[1]        F. Reyes, and S. Ma, “Snake robots in contact with the environment: Influence of the friction on the applied wrench,” in <italic>2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)</italic>, Sep. 2017pp. 5790–5795. <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1109/IROS.2017.8206471">https://doi.org/10.1109/IROS.2017.8206471</ext-link>
</mixed-citation>
<element-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Reyes</surname>
<given-names>F.</given-names>
</name>
</person-group>
<source>Snake robots in contact with the environment: Influence of the friction on the applied wrench</source>
<year>2017</year>
<comment>
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1109/IROS.2017.8206471">https://doi.org/10.1109/IROS.2017.8206471</ext-link>
</comment>
</element-citation>
</ref>
<ref id="redalyc_344273557002_ref2">
<label>[2]</label>
<mixed-citation>[2]        G. S. Chirikjian, and J. W. Burdick, “The kinematics of hyper-redundant robot locomotion,” <italic>IEEE Transactions on Robotics and Automation</italic>, vol. 11, no. 6, pp. 781–793, Dec. 1995, <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1109/70.478426">https://doi.org/10.1109/70.478426</ext-link>
</mixed-citation>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chirikjian</surname>
<given-names>G. S.</given-names>
</name>
<name>
<surname>Burdick</surname>
<given-names>J. W.</given-names>
</name>
</person-group>
<article-title>The kinematics of hyper-redundant robot locomotion</article-title>
<source>IEEE Transactions on Robotics and Automation</source>
<year>1995</year>
<comment>
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1109/70.478426">https://doi.org/10.1109/70.478426</ext-link>
</comment>
</element-citation>
</ref>
<ref id="redalyc_344273557002_ref3">
<label>[3]</label>
<mixed-citation>[3]        P. Liljeback, S. Fjerdingen, K. Y. Pettersen, and O. Stavdahl, “A snake robot joint mechanism with a contact force measurement system,” in <italic>2009 IEEE International Conference on Robotics and Automation</italic>, May 2009, pp. 3815–3820. <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1109/ROBOT.2009.5152276">https://doi.org/10.1109/ROBOT.2009.5152276</ext-link>
</mixed-citation>
<element-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Liljeback</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Fjerdingen</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Pettersen</surname>
<given-names>K. Y.</given-names>
</name>
<name>
<surname>Stavdahl</surname>
<given-names>O.</given-names>
</name>
</person-group>
<source>A snake robot joint mechanism with a contact force measurement system</source>
<year>2009</year>
<comment>
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1109/ROBOT.2009.5152276">https://doi.org/10.1109/ROBOT.2009.5152276</ext-link>
</comment>
</element-citation>
</ref>
<ref id="redalyc_344273557002_ref4">
<label>[4]</label>
<mixed-citation>[4]        C. Nidhi, and S. Shruti, “A review study on future applicability of snake robots in India,” <italic>IOSR J Comput Eng</italic>, vol. 17, no. 5, pp. 3–6, Sep. 2015. Accessed: Feb. 17, 2022. [Online]. Available: <ext-link ext-link-type="uri" xlink:href="https://www.iosrjournals.org/iosr-jce/papers/Vol17-issue5/Version-1/B017510306.pdf">https://www.iosrjournals.org/iosr-jce/papers/Vol17-issue5/Version-1/B017510306.pdf</ext-link>
</mixed-citation>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Nidhi</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Shruti</surname>
<given-names>S.</given-names>
</name>
</person-group>
<article-title>A review study on future applicability of snake robots in India</article-title>
<source>IOSR J Comput Eng</source>
<year>2022</year>
<comment>
<ext-link ext-link-type="uri" xlink:href="https://www.iosrjournals.org/iosr-jce/papers/Vol17-issue5/Version-1/B017510306.pdf">https://www.iosrjournals.org/iosr-jce/papers/Vol17-issue5/Version-1/B017510306.pdf</ext-link>
</comment>
</element-citation>
</ref>
<ref id="redalyc_344273557002_ref5">
<label>[5]</label>
<mixed-citation>[5]        S. Manzoor, U. Khan, and I. Ullah, “Serpentine and Rectilinear Motion Generation in Snake Robot Using Central Pattern Generator with Gait Transition,” <italic>Iranian Journal of Science and Technology, Transactions of Electrical Engineering</italic>, vol. 44, no. 3, pp. 1093–1103, Sep. 2020, <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1007/s40998-019-00301-8">https://doi.org/10.1007/s40998-019-00301-8</ext-link>
</mixed-citation>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Manzoor</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Khan</surname>
<given-names>U.</given-names>
</name>
<name>
<surname>Ullah</surname>
<given-names>I.</given-names>
</name>
</person-group>
<article-title>Serpentine and Rectilinear Motion Generation in Snake Robot Using Central Pattern Generator with Gait Transition</article-title>
<source>Iranian Journal of Science and Technology, Transactions of Electrical Engineering</source>
<year>2020</year>
<comment>
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1007/s40998-019-00301-8">https://doi.org/10.1007/s40998-019-00301-8</ext-link>
</comment>
</element-citation>
</ref>
<ref id="redalyc_344273557002_ref6">
<label>[6]</label>
<mixed-citation>[6]        F. Sanfilippo, E. Helgerud, P. A. Stadheim, and S. L. Aronsen, “Serpens, A Low-Cost Snake Robot with Series Elastic Torque-Controlled Actuators and A Screw-Less Assembly Mechanism,” in <italic>2019 5th International Conference on Control, Automation and Robotics (ICCAR)</italic>, Apr. 2019, pp. 133–139. <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1109/ICCAR.2019.8813482">https://doi.org/10.1109/ICCAR.2019.8813482</ext-link>
</mixed-citation>
<element-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Sanfilippo</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Helgerud</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Stadheim</surname>
<given-names>P. A.</given-names>
</name>
<name>
<surname>Aronsen</surname>
<given-names>S. L.</given-names>
</name>
</person-group>
<source>Serpens, A Low-Cost Snake Robot with Series Elastic Torque-Controlled Actuators and A Screw-Less Assembly Mechanism</source>
<year>2019</year>
<comment>
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1109/ICCAR.2019.8813482">https://doi.org/10.1109/ICCAR.2019.8813482</ext-link>
</comment>
</element-citation>
</ref>
<ref id="redalyc_344273557002_ref7">
<label>[7]</label>
<mixed-citation>[7]        J. Gray, “The Mechanism of Locomotion in Snakes,” <italic>Journal of Experimental Biology</italic>, vol. 23, no. 2, pp. 101–120, Dec. 1946, <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1242/jeb.23.2.101">https://doi.org/10.1242/jeb.23.2.101</ext-link>
</mixed-citation>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gray</surname>
<given-names>J.</given-names>
</name>
</person-group>
<article-title>The Mechanism of Locomotion in Snakes</article-title>
<source>Journal of Experimental Biology</source>
<year>1946</year>
<comment>
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1242/jeb.23.2.101">https://doi.org/10.1242/jeb.23.2.101</ext-link>
</comment>
</element-citation>
</ref>
<ref id="redalyc_344273557002_ref8">
<label>[8]</label>
<mixed-citation>[8]        T. Owen, “Biologically Inspired Robots: Snake-Like Locomotors and Manipulators,” <italic>Robotica</italic>, vol. 12, no. 3, p. 282, May 1994, <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1017/S0263574700017264">https://doi.org/10.1017/S0263574700017264</ext-link>
</mixed-citation>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Owen</surname>
<given-names>T.</given-names>
</name>
</person-group>
<article-title>Biologically Inspired Robots: Snake-Like Locomotors and Manipulators</article-title>
<source>Robotica</source>
<year>1994</year>
<comment>
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1017/S0263574700017264">https://doi.org/10.1017/S0263574700017264</ext-link>
</comment>
</element-citation>
</ref>
<ref id="redalyc_344273557002_ref9">
<label>[9]</label>
<mixed-citation>[9]        M. Mori, and S. Hirose, “Three-dimensional serpentine motion and lateral rolling by active cord mechanism ACM-R3,” in <italic>IEEE/RSJ International Conference on Intelligent Robots and System</italic>, 2002, vol. 1, pp. 829–834. <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1109/IRDS.2002.1041493">https://doi.org/10.1109/IRDS.2002.1041493</ext-link>
</mixed-citation>
<element-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Mori</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Hirose</surname>
<given-names>S.</given-names>
</name>
</person-group>
<source>Three-dimensional serpentine motion and lateral rolling by active cord mechanism ACM-R3</source>
<year>2002</year>
<comment>
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1109/IRDS.2002.1041493">https://doi.org/10.1109/IRDS.2002.1041493</ext-link>
</comment>
</element-citation>
</ref>
<ref id="redalyc_344273557002_ref10">
<label>[10]</label>
<mixed-citation>[10]     P. Liljebäck, K. Y. Pettersen, Ø. Stavdahl, and J. T. Gravdahl, “A review on modelling, implementation, and control of snake robots,” <italic>Rob Auton Syst</italic>, vol. 60, no. 1, pp. 29–40, Jan. 2012, <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1016/j.robot.2011.08.010">https://doi.org/10.1016/j.robot.2011.08.010</ext-link>
</mixed-citation>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liljebäck</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Pettersen</surname>
<given-names>K. Y.</given-names>
</name>
<name>
<surname>Stavdahl</surname>
<given-names>Ø.</given-names>
</name>
<name>
<surname>Gravdahl</surname>
<given-names>J. T.</given-names>
</name>
</person-group>
<article-title>A review on modelling, implementation, and control of snake robots</article-title>
<source>Rob Auton Syst,</source>
<year>2011</year>
<comment>
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1016/j.robot.2011.08.010">https://doi.org/10.1016/j.robot.2011.08.010</ext-link>
</comment>
</element-citation>
</ref>
<ref id="redalyc_344273557002_ref11">
<label>[11]</label>
<mixed-citation>[11]     A. H. Chang and P. A. Vela, “Evaluation of Bio-Inspired Scales on Locomotion Performance of Snake-Like Robots,” <italic>Robotica</italic>, vol. 37, no. 8, pp. 1302–1319, Aug. 2019, <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1017/S0263574718001522">https://doi.org/10.1017/S0263574718001522</ext-link>
</mixed-citation>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chang and P. A. Vela</surname>
<given-names>A. H.</given-names>
</name>
</person-group>
<article-title>Evaluation of Bio-Inspired Scales on Locomotion Performance of Snake-Like Robots</article-title>
<source>Robotica</source>
<year>2019</year>
<comment>
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1017/S0263574718001522">https://doi.org/10.1017/S0263574718001522</ext-link>
</comment>
</element-citation>
</ref>
<ref id="redalyc_344273557002_ref12">
<label>[12]</label>
<mixed-citation>[12]     J. Liu, Y. Tong, and J. Liu, “Review of snake robots in constrained environments,” <italic>Rob Auton Syst</italic>, vol. 141, p. 103785, Jul. 2021, <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1016/j.robot.2021.103785">https://doi.org/10.1016/j.robot.2021.103785</ext-link>
</mixed-citation>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Tong</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>J.</given-names>
</name>
</person-group>
<article-title>Review of snake robots in constrained environments</article-title>
<source>Rob Auton Syst</source>
<year>2021</year>
<comment>
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1016/j.robot.2021.103785">https://doi.org/10.1016/j.robot.2021.103785</ext-link>
</comment>
</element-citation>
</ref>
<ref id="redalyc_344273557002_ref13">
<label>[13]</label>
<mixed-citation>[13]     W. Yang, “Biomorphic Hyper-Redundant Snake Robot: Locomotion Simulation, 3D Printed Prototype and Inertial-Measurement-Unit-Based Motion Tracking,” University of Nevada, 2016. Accessed: Mar. 26, 2022. [Online]. Available: <ext-link ext-link-type="uri" xlink:href="https://scholarworks.unr.edu//handle/11714/2349">https://scholarworks.unr.edu//handle/11714/2349</ext-link>
</mixed-citation>
<element-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Yang</surname>
<given-names>W.</given-names>
</name>
</person-group>
<source>Biomorphic Hyper-Redundant Snake Robot: Locomotion Simulation, 3D Printed Prototype and Inertial-Measurement-Unit-Based Motion Tracking</source>
<year>2022</year>
<comment>
<ext-link ext-link-type="uri" xlink:href="https://scholarworks.unr.edu//handle/11714/2349">https://scholarworks.unr.edu//handle/11714/2349</ext-link>
</comment>
</element-citation>
</ref>
<ref id="redalyc_344273557002_ref14">
<label>[14]</label>
<mixed-citation>[14]     M. Saito, M. Fukaya, and T. Iwasaki, “Serpentine locomotion with robotic snakes,” <italic>IEEE Control Syst</italic>, vol. 22, no. 1, pp. 64–81, Feb. 2002, <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1109/37.980248">https://doi.org/10.1109/37.980248</ext-link>
</mixed-citation>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Saito</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Fukaya</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Iwasaki</surname>
<given-names>T.</given-names>
</name>
</person-group>
<article-title>Serpentine locomotion with robotic snakes</article-title>
<source>IEEE Control Syst</source>
<year>2002</year>
<comment>
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1109/37.980248">https://doi.org/10.1109/37.980248</ext-link>
</comment>
</element-citation>
</ref>
<ref id="redalyc_344273557002_ref15">
<label>[15]</label>
<mixed-citation>[15]     I. Virgala, M. Dovica, M. Kelemen, E. Prada, and Z. Bobovský, “Snake Robot Movement in the Pipe Using Concertina Locomotion,” <italic>Applied Mechanics and Materials</italic>, vol. 611, pp. 121–129, Aug. 2014, <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.4028/www.scientific.net/AMM.611.121">https://doi.org/10.4028/www.scientific.net/AMM.611.121</ext-link>
</mixed-citation>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Virgala</surname>
<given-names>I.</given-names>
</name>
<name>
<surname>Dovica</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Kelemen</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Prada</surname>
<given-names>E.</given-names>
</name>
</person-group>
<article-title>Snake Robot Movement in the Pipe Using Concertina Locomotion</article-title>
<source>Applied Mechanics and Materials</source>
<year>2014</year>
<comment>
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.4028/www.scientific.net/AMM.611.121">https://doi.org/10.4028/www.scientific.net/AMM.611.121</ext-link>
</comment>
</element-citation>
</ref>
<ref id="redalyc_344273557002_ref16">
<label>[16]</label>
<mixed-citation>[16]     K. Lipkin <italic>et al.</italic>, “Differentiable and piecewise differentiable gaits for snake robots,” in <italic>2007 IEEE/RSJ International Conference on Intelligent Robots and Systems</italic>, Oct. 2007, pp. 1864–1869. <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1109/IROS.2007.4399638">https://doi.org/10.1109/IROS.2007.4399638</ext-link>
</mixed-citation>
<element-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Lipkin</surname>
<given-names>K.</given-names>
</name>
</person-group>
</element-citation>
</ref>
<ref id="redalyc_344273557002_ref17">
<label>[17]</label>
<mixed-citation>[17]     I. Tanev, T. Ray, and A. Buller, “Evolution, Robustness, and Adaptation of Sidewinding Locomotion of Simulated Snake-Like Robot,” in <italic>Genetic and Evolutionary Computation – GECCO 2004</italic>, vol. 3102, Springer, 2004, pp. 627–639. <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1007/978-3-540-24854-5_65">https://doi.org/10.1007/978-3-540-24854-5_65</ext-link>
</mixed-citation>
<element-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Tanev</surname>
<given-names>I.</given-names>
</name>
<name>
<surname>Ray</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Buller</surname>
<given-names>A.</given-names>
</name>
</person-group>
<source>Evolution, Robustness, and Adaptation of Sidewinding Locomotion of Simulated Snake-Like Robot</source>
<year>2004</year>
<comment>
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1007/978-3-540-24854-5_65">https://doi.org/10.1007/978-3-540-24854-5_65</ext-link>
</comment>
</element-citation>
</ref>
<ref id="redalyc_344273557002_ref18">
<label>[18]</label>
<mixed-citation>[18]     K. Wang, W. Gao, and S. Ma, “Snake-Like Robot with Fusion Gait for High Environmental Adaptability: Design, Modeling, and Experiment,” <italic>Applied Sciences</italic>, vol. 7, no. 11, p. 1133, Nov. 2017, <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3390/app7111133">https://doi.org/10.3390/app7111133</ext-link>
</mixed-citation>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Gao</surname>
<given-names>W.</given-names>
</name>
</person-group>
<article-title>Snake-Like Robot with Fusion Gait for High Environmental Adaptability: Design, Modeling, and Experiment</article-title>
<source>Applied Sciences</source>
<year>2017</year>
<comment>
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3390/app7111133">https://doi.org/10.3390/app7111133</ext-link>
</comment>
</element-citation>
</ref>
<ref id="redalyc_344273557002_ref19">
<label>[19]</label>
<mixed-citation>[19]     M. Tesch <italic>et al.</italic>, “Parameterized and Scripted Gaits for Modular Snake Robots,” <italic>Advanced Robotics</italic>, vol. 23, no. 9, pp. 1131–1158, Jan. 2009, <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1163/156855309X452566">https://doi.org/10.1163/156855309X452566</ext-link>
</mixed-citation>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tesch</surname>
<given-names>M.</given-names>
</name>
</person-group>
<article-title>Parameterized and Scripted Gaits for Modular Snake Robots</article-title>
</element-citation>
</ref>
<ref id="redalyc_344273557002_ref20">
<label>[20]</label>
<mixed-citation>[20]     F. Sanfilippo, J. Azpiazu, G. Marafioti, A. A. Transeth, Ø. Stavdahl, and P. Liljebäck, “Perception-Driven Obstacle-Aided Locomotion for Snake Robots: The State of the Art, Challenges and Possibilities †,” <italic>Applied Sciences</italic>, vol. 7, no. 4, p. 336, Mar. 2017, <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3390/app7040336">https://doi.org/10.3390/app7040336</ext-link>
</mixed-citation>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Sanfilippo</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Azpiazu</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Marafioti</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Transeth</surname>
<given-names>A. A.</given-names>
</name>
<name>
<surname>Stavdahl</surname>
<given-names>Ø.</given-names>
</name>
<name>
<surname>Liljebäck</surname>
<given-names>P.</given-names>
</name>
</person-group>
<article-title>Perception-Driven Obstacle-Aided Locomotion for Snake Robots: The State of the Art, Challenges and Possibilities †</article-title>
<source>Applied Sciences</source>
<year>2017</year>
<comment>
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3390/app7040336">https://doi.org/10.3390/app7040336</ext-link>
</comment>
</element-citation>
</ref>
<ref id="redalyc_344273557002_ref21">
<label>[21]</label>
<mixed-citation>[21]     S. Xuandon, G. Junyao, Z. Zhengyang, W. Qianying, and H. Chengzu, “Structural analysis and design of round belt drive snake-like robot,” in <italic>IET International Conference on Information Science and Control Engineering 2012 (ICISCE 2012)</italic>, Dec. <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1049/cp.2012.2299">https://doi.org/10.1049/cp.2012.2299</ext-link>
</mixed-citation>
<element-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Xuandon</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Junyao</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Zhengyang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Qianying</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Chengzu</surname>
<given-names>H.</given-names>
</name>
</person-group>
<source>Structural analysis and design of round belt drive snake-like robot</source>
<year>2012</year>
<comment>
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1049/cp.2012.2299">https://doi.org/10.1049/cp.2012.2299</ext-link>
</comment>
</element-citation>
</ref>
<ref id="redalyc_344273557002_ref22">
<label>[22]</label>
<mixed-citation>[22]     R. Featherstone, <italic>Rigid Body Dynamics Algorithms</italic>, 1a ed. Boston, MA: Springer US, 2008. <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1007/978-1-4899-7560-7">https://doi.org/10.1007/978-1-4899-7560-7</ext-link>
</mixed-citation>
<element-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Featherstone</surname>
<given-names>R.</given-names>
</name>
</person-group>
<source>Rigid Body Dynamics Algorithms</source>
<year>2008</year>
<comment>
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1007/978-1-4899-7560-7">https://doi.org/10.1007/978-1-4899-7560-7</ext-link>
</comment>
</element-citation>
</ref>
<ref id="redalyc_344273557002_ref23">
<label>[23]</label>
<mixed-citation>[23]     M. Malayjerdi, and A. Akbarzadeh, “Analytical modeling of a 3-D snake robot based on sidewinding locomotion,” <italic>Int J Dyn Control</italic>, vol. 7, no. 1, pp. 83–93, Mar. 2019,</mixed-citation>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Malayjerdi</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Akbarzadeh</surname>
<given-names>A.</given-names>
</name>
</person-group>
<article-title>Analytical modeling of a 3-D snake robot based on sidewinding locomotion</article-title>
<source>Int J Dyn Control</source>
<year>2019</year>
</element-citation>
</ref>
<ref id="redalyc_344273557002_ref25">
<label>[24]</label>
<mixed-citation>[24]     W. Khalil, and J. Kleinfinger, “A new geometric notation for open and closed-loop robots,” in <italic>Proceedings. 1986 IEEE International Conference on Robotics and Automation</italic>, May 1986, vol. 3, pp. 1174–1179. <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1109/ROBOT.1986.1087552">https://doi.org/10.1109/ROBOT.1986.1087552</ext-link>
</mixed-citation>
<element-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Khalil</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Kleinfinger</surname>
<given-names>J.</given-names>
</name>
</person-group>
<source>A new geometric notation for open and closed-loop robots</source>
<year>1986</year>
<comment>
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1109/ROBOT.1986.1087552">https://doi.org/10.1109/ROBOT.1986.1087552</ext-link>
</comment>
</element-citation>
</ref>
<ref id="redalyc_344273557002_ref26">
<label>[25]</label>
<mixed-citation>[25]     O. A. Vivas, <italic>Diseño y control de robots industriales: teoría y práctica</italic>, 1a ed. Elaleph.com S.R.L., 2010. [Online]. Accessed: Feb. 09, 2022. Available: <ext-link ext-link-type="uri" xlink:href="https://www.elaleph.com/libro/Diseno-y-control-de-robots-industriales-teoria-y-practica-de-Oscar-Andres-Vivas-Alban/576371">https://www.elaleph.com/libro/Diseno-y-control-de-robots-industriales-teoria-y-practica-de-Oscar-Andres-Vivas-Alban/576371</ext-link>/</mixed-citation>
<element-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Vivas</surname>
<given-names>O. A.</given-names>
</name>
</person-group>
<source>Diseño y control de robots industriales: teoría y práctica</source>
<year>2022</year>
<comment>
<ext-link ext-link-type="uri" xlink:href="https://www.elaleph.com/libro/Diseno-y-control-de-robots-industriales-teoria-y-practica-de-Oscar-Andres-Vivas-Alban/576371">https://www.elaleph.com/libro/Diseno-y-control-de-robots-industriales-teoria-y-practica-de-Oscar-Andres-Vivas-Alban/576371</ext-link>
</comment>
</element-citation>
</ref>
<ref id="redalyc_344273557002_ref27">
<label>[26]</label>
<mixed-citation>[26]     R. Bogue, “Snake robots: A review of research, products and applications,” <italic>Industrial Robot</italic>, vol. 41, no. 3, pp. 253–258, May 2014, <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1108/IR-02-2014-0309">https://doi.org/10.1108/IR-02-2014-0309</ext-link>
</mixed-citation>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Bogue</surname>
<given-names>R.</given-names>
</name>
</person-group>
<article-title>Snake robots: A review of research, products and applications</article-title>
<source>Industrial Robot</source>
<year>2014</year>
<comment>
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1108/IR-02-2014-0309">https://doi.org/10.1108/IR-02-2014-0309</ext-link>
</comment>
</element-citation>
</ref>
</ref-list>
<fn-group>
<title>Notes</title>
<fn id="fn5" fn-type="other">
<label>-</label>
<p>
<bold> CONFLICTS OF INTEREST </bold>
</p>
<p>The authors declare that there is no conflict of interest, whether financial, professional, or personal, that could influence the work presented in this article.</p>
</fn>
<fn id="fn6" fn-type="other">
<label>-</label>
<p>
<bold> AUTHOR CONTRIBUTIONS </bold>
</p>
<p>Jairo José Marín Arciniegas designed, built, and tested the robot. Oscar Andrés Vivas Albán was in charge of the scientific supervision of the project.</p>
</fn>
</fn-group>
</back>
</article>