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

x33g5p2x  于2022-01-19 转载在 其他  
字(7.7k)|赞(0)|评价(0)|浏览(65)

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

FloatingJointBasics.getJointTwist介绍

暂无

代码示例

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

/** {@inheritDoc} */
@Override
default void setJointTwistToZero()
{
 getJointTwist().setToZero();
}

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

/** {@inheritDoc} */
@Override
default void setJointLinearVelocity(Vector3DReadOnly jointLinearVelocity)
{
 getJointTwist().getLinearPart().set(jointLinearVelocity);
}

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

/** {@inheritDoc} */
@Override
default void setJointAngularVelocity(Vector3DReadOnly jointAngularVelocity)
{
 getJointTwist().getAngularPart().set(jointAngularVelocity);
}

代码示例来源: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(FloatingJointBasics joint)
{
 integrate(joint.getJointTwist(), joint.getJointPose());
}

代码示例来源: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(FloatingJointBasics joint)
{
 doubleIntegrate(joint.getJointAcceleration(), joint.getJointTwist(), joint.getJointPose());
}

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

private void getFloatingJointStateFromSCS()
{
  FloatingJoint scsJoint = (FloatingJoint) robot.getRootJoints().get(0);
  RigidBodyTransform jointTransform3D = scsJoint.getJointTransform3D();
  floatingJoint.getJointPose().set(jointTransform3D);
  floatingJoint.getFrameAfterJoint().update();
  FrameVector3D linearVelocity = new FrameVector3D();
  scsJoint.getVelocity(linearVelocity);
  linearVelocity.changeFrame(floatingJoint.getFrameAfterJoint());
  floatingJoint.getJointTwist().set(scsJoint.getAngularVelocityInBody(), linearVelocity);
}

代码示例来源: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/ihmc-avatar-interfaces-test

public void setRobotRootJointVelocityAndAngularVelocityToMatchFullRobotModel(FloatingJointBasics sixDoFJoint, FloatingJoint floatingJoint)
{
 Twist rootJointTwist = new Twist();
 rootJointTwist.setIncludingFrame(sixDoFJoint.getJointTwist());
 floatingJoint.setAngularVelocityInBody(new Vector3D(rootJointTwist.getAngularPart()));
 FrameVector3D linearVelocityInWorld = new FrameVector3D();
 linearVelocityInWorld.setIncludingFrame(rootJointTwist.getLinearPart());
 linearVelocityInWorld.changeFrame(ReferenceFrame.getWorldFrame());
 floatingJoint.setVelocity(new Vector3D(linearVelocityInWorld));
}

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

public void setSixDoFJointAccelerationRandomly(FloatingJointBasics sixDoFJoint, Random random, double maxRootJointLinearAcceleration,
   double maxRootJointAngularAcceleration)
{
 // Note: To get the acceleration, you can't just changeFrame on the acceleration provided by SCS. Use setBasedOnOriginAcceleration instead.
 ReferenceFrame elevatorFrame = sixDoFJoint.getFrameBeforeJoint();
 ReferenceFrame bodyFrame = sixDoFJoint.getFrameAfterJoint();
 Twist bodyTwist = new Twist();
 bodyTwist.setIncludingFrame(sixDoFJoint.getJointTwist());
 FrameVector3D originAcceleration = new FrameVector3D(elevatorFrame, RandomGeometry.nextVector3D(random, maxRootJointLinearAcceleration));
 FrameVector3D angularAcceleration = new FrameVector3D(bodyFrame, RandomGeometry.nextVector3D(random, maxRootJointAngularAcceleration));
 //      originAcceleration.changeFrame(elevatorFrame);
 SpatialAcceleration spatialAccelerationVector = new SpatialAcceleration(bodyFrame, elevatorFrame, bodyFrame);
 spatialAccelerationVector.setBasedOnOriginAcceleration(angularAcceleration, originAcceleration, bodyTwist);
 sixDoFJoint.setJointAcceleration(spatialAccelerationVector);
}

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

public void copyAccelerationFromForwardToInverse(FloatingJoint floatingJoint, FloatingJointBasics sixDoFJoint)
{
 // Note: To get the acceleration, you can't just changeFrame on the acceleration provided by SCS. Use setBasedOnOriginAcceleration instead.
 ReferenceFrame elevatorFrame = sixDoFJoint.getFrameBeforeJoint();
 ReferenceFrame bodyFrame = sixDoFJoint.getFrameAfterJoint();
 Twist bodyTwist = new Twist();
 bodyTwist.setIncludingFrame(sixDoFJoint.getJointTwist());
 FrameVector3D originAcceleration = new FrameVector3D(elevatorFrame);
 FrameVector3D angularAcceleration = new FrameVector3D(bodyFrame);
 floatingJoint.getLinearAccelerationInWorld(originAcceleration);
 floatingJoint.getAngularAccelerationInBody(angularAcceleration);
 originAcceleration.changeFrame(elevatorFrame);
 SpatialAcceleration spatialAccelerationVector = new SpatialAcceleration(bodyFrame, elevatorFrame, bodyFrame);
 spatialAccelerationVector.setBasedOnOriginAcceleration(angularAcceleration, originAcceleration, bodyTwist);
 sixDoFJoint.setJointAcceleration(spatialAccelerationVector);
}

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

public boolean checkFullRobotModelRootJointAccelerationmatchesRobot(FloatingJoint floatingJoint, FloatingJointBasics sixDoFJoint, double epsilon)
{
 // Note: To get the acceleration, you can't just changeFrame on the acceleration provided by SCS. Use setBasedOnOriginAcceleration instead.
 ReferenceFrame elevatorFrame = sixDoFJoint.getFrameBeforeJoint();
 ReferenceFrame bodyFrame = sixDoFJoint.getFrameAfterJoint();
 Twist bodyTwist = new Twist();
 bodyTwist.setIncludingFrame(sixDoFJoint.getJointTwist());
 FrameVector3D originAcceleration = new FrameVector3D(elevatorFrame);
 FrameVector3D angularAcceleration = new FrameVector3D(bodyFrame);
 floatingJoint.getLinearAccelerationInWorld(originAcceleration);
 floatingJoint.getAngularAccelerationInBody(angularAcceleration);
 originAcceleration.changeFrame(elevatorFrame);
 //TODO: These should be from the inverse dynamics to the SCS frames...
 originAcceleration.changeFrame(ReferenceFrame.getWorldFrame());
 computedRootJointLinearAcceleration.set(originAcceleration);
 computedRootJointAngularAcceleration.set(angularAcceleration);
 SpatialAcceleration spatialAccelerationVectorOfSimulatedRootJoint = new SpatialAcceleration(bodyFrame, elevatorFrame, bodyFrame);
 spatialAccelerationVectorOfSimulatedRootJoint.setBasedOnOriginAcceleration(angularAcceleration, originAcceleration, bodyTwist);
 SpatialAcceleration spatialAccelerationVectorOfInverseDynamicsRootJoint = new SpatialAcceleration();
 spatialAccelerationVectorOfInverseDynamicsRootJoint.setIncludingFrame(sixDoFJoint.getJointAcceleration());
 return spatialAccelerationVectorOfInverseDynamicsRootJoint.epsilonEquals(spatialAccelerationVectorOfInverseDynamicsRootJoint, epsilon);
}

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

linearVelocity.setIncludingFrame(pelvisFrame, sixDoFJoint.getJointTwist().getLinearPart());
linearVelocity.changeFrame(ReferenceFrame.getWorldFrame());
floatingJoint.setVelocity(linearVelocity);
floatingJoint.setAngularVelocityInBody(sixDoFJoint.getJointTwist().getAngularPart());

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

linearVelocity.set(rootJoint.getJointTwist().getLinearPart());

相关文章