@ContinuousIntegrationTest(estimatedDuration = 0.0) @Test(timeout = 30000) public void floatingChainTest() throws UnreasonableAccelerationException { Random random = new Random(12651L); ArrayList<RevoluteJoint> joints = new ArrayList<>(); int numberOfJoints = 12; Vector3D[] jointAxes = new Vector3D[numberOfJoints]; for (int i = 0; i < numberOfJoints; i++) jointAxes[i] = RandomGeometry.nextVector3D(random, 1.0); RandomFloatingRevoluteJointChain idRobot = new RandomFloatingRevoluteJointChain(random, jointAxes); RigidBodyBasics elevator = idRobot.getElevator(); joints.addAll(idRobot.getRevoluteJoints()); SCSRobotFromInverseDynamicsRobotModel robot = new SCSRobotFromInverseDynamicsRobotModel("robot", idRobot.getRootJoint()); assertAAndADotV(random, joints, elevator, robot, numberOfJoints + 1); }
}; RandomFloatingRevoluteJointChain randomFloatingChain = new RandomFloatingRevoluteJointChain(random, jointAxes); GeometricJacobian jacobian = new GeometricJacobian(randomFloatingChain.getRootJoint().getSuccessor(), randomFloatingChain.getLeafBody(), randomFloatingChain.getLeafBody().getBodyFixedFrame());
}; RandomFloatingRevoluteJointChain randomFloatingChain = new RandomFloatingRevoluteJointChain(random, jointAxes); GeometricJacobian jacobian = new GeometricJacobian(randomFloatingChain.getRootJoint().getSuccessor(), randomFloatingChain.getLeafBody(), randomFloatingChain.getLeafBody().getBodyFixedFrame());
SixDoFJoint floatingJoint = floatingChain.getRootJoint(); List<RevoluteJoint> revoluteJoints = floatingChain.getRevoluteJoints(); List<Joint> joints = floatingChain.getJoints();
SixDoFJoint floatingJoint = floatingChain.getRootJoint(); List<RevoluteJoint> revoluteJoints = floatingChain.getRevoluteJoints(); List<Joint> joints = floatingChain.getJoints();
randomFloatingChain.nextState(random, JointStateType.CONFIGURATION, JointStateType.VELOCITY); RigidBodyBasics base = randomFloatingChain.getRootJoint().getSuccessor(); RigidBodyBasics endEffector = randomFloatingChain.getLeafBody(); GeometricJacobian geometricJacobian = new GeometricJacobian(base, endEffector, base.getBodyFixedFrame());
randomFloatingChain.nextState(random, JointStateType.CONFIGURATION, JointStateType.VELOCITY); RigidBodyBasics base = randomFloatingChain.getRootJoint().getSuccessor(); RigidBodyBasics endEffector = randomFloatingChain.getLeafBody(); GeometricJacobian geometricJacobian = new GeometricJacobian(base, endEffector, base.getBodyFixedFrame());
}; RandomFloatingRevoluteJointChain randomFloatingChain = new RandomFloatingRevoluteJointChain(random, jointAxes); GeometricJacobian jacobian = new GeometricJacobian(randomFloatingChain.getRootJoint().getSuccessor(), randomFloatingChain.getLeafBody(), randomFloatingChain.getLeafBody().getBodyFixedFrame());
SixDoFJoint floatingJoint = floatingChain.getRootJoint(); List<RevoluteJoint> revoluteJoints = floatingChain.getRevoluteJoints(); List<Joint> joints = floatingChain.getJoints();
}; RandomFloatingRevoluteJointChain randomFloatingChain = new RandomFloatingRevoluteJointChain(random, jointAxes); GeometricJacobian jacobian = new GeometricJacobian(randomFloatingChain.getRootJoint().getSuccessor(), randomFloatingChain.getLeafBody(), randomFloatingChain.getLeafBody().getBodyFixedFrame());
@ContinuousIntegrationAnnotations.ContinuousIntegrationTest(estimatedDuration = 11.3) @Test(timeout=3000000) public void testLinearAndAngularMomentumAreConverved() { int numberOfRobotsToTest = 5; int minNumberOfAxes = 2; int maxNumberOfAxes = 10; Robot[] robots = new Robot[numberOfRobotsToTest]; for (int i = 0; i < numberOfRobotsToTest; i++) { Robot robot = new RobotTools.SCSRobotFromInverseDynamicsRobotModel("robot" + i, getRandomFloatingChain(minNumberOfAxes, maxNumberOfAxes).getRootJoint()); robot.setGravity(0.0, 0.0, 0.0); robot.setController(new ConservedQuantitiesChecker(robot)); robot.setController(new SinusoidalTorqueController(robot)); robots[i] = robot; } SimulationConstructionSet scs = new SimulationConstructionSet(robots, simulationTestingParameters); scs.startOnAThread(); BlockingSimulationRunner blockingSimulationRunner = new BlockingSimulationRunner(scs, 30.0); try { blockingSimulationRunner.simulateAndBlock(8.0); } catch(BlockingSimulationRunner.SimulationExceededMaximumTimeException | ControllerFailureException e) { e.printStackTrace(); fail(); } }
@ContinuousIntegrationTest(estimatedDuration = 0.0) @Test(timeout=300000) public void testAddScsJointUsingIDJoint() { Joint scsRootJoint = RobotTools.addSCSJointUsingIDJoint(getRandomFloatingChain().getRootJoint(), new Robot("robot"), true); assertNotNull(scsRootJoint); } }
@ContinuousIntegrationTest(estimatedDuration = 0.0) @Test(timeout=300000) public void testScsRobotFromInverseDynamicsRobotModel() { SCSRobotFromInverseDynamicsRobotModel scsRobotFromInverseDynamicsRobotModel = new RobotTools.SCSRobotFromInverseDynamicsRobotModel("robot", getRandomFloatingChain().getRootJoint()); assertNotNull(scsRobotFromInverseDynamicsRobotModel); }