public CenterOfMassHeightManager getOrCreateCenterOfMassHeightManager() { if (centerOfMassHeightManager != null) return centerOfMassHeightManager; if (!hasMomentumBasedController(CenterOfMassHeightManager.class)) return null; if (!hasWalkingControllerParameters(CenterOfMassHeightManager.class)) return null; centerOfMassHeightManager = new CenterOfMassHeightManager(momentumBasedController, walkingControllerParameters, registry); return centerOfMassHeightManager; }
public PelvisOrientationManager getOrCreatePelvisOrientationManager() { if (pelvisOrientationManager != null) return pelvisOrientationManager; if (!hasMomentumBasedController(PelvisOrientationManager.class)) return null; if (!hasWalkingControllerParameters(PelvisOrientationManager.class)) return null; if (!hasMomentumOptimizationSettings(PelvisOrientationManager.class)) return null; pelvisOrientationManager = new PelvisOrientationManager(walkingControllerParameters, momentumBasedController, registry); pelvisOrientationManager.setWeights(momentumOptimizationSettings.getPelvisAngularWeight()); return pelvisOrientationManager; }
public FeetManager getOrCreateFeetManager() { if (feetManager != null) return feetManager; if (!hasMomentumBasedController(FeetManager.class)) return null; if (!hasWalkingControllerParameters(FeetManager.class)) return null; if (!hasMomentumOptimizationSettings(FeetManager.class)) return null; feetManager = new FeetManager(momentumBasedController, walkingControllerParameters, registry); Vector3d highLinearFootWeight = momentumOptimizationSettings.getHighLinearFootWeight(); Vector3d highAngularFootWeight = momentumOptimizationSettings.getHighAngularFootWeight(); Vector3d defaultLinearFootWeight = momentumOptimizationSettings.getDefaultLinearFootWeight(); Vector3d defaultAngularFootWeight = momentumOptimizationSettings.getDefaultAngularFootWeight(); feetManager.setWeights(highAngularFootWeight, highLinearFootWeight, defaultAngularFootWeight, defaultLinearFootWeight); return feetManager; }
public BalanceManager getOrCreateBalanceManager() { if (balanceManager != null) return balanceManager; if (!hasMomentumBasedController(BalanceManager.class)) return null; if (!hasWalkingControllerParameters(BalanceManager.class)) return null; if (!hasCapturePointPlannerParameters(BalanceManager.class)) return null; if (!hasMomentumOptimizationSettings(BalanceManager.class)) return null; balanceManager = new BalanceManager(momentumBasedController, walkingControllerParameters, capturePointPlannerParameters, icpOptimizationParameters, registry); Vector3d linearMomentumWeight = momentumOptimizationSettings.getLinearMomentumWeight(); Vector3d angularMomentumWeight = momentumOptimizationSettings.getAngularMomentumWeight(); balanceManager.setMomentumWeight(angularMomentumWeight, linearMomentumWeight); balanceManager.setHighMomentumWeightForRecovery(momentumOptimizationSettings.getHighLinearMomentumWeightForRecovery()); return balanceManager; }
if (!hasMomentumBasedController(ManipulationControlModule.class)) return null; if (!hasMomentumOptimizationSettings(ManipulationControlModule.class))