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

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

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

RigidBodyBasics.getBodyFixedFrame介绍

暂无

代码示例

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

/** {@inheritDoc} */
@Override
public MovingReferenceFrame getElevatorFrame()
{
 return elevator.getBodyFixedFrame();
}

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

/** {@inheritDoc} */
@Override
public void setSuccessor(RigidBodyBasics successor)
{
 this.successor = successor;
 ReferenceFrame successorFrame = successor.getBodyFixedFrame();
 jointWrench = MecanoFactories.newPlanarFixedFrameWrenchBasics(successorFrame, afterJointFrame);
}

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

/**
* Returns the body fixed frame of the base {@code RigidBody} of this Jacobian. The base is the
* predecessor of the first joint that this Jacobian considers.
* 
* @return the body fixed frame of the base.
*/
public ReferenceFrame getBaseFrame()
{
 return getBase().getBodyFixedFrame();
}

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

/**
* Returns the body fixed frame of the end-effector {@code RigidBody} of this Jacobian. The
* end-effector is the successor of the last joint this Jacobian considers.
* 
* @return the body fixed frame of the end-effector.
*/
public ReferenceFrame getEndEffectorFrame()
{
 return getEndEffector().getBodyFixedFrame();
}

代码示例来源:origin: us.ihmc/ihmc-common-walking-control-modules-test

LegReferenceFrames(RigidBodyBasics pelvis, RigidBodyBasics elevator, SideDependentList<RigidBodyBasics> feet, SideDependentList<MovingReferenceFrame> soleFrames)
{
  pelvisFrame = pelvis.getBodyFixedFrame();
  centerOfMassFrame = new CenterOfMassReferenceFrame("centerOfMass", ReferenceFrame.getWorldFrame(), elevator);
  for (RobotSide robotSide : RobotSide.values)
  {
   footReferenceFrames.put(robotSide, feet.get(robotSide).getBodyFixedFrame());
   soleReferenceFrames.put(robotSide, soleFrames.get(robotSide));
  }
}

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

private FrameQuaternion getHandEndEffectorOrientation()
{
 ReferenceFrame handEndEffectorFrame = fullRobotModel.getHand(RobotSide.LEFT).getBodyFixedFrame();
 FrameQuaternion handEndEffectorOrientation = new FrameQuaternion(handEndEffectorFrame);
 handEndEffectorOrientation.changeFrame(worldFrame);
 return handEndEffectorOrientation;
}

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

private FramePoint3D getHandEndEffectorPosition()
{
 ReferenceFrame handEndEffectorFrame = fullRobotModel.getHand(RobotSide.LEFT).getBodyFixedFrame();
 FramePoint3D handEndEffectorPosition = new FramePoint3D(handEndEffectorFrame);
 handEndEffectorPosition.changeFrame(worldFrame);
 return handEndEffectorPosition;
}

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

private void sendHeadTrajectoryMessage(double trajectoryTime, Quaternion desiredOrientation)
{
 ReferenceFrame chestCoMFrame = fullRobotModel.getChest().getBodyFixedFrame();
 HeadTrajectoryMessage headTrajectoryMessage = HumanoidMessageTools.createHeadTrajectoryMessage(trajectoryTime, desiredOrientation,
                                                 ReferenceFrame.getWorldFrame(), chestCoMFrame);
 headTrajectoryPublisher.publish(headTrajectoryMessage);
 //      footstepSentTimer.reset();
}

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

public ConstrainedCenterOfMassJacobianCalculator(FloatingJointBasics rootJoint)
{
 this.dynamicallyConsistentNullspaceCalculator = new OriginalDynamicallyConsistentNullspaceCalculator(rootJoint, true);
 this.centerOfMassJacobian = new CenterOfMassJacobian(rootJoint.getSuccessor(), rootJoint.getSuccessor().getBodyFixedFrame());
}

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

public TestingRobotModel()
{
  worldFrame = ReferenceFrame.getWorldFrame();
  elevator = new RigidBody("elevator", worldFrame);
  elevatorFrame = elevator.getBodyFixedFrame();
  rootJoint = new SixDoFJoint("rootJoint", elevator);
  body = new RigidBody("body", rootJoint, Ixx, Iyy, Izz, mass, comOffset);
  bodyFrame = rootJoint.getFrameAfterJoint();
}

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

protected FramePoint3D getRandomPelvisPosition(Random random, RigidBodyBasics pelvis)
{
 FramePoint3D desiredRandomPelvisPosition = new FramePoint3D(pelvis.getBodyFixedFrame());
 desiredRandomPelvisPosition.set(RandomGeometry.nextPoint3D(random, 0.10, 0.20, 0.05));
 desiredRandomPelvisPosition.setZ(desiredRandomPelvisPosition.getZ() - 0.1);
 return desiredRandomPelvisPosition;
}

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

public static KinematicsPlanningToolboxRigidBodyMessage holdRigidBodyCurrentPose(RigidBodyBasics rigidBody, TDoubleArrayList keyFrameTimes)
  {
   List<Pose3DReadOnly> currentPoses = new ArrayList<Pose3DReadOnly>();
   for (int i = 0; i < keyFrameTimes.size(); i++)
     currentPoses.add(new Pose3D(rigidBody.getBodyFixedFrame().getTransformToWorldFrame()));
   KinematicsPlanningToolboxRigidBodyMessage message = HumanoidMessageTools.createKinematicsPlanningToolboxRigidBodyMessage(rigidBody, keyFrameTimes,
                                                                currentPoses);

   message.getAngularWeightMatrix().set(MessageTools.createWeightMatrix3DMessage(20.0));
   message.getLinearWeightMatrix().set(MessageTools.createWeightMatrix3DMessage(20.0));

   return message;
  }
}

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

private FramePose3D getCurrentPelvisPose()
{
 fullRobotModel.updateFrames();
 FramePose3D ret = new FramePose3D();
 ret.setToZero(fullRobotModel.getPelvis().getBodyFixedFrame());
 ret.changeFrame(ReferenceFrame.getWorldFrame());
 return ret;
}

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

public void setFullRobotModelExternalForcesRandomly(Random random, double maxFeetExternalForce, double maxFeetExternalTorque)
{
 inverseDynamicsCalculator.setExternalWrenchesToZero();
 for (RobotSide robotSide : RobotSide.values)
 {
   RigidBodyBasics foot = fullRobotModel.getFoot(robotSide);
   ReferenceFrame bodyFixedFrame = foot.getBodyFixedFrame();
   Wrench wrench = new Wrench(bodyFixedFrame, bodyFixedFrame, RandomGeometry.nextVector3D(random, maxFeetExternalTorque),
      RandomGeometry.nextVector3D(random, maxFeetExternalForce));
   inverseDynamicsCalculator.setExternalWrench(foot, wrench);
 }
}

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

private void calculateErrorTransform(RigidBodyTransform transformShoulderToDesired)
{
 jacobian.getEndEffector().getBodyFixedFrame().getTransformToDesiredFrame(transformShoulderToEndEffector, jacobian.getBaseFrame());
 transformEndEffectorToShoulder.setAndInvert(transformShoulderToEndEffector);
 transformEndEffectorToDesired.set(transformEndEffectorToShoulder);
 transformEndEffectorToDesired.multiply(transformShoulderToDesired);
}

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

private FramePose3D getCurrentHeadPose(FullRobotModel fullRobotModel)
{
 FramePose3D ret = new FramePose3D();
 fullRobotModel.updateFrames();
 ReferenceFrame headFrame = fullRobotModel.getHead().getBodyFixedFrame();
 ret.setToZero(headFrame);
 ret.changeFrame(ReferenceFrame.getWorldFrame());
 return ret;
}

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

private FramePose3D getCurrentChestPose()
{
 drcBehaviorTestHelper.updateRobotModel();
 FramePose3D ret = new FramePose3D();
 ret.setToZero(drcBehaviorTestHelper.getSDFFullRobotModel().getChest().getBodyFixedFrame());
 ret.changeFrame(ReferenceFrame.getWorldFrame());
 return ret;
}

代码示例来源: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

private HeadTrajectoryMessage createHeadOrientationPacket(Vector3D axis, double rotationAngle, double trajectoryTime)
{
 AxisAngle desiredAxisAngle = new AxisAngle();
 desiredAxisAngle.set(axis, rotationAngle);
 Quaternion desiredHeadQuat = new Quaternion();
 desiredHeadQuat.set(desiredAxisAngle);
 FullHumanoidRobotModel controllerFullRobotModel = drcBehaviorTestHelper.getControllerFullRobotModel();
 ReferenceFrame chestCoMFrame = controllerFullRobotModel.getChest().getBodyFixedFrame();
 HeadTrajectoryMessage message = HumanoidMessageTools.createHeadTrajectoryMessage(trajectoryTime, desiredHeadQuat, chestCoMFrame);
 message.getSo3Trajectory().getFrameInformation().setDataReferenceFrameId(MessageTools.toFrameId(ReferenceFrame.getWorldFrame()));
 return message;
}

相关文章