public void ConsumeParams(List <float> p_params) { for (int i = 0; i < m_legFrames.Length; i++) { m_legFrames[i].ConsumeParams(p_params); // consume } m_player.ConsumeParams(p_params); if (m_optimizePDs) { for (int i = 1; i < (m_desiredJointTorquesPD.Length + 1) / 2; i++) { OptimizableHelper.ConsumeParamsTo(p_params, ref m_desiredJointTorquesPD[i].m_Kp); m_desiredJointTorquesPD[i + 2].m_Kp = m_desiredJointTorquesPD[i].m_Kp; OptimizableHelper.ConsumeParamsTo(p_params, ref m_desiredJointTorquesPD[i].m_Kd); m_desiredJointTorquesPD[i + 2].m_Kd = m_desiredJointTorquesPD[i].m_Kd; } } }
public void ConsumeParams(List <float> p_params) { OptimizableHelper.ConsumeParamsTo(p_params, ref m_tuneGaitPeriod); }
public void ConsumeParams(List <float> p_params) { for (int i = 0; i < m_tuneStepCycles.Length; i++) { m_tuneStepCycles[i].ConsumeParams(p_params); } OptimizableHelper.ConsumeParamsTo(p_params, ref m_tuneStepLength); for (int i = 0; i < m_tuneOrientationLFTraj.Length; i++) { m_tuneOrientationLFTraj[i].ConsumeParams(p_params); } OptimizableHelper.ConsumeParamsTo(p_params, ref m_tuneFootPlacementVelocityScale); m_tuneStepHeightTraj.ConsumeParams(p_params); m_tuneFootTransitionEase.ConsumeParams(p_params); m_tuneLFHeightTraj.ConsumeParams(p_params); m_tunePropGainFootTrackingKft.ConsumeParams(p_params); OptimizableHelper.ConsumeParamsTo(p_params, ref m_tuneHeightForcePIDKp); OptimizableHelper.ConsumeParamsTo(p_params, ref m_tuneHeightForcePIDKd); OptimizableHelper.ConsumeParamsTo(p_params, ref m_tuneVelocityRegulatorKv); for (int i = 0; i < c_legCount; i++) { OptimizableHelper.ConsumeParamsTo(p_params, ref m_tuneToeOffTime[i]); } for (int i = 0; i < c_legCount; i++) { OptimizableHelper.ConsumeParamsTo(p_params, ref m_tuneFootStrikeTime[i]); } OptimizableHelper.ConsumeParamsTo(p_params, ref m_tuneToeOffAngle); OptimizableHelper.ConsumeParamsTo(p_params, ref m_tuneFootStrikeAngle); for (int i = 0; i < c_legCount; i++) { for (int p = 0; p < 2; p++) { OptimizableHelper.ConsumeParamsTo(p_params, ref m_tuneFD[i, p]); //Debug.Log("FD(" + i + "," + p + ")" + m_tuneFD[i, p]); } } //for (int i = 0; i < m_legFgravityComp.Length; i++) // OptimizableHelper.ConsumeParamsTo(p_params, ref m_legFgravityComp[i]); if (m_optimizePDs) { OptimizableHelper.ConsumeParamsTo(p_params, ref m_desiredLFTorquePD.m_Kp); OptimizableHelper.ConsumeParamsTo(p_params, ref m_desiredLFTorquePD.m_Kd); OptimizableHelper.ConsumeParamsTo(p_params, ref m_heightForceCalc.m_Kp); OptimizableHelper.ConsumeParamsTo(p_params, ref m_heightForceCalc.m_Kd); OptimizableHelper.ConsumeParamsTo(p_params, ref m_FootTrackingSpringDamper.m_Kp); OptimizableHelper.ConsumeParamsTo(p_params, ref m_FootTrackingSpringDamper.m_Kd); } }
// IOptimizable public List <float> GetParams() { List <float> vals = new List <float>(); for (int i = 0; i < m_tuneStepCycles.Length; i++) { vals.AddRange(m_tuneStepCycles[i].GetParams()); } vals.AddRange(OptimizableHelper.ExtractParamsListFrom(m_tuneStepLength)); for (int i = 0; i < m_tuneOrientationLFTraj.Length; i++) { vals.AddRange(m_tuneOrientationLFTraj[i].GetParams()); } vals.Add(m_tuneFootPlacementVelocityScale); vals.AddRange(m_tuneStepHeightTraj.GetParams()); vals.AddRange(m_tuneFootTransitionEase.GetParams()); vals.AddRange(m_tuneLFHeightTraj.GetParams()); vals.AddRange(m_tunePropGainFootTrackingKft.GetParams()); vals.Add(m_tuneHeightForcePIDKp); vals.Add(m_tuneHeightForcePIDKd); vals.Add(m_tuneVelocityRegulatorKv); for (int i = 0; i < c_legCount; i++) { vals.Add(m_tuneToeOffTime[i]); } for (int i = 0; i < c_legCount; i++) { vals.Add(m_tuneFootStrikeTime[i]); } vals.Add(m_tuneToeOffAngle); vals.Add(m_tuneFootStrikeAngle); for (int i = 0; i < c_legCount; i++) { for (int p = 0; p < 2; p++) { vals.AddRange(OptimizableHelper.ExtractParamsListFrom(m_tuneFD[i, p])); } } //for (int i = 0; i < m_legFgravityComp.Length; i++) // vals.AddRange(OptimizableHelper.ExtractParamsListFrom(m_legFgravityComp[i])); if (m_optimizePDs) { vals.Add(m_desiredLFTorquePD.m_Kp); vals.Add(m_desiredLFTorquePD.m_Kd); vals.Add(m_heightForceCalc.m_Kp); vals.Add(m_heightForceCalc.m_Kd); vals.Add(m_FootTrackingSpringDamper.m_Kp); vals.Add(m_FootTrackingSpringDamper.m_Kd); } return(vals); }