us.ihmc.euclid.referenceFrame.ReferenceFrame.getTransformToDesiredFrame()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(8.6k)|赞(0)|评价(0)|浏览(85)

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

ReferenceFrame.getTransformToDesiredFrame介绍

[英]Returns the transform that can be used to transform a geometry object defined in this frame to obtain its equivalent expressed in the desiredFrame.

WARNING: This method generates garbage.
[中]返回可用于变换在此帧中定义的几何体对象以获得其在desiredFrame中表示的等效对象的变换。
警告:此方法会生成垃圾。

代码示例

代码示例来源:origin: us.ihmc/ihmc-graphics-description

public void setToReferenceFrame(ReferenceFrame referenceFrame)
{
 if (referenceFrame == null)
 {
   throw new RuntimeException("referenceFrame == null");
 }
 referenceFrame.getTransformToDesiredFrame(transformToWorld, worldFrame);
 setTransformToWorld(transformToWorld);
}

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

public void changeFrame(ReferenceFrame desiredFrame)
{
 if (desiredFrame != referenceFrame)
 {
   referenceFrame.getTransformToDesiredFrame(temporaryTransformToDesiredFrame, desiredFrame);
   plane3d.applyTransform(temporaryTransformToDesiredFrame);
   referenceFrame = desiredFrame;
 }
 // otherwise: in the right frame already, so do nothing
}

代码示例来源:origin: us.ihmc/euclid-frame

/** {@inheritDoc} */
@Override
public void changeFrameAndProjectToXYPlane(ReferenceFrame desiredFrame)
{
 // Check for the trivial case: the geometry is already expressed in the desired frame.
 if (desiredFrame == referenceFrame)
   return;
 referenceFrame.getTransformToDesiredFrame(transformToDesiredFrame, desiredFrame);
 applyTransform(transformToDesiredFrame, false);
 referenceFrame = desiredFrame;
}

代码示例来源:origin: us.ihmc/euclid-frame

/** {@inheritDoc} */
@Override
public void changeFrameAndProjectToXYPlane(ReferenceFrame desiredFrame)
{
 // Check for the trivial case: the geometry is already expressed in the desired frame.
 if (desiredFrame == referenceFrame)
   return;
 referenceFrame.getTransformToDesiredFrame(transformToDesiredFrame, desiredFrame);
 applyTransform(transformToDesiredFrame, false);
 referenceFrame = desiredFrame;
}

代码示例来源:origin: us.ihmc/euclid-frame

/** {@inheritDoc} */
@Override
public final void changeFrameAndProjectToXYPlane(ReferenceFrame desiredFrame)
{
 // Check for the trivial case: the geometry is already expressed in the desired frame.
 if (desiredFrame == referenceFrame)
   return;
 referenceFrame.getTransformToDesiredFrame(transformToDesiredFrame, desiredFrame);
 applyTransform(transformToDesiredFrame, false);
 referenceFrame = desiredFrame;
}

代码示例来源:origin: us.ihmc/euclid-frame

/** {@inheritDoc} */
@Override
public final void changeFrameAndProjectToXYPlane(ReferenceFrame desiredFrame)
{
 // Check for the trivial case: the geometry is already expressed in the desired frame.
 if (desiredFrame == referenceFrame)
   return;
 referenceFrame.getTransformToDesiredFrame(transformToDesiredFrame, desiredFrame);
 applyTransform(transformToDesiredFrame, false);
 referenceFrame = desiredFrame;
}

代码示例来源:origin: us.ihmc/euclid-frame

/** {@inheritDoc} */
@Override
public final void changeFrameAndProjectToXYPlane(ReferenceFrame desiredFrame)
{
 // Check for the trivial case: the geometry is already expressed in the desired frame.
 if (desiredFrame == referenceFrame)
   return;
 referenceFrame.getTransformToDesiredFrame(transformToDesiredFrame, desiredFrame);
 applyTransform(transformToDesiredFrame, false);
 referenceFrame = desiredFrame;
}

代码示例来源:origin: us.ihmc/ihmc-humanoid-behaviors

public RigidBodyTransform getCurrentTestFrameTransformToWorld()
{
 robotDataReceiver.updateRobotModel();
 frameToKeepTrackOf.getTransformToDesiredFrame(currentTransformToWorld, worldFrame);
 return currentTransformToWorld;
}

代码示例来源:origin: us.ihmc/euclid-frame

/** {@inheritDoc} */
@Override
public void changeFrame(ReferenceFrame desiredFrame)
{
 if (desiredFrame == referenceFrame)
   return;
 referenceFrame.getTransformToDesiredFrame(transformToDesiredFrame, desiredFrame);
 applyTransform(transformToDesiredFrame);
 setReferenceFrame(desiredFrame);
}

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

private void update()
{
  frame.getTransformToDesiredFrame(transform, ReferenceFrame.getWorldFrame());
  transform.invert();
}

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

public RigidBodyTransform convertMocapPoseToRobotFrame(MocapRigidBody mocapRigidBody)
{
 int id = mocapRigidBody.getId();
 
 if(!mocapReferenceFrames.containsKey(id))
 {
   ReferenceFrame mocapObjectFrame = createReferenceFrameForMocapObject(id);
   mocapReferenceFrames.put(id, mocapObjectFrame);
 }
 
 mocapRigidBody.packPose(mocapRigidBodyTransforms.get(id));
 
 ReferenceFrame referenceFrame = mocapReferenceFrames.get(id);
 referenceFrame.update();
 
 return referenceFrame.getTransformToDesiredFrame(mocapOffsetFrame);
}

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

public void updateRobotLocationBasedOnMultisensePose(RigidBodyTransform headPose)
{
 RigidBodyTransform pelvisPose = new RigidBodyTransform();
 RigidBodyTransform transformFromHeadToPelvis = pelvisFrame.getTransformToDesiredFrame(headFrame);
 pelvisPose.set(headPose);
 pelvisPose.multiply(transformFromHeadToPelvis);
 atomicPelvisPose.set(pelvisPose);
}

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

@Test
public void getTransformToSelf()
{
 Random random = new Random(453);
 for (int i = 0; i < ITERATIONS; i++)
 {
   ReferenceFrame[] treeFrame = EuclidFrameRandomTools.nextReferenceFrameTree(random);
   ReferenceFrame frame = treeFrame[random.nextInt(treeFrame.length)];
   RigidBodyTransform transformToSelf = frame.getTransformToDesiredFrame(frame);
   EuclidCoreTestTools.assertRigidBodyTransformEquals(new RigidBodyTransform(), transformToSelf, EPSILON);
 }
}

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

public FrameVector3D getReferenceFrameTransInWorldFrame(ReferenceFrame frame)
{
  Vector3D trans = new Vector3D();
  frame.getTransformToDesiredFrame(worldFrame).getTranslation(trans);
  FrameVector3D ret = new FrameVector3D(worldFrame, trans);
  return ret;
}

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

/** {@inheritDoc} */
@Override
public void changeFrame(ReferenceFrame desiredFrame)
{
 if (desiredFrame == getReferenceFrame())
   return;
 getReferenceFrame().getTransformToDesiredFrame(transformToDesiredFrame, desiredFrame);
 applyTransform(transformToDesiredFrame);
 setReferenceFrame(desiredFrame);
}

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

private double getAngleToPelvis(Point3D point, Point3D lidarOrigin)
{
 RigidBodyTransform tf = new RigidBodyTransform();
 ReferenceFrame.getWorldFrame().getTransformToDesiredFrame(tf, fullRobotModel.getPelvis().getBodyFixedFrame());
 Point3D tfPoint = new Point3D(point);
 tf.transform(tfPoint);
 return Math.atan2(tfPoint.getY(), tfPoint.getX());
}

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

private boolean isAheadOfPelvis(Point3D point)
{
 RigidBodyTransform tf = new RigidBodyTransform();
 ReferenceFrame.getWorldFrame().getTransformToDesiredFrame(tf, fullRobotModel.getPelvis().getBodyFixedFrame());
 Point3D tfPoint = new Point3D(point);
 tf.transform(tfPoint);
 return tfPoint.getX() > parameters.xCutoffPelvis;
}

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

public ScriptedFootstepGenerator(HumanoidReferenceFrames referenceFrames, FullHumanoidRobotModel fullRobotModel, WalkingControllerParameters walkingControllerParameters)
{
 this.bipedFeet = setupBipedFeet(referenceFrames, fullRobotModel, walkingControllerParameters);
 for (RobotSide robotSide : RobotSide.values)
 {
   RigidBodyBasics foot = bipedFeet.get(robotSide).getRigidBody();
   ReferenceFrame ankleFrame = foot.getParentJoint().getFrameAfterJoint();
   RigidBodyTransform ankleToSole = new RigidBodyTransform();
   ReferenceFrame soleFrame = referenceFrames.getSoleFrame(robotSide);
   ankleFrame.getTransformToDesiredFrame(ankleToSole, soleFrame);
   transformsFromAnkleToSole.put(robotSide, ankleToSole);
 }
}

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

public static void linkNodeAToNodeB(Node a, Node b)
{
 RigidBodyTransform aTransform = JMEDataTypeUtils.jmeTransformToTransform3D(a.getWorldTransform());
 RigidBodyTransform bTransform = JMEDataTypeUtils.jmeTransformToTransform3D(b.getWorldTransform());
 ReferenceFrame frameA = ReferenceFrame.constructFrameWithUnchangingTransformToParent("nodeA", ReferenceFrame.getWorldFrame(), aTransform);
 ReferenceFrame frameB = ReferenceFrame.constructFrameWithUnchangingTransformToParent("nodeB", ReferenceFrame.getWorldFrame(), bTransform);
 RigidBodyTransform aToBTransform = frameA.getTransformToDesiredFrame(frameB);
 Transform aTransformJME = JMEDataTypeUtils.j3dTransform3DToJMETransform(aToBTransform);
 a.removeFromParent();
 a.setLocalTransform(aTransformJME);
 b.attachChild(a);
}

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

protected void updatePerfectOrientation()
{
 imuFrame.getTransformToDesiredFrame(worldFrame).getRotation(orientation);
 perfM00.set(orientation.getM00());
 perfM01.set(orientation.getM01());
 perfM02.set(orientation.getM02());
 perfM10.set(orientation.getM10());
 perfM11.set(orientation.getM11());
 perfM12.set(orientation.getM12());
 perfM20.set(orientation.getM20());
 perfM21.set(orientation.getM21());
 perfM22.set(orientation.getM22());
}

相关文章