License: arXiv.org perpetual non-exclusive license
arXiv:2403.00944v1 [cs.RO] 01 Mar 2024

Optimizing Dynamic Balance in a Rat Robot via the Lateral Flexion of a Soft Actuated Spine

Yuhong Huang11{}^{1}start_FLOATSUPERSCRIPT 1 end_FLOATSUPERSCRIPT, Zhenshan Bing1,*1{}^{1,*}start_FLOATSUPERSCRIPT 1 , * end_FLOATSUPERSCRIPT, Zitao Zhang2,323{}^{2,3}start_FLOATSUPERSCRIPT 2 , 3 end_FLOATSUPERSCRIPT, Genghang Zhuang11{}^{1}start_FLOATSUPERSCRIPT 1 end_FLOATSUPERSCRIPT, Kai Huang2,323{}^{2,3}start_FLOATSUPERSCRIPT 2 , 3 end_FLOATSUPERSCRIPT, and Alois Knoll11{}^{1}start_FLOATSUPERSCRIPT 1 end_FLOATSUPERSCRIPT 11{}^{1}start_FLOATSUPERSCRIPT 1 end_FLOATSUPERSCRIPTAuthors from the Technical University of Munich, Munich, German yuhong.huang@tum.de22{}^{2}start_FLOATSUPERSCRIPT 2 end_FLOATSUPERSCRIPTAuthors from the Sun Yat-Sen University, Guangdong China33{}^{3}start_FLOATSUPERSCRIPT 3 end_FLOATSUPERSCRIPTAuthors from the Pazhou Lab, Guangzhou, 510330, China*{}^{*}start_FLOATSUPERSCRIPT * end_FLOATSUPERSCRIPTCorresponding author: Zhenshan Bing
Abstract

Balancing oneself using the spine is a physiological alignment of the body posture in the most efficient manner by the muscular forces for mammals. For this reason, we can see many disabled quadruped animals can still stand or walk even with three limbs. This paper investigates the optimization of dynamic balance during trot gait based on the spatial relationship between the center of mass (CoM) and support area influenced by spinal flexion. During trotting, the robot balance is significantly influenced by the distance of the CoM to the support area formed by diagonal footholds. In this context, lateral spinal flexion, which is able to modify the position of footholds, holds promise for optimizing balance during trotting. This paper explores this phenomenon using a rat robot equipped with a soft actuated spine. Based on the lateral flexion of the spine, we establish a kinematic model to quantify the impact of spinal flexion on robot balance during trot gait. Subsequently, we develop an optimized controller for spinal flexion, designed to enhance balance without altering the leg locomotion. The effectiveness of our proposed controller is evaluated through extensive simulations and physical experiments conducted on a rat robot. Compared to both a non-spine based trot gait controller and a trot gait controller with lateral spinal flexion, our proposed optimized controller effectively improves the dynamic balance of the robot and retains the desired locomotion during trotting.

I Introduction

In recent decades, the capabilities of robots for performing various and complex tasks have been widely explored [1, 2, 3, 4, 5, 6, 7, 8]. Especially, quadruped robots have caught attention for their impressive adaptability on challenging and uneven terrains by choosing suitable footholds [9, 10, 11, 12, 13]. This foothold selection also changes the robot’s support area dynamically, affecting its balance. Particularly in the context of a walking trot gait, the robot is limited to only two footholds throughout its gait stride. As shown in Fig. 1, this constraint will only lead to a diagonal formed by the leg pairs that can support the robot, which is incapable of continuously covering the center of mass (CoM) of the robot. When the CoM deviates from the support area, the robot is prone to losing balance, potentially leading to tilting or even a fall. Therefore, how to maintain dynamic balance during trot gaits becomes a great challenge in the control of quadruped robots [14, 15, 16].

In recent years, extensive research efforts have been dedicated to advancing the control of balance in quadruped robots [14, 17, 18]. To maintain static balance, the concept of the zero moment point (ZMP) has been proposed [19]. It is utilized to compute CoM trajectory and assess the stability of quadruped robots [20, 21]. By employing ZMP-based methods, the support area of a robot can be adjusted to cover its CoM, thereby maintaining the balance. Extending beyond static balance, studies have introduced models for robust dynamic balance to enhance robot locomotion [22, 23, 24]. For instance, Chen et.al.formulae-sequence𝑒𝑡𝑎𝑙et.al.italic_e italic_t . italic_a italic_l . have introduced the dynamic balance tube concept to formalize balance control in quadrupedal locomotion [25]. Their approach models the quadrupedal locomotion based on a fixed-time gait pattern using switched systems to adjust the relationship between the CoM and support area. Many prior research efforts have centered on maintaining the robot’s dynamic balance during locomotion by adjusting the foot trajectory and ensuring that the CoM remains within the support area. However, these approaches introduce challenges in maintaining the robot’s original gait pattern. The robot’s foot trajectory may be altered, thereby disrupting the expected locomotion. As a result, preserving the robot’s gait while sustaining dynamic balance poses a significant challenge in the field of quadruped robot control.

Refer to caption
CoMSupportArea
Figure 1: The quadruped robot tilts during trot gait. The figure of the trotting rat is cited from [26]. The purple line represents the support area during trot gait, while the black point indicates the CoM of the robot. Notably, the projection of the CoM always falls outside the support area.

In nature, animals can easily maintain balance while walking on a single-plank bridge by swinging their spine left and right without altering their foot trajectory. Inspired by this, employing spinal flexion is a potential approach for optimizing balance during robot gait [18]. The spine and limb locomotion are controlled independently but can work collaboratively [27]. Researchers have enhanced robot locomotion by modifying the stride length through spinal telescoping or flexion, all without involving a change in the robot’s gait pattern [28, 29, 30]. Due to the complexity of spinal locomotion, there are relatively fewer studies investigating the influence of spinal flexion on the relationship between CoM and support area. The task of maintaining robot balance during gait by directly applying spinal flexion presents a substantial challenge in this research domain.

Based on our prior work [30], this paper presents an optimized spinal flexion controller to enhance the balance maintenance capability during locomotion. To develop this controller, we utilize a rat robot equipped with a soft actuated spine to investigate the impact of spine-based locomotion on dynamic balance during trotting.

Our main contributions are summarized as follows.

  • To quantify the robot’s balance during trotting, we establish a kinematic model incorporating spinal flexion. Based on the footholds affected by lateral spinal flexion, this kinematic model depicts the relationship between the robot’s CoM and support area.

  • To maintain dynamic balance throughout robot gait without altering limb locomotion, we develop an optimized controller for spinal flexion. This controller operates independently from the limb controller and can directly integrate with the default trot gait. By utilizing this controller, the robot gains the ability to adjust footholds based on the desired balance state.

  • Compared to other controllers, the proposed optimized controller based on spinal flexion demonstrates the ability to maintain the robot’s dynamic balance and desired locomotion during trot gait.

II Overview of Spine-based Locomotion

Refer to captionHeadRight fore leg (RF)Left fore leg (LF)Right hind leg (RH)Left hind leg (LH)TailSpineθSsubscript𝜃𝑆\theta_{S}italic_θ start_POSTSUBSCRIPT italic_S end_POSTSUBSCRIPT
Figure 2: The rat robot with a soft actuated spine. The pink line shows the soft actuated spine. The diagram in the upper right briefly illustrates that the flexing spine can be considered as a segment of a circle with a central angle θssubscript𝜃𝑠\theta_{s}italic_θ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT.

This section offers an overview of our rat robot, highlighting the unique characteristics of its soft actuated spine. Furthermore, we briefly present the spine-based locomotion of the rat robot explored in our prior work [30].

As shown in Fig. 2, the four limbs of the rat robot are identified as the right fore leg (RF), left fore leg (LF), right hind leg (RH), and left hind leg (LH). There are two servos in each leg to stimulate the movement of the hip/shoulder joint and the knee/elbow joint. Notably, the unique feature of the robot is its soft actuated spine, which is controlled by a tendon-servo system. Due to its unique structural and material properties, the spine exhibits pure bending behavior, rendering its deformation insignificant when flexed. Consequently, the spinal length during spinal flexion is a constant value, denoted as lSsubscript𝑙𝑆l_{S}italic_l start_POSTSUBSCRIPT italic_S end_POSTSUBSCRIPT. Based on the findings from our prior work, the soft actuated spine can be seen as a segment of a circle with a variable central angle θssubscript𝜃𝑠\theta_{s}italic_θ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT. And θssubscript𝜃𝑠\theta_{s}italic_θ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT depends on the spinal flexion angle R(t)𝑅𝑡R(t)italic_R ( italic_t ), which can be controlled by the linked servos precisely. This insight enables us to analyze the impact of spinal flexion on hind limb locomotion.

lSsubscript𝑙𝑆l_{S}italic_l start_POSTSUBSCRIPT italic_S end_POSTSUBSCRIPTlBsubscript𝑙𝐵l_{B}italic_l start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPTlhx(t)subscript𝑙𝑥𝑡l_{hx}(t)italic_l start_POSTSUBSCRIPT italic_h italic_x end_POSTSUBSCRIPT ( italic_t )lhy(t)subscript𝑙𝑦𝑡l_{hy}(t)italic_l start_POSTSUBSCRIPT italic_h italic_y end_POSTSUBSCRIPT ( italic_t )lh(t)subscript𝑙𝑡l_{h}(t)italic_l start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT ( italic_t )lf(t)subscript𝑙𝑓𝑡l_{f}(t)italic_l start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ( italic_t )lHHsubscript𝑙𝐻𝐻l_{HH}italic_l start_POSTSUBSCRIPT italic_H italic_H end_POSTSUBSCRIPTR(t)𝑅𝑡R(t)italic_R ( italic_t )θssubscript𝜃𝑠\theta_{s}italic_θ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPTlFHsubscript𝑙𝐹𝐻l_{FH}italic_l start_POSTSUBSCRIPT italic_F italic_H end_POSTSUBSCRIPTPh(hx,hy)subscript𝑃𝑥𝑦P_{h}(hx,hy)italic_P start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT ( italic_h italic_x , italic_h italic_y )Pf(fx,fy)subscript𝑃𝑓𝑓𝑥𝑓𝑦P_{f}(fx,fy)italic_P start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ( italic_f italic_x , italic_f italic_y )CoM(cx,cy)𝑐𝑥𝑐𝑦(cx,cy)( italic_c italic_x , italic_c italic_y )dis(t)𝑑𝑖𝑠𝑡dis(t)italic_d italic_i italic_s ( italic_t )𝐱𝐱\mathbf{x}bold_x𝐲𝐲\mathbf{y}bold_yRefer to caption
Figure 3: Schematic of the rat robot with spinal flexion. The blue-shaded region represents the robot’s skeleton in its initial state, whereas the pink-shaded region depicts the robot’s skeleton when flexing its spine. lHHsubscript𝑙𝐻𝐻l_{HH}italic_l start_POSTSUBSCRIPT italic_H italic_H end_POSTSUBSCRIPT and lFHsubscript𝑙𝐹𝐻l_{FH}italic_l start_POSTSUBSCRIPT italic_F italic_H end_POSTSUBSCRIPT denote the lengths of the hind hip and fore hip, respectively. The dynamic stride lengths of the hind limb and fore limb are lh(t)subscript𝑙𝑡l_{h}(t)italic_l start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT ( italic_t ) and lf(t)subscript𝑙𝑓𝑡l_{f}(t)italic_l start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ( italic_t ) respectively, which generate the robot’s gait over time. lBsubscript𝑙𝐵l_{B}italic_l start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT is the length of the robot body. lSsubscript𝑙𝑆l_{S}italic_l start_POSTSUBSCRIPT italic_S end_POSTSUBSCRIPT is the length of the spine. R(t)𝑅𝑡R(t)italic_R ( italic_t ) signifies the time-varying flexing angle of the spine. Phsubscript𝑃P_{h}italic_P start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT and Pfsubscript𝑃𝑓P_{f}italic_P start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT represent the footholds for the hind limb and fore limb during trotting, respectively. And the purple-shaded region connecting such two footholds presents the robot’s support area. Moreover, to account for the influence of spinal flexion on the hind limb foothold, we introduce lhx(t)subscript𝑙𝑥𝑡l_{hx}(t)italic_l start_POSTSUBSCRIPT italic_h italic_x end_POSTSUBSCRIPT ( italic_t ) and lhy(t)subscript𝑙𝑦𝑡l_{hy}(t)italic_l start_POSTSUBSCRIPT italic_h italic_y end_POSTSUBSCRIPT ( italic_t ) to describe the alterations in the coordinates of the hind foothold due to spinal flexion.

During the trot gait, the lateral spinal flexion triggers additional displacement at the hips of the hind limbs, resulting in a modified hind limb foothold, as illustrated in Fig. 3. Within the context of lateral spinal flexion, the extra displacement along the x-axis and y-axis of the hind limb foothold can be expressed as lhx(t)subscript𝑙𝑥𝑡l_{hx}(t)italic_l start_POSTSUBSCRIPT italic_h italic_x end_POSTSUBSCRIPT ( italic_t ) and lhy(t)subscript𝑙𝑦𝑡l_{hy}(t)italic_l start_POSTSUBSCRIPT italic_h italic_y end_POSTSUBSCRIPT ( italic_t ), respectively. Based on the geometric analysis conducted in our prior work [30], lhx(t)subscript𝑙𝑥𝑡l_{hx}(t)italic_l start_POSTSUBSCRIPT italic_h italic_x end_POSTSUBSCRIPT ( italic_t ) can be expressed as:

θs=2R(t),lhx(t)=lh(t)cosθs+lHHsinθs+(lSlSθssinθs).formulae-sequencesubscript𝜃𝑠2𝑅𝑡subscript𝑙𝑥𝑡subscript𝑙𝑡subscript𝜃𝑠subscript𝑙𝐻𝐻subscript𝜃𝑠subscript𝑙𝑆subscript𝑙𝑆subscript𝜃𝑠subscript𝜃𝑠\begin{split}\theta_{s}=&2R(t),\\ l_{hx}(t)=&l_{h}(t)\cos{\theta_{s}}+l_{HH}\sin{\theta_{s}}+(l_{S}-\frac{l_{S}}% {\theta_{s}}\sin{\theta_{s}}).\end{split}start_ROW start_CELL italic_θ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT = end_CELL start_CELL 2 italic_R ( italic_t ) , end_CELL end_ROW start_ROW start_CELL italic_l start_POSTSUBSCRIPT italic_h italic_x end_POSTSUBSCRIPT ( italic_t ) = end_CELL start_CELL italic_l start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT ( italic_t ) roman_cos italic_θ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT + italic_l start_POSTSUBSCRIPT italic_H italic_H end_POSTSUBSCRIPT roman_sin italic_θ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT + ( italic_l start_POSTSUBSCRIPT italic_S end_POSTSUBSCRIPT - divide start_ARG italic_l start_POSTSUBSCRIPT italic_S end_POSTSUBSCRIPT end_ARG start_ARG italic_θ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT end_ARG roman_sin italic_θ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ) . end_CELL end_ROW (1)

The central angle θssubscript𝜃𝑠\theta_{s}italic_θ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT of the flexing spine exhibits a linear relationship with the spinal flexion angle R(t)𝑅𝑡R(t)italic_R ( italic_t ). lHHsubscript𝑙𝐻𝐻l_{HH}italic_l start_POSTSUBSCRIPT italic_H italic_H end_POSTSUBSCRIPT and lSsubscript𝑙𝑆l_{S}italic_l start_POSTSUBSCRIPT italic_S end_POSTSUBSCRIPT are constant configurations of the rat robot. lf(t)subscript𝑙𝑓𝑡l_{f}(t)italic_l start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ( italic_t ) and lh(t)subscript𝑙𝑡l_{h}(t)italic_l start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT ( italic_t ) are the control variables of the limb controller that generates robot gait, while R(t)𝑅𝑡R(t)italic_R ( italic_t ) are control variables of the controller controlling spinal flexion. Therefore, the influence of spinal flexion on footholds can be quantified accurately.

III Balance Condition During Trotting

In this section, we depict the support area of the trot gait according to foothold coordinates. Subsequently, the robot’s balance status is described by the distance from the CoM position to the support area.

III-A The Support Area Influenced by Spinal Flexion

To describe footholds in coordinates, we build a local coordinate system for the robot, as illustrated in Fig. 3. The x-axis and y-axis are oriented perpendicular and parallel to the linkage of the robot’s shoulders, respectively. The origin of this coordinate system is positioned at the center of the robot’s shoulders.

During trotting, the robot constantly has only two footholds, shown in Fig. 1, which we denote as Pf(fx,fy)subscript𝑃𝑓𝑓𝑥𝑓𝑦P_{f}(fx,fy)italic_P start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ( italic_f italic_x , italic_f italic_y ) and Ph(hx,hy)subscript𝑃𝑥𝑦P_{h}(hx,hy)italic_P start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT ( italic_h italic_x , italic_h italic_y ). Considering the schematic in Fig. 3, fy𝑓𝑦fyitalic_f italic_y and fx𝑓𝑥fxitalic_f italic_x equal to (lFH)subscript𝑙𝐹𝐻(-l_{FH})( - italic_l start_POSTSUBSCRIPT italic_F italic_H end_POSTSUBSCRIPT ) and lf(t)subscript𝑙𝑓𝑡l_{f}(t)italic_l start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ( italic_t ), respectively. Additionally, hx𝑥hxitalic_h italic_x is calculated as (lhx(t)lBlS)subscript𝑙𝑥𝑡subscript𝑙𝐵subscript𝑙𝑆(l_{hx}(t)-l_{B}-l_{S})( italic_l start_POSTSUBSCRIPT italic_h italic_x end_POSTSUBSCRIPT ( italic_t ) - italic_l start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT - italic_l start_POSTSUBSCRIPT italic_S end_POSTSUBSCRIPT ), while hy𝑦hyitalic_h italic_y corresponds to lhy(t)subscript𝑙𝑦𝑡l_{hy}(t)italic_l start_POSTSUBSCRIPT italic_h italic_y end_POSTSUBSCRIPT ( italic_t ). Consequently, the expressions for the footholds of the limbs are as follows:

Pf=(lf(t),lFH),Ph=(lhx(t)lBlS,lhy(t)).formulae-sequencesubscript𝑃𝑓subscript𝑙𝑓𝑡subscript𝑙𝐹𝐻subscript𝑃subscript𝑙𝑥𝑡subscript𝑙𝐵subscript𝑙𝑆subscript𝑙𝑦𝑡\begin{split}P_{f}=&(l_{f}(t),\ -l_{FH}),\\ P_{h}=&(l_{hx}(t)-l_{B}-l_{S},\ l_{hy}(t)).\end{split}start_ROW start_CELL italic_P start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT = end_CELL start_CELL ( italic_l start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ( italic_t ) , - italic_l start_POSTSUBSCRIPT italic_F italic_H end_POSTSUBSCRIPT ) , end_CELL end_ROW start_ROW start_CELL italic_P start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT = end_CELL start_CELL ( italic_l start_POSTSUBSCRIPT italic_h italic_x end_POSTSUBSCRIPT ( italic_t ) - italic_l start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT - italic_l start_POSTSUBSCRIPT italic_S end_POSTSUBSCRIPT , italic_l start_POSTSUBSCRIPT italic_h italic_y end_POSTSUBSCRIPT ( italic_t ) ) . end_CELL end_ROW (2)

Referring to the geometric analysis for lhx(t)subscript𝑙𝑥𝑡l_{hx}(t)italic_l start_POSTSUBSCRIPT italic_h italic_x end_POSTSUBSCRIPT ( italic_t ) conducted in our prior work [30], lhy(t)subscript𝑙𝑦𝑡l_{hy}(t)italic_l start_POSTSUBSCRIPT italic_h italic_y end_POSTSUBSCRIPT ( italic_t ) can be expressed as lSθs(1cosθs)+lHHcosθslh(t)sinθssubscript𝑙𝑆subscript𝜃𝑠1subscript𝜃𝑠subscript𝑙𝐻𝐻subscript𝜃𝑠subscript𝑙𝑡subscript𝜃𝑠\frac{l_{S}}{\theta_{s}}(1-\cos{\theta_{s}})+l_{HH}\cos{\theta_{s}}-l_{h}(t)% \sin{\theta_{s}}divide start_ARG italic_l start_POSTSUBSCRIPT italic_S end_POSTSUBSCRIPT end_ARG start_ARG italic_θ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT end_ARG ( 1 - roman_cos italic_θ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ) + italic_l start_POSTSUBSCRIPT italic_H italic_H end_POSTSUBSCRIPT roman_cos italic_θ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT - italic_l start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT ( italic_t ) roman_sin italic_θ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT. Combined with (1), it has

lhx(t)=lh(t)cosθs+lHHsinθs+(lSlSθssinθs),lhy(t)=lSθs(1cosθs)+lHHcosθslh(t)sinθs,θs=2R(t).formulae-sequencesubscript𝑙𝑥𝑡subscript𝑙𝑡subscript𝜃𝑠subscript𝑙𝐻𝐻subscript𝜃𝑠subscript𝑙𝑆subscript𝑙𝑆subscript𝜃𝑠subscript𝜃𝑠formulae-sequencesubscript𝑙𝑦𝑡subscript𝑙𝑆subscript𝜃𝑠1subscript𝜃𝑠subscript𝑙𝐻𝐻subscript𝜃𝑠subscript𝑙𝑡subscript𝜃𝑠subscript𝜃𝑠2𝑅𝑡\begin{split}l_{hx}(t)=&l_{h}(t)\cos{\theta_{s}}+l_{HH}\sin{\theta_{s}}+(l_{S}% -\frac{l_{S}}{\theta_{s}}\sin{\theta_{s}}),\\ l_{hy}(t)=&\frac{l_{S}}{\theta_{s}}(1-\cos{\theta_{s}})+l_{HH}\cos{\theta_{s}}% -l_{h}(t)\sin{\theta_{s}},\\ \theta_{s}=&2R(t).\end{split}start_ROW start_CELL italic_l start_POSTSUBSCRIPT italic_h italic_x end_POSTSUBSCRIPT ( italic_t ) = end_CELL start_CELL italic_l start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT ( italic_t ) roman_cos italic_θ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT + italic_l start_POSTSUBSCRIPT italic_H italic_H end_POSTSUBSCRIPT roman_sin italic_θ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT + ( italic_l start_POSTSUBSCRIPT italic_S end_POSTSUBSCRIPT - divide start_ARG italic_l start_POSTSUBSCRIPT italic_S end_POSTSUBSCRIPT end_ARG start_ARG italic_θ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT end_ARG roman_sin italic_θ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ) , end_CELL end_ROW start_ROW start_CELL italic_l start_POSTSUBSCRIPT italic_h italic_y end_POSTSUBSCRIPT ( italic_t ) = end_CELL start_CELL divide start_ARG italic_l start_POSTSUBSCRIPT italic_S end_POSTSUBSCRIPT end_ARG start_ARG italic_θ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT end_ARG ( 1 - roman_cos italic_θ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ) + italic_l start_POSTSUBSCRIPT italic_H italic_H end_POSTSUBSCRIPT roman_cos italic_θ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT - italic_l start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT ( italic_t ) roman_sin italic_θ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT , end_CELL end_ROW start_ROW start_CELL italic_θ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT = end_CELL start_CELL 2 italic_R ( italic_t ) . end_CELL end_ROW (3)

Therefore, the coordinates of Phsubscript𝑃P_{h}italic_P start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT can be accurately defined by considering the constant configuration of the rat robot and the given control variables in real time.

As the trot gait always maintains only two footholds, its support area is a line segment formed by two legs in the diagonal. In this context, the support area influenced by spinal flexion during trotting can be defined as a line PfPhsubscript𝑃𝑓subscript𝑃P_{f}P_{h}italic_P start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT italic_P start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT connecting Pf(fx,fy)subscript𝑃𝑓𝑓𝑥𝑓𝑦P_{f}(fx,fy)italic_P start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ( italic_f italic_x , italic_f italic_y ) and Ph(hx,hy)subscript𝑃𝑥𝑦P_{h}(hx,hy)italic_P start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT ( italic_h italic_x , italic_h italic_y ). Based on the equation of a straight line, the line PfPhsubscript𝑃𝑓subscript𝑃P_{f}P_{h}italic_P start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT italic_P start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT can be expressed as xfxhxfx=yfyhyfy𝑥𝑓𝑥𝑥𝑓𝑥𝑦𝑓𝑦𝑦𝑓𝑦\frac{x-fx}{hx-fx}=\frac{y-fy}{hy-fy}divide start_ARG italic_x - italic_f italic_x end_ARG start_ARG italic_h italic_x - italic_f italic_x end_ARG = divide start_ARG italic_y - italic_f italic_y end_ARG start_ARG italic_h italic_y - italic_f italic_y end_ARG. In other words, PfPhsubscript𝑃𝑓subscript𝑃P_{f}P_{h}italic_P start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT italic_P start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT is defined as (hyfy)x+(fxhx)y+hxfyfxhy=0𝑦𝑓𝑦𝑥𝑓𝑥𝑥𝑦𝑥𝑓𝑦𝑓𝑥𝑦0(hy-fy)x+(fx-hx)y+hx\cdot fy-fx\cdot hy=0( italic_h italic_y - italic_f italic_y ) italic_x + ( italic_f italic_x - italic_h italic_x ) italic_y + italic_h italic_x ⋅ italic_f italic_y - italic_f italic_x ⋅ italic_h italic_y = 0. Combined with (2), the support area during trotting with spinal flexion is as follows:

(lhy(t)+lFH)x+(lf(t)+lB+lSlhx(t))y+(lB+lSlhx(t))lFHlf(t)lhy(t)=0.subscript𝑙𝑦𝑡subscript𝑙𝐹𝐻𝑥subscript𝑙𝑓𝑡subscript𝑙𝐵subscript𝑙𝑆subscript𝑙𝑥𝑡𝑦subscript𝑙𝐵subscript𝑙𝑆subscript𝑙𝑥𝑡subscript𝑙𝐹𝐻subscript𝑙𝑓𝑡subscript𝑙𝑦𝑡0\begin{split}(l_{hy}(t)&+l_{FH})\cdot x+(l_{f}(t)+l_{B}+l_{S}-l_{hx}(t))\cdot y% +\\ &(l_{B}+l_{S}-l_{hx}(t))\cdot l_{FH}-l_{f}(t)\cdot l_{hy}(t)=0.\end{split}start_ROW start_CELL ( italic_l start_POSTSUBSCRIPT italic_h italic_y end_POSTSUBSCRIPT ( italic_t ) end_CELL start_CELL + italic_l start_POSTSUBSCRIPT italic_F italic_H end_POSTSUBSCRIPT ) ⋅ italic_x + ( italic_l start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ( italic_t ) + italic_l start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT + italic_l start_POSTSUBSCRIPT italic_S end_POSTSUBSCRIPT - italic_l start_POSTSUBSCRIPT italic_h italic_x end_POSTSUBSCRIPT ( italic_t ) ) ⋅ italic_y + end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL ( italic_l start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT + italic_l start_POSTSUBSCRIPT italic_S end_POSTSUBSCRIPT - italic_l start_POSTSUBSCRIPT italic_h italic_x end_POSTSUBSCRIPT ( italic_t ) ) ⋅ italic_l start_POSTSUBSCRIPT italic_F italic_H end_POSTSUBSCRIPT - italic_l start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ( italic_t ) ⋅ italic_l start_POSTSUBSCRIPT italic_h italic_y end_POSTSUBSCRIPT ( italic_t ) = 0 . end_CELL end_ROW (4)

III-B Analysis of Balance Status

In order to maintain a balanced state during trotting, the position (cx,cy)𝑐𝑥𝑐𝑦(cx,cy)( italic_c italic_x , italic_c italic_y ) of the CoM should be above the support area that is denoted as PhPfsubscript𝑃subscript𝑃𝑓P_{h}P_{f}italic_P start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT italic_P start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT. In other words, the distance dis(t)𝑑𝑖𝑠𝑡dis(t)italic_d italic_i italic_s ( italic_t ) from the CoM to PhPfsubscript𝑃subscript𝑃𝑓P_{h}P_{f}italic_P start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT italic_P start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT should be zero at a given time t𝑡titalic_t. Thus, the robot’s balance status during trot gait can be quantified based on dis(t)𝑑𝑖𝑠𝑡dis(t)italic_d italic_i italic_s ( italic_t ). Considering (4), Fig. 3, and the formula of distance of a point from a line,

dis(t)=Acx+Bcy+CA2+B2A=lhy(t)+lFH,B=lf(t)+lB+lSlhx(t),C=(lB+lSlhx(t))lFHlf(t)lhy(t).formulae-sequence𝑑𝑖𝑠𝑡𝐴𝑐𝑥𝐵𝑐𝑦𝐶superscript𝐴2superscript𝐵2𝐴subscript𝑙𝑦𝑡subscript𝑙𝐹𝐻formulae-sequence𝐵subscript𝑙𝑓𝑡subscript𝑙𝐵subscript𝑙𝑆subscript𝑙𝑥𝑡𝐶subscript𝑙𝐵subscript𝑙𝑆subscript𝑙𝑥𝑡subscript𝑙𝐹𝐻subscript𝑙𝑓𝑡subscript𝑙𝑦𝑡\begin{split}dis(t)=&\frac{A\cdot cx+B\cdot cy+C}{\sqrt{A^{2}+B^{2}}}\\ A=&l_{hy}(t)+l_{FH},\\ B=&l_{f}(t)+l_{B}+l_{S}-l_{hx}(t),\\ C=&(l_{B}+l_{S}-l_{hx}(t))\cdot l_{FH}-l_{f}(t)\cdot l_{hy}(t).\end{split}start_ROW start_CELL italic_d italic_i italic_s ( italic_t ) = end_CELL start_CELL divide start_ARG italic_A ⋅ italic_c italic_x + italic_B ⋅ italic_c italic_y + italic_C end_ARG start_ARG square-root start_ARG italic_A start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + italic_B start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG end_ARG end_CELL end_ROW start_ROW start_CELL italic_A = end_CELL start_CELL italic_l start_POSTSUBSCRIPT italic_h italic_y end_POSTSUBSCRIPT ( italic_t ) + italic_l start_POSTSUBSCRIPT italic_F italic_H end_POSTSUBSCRIPT , end_CELL end_ROW start_ROW start_CELL italic_B = end_CELL start_CELL italic_l start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ( italic_t ) + italic_l start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT + italic_l start_POSTSUBSCRIPT italic_S end_POSTSUBSCRIPT - italic_l start_POSTSUBSCRIPT italic_h italic_x end_POSTSUBSCRIPT ( italic_t ) , end_CELL end_ROW start_ROW start_CELL italic_C = end_CELL start_CELL ( italic_l start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT + italic_l start_POSTSUBSCRIPT italic_S end_POSTSUBSCRIPT - italic_l start_POSTSUBSCRIPT italic_h italic_x end_POSTSUBSCRIPT ( italic_t ) ) ⋅ italic_l start_POSTSUBSCRIPT italic_F italic_H end_POSTSUBSCRIPT - italic_l start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ( italic_t ) ⋅ italic_l start_POSTSUBSCRIPT italic_h italic_y end_POSTSUBSCRIPT ( italic_t ) . end_CELL end_ROW (5)

To maintain balance status consistently, dis(t)𝑑𝑖𝑠𝑡dis(t)italic_d italic_i italic_s ( italic_t ) should always remain at zero. However, this condition is challenging to be satisfied throughout trotting. The support area during trotting is presented as a dynamic diagonal that cannot always cover the CoM. In other words, it is difficult for the robot to maintain balance consistently during trotting. In this context, the dynamic balance during trotting can be indicated as the stability of locomotion in a time slice rather than the balance in real-time. Specifically, we specialize in finding a distribution of balanced status to generate the most stable locomotion in a gait stride. We assume that the robot will achieve its most stable locomotion during the gait if the balance status occurs at t=tb𝑡subscript𝑡𝑏t=t_{b}italic_t = italic_t start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT. In this case, limttbdis(t)0subscript𝑡subscript𝑡𝑏𝑑𝑖𝑠𝑡0\lim_{t\to t_{b}}dis(t)\to 0roman_lim start_POSTSUBSCRIPT italic_t → italic_t start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_d italic_i italic_s ( italic_t ) → 0. The problem of finding such balanced status can be formulated as

limttbdis(t)0R(tb).provessubscript𝑡subscript𝑡𝑏𝑑𝑖𝑠𝑡0𝑅subscript𝑡𝑏\lim_{t\to t_{b}}dis(t)\to 0\vdash R(t_{b}).roman_lim start_POSTSUBSCRIPT italic_t → italic_t start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_d italic_i italic_s ( italic_t ) → 0 ⊢ italic_R ( italic_t start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ) . (6)

Equation (3) and (5) demonstrate that the value of dis(tb)𝑑𝑖𝑠subscript𝑡𝑏dis(t_{b})italic_d italic_i italic_s ( italic_t start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ) can be represented as a functional relationship composed of control variables lf(tb)subscript𝑙𝑓subscript𝑡𝑏l_{f}(t_{b})italic_l start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ), lh(tb)subscript𝑙subscript𝑡𝑏l_{h}(t_{b})italic_l start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ), and R(tb)𝑅subscript𝑡𝑏R(t_{b})italic_R ( italic_t start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ). Since the trot gait is particularly designed for limb locomotion, lf(tb)subscript𝑙𝑓subscript𝑡𝑏l_{f}(t_{b})italic_l start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ) and lh(tb)subscript𝑙subscript𝑡𝑏l_{h}(t_{b})italic_l start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ) are given by the gait. And the remaining unknown control variable is the spinal flexion angle R(tb)𝑅subscript𝑡𝑏R(t_{b})italic_R ( italic_t start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ). In this context, lf(tb)subscript𝑙𝑓subscript𝑡𝑏l_{f}(t_{b})italic_l start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ) and lh(tb)subscript𝑙subscript𝑡𝑏l_{h}(t_{b})italic_l start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ) can be treated as constants, simplifying dis(tb)𝑑𝑖𝑠subscript𝑡𝑏dis(t_{b})italic_d italic_i italic_s ( italic_t start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ) to a one-variable equation dependent on R(tb)𝑅subscript𝑡𝑏R(t_{b})italic_R ( italic_t start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ). Consequently, to achieve limttbdis(t)0subscript𝑡subscript𝑡𝑏𝑑𝑖𝑠𝑡0\lim_{t\to t_{b}}dis(t)\to 0roman_lim start_POSTSUBSCRIPT italic_t → italic_t start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_d italic_i italic_s ( italic_t ) → 0 , the solution lies in the determination of R(tb)𝑅subscript𝑡𝑏R(t_{b})italic_R ( italic_t start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ) based on predetermined lf(tb)subscript𝑙𝑓subscript𝑡𝑏l_{f}(t_{b})italic_l start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ) and lh(tb)subscript𝑙subscript𝑡𝑏l_{h}(t_{b})italic_l start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT ( italic_t start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ). An analysis of dis(tb)R(tb)𝑑𝑖𝑠subscript𝑡𝑏𝑅subscript𝑡𝑏\frac{\partial dis(t_{b})}{\partial R(t_{b})}divide start_ARG ∂ italic_d italic_i italic_s ( italic_t start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ) end_ARG start_ARG ∂ italic_R ( italic_t start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ) end_ARG readily reveals that dis(tb)𝑑𝑖𝑠subscript𝑡𝑏dis(t_{b})italic_d italic_i italic_s ( italic_t start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ) exhibits monotonic behavior within the range R(tb)[π2,π2]𝑅subscript𝑡𝑏𝜋2𝜋2R(t_{b})\in\left[\frac{-\pi}{2},\frac{\pi}{2}\right]italic_R ( italic_t start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ) ∈ [ divide start_ARG - italic_π end_ARG start_ARG 2 end_ARG , divide start_ARG italic_π end_ARG start_ARG 2 end_ARG ]. As a result, there exists a unique value of R(tb)𝑅subscript𝑡𝑏R(t_{b})italic_R ( italic_t start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ) that supports the condition limttbdis(t)0subscript𝑡subscript𝑡𝑏𝑑𝑖𝑠𝑡0\lim_{t\to t_{b}}dis(t)\to 0roman_lim start_POSTSUBSCRIPT italic_t → italic_t start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_d italic_i italic_s ( italic_t ) → 0, and this value can be efficiently determined using numerical analysis methods.

In summary, for trot gait, there always exists an optimal spinal flexion value that corresponds to a specific distribution of balance status during a gait stride. This distribution can be effectively employed to generate stable locomotion and enhance dynamic balance during a gait stride.

IV Balance Optimization with Spinal Flexion

In this section, we explore an optimal distribution of balance status during trotting. Following this, we develop an optimized spinal flexion controller, which will operate independently of the limb controller.

IV-A The Optimal Distribution of Balance Status

Refer to captionRightLeft0.020.010.00-0.01-0.02dis(t) (m)0.000.000.000.000.250.250.250.250.500.500.500.500.750.750.750.751.001.001.001.001.251.251.251.251.501.501.501.501.751.751.751.752.002.002.002.00t (T)
Figure 4: The distance from CoM to the support area during trotting without spinal flexion. Considering a gait stride period denoted as T𝑇Titalic_T, dis(t)𝑑𝑖𝑠𝑡dis(t)italic_d italic_i italic_s ( italic_t ) is calculated by (5). Referring to Fig. 3, when dis(t)>0𝑑𝑖𝑠𝑡0dis(t)>0italic_d italic_i italic_s ( italic_t ) > 0, CoM is on the left of PfPhsubscript𝑃𝑓subscript𝑃P_{f}P_{h}italic_P start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT italic_P start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT in the coordinate system, which corresponds to the right side of the support area, as indicated by the blue-shaded region. Conversely, when dis(t)<0𝑑𝑖𝑠𝑡0dis(t)<0italic_d italic_i italic_s ( italic_t ) < 0, CoM is on the left of the support area, illustrated by the pink-shaded area. The red dashed rectangle shows the results of a half period.

To investigate the distribution of balance status during trotting, it is necessary to analyze the CoM’s distribution over time, which has a significant influence on robot dynamic balance. Fig. 4 indicates the CoM’s distribution relative to the robot’s support area. Within the blue-shaded area, the CoM is situated to the right of the support area, leading to a continuous tilting of the robot to the right. The pink area exhibits an opposite scenario. As depicted in Fig. 4, the extent of the robot’s tilt towards each side is different within a half-period. Notably, at the midpoint of a period, the transition between the limb stance phase and swing phase occurs. Specifically, during t[0,T2)𝑡0𝑇2t\in[0,\frac{T}{2})italic_t ∈ [ 0 , divide start_ARG italic_T end_ARG start_ARG 2 end_ARG ), the robot’s footholds are LF and RH. While t[T2,T)𝑡𝑇2𝑇t\in[\frac{T}{2},T)italic_t ∈ [ divide start_ARG italic_T end_ARG start_ARG 2 end_ARG , italic_T ), the robot’s footholds switch to RF and LH. Consequently, the robot tends to tilt to one side after a stance phase. For instance, when t=T2𝑡𝑇2t=\frac{T}{2}italic_t = divide start_ARG italic_T end_ARG start_ARG 2 end_ARG, the robot tilts to the right. This phenomenon leads to an unbalanced status in the robot’s gait, impacting the locomotion of the following stance phase.

In Fig. 5, the robot’s status at t=T2𝑡𝑇2t=\frac{T}{2}italic_t = divide start_ARG italic_T end_ARG start_ARG 2 end_ARG is depicted. As the robot tilts to the right with a roll angle θrollsubscript𝜃roll\theta_{\text{roll}}italic_θ start_POSTSUBSCRIPT roll end_POSTSUBSCRIPT, the limb RH𝑅𝐻RHitalic_R italic_H will experience a shorter swing phase, causing the robot to tilt backward. When transitioning footholds to the RF𝑅𝐹RFitalic_R italic_F and LH𝐿𝐻LHitalic_L italic_H at the same time, RH𝑅𝐻RHitalic_R italic_H will still be in the stance phase, starting its swing phase later. This leads to an unbalanced robot status after a stance phase, introducing partial errors to the robot’s gait over time. To prevent adverse effects on robot locomotion following a stance phase, θrollsubscript𝜃roll\theta_{\text{roll}}italic_θ start_POSTSUBSCRIPT roll end_POSTSUBSCRIPT should be zero at t=T2𝑡𝑇2t=\frac{T}{2}italic_t = divide start_ARG italic_T end_ARG start_ARG 2 end_ARG, thereby allowing the limbs to correctly switch between swing and stance phases. To achieve this requirement, it is essential to ensure that the extent of the robot’s tilt towards each side, influenced by the duration of the tilted state, remains evenly distributed throughout a stance phase. Consequently, the balance state of the trot gait should be strategically synchronized with the midpoint of a desired stance phase, specifically at dis((2n+1)T4)=0,nformulae-sequence𝑑𝑖𝑠2𝑛1𝑇40𝑛dis(\frac{(2n+1)T}{4})=0,n\in\mathbb{N}italic_d italic_i italic_s ( divide start_ARG ( 2 italic_n + 1 ) italic_T end_ARG start_ARG 4 end_ARG ) = 0 , italic_n ∈ blackboard_N. In this context, tbsubscript𝑡𝑏t_{b}italic_t start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT in (6) should be set as tb=(2n+1)T4subscript𝑡𝑏2𝑛1𝑇4t_{b}=\frac{(2n+1)T}{4}italic_t start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT = divide start_ARG ( 2 italic_n + 1 ) italic_T end_ARG start_ARG 4 end_ARG. And the distribution of balance status for optimizing the robot’s trot gait can be expressed as:

limt(2n+1)T4dis(t)0,n.formulae-sequencesubscript𝑡2𝑛1𝑇4𝑑𝑖𝑠𝑡0𝑛\textstyle\lim_{t\to\frac{(2n+1)T}{4}}dis(t)\to 0,n\in\mathbb{N}.roman_lim start_POSTSUBSCRIPT italic_t → divide start_ARG ( 2 italic_n + 1 ) italic_T end_ARG start_ARG 4 end_ARG end_POSTSUBSCRIPT italic_d italic_i italic_s ( italic_t ) → 0 , italic_n ∈ blackboard_N . (7)
θrollsubscript𝜃𝑟𝑜𝑙𝑙\theta_{roll}italic_θ start_POSTSUBSCRIPT italic_r italic_o italic_l italic_l end_POSTSUBSCRIPT𝐳𝐳\mathbf{z}bold_z𝐲𝐲\mathbf{y}bold_yRH𝑅𝐻RHitalic_R italic_HLF𝐿𝐹LFitalic_L italic_F
Figure 5: Frontal view of the unbalanced robot. RH𝑅𝐻RHitalic_R italic_H and LF𝐿𝐹LFitalic_L italic_F are two limbs within a stance phase. The red arrow is the direction of gravity. The y-axis and z-axis are based on the local coordinate system of the robot. And θrollsubscript𝜃roll\theta_{\text{roll}}italic_θ start_POSTSUBSCRIPT roll end_POSTSUBSCRIPT is the roll angle of the robot and can indicate the degree of tilt of the robot.

IV-B Spinal Flexion for Balance Optimization

k=𝑘absentk=italic_k =2arccosRαπ2superscript𝑅𝛼𝜋\frac{2\arccos{\frac{R^{\prime}}{\alpha}}}{\pi}divide start_ARG 2 roman_arccos divide start_ARG italic_R start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_ARG start_ARG italic_α end_ARG end_ARG start_ARG italic_π end_ARGk=𝑘absentk=italic_k =22arccosRαπ22superscript𝑅𝛼𝜋2-\frac{2\arccos{\frac{R^{\prime}}{\alpha}}}{\pi}2 - divide start_ARG 2 roman_arccos divide start_ARG italic_R start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_ARG start_ARG italic_α end_ARG end_ARG start_ARG italic_π end_ARGt=(2n+1)T4𝑡2𝑛1𝑇4t=\frac{(2n+1)T}{4}italic_t = divide start_ARG ( 2 italic_n + 1 ) italic_T end_ARG start_ARG 4 end_ARGt=nT2𝑡𝑛𝑇2t=\frac{nT}{2}italic_t = divide start_ARG italic_n italic_T end_ARG start_ARG 2 end_ARG
Figure 6: The binary state machine for changing the scale value k𝑘kitalic_k. The α𝛼\alphaitalic_α is the amplitude of the spinal flexion. Rsuperscript𝑅R^{\prime}italic_R start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT is the spinal flexion value that maintains the robot with a balance status.

Combining (6) and (7), we can always find a constant value R((2n+1)T4)𝑅2𝑛1𝑇4R(\frac{(2n+1)T}{4})italic_R ( divide start_ARG ( 2 italic_n + 1 ) italic_T end_ARG start_ARG 4 end_ARG ) that ensures limt(2n+1)T4dis(t)0subscript𝑡2𝑛1𝑇4𝑑𝑖𝑠𝑡0\lim_{t\to\frac{(2n+1)T}{4}}dis(t)\to 0roman_lim start_POSTSUBSCRIPT italic_t → divide start_ARG ( 2 italic_n + 1 ) italic_T end_ARG start_ARG 4 end_ARG end_POSTSUBSCRIPT italic_d italic_i italic_s ( italic_t ) → 0. For simplicity,we define |R((2n+1)T4)|=R𝑅2𝑛1𝑇4superscript𝑅|R(\frac{(2n+1)T}{4})|=R^{\prime}| italic_R ( divide start_ARG ( 2 italic_n + 1 ) italic_T end_ARG start_ARG 4 end_ARG ) | = italic_R start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT. In our previous work [30], the controller for spinal flexion is defined as R(t)=αcos(ωt+φ)𝑅𝑡𝛼𝜔𝑡𝜑R(t)=\alpha\cos{(\omega t+\varphi)}italic_R ( italic_t ) = italic_α roman_cos ( italic_ω italic_t + italic_φ ), where α𝛼\alphaitalic_α represents the amplitude of spinal flexion, and φ𝜑\varphiitalic_φ denotes the initial phase. Let R(t)=αcos(ωt+φ)=R𝑅superscript𝑡𝛼𝜔superscript𝑡𝜑superscript𝑅R(t^{\prime})=\alpha\cos{(\omega t^{\prime}+\varphi)}=R^{\prime}italic_R ( italic_t start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) = italic_α roman_cos ( italic_ω italic_t start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT + italic_φ ) = italic_R start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT. This implies that t=arccosRαφωsuperscript𝑡superscript𝑅𝛼𝜑𝜔t^{\prime}=\frac{\arccos{\frac{R^{\prime}}{\alpha}}-\varphi}{\omega}italic_t start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT = divide start_ARG roman_arccos divide start_ARG italic_R start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_ARG start_ARG italic_α end_ARG - italic_φ end_ARG start_ARG italic_ω end_ARG, which is not always equal to (2n+1)T4φ2𝑛1𝑇4𝜑\frac{(2n+1)T}{4}-\varphidivide start_ARG ( 2 italic_n + 1 ) italic_T end_ARG start_ARG 4 end_ARG - italic_φ. To ensure limt(2n+1)T4dis(t)0subscript𝑡2𝑛1𝑇4𝑑𝑖𝑠𝑡0\lim_{t\to\frac{(2n+1)T}{4}}dis(t)\to 0roman_lim start_POSTSUBSCRIPT italic_t → divide start_ARG ( 2 italic_n + 1 ) italic_T end_ARG start_ARG 4 end_ARG end_POSTSUBSCRIPT italic_d italic_i italic_s ( italic_t ) → 0, the timeline values need to be scaled using a scaling factor k𝑘kitalic_k. Since φ𝜑\varphiitalic_φ does not influence the scaling processes in this context, we can assume φ𝜑\varphiitalic_φ to be zero in the following calculations. Let’s take the first stance phase as an example, where t[0,T2)𝑡0𝑇2t\in[0,\frac{T}{2})italic_t ∈ [ 0 , divide start_ARG italic_T end_ARG start_ARG 2 end_ARG ). The scaling processes on the timeline can be represented as mapping [0,t)0superscript𝑡[0,t^{\prime})[ 0 , italic_t start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) to [0,T4)0𝑇4[0,\frac{T}{4})[ 0 , divide start_ARG italic_T end_ARG start_ARG 4 end_ARG ) and mapping [t,T2)superscript𝑡𝑇2[t^{\prime},\frac{T}{2})[ italic_t start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , divide start_ARG italic_T end_ARG start_ARG 2 end_ARG ) to [T4,T2)𝑇4𝑇2[\frac{T}{4},\frac{T}{2})[ divide start_ARG italic_T end_ARG start_ARG 4 end_ARG , divide start_ARG italic_T end_ARG start_ARG 2 end_ARG ). To map [0,t)0superscript𝑡[0,t^{\prime})[ 0 , italic_t start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) to [0,T4)0𝑇4[0,\frac{T}{4})[ 0 , divide start_ARG italic_T end_ARG start_ARG 4 end_ARG ), kT4=t𝑘𝑇4superscript𝑡\frac{kT}{4}=t^{\prime}divide start_ARG italic_k italic_T end_ARG start_ARG 4 end_ARG = italic_t start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT. As ω=2πT𝜔2𝜋𝑇\omega=\frac{2\pi}{T}italic_ω = divide start_ARG 2 italic_π end_ARG start_ARG italic_T end_ARG, k=2arccosRαπ𝑘2superscript𝑅𝛼𝜋k=\frac{2\arccos{\frac{R^{\prime}}{\alpha}}}{\pi}italic_k = divide start_ARG 2 roman_arccos divide start_ARG italic_R start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_ARG start_ARG italic_α end_ARG end_ARG start_ARG italic_π end_ARG. Similarly, when t[T4,T2)𝑡𝑇4𝑇2t\in[\frac{T}{4},\frac{T}{2})italic_t ∈ [ divide start_ARG italic_T end_ARG start_ARG 4 end_ARG , divide start_ARG italic_T end_ARG start_ARG 2 end_ARG ), k=22arccosRαπ𝑘22superscript𝑅𝛼𝜋k=2-\frac{2\arccos{\frac{R^{\prime}}{\alpha}}}{\pi}italic_k = 2 - divide start_ARG 2 roman_arccos divide start_ARG italic_R start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_ARG start_ARG italic_α end_ARG end_ARG start_ARG italic_π end_ARG. Based on this, the change in the scale factor k𝑘kitalic_k can be expressed as a binary state machine, as shown in Fig. 6.

The controller for controlling spinal flexion over time can be effectively designed using a discrete model based on the scale value k𝑘kitalic_k with a minimum time step denoted as tssubscript𝑡𝑠t_{s}italic_t start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT. The scaled value on the timeline can be expressed as fT(t)=fT(tts)+kω=fT(tts)+k2πTsubscript𝑓𝑇𝑡subscript𝑓𝑇𝑡subscript𝑡𝑠𝑘𝜔subscript𝑓𝑇𝑡subscript𝑡𝑠𝑘2𝜋𝑇f_{T}(t)=f_{T}(t-t_{s})+k\omega=f_{T}(t-t_{s})+k\frac{2\pi}{T}italic_f start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_t ) = italic_f start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_t - italic_t start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ) + italic_k italic_ω = italic_f start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_t - italic_t start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ) + italic_k divide start_ARG 2 italic_π end_ARG start_ARG italic_T end_ARG. Thus, the spinal controller for balance optimization is

R(t)=αcos(fT(t)+φ),fT(t)=fT(tts)+k2πT.formulae-sequence𝑅𝑡𝛼subscript𝑓𝑇𝑡𝜑subscript𝑓𝑇𝑡subscript𝑓𝑇𝑡subscript𝑡𝑠𝑘2𝜋𝑇\begin{split}R(t)=&\alpha\cos{(f_{T}(t)+\varphi)},\\ f_{T}(t)=&f_{T}(t-t_{s})+k\frac{2\pi}{T}.\end{split}start_ROW start_CELL italic_R ( italic_t ) = end_CELL start_CELL italic_α roman_cos ( italic_f start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_t ) + italic_φ ) , end_CELL end_ROW start_ROW start_CELL italic_f start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_t ) = end_CELL start_CELL italic_f start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_t - italic_t start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ) + italic_k divide start_ARG 2 italic_π end_ARG start_ARG italic_T end_ARG . end_CELL end_ROW (8)

Considering (8), (7) always holds true. Specifically, when the robot transitions between the stance and swing phases of a limb during trotting, θroll=0subscript𝜃roll0\theta_{\text{roll}}=0italic_θ start_POSTSUBSCRIPT roll end_POSTSUBSCRIPT = 0. This enables the robot to optimize its gait balance over time, thereby mitigating locomotion errors caused by imbalance.

V Experiments

This section presents the simulation and real-world experiments designed to evaluate the dynamic balance capability of the rat robot during trotting. We compare the performance of three distinct controllers, thereby demonstrating the effectiveness of the proposed controller in enhancing dynamic balance during trotting.

V-A Experiment Setup

Refer to caption𝐱𝐱\mathbf{x}bold_x𝐲𝐲\mathbf{y}bold_yθ𝐩𝐢𝐭𝐜𝐡subscript𝜃𝐩𝐢𝐭𝐜𝐡\mathbf{\theta_{pitch}}italic_θ start_POSTSUBSCRIPT bold_pitch end_POSTSUBSCRIPTθ𝐫𝐨𝐥𝐥subscript𝜃𝐫𝐨𝐥𝐥\mathbf{\theta_{roll}}italic_θ start_POSTSUBSCRIPT bold_roll end_POSTSUBSCRIPT
Figure 7: Experiment setup used in both physical experiments and simulations. The task requires the robot to walk straight along its x-axis, as the white arrow shows. The roll angle θrollsubscript𝜃roll\theta_{\text{roll}}italic_θ start_POSTSUBSCRIPT roll end_POSTSUBSCRIPT characterizes the lateral tilt of the robot, while the pitch angle θpitchsubscript𝜃pitch\theta_{\text{pitch}}italic_θ start_POSTSUBSCRIPT pitch end_POSTSUBSCRIPT depicts the forward and backward tilting action of the robot. During experiments, θrollsubscript𝜃roll\theta_{\text{roll}}italic_θ start_POSTSUBSCRIPT roll end_POSTSUBSCRIPT and θpitchsubscript𝜃pitch\theta_{\text{pitch}}italic_θ start_POSTSUBSCRIPT pitch end_POSTSUBSCRIPT are applied to evaluate the dynamic balance of the robot.

The experimental setup is depicted in Fig. 7. The robot is controlled to go straight along the x-axis. The roll and pitch angles are measured via the IMU sensor to evaluate the dynamic balance during trot gait. To compare the dynamic balance of different controllers, the robot is controlled with stride frequencies determined as 0.5+0.4m0.50.4𝑚0.5+0.4m0.5 + 0.4 italic_m, where m[0,10]𝑚010m\in[0,10]italic_m ∈ [ 0 , 10 ] and m𝑚m\in\mathbb{N}italic_m ∈ blackboard_N. For each distinct stride frequency, we execute ten sets of repeated experiments, each starting from a random initial state. A video accompanying the paper shows both simulation and real-world experiment behaviors.

This paper examines three controllers in the comparative experiments: a default trot gait controller, a trot gait controller incorporating spinal flexion proposed in our prior work [30] (referred to as “non-spine” and “spine” controllers, respectively), and the novel “balance-spine” controller specifically designed to optimize robot balance through spinal flexion. Among them, the “balance-spine” controller is composed of the default trot gait controller that directly adds the proposed spinal controller. As illustrated in Fig. 5, the dynamic balance of the robot is quantified as the robot’s tilt angle after completing half of a gait stride. In this context, the mean values of roll angle and pitch angle during a half stride period are consistently employed across all experiment results as performance indicators, denoted as θrollsubscript𝜃roll\theta_{\text{roll}}italic_θ start_POSTSUBSCRIPT roll end_POSTSUBSCRIPT and θpitchsubscript𝜃pitch\theta_{\text{pitch}}italic_θ start_POSTSUBSCRIPT pitch end_POSTSUBSCRIPT, respectively.

V-B Influence on Locomotion

Refer to caption
Figure 8: The trajectory of a hind limb walking on the ground using different controllers. The dashed black line represents the initial trajectory configuration for the limb. This figure intuitively displays the stance phase and swing phase of a limb. When the trajectory overlaps the ground, the limb is a foothold and in the stance phase.

Analyzing the findings presented in Fig. 5, an unbalanced condition may lead to the robot tilting backward, consequently causing a late start of the hind limb’s swing phase. For instance, the trajectory of one of the hind limbs is depicted in Fig. 8. When employing the default trot gait controller, the hind limb exhibits minimal time touching the ground, leading to significant deviations from the desired locomotion. This phenomenon explains that unexpected behaviors happen during trotting without balance optimization. In other words, an improved dynamic balance enables enhanced robot locomotion. Fig. 8 clearly illustrates that the foot trajectory under the “balance-spine” controller exhibits a more extended swing phase compared to the “spine” controller. This observation indicates that the robot, under the guidance of the proposed controller, maintains a more stable stance posture and achieves better balance during trotting. This characteristic translates into significantly increased running speed, as depicted in Fig. 9. Across all experiments during diverse stride frequencies, the robot controlled by the proposed controller consistently achieves the highest running speeds. Furthermore, in comparison to the “spine” and “non-spine”, the proposed controller can enhance the velocity of the robot by up to 109.0% and 147.8%, respectively. In summary, the proposed controller effectively preserves the predefined limb actions and enhances the robot’s locomotion.

Refer to caption
Figure 9: The velocity of the robot controlled by different controllers.
Refer to caption
(a) The mean of θpitchsubscript𝜃pitch\theta_{\text{pitch}}italic_θ start_POSTSUBSCRIPT pitch end_POSTSUBSCRIPT during trotting in repeated experiments,
Refer to caption
(b) The mean of θrollsubscript𝜃roll\theta_{\text{roll}}italic_θ start_POSTSUBSCRIPT roll end_POSTSUBSCRIPT during trotting in repeated experiments,
Figure 10: Performances to indicate the dynamic balance. The “non-spine”, “spine”, and “balance-spine” are different controllers with definitions in the experiment setup. The shaded areas present the results of repeated experiments done with random initial robot status.
Refer to captionRefer to captionnon-spinebalance-spine
(a) t = 0 s
Refer to captionRefer to caption
(b) t = 2 s
Refer to captionRefer to caption
(c) t = 4 s
Refer to captionRefer to caption
(d) t = 6 s
Refer to captionRefer to caption
(e) t = 8 s
Figure 11: Montage of the trotting gaits in the real world. The first row shows the movement of the rat robot controlled by “non-spine”. The second row shows the movement of the rat robot controlled by “balance-spine”. The color bar positioned at the upper right corner of each sub-figure depicts θroll[0,8]subscript𝜃rollsuperscript0superscript8\theta_{\text{roll}}\in[0^{\circ},8^{\circ}]italic_θ start_POSTSUBSCRIPT roll end_POSTSUBSCRIPT ∈ [ 0 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT , 8 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT ]. And the real-time θrollsubscript𝜃roll\theta_{\text{roll}}italic_θ start_POSTSUBSCRIPT roll end_POSTSUBSCRIPT are presented as the arrows on the color bar. Notably, the darker color refers to the larger angle.

V-C Balance Analysis in Simulations

To explore the dynamic balance of robots controlled by various controllers, θrollsubscript𝜃roll\theta_{\text{roll}}italic_θ start_POSTSUBSCRIPT roll end_POSTSUBSCRIPT and θpitchsubscript𝜃pitch\theta_{\text{pitch}}italic_θ start_POSTSUBSCRIPT pitch end_POSTSUBSCRIPT, which indicates the robot’s balance, are analyzed across different stride frequencies during trotting. In Fig. 10(a), the pitch angle of the robot controlled by the “non-spine” significantly exceeds that of other controllers. This larger pitch angle consistently causes the robot controlled by the “non-spine” to tilt backward during trotting, as previously discussed, resulting in a shortened hind limb swing phase. Moreover, the “balance-spine” controller exhibits slightly superior performance compared to the “spine” controller and controls the robot with pitch angles near zero. In this context, the robot guided by spinal flexion exhibits an insignificant pitch angle and successfully preserves its predefined limb actions and desired locomotion during trotting. In Fig. 10(b), θrollsubscript𝜃roll\theta_{\text{roll}}italic_θ start_POSTSUBSCRIPT roll end_POSTSUBSCRIPT quantifies the extent of lateral oscillation experienced by the robot during trotting. It is evident that the robot under the influence of the proposed controller consistently exhibits minimal oscillation angles across various stride frequencies. This finding demonstrates the superior dynamic balance performance and enhanced locomotion stability achieved by the robot when controlled by the proposed controller. Although the proposed controller is unable to maintain the robot in balance status all the time, it can greatly optimize the dynamic balance of the robot’s gait and maintain its desired locomotion.

V-D Real-World Experiments

Refer to caption
(a) The mean of θpitchsubscript𝜃pitch\theta_{\text{pitch}}italic_θ start_POSTSUBSCRIPT pitch end_POSTSUBSCRIPT,
Refer to caption
(b) The mean of θrollsubscript𝜃roll\theta_{\text{roll}}italic_θ start_POSTSUBSCRIPT roll end_POSTSUBSCRIPT,
Figure 12: The performance of dynamic balances of physical robots. Repeated experiments are done based on stride frequencies equal to 0.5 Hz. And the mean value of θpitchsubscript𝜃pitch\theta_{\text{pitch}}italic_θ start_POSTSUBSCRIPT pitch end_POSTSUBSCRIPT and θrollsubscript𝜃roll\theta_{\text{roll}}italic_θ start_POSTSUBSCRIPT roll end_POSTSUBSCRIPT is recorded during trotting.

To further validate the effectiveness of our proposed controller, we conducted experiments using a physical rat robot. The montage of the robot walking along its x-axis is shown in Fig. 11. At each moment, the color bar on the upper right corner depicts θroll[0,8]subscript𝜃rollsuperscript0superscript8\theta_{\text{roll}}\in[0^{\circ},8^{\circ}]italic_θ start_POSTSUBSCRIPT roll end_POSTSUBSCRIPT ∈ [ 0 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT , 8 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT ]. The darker color corresponds to a larger θrollsubscript𝜃roll\theta_{\text{roll}}italic_θ start_POSTSUBSCRIPT roll end_POSTSUBSCRIPT. As illustrated in the color bars, θrollsubscript𝜃roll\theta_{\text{roll}}italic_θ start_POSTSUBSCRIPT roll end_POSTSUBSCRIPT of the robot controlled by “non-spine” during trotting is always larger than the other. To further analyze the dynamic balance of different controller, the results of repeated experiments are illustrated in Fig. 12. In comparison to the simulation results, the observed θpitchsubscript𝜃pitch\theta_{\text{pitch}}italic_θ start_POSTSUBSCRIPT pitch end_POSTSUBSCRIPT during physical experiments exhibits a slight decline in performance. This discrepancy may be caused by the natural curvature of the soft spine, which responds to gravity. Nevertheless, θpitchsubscript𝜃pitch\theta_{\text{pitch}}italic_θ start_POSTSUBSCRIPT pitch end_POSTSUBSCRIPT consistently remains at lower values with minimal fluctuations when utilizing the proposed controller. When analyzing θrollsubscript𝜃roll\theta_{\text{roll}}italic_θ start_POSTSUBSCRIPT roll end_POSTSUBSCRIPT, the proposed controller consistently demonstrates superior performance in terms of maintaining dynamic balance compared to the default trot gait controller. The θrollsubscript𝜃roll\theta_{\text{roll}}italic_θ start_POSTSUBSCRIPT roll end_POSTSUBSCRIPT of the proposed controller also exhibits minimal fluctuation. The minimal variation observed in both θpitchsubscript𝜃pitch\theta_{\text{pitch}}italic_θ start_POSTSUBSCRIPT pitch end_POSTSUBSCRIPT and θrollsubscript𝜃roll\theta_{\text{roll}}italic_θ start_POSTSUBSCRIPT roll end_POSTSUBSCRIPT indicates the high level of stability achieved by the proposed controller in controlling robot locomotion. In summary, our proposed controller exhibits enhanced stability in regulating the robot’s locomotion, resulting in an overall improvement in dynamic balance during its gait.

VI Conclusions

This paper investigates the optimization of dynamic balance during robot gait based on spinal flexion. By analyzing the influence of spinal flexion on robot’s support area, we develop a spinal controller to optimize dynamic balance in accordance with the desired balanced status. This spinal controller is an independent controller decoupled from the limb controller. The experimental results consistently depict the effectiveness of the proposed controller, as evidenced by the robot consistently maintaining minimal pitch and roll angles. In this context, the robot controlled by the proposed controller manifests excellent dynamic balance during the gait.

For future work, we will explore the potential of cooperation of spinal flexion and limb locomotion. This future work will generate a gait that not only runs faster but is also more robust in terms of stability.

VII Acknowledgment

This research was funded by the European Union’s Horizon 2020 Framework Programme for Research and Innovation under Specific Grant Agreement No. 945539 (Human Brain Project SGA3). Additionally, it received partial support from Pazhou Laboratory Grants (No. PZL2021KF0020).

References

  • [1] D. Gong, J. Yan, and G. Zuo, “A review of gait optimization based on evolutionary computation,” Applied Computational Intelligence and Soft Computing, vol. 2010, 2010.
  • [2] S. Xiao, Z. Bing, K. Huang, and Y. Huang, “Snake-like robot climbs inside different pipes,” in 2017 IEEE International Conference on Robotics and Biomimetics (ROBIO).   IEEE, 2017, pp. 1232–1239.
  • [3] Z. Bing, C. Lemke, F. O. Morin, Z. Jiang, L. Cheng, K. Huang, and A. Knoll, “Perception-action coupling target tracking control for a snake robot via reinforcement learning,” Frontiers in Neurorobotics, vol. 14, p. 591128, 2020.
  • [4] Z. Bing, A. E. Sewisy, G. Zhuang, F. Walter, F. O. Morin, K. Huang, and A. Knoll, “Toward cognitive navigation: Design and implementation of a biologically inspired head direction cell network,” IEEE Transactions on Neural Networks and Learning Systems, vol. 33, no. 5, pp. 2147–2158, 2021.
  • [5] Z. Bing, H. Zhou, R. Li, X. Su, F. O. Morin, K. Huang, and A. Knoll, “Solving robotic manipulation with sparse reward reinforcement learning via graph-based diversity and proximity,” IEEE Transactions on Industrial Electronics, vol. 70, no. 3, pp. 2759–2769, 2022.
  • [6] H. Zhou, X. Yao, Y. Meng, S. Sun, Z. Bing, K. Huang, and A. Knoll, “Language-conditioned learning for robotic manipulation: A survey,” arXiv preprint arXiv:2312.10807, 2023.
  • [7] M. Wang, Z. Bing, X. Yao, S. Wang, H. Kai, H. Su, C. Yang, and A. Knoll, “Meta-reinforcement learning based on self-supervised task representation learning,” in Proceedings of the AAAI Conference on Artificial Intelligence, vol. 37, no. 8, 2023, pp. 10 157–10 165.
  • [8] Z. Bing, M. Brucker, F. O. Morin, R. Li, X. Su, K. Huang, and A. Knoll, “Complex robotic manipulation via graph-based hindsight goal generation,” IEEE Transactions on neural networks and learning systems, vol. 33, no. 12, pp. 7863–7876, 2021.
  • [9] A. W. Winkler, C. Mastalli, I. Havoutis, M. Focchi, D. G. Caldwell, and C. Semini, “Planning and execution of dynamic whole-body locomotion for a hydraulic quadruped on challenging terrain,” in 2015 IEEE International Conference on Robotics and Automation (ICRA).   IEEE, 2015, pp. 5148–5154.
  • [10] P. Biswal and P. K. Mohanty, “Development of quadruped walking robots: A review,” Ain Shams Engineering Journal, vol. 12, no. 2, pp. 2017–2031, 2021.
  • [11] Z. Bing, D. Lerch, K. Huang, and A. Knoll, “Meta-reinforcement learning in non-stationary and dynamic environments,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 45, no. 3, pp. 3476–3491, 2022.
  • [12] Z. Zhang, Y. Huang, Z. Zhao, Z. Bing, A. Knoll, and K. Huang, “A hierarchical reinforcement learning approach for adaptive quadruped locomotion of a rat robot,” in 2023 IEEE International Conference on Robotics and Biomimetics (ROBIO).   IEEE, 2023, pp. 1–6.
  • [13] Z. Bing, L. Knak, L. Cheng, F. O. Morin, K. Huang, and A. Knoll, “Meta-reinforcement learning in nonstationary and nonparametric environments,” IEEE Transactions on Neural Networks and Learning Systems, 2023.
  • [14] B. Ugurlu, K. Kotaka, and T. Narikiyo, “Actively-compliant locomotion control on rough terrain: Cyclic jumping and trotting experiments on a stiff-by-nature quadruped,” in 2013 IEEE international conference on robotics and automation.   IEEE, 2013, pp. 3313–3320.
  • [15] Y. Jia, X. Luo, B. Han, G. Liang, J. Zhao, and Y. Zhao, “Stability criterion for dynamic gaits of quadruped robot,” Applied Sciences, vol. 8, no. 12, p. 2381, 2018.
  • [16] J. He, J. Shao, G. Sun, and X. Shao, “Survey of quadruped robots coping strategies in complex situations,” Electronics, vol. 8, no. 12, p. 1414, 2019.
  • [17] G. Bledt, M. J. Powell, B. Katz, J. Di Carlo, P. M. Wensing, and S. Kim, “Mit cheetah 3: Design and control of a robust, dynamic quadruped robot,” in 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).   IEEE, 2018, pp. 2245–2252.
  • [18] Z. Bing, A. Rohregger, F. Walter, Y. Huang, P. Lucas, F. O. Morin, K. Huang, and A. Knoll, “Lateral flexion of a compliant spine improves motor performance in a bioinspired mouse robot,” Science Robotics, vol. 8, no. 85, p. eadg7165, 2023.
  • [19] M. Vukobratović and B. Borovac, “Zero-moment point—thirty five years of its life,” International journal of humanoid robotics, vol. 1, no. 01, pp. 157–173, 2004.
  • [20] B. Ugurlu, I. Havoutis, C. Semini, and D. G. Caldwell, “Dynamic trot-walking with the hydraulic quadruped robot—hyq: Analytical trajectory generation and active compliance control,” in 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems.   IEEE, 2013, pp. 6044–6051.
  • [21] G. Chen, S. Guo, B. Hou, and J. Wang, “Virtual model control for quadruped robots,” IEEE Access, vol. 8, pp. 140 736–140 751, 2020.
  • [22] H. Diedam, D. Dimitrov, P.-B. Wieber, K. Mombaur, and M. Diehl, “Online walking gait generation with adaptive foot positioning through linear model predictive control,” in 2008 IEEE/RSJ International Conference on Intelligent Robots and Systems.   IEEE, 2008, pp. 1121–1126.
  • [23] C. Mastalli, W. Merkt, G. Xin, J. Shim, M. Mistry, I. Havoutis, and S. Vijayakumar, “Agile maneuvers in legged robots: a predictive control approach,” arXiv preprint arXiv:2203.07554, 2022.
  • [24] W. Sun, X. Tian, Y. Song, B. Pang, X. Yuan, and Q. Xu, “Balance control of a quadruped robot based on foot fall adjustment,” Applied Sciences, vol. 12, no. 5, p. 2521, 2022.
  • [25] H. Chen, Z. Hong, S. Yang, P. M. Wensing, and W. Zhang, “Quadruped capturability and push recovery via a switched-systems characterization of dynamic balance,” IEEE Transactions on Robotics, 2023.
  • [26] T. R. Ham, M. Farrag, A. M. Soltisz, E. H. Lakes, K. D. Allen, and N. D. Leipzig, “Automated gait analysis detects improvements after intracellular σ𝜎\sigmaitalic_σ peptide administration in a rat hemisection model of spinal cord injury,” Annals of biomedical engineering, vol. 47, pp. 744–753, 2019.
  • [27] Y. Huang, Z. Bing, Z. Zhang, K. Huang, F. O. Morin, and A. Knoll, “Smooth stride length change of rat robot with a compliant actuated spine based on cpg controller,” in 2023 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).   IEEE, 2023, pp. 331–338.
  • [28] D. Chen, N. Li, H. Wang, and L. Chen, “Effect of flexible spine motion on energy efficiency in quadruped running,” Journal of Bionic Engineering, vol. 14, no. 4, pp. 716–725, 2017.
  • [29] S. Bhattacharya, A. Singla, D. Dholakiya, S. Bhatnagar, B. Amrutur, A. Ghosal, S. Kolathaya, et al., “Learning active spine behaviors for dynamic and efficient locomotion in quadruped robots,” in 2019 28th IEEE International Conference on Robot and Human Interactive Communication (RO-MAN).   IEEE, 2019, pp. 1–6.
  • [30] Y. Huang, Z. Bing, F. Walter, A. Rohregger, Z. Zhang, K. Huang, F. O. Morin, and A. Knoll, “Enhanced quadruped locomotion of a rat robot based on the lateral flexion of a soft actuated spine,” in 2022 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).   IEEE, 2022, pp. 2622–2627.