<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Neurorobot.</journal-id>
<journal-title>Frontiers in Neurorobotics</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Neurorobot.</abbrev-journal-title>
<issn pub-type="epub">1662-5218</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3389/fnbot.2022.1066714</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Neuroscience</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Design and dynamic analysis of jumping wheel-legged robot in complex terrain environment</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name><surname>Guo</surname> <given-names>Tiezheng</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<xref ref-type="corresp" rid="c001"><sup>&#x002A;</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/1952429/overview"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Liu</surname> <given-names>Jinhui</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/2047904/overview"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Liang</surname> <given-names>Haonan</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/2110153/overview"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Zhang</surname> <given-names>Yitong</given-names></name>
<xref ref-type="aff" rid="aff2"><sup>2</sup></xref>
</contrib>
<contrib contrib-type="author">
<name><surname>Chen</surname> <given-names>Wei</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
</contrib>
<contrib contrib-type="author">
<name><surname>Xia</surname> <given-names>Ximing</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
</contrib>
<contrib contrib-type="author">
<name><surname>Wang</surname> <given-names>Meiqing</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/2110127/overview"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Wang</surname> <given-names>Zhiming</given-names></name>
<xref ref-type="aff" rid="aff3"><sup>3</sup></xref>
</contrib>
</contrib-group>
<aff id="aff1"><sup>1</sup><institution>Industrial Center, Nanjing Institute of Technology</institution>, <addr-line>Nanjing, Jiangsu</addr-line>, <country>China</country></aff>
<aff id="aff2"><sup>2</sup><institution>Direct Drive Technology Ltd.</institution>, <addr-line>Dongguan, Guangdong</addr-line>, <country>China</country></aff>
<aff id="aff3"><sup>3</sup><institution>Key Laboratory of Crop Harvesting Equipment Technology of Zhejiang Province</institution>, <addr-line>Jinhua, Zhejiang</addr-line>, <country>China</country></aff>
<author-notes>
<fn fn-type="edited-by"><p>Edited by: Yan Wu, Institute for Infocomm Research (A&#x002A;STAR), Singapore</p></fn>
<fn fn-type="edited-by"><p>Reviewed by: Yanjie Wang, Hohai University, China; Hongqian Lu, Qilu University of Technology, China</p></fn>
<corresp id="c001">&#x002A;Correspondence: Tiezheng Guo, <email>guotiezheng@njit.edu.cn</email></corresp>
</author-notes>
<pub-date pub-type="epub">
<day>02</day>
<month>12</month>
<year>2022</year>
</pub-date>
<pub-date pub-type="collection">
<year>2022</year>
</pub-date>
<volume>16</volume>
<elocation-id>1066714</elocation-id>
<history>
<date date-type="received">
<day>11</day>
<month>10</month>
<year>2022</year>
</date>
<date date-type="accepted">
<day>16</day>
<month>11</month>
<year>2022</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#x00A9; 2022 Guo, Liu, Liang, Zhang, Chen, Xia, Wang and Wang.</copyright-statement>
<copyright-year>2022</copyright-year>
<copyright-holder>Guo, Liu, Liang, Zhang, Chen, Xia, Wang and Wang</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/"><p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p></license>
</permissions>
<abstract>
<p>Wheel-legged robots have fast and stable motion characteristics on flat roads, but there are the problems of poor balance ability and low movement level in special terrains such as rough roads. In this paper, a new type of wheel-legged robot with parallel four-bar mechanism is proposed, and the linear quadratic regulator (LQR) controller and fuzzy proportion differentiation (PD) jumping controller are designed and developed to achieve stable motion so that the robot has the ability to jump over obstacles and adapt to rough terrain. The amount of energy released by the parallel four-bar linkage mechanism changes with the change of the link angle, and the height of the jump trajectory changes accordingly, which improves the robot&#x2019;s ability to overcome obstacles facing vertical obstacles. Simulations and real scene tests are performed in different terrain environments to verify obstacle crossing capabilities. The simulation results show that, in the pothole terrain, the maximum height error of the two hip joint motors is 2 mm for the obstacle surmounting method of the adaptive retractable wheel-legs; in the process of single leg obstacle surmounting, the maximum height error of the hip joint motors is only 6.6 mm. The comparison of simulation data and real scene experimental results shows that the robot has better robustness in moving under complex terrains.</p>
</abstract>
<kwd-group>
<kwd>complex terrain environment</kwd>
<kwd>wheel-legged robot</kwd>
<kwd>dynamic analysis</kwd>
<kwd>adaptive obstacle crossing</kwd>
<kwd>motion analysis</kwd>
</kwd-group>
<counts>
<fig-count count="24"/>
<table-count count="0"/>
<equation-count count="34"/>
<ref-count count="21"/>
<page-count count="17"/>
<word-count count="10368"/>
</counts>
</article-meta>
</front>
<body>
<sec id="S1" sec-type="intro">
<title>Introduction</title>
<p>With the continuous development of robot technology, the application scope of mobile robots is constantly expanding, and the diversification of application scenarios leads to the increase of robots facing complex terrain environments (<xref ref-type="bibr" rid="B19">Zhang et al., 2014</xref>; <xref ref-type="bibr" rid="B7">Gao et al., 2020</xref>). Wheeled robots have the advantages of high efficiency and high energy utilization on flat roads (<xref ref-type="bibr" rid="B14">Wu, 2020</xref>; <xref ref-type="bibr" rid="B17">Xin et al., 2020</xref>), but they have poor adaptability to complex terrain. When the height of obstacles is greater than the radius of the wheels, they cannot effectively cross obstacles (<xref ref-type="bibr" rid="B5">Ding and Zhang, 2022</xref>). Legged robots have excellent adaptability when moving on the uneven and rough roads, but slow moving speed and low movement energy efficiency have always been technical problems that are difficult to break through (<xref ref-type="bibr" rid="B16">Xin et al., 2019</xref>; <xref ref-type="bibr" rid="B15">Xin and Vijayakumar, 2020</xref>). To solve this problem, the researchers turned their attention to wheel-legged robots. Wheel-legged robots combine the advantages of wheeled robots and legged robots. Double wheels can maximize energy utilization efficiency and maneuverability, and the leg structure makes the robot more adaptable to complex terrain environments.</p>
<p>At present, scholars have carried out a lot of research on the stability and high obstacle crossing ability of wheel-legged robots in unstructured terrain and have achieved a series of results: <xref ref-type="bibr" rid="B12">Liu et al. (2019</xref>, <xref ref-type="bibr" rid="B13">2022)</xref> and <xref ref-type="bibr" rid="B18">Zhang et al. (2019)</xref> proposed a bipedal wheeled robot SR600 for logistics in scenarios such as distribution and home services, it can change height while maintaining dynamic balance. The size design of the human body can make it better interact with people. <xref ref-type="bibr" rid="B9">Kim et al. (2014)</xref> developed the Wheel Transformer, a variable-diameter wheel-legged robot. When encountering an obstacle, the wheels are transformed into two three-legged wheels to complete the action of crossing over the obstacle. It can overcome obstacles that 3.25 times higher than the wheel radius, but there is also the problem of low efficiency of crossing obstacles. In nature, animals jump over obstacles and avoid enemies attack by jumping (<xref ref-type="bibr" rid="B6">Fei et al., 2012</xref>; <xref ref-type="bibr" rid="B4">Cheng, 2021</xref>). Inspired by this, the bionic jumping theory was applied to the wheel-legged robot, and the jumping obstacle was realized by the wheel-legged robot (<xref ref-type="bibr" rid="B21">Zhuang et al., 2021</xref>; <xref ref-type="bibr" rid="B8">Hao et al., 2022</xref>). <xref ref-type="bibr" rid="B3">Chen et al. (2021</xref>) studied the jumping of a bipedal wheel-legged robot, proposed a W-SLIP model to characterize the jumping process dynamics, and verified the robot&#x2019;s jumping performance through V-REP simulation. Bipedal wheel-legged robot Ascento produced by ETH Zurich that adopted a compact design structure and can jump over obstacles while keeping the robot flexible and compact (<xref ref-type="bibr" rid="B11">Klemm et al., 2019</xref>; <xref ref-type="bibr" rid="B10">Klemm et al., 2020</xref>). The quadruped wheel-legged robot ANYmal (<xref ref-type="bibr" rid="B1">Bjelonic et al., 2019</xref>) of ETH Zurich also reflected the advantages of the combination of legged robots and wheeled robots to a large extent. The typical wheel-legged robot Handle developed by <xref ref-type="bibr" rid="B2">Boston Dynamics Ltd (2017)</xref>. Achieved self-balancing through a dynamic control center, and used a hydraulic drive to jump to a height of 1.2 m (<xref ref-type="bibr" rid="B20">Zhang et al., 2018</xref>). At present, wheel-legged robots are still mainly used in simple application scenarios such as logistics handling, while wheel-legged robots suitable for complex terrain environments have been rarely reported.</p>
<p>Aiming at the problems that the wheel-legged robot is not stable in the complex terrain environment, a jumping wheel-legged robot is proposed in this paper, and an adaptive retractable wheel-leg mechanism is designed to keep the body parallel to the ground to achieve smooth obstacle-surmounting. The main motion forms of the robot include wheel and wheel-leg movement modes, and the modes are switched by the rotation of the hip motor. The wheel movement mode is used on flat terrain, and the wheel-leg movement mode is used on obstacles and rough terrain to improve energy utilization efficiency. In the wheel-leg movement mode, the robot cannot only use the wheels to move quickly and stably, but also jump over obstacles through the expansion and contraction of the wheel-leg linkage mechanism. The paper is structured as follows: In Section &#x201C;Kinematics and dynamics analysis,&#x201D; the robot is introduced and the kinematics and dynamics modeling, including the self-balancing dynamics model and the jumping dynamics model. In Section &#x201C;Analysis of obstacle crossing conditions,&#x201D; the wheeled overcoming obstacles and jumping over obstacles are analyzed respectively, and the conditions for overcoming the obstacles are obtained. The control system is presented in Section &#x201C;Robot Control System,&#x201D; divided into self-balancing and jump control. Section &#x201C;Simulation and experiment&#x201D; conducts simulation tests on robot crossing obstacles in different terrains, and conducts actual test verifications. The paper is concluded in the last section.</p>
</sec>
<sec id="S2">
<title>Kinematics and dynamics analysis</title>
<p>The overall structure design of the robot is shown in <xref ref-type="fig" rid="F1">Figure 1</xref>, which consists of the body, six motors, two linkage mechanisms, two pairs of universal wheels and two wheels. The two waist motors (including No. 4 in <xref ref-type="fig" rid="F1">Figure 1</xref>) are hidden inside the body, and two motors are installed in the left and right wheels to drive the wheels to move. The waist motors are used to adjust the pitch angle of the body, and the hip motors are used to control the robot to change the height of the body and realize the jumping function. The hip motor rotates, and under the action of gravity, the connection between the Connecting rod 2 and the hip motor rotates around the rotation axis of the hip joint to realize the expansion and contraction of the leg linkage mechanism. The height of the body is raised and lowered through the expansion and contraction of the linkage mechanisms, and the wheel-leg linkage mechanisms contract and stretch in a short time, completing the accumulation and release of the energy required for jumping, and the robot realizes the jumping action. The wheel movement mode and the wheel-leg movement mode are shown in <xref ref-type="fig" rid="F2">Figures 2A,B</xref> below, respectively.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption><p>Schematic diagram of the robot structure. 1. Right wheel (driving wheel); 2. Universal wheel; 3. Body; 4. Waist motor; 5. Hip motor; 6. Connecting rod 1; 7. Connecting rod 2; 8. Connecting rod 3; 9. Left wheel (driving wheel).</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnbot-16-1066714-g001.tif"/>
</fig>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption><p>Schematic diagram of robot motion posture: <bold>(A)</bold> Wheel movement mode; <bold>(B)</bold> Wheel-leg movement mode.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnbot-16-1066714-g002.tif"/>
</fig>
<sec id="S2.SS1">
<title>Kinematic modeling</title>
<p>As shown in <xref ref-type="fig" rid="F3">Figure 3</xref>, the kinematic model of the standing posture of the wheel-legged robot is established. {<italic>W</italic>} is the world coordinate system, the <italic>Z</italic> axis is vertically upward, the <italic>X</italic> axis is perpendicular to the <italic>Z</italic> axis and points to the right end, and the <italic>Y</italic> axis direction is determined according to the right-hand rule. In order to simplify the kinematics problem, the base coordinate system {<italic>B</italic>} is established at the contact point between the wheel and the ground, the direction is parallel to the world coordinate system, and the coordinate system {0} is established at the center of the wheel. The coordinate system {1} is established at the connection between the Connecting rod 3 and the wheel, the coordinate system {2} is established at the connection between the Connecting rod 1 and the Connecting rod 3, and the coordinate system is established at the position shown in the <xref ref-type="fig" rid="F3">Figure 3</xref> in turn. The <italic>Z</italic><sub><italic>i</italic></sub>(<italic>i</italic> = 1&#x223C;5) axis of the link is along the joint. The positive direction of the axis is placed perpendicular to the surface of the paper, the positive direction of the <italic>X<sub>i</sub></italic> axis points to the common perpendicular of the <italic>i</italic> axis and the <italic>i+</italic>1 axis, and the direction of the <italic>Y<sub>i</sub></italic> axis is determined by the right-hand rule.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption><p>Kinematics model of robot.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnbot-16-1066714-g003.tif"/>
</fig>
<p>In the kinematic model of <xref ref-type="fig" rid="F3">Figure 3</xref>, <italic>a</italic><sub><italic>i&#x2013;1</italic></sub> is the length of the connecting rod, &#x03B1;<sub><italic>i</italic>&#x2212;1</sub> is the rotation angle of the connecting rod, <italic>d<sub>i</sub></italic> is the offset distance of the connecting rod, &#x03B8;<sub><italic>i</italic></sub> is the joint angle, <italic>l<sub>i</sub></italic> is the distance between the origin of the coordinate system {<italic>i</italic>&#x2212;1} and the origin of the coordinate system {<italic>i</italic>} in the Z-X plane. where <italic>i</italic> = 1&#x223C;5 is the rotational joint of the robot, <italic>d</italic><sub>1</sub> = 0.026<italic>m</italic>, <italic>d</italic><sub>2</sub> = 0.021<italic>m</italic>, <italic>d</italic><sub>3</sub> = 0.016<italic>m</italic>, <italic>d</italic><sub>5</sub> = 0.016<italic>m</italic>. <italic>l</italic><sub>2</sub> = 0.14<italic>m</italic>, <italic>l</italic><sub>3</sub> = 0.14<italic>m</italic>, <italic>l</italic><sub>4</sub> = 0.09<italic>m</italic>, <italic>l</italic><sub>5</sub> = 0.14<italic>m</italic>, <italic>l</italic><sub>6</sub> = 0.09<italic>m</italic>, the robot wheel radius <italic>r</italic> = 0.095<italic>m</italic>.</p>
<p>According to the established kinematics model, the forward kinematics is solved, and the connecting rod transformation matrix is obtained as:</p>
<disp-formula id="S2.E1">
<label>(1)</label>
<mml:math id="M1">
<mml:mrow>
<mml:mrow>
<mml:mmultiscripts>
<mml:mi>T</mml:mi>
<mml:mprescripts/>
<mml:mn>1</mml:mn>
<mml:mn>0</mml:mn>
</mml:mmultiscripts>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mtable columnspacing="5pt" rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mrow>
<mml:mo>-</mml:mo>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>1</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>1</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mmultiscripts>
<mml:mi>T</mml:mi>
<mml:mprescripts/>
<mml:mn>2</mml:mn>
<mml:mn>0</mml:mn>
</mml:mmultiscripts>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mtable columnspacing="5pt" rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>12</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mrow>
<mml:mo>-</mml:mo>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mn>12</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mn>12</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>12</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>1</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mrow>
<mml:mrow>
<mml:mo>-</mml:mo>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>-</mml:mo>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>1</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="S2.E2">
<label>(2)</label>
<mml:math id="M2">
<mml:mrow>
<mml:mrow>
<mml:mmultiscripts>
<mml:mi>T</mml:mi>
<mml:mprescripts/>
<mml:mn>3</mml:mn>
<mml:mn>0</mml:mn>
</mml:mmultiscripts>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mtable columnspacing="5pt" rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>123</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mrow>
<mml:mo>-</mml:mo>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mn>123</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>12</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mn>123</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>123</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mn>12</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>1</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mrow>
<mml:mrow>
<mml:mo>-</mml:mo>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>-</mml:mo>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>-</mml:mo>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>1</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>,</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mmultiscripts>
<mml:mi>T</mml:mi>
<mml:mprescripts/>
<mml:mn>4</mml:mn>
<mml:mn>0</mml:mn>
</mml:mmultiscripts>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mtable columnspacing="5pt" rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>1234</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mrow>
<mml:mo>-</mml:mo>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mn>1234</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>12</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>123</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mn>4</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mn>1234</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>1234</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mn>12</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mn>123</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mn>4</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>1</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mrow>
<mml:mrow>
<mml:mo>-</mml:mo>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>-</mml:mo>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>-</mml:mo>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>1</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="S2.E3">
<label>(3)</label>
<mml:math id="M3">
<mml:mrow>
<mml:mmultiscripts>
<mml:mi>T</mml:mi>
<mml:mprescripts/>
<mml:mn>5</mml:mn>
<mml:mn>0</mml:mn>
</mml:mmultiscripts>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mtable columnspacing="5pt" rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>1234</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mrow>
<mml:mo>-</mml:mo>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mn>1234</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>12</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>123</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mn>4</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>1234</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mn>5</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mn>1234</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>1234</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mn>12</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mn>123</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mn>4</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mn>1234</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mn>5</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>1</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mrow>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mn>5</mml:mn>
</mml:msub>
<mml:mo>-</mml:mo>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>-</mml:mo>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>-</mml:mo>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>1</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Where, <italic>C</italic><sub><italic>1234</italic></sub> is the meaning of cos(&#x03B8;<sub>1</sub> + &#x03B8;<sub>2</sub> + &#x03B8;<sub>3</sub> + &#x03B8;<sub>4</sub>), <italic>S</italic><sub><italic>1234</italic></sub> is the meaning of <inline-formula><mml:math id="INEQ23"><mml:mrow><mml:mtext>sin</mml:mtext><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi mathvariant="normal">&#x03B8;</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="normal">&#x03B8;</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="normal">&#x03B8;</mml:mi><mml:mn>3</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:mpadded width="+3.3pt"><mml:mi mathvariant="normal">&#x03B8;</mml:mi></mml:mpadded><mml:mmultiscripts><mml:mo stretchy="false">)</mml:mo><mml:mprescripts/><mml:mn>4</mml:mn><mml:none/></mml:mmultiscripts></mml:mrow></mml:mrow></mml:math></inline-formula>.</p>
<p>The robot is a parallelogram linkage mechanism, and the robot body is expected to be parallel to the ground while maintaining balance, so the constraint equation is attached:</p>
<disp-formula id="S2.E4">
<label>(4)</label>
<mml:math id="M4">
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x03B8;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x03B8;</mml:mi>
<mml:mn>4</mml:mn>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mi mathvariant="normal">&#x03C0;</mml:mi>
<mml:mo>-</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x03B8;</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mrow>
<mml:mo rspace="5.8pt">,</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x03B8;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn>
</mml:mfrac>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x03B8;</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Use UG software to analyze the position of the center of mass of each rod and the body of the robot, and obtain the coordinates of the center of mass <italic>c</italic>1 of the Connecting rod 3, the center of mass <italic>c</italic>2 of the Connecting rod 1, the center of mass <italic>c</italic>3 of the body, and the center of mass <italic>c</italic>4 of the Connecting rod 2 relative to the <italic>X</italic>-<italic>Y</italic> plane of the {1}, {2}, {3}, {4} coordinate system:</p>
<disp-formula id="S2.Ex2">
<label>(5)</label>
<mml:math id="M5">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mtable rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mmultiscripts>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:none/>
<mml:mprescripts/>
<mml:none/>
<mml:mn>1</mml:mn>
</mml:mmultiscripts>
<mml:mo>=</mml:mo>
<mml:mn>0.0545</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mmultiscripts>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:none/>
<mml:mprescripts/>
<mml:none/>
<mml:mn>1</mml:mn>
</mml:mmultiscripts>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mi/>
</mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo rspace="5.8pt">,</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mtable rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mmultiscripts>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:none/>
<mml:mprescripts/>
<mml:none/>
<mml:mn>2</mml:mn>
</mml:mmultiscripts>
<mml:mo>=</mml:mo>
<mml:mn>0.0802</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mmultiscripts>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:none/>
<mml:mprescripts/>
<mml:none/>
<mml:mn>2</mml:mn>
</mml:mmultiscripts>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>-</mml:mo>
<mml:mn>0.0128</mml:mn>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mi/>
</mml:mrow>
</mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>,</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mtable rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mmultiscripts>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:none/>
<mml:mprescripts/>
<mml:none/>
<mml:mn>3</mml:mn>
</mml:mmultiscripts>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>-</mml:mo>
<mml:mn>0.0219</mml:mn>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mmultiscripts>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:none/>
<mml:mprescripts/>
<mml:none/>
<mml:mn>3</mml:mn>
</mml:mmultiscripts>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>-</mml:mo>
<mml:mn>0.0235</mml:mn>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mi/>
</mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo rspace="5.8pt">,</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mtable rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mmultiscripts>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>4</mml:mn>
</mml:mrow>
<mml:none/>
<mml:mprescripts/>
<mml:none/>
<mml:mn>4</mml:mn>
</mml:mmultiscripts>
<mml:mo>=</mml:mo>
<mml:mn>0.0714</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mmultiscripts>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>4</mml:mn>
</mml:mrow>
<mml:none/>
<mml:mprescripts/>
<mml:none/>
<mml:mn>4</mml:mn>
</mml:mmultiscripts>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>-</mml:mo>
<mml:mn>0.0152</mml:mn>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mi/>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>The angle between the line connecting the center of mass <italic>c</italic>2 and the origin of the coordinate system {2} and the positive direction of the <italic>X<sub>2</sub></italic> axis is &#x03C6;<sub>2</sub> = <italic>atan</italic>2(<sup>2</sup><italic>Y</italic><sub><italic>c</italic>2</sub>,<sup>2</sup><italic>X</italic><sub><italic>c</italic>2</sub>), the angle between the line of the center of mass <italic>c</italic>3 and the origin of the coordinate system of {3} and the positive direction of the <italic>X<sub>3</sub></italic> axis is &#x03C6;<sub>3</sub> = <italic>atan</italic>2(<sup>3</sup><italic>Y</italic><sub><italic>c</italic>3</sub>,<sup>3</sup><italic>X</italic><sub><italic>c</italic>3</sub>), the angle between the line connecting the center of mass c4 and the origin of the coordinate system of {4} and the positive direction of the <italic>X<sub>4</sub></italic> axis is &#x03C6;<sub>4</sub> = <italic>atan</italic>2(<sup>4</sup><italic>Y</italic><sub><italic>c</italic>4</sub>,<sup>4</sup><italic>X</italic><sub><italic>c</italic>4</sub>), the center of mass of the hip motor <italic>c</italic>5 is at the center of rotation. Let the lengths of the center of mass <italic>c</italic>1, <italic>c</italic>2, <italic>c</italic>3, and <italic>c</italic>4 from the origin of the {1}, {2}, {3}, and {4} coordinate systems be <italic>l</italic><sub><italic>c1</italic></sub>, <italic>l</italic><sub><italic>c2</italic></sub>, <italic>l</italic><sub><italic>c3</italic></sub>, and <italic>l</italic><sub><italic>c4</italic></sub>, respectively. Then the position of the center of mass of each rod <italic>ci</italic> relative to the world coordinate system is (<italic>X</italic><sub><italic>ci</italic></sub>, <italic>Z</italic><sub><italic>ci</italic></sub>), and the velocity is <inline-formula><mml:math id="INEQ39"><mml:msqrt><mml:mrow><mml:mover accent="true"><mml:msubsup><mml:mi>X</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>i</mml:mi></mml:mrow><mml:mn>2</mml:mn></mml:msubsup><mml:mo>.</mml:mo></mml:mover><mml:mo>+</mml:mo><mml:mover accent="true"><mml:msubsup><mml:mi>Z</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>i</mml:mi></mml:mrow><mml:mn>2</mml:mn></mml:msubsup><mml:mo>.</mml:mo></mml:mover></mml:mrow></mml:msqrt></mml:math></inline-formula>, <italic>i</italic> = 1&#x223C;5.</p>
</sec>
<sec id="S2.SS2">
<title>Dynamic modeling</title>
<sec id="S2.SS2.SSS1">
<title>Self-balancing dynamic modeling</title>
<p>When the robot maintains a standing posture, the leg linkage mechanism is kept fixed by locking the hip joint motor. At this time, the robot can be equivalent to a two-wheeled self-balancing robot, as shown in <xref ref-type="fig" rid="F4">Figure 4</xref>. The center of mass is located above the wheel axis of the robot, and the pose of the robot in the world coordinate system is [<italic>x</italic><sub><italic>b</italic></sub>,<italic>y</italic><sub><italic>b</italic></sub>,<italic>z</italic><sub><italic>b</italic></sub>,&#x03B1;]<sup><italic>T</italic></sup>, where the position coordinate of the midpoint of the axis of the driving wheels of the robot is [<italic>x</italic><sub><italic>b</italic></sub>,<italic>y</italic><sub><italic>b</italic></sub>,<italic>z</italic><sub><italic>b</italic></sub> + <italic>r</italic>], &#x03B1; is the heading angle of the robot, the distance between the centers of the two wheels is <italic>D</italic>, and the radius of the wheel is <italic>r</italic>, the angles that the left and right wheels have turned are &#x03B8;<sub><italic>L</italic></sub>,&#x03B8;<sub><italic>R</italic></sub>, and the displacements of the left and right wheels are <italic>x</italic><sub><italic>L</italic></sub>,<italic>x</italic><sub><italic>R</italic></sub>, respectively. Assume that the body mass of the simplified robot is <italic>M</italic>, the length of the body is <italic>L</italic>, the moment of inertia of the body around the <italic>Y</italic> axis is <italic>I<sub>b</sub></italic>, and the position coordinate of the center of mass of the body is [<italic>x</italic>,&#x2005;0,<italic>z</italic>]. The moment of inertia of each connecting rod at the center of mass is <italic>I</italic><sub><italic>ci</italic></sub>, which is obtained with the assistance of Adams simulation software. The tilt angle and body length of the equivalent model are:</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption><p>Force diagram of equivalent model.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnbot-16-1066714-g004.tif"/>
</fig>
<disp-formula id="S2.E6">
<label>(6)</label>
<mml:math id="M6">
<mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mi>arctan</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mfrac>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>-</mml:mo>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mo>=</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>-</mml:mo>
<mml:mi>r</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Taking the left wheel of the robot as an example to analyze the force on the wheel and the body, the balance formula of the force and moment of the body and the wheel can be obtained:</p>
<disp-formula id="S2.E7">
<label>(7)</label>
<mml:math id="M7">
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mtable displaystyle="true" rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>-</mml:mo>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x00A8;</mml:mo>
</mml:mover>
<mml:mi>L</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>-</mml:mo>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>g</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mi/>
</mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo rspace="5.8pt">,</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mtable displaystyle="true" rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>L</mml:mi>
</mml:msub>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>-</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>W</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03B8;</mml:mi>
<mml:mo>&#x00A8;</mml:mo>
</mml:mover>
<mml:mi>L</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03B8;</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mi>L</mml:mi>
</mml:msub>
<mml:mo>-</mml:mo>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mi/>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>According to the relationship between the displacement of the midpoint of the line connecting the centers of the two wheels and the wheel rotation, the equation can be obtained:</p>
<disp-formula id="S2.Ex3">
<label>(8)</label>
<mml:math id="M8">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>L</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>R</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>r</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>b</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03B8;</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mi>L</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03B8;</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mi>R</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>+</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>b</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>w</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03B8;</mml:mi>
<mml:mo>&#x00A8;</mml:mo>
</mml:mover>
<mml:mi>L</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03B8;</mml:mi>
<mml:mo>&#x00A8;</mml:mo>
</mml:mover>
<mml:mi>R</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</disp-formula>
<p>According to the balance relationship between force and moment, follows is got:</p>
<disp-formula id="S2.E9">
<label>(9)</label>
<mml:math id="M9">
<mml:mtable displaystyle="true" rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>L</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>R</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mi>cos</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
</mml:mrow>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x00A8;</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
<mml:mo>&#x00A8;</mml:mo>
</mml:mover>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mi>cos</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mi>sin</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>+</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mi>L</mml:mi>
<mml:mi>sin</mml:mi>
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mo>-</mml:mo>
<mml:mi>g</mml:mi>
<mml:mo>+</mml:mo>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
<mml:mo>&#x00A8;</mml:mo>
</mml:mover>
<mml:mi>L</mml:mi>
<mml:mi>sin</mml:mi>
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
<mml:mo>+</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msup>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mi>L</mml:mi>
<mml:mi>cos</mml:mi>
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>-</mml:mo>
<mml:mi>b</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03B8;</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mi>L</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03B8;</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mi>R</mml:mi>
</mml:msub>
<mml:mo>)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>b</mml:mi>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mo>=</mml:mo>
<mml:mi>I</mml:mi>
<mml:msub>
<mml:mi/>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
<mml:mo>&#x00A8;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
<p>Among them, assuming that there is no slippage between the wheels and the ground, then <italic>x</italic><sub><italic>L</italic></sub> = <italic>r</italic>&#x03B8;<sub><italic>L</italic></sub>, the relationship between the displacement of the midpoint of the line connecting the centers of the two wheels and the left and right wheel angles is: <italic>x</italic><sub><italic>b</italic></sub>=1/2(&#x03B8;<sub><italic>L</italic></sub> + &#x03B8;<sub><italic>R</italic></sub>). <italic>I<sub>w</sub></italic> is the moment of inertia of the wheel, <italic>F<sub>x</sub></italic> is the interaction force between the wheel and the body in the <italic>X</italic>-axis direction, <italic>F<sub>z</sub></italic> is the interaction force between the wheel and the body in the <italic>Y</italic>-axis direction, <italic>T<sub>L</sub></italic> and <italic>T<sub>R</sub></italic> are the output torques of the left and right wheel motors, respectively, <italic>T</italic><sub><italic>fL</italic></sub> and <italic>T</italic><sub><italic>fR</italic></sub> are the friction torque, <italic>b</italic> is the friction coefficient between the wheel and the rod, the support force between the wheel and the ground is <italic>F<sub>n</sub></italic>, and the friction force is <italic>F<sub>s</sub></italic>.</p>
<p>The top view of the robot is shown in <xref ref-type="fig" rid="F5">Figure 5</xref>, the <inline-formula><mml:math id="INEQ48"><mml:msub><mml:mover accent="true"><mml:mi>s</mml:mi><mml:mo>.</mml:mo></mml:mover><mml:mi>L</mml:mi></mml:msub></mml:math></inline-formula> and <inline-formula><mml:math id="INEQ49"><mml:msub><mml:mover accent="true"><mml:mi>s</mml:mi><mml:mo>.</mml:mo></mml:mover><mml:mi>R</mml:mi></mml:msub></mml:math></inline-formula> are the speeds of the left and right wheels in the X direction, respectively. Assuming that the moment of inertia of the robot around the vertical direction is <italic>I<sub>t</sub></italic>, the robot realizes differential turning when there is a differential speed between the two wheels. The turning dynamics equation is:</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption><p>Top view of the robot.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnbot-16-1066714-g005.tif"/>
</fig>
<disp-formula id="S2.E10">
<label>(10)</label>
<mml:math id="M10">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>w</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mi>r</mml:mi>
</mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>D</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>r</mml:mi>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>r</mml:mi>
</mml:mrow>
<mml:mi>D</mml:mi>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2062;</mml:mo>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03B1;</mml:mi>
<mml:mo>&#x00A8;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>L</mml:mi>
</mml:msub>
<mml:mo>-</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>R</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>The dynamic equations of the robot in the self-balancing mode can be sorted out as:</p>
<disp-formula id="S2.E11">
<label>(11)</label>
<mml:math id="M11">
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mtable displaystyle="true" rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>L</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>R</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x00A8;</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>r</mml:mi>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>r</mml:mi>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>w</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mn>2</mml:mn>
<mml:mi>r</mml:mi>
</mml:mfrac>
</mml:mstyle>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>-</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>r</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
<mml:mo>&#x00A8;</mml:mo>
</mml:mover>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mi>cos</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
</mml:mrow>
</mml:mrow>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mi>sin</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>b</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:msub>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>_</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mi>r</mml:mi>
</mml:mfrac>
</mml:mstyle>
<mml:mo>+</mml:mo>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x00A8;</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>M</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mi>cos</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
</mml:mrow>
</mml:mrow>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>g</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mi>sin</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
<mml:mo>&#x00A8;</mml:mo>
</mml:mover>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:msup>
<mml:mi>L</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mo>-</mml:mo>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>-</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mi>r</mml:mi>
</mml:mfrac>
</mml:mstyle>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>b</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>L</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>R</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>w</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mi>r</mml:mi>
</mml:mfrac>
</mml:mstyle>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>D</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>r</mml:mi>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>r</mml:mi>
</mml:mrow>
<mml:mi>D</mml:mi>
</mml:mfrac>
</mml:mstyle>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2062;</mml:mo>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03B1;</mml:mi>
<mml:mo>&#x00A8;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>L</mml:mi>
</mml:msub>
<mml:mo>-</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>R</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mi/>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Organize the dynamic equations into non-linear dynamic equations in state-space form:</p>
<disp-formula id="S2.E12">
<label>(12)</label>
<mml:math id="M12">
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mtable displaystyle="true" rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
<mml:mo>&#x00A8;</mml:mo>
</mml:mover>
<mml:mo>=</mml:mo>
<mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mtable rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathsize="142%">a</mml:mi>
<mml:mn mathsize="140%">21</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mi mathsize="142%">cos</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathsize="142%" mathvariant="normal">&#x03D5;</mml:mi>
</mml:mrow>
</mml:mrow>
<mml:mo mathsize="142%" stretchy="false">-</mml:mo>
<mml:msub>
<mml:mi mathsize="142%">a</mml:mi>
<mml:mn mathsize="140%">11</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathsize="142%">T</mml:mi>
<mml:mi mathsize="140%">L</mml:mi>
</mml:msub>
<mml:mo mathsize="142%" stretchy="false">+</mml:mo>
<mml:msub>
<mml:mi mathsize="142%">T</mml:mi>
<mml:mi mathsize="140%">R</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo mathsize="142%" stretchy="false">+</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathsize="142%">a</mml:mi>
<mml:mn mathsize="140%">11</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi mathsize="142%">a</mml:mi>
<mml:mn mathsize="140%">24</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo mathsize="142%" stretchy="false">-</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathsize="142%">a</mml:mi>
<mml:mn mathsize="140%">15</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi mathsize="142%">a</mml:mi>
<mml:mn mathsize="140%">21</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mi mathsize="142%">cos</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathsize="142%" mathvariant="normal">&#x03D5;</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathsize="142%">x</mml:mi>
<mml:mo mathsize="142%" stretchy="false">.</mml:mo>
</mml:mover>
<mml:mi mathsize="140%">b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo mathsize="142%" stretchy="false">-</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathsize="142%">a</mml:mi>
<mml:mn mathsize="140%">14</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi mathsize="142%">a</mml:mi>
<mml:mn mathsize="140%">21</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo mathsize="142%" stretchy="false">+</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathsize="142%">a</mml:mi>
<mml:mn mathsize="140%">11</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi mathsize="142%">a</mml:mi>
<mml:mn mathsize="140%">25</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2062;</mml:mo>
<mml:mover accent="true">
<mml:mi mathsize="142%" mathvariant="normal">&#x03D5;</mml:mi>
<mml:mo mathsize="142%" stretchy="false">.</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mrow>
<mml:mrow>
<mml:mo mathsize="142%" stretchy="false">+</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathsize="142%">a</mml:mi>
<mml:mn mathsize="140%">13</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi mathsize="142%">a</mml:mi>
<mml:mn mathsize="140%">21</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msup>
<mml:mover accent="true">
<mml:mi mathsize="142%" mathvariant="normal">&#x03D5;</mml:mi>
<mml:mo mathsize="142%" stretchy="false">.</mml:mo>
</mml:mover>
<mml:mn mathsize="140%">2</mml:mn>
</mml:msup>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mi mathsize="142%">sin</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathsize="142%" mathvariant="normal">&#x03D5;</mml:mi>
</mml:mrow>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mi mathsize="142%">cos</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathsize="142%" mathvariant="normal">&#x03D5;</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo mathsize="142%" stretchy="false">+</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathsize="142%">a</mml:mi>
<mml:mn mathsize="140%">11</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi mathsize="142%">a</mml:mi>
<mml:mn mathsize="140%">22</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mi mathsize="142%">sin</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathsize="142%" mathvariant="normal">&#x03D5;</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathsize="142%">a</mml:mi>
<mml:mn mathsize="140%">11</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi mathsize="142%">a</mml:mi>
<mml:mn mathsize="140%">23</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo mathsize="142%" stretchy="false">+</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathsize="142%">a</mml:mi>
<mml:mn mathsize="140%">12</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi mathsize="142%">a</mml:mi>
<mml:mn mathsize="140%">21</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathsize="142%">cos</mml:mi>
<mml:mn mathsize="140%">2</mml:mn>
</mml:msup>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathsize="142%" mathvariant="normal">&#x03D5;</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x00A8;</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mtable rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mrow>
<mml:mrow>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>23</mml:mn>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>12</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mi>cos</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>L</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>R</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>13</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>23</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msup>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mi>sin</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
</mml:mrow>
</mml:mrow>
<mml:mo>+</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>14</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>23</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>12</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>25</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mi>cos</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2062;</mml:mo>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mrow>
<mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>15</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>23</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>12</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>24</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mi>cos</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>12</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>22</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mi>sin</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
</mml:mrow>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mi>cos</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>11</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>23</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>12</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>21</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>cos</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03B1;</mml:mi>
<mml:mo>&#x00A8;</mml:mo>
</mml:mover>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>L</mml:mi>
</mml:msub>
<mml:mo>-</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>R</mml:mi>
</mml:msub>
</mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>31</mml:mn>
</mml:msub>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mi/>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Where, <inline-formula><mml:math id="INEQ50"><mml:mrow><mml:mpadded width="+3.3pt"><mml:msub><mml:mi>a</mml:mi><mml:mn>11</mml:mn></mml:msub></mml:mpadded><mml:mo rspace="5.8pt">=</mml:mo><mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mo>&#x2062;</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mi>b</mml:mi></mml:msub><mml:mo>&#x2062;</mml:mo><mml:mi>r</mml:mi></mml:mrow><mml:mo>+</mml:mo><mml:mrow><mml:mi>M</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>r</mml:mi></mml:mrow><mml:mo>+</mml:mo><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:mo>&#x2062;</mml:mo><mml:msub><mml:mi>I</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow><mml:mi>r</mml:mi></mml:mfrac></mml:mrow></mml:mrow></mml:math></inline-formula>, <italic>a</italic><sub>12</sub> = <italic>MLr</italic>, <italic>a</italic><sub>13</sub> = <italic>Mr</italic>, <italic>a</italic><sub>14</sub> = 2<italic>b</italic>, <inline-formula><mml:math id="INEQ54"><mml:mrow><mml:mpadded width="+3.3pt"><mml:msub><mml:mi>a</mml:mi><mml:mn>15</mml:mn></mml:msub></mml:mpadded><mml:mo rspace="5.8pt">=</mml:mo><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:mo>&#x2062;</mml:mo><mml:mi>b</mml:mi></mml:mrow><mml:mi>r</mml:mi></mml:mfrac></mml:mrow></mml:math></inline-formula>, <italic>a</italic><sub>21</sub> = <italic>ML</italic>, <italic>a</italic><sub>22</sub> = <italic>Mgl</italic>, <italic>a</italic><sub>23</sub> = <italic>ML</italic><sup>2</sup>&#x2212;<italic>I</italic><sub><italic>b</italic></sub>, <inline-formula><mml:math id="INEQ58"><mml:mrow><mml:mpadded width="+3.3pt"><mml:msub><mml:mi>a</mml:mi><mml:mn>24</mml:mn></mml:msub></mml:mpadded><mml:mo rspace="5.8pt">=</mml:mo><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:mo>&#x2062;</mml:mo><mml:mi>b</mml:mi></mml:mrow><mml:mi>r</mml:mi></mml:mfrac></mml:mrow></mml:math></inline-formula>, <italic>a</italic><sub>25</sub> = 2<italic>b</italic>, <inline-formula><mml:math id="INEQ60"><mml:mrow><mml:mpadded width="+3.3pt"><mml:msub><mml:mi>a</mml:mi><mml:mn>31</mml:mn></mml:msub></mml:mpadded><mml:mo rspace="5.8pt">=</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:mi>D</mml:mi><mml:mo>&#x2062;</mml:mo><mml:msub><mml:mi>I</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow><mml:mi>r</mml:mi></mml:mfrac><mml:mo>+</mml:mo><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mi>b</mml:mi></mml:msub><mml:mo>&#x2062;</mml:mo><mml:mi>D</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>r</mml:mi></mml:mrow><mml:mo>+</mml:mo><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:mo>&#x2062;</mml:mo><mml:msub><mml:mi>I</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>&#x2062;</mml:mo><mml:mi>r</mml:mi></mml:mrow><mml:mi>D</mml:mi></mml:mfrac></mml:mrow></mml:mrow></mml:math></inline-formula>.</p>
<p>For the dynamic equation of the robot in the self-balancing mode, take <inline-formula><mml:math id="INEQ61"><mml:mrow><mml:mpadded width="+3.3pt"><mml:mi>X</mml:mi></mml:mpadded><mml:mo rspace="5.8pt">=</mml:mo><mml:msup><mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>b</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mover accent="true"><mml:mi>x</mml:mi><mml:mo>.</mml:mo></mml:mover><mml:mi>b</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mi mathvariant="normal">&#x03D5;</mml:mi><mml:mo>,</mml:mo><mml:mover accent="true"><mml:mi mathvariant="normal">&#x03D5;</mml:mi><mml:mo>.</mml:mo></mml:mover><mml:mo>,</mml:mo><mml:mi mathvariant="normal">&#x03B1;</mml:mi><mml:mo>,</mml:mo><mml:mover accent="true"><mml:mi mathvariant="normal">&#x03B1;</mml:mi><mml:mo>.</mml:mo></mml:mover><mml:mo stretchy="false">]</mml:mo></mml:mrow><mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> as the system state variable and <italic>u</italic> = [<italic>T</italic><sub><italic>L</italic></sub>,<italic>T</italic><sub><italic>R</italic></sub>]<sup><italic>T</italic></sup> as the system input variable for linearization. Assuming that the robot is near the equilibrium position, there is &#x03D5; &#x2248; 0, <inline-formula><mml:math id="INEQ64"><mml:mrow><mml:mover accent="true"><mml:mi mathvariant="normal">&#x03D5;</mml:mi><mml:mo>.</mml:mo></mml:mover><mml:mo>&#x2248;</mml:mo><mml:mn>0</mml:mn></mml:mrow></mml:math></inline-formula>, which is brought into the non-linear dynamic equation to obtain the linearization of the system. Equation of state:</p>
<disp-formula id="S2.E13">
<label>(13)</label>
<mml:math id="M13">
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mtable displaystyle="true" rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="left">
<mml:msub>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:msub>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x00A8;</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
<mml:mo>&#x00A8;</mml:mo>
</mml:mover>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03B1;</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03B1;</mml:mi>
<mml:mo>&#x00A8;</mml:mo>
</mml:mover>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mtable columnspacing="5pt" displaystyle="true" rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>1</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mtable columnspacing="5pt" displaystyle="true">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mtable columnspacing="5pt" displaystyle="true">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mn>22</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mn>23</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mtable columnspacing="5pt" displaystyle="true">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mtable columnspacing="5pt" displaystyle="true">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mtable columnspacing="5pt" displaystyle="true">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>1</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mtable columnspacing="5pt" displaystyle="true">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mtable displaystyle="true" rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mtable displaystyle="true" rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mn>42</mml:mn>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mtable displaystyle="true" rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mn>43</mml:mn>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mtable columnspacing="5pt" displaystyle="true">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mtable displaystyle="true" rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mtable displaystyle="true" rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mtable columnspacing="5pt" displaystyle="true">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mtable columnspacing="5pt" displaystyle="true">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>1</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mtable columnspacing="5pt" displaystyle="true">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mo>]</mml:mo>
<mml:mtext>&#x2009;&#x2009;</mml:mtext>
</mml:mrow>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mtable displaystyle="true" rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="left">
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:msub>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mi mathvariant="normal">&#x03B1;</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03B1;</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mtable columnspacing="5pt" displaystyle="true" rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mn>4</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mn>4</mml:mn>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mn>6</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mrow>
<mml:mo>-</mml:mo>
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mn>6</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mo>]</mml:mo>
<mml:mtext>&#x2009;&#x2009;</mml:mtext>
</mml:mrow>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mtable displaystyle="true" rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>L</mml:mi>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>R</mml:mi>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Among them,</p>
<disp-formula id="S2.Ex4">
<mml:math id="M14">
<mml:mtable displaystyle="true" rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mi mathvariant="normal">&#x0394;</mml:mi>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi>r</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2062;</mml:mo>
<mml:msup>
<mml:mi>M</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2062;</mml:mo>
<mml:msup>
<mml:mi>L</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>M</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:msup>
<mml:mi>L</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mrow>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>M</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:msup>
<mml:mi>L</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>w</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mrow>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>w</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mn>22</mml:mn>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>M</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:msup>
<mml:mi>L</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>r</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>/</mml:mo>
<mml:mi mathvariant="normal">&#x0394;</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mn>23</mml:mn>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi>M</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>g</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:msup>
<mml:mi>L</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2062;</mml:mo>
<mml:msup>
<mml:mi>r</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mo>/</mml:mo>
<mml:mi mathvariant="normal">&#x0394;</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mn>42</mml:mn>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>b</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>r</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>M</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>b</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>r</mml:mi>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>b</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>w</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>/</mml:mo>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:mrow>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>M</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>b</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>/</mml:mo>
<mml:mi mathvariant="normal">&#x0394;</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mn>43</mml:mn>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>M</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>g</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:msup>
<mml:mi>r</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>M</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>g</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:msup>
<mml:mi>r</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>w</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>M</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>g</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>/</mml:mo>
<mml:mi mathvariant="normal">&#x0394;</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:msup>
<mml:mi>L</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:mrow>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:msup>
<mml:mi>r</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>/</mml:mo>
<mml:mi mathvariant="normal">&#x0394;</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mn>4</mml:mn>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msup>
<mml:mi>r</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mrow>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:msup>
<mml:mi>r</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>w</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>/</mml:mo>
<mml:mi mathvariant="normal">&#x0394;</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mn>6</mml:mn>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>r</mml:mi>
</mml:mrow>
<mml:mo>/</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi>D</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>w</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msup>
<mml:mi>D</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2062;</mml:mo>
<mml:msup>
<mml:mi>r</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msup>
<mml:mi>r</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
<p>The linear system is decoupled into a separate balance subsystem and steering subsystem, and the straight-running torque <italic>T</italic><sub>&#x03D5;</sub> and the steering torque <italic>T</italic><sub>&#x03C9;</sub> of the robot are, respectively, input. The relationship between the left and right wheel torques and <italic>T</italic><sub>&#x03D5;</sub> and <italic>T</italic><sub>&#x03C9;</sub> is expressed as a matrix:</p>
<disp-formula id="S2.E14">
<label>(14)</label>
<mml:math id="M15">
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mtable displaystyle="true" rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="left">
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>L</mml:mi>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>R</mml:mi>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mtable columnspacing="5pt" displaystyle="true" rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0.5</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0.5</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0.5</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0.5</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mtable displaystyle="true" rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="left">
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi mathvariant="normal">&#x03C9;</mml:mi>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Then the state space equations of the equilibrium system and the steering system are:</p>
<disp-formula id="S2.E15">
<label>(15)</label>
<mml:math id="M16">
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>X</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>X</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi mathvariant="normal">&#x03C9;</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Where,</p>
<disp-formula id="S2.Ex5">
<label>(16)</label>
<mml:math id="M17">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mtable rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="left">
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:msub>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo rspace="4.2pt">,</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mtable columnspacing="5pt" rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>1</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>1</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mn>22</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mn>23</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>1</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mn>42</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mn>43</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo rspace="4.2pt">,</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mtable rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mn>4</mml:mn>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mtable rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mi mathvariant="normal">&#x03B1;</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03B1;</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mtable columnspacing="5pt" rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>1</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mtable rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mn>6</mml:mn>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
</sec>
<sec id="S2.SS2.SSS2">
<title>Jump phase dynamic modeling</title>
<p>The inertia tensor of the robot is calculated by Adams software. The coordinate origin of the inertia tensor is the center of mass of each rod. The jumping action of the robot is analyzed on the <italic>XOZ</italic> plane of the base coordinate system. The rotation axis of the rod is the <italic>Z</italic> axis of the corresponding joint coordinate system. In order to simplify the calculation of the inertia tensor, let the coordinate system with the center of mass of each rod as the origin of the inertia tensor coincide with the three inertia axes of the rod, and according to the parallel shift axis theorem, the change of the rotation axis of the connecting rod only changes the size of the moment of inertia in the inertia tensor, so the inertia tensor can be easily calculated using Adams software.</p>
<p>In this paper, the Lagrangian equation is used to establish the dynamic model of the wheel-legged robot, and &#x03B8;<sub>3</sub> is used as the generalized coordinate, and the Lagrangian equation is applied to the process of the robot&#x2019;s take-off phase. The kinetic energy <italic>K</italic> and potential energy <italic>V</italic> of the system are:</p>
<disp-formula id="S2.E17">
<label>(17)</label>
<mml:math id="M18">
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mtable displaystyle="true" rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn>
</mml:mfrac>
</mml:mstyle>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>X</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mi>B</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn>
</mml:mfrac>
</mml:mstyle>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>X</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>Z</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn>
</mml:mfrac>
</mml:mstyle>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>c1</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03B8;</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn>
</mml:mfrac>
</mml:mstyle>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>X</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>Z</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn>
</mml:mfrac>
</mml:mstyle>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>c2</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03B8;</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03B8;</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn>
</mml:mfrac>
</mml:mstyle>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>X</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>Z</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mn>4</mml:mn>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn>
</mml:mfrac>
</mml:mstyle>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>X</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>4</mml:mn>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>Z</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>4</mml:mn>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn>
</mml:mfrac>
</mml:mstyle>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>c4</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03B8;</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03B8;</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03B8;</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03B8;</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mn>4</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mn>5</mml:mn>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn>
</mml:mfrac>
</mml:mstyle>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>5</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>X</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>5</mml:mn>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>Z</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>5</mml:mn>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn>
</mml:mfrac>
</mml:mstyle>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>c5</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03B8;</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mn>3</mml:mn>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mi/>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="S2.Ex6">
<label>(18)</label>
<mml:math id="M19">
<mml:mrow>
<mml:mi>V</mml:mi>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>g</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>Z</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>g</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>Z</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>g</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>Z</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>g</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>Z</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>+</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>5</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>g</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>Z</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>5</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>g</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>Z</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="S2.E19">
<label>(19)</label>
<mml:math id="M20">
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mn>4</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mn>5</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mrow>
<mml:mo>-</mml:mo>
<mml:mi>V</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Where, <italic>L</italic> is the Lagrangian, which represents the difference in value between the kinetic energy <italic>K</italic> and potential energy <italic>V</italic> of the robot.</p>
<p>The hip joint motor torque <inline-formula><mml:math id="INEQ68"><mml:mrow><mml:mpadded width="+3.3pt"><mml:mi mathvariant="normal">&#x03C4;</mml:mi></mml:mpadded><mml:mo rspace="5.8pt">=</mml:mo><mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mrow><mml:mrow><mml:mfrac><mml:mi>d</mml:mi><mml:mrow><mml:mi>d</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfrac><mml:mo>&#x2062;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mfrac><mml:mrow><mml:mo>&#x2202;</mml:mo><mml:mo>&#x2061;</mml:mo><mml:mi>K</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2202;</mml:mo><mml:mo>&#x2061;</mml:mo><mml:msub><mml:mover accent="true"><mml:mi mathvariant="normal">&#x03B8;</mml:mi><mml:mo>_</mml:mo></mml:mover><mml:mn>3</mml:mn></mml:msub></mml:mrow></mml:mfrac><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>-</mml:mo><mml:mfrac><mml:mrow><mml:mo>&#x2202;</mml:mo><mml:mo>&#x2061;</mml:mo><mml:mi>K</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2202;</mml:mo><mml:mo>&#x2061;</mml:mo><mml:msub><mml:mi mathvariant="normal">&#x03B8;</mml:mi><mml:mn>3</mml:mn></mml:msub></mml:mrow></mml:mfrac></mml:mrow><mml:mo>+</mml:mo><mml:mfrac><mml:mrow><mml:mo>&#x2202;</mml:mo><mml:mo>&#x2061;</mml:mo><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2202;</mml:mo><mml:mo>&#x2061;</mml:mo><mml:msub><mml:mi mathvariant="normal">&#x03B8;</mml:mi><mml:mn>3</mml:mn></mml:msub></mml:mrow></mml:mfrac></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>/</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:mrow></mml:math></inline-formula> is obtained, and the hip joint space dynamics state space equation of the robot is sorted out as:</p>
<disp-formula id="S2.E20">
<label>(20)</label>
<mml:math id="M21">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>q</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2062;</mml:mo>
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>&#x00A8;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mi>V</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>q</mml:mi>
<mml:mo>,</mml:mo>
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>q</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="normal">&#x03C4;</mml:mi>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Where, <italic>M</italic>(<italic>q</italic>) is the inertia matrix of the robot, <inline-formula><mml:math id="INEQ70"><mml:mrow><mml:mi>V</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>q</mml:mi><mml:mo>,</mml:mo><mml:mover accent="true"><mml:mi>q</mml:mi><mml:mo>.</mml:mo></mml:mover><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> is the centrifugal and Coriolis matrix, and <italic>G</italic>(<italic>q</italic>) is the gravity compensation vector.</p>
</sec>
</sec>
</sec>
<sec id="S3">
<title>Analysis of obstacle crossing conditions</title>
<p>The robot&#x2019;s ability to overcome obstacles is mainly affected by its own structure and road conditions. The wheel movement mode of the wheel-legged robot proposed in this paper is mainly used for smooth road movement, and the wheel-leg mode is used to pass the rough road with obstacles. In the following, the obstacle crossing analysis is carried out, respectively, for the cases that the obstacle height is lower than the wheel radius and the obstacle height is higher than the wheel radius in the wheel-leg mode.</p>
<sec id="S3.SS1">
<title>Wheeled obstacle crossing analysis</title>
<p>When the height of the obstacle is less than the radius of the wheel, the analysis is performed at the initial stage of the robot crossing the obstacle. At the beginning of obstacle crossing, keep the center of mass of the robot and the center of rotation of the wheel on the same vertical line, and perform force analysis on it.</p>
<p><xref ref-type="fig" rid="F6">Figure 6</xref> shows the robot cross over the obstacle in wheel-leg mode, at the beginning of obstacle crossing, the robot is balanced by the forces and moments between the ground and the wheels and between the obstacles and the wheels. The balance formula of the robot&#x2019;s two legs over obstacle is shown in Equation (21):</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption><p>Wheel over obstacles in wheel-leg mode: <bold>(A)</bold> Cross obstacle on two legs; <bold>(B)</bold> Cross obstacle on one leg.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnbot-16-1066714-g006.tif"/>
</fig>
<disp-formula id="S3.E21">
<label>(21)</label>
<mml:math id="M22">
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mtable displaystyle="true" rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>r</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mi>cos</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="normal">&#x03B1;</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>r</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mi>cos</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="normal">&#x03B1;</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mi>cos</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="normal">&#x03B1;</mml:mi>
</mml:mrow>
</mml:mrow>
<mml:mo>-</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mi>sin</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="normal">&#x03B1;</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mo>-</mml:mo>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mi>sin</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="normal">&#x03B1;</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mi/>
</mml:mrow>
</mml:math>
</disp-formula>
<p>In Equation (21), <italic>M<sub>w</sub></italic> is the torque of the wheel motor, <italic>G</italic> is its own gravity, <italic>F</italic><sub><italic>N1</italic></sub> is the support force of the ground facing the wheel, <italic>F</italic><sub><italic>N2</italic></sub> is the support force of the obstacle contact point to the wheel, <italic>f<sub>1</sub></italic> is the friction force of the ground facing the wheel, and <italic>f<sub>2</sub></italic> is the frictional force on the wheel at the contact point of the obstacle, &#x03B1; is the angle between the supporting force of the contact point between the wheel and the obstacle and the ground, <italic>h</italic> is the height between the contact point of the obstacle and the ground, and <italic>r</italic> is the radius of the wheel.</p>
<p>The balance formula of the robot&#x2019;s one leg over obstacle is shown in Equation (22):</p>
<disp-formula id="S3.E22">
<label>(22)</label>
<mml:math id="M23">
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mtable displaystyle="true" rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>w</mml:mi>
</mml:msub>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>r</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mi>cos</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="normal">&#x03B1;</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>r</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mrow>
<mml:mi>cos</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="normal">&#x03B1;</mml:mi>
</mml:mrow>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mi>h</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>r</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mi>cos</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="normal">&#x03B1;</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mrow>
<mml:mi>cos</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="normal">&#x03B1;</mml:mi>
</mml:mrow>
</mml:mrow>
<mml:mo>-</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mi>sin</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="normal">&#x03B1;</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mo>-</mml:mo>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mrow>
<mml:mi>sin</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="normal">&#x03B1;</mml:mi>
</mml:mrow>
</mml:mrow>
<mml:mo>-</mml:mo>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mi>h</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mi/>
</mml:mrow>
</mml:math>
</disp-formula>
<p>In Equation (22), <italic>M<sub>h</sub></italic> and <italic>F<sub>h</sub></italic> are, respectively, the torque of the hip motor in the adaptive contraction state of the robot when crossing the obstacle with one leg, and the force transmitted by the torque of the hip motor to the wheel through the connecting rod of the wheel leg. The meanings of other parameters are consistent with Equation (21).</p>
<p>In Equations (21, 22), <italic>f</italic><sub>1</sub>=&#x03BC;<italic>F</italic><sub><italic>N</italic>1</sub>, <italic>f</italic><sub>2</sub>=&#x03BC;<italic>F</italic><sub><italic>N</italic>2</sub>, <inline-formula><mml:math id="INEQ74"><mml:mrow><mml:mpadded width="+3.3pt"><mml:mi mathvariant="normal">&#x03B1;</mml:mi></mml:mpadded><mml:mo rspace="5.8pt">=</mml:mo><mml:mrow><mml:mi>a</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>r</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>c</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>s</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>n</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mfrac><mml:mrow><mml:mi>r</mml:mi><mml:mo>-</mml:mo><mml:mi>h</mml:mi></mml:mrow><mml:mi>r</mml:mi></mml:mfrac></mml:mrow></mml:mrow></mml:math></inline-formula>. When &#x03B1; &#x003E; 0, the wheel can advance over the obstacle by its own rotational motion driven by the motor.</p>
</sec>
<sec id="S3.SS2">
<title>Analysis of jumping over obstacles</title>
<p>In the analysis of the robot jumping over obstacles, due to the symmetric design of the robot, the center of mass in the process of movement can be kept only in the <italic>X</italic> and <italic>Z</italic> direction displacement in the world coordinate system, and the jumping process is analyzed according to the plane robot analysis method. Assume that the take-off phase time of the robot is [<italic>t</italic><sub>0</sub>,<italic>t</italic><sub>1</sub>) and the flight phase time is [<italic>t</italic><sub>1</sub>,<italic>t</italic><sub>4</sub>). If the robot wants to jump off the ground after energy storage, it needs to meet the following conditions:</p>
<disp-formula id="S3.E23">
<label>(23)</label>
<mml:math id="M24">
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mtable displaystyle="true" rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>Z</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:mo>&gt;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>Z</mml:mi>
<mml:mo>&#x00A8;</mml:mo>
</mml:mover>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>-</mml:mo>
<mml:mi>g</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mi/>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Therefore, the following conditions should be met in the take-off phase time [<italic>t</italic><sub>0</sub>,<italic>t</italic><sub>1</sub>):</p>
<disp-formula id="S3.E24">
<label>(24)</label>
<mml:math id="M25">
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mtable displaystyle="true" rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>X</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>X</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2265;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>Z</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>Z</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2265;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>Z</mml:mi>
<mml:mo>&#x00A8;</mml:mo>
</mml:mover>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>&#x2265;</mml:mo>
<mml:mrow>
<mml:mo>-</mml:mo>
<mml:mi>g</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mi/>
</mml:mrow>
</mml:math>
</disp-formula>
<p>When the speed of the robot in the horizontal and vertical directions is greater than zero, it will make an oblique throw motion with only the initial speed in the flight phase. It is assumed that the robot makes uniform linear motion in the horizontal direction before jumping, and the velocity of the center of mass in the horizontal and vertical directions is <italic>v<sub>x</sub></italic> and <italic>v<sub>y</sub></italic>, respectively. Then, the robot&#x2019;s flight time is <inline-formula><mml:math id="INEQ79"><mml:mrow><mml:mpadded width="+3.3pt"><mml:mi>t</mml:mi></mml:mpadded><mml:mo rspace="5.8pt">=</mml:mo><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:mo>&#x2062;</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>y</mml:mi></mml:msub></mml:mrow><mml:mi>g</mml:mi></mml:mfrac></mml:mrow></mml:math></inline-formula>, the highest jumping height is <inline-formula><mml:math id="INEQ80"><mml:mrow><mml:mpadded width="+3.3pt"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>a</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:msub></mml:mpadded><mml:mo rspace="5.8pt">=</mml:mo><mml:mfrac><mml:msubsup><mml:mi>v</mml:mi><mml:mi>y</mml:mi><mml:mn>2</mml:mn></mml:msubsup><mml:mrow><mml:mn>2</mml:mn><mml:mo>&#x2062;</mml:mo><mml:mi>g</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:math></inline-formula>, and the horizontal displacement distance is <inline-formula><mml:math id="INEQ81"><mml:mrow><mml:mpadded width="+3.3pt"><mml:mi>S</mml:mi></mml:mpadded><mml:mo rspace="5.8pt">=</mml:mo><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:mo>&#x2062;</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>&#x2062;</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>y</mml:mi></mml:msub></mml:mrow><mml:mi>g</mml:mi></mml:mfrac></mml:mrow></mml:math></inline-formula>.</p>
<p>The obstacle crossing process is shown in <xref ref-type="fig" rid="F7">Figure 7</xref>, it&#x2019;s required that when the horizontal displacement is <italic>S</italic><sub><italic>t</italic>2</sub> = <italic>D</italic><sub>1</sub>, the jump height <italic>H</italic><sub><italic>t</italic>2</sub> &#x003E; <italic>H</italic><sub><italic>o</italic></sub>. When the horizontal displacement is <italic>S</italic><sub><italic>t</italic>3</sub> = <italic>D</italic><sub>1</sub> + <italic>D</italic><sub><italic>o</italic></sub>, the jump height <italic>H</italic><sub><italic>t</italic>3</sub> &#x003E; <italic>H</italic><sub><italic>o</italic></sub>. Then, the conditions under which the robot can overcome obstacles are:</p>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption><p>Schematic diagram of the robot over the obstacle.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnbot-16-1066714-g007.tif"/>
</fig>
<disp-formula id="S3.E25">
<label>(25)</label>
<mml:math id="M26">
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mtable displaystyle="true" rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:msubsup>
<mml:mi>V</mml:mi>
<mml:mi>y</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>g</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>&gt;</mml:mo>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>o</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&gt;</mml:mo>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mtext>o</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&gt;</mml:mo>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mtext>o</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mo>=</mml:mo>
<mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mi>x</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mi>y</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mi>g</mml:mi>
</mml:mfrac>
</mml:mstyle>
<mml:mo>&gt;</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>o</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mi/>
</mml:mrow>
</mml:math>
</disp-formula>
<p>When considering the robot perform jumps has higher request to the speed and acceleration, vertical direction of the robot center of mass in accordance with the planned five times polynomial interpolation method, the initial and the end of a robot position, velocity and acceleration, respectively, <italic>y</italic><sub><italic>init</italic></sub>, <italic>v</italic><sub><italic>init</italic></sub>, <italic>a</italic><sub><italic>init</italic></sub> and <italic>y</italic><sub><italic>end</italic></sub>, <italic>v</italic><sub><italic>end</italic></sub>, <italic>a</italic><sub><italic>end</italic></sub>, using the method of undetermined coefficients can get desired trajectory:</p>
<disp-formula id="S3.E26">
<label>(26)</label>
<mml:math id="M27">
<mml:mrow>
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mi>t</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msup>
<mml:mi>t</mml:mi>
<mml:mn>3</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>4</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msup>
<mml:mi>t</mml:mi>
<mml:mn>4</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>5</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msup>
<mml:mi>t</mml:mi>
<mml:mn>5</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Among them,</p>
<disp-formula id="S3.Ex7">
<mml:math id="M28">
<mml:mtable columnspacing="5pt" displaystyle="true" rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd/>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd/>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>/</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mrow>
</mml:mtd>
<mml:mtd/>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mn>20</mml:mn>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>-</mml:mo>
<mml:mn>20</mml:mn>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>8</mml:mn>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mn>12</mml:mn>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mn>4</mml:mn>
</mml:msub>
<mml:mo>-</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
<mml:mtd/>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mrow>
<mml:mo lspace="24.7pt" stretchy="false">(</mml:mo>
<mml:mn>3</mml:mn>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>-</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:msubsup>
<mml:mi>t</mml:mi>
<mml:mn>4</mml:mn>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo stretchy="false">]</mml:mo>
<mml:mo>/</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>t</mml:mi>
<mml:msub>
<mml:mi/>
<mml:mn>4</mml:mn>
</mml:msub>
<mml:msup>
<mml:mi/>
<mml:mn>3</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mtd>
<mml:mtd/>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>4</mml:mn>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mn>30</mml:mn>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>-</mml:mo>
<mml:mn>30</mml:mn>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>14</mml:mn>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mn>16</mml:mn>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mn>4</mml:mn>
</mml:msub>
<mml:mo>-</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
<mml:mtd/>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mrow>
<mml:mo lspace="24.7pt" stretchy="false">(</mml:mo>
<mml:mn>3</mml:mn>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>-</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:msubsup>
<mml:mi>t</mml:mi>
<mml:mn>4</mml:mn>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo stretchy="false">]</mml:mo>
<mml:mo>/</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>t</mml:mi>
<mml:msub>
<mml:mi/>
<mml:mn>4</mml:mn>
</mml:msub>
<mml:msup>
<mml:mi/>
<mml:mn>4</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mtd>
<mml:mtd/>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>5</mml:mn>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mn>12</mml:mn>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>-</mml:mo>
<mml:mn>12</mml:mn>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>6</mml:mn>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mn>6</mml:mn>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mn>4</mml:mn>
</mml:msub>
<mml:mo>-</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
<mml:mtd/>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mrow>
<mml:mo lspace="24.7pt" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>-</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:msubsup>
<mml:mi>t</mml:mi>
<mml:mn>4</mml:mn>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo stretchy="false">]</mml:mo>
<mml:mo>/</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>t</mml:mi>
<mml:msub>
<mml:mi/>
<mml:mn>4</mml:mn>
</mml:msub>
<mml:msup>
<mml:mi/>
<mml:mn>5</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mtd>
<mml:mtd/>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</sec>
</sec>
<sec id="S4">
<title>Robot control system</title>
<sec id="S4.SS1">
<title>Balance and speed control</title>
<p>In general, the wheel-leg movement mode of the robot proposed in this paper can be divided into two forms: wheel movement and jumping over obstacles, which are self-balancing mode and jumping mode, respectively. The robot can switch between the two modes to complete the task, and it is necessary to design controllers for the two motion modes, respectively. The balance and speed control of the robot are realized by the Linear Quadratic Regulator (LQR) method. The state equation of the linear time-invariant system is:</p>
<disp-formula id="S4.E27">
<label>(27)</label>
<mml:math id="M29">
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mi>B</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>u</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>For the balance system of the robot, the speed, tilt angle and tilt angle velocity are taken as the state variables, and the state variable is <inline-formula><mml:math id="INEQ86"><mml:mrow><mml:mpadded width="+3.3pt"><mml:mi>x</mml:mi></mml:mpadded><mml:mo rspace="5.8pt">=</mml:mo><mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:msub><mml:mover accent="true"><mml:mi>x</mml:mi><mml:mo>.</mml:mo></mml:mover><mml:mi>b</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mi mathvariant="normal">&#x03D5;</mml:mi><mml:mo>,</mml:mo><mml:mover accent="true"><mml:mi mathvariant="normal">&#x03D5;</mml:mi><mml:mo>.</mml:mo></mml:mover><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula>. Then the equilibrium system can be expressed as:</p>
<disp-formula id="S4.E28">
<label>(28)</label>
<mml:math id="M30">
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mtable displaystyle="true" rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="left">
<mml:msub>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x00A8;</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
<mml:mo>&#x00A8;</mml:mo>
</mml:mover>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mtable columnspacing="5pt" displaystyle="true" rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mn>22</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mn>23</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>1</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mn>42</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mn>43</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mtable displaystyle="true" rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mtable displaystyle="true" rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>If the robot takes <inline-formula><mml:math id="INEQ87"><mml:msub><mml:mover accent="true"><mml:mi>x</mml:mi><mml:mo>.</mml:mo></mml:mover><mml:mrow><mml:mi>r</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>e</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>f</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> as the reference speed and keeps balance, then <inline-formula><mml:math id="INEQ88"><mml:mrow><mml:mpadded width="+3.3pt"><mml:mover accent="true"><mml:mi mathvariant="normal">&#x03D5;</mml:mi><mml:mo>.</mml:mo></mml:mover></mml:mpadded><mml:mo rspace="5.8pt">=</mml:mo><mml:mn>0</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="INEQ89"><mml:mrow><mml:mpadded width="+3.3pt"><mml:mover accent="true"><mml:mi>x</mml:mi><mml:mo>.</mml:mo></mml:mover></mml:mpadded><mml:mo rspace="5.8pt">=</mml:mo><mml:msub><mml:mover accent="true"><mml:mi>x</mml:mi><mml:mo>.</mml:mo></mml:mover><mml:mrow><mml:mi>r</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>e</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>f</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>, the system stable state variable <inline-formula><mml:math id="INEQ90"><mml:mrow><mml:mpadded width="+3.3pt"><mml:msub><mml:mi>x</mml:mi><mml:mi>s</mml:mi></mml:msub></mml:mpadded><mml:mo rspace="5.8pt">=</mml:mo><mml:mrow><mml:mi>f</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mover accent="true"><mml:mi>x</mml:mi><mml:mo>.</mml:mo></mml:mover><mml:mrow><mml:mi>r</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>e</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>f</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mrow></mml:math></inline-formula>, the stability control input <inline-formula><mml:math id="INEQ91"><mml:mrow><mml:mpadded width="+3.3pt"><mml:msub><mml:mi>u</mml:mi><mml:mi>s</mml:mi></mml:msub></mml:mpadded><mml:mo rspace="5.8pt">=</mml:mo><mml:mrow><mml:mi>g</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mover accent="true"><mml:mi>x</mml:mi><mml:mo>.</mml:mo></mml:mover><mml:mrow><mml:mi>r</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>e</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>f</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mrow></mml:math></inline-formula>, take the new state variable &#x0394;<italic>x</italic> = <italic>x</italic>&#x2212;<italic>x</italic><sub><italic>s</italic></sub>, the new system input &#x0394;<italic>u</italic> = <italic>T</italic><sub>&#x03D5;</sub>&#x2212;<italic>u</italic><sub><italic>s</italic></sub>, then the new system state equation is:</p>
<disp-formula id="S4.E29">
<label>(29)</label>
<mml:math id="M31">
<mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">&#x0394;</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mtable columnspacing="5pt" displaystyle="true" rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mn>22</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mn>23</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>1</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mn>42</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mn>43</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>&#x2062;</mml:mo>
<mml:mi mathvariant="normal">&#x0394;</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mtable displaystyle="true" rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>&#x2062;</mml:mo>
<mml:mi mathvariant="normal">&#x0394;</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>u</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>The optimal control input is obtained as follows:</p>
<disp-formula id="S4.E30">
<label>(30)</label>
<mml:math id="M32">
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi mathvariant="normal">&#x0394;</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Where, <inline-formula><mml:math id="INEQ94"><mml:mrow><mml:mrow><mml:mi>f</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mover accent="true"><mml:mi>x</mml:mi><mml:mo>.</mml:mo></mml:mover><mml:mrow><mml:mi>r</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>e</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>f</mml:mi></mml:mrow></mml:msub><mml:mo rspace="5.8pt">)</mml:mo></mml:mrow></mml:mrow><mml:mo rspace="5.8pt">=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable rowspacing="0pt"><mml:mtr><mml:mtd columnalign="center"><mml:msub><mml:mover accent="true"><mml:mi>x</mml:mi><mml:mo>.</mml:mo></mml:mover><mml:mrow><mml:mi>r</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>e</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>f</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="center"><mml:mfrac><mml:mrow><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mn>22</mml:mn></mml:msub><mml:mo>&#x2062;</mml:mo><mml:msub><mml:mi>B</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow><mml:mo>-</mml:mo><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mn>42</mml:mn></mml:msub><mml:mo>&#x2062;</mml:mo><mml:msub><mml:mi>B</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mn>43</mml:mn></mml:msub><mml:mo>&#x2062;</mml:mo><mml:msub><mml:mi>B</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mo>-</mml:mo><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mn>23</mml:mn></mml:msub><mml:mo>&#x2062;</mml:mo><mml:msub><mml:mi>B</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mrow></mml:mfrac></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="center"><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="INEQ95"><mml:mrow><mml:mrow><mml:mi>g</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mover accent="true"><mml:mi>x</mml:mi><mml:mo>.</mml:mo></mml:mover><mml:mrow><mml:mi>r</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>e</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>f</mml:mi></mml:mrow></mml:msub><mml:mo rspace="5.8pt">)</mml:mo></mml:mrow></mml:mrow><mml:mo rspace="5.8pt">=</mml:mo><mml:mfrac><mml:mrow><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mn>42</mml:mn></mml:msub><mml:mo>&#x2062;</mml:mo><mml:msub><mml:mi>A</mml:mi><mml:mn>23</mml:mn></mml:msub></mml:mrow><mml:mo>-</mml:mo><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mn>22</mml:mn></mml:msub><mml:mo>&#x2062;</mml:mo><mml:msub><mml:mi>A</mml:mi><mml:mn>43</mml:mn></mml:msub></mml:mrow></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mn>43</mml:mn></mml:msub><mml:mo>&#x2062;</mml:mo><mml:msub><mml:mi>B</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mo>-</mml:mo><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mn>23</mml:mn></mml:msub><mml:mo>&#x2062;</mml:mo><mml:msub><mml:mi>B</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mrow></mml:mfrac></mml:mrow></mml:math></inline-formula>.</p>
</sec>
<sec id="S4.SS2">
<title>Jumping control</title>
<p>In this paper, the jump control of the robot adopts fuzzy Proportion Differentiation (PD) control. According to the dynamic equation of the jump stage obtained in the dynamic analysis:</p>
<disp-formula id="S4.E31">
<label>(31)</label>
<mml:math id="M33">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>q</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2062;</mml:mo>
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>&#x00A8;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:munder>
<mml:munder accentunder="true">
<mml:mrow>
<mml:mrow>
<mml:mi>V</mml:mi>
<mml:mo movablelimits="false">&#x2062;</mml:mo>
<mml:mrow>
<mml:mo movablelimits="false">(</mml:mo>
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo movablelimits="false">.</mml:mo>
</mml:mover>
<mml:mo movablelimits="false">,</mml:mo>
<mml:mi>q</mml:mi>
<mml:mo movablelimits="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo movablelimits="false">+</mml:mo>
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mo movablelimits="false">&#x2062;</mml:mo>
<mml:mrow>
<mml:mo movablelimits="false">(</mml:mo>
<mml:mi>q</mml:mi>
<mml:mo movablelimits="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo movablelimits="false">&#x23DF;</mml:mo>
</mml:munder>
<mml:mrow>
<mml:mi>H</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>_</mml:mo>
</mml:mover>
<mml:mo>,</mml:mo>
<mml:mi>q</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:munder>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="normal">&#x03C4;</mml:mi>
</mml:mrow>
</mml:math>
</disp-formula>
<p>The control scheme for calculating torque is set as:</p>
<disp-formula id="S4.E32">
<label>(32)</label>
<mml:math id="M34">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>q</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>&#x00A8;</mml:mo>
</mml:mover>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>p</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mover accent="true">
<mml:mi>e</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mi>V</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
<mml:mo>,</mml:mo>
<mml:mi>q</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2062;</mml:mo>
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>.</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>q</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="normal">&#x03C4;</mml:mi>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Where, <italic>e</italic> = <italic>q</italic><sub><italic>d</italic></sub>&#x2212;<italic>q</italic>, <inline-formula><mml:math id="INEQ97"><mml:mrow><mml:mpadded width="+3.3pt"><mml:mi>e</mml:mi></mml:mpadded><mml:mo rspace="5.8pt">=</mml:mo><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi>q</mml:mi><mml:mo>.</mml:mo></mml:mover><mml:mi>d</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:mover accent="true"><mml:mi>q</mml:mi><mml:mo>.</mml:mo></mml:mover></mml:mrow></mml:mrow></mml:math></inline-formula>, <italic>q<sub>d</sub></italic> and <italic>q</italic> are the ideal angle and the actual angle, respectively.</p>
<p>The fuzzy PD controller is designed to calculate the torque control, <italic>e</italic> and <inline-formula><mml:math id="INEQ98"><mml:mover accent="true"><mml:mi>e</mml:mi><mml:mo>.</mml:mo></mml:mover></mml:math></inline-formula> are taken as the input of the fuzzy controller. Mamdan rule is used for fuzzy inference, and min-max-center of gravity method is used for fuzzy resolution. The output is &#x0394;<italic>K</italic><sub><italic>p</italic></sub> and &#x0394;<italic>K</italic><sub><italic>d</italic></sub>, let the self-tuning parameters <italic>K</italic><sub><italic>p</italic></sub> = <italic>K</italic><sub><italic>p</italic>0</sub> + &#x0394;<italic>K</italic><sub><italic>p</italic></sub>, <italic>K</italic><sub><italic>d</italic></sub> = <italic>K</italic><sub><italic>d</italic>0</sub> + &#x0394;<italic>K</italic><sub><italic>d</italic></sub>. <italic>K</italic><sub><italic>p0</italic></sub> and <italic>K</italic><sub><italic>d0</italic></sub> are initial values, KP and KD are final values. The block diagram of the control scheme is shown in <xref ref-type="fig" rid="F8">Figure 8</xref>.</p>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption><p>Fuzzy Proportion Differentiation (PD) control block diagram.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnbot-16-1066714-g008.tif"/>
</fig>
<p>For the dynamic model of the robot in the take-off phase, assuming that the angle tracking command of the robot hip joint is <italic>q</italic><sub><italic>d</italic></sub>=2sin(&#x03C0;<italic>t</italic>)<italic>rad</italic>, the dynamic equation is written as s-function by the Simulink module in Matlab to test the simulation effect. Fuzzy PD control is used to design the control law, and the initial values of PD parameters are set as <italic>K</italic><sub><italic>p</italic>0</sub>=20 and <italic>K</italic><sub><italic>d</italic>0</sub>=20. The simulation results are shown in <xref ref-type="fig" rid="F9">Figure 9</xref>.</p>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption><p>Control effect of fuzzy PD controller.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnbot-16-1066714-g009.tif"/>
</fig>
<p>It can be seen that the joint angle tracking curve of the fuzzy PD controller is close to the expected tracking angle curve in <xref ref-type="fig" rid="F9">Figure 9</xref>, and has a fast response speed, no obvious overshoot, and has a good control effect.</p>
</sec>
</sec>
<sec id="S5">
<title>Simulation and experiment</title>
<sec id="S5.SS1">
<title>Simulation</title>
<p>The 3D model of the robot was imported into Adams simulation software, and the co-simulation of the self-balance and obstacle crossing of the robot is carried out by using Simulink module of Matlab. The hip motor rotates at different angles, which can adjust the height of the robot when standing. First, the simulation of the robot shifting from the wheel mode to the wheel-leg mode is carried out. When the hip motors rotate in wheel-leg mode, the robot switches to wheel movement mode, and then reverts to the original posture through motors reversals. The simulation process is shown in <xref ref-type="fig" rid="F10">Figure 10A</xref>. In order to realize the function of jumping over obstacles, the hip motors need to rotate with different steering to complete the contraction and extension of the wheel leg connecting rod, so as to storage and release the energy needed for jumping. Taking the single jump process of the robot as an example, its screenshot is shown in <xref ref-type="fig" rid="F10">Figure 10B</xref>. When the robot moves at a constant speed of 1 m/s, the robot reaches the highest jump height of 0.16 m at 0.8 s. The take-off phase of the robot is 0.5&#x2013;0.6 s, the flight phase is 0.6&#x2013;0.95 s, and the landing phase is 0.95&#x2013;1.2 s.</p>
<fig id="F10" position="float">
<label>FIGURE 10</label>
<caption><p>Screenshot of movement process: <bold>(A)</bold> Mode switching process diagram; <bold>(B)</bold> Jump process diagram.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnbot-16-1066714-g010.tif"/>
</fig>
<p>In the process of mode switching, the position and velocity change curve of the robot&#x2019;s center of mass in the vertical direction are shown in <xref ref-type="fig" rid="F11">Figure 11</xref>. It can be seen that the velocity change curve is smooth and continuous, which can ensure the stable mode switching. According to different expected jumping heights, the jumping trajectories of the robot are different. Jump simulation experiments are conducted for the expected heights <italic>H</italic><sub><italic>d</italic></sub>=0.16<italic>m</italic> and <italic>H</italic><sub><italic>d</italic></sub>=0.11<italic>m</italic>, and the longitudinal trajectories of the bottom of the robot wheel and the robot center of mass are obtained as shown in <xref ref-type="fig" rid="F12">Figure 12A</xref>. It can be seen from <xref ref-type="fig" rid="F12">Figure 12B</xref>, the motion of the robot after take-off is oblique throwing motion, and the planned motion wants to achieve a higher jumping height, so a larger longitudinal velocity is needed at the take-off point to prolong the time of flight. In the take-off phase, the wheel-leg linkage mechanisms successively contract and extend to realize the energy storage and release of the machine mechanisms. When the condition of leaving the ground is reached, the end of the robot&#x2019;s wheels leave the ground and enter the phase of flight. In the flight phase, the robot system is in the state of momentum conservation, so the method of contracting the wheel-legs to increase the jumping height causes the overall centroid velocity to fluctuate. In order to reduce the impact of landing, a method is used to keep the mechanism retraction until the wheels touch the ground. After the robot lands, the wheel-legs extend back to the position before the jump.</p>
<fig id="F11" position="float">
<label>FIGURE 11</label>
<caption><p>Position and velocity curve of state switching process.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnbot-16-1066714-g011.tif"/>
</fig>
<fig id="F12" position="float">
<label>FIGURE 12</label>
<caption><p>Jump process curve: <bold>(A)</bold> Position curve; <bold>(B)</bold> Vertical velocity curve.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnbot-16-1066714-g012.tif"/>
</fig>
<p>In <xref ref-type="fig" rid="F13">Figure 13</xref>, the curve of ground support reaction force on the wheel in the process of jumping is measured, and it&#x2019;s found that the support reaction force gradually increases in the take-off phase, reaches the maximum value at 0.6 s at the end of wheel-leg contraction, and decreases rapidly at the moment of take-off. When the wheels leave the ground, the support reaction force is 0. At the moment of landing, the support reaction force will change due to impact. The change of the support reaction force corresponds to the height above the ground in each stage of the robot jumping process, which verifies the feasibility of the jumping.</p>
<fig id="F13" position="float">
<label>FIGURE 13</label>
<caption><p>Ground support reaction force variation curve.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnbot-16-1066714-g013.tif"/>
</fig>
<p><xref ref-type="fig" rid="F14">Figure 14A</xref> shows the angle variation of each joint when the jump height is 0.16 m. Since the wheel-leg of the robot is a parallelogram linkage mechanism, <italic>q</italic><sub>4</sub> = <italic>q</italic><sub>5</sub>. Among them, the angles <italic>q<sub>2</sub></italic>, <italic>q<sub>3</sub></italic>, <italic>q<sub>4</sub></italic>, and <italic>q<sub>5</sub></italic> represent are the angle between Connecting rod 3 and Connecting rod 1, the angle between Connecting rod 3 and Connecting rod 2 at the hinge point, The angle between Connecting rod 2 and the motor rotation center and the Connecting rod 2 hinge, and the angle between Connecting rod 2 and Connecting rod 3. Robot hip motor torque curves is shown in <xref ref-type="fig" rid="F14">Figure 14B</xref>, it can be seen two hip motors&#x2019; output torques are basically consistent, the motors&#x2019; torques of the wheel-legs contraction in the take-off phase are shown in the curves from 0.5 to 0.6 s, which are the torques curves of the wheel-legs extension from 0.6 to 0.65 s, and the torque generated near 0.97 s is generated when the robot lands and touches the ground.</p>
<fig id="F14" position="float">
<label>FIGURE 14</label>
<caption><p>Curve change of jump process: <bold>(A)</bold> Curve of joint angle change; <bold>(B)</bold> Output torque diagram of motors.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnbot-16-1066714-g014.tif"/>
</fig>
<p>When the robot passes over the pavement with pothole (major diameter: 15 cm, minor diameter: 10 cm, depth: 5 cm) as shown in <xref ref-type="fig" rid="F15">Figure 15</xref>, the robot is required to keep moving smoothly. When the left leg of the robot passes over the pothole, the linkage mechanism of the right leg contracts to keep the axes of the motor rotation of the hip joint of the two legs coincide as much as possible. <xref ref-type="fig" rid="F16">Figure 16</xref> shows the height of the rotation axes of the left and right wheel-leg hip motors in this process. It can be seen that the axes of the two motors basically coincide. At time of 1.2 s, the deviation of the axis of the two legs is relatively large, but as a whole, the deviation is small, only about 2 mm. The robot can smoothly pass through the pothole terrain.</p>
<fig id="F15" position="float">
<label>FIGURE 15</label>
<caption><p>Schematic diagram of pits.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnbot-16-1066714-g015.tif"/>
</fig>
<fig id="F16" position="float">
<label>FIGURE 16</label>
<caption><p>Left and right motor location diagram.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnbot-16-1066714-g016.tif"/>
</fig>
<p>The following simulation experiments are done for the robot to cross the slope obstacle with one leg. The obstacle set by the simulation is about 6.5 cm in height and 65 cm in length. When the robot crosses the obstacle without adaptive contraction wheel-legs, the side view of the obstacle crossing process of the robot is shown in <xref ref-type="fig" rid="F17">Figure 17</xref>. In this case, crossing the obstacle may cause damage to the connecting rod structure of the robot wheel-leg or the motors of the hip joints. Therefore, when the vertical height of the contact between the left and right wheels and the ground is different, the wheel-leg linkage mechanism with relatively high vertical position of the contact point needs to be properly contracted to ensure the stability of the robot body. For this purpose, the one-leg obstacle crossing simulation experiment was carried out, and the whole process of obstacle crossing was captured, as shown in <xref ref-type="fig" rid="F18">Figure 18</xref>.</p>
<fig id="F17" position="float">
<label>FIGURE 17</label>
<caption><p>Obstacle crossing of wheel-leg without adaptive contraction.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnbot-16-1066714-g017.tif"/>
</fig>
<fig id="F18" position="float">
<label>FIGURE 18</label>
<caption><p>Process diagram of single-leg obstacle crossing.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnbot-16-1066714-g018.tif"/>
</fig>
<p><xref ref-type="fig" rid="F19">Figure 19A</xref> shows the height variation curve of the rotation axis of the left and right hip joint motors in the vertical direction. It can be seen from the figure that the left leg of the robot starts to cross the obstacle when it contacts the obstacle at about 2 s, and the robot starts to leave the obstacle at about 7.15 s. In the process of obstacle crossing, the highest position deviation of the motor axis of the hip joint of the two legs is generated at 7.9 s, and the maximum deviation between the motor position of the left leg and the motor position of the right leg is about 6.6 mm. It can be seen that in the whole process of obstacle crossing, the position height deviation of the two hip motors is low, and the performance of obstacle crossing is better. And because of gravity, the time for going up and down is different, and the time for going down is less than that for going up. <xref ref-type="fig" rid="F19">Figure 19B</xref> is the robot&#x2019;s left leg hip motor torque figure, can be seen from the figure when the robot starts uphill because access to the obstacles, will jump a torque value, and in the process of uphill, with the contraction of the wheel-leg, it gradually attenuates to the torque value of maintaining the motor position locking, and also produces a sudden torque when downhill.</p>
<fig id="F19" position="float">
<label>FIGURE 19</label>
<caption><p>Crossing the obstacle with one leg: <bold>(A)</bold> Diagram of motors&#x2019; locations; <bold>(B)</bold> Diagram of motors&#x2019; torques.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnbot-16-1066714-g019.tif"/>
</fig>
</sec>
<sec id="S5.SS2">
<title>Experimental verification</title>
<p>On the basis of simulation, in order to verify the feasibility of jumping over obstacles designed in this paper and the correctness of the simulation results, real robot tests are carried out. The experiments are based on the DDT robot platform of Direct Drive Technology Ltd. The total mass of the robot is about 30 kg, the height of the robot in the wheeled mode is about 21 cm, the length of the robot is about 35 cm, and the width is about 53 cm. The height of the robot can be adjusted under the wheel-leg mode. The robot moves in wheel mode and wheel-leg mode at different height of center of mass on flat ground, the motion posture is shown in <xref ref-type="fig" rid="F20">Figure 20</xref>.</p>
<fig id="F20" position="float">
<label>FIGURE 20</label>
<caption><p>Schematic diagram of different motion states.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnbot-16-1066714-g020.tif"/>
</fig>
<p>The real tests are carried out in different terrain, first of all, the jump height and jump feasibility will be analyzed and verified under flat ground. Control the robot to jump and compare the jump height with the scale of the preset whiteboard (see <xref ref-type="fig" rid="F21">Figure 21</xref>). The energy needed for the robot to jump is stored by the contraction of the leg mechanisms, the energy release is completed by the extension of the leg mechanism and the jump is carried out, the wheel-legs are contracted in the flight phase to improve robot&#x2019;s height off the ground, and the purpose of jumping over obstacles is realized. After comparing with the scale of the white board, it is found that when the robot jumps at a low speed, the jump height can be 0.16 m. The experimental results are basically consistent with the simulation results, which verifies the feasibility of the jump action of the wheel-legged robot designed in this paper.</p>
<fig id="F21" position="float">
<label>FIGURE 21</label>
<caption><p>Diagram of jump process.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnbot-16-1066714-g021.tif"/>
</fig>
<p>The adaptive contraction of the wheel leg is actually tested on the pothole ground. In <xref ref-type="fig" rid="F16">Figure 16</xref>, it can be seen that in the simulation experiment of pothole terrain, the robot passes through the pothole in about 1.2 s, corresponding to the robot state shown in serial number &#x2460; and serial number &#x2461; of <xref ref-type="fig" rid="F22">Figure 22</xref>. At this time, the robot walks on the road with potholes. The axes of the two hip motors are always in the same vertical position by contracting the wheel-leg which is at a higher position, it ensures the stability of the robot when walking on the pothole ground.</p>
<fig id="F22" position="float">
<label>FIGURE 22</label>
<caption><p>Moving over potholed ground.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnbot-16-1066714-g022.tif"/>
</fig>
<p>For the test of single-leg obstacle crossing, a single block, two blocks and three blocks of wood are set in front of the right leg as obstacles. The height of a single plank is 2 cm, the height of the corresponding obstacles is 2, 4, and 6 cm, respectively, and the radius of the wheel is 9.5 cm. The obstacle crossing process is shown in <xref ref-type="fig" rid="F23">Figure 23</xref>. The process from contacting the obstacle to adaptively adjusting the expansion of the wheel-leg is shown. It can be seen that the degree of contraction of the wheel-leg is different when the height of the obstacle is different. The robot can easily cross the obstacles with height lower than the radius of its own wheels, and keep moving smoothly through obstacles by adjusting the wheel-leg adaptively.</p>
<fig id="F23" position="float">
<label>FIGURE 23</label>
<caption><p>Comparison of different height of obstacle crossing.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnbot-16-1066714-g023.tif"/>
</fig>
<p>In addition to jumping on the flat and open ground, jumping over obstacles on the uneven ground is an important embodiment of the robot&#x2019;s ability to jump over obstacles. The jumping ability was further tested on the uneven grass outside, and the test results in <xref ref-type="fig" rid="F24">Figure 24</xref> shows that the robot still had good jumping ability on the uneven ground.</p>
<fig id="F24" position="float">
<label>FIGURE 24</label>
<caption><p>Jumping process on uneven ground.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnbot-16-1066714-g024.tif"/>
</fig>
</sec>
</sec>
<sec id="S6" sec-type="conclusion">
<title>Conclusion</title>
<p>In this paper, a bipedal wheel-legged robot with parallel four-bar linkage wheel-leg structure is proposed. The kinematics and dynamics of the robot are analyzed, and LQR controller and fuzzy PD controller are designed for balance and jump, respectively. According to the output torque curve and hip joint angle tracking curve obtained by Simulink simulation experiment, it can be seen that it has a good control effect. In view of the different ground conditions that the robot may encounter in the complex terrain environment, Adams and Simulink are used to simulate the robot&#x2019;s obstacle crossing, respectively, for the pothole road surface, the obstacle height is higher than the wheel radius and the obstacle crossing with one leg. Under the gait strategy of adaptive wheel-leg contraction, the error of each simulation data of the robot is small and the output torque is within the effective output range of the motor, which can ensure the smooth obstacle crossing. In the jump simulation, when the expected jump height is 0.11 and 0.16 m, the vertical velocity of the former is lower than that of the latter. To increase the height of obstacle crossing, the vertical velocity of the take-off should be increased. The gait strategies used in each simulation experiment are verified in real scene test, and the robot can smoothly cross the obstacles, which verifies the feasibility of the jumping and control method.</p>
</sec>
<sec id="S7" sec-type="data-availability">
<title>Data availability statement</title>
<p>The original contributions presented in this study are included in the article/<xref ref-type="supplementary-material" rid="VM1">Supplementary material</xref>, further inquiries can be directed to the corresponding author.</p>
</sec>
<sec id="S8">
<title>Author contributions</title>
<p>TG: methodology, project administration, and writing&#x2014;review and editing. JL: simulation, analysis, experiments, and writing&#x2014;original draft preparation. HL: control system design. YZ: conceptualization, design, and mechanical modeling. WC, XX, and MW: supervision and review. ZW: funding acquisition. All authors read and agreed to the published version of the manuscript.</p>
</sec>
</body>
<back>
<sec id="S9" sec-type="funding-information">
<title>Funding</title>
<p>This research was funded by the Jiangsu Provincial Agricultural Science and Technology Independent Innovation Fund Project [number: CX(21)1007], the Open Project of the Zhejiang Provincial Key Laboratory of Crop Harvesting Equipment and Technology (number: 2021KY03), the Jiangsu Province Postgraduate Research and Practice Innovation Program (number: SJCX22_1063), and Direct Drive Technology Ltd. The Direct Drive Technology Ltd. had the following involvement with providing DDT robot platform.</p>
</sec>
<ack><p>We thank to the Direct Drive Technology Ltd. for their technical support.</p>
</ack>
<sec id="S10" sec-type="COI-statement">
<title>Conflict of interest</title>
<p>YZ was employed by Direct Drive Technology Ltd. The remaining authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest. The authors declare that this study received funding from Direct Drive Technology Ltd. The funder had the following involvement with the study: providing DDT robot platform.</p>
</sec>
<sec id="S11" sec-type="disclaimer">
<title>Publisher&#x2019;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<sec id="S12" sec-type="supplementary-material">
<title>Supplementary material</title>
<p>The Supplementary Material for this article can be found online at: <ext-link ext-link-type="uri" xlink:href="https://www.frontiersin.org/articles/10.3389/fnbot.2022.1066714/full#supplementary-material">https://www.frontiersin.org/articles/10.3389/fnbot.2022.1066714/full#supplementary-material</ext-link></p>
<supplementary-material xlink:href="Video_1.MOV" id="VM1" mimetype="video/quicktime" xmlns:xlink="http://www.w3.org/1999/xlink"/>
</sec>
<ref-list>
<title>References</title>
<ref id="B1"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bjelonic</surname> <given-names>M.</given-names></name> <name><surname>Bellicoso</surname> <given-names>C. D.</given-names></name> <name><surname>De Viragh</surname> <given-names>Y.</given-names></name> <name><surname>Sako</surname> <given-names>D.</given-names></name> <name><surname>Tresoldi</surname> <given-names>F. D.</given-names></name> <name><surname>Jenelten</surname> <given-names>F.</given-names></name><etal/></person-group> (<year>2019</year>). <article-title>Keep Rollin&#x2019; - whole-body motion control and planning for wheeled Quadrupedal robots.</article-title> <source><italic>IEEE Robot. Autom. Lett.</italic></source> <volume>4</volume> <fpage>2116</fpage>&#x2013;<lpage>2123</lpage>. <pub-id pub-id-type="doi">10.1109/LRA.2019.2899750</pub-id></citation></ref>
<ref id="B2"><citation citation-type="journal"><collab>Boston Dynamics Ltd</collab> (<year>2017</year>). <source><italic>Handle</italic></source>. Available online at: <ext-link ext-link-type="uri" xlink:href="https://www.bostondynamics.com/handle">https://www.bostondynamics.com/handle</ext-link> <comment>(accessed September 22, 2022)</comment>.</citation></ref>
<ref id="B3"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Chen</surname> <given-names>H.</given-names></name> <name><surname>Wang</surname> <given-names>B.</given-names></name> <name><surname>Hong</surname> <given-names>Z.</given-names></name> <name><surname>Shen</surname> <given-names>C.</given-names></name> <name><surname>Wensing</surname> <given-names>P. M.</given-names></name> <name><surname>Zhang</surname> <given-names>W.</given-names></name></person-group> (<year>2021</year>). <article-title>Underactuated motion planning and control for jumping with wheeled-bipedal robots.</article-title> <source><italic>IEEE Robot. Autom. Lett.</italic></source> <volume>6</volume> <fpage>747</fpage>&#x2013;<lpage>754</lpage>. <pub-id pub-id-type="doi">10.1109/LRA.2020.3047787</pub-id></citation></ref>
<ref id="B4"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Cheng</surname> <given-names>W.</given-names></name></person-group> (<year>2021</year>). <source><italic>Leg structure optimization and landing stability analysis of grasshopper bionic robot.</italic></source> <publisher-loc>Zhuzhou</publisher-loc>: <publisher-name>Hunan University of Technology</publisher-name>. <pub-id pub-id-type="doi">10.27730/d.cnki.ghngy.2021.000181</pub-id></citation></ref>
<ref id="B5"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ding</surname> <given-names>D. D.</given-names></name> <name><surname>Zhang</surname> <given-names>S. J.</given-names></name></person-group> (<year>2022</year>). <article-title>Design and research of a variable-diameter wheel-legged obstacle overcoming robot.</article-title> <source><italic>Mech. Sci. Technol. Aerosp. Eng.</italic></source> <fpage>1</fpage>&#x2013;<lpage>8</lpage>. <pub-id pub-id-type="doi">10.13433/j.cnki.1003-8728.20220014</pub-id> <comment>[Epub ahead of print]</comment>.</citation></ref>
<ref id="B6"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Fei</surname> <given-names>L.</given-names></name> <name><surname>Liu</surname> <given-names>W.</given-names></name> <name><surname>Xin</surname> <given-names>F.</given-names></name> <name><surname>Bonsignori</surname> <given-names>G.</given-names></name> <name><surname>Scarfogliero</surname> <given-names>U.</given-names></name> <name><surname>Stefanini</surname> <given-names>C.</given-names></name><etal/></person-group> (<year>2012</year>). <article-title>Jumping like an insect: Design and dynamic optimization of a jumping mini robot based on bio-mimetic inspiration - sciencedirect.</article-title> <source><italic>Mechatronics</italic></source> <volume>22</volume> <fpage>167</fpage>&#x2013;<lpage>176</lpage>. <pub-id pub-id-type="doi">10.1016/j.mechatronics.2012.01.001</pub-id></citation></ref>
<ref id="B7"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Gao</surname> <given-names>Z. W.</given-names></name> <name><surname>Dai</surname> <given-names>X. W.</given-names></name> <name><surname>Zheng</surname> <given-names>Z. D.</given-names></name></person-group> (<year>2020</year>). <article-title>Optimal energy consumption trajectory planning for mobile robot based on motion control and frequency domain analysis.</article-title> <source><italic>Acta Autom. Sinica</italic></source> <volume>46</volume> <fpage>934</fpage>&#x2013;<lpage>945</lpage>. <pub-id pub-id-type="doi">10.16383/j.aas.c180399</pub-id></citation></ref>
<ref id="B8"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Hao</surname> <given-names>Y.</given-names></name> <name><surname>Lu</surname> <given-names>B.</given-names></name> <name><surname>Cao</surname> <given-names>H.</given-names></name> <name><surname>Dong</surname> <given-names>J.</given-names></name> <name><surname>Liu</surname> <given-names>R.</given-names></name></person-group> (<year>2022</year>). &#x201C;<article-title>Run-and-jump Planning and control of a compact two-wheeled legged robot</article-title>,&#x201D; in <source><italic>Proceedings of the 2022 7th Asia-Pacific conference on intelligent robot systems (ACIRS)</italic></source>, <publisher-loc>Tianjin</publisher-loc>, <fpage>1</fpage>&#x2013;<lpage>6</lpage>. <pub-id pub-id-type="doi">10.1109/ACIRS55390.2022.9845589</pub-id></citation></ref>
<ref id="B9"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Kim</surname> <given-names>Y.-S.</given-names></name> <name><surname>Jung</surname> <given-names>G.-P.</given-names></name> <name><surname>Kim</surname> <given-names>H.</given-names></name> <name><surname>Cho</surname> <given-names>K.-J.</given-names></name> <name><surname>Chu</surname> <given-names>C.-N.</given-names></name></person-group> (<year>2014</year>). <article-title>Wheel transformer: A wheel-leg hybrid robot with passive transformable wheels.</article-title> <source><italic>IEEE Trans. Robot.</italic></source> <volume>30</volume> <fpage>1487</fpage>&#x2013;<lpage>1498</lpage>. <pub-id pub-id-type="doi">10.1109/TRO.2014.2365651</pub-id></citation></ref>
<ref id="B10"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Klemm</surname> <given-names>V.</given-names></name> <name><surname>Morra</surname> <given-names>A.</given-names></name> <name><surname>Gulich</surname> <given-names>L.</given-names></name> <name><surname>Mannhart</surname> <given-names>D.</given-names></name> <name><surname>Rohr</surname> <given-names>D.</given-names></name> <name><surname>Kamel</surname> <given-names>M.</given-names></name><etal/></person-group> (<year>2020</year>). <article-title>LQR-assisted whole-body control of a wheeled bipedal robot with kinematic loops.</article-title> <source><italic>IEEE Robot. Autom. Lett.</italic></source> <volume>5</volume> <fpage>3745</fpage>&#x2013;<lpage>3752</lpage>. <pub-id pub-id-type="doi">10.1109/LRA.2020.2979625</pub-id></citation></ref>
<ref id="B11"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Klemm</surname> <given-names>V.</given-names></name> <name><surname>Morra</surname> <given-names>A.</given-names></name> <name><surname>Salzmann</surname> <given-names>C.</given-names></name> <name><surname>Tschopp</surname> <given-names>F.</given-names></name> <name><surname>Bodie</surname> <given-names>K.</given-names></name> <name><surname>Gulich</surname> <given-names>L.</given-names></name><etal/></person-group> (<year>2019</year>). &#x201C;<article-title>Ascento: A two-wheeled jumping robot</article-title>,&#x201D; in <source><italic>Proceedings of the 2019 international conference on robotics and automation (ICRA)</italic></source>, <publisher-loc>Montreal, QC</publisher-loc>, <fpage>7515</fpage>&#x2013;<lpage>7521</lpage>. <pub-id pub-id-type="doi">10.1109/ICRA.2019.8793792</pub-id></citation></ref>
<ref id="B12"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Liu</surname> <given-names>T.</given-names></name> <name><surname>Zhang</surname> <given-names>C.</given-names></name> <name><surname>Song</surname> <given-names>S.</given-names></name> <name><surname>Meng</surname> <given-names>M. Q.-H.</given-names></name></person-group> (<year>2019</year>). &#x201C;<article-title>Dynamic height balance control for bipedal wheeled robot based on ROS-Gazebo</article-title>,&#x201D; in <source><italic>Proceedings of the 2019 IEEE international conference on robotics and biomimetics (ROBIO)</italic></source>, <publisher-loc>Dali</publisher-loc>, <fpage>1875</fpage>&#x2013;<lpage>1880</lpage>. <pub-id pub-id-type="doi">10.1109/ROBIO49542.2019.8961739</pub-id></citation></ref>
<ref id="B13"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Liu</surname> <given-names>T.</given-names></name> <name><surname>Zhang</surname> <given-names>C.</given-names></name> <name><surname>Wang</surname> <given-names>J.</given-names></name> <name><surname>Song</surname> <given-names>S.</given-names></name> <name><surname>Meng</surname> <given-names>M. Q.-H.</given-names></name></person-group> (<year>2022</year>). <article-title>Towards terrain adaptablity: In situ transformation of wheel-biped robots.</article-title> <source><italic>IEEE Robot. Autom. Lett.</italic></source> <volume>7</volume> <fpage>3819</fpage>&#x2013;<lpage>3826</lpage>. <pub-id pub-id-type="doi">10.0031109/LRA.2022.3148486</pub-id></citation></ref>
<ref id="B14"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wu</surname> <given-names>K.</given-names></name></person-group> (<year>2020</year>). <source><italic>Research on motion control method of biped-wheeled roboton complex terrain environment.</italic></source> <publisher-loc>Jinan</publisher-loc>, <publisher-name>Shandong University</publisher-name>. <pub-id pub-id-type="doi">10.27272/d.cnki.gshdu.2020.005315</pub-id></citation></ref>
<ref id="B15"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Xin</surname> <given-names>S.</given-names></name> <name><surname>Vijayakumar</surname> <given-names>S.</given-names></name></person-group> (<year>2020</year>). &#x201C;<article-title>Online dynamic motion planning and control for wheeled biped robots</article-title>,&#x201D; in <source><italic>Proceedings of the 2020 IEEE/RSJ international conference on intelligent robots and systems (IROS)</italic></source>, <publisher-loc>Las Vegas, NV</publisher-loc>, <fpage>3892</fpage>&#x2013;<lpage>3899</lpage>. <pub-id pub-id-type="doi">10.1109/IROS45743.2020.9340967</pub-id></citation></ref>
<ref id="B16"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Xin</surname> <given-names>Y. X.</given-names></name> <name><surname>Chai</surname> <given-names>H.</given-names></name> <name><surname>Li</surname> <given-names>Y. B.</given-names></name> <name><surname>Rong</surname> <given-names>X. W.</given-names></name> <name><surname>Li</surname> <given-names>B.</given-names></name> <name><surname>Li</surname> <given-names>Y.</given-names></name></person-group> (<year>2019</year>). <article-title>Speed and acceleration control for a two wheel-leg robot based on distributed dynamic model and whole-body control.</article-title> <source><italic>IEEE Access</italic></source> <volume>7</volume> <fpage>180630</fpage>&#x2013;<lpage>180639</lpage>. <pub-id pub-id-type="doi">10.1109/ACCESS.2019.2959333</pub-id></citation></ref>
<ref id="B17"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Xin</surname> <given-names>Y. X.</given-names></name> <name><surname>Li</surname> <given-names>Y. B.</given-names></name> <name><surname>Chai</surname> <given-names>H.</given-names></name> <name><surname>Rong</surname> <given-names>X. W.</given-names></name> <name><surname>Li</surname> <given-names>B.</given-names></name></person-group> (<year>2020</year>). <article-title>Research on jumping method of two wheeled-leg robot based on whole-body torque control.</article-title> <source><italic>Acta Autom. Sinica</italic></source> <volume>46</volume> <fpage>1</fpage>&#x2013;<lpage>9</lpage>. <pub-id pub-id-type="doi">10.16383/j.aas.c200486</pub-id></citation></ref>
<ref id="B18"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhang</surname> <given-names>C.</given-names></name> <name><surname>Liu</surname> <given-names>T.</given-names></name> <name><surname>Song</surname> <given-names>S.</given-names></name> <name><surname>Meng</surname> <given-names>M. Q.-H.</given-names></name></person-group> (<year>2019</year>). &#x201C;<article-title>System design and balance control of a bipedal leg-wheeled robot</article-title>,&#x201D; in <source><italic>Proceedings of the 2019 IEEE international conference on robotics and biomimetics (ROBIO)</italic></source>, <publisher-loc>Dali</publisher-loc>, <fpage>1869</fpage>&#x2013;<lpage>1874</lpage>. <pub-id pub-id-type="doi">10.1109/ROBIO49542.2019.8961814</pub-id></citation></ref>
<ref id="B19"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhang</surname> <given-names>X. F.</given-names></name> <name><surname>Zhang</surname> <given-names>Y. H.</given-names></name> <name><surname>Sun</surname> <given-names>H. X.</given-names></name> <name><surname>Jia</surname> <given-names>Q. X.</given-names></name> <name><surname>Xiao</surname> <given-names>H.</given-names></name></person-group> (<year>2014</year>). <article-title>Design and dynamics analysis of a two-wheel robot with hopping ability.</article-title> <source><italic>Robotics</italic></source> <volume>36</volume> <fpage>355</fpage>&#x2013;<lpage>361</lpage>.</citation></ref>
<ref id="B20"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhang</surname> <given-names>Y.</given-names></name> <name><surname>Zhang</surname> <given-names>L.</given-names></name> <name><surname>Wang</surname> <given-names>W.</given-names></name> <name><surname>Li</surname> <given-names>Y.</given-names></name> <name><surname>Zhang</surname> <given-names>Q.</given-names></name></person-group> (<year>2018</year>). <article-title>Design and implementation of a two-wheel and hopping robot with a linkage mechanism.</article-title> <source><italic>IEEE Access</italic></source> <volume>6</volume> <fpage>42422</fpage>&#x2013;<lpage>42430</lpage>. <pub-id pub-id-type="doi">10.1109/ACCESS.2018.2859840</pub-id></citation></ref>
<ref id="B21"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhuang</surname> <given-names>Y.</given-names></name> <name><surname>Xu</surname> <given-names>Y.</given-names></name> <name><surname>Huang</surname> <given-names>B.</given-names></name> <name><surname>Chao</surname> <given-names>M.</given-names></name> <name><surname>Shi</surname> <given-names>G.</given-names></name> <name><surname>Yang</surname> <given-names>X.</given-names></name><etal/></person-group> (<year>2021</year>). &#x201C;<article-title>Height control and optimal torque planning for jumping with wheeled-bipedal robots</article-title>,&#x201D; in <source><italic>Proceedings of the 2021 6th IEEE international conference on advanced robotics and mechatronics (ICARM)</italic></source>, <publisher-loc>Chongqing</publisher-loc>, <fpage>477</fpage>&#x2013;<lpage>482</lpage>. <pub-id pub-id-type="doi">10.1109/ICARM52023.2021.9536196</pub-id></citation></ref>
</ref-list>
</back>
</article>