π€ AI Summary
Existing quadruped locomotion frameworks lack guaranteed temporal predictability of controllers, hindering deployment on embedded real-time platforms. This paper proposes a lightweight, highly deterministic C++-only locomotion framework supporting bare-metal and ROS 2 dual-mode execution on resource-constrained devices such as the Raspberry Pi 5. Our approach introduces three key innovations: (1) a feedback-linearized closed-loop control law based on foot-end acceleration modeling; (2) a touchdown planning and temporal gait scheduling algorithm driven by βvirtual-wheelβ kinematics; and (3) a hard real-time implementation with zero dynamic memory allocation and no third-party dependencies. Experimental evaluation on the Raspberry Pi 5 demonstrates microsecond-level execution determinism, a 32% reduction in position tracking error, and significantly enhanced real-time assurance for safety-critical tasks.
π Abstract
Quadruped robots have become quite popular for their ability to adapt their locomotion to generic uneven terrains. For this reason, over time, several frameworks for quadrupedal locomotion have been proposed, but with little attention to ensuring a predictable timing behavior of the controller. To address this issue, this work presents NAME, a modular control framework for quadrupedal locomotion suitable for execution on an embedded system under hard real-time execution constraints. It leverages the feedback linearization control technique to obtain a closed-form control law for the body, valid for all configurations of the robot. The control law was derived after defining an appropriate rigid body model that uses the accelerations of the feet as control variables, instead of the estimated contact forces. This work also provides a novel algorithm to compute footholds and gait temporal parameters using the concept of imaginary wheels, and a heuristic algorithm to select the best gait schedule for the current velocity commands. The proposed framework is developed entirely in C++, with no dependencies on third-party libraries and no dynamic memory allocation, to ensure predictability and real-time performance. Its implementation allows NAME to be both compiled and executed on an embedded system for critical applications, as well as integrated into larger systems such as Robot Operating System 2 (ROS 2). For this reason, NAME has been tested in both scenarios, demonstrating satisfactory results both in terms of reference tracking and temporal predictability, whether integrated into ROS 2 or compiled as a standalone application on a Raspberry Pi 5.