本文整理了Java中us.ihmc.mecano.multiBodySystem.interfaces.FloatingJointBasics.getJointTwist()
方法的一些代码示例,展示了FloatingJointBasics.getJointTwist()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。FloatingJointBasics.getJointTwist()
方法的具体详情如下:
包路径:us.ihmc.mecano.multiBodySystem.interfaces.FloatingJointBasics
类名称: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());
内容来源于网络,如有侵权,请联系作者删除!