一、闭环控制
从内存中取得 ”Device/SubDeviceList/LFoot/FSR/CenterofPressure/X/Sensor/Value” 的值,这个值也就是左脚底中心压力的值的X方向,中心压力值,X方向是向前的
Y方向是左右的的。在自己的模块中申明如下的变量AL::ALPtr<AL::ALMemoryProxy> memProxy (成员变量,取内存的一个代理)。取得这个值以后将它用来设置脚的平衡性。
void ClimbStair::keepBalance()
{
enableStiffness();
AL::ALValue LAnkleRoll = "LAnkleRoll";
AL::ALValue LAnkleRollAngle = 0.0f;
float fractionMaxSpeed = 0.1f;
std::string pressureX = std::string("Device/SubDeviceList/LFoot/FSR/CenterOfPressure/X/Sensor/Value");
std::string pressureY = std::string("Device/SubDeviceList/LFoot/FSR/CenterOfPressure/Y/Sensor/Value");
// enter the loop
while (true)
{
AL::ALValue x = mMemory->getData(pressureX);
AL::ALValue y = mMemory->getData(pressureY);
LAnkleRollAngle = computeAngleFromPressure(x, y