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.
- VirtualSpring.mov
- 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