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 ChestOrientationManager getOrCreateChestOrientationManager() { if (chestOrientationManager != null) return chestOrientationManager; FullRobotModel fullRobotModel = momentumBasedController.getFullRobotModel(); if (fullRobotModel.getChest() == null) { robotMissingBodyWarning("chest", ChestOrientationManager.class); return null; } if (!hasWalkingControllerParameters(ChestOrientationManager.class)) return null; if (!hasMomentumOptimizationSettings(ChestOrientationManager.class)) return null; Vector3d chestAngularWeight = momentumOptimizationSettings.getChestAngularWeight(); chestOrientationManager = new ChestOrientationManager(momentumBasedController, walkingControllerParameters, registry); return chestOrientationManager; }
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; }
public HeadOrientationManager getOrCreatedHeadOrientationManager() { if (headOrientationManager != null) return headOrientationManager; FullRobotModel fullRobotModel = momentumBasedController.getFullRobotModel(); if (fullRobotModel.getHead() == null) { robotMissingBodyWarning("head", HeadOrientationManager.class); return null; } if (!hasWalkingControllerParameters(HeadOrientationManager.class)) return null; if (!hasMomentumOptimizationSettings(HeadOrientationManager.class)) return null; headOrientationManager = new HeadOrientationManager(momentumBasedController, walkingControllerParameters, registry); double headJointspaceWeight = momentumOptimizationSettings.getHeadJointspaceWeight(); double headTaskspaceWeight = momentumOptimizationSettings.getHeadTaskspaceWeight(); double headUserModeWeight = momentumOptimizationSettings.getHeadUserModeWeight(); headOrientationManager.setWeights(headJointspaceWeight, headTaskspaceWeight, headUserModeWeight); return headOrientationManager; }