Virtual Spring

Using the ForceSensingAnkle, I have created a quick virtual spring, by connecting the force sensor to the position control for a single leg.

    • During "Spring Off", the motors are commanded to hold position. There is some compliance (especially in the wing direction) due to backlash.
    • During "Spring On", the virtual spring is active and the leg becomes compliant in the wing and crank directions.

Hardware interface

This work is done primarily to test the SecondPrototype. Thus, the electrical connection to RiSE was done quickly. The strain gauge signals are amplified using the same circuitry from the PreliminaryTests with the SecondPrototype. These signals are connected to an LSAN through the accelerometer ports.

Virutal Spring control algorithm

The spring is governed by the equation:

x = F / k
Where F is the force vector from the ForceSensingAnkle, k is an arbitary spring constant and x is the position of the foot. The ankle will detect the force, and then update the position of the foot based on the Hooke's law equation. The position is controlled by the standard PD controller (Kp = 10, Kd = 0.5).
Side note: Technically, the force should be multiplied by the psuedoinverse of the Jacobian of the leg. However, I believe that this is unnecessary because the foot is restricted, by the software, to a region where the Jacobian is nearly diagonal with respect to the cooridinate frame in the foot.

-- SalomonTrujillo - 02 Sep 2005

This site is powered by the TWiki collaboration platformCopyright &© by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback