public void applyForce(Vector3d direction, double magnitude, double duration) { applyForceDelayed(null, 0.0, direction, magnitude, duration); }
public void applyForce(Vector3DReadOnly direction, double magnitude, double duration) { applyForceDelayed(null, 0.0, direction, magnitude, duration); }
private void testPush(Vector3D forceDirection, double magnitude, double duration, double percentInState, RobotSide side, SideDependentList<StateTransitionCondition> condition, double stateTime) throws SimulationExceededMaximumTimeException, InterruptedException { System.out.println("DRCHumanoidBehaviorICPFaultDetectionFault: testPush called."); double delay = stateTime * percentInState; pushRobotController.applyForceDelayed(null, 800, forceDirection, magnitude, duration); }
private void testPush(Vector3D forceDirection, double magnitude, double duration, double percentInState, RobotSide side, SideDependentList<StateTransitionCondition> condition, double stateTime) throws SimulationExceededMaximumTimeException { walkForward(); double delay = stateTime * percentInState; pushRobotController.applyForceDelayed(condition.get(side), delay, forceDirection, magnitude, duration); assertTrue(drcSimulationTestHelper.simulateAndBlockAndCatchExceptions(4.0)); }
@ContinuousIntegrationTest(estimatedDuration = 60.0) @Test(timeout = 150000) public void testPushICPOptimizationOutwardPushInSwing() throws Exception { FootstepDataListMessage footsteps = createForwardWalkingFootstepMessage(); setupAndRunTest(footsteps); // push timing: StateTransitionCondition pushCondition = singleSupportStartConditions.get(RobotSide.RIGHT); double delay = 0.5 * swingTime; // push parameters: Vector3D forceDirection = new Vector3D(0.0, -1.0, 0.0); double magnitude = percentWeight * totalMass * 9.81; double duration = 0.1; pushRobotController.applyForceDelayed(pushCondition, delay, forceDirection, magnitude, duration); validateTest(footsteps); }
@ContinuousIntegrationTest(estimatedDuration = 60.0) @Test(timeout = 150000) public void testPushICPOptimizationDiagonalOutwardPushInSwing() throws Exception { FootstepDataListMessage footsteps = createForwardWalkingFootstepMessage(); setupAndRunTest(footsteps); drcSimulationTestHelper.simulateAndBlockAndCatchExceptions(1.0); // push timing: StateTransitionCondition pushCondition = singleSupportStartConditions.get(RobotSide.RIGHT); double delay = 0.5 * swingTime; // push parameters: Vector3D forceDirection = new Vector3D(2.0, -1.0, 0.0); double magnitude = percentWeight * totalMass * 9.81; double duration = 0.1; pushRobotController.applyForceDelayed(pushCondition, delay, forceDirection, magnitude, duration); validateTest(footsteps); }
@ContinuousIntegrationTest(estimatedDuration = 60.0) @Test(timeout = 150000) public void testPushICPOptimizationLongInwardPushInSwing() throws Exception { FootstepDataListMessage footsteps = createForwardWalkingFootstepMessage(); setupAndRunTest(footsteps); drcSimulationTestHelper.simulateAndBlockAndCatchExceptions(1.0); // push timing: StateTransitionCondition pushCondition = singleSupportStartConditions.get(RobotSide.RIGHT); double delay = 0.1 * swingTime; // push parameters: Vector3D forceDirection = new Vector3D(0.0, 1.0, 0.0); double magnitude = percentWeight * totalMass * 9.81; double duration = 0.8 * swingTime; pushRobotController.applyForceDelayed(pushCondition, delay, forceDirection, magnitude, duration); validateTest(footsteps); }
@ContinuousIntegrationTest(estimatedDuration = 60.0) @Test(timeout = 150000) public void testPushICPOptimizationInwardPushInSwing() throws Exception { FootstepDataListMessage footstepDataListMessage = createForwardWalkingFootstepMessage(); setupAndRunTest(footstepDataListMessage); drcSimulationTestHelper.simulateAndBlockAndCatchExceptions(1.0); // push timing: StateTransitionCondition pushCondition = singleSupportStartConditions.get(RobotSide.RIGHT); double delay = 0.5 * swingTime; // push parameters: Vector3D forceDirection = new Vector3D(0.0, 1.0, 0.0); double magnitude = percentWeight * totalMass * 9.81; double duration = 0.1; pushRobotController.applyForceDelayed(pushCondition, delay, forceDirection, magnitude, duration); validateTest(footstepDataListMessage); }
@ContinuousIntegrationTest(estimatedDuration = 60.0) @Test(timeout = 150000) public void testPushICPOptimizationForwardPushInSlowSwing() throws Exception { FootstepDataListMessage footsteps = createSlowForwardWalkingFootstepMessage(); setupAndRunTest(footsteps); drcSimulationTestHelper.simulateAndBlockAndCatchExceptions(1.0); // push timing: StateTransitionCondition pushCondition = singleSupportStartConditions.get(RobotSide.RIGHT); double delay = 0.5 * swingTime; // push parameters: Vector3D forceDirection = new Vector3D(1.0, 0.0, 0.0); double magnitude = percentWeight * totalMass * 9.81; double duration = 0.1; pushRobotController.applyForceDelayed(pushCondition, delay, forceDirection, magnitude, duration); validateTest(footsteps); }
@ContinuousIntegrationTest(estimatedDuration = 60.0) @Test(timeout = 150000) public void testPushICPOptimizationBackwardPushInSwing() throws Exception { FootstepDataListMessage footsteps = createForwardWalkingFootstepMessage(); setupAndRunTest(footsteps); drcSimulationTestHelper.simulateAndBlockAndCatchExceptions(1.0); // push timing: StateTransitionCondition pushCondition = singleSupportStartConditions.get(RobotSide.RIGHT); double delay = 0.5 * swingTime; // push parameters: Vector3D forceDirection = new Vector3D(-1.0, 0.0, 0.0); double magnitude = percentWeight * totalMass * 9.81; double duration = 0.1; pushRobotController.applyForceDelayed(pushCondition, delay, forceDirection, magnitude, duration); validateTest(footsteps); }
@ContinuousIntegrationAnnotations.ContinuousIntegrationTest(estimatedDuration = 43.8) @Test(timeout = 220000) public void testLongBackwardPushWhileStanding() throws SimulationExceededMaximumTimeException { setupTest(null, true, false); assertTrue(drcSimulationTestHelper.simulateAndBlockAndCatchExceptions(1.0)); // push timing: StateTransitionCondition pushCondition = null; double delay = 0.0; // push parameters: Vector3D forceDirection = new Vector3D(-1.0, 0.0, 0.0); double magnitude = 100.0 * getForceScale(); double duration = 1.0; pushRobotController.applyForceDelayed(pushCondition, delay, forceDirection, magnitude, duration); assertTrue(drcSimulationTestHelper.simulateAndBlockAndCatchExceptions(duration + 2.0)); }
@ContinuousIntegrationAnnotations.ContinuousIntegrationTest(estimatedDuration = 49.1) @Test(timeout = 250000) public void testPushWhileStanding() throws SimulationExceededMaximumTimeException { setupTest(null, true, false); assertTrue(drcSimulationTestHelper.simulateAndBlockAndCatchExceptions(1.0)); // push timing: StateTransitionCondition pushCondition = null; double delay = 1.0; // push parameters: Vector3D forceDirection = new Vector3D(1.0, 0.0, 0.0); double magnitude = 350.0 * getForceScale(); double duration = 0.15; pushRobotController.applyForceDelayed(pushCondition, delay, forceDirection, magnitude, duration); assertTrue(drcSimulationTestHelper.simulateAndBlockAndCatchExceptions(simulationTime)); }
@ContinuousIntegrationAnnotations.ContinuousIntegrationTest(estimatedDuration = 48.8) @Test(timeout = 240000) public void testPushWhileStandingRecoveringAfterControllerFailureKickedIn() throws SimulationExceededMaximumTimeException { setupTest(null, false, true); assertTrue(drcSimulationTestHelper.simulateAndBlockAndCatchExceptions(1.0)); // push timing: StateTransitionCondition pushCondition = null; double delay = 1.0; // push parameters: Vector3D forceDirection = new Vector3D(1.0, 0.0, 0.0); double magnitude = 350.0 * getForceScale(); double duration = 0.15; pushRobotController.applyForceDelayed(pushCondition, delay, forceDirection, magnitude, duration); assertTrue(drcSimulationTestHelper.simulateAndBlockAndCatchExceptions(simulationTime)); }
@ContinuousIntegrationAnnotations.ContinuousIntegrationTest(estimatedDuration = 18.8) @Test(timeout = 94000) public void testControllerFailureKicksIn() throws SimulationExceededMaximumTimeException { setupTest(null, false, false); assertTrue(drcSimulationTestHelper.simulateAndBlockAndCatchExceptions(1.0)); // push timing: StateTransitionCondition pushCondition = null; double delay = 0.0; // push parameters: Vector3D forceDirection = new Vector3D(-1.0, 0.0, 0.0); double magnitude = 160.0 * getForceScale(); double duration = 3.0; pushRobotController.applyForceDelayed(pushCondition, delay, forceDirection, magnitude, duration); assertFalse(drcSimulationTestHelper.simulateAndBlockAndCatchExceptions(duration + 2.0)); }
@ContinuousIntegrationAnnotations.ContinuousIntegrationTest(estimatedDuration = 33.7) @Test(timeout = 170000) public void testLongBackwardPushWhileStandingAfterControllerFailureKickedIn() throws SimulationExceededMaximumTimeException { setupTest(null, false, true); assertTrue(drcSimulationTestHelper.simulateAndBlockAndCatchExceptions(1.0)); // push timing: StateTransitionCondition pushCondition = null; double delay = 0.0; // push parameters: Vector3D forceDirection = new Vector3D(-1.0, 0.0, 0.0); double magnitude = 100.0 * getForceScale(); double duration = 1.0; pushRobotController.applyForceDelayed(pushCondition, delay, forceDirection, magnitude, duration); assertTrue(drcSimulationTestHelper.simulateAndBlockAndCatchExceptions(duration + 2.0)); }
@ContinuousIntegrationAnnotations.ContinuousIntegrationTest(estimatedDuration = 32.8) @Test(timeout = 160000) public void testLongForwardPushWhileStanding() throws SimulationExceededMaximumTimeException { setupTest(null, true, false); assertTrue(drcSimulationTestHelper.simulateAndBlockAndCatchExceptions(1.0)); // push timing: StateTransitionCondition pushCondition = null; double delay = 0.0; // push parameters: Vector3D forceDirection = new Vector3D(1.0, 0.0, 0.0); forceDirection.normalize(); double magnitude = 100.0 * getForceScale(); double duration = 1.0; pushRobotController.applyForceDelayed(pushCondition, delay, forceDirection, magnitude, duration); assertTrue(drcSimulationTestHelper.simulateAndBlockAndCatchExceptions(duration + 2.0)); }
@ContinuousIntegrationAnnotations.ContinuousIntegrationTest(estimatedDuration = 34.1) @Test(timeout = 170000) public void testLongForwardPushWhileStandingAfterControllerFailureKickedIn() throws SimulationExceededMaximumTimeException { setupTest(null, false, true); assertTrue(drcSimulationTestHelper.simulateAndBlockAndCatchExceptions(1.0)); // push timing: StateTransitionCondition pushCondition = null; double delay = 0.0; // push parameters: Vector3D forceDirection = new Vector3D(1.0, 0.0, 0.0); forceDirection.normalize(); double magnitude = 100.0 * getForceScale(); double duration = 1.0; pushRobotController.applyForceDelayed(pushCondition, delay, forceDirection, magnitude, duration); assertTrue(drcSimulationTestHelper.simulateAndBlockAndCatchExceptions(duration + 2.0)); }
@ContinuousIntegrationAnnotations.ContinuousIntegrationTest(estimatedDuration = 20.0) @Test(timeout = 250000) public void testPushICPOptimiWhileInSwing() throws SimulationExceededMaximumTimeException { setupTest(getScriptFilePath(), true, false); assertTrue(drcSimulationTestHelper.simulateAndBlockAndCatchExceptions(1.0)); // push timing: StateTransitionCondition pushCondition = singleSupportStartConditions.get(RobotSide.RIGHT); double delay = 0.5 * swingTime; // push parameters: Vector3D forceDirection = new Vector3D(0.0, -1.0, 0.0); double magnitude = 600.0 * getForceScale(); double duration = 0.1; pushRobotController.applyForceDelayed(pushCondition, delay, forceDirection, magnitude, duration); assertTrue(drcSimulationTestHelper.simulateAndBlockAndCatchExceptions(simulationTime)); }
@ContinuousIntegrationAnnotations.ContinuousIntegrationTest(estimatedDuration = 50.8) @Test(timeout = 250000) public void testRecoveringWithSwingSpeedUpWhileInSwing() throws SimulationExceededMaximumTimeException { setupTest(getScriptFilePath(), false, false); assertTrue(drcSimulationTestHelper.simulateAndBlockAndCatchExceptions(1.0)); // push timing: StateTransitionCondition pushCondition = singleSupportStartConditions.get(RobotSide.RIGHT); double delay = 0.25 * swingTime; // push parameters: Vector3D forceDirection = new Vector3D(0.0, -1.0, 0.0); double magnitude = 450.0 * getForceScale(); double duration = 0.1; pushRobotController.applyForceDelayed(pushCondition, delay, forceDirection, magnitude, duration); assertTrue(drcSimulationTestHelper.simulateAndBlockAndCatchExceptions(simulationTime)); }
@ContinuousIntegrationAnnotations.ContinuousIntegrationTest(estimatedDuration = 49.2) @Test(timeout = 250000) public void testPushWhileInTransfer() throws SimulationExceededMaximumTimeException { setupTest(getScriptFilePath(), true, false); assertTrue(drcSimulationTestHelper.simulateAndBlockAndCatchExceptions(1.0)); // push timing: StateTransitionCondition pushCondition = doubleSupportStartConditions.get(RobotSide.RIGHT); double delay = 0.5 * transferTime; // push parameters: Vector3D forceDirection = new Vector3D(0.0, 1.0, 0.0); double magnitude = 450.0 * getForceScale(); double duration = 0.1; pushRobotController.applyForceDelayed(pushCondition, delay, forceDirection, magnitude, duration); assertTrue(drcSimulationTestHelper.simulateAndBlockAndCatchExceptions(simulationTime)); }