passiveJointD.setQdd(jointSigns[3] * fourBarCalculator.getAngleDt2CDA()); fourBarJacobianSolver.getUnitJacobian(columnJacobian); CommonOps.scale(masterJointA.getQd(), columnJacobian);
fourBarJacobianSolver = new FourBarKinematicLoopJacobianSolver(fourBarOutputJoint);
fourBarJacobianSolver = new FourBarKinematicLoopJacobianSolver(fourBarOutputJoint);
passiveJointD.setQdd(jointSigns[3] * fourBarCalculator.getAngleDt2CDA()); fourBarJacobianSolver.getUnitJacobian(columnJacobian); CommonOps.scale(masterJointA.getQd(), columnJacobian);
public void getUnitJacobian(DenseMatrix64F unitJacobianToPack) { // Geometric Jacobian - open kinematic chain Jacobian geometricJacobian.compute(); // Vector to go from open loop to closed loop Jacobian computeVectorTransformGeometricToColumnJacobian(); // Column Jacobian - fourbars are a 1DOF system so the Jacobian is a column vector CommonOps.mult(geometricJacobian.getJacobianMatrix(), geometricJacobianToColumnJacobian, unitJacobianToPack); }
public void getUnitJacobian(DenseMatrix64F unitJacobianToPack) { // Geometric Jacobian - open kinematic chain Jacobian geometricJacobian.compute(); geometricJacobian.changeFrame(geometricJacobianFrame); // Vector to go from open loop to closed loop Jacobian computeVectorTransformGeometricToColumnJacobian(); // Column Jacobian - fourbars are a 1DOF system so the Jacobian is a column vector CommonOps.mult(geometricJacobian.getJacobianMatrix(), geometricJacobianToColumnJacobian, unitJacobianToPack); }
public FourBarKinematicLoopJacobianSolver(PassiveRevoluteJoint outputJoint) { this.jointsForJacobianCalculation = getJointsForJacobianCalculation(); this.geometricJacobianToColumnJacobian = createGeometricJacobianToColumnJacobianMatrix(jointsForJacobianCalculation); this.geometricJacobianFrame = outputJoint.getFrameAfterJoint(); this.geometricJacobian = new GeometricJacobian(jointsForJacobianCalculation, geometricJacobianFrame); }
public FourBarKinematicLoopJacobianSolver(PassiveRevoluteJoint outputJoint) { this.jointsForJacobianCalculation = getJointsForJacobianCalculation(); this.geometricJacobianToColumnJacobian = createGeometricJacobianToColumnJacobianMatrix(jointsForJacobianCalculation); this.geometricJacobianFrame = outputJoint.getFrameAfterJoint(); this.geometricJacobian = new GeometricJacobian(jointsForJacobianCalculation, geometricJacobianFrame); }