Control frameworks for legged robots often rely on accurate dynamic models. However, these models often proves to be inaccurate due to factors such as mechanical wear and tear, and unforeseen changes such as the addition of extra payloads during deployment. Significant deviations in the dynamics can severely impact the controller’s performance. Our goal is to enhance the controller’s model in real-time during deployment using onboard sensors and online learning. Specifically, our work focuses on quadruped locomotion under varying load conditions. This paper presents an adaptive force control framework for quadruped robots, enhanced with online system identification, to handle significant changes in both mass and center of mass (CoM). The proposed approach demonstrates superior velocity and height tracking, even under extreme load conditions, showing promise for applications in logistics, military, and rescue missions.
Many controllers for legged locomotion still rely on an accurate robot model, especially Model Predictive Control (MPC), which assumes known dynamics and re-plans at every step. However, model inaccuracies due to wear, maintenance, and repairs can degrade performance. While some MPC-based methods in the literature have been modified for load-bearing tasks, they only handle minimal center-of-mass (CoM) shifts. Large CoM changes pose significant challenges, often leading to controller failure. The goal is to develop a controller that can adapt to substantial CoM variations, benefiting applications in logistics, search and rescue, military, and agriculture.
Handling payload is challenging because adding or removing weight shifts the center of mass (CoM) away from the torso’s geometric center. This shift creates an imbalance, generating a tipping moment about the diagonal axis connecting the diagonal foot positions. If not properly accounted for, this can cause the robot to lose stability and tip over during locomotion.
The control architecture comprises several modules: ConvexMPC, PD controller, and Online SysID. We employ ConvexMPC as a high-level controller to track the command velocities provided by a joystick. The high-level controller uses a gait scheduler that defines the gait timing and contact sequence for each leg. It then determines the desired foot forces for the stance leg and foot positions for the swing leg based on user commands. These high-level commands are converted into torques by the low-level controller. For the swing legs, foot positions are tracked using PD control, while for the stance legs, desired torques are generated using the leg Jacobian, which relates joint torques to end-effector forces. Online SysID is employed to identify changing parameters of interest using past data from the controller.
The dynamics of the robot are influenced by system parameters such as mass, Center of Mass (CoM), inertia, and foot positions relative to the CoM. Accurately identifying these varying system parameters enhances the controller’s ability to effectively track commands. We propose the following two algorithms to estimate mass and CoM shift.
The mass estimation method calculates the robot’s mass by dividing the z-direction force acting on the robot by its z-direction acceleration at each time-step. CoM shift identifies specific torso points where moments about the x and y axes are zero, assuming negligible GRFs in the x and y directions compared to the z-direction. These individual estimates are averaged to obtain a reliable estimate.
To validate our approach, we used the PyBullet simulator with a custom Stoch3 URDF model. The simulation provides full state access, including joint positions and velocities. ConvexMPC, running at 250 Hz, serves as the base controller, while the PD controller runs at 1 kHz. The robot maintains a trot gait with a desired body height of 0.42 meters. We initially placed a payload of 2 kg at a distance of (0.25, 0.17) meters from the center of the base frame. The payload mass was then incrementally increased until it reached 18 kg, followed by a similar decrement back to 2 kg. Consequently, the CoM shift varied correspondingly, reaching its maximum when the payload mass was highest and its minimum when the payload mass was lowest.
Baseline: No SysID
Our Method: With SysID
Baseline: No SysID
Our Method: With SysID
The base controller struggles to track velocity commands, causing the robot to drift toward the CoM, and height tracking deteriorates with increasing payload mass. However, by identifying the changing parameters, our adaptive controller successfully tracks both height and velocity commands.
In this work, we presented a force-based controller capable of adapting to changes in load conditions. We employed a system identification technique to identify changing pa- rameters of interest using data collected from the base con- troller in real-time. We validated our controller in PyBullet simulator under two different test conditions, demonstrating superior command tracking compared to the base controller. For future work, we plan to explore reinforcement learning- based methods to adapt to various other uncertainties and unstructured terrains