November 21, 2024
Our work aims to make significant strides in understanding unexplored locomotion control paradigms based on the integration of posture manipulation and thrust vectoring. These techniques are commonly seen in nature, such as Chukar birds using their wings to run on a nearly vertical wall. In this work, we developed a capture-point-based controller integrated with a quadratic programming (QP) solver which is used to create a thruster-assisted dynamic bipedal walking controller for our state-of-the-art Harpy platform. Harpy is a bipedal robot capable of legged-aerial locomotion using its legs and thrusters attached to its main frame. While capture point control based on centroidal models for bipedal systems has been extensively studied, the use of these thrusters in determining the capture point for a bipedal robot has not been extensively explored. The addition of these external thrust forces can lead to interesting interpretations of locomotion, such as virtual buoyancy studied in aquatic-legged locomotion. In this work, we derive a thruster-assisted bipedal walking with the capture point controller and implement it in simulation to study its performance.
Raibert’s robots [1] and those from Boston Dynamics [2]–[4] stand out as some of the most successful legged robots, capable of robust hopping or trotting even amid substantial unplanned disturbances. In addition to these advancements, various underactuated and fully actuated bipedal robots have emerged [5]–[8]. Agility Robotics’ Cassie [9], ASIMO [10], HRP [11], HUBO [12] and TALOS [13] display abilities such as walking, running, dancing, and navigating stairs, while Atlas can recover from pushes [14].
Boston Dynamics’ Atlas is known for performing acrobatics such as jumping and flipping, parkour, running and bounding, and gymnastic routines. However, despite these capabilities, all these systems remain susceptible to falling and have been achieved through extensive trial and error, much of which is not publicized. Consequently, it is difficult to assess the repeatability or robustness of these maneuvers in real-world applications.
Even humans, renowned for their natural, dynamic, and robust gaits, cannot consistently recover from severe terrain perturbations, external pushes, or slips on icy surfaces. Our objective is to enhance the robustness of these systems by implementing a distributed array of thrusters and employing nonlinear control techniques.
The primary contribution of this work is the development of a capture-point-based controller integrated with a quadratic programming (QP) solver. This combination is used to create a thruster-assisted dynamic bipedal walking controller for our state-of-the-art Harpy platform, as illustrated in Fig. 1.
Recent tests have explored the application of thrusters (i.e., thrust vectoring) and posture manipulation in notable robots such as the Multi-modal mobility morphobot (M4) [15]–[17] and LEONARDO [16], [18]–[20].
The M4 robot aims to enhance locomotion versatility by combining posture manipulation and thrust vectoring, enabling modes such as walking, wheeling, flying, and loco-manipulation. LEONARDO, a quadcopter with two legs, can perform both quasi-static walking and flying. However, neither of these robots fully demonstrate dynamic legged locomotion and aerial mobility. Integrating these modes poses a significant challenge due to conflicting requirements (see [15]). Achieving both dynamic walking and aerial mobility within a single platform remains a major obstacle in hardware and control design.
Our work aims to make significant strides in understanding unexplored locomotion control paradigms based on the integration of posture manipulation and thrust vectoring. These techniques, commonly used by birds, which are known for their locomotion plasticity and robust locomotion feats. For instance, Chukar birds can perform a wing-assisted incline running (WAIR) maneuver [21], [22]. In the WAIR maneuver, Chukar birds utilize their flapping wings and the resulting aerodynamic forces to increase contact forces, allowing them to ascend steep slopes that conventional bipedal robots would find challenging to navigate.
In this study, we employ a detailed model of Harpy (depicted in Fig. 1) using Matlab Simscape to evaluate our controller’s effectiveness. Harpy is equipped with eight custom-designed high-energy density actuators for dynamic walking, along with electric ducted fans mounted on its torso sides. Harpy’s height measures 600 cm and weighs 4.5 Kg. It hosts a computer based on Elmo amplifiers for real-time low-level control command executions.
Harpy’s design integrates advantages from both aerial and dynamic bipedal legged systems. Currently, the hardware design and assembly of Harpy have been completed [23], and our primary goal is to explore various control design strategies for this platform [24], [25].
While capture point control based on centroidal models for bipedal systems has been extensively studied [14], [26]–[28], the incorporation of thruster forces that can influence the dynamics of linear inverted pendulum models, often used in capture point-based works, has not been explored before and is limited to [29]–[31]. The inclusion of these external thrust forces can lead to interesting interpretations of locomotion, such as virtual buoyancy studied in aquatic-legged locomotion.
In this work, we aim to design a planning and control approach that enables stable trotting in place by extending our previous work [32]. The main contributions of this paper are: a) formulating a QP-based reference tracking controller which has dynamics of VLIP model and capture point. b) To study the effect of thruster force on the stability and robustness of the system, we made thruster force a parameter for the QP controller. c) we want to take some meaningful steps towards exploring the unexplored domain of thruster-assisted dynamic terrestrial locomotion.
This work is structured as follows: we present the derivations of Harpy reduced order model, followed by the capture point control,Online planning using Quadratic Programming(QP), simulation results, and concluding remarks.
This section outlines the dynamics formulation of the robot which is used in the numerical simulation in Section 3, in addition to the reduced order models which are used in the controller design. Figure 1 shows the kinematic configuration of Harpy which listed the center of mass (CoM) positions of the dynamic components, joint actuation torques, and thruster torques. The system model has a combined total of 12 degrees-of-freedoms (DoFs): 6 for the body and 3 on each leg. Due to the symmetry, the left and right side of the robot follow a similar derivations so only the general derivations are provided in this section.
The Harpy equations of motion are derived using Euler-Lagrangian dynamics formulation. In order to simplify the system, each linkage is assumed to be massless, with the mass concentrated at the body and the joint motors. Consequently, the lower leg kinematic chain is considered massless, significantly simplifying the system. The three leg joints are labeled as the hip frontal (pelvis \(P\)), hip sagittal (hip \(H\)), and knee sagittal (knee \(K\)), as illustrated in Fig. 1. The thrusters are also considered massless and capable of providing forces in any direction to simplify the problem.
Let \(\gamma_h\) be the frontal hip angle, while \(\phi_h\) and \(\phi_k\) represent the sagittal hip and knee angles, respectively. The superscripts \(\{B,P,H,K\}\) represent the frame of reference about the body, pelvis, hip, and knee, while the inertial frame is represented without the superscript. Let \(R_B\) be the rotation matrix from the body frame to the inertial frame (i.e., \(\boldsymbol{x} = R_B\, \boldsymbol{x}^B\)). The pelvis motor mass is added to the body mass. Then, the positions of the hip and knee centers of mass (CoM) are defined using kinematic equations: \[\begin{gather} \boldsymbol{p}_P = \boldsymbol{p}_{B} + R_{B}\, \boldsymbol{l}_{1}^{B}, \\ \boldsymbol{p}_H = \boldsymbol{p}_{P} + R_{B}\,R_x(\gamma_h)\, \boldsymbol{l}_{2}^{P} \\ \boldsymbol{p}_K = \boldsymbol{p}_{H} + R_{B}\,R_x(\gamma_h)\,R_y(\phi_h) \boldsymbol{l}_{3}^{H}, \end{gather} \label{eq:pos95com}\tag{1}\] where \(R_x\) and \(R_y\) are the rotation matrices about the \(x\) and \(y\) axes, respectively, and \(\boldsymbol{l}\) is the length vector representing the configuration of Harpy, which remains constant in its respective local frame of reference. The positions of the foot and thrusters are defined as: \[\begin{gather} \boldsymbol{p}_F = \boldsymbol{p}_{K} + R_{B}\,R_x(\gamma_h)\,R_y(\phi_h)\,R_y(\phi_k)\, \boldsymbol{l}_{4}^{K} \\ \boldsymbol{p}_T = \boldsymbol{p}_{B} + R_{B}\, \boldsymbol{l}_{t}^{B} \end{gather} \label{eq:pos95other}\tag{2}\] where the length vector from the knee to the foot is \(\boldsymbol{l}_4^K = [-l_{4a}\cos{\phi_k}, 0, -( l_{4b} + l_{4a}\sin{\phi_k})]^\top\), which represents the kinematic solution to the parallel linkage mechanism of the lower leg. Let \(\boldsymbol{\omega}_B\) be the angular velocity of the body. Then, the angular velocities of the hip and knee are defined as: \(\boldsymbol{\omega}_H^B = [\dot{\gamma}_h,0,0]^\top + \boldsymbol{\omega}_B^B\) and \(\boldsymbol{\omega}_K^H = [0,\dot{\phi}_h,0]^\top + \boldsymbol{\omega}_H^H\). Consequently, the total energy of Harpy for the Lagrangian dynamics formulation is defined as follows: \[\begin{align} K &= \tfrac{1}{2} \textstyle \sum_{i \in \mathcal{F}} \left( m_i\,\boldsymbol{p}_i^\top\, \boldsymbol{p}_i + \boldsymbol{\omega}_i^{i \top} \, \hat{I}_i \, \boldsymbol{\omega}_i^i \right) \\ V &= - \textstyle \sum_{i \in \mathcal{F}} \left( m_i\,\boldsymbol{p}_i^\top\, [0,0,-g]^\top \right), \end{align} \label{eq:energy}\tag{3}\] where \(\mathcal{F} = \{B,H_L,K_L,H_R,K_R\}\) represents the relevant frames of reference and mass components (body, left hip, left knee, right hip, right knee), and the subscripts \(L\) and \(R\) denote the left and right sides of the robot, respectively. Furthermore, \(\hat{I}_i\) denotes the inertia about its local frame, and \(g\) is the gravitational constant. This constitutes the Lagrangian of the system, given by \(L = K - V\), which is utilized to derive the Euler-Lagrange equations of motion. The dynamics of the body’s angular velocity are derived using the modified Lagrangian for rotation in \(SO(3)\) to avoid using Euler angles and the potential gimbal lock associated with them. This yields the following equations of motion following Hamilton’s principle of least action: \[\begin{gather} \tfrac{d}{dt}\left( \tfrac{\partial L}{\partial \boldsymbol{\omega}_B^B} \right) + \boldsymbol{\omega}_B^B \times \tfrac{\partial L}{\partial \boldsymbol{\omega}_B^B} + \textstyle \sum_{j=1}^{3} \boldsymbol{r}_{Bj} \times \tfrac{\partial L}{\partial \boldsymbol{r}_{Bj}} = \boldsymbol{u}_1, \\ \tfrac{d}{dt}\left( \tfrac{\partial L}{\partial \dot{\boldsymbol{q}}} \right) - \tfrac{\partial L}{\partial \boldsymbol{q}} = \boldsymbol{u}_2, \\ \tfrac{d}{dt} R_B = R_B\, [\boldsymbol{\omega}_B^B]_\times, \end{gather} \label{eq:eom95eulerlagrange}\tag{4}\] where \([\, \cdot \, ]_\times\) denotes the skew symmetric matrix, \(R_B^\top = [\boldsymbol{r}_{B1}, \boldsymbol{r}_{B2}, \boldsymbol{r}_{B3}]\), \(\boldsymbol{q} = [\boldsymbol{p}_B^\top, \gamma_{h_L}, \gamma_{h_R}, \phi_{h_L}, \phi_{h_R}]^\top\) represents the dynamical system states other than \((R_B,\boldsymbol{\omega}^B_B)\), and \(\boldsymbol{u}\) denotes the generalized forces. The knee sagittal angle \(\phi_k\), which is not associated with any mass, is updated using the knee joint acceleration input \(\boldsymbol{u}_k = [\ddot{\phi}_{k_L}, \ddot{\phi}_{k_R}]^\top\). Then, the system acceleration can be derived as follows: \[\begin{gather} M \boldsymbol{a} + \boldsymbol{h} = B_j\, \boldsymbol{u}_j + B_t\, \boldsymbol{u}_t + B_g\, \boldsymbol{u}_g \end{gather} \label{eq:eom95accel}\tag{5}\] where \(\boldsymbol{a} = [ \dot{\boldsymbol{\omega}}_B^{B\top}, \ddot{\boldsymbol{q}}^\top, \ddot{\phi}_{k_L}, \ddot{\phi}_{k_R}]^\top\), \(\boldsymbol{u}_t\) denotes the thruster force, \(\boldsymbol{u}_j = [u_{P_L}, u_{P_R}, u_{H_L}, u_{H_R}, \boldsymbol{u}_k^\top]^\top\) represents the joint actuation, and \(\boldsymbol{u}_g\) stands for the ground reaction forces (GRFs). The variables \(M\), \(\boldsymbol{h}\), \(B_t\), and \(B_g\) are functions of the full system states: \[\boldsymbol{x} = [\boldsymbol{r}_{B}^\top, \boldsymbol{q}^\top, \phi_{K_L}, \phi_{K_R}, \boldsymbol{\omega}_B^{B \top}, \dot{\boldsymbol{q}}^\top, \dot{\phi}_{K_L}, \dot{\phi}_{K_R}]^\top, \label{eq:states}\tag{6}\] where the vector \(\boldsymbol{r}_B\) contains the elements of \(R_B\). Introducing \(B_j = [0_{6 \times 6}, I_{6 \times 6}]\) allows \(\boldsymbol{u}_j\) to actuate the joint angles directly. Let \(\boldsymbol{v} = [\boldsymbol{\omega}_B^{B\top}, \dot{\boldsymbol{q}}^\top]^\top\) denote the velocity of the generalized coordinates. Then, \(B_t\) and \(B_g\) can be defined using the virtual displacement from the velocity as follows: \[\begin{align} B_t = \begin{bmatrix} \begin{pmatrix} \partial \dot{\boldsymbol{p}}_{T_L} / \partial \boldsymbol{v} \\ \partial \dot{\boldsymbol{p}}_{T_R} / \partial \boldsymbol{v} \end{pmatrix}^\top \\ 0_{2 \times 6} \end{bmatrix}, \quad B_g = \begin{bmatrix} \begin{pmatrix} \partial \dot{\boldsymbol{p}}_{F_L} / \partial \boldsymbol{v} \\ \partial \dot{\boldsymbol{p}}_{F_R} / \partial \boldsymbol{v} \end{pmatrix}^\top \\ 0_{2 \times 6} \end{bmatrix}. \end{align} \label{eq:generalized95forces}\tag{7}\] The vector \(\boldsymbol{u}_t = [\boldsymbol{u}_{t_L}^\top, \boldsymbol{u}_{t_R}^\top]^\top\) is composed of the left and right thruster forces \(\boldsymbol{u}_{t_L}\) and \(\boldsymbol{u}_{t_R}\), respectively.
The full-dynamics model can be derived using equations 4 to 7 to form \(\dot{\boldsymbol{x}} = \boldsymbol{f}(\boldsymbol{x}, \boldsymbol{u}_j, \boldsymbol{u}_t, \boldsymbol{u}_g)\). Finally, using the full-dynamics derived above, we proceed to ROM derivations. As shown in Fig. 2, the model is described using the inverted pendulum model, where the length of \(r\) can be adjusted through the change in leg conformation, i.e., variable-length inverted pendulum model (VLIP).
To design the controller, we simplify the dynamics of VLIP as depicted in Fig. 2 by projecting it onto sagittal and frontal plane. We start with deriving the equation of motion for sagittal plane. \[\begin{align} & m \ddot{p}_{B,x}=|\boldsymbol{\lambda}| \sin \theta_L+\left|\boldsymbol{u}_{t, c}\right| \sin \theta_T \\ & m \ddot{p}_{B,z}=-mg+|\boldsymbol{\lambda}| \cos \theta_L+\left|\boldsymbol{u}_{t, c}\right| \cos \theta_T \end{align} \label{eq:sagittal-vlip}\tag{8}\] where \(\theta_L\) is the angle made by the pendulum with vertical in saggital plane and \(\theta_T\) is the thruster angle with respect to vertical.The linear pendulum model can be enforced by setting \(p_{B,z}=z_0\) and \(\ddot p_{B,z}=0\). Therefore, the magnitude of \(\boldsymbol{\lambda}\) is determined by
\[\left|\boldsymbol{\lambda}\right|=\left(mg-\left|\boldsymbol{u}_{t, c}\right| \cos \theta_T\right) \frac{\left|\boldsymbol{r}\right|}{z_0}\] By substituting \(\sin \theta_L=\frac{x}{r}\) and \(\left|\boldsymbol{\lambda}\right|\) from above into Eq. 8 , \(\ddot p_{B,x}\) is given by \[m\ddot{p}_{B,x}=\frac{x}{z_0}\left(mg-\left|\boldsymbol{u}_{t, c}\right| \cos \theta_T\right)+\left|\boldsymbol{u}_{t, c}\right| \sin \theta_T\] Note that if through torso angle manipulation thruster actions around the CoM \(\boldsymbol{u}_{t,c}\) are kept perpendicular to the ground surface, i.e., \(\theta_T=0\), then we can express the virtual mass-spring model with a negative stiffness rate \(-\left(g-\frac{\left|\boldsymbol{u}_{t,c}\right|}{m}\right)\) as follows: \[\ddot{p}_{B,x}=\left(g-\frac{\left|\boldsymbol{u}_{t,c}\right|}{m}\right) \frac{p_{B,x}}{z_0} \label{eq:32sagittal32dynamics-vlip}\tag{9}\] Similarly, we can derive the equation of motion for frontal plane. \[\ddot{p}_{B,y}=\left(g-\frac{\left|\boldsymbol{u}_{t,c}\right|}{m}\right) \frac{p_{B,y}}{z_0} \label{eq:32frontal32dynamics-vlip}\tag{10}\] Since the stiffness rate in this model is negative and dictated by the thrusters, we refer to this model as virtual buoyancy. It is possible to observe that the thruster force can reduce the walking frequency, similar to submersed aquatic-legged locomotion. The orbital energy \(E\) of the virtual buoyancy model is given by \[E=\frac{1}{2} \dot{p}_{B,x}^2-\frac{1}{2}\left(g-\frac{\left|\boldsymbol{u}_{t, c}\right|}{m}\right) \frac{p_{B,x}^2}{z_0}\] When the CoM moves towards the foot and \(E > 0\), there is sufficient energy for the CoM to pass over the foot and maintain its motion. Conversely, if \(E < 0\), the CoM halts and changes direction before reaching over the foot. At \(E = 0\), the CoM comes to a rest directly above the foot. This equilibrium state, \(E = 0\), defines the two eigenvectors of the buoyancy model, expressed as: \[\dot{p}_{B,x}= \pm p_{B,x} \sqrt{\frac{g-\frac{\left|\boldsymbol{u}_{t,c}\right|}{m}}{z_0}}\] The equation above depicts a saddle point characterized by one stable and one unstable eigenvector. In the stable eigenvector, \(p_{B,x}\) and \(\dot{p}_{B,x}\) exhibit opposite signs, indicating that the CoM is approaching the CoP. Conversely, in the unstable eigenvector, they share the same signs, indicating that the CoM is moving away from the CoP. The orbital energy of the inverted pendulum remains constant until the swing leg is placed and the roles of the feet are exchanged. Assuming this exchange occurs instantaneously without energy loss, we can determine the foot placement based on the capture point, given by \[\begin{align} & p_{B,x}=\dot{p}_{B,x} \sqrt{\frac{z_0}{g-\frac{\left|\boldsymbol{u}_{t,c}\right|}{m}}} \end{align} \label{eq:Capture-point-sagittal}\tag{11}\] Similarly, we can find the capture point for frontal dynamics. \[\begin{align} & p_{B,y}=\dot{p}_{B,y} \sqrt{\frac{z_0}{g-\frac{\left|\boldsymbol{u}_{t,c}\right|}{m}}} \end{align} \label{eq:Capture-point-frontal}\tag{12}\]
The objective of the controller is to generate the desired foot placement location such that the robot follows a certain velocity. Capture point \(\left( p_{B,x}, p_{B,y} \right)\) is further extended to allow the robot to follow a certain velocity. For simplicity, the desired motion is specified by a constant base velocity \(\dot{\boldsymbol{x}}_{ref} = \left( \dot{x}_{ref,x}, \dot{x}_{ref,y} \right)\). The capture point corresponding to desired velocity is given by \[\begin{align} \xi_{x} &=K_{x}\left( \dot{p}_{B,x} - \dot{x}_{ref,x} \right) \sqrt{\frac{z_0}{g-\frac{\left|\boldsymbol{u}_{t,c}\right|}{m}}} \\ \xi_{y} &=K_{y}\left( \dot{p}_{B,y} - \dot{x}_{ref,y} \right) \sqrt{\frac{z_0}{g-\frac{\left|\boldsymbol{u}_{t,c}\right|}{m}}} \end{align} \label{eq:32desired-Capture-point}\tag{13}\] Here \(K_{x},K_{y}\) is gain and can be tuned to see how much the COM velocity affects the desired foot location. This will allow us to consider the hardware limitation. Similar concept was used in [29].we can differentiate the equation 13 to find the change in capture point and substitute equations 9 and 10 to get, \[\begin{align} & \dot{\xi}_{x}=K_{x}\left(\omega \right)p_{B,x}\\ & \dot{\xi}_{y}=K_{y}\left(\omega \right)p_{B,y} \label{eq:dot95xi} \end{align}\tag{14}\] where \(\omega = \sqrt{\left(g -\frac{\left|\boldsymbol{u}_{t,c}\right|}{m}\right)\frac{1}{z_0}}\) is the natural frequency of the Vlip model. Above equation is unstable and response is governed by \(\omega\). Using \(\boldsymbol{u}_{t,c}\) we can make system sinusodal and can change frequency of walking.
From equations 14 12 11 , we can find the state space model for QP. \[\begin{align} \begin{bmatrix} \dot{\boldsymbol{p}}_{B} \\ \dot{\boldsymbol{\xi}} \end{bmatrix} = \begin{bmatrix} 0 & \omega\\ K \omega & 0 \end{bmatrix} \begin{bmatrix} \boldsymbol{p}_{B} \\ \boldsymbol{\xi} \end{bmatrix} + \begin{bmatrix} 1 \\ 0 \end{bmatrix} \dot{\boldsymbol{x}}_{ref} \label{eq:state-space-model} \end{align}\tag{15}\] Here, \(\boldsymbol{p}_{B} = \left[p_{B,x},p_{B,y}\right]^\top\) and \(\boldsymbol{\xi} = \left[ \xi_x,\xi_y\right]^\top\). We can further discretize the dynamics for Qp formulation. \[\boldsymbol{x}_{K+1} = A_{d}\boldsymbol{x}_{K} + B_{d}\boldsymbol{u}_{K}\] We can eliminate the states from the decision variables by expressing them as function of current state \(x_{0}\) and control efforts \[\boldsymbol{x} = F\boldsymbol{x}_{0} + G\boldsymbol{u}\] where \[\begin{align} \boldsymbol{x} &= \left[x^\top_{0} x^\top_{1} x^\top_{2} \ldots x^\top_{N}\right]^\top \\ \boldsymbol{u} &= \left[u^\top_{0} u^\top_{1} u^\top_{2} \ldots u^\top_{N-1} \right]^\top \end{align}\] \[\begin{gather} F = \begin{bmatrix} \mathbb{I} \\ A_d \\ \vdots \\ A^{N}_d \end{bmatrix} G = \begin{bmatrix} 0 & & & & \\ B_d & 0 & & & \\ \vdots & & \ddots & & \\ A^{N-1}_dB_d & A^{N-2}_dB_d & \ldots &A_d B_d & B_d\\ \end{bmatrix} \end{gather}\] We create error tracking QP formulation with decision variable as \(\boldsymbol{u}\). \[\min_{\boldsymbol{u}}~\boldsymbol{u}^\top P\boldsymbol{u} + c^\top \boldsymbol{u} \label{eq:qp-formulation}\tag{16}\] subject to \[\begin{align} A_{in}\boldsymbol{u} < B_{in} \\ \end{align} \label{eq:qp-constraints}\tag{17}\] We have constrained QP with inequality constraints and dense matrices, where \(P\) and \(c\) are defined as follows: \[\begin{align} P & = G^\top QG + R\\ c & = \left(x_{0}-x_{d,0}\right) F^\top QG \\ \label{eq:qp-matrices} \end{align}\tag{18}\] In this case, \(\boldsymbol{x}_{0}\) are the initial states and \(\boldsymbol{x}_{d}\) are the reference for those states. \(Q\) is cost associated with error \(\left(\boldsymbol{x}-\boldsymbol{x}_{d}\right)\) and \(R\) is cost for control effort \(\boldsymbol{u}\)
This section presents MATLAB simulation results (depicted in Fig. 3) demonstrating the efficacy of the controller algorithm. Figure 4 illustrates the overall controller implemented in Simulink. The condensed Quadratic Programming (QP) formulation, depicted in 16 , utilizes the qpSWIFT package [33]. The weighting matrices in the cost function are defined as \(Q = diag\left(100,100,0.1,0.1\right)\) and \(R = diag\left(50,55\right)\). The gain values for the capture point dynamics 13 are set to \(K_{x} = 1\) and \(K_{y} = 1\) and reference for states is \(\boldsymbol{x}_d = \left[0,0,0,0\right]^\top\).
Figure 5 presents the states of the robot, demonstrating mild variations in body velocity and orientation, indicating successful stabilization by the proposed controller. Figures 6 and 7 show that the control efforts and joint torques are well within the desired bounds. Figure 8 compares the body position with and without the QP controller. Without QP control, the robot exhibits stability but continuous drift. On the other hand, with QP control, the robot stabilizes towards the reference positions (dotted lines), highlighting the effectiveness of our QP-CP controller.
Figure 9 demonstrates the effect of thrust force on the capture point. \(u\) is the combined thruster force generated by both the thrusters. it could be seen from the top graph that as we increase the thruster force stability of the robot increases resulting in smaller capture point. Bottom graph shows as we increase the thruster force the capture point length increases. This is attributed to the position of the thruster being fixed on the robot and as the robot falls, it gives additional acceleration in that direction.
These results show the robustness and efficacy of the proposed controller in stabilizing the robot and maintaining desired trajectories.
We presented the design and implementation of the controller which uses the capture point dynamics and QP-based reference tracking for stable trotting on the Harpy platform. we make the thruster force generated by thrusters on Harpy as a parameter in the QP controller. Additionally, we show a detailed analysis of how the thrust force affects the stability of the robot.
Future work will focus on improving the controller tracking performance by adding ground reaction forces and thruster forces as a decision variable in QP formulation. Furthermore, we will implement the controller on the hardware of Harpy, which can be challenging due to possible hardware limitations such as computing power, sensor noise, and communication delays.
\(^{1}\) The authors are with SiliconeSynapse Labs, the Department of Electrical Engineering, Northeastern University, USA.↩︎
\(^{2}\) The authors are with the Department of Aerospace Engineering, California Institute of Technology, USA.↩︎
\(^{*}\) The corresponding author. Email: a.ramezani@northeastern.edu↩︎