public double getElbowVelocity() { return elbowJoint.getQDYoVariable().getDoubleValue(); }
public double getVelocity() { return getPinJoint().getQDYoVariable().getDoubleValue(); }
PinJointRobotSensor(PinJoint joint) { q = joint.getQYoVariable(); qd = joint.getQDYoVariable(); qdd = joint.getQDDYoVariable(); tau_actual = joint.getTauYoVariable(); }
@Override public void read(long currentClockTime) { q_j1.set(doublePendulum.getJ1().getQYoVariable().getDoubleValue()); qd_j1.set(doublePendulum.getJ1().getQDYoVariable().getDoubleValue()); q_j2.set(doublePendulum.getJ2().getQYoVariable().getDoubleValue()); qd_j2.set(doublePendulum.getJ2().getQDYoVariable().getDoubleValue()); }
private double[] computeTotalUnsignedMechanicalPower() { int dataLength = dataBuffer.getEntry(robot.getYoTime()).getData().length; double[] ret = new double[dataLength]; for (int i = 0; i < dataLength; i++) ret[i] = 0.0; for (PinJoint joint : pinJoints) { double[] speed = dataBuffer.getEntry(joint.getQDYoVariable()).getData(); double[] torque = dataBuffer.getEntry(joint.getTauYoVariable()).getData(); double[] jointMechincalPower = computeMechanicalPower(speed, torque); for (int i = 0; i < dataLength; i++) { ret[i] += Math.abs(jointMechincalPower[i]); } } return ret; }
public void createJointTorqueSpeedGraphs(File directory, String fileHeader, boolean createJPG, boolean createPDF) { for (PinJoint pinJoint : pinJoints) { DataBufferEntry torque = dataBuffer.getEntry(pinJoint.getTauYoVariable()); DataBufferEntry speed = dataBuffer.getEntry(pinJoint.getQDYoVariable()); String timeLabel = "time [s]"; String torqueLabel = torque.getVariableName() + " [Nm]"; String speedLabel = speed.getVariableName() + " [rad/s]"; String torqueSpeedTitle = torque.getVariableName() + "_Vs_" + speed.getVariableName(); createDataVsTimeGraph(directory, fileHeader, torque, createJPG, createPDF, timeLabel, torqueLabel, Color.black); createDataVsTimeGraph(directory, fileHeader, speed, createJPG, createPDF, timeLabel, speedLabel, Color.black); createDataOneVsDataTwoGraph(directory, fileHeader, speed, torque, createJPG, createPDF, torqueSpeedTitle, speedLabel, torqueLabel, Color.black); } }
DataBufferEntry speed = dataBuffer.getEntry(joint.getQDYoVariable()); DataBufferEntry torque = dataBuffer.getEntry(joint.getTauYoVariable());
private void writeJointDataToWorkbook(WritableWorkbook workbook) { WritableSheet jointDataSheet = workbook.createSheet("Joint Data", workbook.getNumberOfSheets()); int column = 0; writeJointDataColumn(jointDataSheet, column++, dataBuffer.getEntry("t"), true); for (PinJoint joint : pinJoints) { DataBufferEntry position = dataBuffer.getEntry(joint.getQYoVariable()); DataBufferEntry speed = dataBuffer.getEntry(joint.getQDYoVariable()); DataBufferEntry torque = dataBuffer.getEntry(joint.getTauYoVariable()); writeJointDataColumn(jointDataSheet, column++, position, false); writeJointDataColumn(jointDataSheet, column++, speed, false); writeJointDataColumn(jointDataSheet, column++, speed, true); writeJointDataColumn(jointDataSheet, column++, torque, false); writeJointDataColumn(jointDataSheet, column++, torque, true); writeMechanicalPowerJointDataColumn(jointDataSheet, column++, speed, torque, joint.getName()); } }
pin2.setQd(-pin1.getQDYoVariable().getDoubleValue()); Vector3D angularVelocityInBody = new Vector3D(0.0, pin1.getQDYoVariable().getDoubleValue(), 0.0); root2.setAngularVelocityInBody(angularVelocityInBody);
assertEquals(joint1.getQDYoVariable().getDoubleValue(), joint1B.getQDYoVariable().getDoubleValue(), epsilon); assertEquals(joint1.getQDDYoVariable().getDoubleValue(), joint1B.getQDDYoVariable().getDoubleValue(), epsilon); assertEquals(joint2.getQDYoVariable().getDoubleValue(), joint2B.getQDYoVariable().getDoubleValue(), epsilon); assertEquals(joint2.getQDDYoVariable().getDoubleValue(), joint2B.getQDDYoVariable().getDoubleValue(), epsilon);