/** * For unit testing only * * @param controller */ public void addRobotControllerOnEstimatorThread(RobotController controller) { avatarSimulation.addRobotControllerOnEstimatorThread(controller); }
public void destroySimulation() { if (avatarSimulation != null) { avatarSimulation.dispose(); } } }
/** * For unit testing only * * @param controller */ public void addRobotControllerOnControllerThread(RobotController controller) { avatarSimulation.addRobotControllerOnControllerThread(controller); }
createHumanoidFloatingRootJointRobot(); setupYoVariableServer(); setupSimulationConstructionSet(); setupThreadDataSynchronizer(); setupSensorReaderFactory(); setupSimulationOutputWriter(); setupStateEstimationThread(); setupControllerThread(); createClosableAndDisposableRegistry(); setupMultiThreadedRobotController(); initializeStateEstimatorToActual(); setupThreadedRobotController(); setupLidarController(); setupPositionControlledJointsForSimulation(); setupPassiveJoints(); setupSimulatedRobotTimeProvider(); setupCMPVisualization(); setupCOMVisualization(); initializeSimulationConstructionSet(); AvatarSimulation avatarSimulation = new AvatarSimulation(); avatarSimulation.setSimulationConstructionSet(simulationConstructionSet); avatarSimulation.setMomentumBasedControllerFactory(momentumBasedControllerFactory.get()); avatarSimulation.setYoVariableServer(yoVariableServer); avatarSimulation.setCloseableAndDisposableRegistry(closeableAndDisposableRegistry); avatarSimulation.setControllerThread(controllerThread); avatarSimulation.setStateEstimationThread(stateEstimationThread); avatarSimulation.setHumanoidGlobalDataProducer(humanoidGlobalDataProducer.get()); avatarSimulation.setThreadedRobotController(threadedRobotController);
public void createSimulation(DRCNetworkModuleParameters networkParameters, boolean automaticallySpawnSimulation, boolean automaticallySimulate) { if ((networkParameters != null)) { createControllerCommunicator(networkParameters); } this.avatarSimulation = createAvatarSimulation(); if (automaticallySpawnSimulation) avatarSimulation.start(); if (automaticallySpawnSimulation && automaticallySimulate) avatarSimulation.simulate(); if ((networkParameters != null) && networkParameters.isNetworkProcessorEnabled()) //&& (networkParameters.useController())) { startNetworkProcessor(networkParameters); } }
public void simulate() { System.out.println("Starting simulation"); avatarSimulation.simulate(); }
public SimulationConstructionSet getSimulationConstructionSet() { return avatarSimulation.getSimulationConstructionSet(); }
public void attachControllerFailureListener(ControllerFailureListener listener) { avatarSimulation.getHighLevelHumanoidControllerFactory().attachControllerFailureListener(listener); }
/** * Provide a subscriber for receiving pelvis poses (for instance from the iterative closest point module) to be accounted for in the state estimator. * @param externalPelvisCorrectorSubscriber */ public void setExternalPelvisCorrectorSubscriber(PelvisPoseCorrectionCommunicatorInterface externalPelvisCorrectorSubscriber) { if (avatarSimulation != null) avatarSimulation.setExternalPelvisCorrectorSubscriber(externalPelvisCorrectorSubscriber); else this.externalPelvisCorrectorSubscriber = externalPelvisCorrectorSubscriber; }
public FullHumanoidRobotModel getControllerFullRobotModel() { return avatarSimulation.getControllerFullRobotModel(); }
public void attachControllerFailureListener(ControllerFailureListener listener) { avatarSimulation.getMomentumBasedControllerFactory().attachControllerFailureListener(listener); }
public void loadEnvironment(String filename) { System.out.println("Loading environment from '"+filename+"'"); environment.load(filename); avatarSimulation.updateEnvironment(environment); }
public void createSimulation(DRCNetworkModuleParameters networkParameters, boolean automaticallySpawnSimulation, boolean automaticallySimulate) { if ((networkParameters != null)) { createControllerCommunicator(networkParameters); } this.avatarSimulation = createAvatarSimulation(); if (automaticallySpawnSimulation) avatarSimulation.start(); if (realtimeRos2Node != null) realtimeRos2Node.spin(); if (automaticallySpawnSimulation && automaticallySimulate) avatarSimulation.simulate(); if ((networkParameters != null) && networkParameters.isNetworkProcessorEnabled()) //&& (networkParameters.useController())) { startNetworkProcessor(networkParameters); } }
public void destroySimulation() { if (avatarSimulation != null) { avatarSimulation.dispose(); } GlobalTimer.clearTimers(); } }
public SimulationConstructionSet getSimulationConstructionSet() { return avatarSimulation.getSimulationConstructionSet(); }
public CommonHumanoidReferenceFrames getReferenceFrames() { HighLevelHumanoidControllerFactory momentumBasedControllerFactory = avatarSimulation.getHighLevelHumanoidControllerFactory(); HighLevelHumanoidControllerToolbox highLevelHumanoidControllerToolbox = momentumBasedControllerFactory.getHighLevelHumanoidControllerToolbox(); return highLevelHumanoidControllerToolbox.getReferenceFrames(); }
@After public void destroyOtherStuff() { if (avatarSimulation != null) { avatarSimulation.dispose(); avatarSimulation = null; } }
private HighLevelControllerName getCurrentHighLevelState() { return drcBehaviorTestHelper.getAvatarSimulation().getHighLevelHumanoidControllerFactory().getCurrentHighLevelControlState(); } }
@After public void tearDown() { if (avatarSimulation != null) { avatarSimulation.dispose(); avatarSimulation = null; } if (robotVisualizer != null) { robotVisualizer.close(); robotVisualizer = null; } }
@After public void destroyOtherStuff() { if (avatarSimulation != null) { avatarSimulation.dispose(); avatarSimulation = null; } if (robotVisualizer != null) { robotVisualizer.close(); robotVisualizer = null; } }