public LinkComIDActionListener(DataBuffer dataBuffer, Robot robot) { this.dataBuffer = dataBuffer; this.robot = robot; ArrayList<OneDegreeOfFreedomJoint> joints = new ArrayList<>(); robot.getAllOneDegreeOfFreedomJoints(joints); this.linkNames = new String[joints.size()]; for (int i = 0; i < linkNames.length; i++) { linkNames[i] = joints.get(i).getLink().getName(); } }
private List<SDFVisual> createSDFVisual(Link scsLink) { if (scsLink.getName().contains("body")) System.out.println(); List<SDFVisual> sdfVisuals = new ArrayList<>(); ArrayList<Graphics3DPrimitiveInstruction> graphics3dInstructions = scsLink.getLinkGraphics().getGraphics3DInstructions(); RigidBodyTransform parentJointTransformToWorld = new RigidBodyTransform(); Joint parentJoint = scsLink.getParentJoint(); if (scsRobot.getRootJoints().contains(parentJoint)) parentJoint.getTransformToWorld(parentJointTransformToWorld); SDFVisual sdfVisual = createSDFVisual(parentJointTransformToWorld, graphics3dInstructions); if (sdfVisual != null) sdfVisuals.add(sdfVisual); return sdfVisuals; }
private List<SDFVisual> createSDFVisual(Link scsLink) { if (scsLink.getName().contains("body")) System.out.println(); List<SDFVisual> sdfVisuals = new ArrayList<>(); ArrayList<Graphics3DPrimitiveInstruction> graphics3dInstructions = scsLink.getLinkGraphics().getGraphics3DInstructions(); RigidBodyTransform parentJointTransformToWorld = new RigidBodyTransform(); Joint parentJoint = scsLink.getParentJoint(); if (scsRobot.getRootJoints().contains(parentJoint)) parentJoint.getTransformToWorld(parentJointTransformToWorld); SDFVisual sdfVisual = createSDFVisual(parentJointTransformToWorld, graphics3dInstructions); if (sdfVisual != null) sdfVisuals.add(sdfVisual); return sdfVisuals; }
System.out.println("target link " + targetLink.getName() + "mass " + targetLink.getMass() + "kg, com " + getCurrentLinkCom());
private SDFLink createSDFLink(Link scsLink, boolean addSimulatedIMU) { SDFLink sdfLink = new SDFLink(); sdfLink.setInertial(createSDFInertial(scsLink)); sdfLink.setName(scsLink.getName()); String pose = "0 0 0 0 0 0"; sdfLink.setPose(pose); sdfLink.setVisuals(createSDFVisual(scsLink)); if (addSimulatedIMU) { List<SDFSensor> sdfSensors = new ArrayList<>(); sdfSensors.add(createSDFSimulatedIMU(scsLink)); sdfLink.setSensors(sdfSensors); } return sdfLink; }
private SDFLink createSDFLink(Link scsLink, boolean addSimulatedIMU) { SDFLink sdfLink = new SDFLink(); sdfLink.setInertial(createSDFInertial(scsLink)); sdfLink.setName(scsLink.getName()); String pose = "0 0 0 0 0 0"; sdfLink.setPose(pose); sdfLink.setVisuals(createSDFVisual(scsLink)); if (addSimulatedIMU) { List<SDFSensor> sdfSensors = new ArrayList<>(); sdfSensors.add(createSDFSimulatedIMU(scsLink)); sdfLink.setSensors(sdfSensors); } return sdfLink; }
String linkName = jointToAddExternalForcePoints.getLink().getName(); ExternalForcePoint efp = new ExternalForcePoint("efp_" + linkName + "_" + String.valueOf(i) + "_", efp_offsetFromRootJoint.get(i), robot.getRobotsYoVariableRegistry());
String linkName = jointToAddExternalForcePoints.getLink().getName(); ExternalForcePoint efp = new ExternalForcePoint("efp_" + linkName + "_" + String.valueOf(i) + "_", efp_offsetFromRootJoint.get(i), robot.getRobotsYoVariableRegistry());
String linkName = jointToAddExternalForcePoints.getLink().getName(); ExternalForcePoint efp = new ExternalForcePoint("efp_" + linkName + "_" + String.valueOf(i) + "_", efp_offsetFromRootJoint.get(i), robot.getRobotsYoVariableRegistry());
private SDFJoint createSDFJoint(OneDegreeOfFreedomJoint scsJoint) { SDFJoint sdfJoint = new SDFJoint(); sdfJoint.setAxis(createSDFJointAxis(scsJoint)); sdfJoint.setChild(scsJoint.getLink().getName()); sdfJoint.setName(scsJoint.getName()); sdfJoint.setParent(scsJoint.getParentJoint().getLink().getName()); RigidBodyTransform scsJointOffset = new RigidBodyTransform(); scsJoint.getTransformToWorld(scsJointOffset); sdfJoint.setPose(getPoseFromTransform3D(scsJointOffset)); String type; if (scsJoint instanceof PinJoint) { type = "revolute"; } else { throw new RuntimeException("Implement me!"); } sdfJoint.setType(type); return sdfJoint; }
private SDFJoint createSDFJoint(OneDegreeOfFreedomJoint scsJoint) { SDFJoint sdfJoint = new SDFJoint(); sdfJoint.setAxis(createSDFJointAxis(scsJoint)); sdfJoint.setChild(scsJoint.getLink().getName()); sdfJoint.setName(scsJoint.getName()); sdfJoint.setParent(scsJoint.getParentJoint().getLink().getName()); RigidBodyTransform scsJointOffset = new RigidBodyTransform(); scsJoint.getTransformToWorld(scsJointOffset); sdfJoint.setPose(getPoseFromTransform3D(scsJointOffset)); String type; if (scsJoint instanceof PinJoint) { type = "revolute"; } else { throw new RuntimeException("Implement me!"); } sdfJoint.setType(type); return sdfJoint; }
new RigidBody(link.getName(), currentIDJoint, momentOfInertia, mass, comOffset); currentIDJoint.setJointLimitUpper(currentJoint.getJointUpperLimit()); new RigidBody(link.getName(), currentIDJoint, momentOfInertia, mass, comOffset); currentIDJoint.setJointLimitUpper(currentJoint.getJointUpperLimit()); new RigidBody(link.getName(), currentIDJoint, momentOfInertia, mass, comOffset);
String linkName = link.getName(); addStringToSheet(configDataSheet, column++, row, linkName);
momentOfInertia2.scale(3.33); Link newLink2 = new Link(joint2.getLink().getName()); newLink2.setMass(mass2); newLink2.setComOffset(comOffset2);