us.ihmc.mecano.multiBodySystem.interfaces.OneDoFJointBasics.getQd()方法的使用及代码示例

x33g5p2x  于2022-01-26 转载在 其他  
字(9.9k)|赞(0)|评价(0)|浏览(56)

本文整理了Java中us.ihmc.mecano.multiBodySystem.interfaces.OneDoFJointBasics.getQd()方法的一些代码示例,展示了OneDoFJointBasics.getQd()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。OneDoFJointBasics.getQd()方法的具体详情如下:
包路径:us.ihmc.mecano.multiBodySystem.interfaces.OneDoFJointBasics
类名称:OneDoFJointBasics
方法名:getQd

OneDoFJointBasics.getQd介绍

暂无

代码示例

代码示例来源:origin: us.ihmc/ihmc-robotics-toolkit

public double getValue()
  {
   return joint.getQd();
  }
}

代码示例来源:origin: us.ihmc/ihmc-robotics-toolkit

public static ChecksumUpdater newJointChecksumUpdater(GenericCRC32 checksum, OneDoFJointBasics joint)
{
 return () -> {
   checksum.update(joint.getQ());
   checksum.update(joint.getQd());
   checksum.update(joint.getQdd());
 };
}

代码示例来源:origin: us.ihmc/ihmc-simulation-toolkit

@Override
public double getJointVelocityProcessedOutput(OneDoFJointBasics oneDoFJoint)
{
 return oneDoFJoint.getQd();
}

代码示例来源:origin: us.ihmc/ihmc-simulation-toolkit

@Override
public void write()
{
 for (int i = 0; i < revoluteJoints.size(); i++)
 {
   ImmutablePair<OneDegreeOfFreedomJoint, OneDoFJointBasics> jointPair = revoluteJoints.get(i);
   OneDegreeOfFreedomJoint pinJoint = jointPair.getLeft();
   OneDoFJointBasics revoluteJoint = jointPair.getRight();
   pinJoint.setQ(revoluteJoint.getQ());
   pinJoint.setQd(revoluteJoint.getQd());
   pinJoint.setQdd(revoluteJoint.getQdd());
 }
}

代码示例来源:origin: us.ihmc/ihmc-simulation-toolkit

@Override
public double getJointVelocityRawOutput(OneDoFJointBasics oneDoFJoint)
{
 return oneDoFJoint.getQd();
}

代码示例来源:origin: us.ihmc/mecano

/**
* Integrates the given {@code joint}'s acceleration and velocity to update its velocity and
* configuration.
* 
* @param joint the joint to integrate the state of. The joint configuration is modified.
*/
public void doubleIntegrateFromAcceleration(OneDoFJointBasics joint)
{
 double initialQ = joint.getQ();
 double initialQd = joint.getQd();
 double qdd = joint.getQdd();
 joint.setQ(doubleIntegratePosition(qdd, initialQd, initialQ));
 joint.setQd(integrateVelocity(qdd, initialQd));
}

代码示例来源:origin: us.ihmc/ihmc-robot-data-logger

public void get(double[] buffer, int offset)
{
 buffer[offset + 0] = joint.getQ();
 buffer[offset + 1] = joint.getQd();
}

代码示例来源:origin: us.ihmc/ihmc-avatar-interfaces

public void updateRobotConfigurationBasedOnFullRobotModel()
  {
   for (ImmutablePair<OneDegreeOfFreedomJoint, OneDoFJointBasics> jointPair : oneDoFJointPairList)
   {
     OneDegreeOfFreedomJoint pinJoint = jointPair.getLeft();
     OneDoFJointBasics revoluteJoint = jointPair.getRight();

     pinJoint.setQ(revoluteJoint.getQ());
     pinJoint.setQd(revoluteJoint.getQd());
     pinJoint.setQdd(revoluteJoint.getQdd());
   }

   if (rootJointPair != null)
   {
     FloatingJoint floatingJoint = rootJointPair.getLeft();
     FloatingJointBasics sixDoFJoint = rootJointPair.getRight();

     RigidBodyTransform transform = new RigidBodyTransform();
     sixDoFJoint.getJointConfiguration(transform);
     floatingJoint.setRotationAndTranslation(transform);
   }
  }
}

代码示例来源:origin: us.ihmc/valkyrie

private void checkVelocity()
  {
   isVelocityLow.set(Math.abs(joint.getQd()) < jointVelocityMax.getDoubleValue());
  }
}

代码示例来源:origin: us.ihmc/ihmc-robotics-toolkit

@Override
public void initialize()
{
 initialize(joint.getQ(), joint.getQd());
}

代码示例来源:origin: us.ihmc/ihmc-robotics-toolkit

@Override
public void initialize()
{
 initialize(joint.getQ(), joint.getQd());
}

代码示例来源:origin: us.ihmc/mecano

/**
* Integrates the given {@code joint}'s velocity to update its configuration.
* 
* @param joint the joint to integrate the state of. The joint configuration is modified.
*/
public void integrateFromVelocity(OneDoFJointBasics joint)
{
 double initialQ = joint.getQ();
 double qd = joint.getQd();
 joint.setQ(integratePosition(qd, initialQ));
}

代码示例来源:origin: us.ihmc/ihmc-whole-body-controller

private void updatePDController(OneDoFJointBasics oneDoFJoint, double timeInCurrentState)
{
 PDController pdController = pdControllers.get(oneDoFJoint);
 double desiredPosition = desiredPositions.get(oneDoFJoint).getDoubleValue();
 double desiredVelocity = 0.0;
 double tau = pdController.compute(oneDoFJoint.getQ(), desiredPosition, oneDoFJoint.getQd(), desiredVelocity);
 DiagnosticsWhenHangingHelper diagnosticsWhenHangingHelper = helpers.get(oneDoFJoint);
 if (diagnosticsWhenHangingHelper != null)
 {
   tau = diagnosticsWhenHangingHelper.getTorqueToApply(tau, estimateTorqueOffset.getBooleanValue(), maximumTorqueOffset.getDoubleValue());
   if (hasReachedMaximumTorqueOffset.getBooleanValue()
      && Math.abs(diagnosticsWhenHangingHelper.getTorqueOffset()) == maximumTorqueOffset.getDoubleValue())
   {
    PrintTools.warn(this, "Reached maximum torque for at least one joint.");
    hasReachedMaximumTorqueOffset.set(true);
   }
 }
 double ditherTorque = ditherAmplitude.getDoubleValue() * Math.sin(2.0 * Math.PI * ditherFrequency.getDoubleValue() * timeInCurrentState);
 oneDoFJoint.setTau(tau + ditherTorque);
}

代码示例来源:origin: us.ihmc/ihmc-whole-body-controller

private void integrateAccelerationsToGetDesiredVelocities(OneDoFJointBasics jointState, JointDesiredOutputBasics lowLevelJointData, YoDouble qd_d_joint, YoDouble q_d_joint)
{
 double currentPosition = jointState.getQ();
 double currentVelocity = jointState.getQd();
 if (lowLevelJointData.pollResetIntegratorsRequest())
 {
   //       qd_d_joint.set(currentVelocity);
   qd_d_joint.set(0.0);
   q_d_joint.set(currentPosition);
   return;
 }
 double previousDesiredVelocity = qd_d_joint.getDoubleValue();
 double previousDesiredPosition = q_d_joint.getDoubleValue();
 double desiredAcceleration = lowLevelJointData.getDesiredAcceleration();
 double alphaVel = alphaDesiredVelocityMap.get(lowLevelJointData).getDoubleValue();
 double alphaPos = alphaDesiredPositionMap.get(lowLevelJointData).getDoubleValue();
 double desiredVelocity = doCleverIntegration(previousDesiredVelocity, desiredAcceleration, currentVelocity, alphaVel);
 double desiredPosition = doCleverIntegration(previousDesiredPosition, desiredVelocity, currentPosition, alphaPos);
 qd_d_joint.set(desiredVelocity);
 q_d_joint.set(desiredPosition);
}

代码示例来源:origin: us.ihmc/ihmc-avatar-interfaces-test

public void setRobotStateToMatchFullRobotModel()
{
 FloatingJointBasics sixDoFJoint = fullRobotModel.getRootJoint();
 FloatingJoint floatingJoint = robot.getRootJoint();
 fullRobotModel.updateFrames();
 setRobotRootJointPositionAndOrientationToMatchFullRobotModel(sixDoFJoint, floatingJoint);
 setRobotRootJointVelocityAndAngularVelocityToMatchFullRobotModel(sixDoFJoint, floatingJoint);
 ArrayList<OneDegreeOfFreedomJoint> oneDegreeOfFreedomJoints = new ArrayList<OneDegreeOfFreedomJoint>();
 robot.getAllOneDegreeOfFreedomJoints(oneDegreeOfFreedomJoints);
 for (OneDegreeOfFreedomJoint oneDegreeOfFreedomJoint : oneDegreeOfFreedomJoints)
 {
   OneDoFJointBasics oneDoFJoint = fullRobotModel.getOneDoFJointByName(oneDegreeOfFreedomJoint.getName());
   oneDegreeOfFreedomJoint.setQ(oneDoFJoint.getQ());
   oneDegreeOfFreedomJoint.setQd(oneDoFJoint.getQd());
 }
 robot.update();
}

代码示例来源:origin: us.ihmc/simulation-construction-set-tools

public void updateJointVelocities_ID_to_SCS()
{
  if (scsFloatingJoint != null)
  {
   ReferenceFrame rootBodyFrame = idFloatingJoint.getFrameAfterJoint();
   rootJointTwist.setIncludingFrame(idFloatingJoint.getJointTwist());
   linearVelocity.setIncludingFrame(rootJointTwist.getLinearPart());
   angularVelocity.setIncludingFrame(rootJointTwist.getAngularPart());
   linearVelocity.changeFrame(ReferenceFrame.getWorldFrame());
   angularVelocity.changeFrame(rootBodyFrame);
   scsFloatingJoint.setVelocity(linearVelocity);
   scsFloatingJoint.setAngularVelocityInBody(angularVelocity);
  }
  for (OneDegreeOfFreedomJoint scsJoint : allSCSOneDoFJoints)
  {
   OneDoFJointBasics idJoint = scsToIDJointMap.get(scsJoint);
   scsJoint.setQd(idJoint.getQd());
  }
}

代码示例来源:origin: us.ihmc/valkyrie

@Override
  public void update()
  {
   joint.setQ(handle.getPosition());
   joint.setQd(handle.getVelocity());
   bl_qd.update();
   joint.setTau(handle.getEffort());

   q.set(joint.getQ());
   qd.set(joint.getQd());
   tau.set(joint.getTau());

   positionStepSizeLimiter.updateOutput(q.getDoubleValue(), q_d.getDoubleValue());
   handle.setDesiredPosition(positionStepSizeLimiter.getDoubleValue());
  }
}

代码示例来源:origin: us.ihmc/ihmc-simulation-toolkit

@Override
public void update(long timestamp)
{
 fullRobot.updateFrames();
 latestTimestamp = timestamp;
 
 if(rootJoint != null)
 {
   robot.setOrientation(rootJoint.getJointPose().getOrientation());
   robot.setPositionInWorld(rootJoint.getJointPose().getPosition());
 }
 
 for (ImmutablePair<OneDegreeOfFreedomJoint, OneDoFJointBasics> jointPair : revoluteJoints)
 {
   OneDegreeOfFreedomJoint pinJoint = jointPair.getLeft();
   OneDoFJointBasics revoluteJoint = jointPair.getRight();
   pinJoint.setQ(revoluteJoint.getQ());
   pinJoint.setQd(revoluteJoint.getQd());
   pinJoint.setTau(revoluteJoint.getTau());
 }
 robot.setTime(robot.getTime() + updateDT);
 if (scs != null)
 {
   scs.tickAndUpdate();
 }
}

代码示例来源:origin: us.ihmc/valkyrie

public void computeAndUpdateJointTorque()
{
 JointDesiredOutputReadOnly desiredOutput = yoEffortJointHandleHolder.getDesiredJointData();
 pidController.setProportionalGain(desiredOutput.hasStiffness() ? desiredOutput.getStiffness() : 0.0);
 pidController.setDerivativeGain(desiredOutput.hasDamping() ? desiredOutput.getDamping() : 0.0);
 OneDoFJointBasics oneDoFJoint = yoEffortJointHandleHolder.getOneDoFJoint();
 
 double q, qd;
 if (oneDoFJoint != null)
 {
   q = oneDoFJoint.getQ();
   qd = oneDoFJoint.getQd();
 }
 else
 {
   q = yoEffortJointHandleHolder.getQ();
   qd = yoEffortJointHandleHolder.getQd();
 }
 double qDesired = desiredOutput.hasDesiredPosition() ? desiredOutput.getDesiredPosition() : q;
 double qdDesired = desiredOutput.hasDesiredVelocity() ? desiredOutput.getDesiredVelocity() : qd;
 double fb_tau = pidController.compute(q, qDesired, qd, qdDesired, controlDT);
 double ff_tau = desiredOutput.hasDesiredTorque() ? desiredOutput.getDesiredTorque() : 0.0;
 double desiredEffort = fb_tau + ff_tau + tauOffset.getDoubleValue();
 yoEffortJointHandleHolder.setDesiredEffort(desiredEffort);
}

代码示例来源:origin: us.ihmc/valkyrie

@Override
  public void update()
  {
   joint.setQ(handle.getPosition());
   joint.setQd(handle.getVelocity());
   bl_qd.update();
   joint.setTau(handle.getEffort());

   q.set(joint.getQ());
   qd.set(joint.getQd());
   tau.set(joint.getTau());

   double pdOutput = pdController.compute(q.getDoubleValue(), q_d.getDoubleValue(), qd.getDoubleValue(), qd_d.getDoubleValue());
   jointCommand_pd.set(pdOutput);
   tau_d.set(valkyrieRosControlSliderBoard.masterScaleFactor.getDoubleValue() * (jointCommand_pd.getDoubleValue() + jointCommand_function.getDoubleValue()) + tau_offset
      .getDoubleValue());

   handle.setDesiredEffort(tau_d.getDoubleValue());
  }
}

相关文章