inertial control


Continuity

Virtual Actuators and Inertial Reorientation

enter image description here Watch: Closed Kinematics Loop problem, old VS new approach

In January, I revisited one of the earliest and most persistent simulation challenges: the closed kinematic chain used in each of Continuity’s legs. URDF lacks native support for closed loops, and PyBullet's rigid body solver struggles with stability when constraints are not explicitly enforced. Previous attempts relied on “fake” revolute joints between femurs and tibias, but these caused instability, especially under dynamic movement, with the robot occasionally entering oscillatory or jumping states. After extensive debugging and physical intuition testing, I adopted a hybrid constraint approach. The solution involved modelling the leg’s closed geometry indirectly via a set of virtual actuators: each tibia’s angle was no longer explicitly controlled, but derived as a function of its corresponding femur's motion using precomputed constants:

enter image description here

This mimicked the effect of parallel bars closing the linkage while retaining numerical stability. The result was a marked reduction in unintended vertical impulses and more consistent leg trajectories across the gait cycle.