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(); } }
public void addJointAxis(FloatingRootJointRobot valkyrieRobot) { ArrayList<OneDegreeOfFreedomJoint> joints = new ArrayList<>(Arrays.asList(valkyrieRobot.getOneDegreeOfFreedomJoints())); for (OneDegreeOfFreedomJoint joint : joints) { Graphics3DObject linkGraphics = new Graphics3DObject(); linkGraphics.addCoordinateSystem(0.5); linkGraphics.combine(joint.getLink().getLinkGraphics()); joint.getLink().setLinkGraphics(linkGraphics); } }
private SDFModel createSDFModel() { SDFModel model = new SDFModel(); List<SDFJoint> sdfJoints = new ArrayList<>(); List<SDFLink> sdfLink = new ArrayList<>(); ArrayList<OneDegreeOfFreedomJoint> scsJoints = new ArrayList<>(); scsRobot.getAllOneDegreeOfFreedomJoints(scsJoints); if (scsRobot.getRootJoints().size() > 1) throw new RuntimeException("Cannot handle multiple root joints for now."); sdfLink.add(createSDFLink(scsRobot.getRootJoints().get(0).getLink(), true)); for (OneDegreeOfFreedomJoint scsJoint : scsJoints) { sdfJoints.add(createSDFJoint(scsJoint)); sdfLink.add(createSDFLink(scsJoint.getLink(), false)); } model.setName(sdfModelName); model.setJoints(sdfJoints); model.setLinks(sdfLink); return model; }
private SDFModel createSDFModel() { SDFModel model = new SDFModel(); List<SDFJoint> sdfJoints = new ArrayList<>(); List<SDFLink> sdfLink = new ArrayList<>(); ArrayList<OneDegreeOfFreedomJoint> scsJoints = new ArrayList<>(); scsRobot.getAllOneDegreeOfFreedomJoints(scsJoints); if (scsRobot.getRootJoints().size() > 1) throw new RuntimeException("Cannot handle multiple root joints for now."); sdfLink.add(createSDFLink(scsRobot.getRootJoints().get(0).getLink(), true)); for (OneDegreeOfFreedomJoint scsJoint : scsJoints) { sdfJoints.add(createSDFJoint(scsJoint)); sdfLink.add(createSDFLink(scsJoint.getLink(), false)); } model.setName(sdfModelName); model.setJoints(sdfJoints); model.setLinks(sdfLink); return model; }
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; }