@Override public void setMomentOfInertia(double Ixx, double Iyy, double Izz) { wheelLink.setMomentOfInertia(Ixx, Iyy, Izz); }
@Override public void setMomentOfInertia(double Ixx, double Iyy, double Izz) { link.setMomentOfInertia(Ixx, Iyy, Izz); }
@Override public void setMomentOfInertia(double Ixx, double Iyy, double Izz) { boxLink.setMomentOfInertia(Ixx, Iyy, Izz); }
@Override public void setMomentOfInertia(double Ixx, double Iyy, double Izz) { sphereLink.setMomentOfInertia(Ixx, Iyy, Izz); }
private Link massiveLink() { Link ret = new Link("massiveLink"); ret.setMass(1e12); ret.setMomentOfInertia(1e8, 1e8, 1e8); return ret; }
private static Link nextLink(long seed) { Random random = new Random(seed); Link link = new Link("randomLink" + random.nextInt()); link.setMass(random.nextDouble()); link.setComOffset(RandomNumbers.nextDouble(random, 1.0), RandomNumbers.nextDouble(random, 1.0), RandomNumbers.nextDouble(random, 1.0)); link.setMomentOfInertia(RobotTest.getRotationalInertiaMatrixOfSolidEllipsoid(link.getMass(), random.nextDouble(), random.nextDouble(), random.nextDouble())); return link; }
private static Link randomBody(Random random) { Link ret = new Link("floatingBody"); ret.setMass(random.nextDouble()); ret.setComOffset(random.nextDouble(), random.nextDouble(), random.nextDouble()); ret.setMomentOfInertia(getRotationalInertiaMatrixOfSolidEllipsoid(ret.getMass(), random.nextDouble(), random.nextDouble(), random.nextDouble())); Graphics3DObject linkGraphics = new Graphics3DObject(); linkGraphics.addCoordinateSystem(COORDINATE_SYSTEM_LENGTH); createInertiaEllipsoid(ret, linkGraphics, YoAppearance.Orange()); ret.setLinkGraphics(linkGraphics); return ret; }
private Link link1() { Link ret = new Link("link1"); ret.setMass(1.0); ret.setComOffset(2.0, 0.0, 0.0); ret.setMomentOfInertia(0.0, 3.0, 0.0); return ret; }
private Link link2() { Link ret = new Link("link2"); ret.setMass(2.0); ret.setComOffset(2.0, 0.0, 0.0); ret.setMomentOfInertia(0.0, 5.0, 0.0); return ret; }
private Link boxLink(Graphics3DObject linkGraphics, double length, double width, double height, double mass) { Link ret = new Link("box"); ret.setMass(mass); ret.setMomentOfInertia(RotationalInertiaCalculator.getRotationalInertiaMatrixOfSolidBox(length, width, height, mass)); ret.setComOffset(0.0, 0.0, 0.0); // linkGraphics.translate(0.0, 0.0, -height / 2.0); // linkGraphics.addCube(length, width, height, YoAppearance.EarthTexture(null)); ret.setLinkGraphics(linkGraphics); return ret; }
private static Link hip_differential() { Link ret = new Link("hip_differential"); ret.setMass(0.1); ret.setMomentOfInertia(0.005, 0.005, 0.005); ret.setComOffset(0.0, 0.0, 0.0); Graphics3DObject linkGraphics = new Graphics3DObject(); linkGraphics.addCube(HIP_DIFFERENTIAL_WIDTH, HIP_DIFFERENTIAL_WIDTH, HIP_DIFFERENTIAL_HEIGHT); ret.setLinkGraphics(linkGraphics); return ret; }
private static Link ankle_differential() { Link ret = new Link("ankle_differential"); ret.setMass(0.1); ret.setMomentOfInertia(0.005, 0.005, 0.005); ret.setComOffset(0.0, 0.0, 0.0); Graphics3DObject linkGraphics = new Graphics3DObject(); linkGraphics.addCube(ANKLE_DIFFERENTIAL_WIDTH, ANKLE_DIFFERENTIAL_WIDTH, ANKLE_DIFFERENTIAL_HEIGHT); ret.setLinkGraphics(linkGraphics); return ret; }
private static Link link11(Random random, double l1, double r1) { Link ret = new Link("link11"); ret.setMass(random.nextDouble()); ret.setComOffset(0.0, 0.0, -l1 / 2.0); ret.setMomentOfInertia(getRotationalInertiaMatrixOfSolidEllipsoid(ret.getMass(), r1, r1, l1 / 2.0)); Graphics3DObject linkGraphics = new Graphics3DObject(); linkGraphics.addCoordinateSystem(COORDINATE_SYSTEM_LENGTH); createInertiaEllipsoid(ret, linkGraphics, YoAppearance.Red()); ret.setLinkGraphics(linkGraphics); return ret; }
private Link ball(double radius, double mass, AppearanceDefinition color) { Link ret = new Link("ball"); ret.setMass(mass); ret.setMomentOfInertia(RotationalInertiaCalculator.getRotationalInertiaMatrixOfSolidEllipsoid(mass, radius, radius, radius)); ret.setComOffset(0.0, 0.0, 0.0); Graphics3DObject linkGraphics = new Graphics3DObject(); linkGraphics.addSphere(radius, color); ret.setLinkGraphics(linkGraphics); return ret; }
private static Link thigh() { AppearanceDefinition thighApp = YoAppearance.Green(); Link ret = new Link("thigh"); ret.setMass(THIGH_MASS); // 2.35); ret.setMomentOfInertia(0.0437, 0.0437, 0.0054); ret.setComOffset(0.0, 0.0, -THIGH_LENGTH / 2.0); Graphics3DObject linkGraphics = new Graphics3DObject(); linkGraphics.addCylinder(THIGH_LENGTH, THIGH_RAD, thighApp); ret.setLinkGraphics(linkGraphics); return ret; }
private Link lowerArm() { Link link = new Link("upperArm"); Graphics3DObject linkGraphics = new Graphics3DObject(); link.setLinkGraphics(linkGraphics); link.setMass(lowerArmMass); link.setComOffset(0.0, 0.0, -0.5*linkLength); link.setMomentOfInertia(lowerArmMass * hopperBodyRadius * hopperBodyRadius, lowerArmMass * hopperBodyRadius * hopperBodyRadius, lowerArmMass * hopperBodyRadius * hopperBodyRadius); if (SHOW_COORDINATE_SYSTEM) linkGraphics.addCoordinateSystem(linkLength * 0.3); linkGraphics.addCube(0.1*linkLength, 0.1*linkLength, -linkLength, YoAppearance.White()); return link; }
private Link upperArm() { Link link = new Link("upperArm"); Graphics3DObject linkGraphics = new Graphics3DObject(); link.setLinkGraphics(linkGraphics); link.setMass(upperArmMass); link.setComOffset(0.0, 0.0, -0.5*linkLength); link.setMomentOfInertia(upperArmMass * hopperBodyRadius * hopperBodyRadius, upperArmMass * hopperBodyRadius * hopperBodyRadius, upperArmMass * hopperBodyRadius * hopperBodyRadius); if (SHOW_COORDINATE_SYSTEM) linkGraphics.addCoordinateSystem(linkLength * 0.3); linkGraphics.addCube(0.1*linkLength, 0.1*linkLength, -linkLength, YoAppearance.Red()); return link; }
private static Link pelvis() { AppearanceDefinition pelvisAppearance = YoAppearance.Blue(); Link ret = new Link("pelvis"); ret.setMass(100.0); ret.setMomentOfInertia(1.0, 1.0, 1.0); ret.setComOffset(0.0, 0.0, 0.0); Graphics3DObject linkGraphics = new Graphics3DObject(); linkGraphics.addCoordinateSystem(1.0); linkGraphics.addCylinder(PELVIS_HEIGHT, PELVIS_RAD, pelvisAppearance); ret.setLinkGraphics(linkGraphics); return ret; }
private Link MS3DMLink() { Link p = new Link("ms3DMLink"); p.setMass(MS3DM_MASS); p.setComOffset(0.0, 0.0, 0.0); p.setMomentOfInertia(0.1, 0.1, 0.1); Graphics3DObject linkGraphics = new Graphics3DObject(); linkGraphics.addCoordinateSystem(0.1); linkGraphics.addCube(MS3DM_LENGTH, MS3DM_WIDTH, MS3DM_HEIGHT, YoAppearance.Purple()); p.setLinkGraphics(linkGraphics); return p; }
private Robot createSimpleRobot() { Robot robot0 = new Robot("robot"); FloatingJoint floatingJoint0 = new FloatingJoint("floatingJoint", new Vector3D(), robot0); Link link0 = new Link("body"); link0.setMass(1.0); link0.setMomentOfInertia(0.1, 0.1, 0.1); floatingJoint0.setLink(link0); robot0.addRootJoint(floatingJoint0); return robot0; }